/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/app/css/pages/product.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
/* customs */
form.column {
  gap: var(--space-m);
}

fieldset {
  --space-fieldset: var(--space-s) var(--space-m);
  --color-fieldset: var(--tertiary-values);
  --border-fieldset: var(--gray-300);
  --background-fieldset: var(--white);
  --height-fieldset: 42px;
  font-size: var(--font-s);
  max-width: 100%;
  border: 1px solid var(--border-fieldset);
  background-color: var(--background-fieldset);
  min-height: var(--height-fieldset);
  /* label : input, select, textarea */
  /* textarea */
  /* checkbox, radio */
}
fieldset.column {
  gap: var(--space-fieldset);
}
fieldset .row {
  gap: var(--space-xs);
}
fieldset select,
fieldset [type=range],
fieldset [type=file],
fieldset [type=datetime-local],
fieldset [type=checkbox],
fieldset [type=radio],
fieldset [type=checkbox] ~ label,
fieldset [type=radio] ~ label {
  cursor: pointer;
}
fieldset textarea {
  resize: none;
  min-height: 200px;
}
fieldset select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
fieldset:has(label) {
  margin-top: 2rem;
}
fieldset:has(input), fieldset:has(select), fieldset:has(textarea) {
  border-radius: var(--radius-round);
}
fieldset:has(input) label, fieldset:has(select) label, fieldset:has(textarea) label {
  position: absolute;
  z-index: 1;
  padding: var(--space-s) var(--space-m);
  color: var(--text);
  width: fit-content;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  top: -2.2rem;
}
fieldset:has(input) input, fieldset:has(input) select, fieldset:has(input) textarea, fieldset:has(select) input, fieldset:has(select) select, fieldset:has(select) textarea, fieldset:has(textarea) input, fieldset:has(textarea) select, fieldset:has(textarea) textarea {
  min-height: var(--height-fieldset);
  max-width: 100%;
  width: 100%;
  padding: var(--space-fieldset);
  border: 1px solid transparent;
  background-color: transparent;
  border-radius: var(--radius-round);
  -webkit-transition: var(--fast-transition);
  transition: var(--fast-transition);
  outline: none;
  /* button input */
}
fieldset:has(input) input[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(input) input[type=file]::file-selector-button, fieldset:has(input) select[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(input) select[type=file]::file-selector-button, fieldset:has(input) textarea[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(input) textarea[type=file]::file-selector-button, fieldset:has(select) input[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(select) input[type=file]::file-selector-button, fieldset:has(select) select[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(select) select[type=file]::file-selector-button, fieldset:has(select) textarea[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(select) textarea[type=file]::file-selector-button, fieldset:has(textarea) input[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(textarea) input[type=file]::file-selector-button, fieldset:has(textarea) select[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(textarea) select[type=file]::file-selector-button, fieldset:has(textarea) textarea[type=datetime-local]::-webkit-calendar-picker-indicator, fieldset:has(textarea) textarea[type=file]::file-selector-button {
  display: none;
}
fieldset:has(input) input ~ button, fieldset:has(input) select ~ button, fieldset:has(input) textarea ~ button, fieldset:has(select) input ~ button, fieldset:has(select) select ~ button, fieldset:has(select) textarea ~ button, fieldset:has(textarea) input ~ button, fieldset:has(textarea) select ~ button, fieldset:has(textarea) textarea ~ button {
  height: var(--height-fieldset);
  width: var(--height-fieldset);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  padding: var(--space-fieldset);
  cursor: pointer;
}
fieldset:has(input) input ~ button svg.icon, fieldset:has(input) select ~ button svg.icon, fieldset:has(input) textarea ~ button svg.icon, fieldset:has(select) input ~ button svg.icon, fieldset:has(select) select ~ button svg.icon, fieldset:has(select) textarea ~ button svg.icon, fieldset:has(textarea) input ~ button svg.icon, fieldset:has(textarea) select ~ button svg.icon, fieldset:has(textarea) textarea ~ button svg.icon {
  --size-svg: 16px;
}
fieldset:has(input) input ~ button > *:last-child, fieldset:has(input) select ~ button > *:last-child, fieldset:has(input) textarea ~ button > *:last-child, fieldset:has(select) input ~ button > *:last-child, fieldset:has(select) select ~ button > *:last-child, fieldset:has(select) textarea ~ button > *:last-child, fieldset:has(textarea) input ~ button > *:last-child, fieldset:has(textarea) select ~ button > *:last-child, fieldset:has(textarea) textarea ~ button > *:last-child {
  position: absolute;
}
fieldset:has(input) input:has(~ button), fieldset:has(input) select:has(~ button), fieldset:has(input) textarea:has(~ button), fieldset:has(select) input:has(~ button), fieldset:has(select) select:has(~ button), fieldset:has(select) textarea:has(~ button), fieldset:has(textarea) input:has(~ button), fieldset:has(textarea) select:has(~ button), fieldset:has(textarea) textarea:has(~ button) {
  width: calc(100% - var(--height-fieldset));
}
fieldset:has(input) input[type=password] + #password_reveal > *:first-child, fieldset:has(input) select[type=password] + #password_reveal > *:first-child, fieldset:has(input) textarea[type=password] + #password_reveal > *:first-child, fieldset:has(select) input[type=password] + #password_reveal > *:first-child, fieldset:has(select) select[type=password] + #password_reveal > *:first-child, fieldset:has(select) textarea[type=password] + #password_reveal > *:first-child, fieldset:has(textarea) input[type=password] + #password_reveal > *:first-child, fieldset:has(textarea) select[type=password] + #password_reveal > *:first-child, fieldset:has(textarea) textarea[type=password] + #password_reveal > *:first-child {
  display: block;
}
fieldset:has(input) input[type=password] + #password_reveal > *:last-child, fieldset:has(input) select[type=password] + #password_reveal > *:last-child, fieldset:has(input) textarea[type=password] + #password_reveal > *:last-child, fieldset:has(select) input[type=password] + #password_reveal > *:last-child, fieldset:has(select) select[type=password] + #password_reveal > *:last-child, fieldset:has(select) textarea[type=password] + #password_reveal > *:last-child, fieldset:has(textarea) input[type=password] + #password_reveal > *:last-child, fieldset:has(textarea) select[type=password] + #password_reveal > *:last-child, fieldset:has(textarea) textarea[type=password] + #password_reveal > *:last-child {
  display: none;
}
fieldset:has(input) input[type=text] + #password_reveal > *:first-child, fieldset:has(input) select[type=text] + #password_reveal > *:first-child, fieldset:has(input) textarea[type=text] + #password_reveal > *:first-child, fieldset:has(select) input[type=text] + #password_reveal > *:first-child, fieldset:has(select) select[type=text] + #password_reveal > *:first-child, fieldset:has(select) textarea[type=text] + #password_reveal > *:first-child, fieldset:has(textarea) input[type=text] + #password_reveal > *:first-child, fieldset:has(textarea) select[type=text] + #password_reveal > *:first-child, fieldset:has(textarea) textarea[type=text] + #password_reveal > *:first-child {
  display: none;
}
fieldset:has(input) input[type=text] + #password_reveal > *:last-child, fieldset:has(input) select[type=text] + #password_reveal > *:last-child, fieldset:has(input) textarea[type=text] + #password_reveal > *:last-child, fieldset:has(select) input[type=text] + #password_reveal > *:last-child, fieldset:has(select) select[type=text] + #password_reveal > *:last-child, fieldset:has(select) textarea[type=text] + #password_reveal > *:last-child, fieldset:has(textarea) input[type=text] + #password_reveal > *:last-child, fieldset:has(textarea) select[type=text] + #password_reveal > *:last-child, fieldset:has(textarea) textarea[type=text] + #password_reveal > *:last-child {
  display: block;
}
fieldset:has(input:focus), fieldset:has(select:focus), fieldset:has(textarea:focus) {
  -webkit-transition: var(--fast-transition);
  transition: var(--fast-transition);
}
fieldset:has(input:focus:valid), fieldset:has(select:focus:valid), fieldset:has(textarea:focus:valid) {
  --border-fieldset: var(--blue-300);
}
fieldset:has(input:focus:invalid), fieldset:has(select:focus:invalid), fieldset:has(textarea:focus:invalid) {
  --border-fieldset: var(--red-300);
}
fieldset label:has(+ input:required):after,
fieldset label:has(+ select:required):after,
fieldset label:has(+ textarea:required):after {
  content: "*";
  color: var(--danger);
  padding-left: 4px;
}
fieldset:has(textarea) {
  --height-fieldset: 200px;
  --space-fieldset: var(--space-m);
  --radius-fieldset: 24px;
  border-radius: var(--radius-fieldset);
}
fieldset:has(textarea) textarea {
  border-radius: var(--radius-fieldset);
}
fieldset:has([type=checkbox]), fieldset:has([type=radio]) {
  margin-top: 0;
  --space-fieldset: var(--space-s);
  gap: var(--space-m);
  border: 1px solid var(--border-fieldset);
  padding: var(--space-s) var(--space-l);
  align-items: center;
}
fieldset:has([type=checkbox]) .row, fieldset:has([type=radio]) .row {
  align-items: center;
}
fieldset:has([type=checkbox]) label, fieldset:has([type=radio]) label {
  position: relative;
  top: auto;
  opacity: 1;
  pointer-events: auto;
}
fieldset [type=checkbox],
fieldset [type=radio] {
  --height-fieldset: 16px;
  padding: 0;
  min-height: var(--height-fieldset);
  width: var(--height-fieldset);
  height: var(--height-fieldset);
  border: 1px solid var(--border-fieldset);
  left: 0;
  top: 0;
}

#page.catalog.list section:has([data-action="sidebar#open"]) .row {
  display: flex;
  justify-content: end;
}
#page.catalog.list section:has([data-action="sidebar#open"]) .row [data-action="sidebar#open"] {
  display: none;
}
#page.catalog.list section:has([data-action="sidebar#open"]) .row select {
  min-width: 15em;
}
#page.catalog.list section:has([data-action="sidebar#open"]) .row select ~ .button-input {
  --background-button: var(--background-fieldset);
  --color-button: var(--color-fieldset);
  border: none;
}
#page.catalog.list section.list-filters {
  width: calc(100% - var(--space-m) * 2);
  margin: var(--space-m);
  display: flex;
  align-items: start;
  gap: var(--space-m);
}
#page.catalog.list section.list-filters aside {
  width: 300px;
  background-color: var(--gray-50);
  border: 2px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 1em;
  position: sticky;
  top: calc(var(--header-main) + var(--space-m));
}
#page.catalog.list section.list-filters aside [data-action="sidebar#close"].button {
  display: none;
}
#page.catalog.list section.list-filters aside > .column {
  overflow-y: scroll;
  scrollbar-width: thin;
  gap: var(--space-s);
}
#page.catalog.list section.list-filters aside > .column > * {
  width: 100%;
  justify-content: flex-start;
}
#page.catalog.list section.list-filters aside > .column > * .accordion__intro,
#page.catalog.list section.list-filters aside > .column > * .accordion__content,
#page.catalog.list section.list-filters aside > .column > * .accordion__content .row {
  width: 100%;
}
#page.catalog.list section.list-filters aside > .column > * .accordion__content > * {
  max-height: 40vh;
  overflow-y: scroll;
  scrollbar-width: thin;
}
#page.catalog.list section.list-filters .grid-elements {
  width: calc(100% - 300px);
  gap: var(--space-s);
}
@media screen and (max-width: 1280px) {
  #page.catalog.list section.list-filters .grid-elements.grid-4 {
    --grid-col: 4;
  }
}
@media screen and (max-width: 1024px) {
  #page.catalog.list section.list-filters .grid-elements.grid-4 {
    --grid-col: 3;
  }
}
@media screen and (max-width: 768px) {
  #page.catalog.list section.list-filters .grid-elements.grid-4 {
    --grid-col: 2;
  }
}
#page.catalog.show {
  padding-bottom: 0;
}
#page.catalog.show section + section {
  margin-top: 0;
}
#page.catalog.show .breadcrumb {
  --color-breadcrumb: var(--primary);
  padding: var(--space-m) 0;
}
#page.catalog.show .price {
  font-size: var(--font-l);
}
#page.catalog.show .price.ancien-prix {
  font-size: var(--font-m);
  color: var(--text-color);
  font-variation-settings: "wght" 600;
  opacity: 0.7;
  text-decoration-line: line-through;
}
#page.catalog.show .price.prix-promo {
  color: var(--accent-color);
}
#page.catalog.show .info-product {
  display: flex;
  flex-direction: row-reverse;
  gap: 1rem;
  padding-bottom: var(--space-l);
}
#page.catalog.show .info-product .description-product {
  gap: var(--space-l);
  background-color: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: var(--space-l);
  width: 40%;
  margin-bottom: var(--space-m);
}
#page.catalog.show .info-product .description-product .title-banner {
  color: var(--primary);
  display: flex;
  flex-direction: column-reverse;
  gap: var(--space-s);
}
#page.catalog.show .info-product .description-product .reassurance {
  --text-reassurance: var(--blue-800);
  background-color: var(--blue-50);
  border: 1px solid var(--blue-200);
  padding: 1rem;
  border-radius: var(--radius);
  font-size: var(--font-s);
  color: var(--text-reassurance);
}
#page.catalog.show .info-product .description-product .reassurance svg.icon {
  --color-svg: var(--text-reassurance);
}
#page.catalog.show .info-product .description-product .reassurance .row {
  gap: var(--space-s);
  flex-flow: row;
}
#page.catalog.show .info-product .description-product .reassurance .row p {
  width: 90%;
}
#page.catalog.show .info-product .description-product h4.h4 {
  color: var(--primary);
}
#page.catalog.show .info-product .description-product .table-product > *:nth-child(even) {
  background-color: var(--white);
}
#page.catalog.show .info-product .description-product .table-product .row {
  justify-content: space-between;
  padding: var(--space-s);
}
#page.catalog.show .info-product .image-product {
  width: 60%;
}
#page.catalog.show .info-product .image-product .grid-elements > div:only-of-type {
  --grid-col: 1;
}
#page.catalog.show .info-product .image-product picture {
  aspect-ratio: 1/1;
  border-radius: var(--radius);
  overflow: hidden;
  isolation: isolate;
}
#page.catalog.show .info-product .image-product picture:hover, #page.catalog.show .info-product .image-product picture:focus {
  cursor: zoom-in;
}
#page.catalog.show .info-product .image-product picture img {
  object-fit: cover;
}
#page.catalog.show section:has([data-swiper-type-value=product]) {
  background-color: var(--white);
  padding: var(--space-xl) 0;
}

@media screen and (max-width: 1024px) {
  html:has(aside.open) {
    overflow: clip;
  }
  #page.catalog.list section:has([data-action="sidebar#open"]) .row [data-action="sidebar#open"] {
    display: block;
  }
  #page.catalog.list section.list-filters aside {
    position: fixed;
    z-index: 2;
    max-width: calc(100% - var(--space-m) * 2);
    height: calc(100vh - (var(--header-main) + var(--space-m) * 2));
    top: calc(var(--header-main) + var(--space-m));
    right: var(--space-m);
    transform: translateY(200%);
    transition: transform 0.3s ease;
    width: 40em;
    box-shadow: var(--shadow-hover);
    border: none;
  }
  #page.catalog.list section.list-filters aside.open {
    transform: translateY(0);
  }
  #page.catalog.list section.list-filters aside [data-action="sidebar#close"].button {
    display: flex;
  }
  #page.catalog.list section.list-filters .grid-elements {
    width: 100%;
  }
  #page.catalog.show [data-swiper-type-value=swiper-thumbs] {
    display: block;
    visibility: visible;
    pointer-events: auto;
  }
  #page.catalog.show [data-swiper-type-value=swiper-thumbs] [data-swiper-target=container] {
    background-color: var(--tertiary);
  }
  #page.catalog.show .info-product {
    margin-top: 1rem;
    display: flex;
    flex-direction: column-reverse;
    gap: 1rem;
  }
  #page.catalog.show .info-product > *,
  #page.catalog.show .info-product .description-product {
    width: 100%;
  }
  #page.catalog.show .info-product .image-product {
    display: none;
    visibility: hidden;
    pointer-events: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNJO0lBQ0k7RUE4Sk47RUF6Slk7SUFDRTtFQTJKZDtFQXZKYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUF5SmxCO0VBeEprQjtJQUNJO0VBMEp0QjtFQXhKa0I7SUFDSTtFQTBKdEI7RUF2SmM7SUFDSTtFQXlKbEI7RUFwSlU7SUFDSTtJQUNBO0lBQ0E7RUFzSmQ7RUFySmM7SUFDSTtFQXVKbEI7RUFwSlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFQXNKZDtFQXJKYzs7SUFFSTtFQXVKbEI7RUFySmM7SUFDSTtJQUNBO0lBQ0E7RUF1SmxCO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2NvbXBvbmVudHMvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9wYWdlcy9wcm9kdWN0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogY3VzdG9tcyAqL1xyXG5mb3JtIHtcclxuICAmLmNvbHVtbiB7XHJcbiAgICBnYXA6IHZhcigtLXNwYWNlLW0pO1xyXG4gIH1cclxufVxyXG5maWVsZHNldCB7XHJcbiAgLS1zcGFjZS1maWVsZHNldDogdmFyKC0tc3BhY2UtcykgdmFyKC0tc3BhY2UtbSk7XHJcbiAgLS1jb2xvci1maWVsZHNldDogdmFyKC0tdGVydGlhcnktdmFsdWVzKTtcclxuICAtLWJvcmRlci1maWVsZHNldDogdmFyKC0tZ3JheS0zMDApO1xyXG4gIC0tYmFja2dyb3VuZC1maWVsZHNldDogdmFyKC0td2hpdGUpO1xyXG4gIC0taGVpZ2h0LWZpZWxkc2V0OiA0MnB4O1xyXG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zKTtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWZpZWxkc2V0KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWZpZWxkc2V0KTtcclxuICBtaW4taGVpZ2h0OiB2YXIoLS1oZWlnaHQtZmllbGRzZXQpO1xyXG4gICYuY29sdW1uIHtcclxuICAgIGdhcDogdmFyKC0tc3BhY2UtZmllbGRzZXQpO1xyXG4gIH1cclxuICAmIC5yb3cge1xyXG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XHJcbiAgfVxyXG4gIHNlbGVjdCxcclxuICBbdHlwZT1cInJhbmdlXCJdLFxyXG4gIFt0eXBlPVwiZmlsZVwiXSxcclxuICBbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgW3R5cGU9XCJyYWRpb1wiXSxcclxuICBbdHlwZT1cImNoZWNrYm94XCJdIH4gbGFiZWwsXHJcbiAgW3R5cGU9XCJyYWRpb1wiXSB+IGxhYmVsIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgdGV4dGFyZWEge1xyXG4gICAgcmVzaXplOiBub25lO1xyXG4gICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgfVxyXG4gIHNlbGVjdCB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gIH1cclxuICAmOmhhcyhsYWJlbCkge1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICB9XHJcbiAgJjpoYXMoaW5wdXQpLFxyXG4gICY6aGFzKHNlbGVjdCksXHJcbiAgJjpoYXModGV4dGFyZWEpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1yb3VuZCk7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtcykgdmFyKC0tc3BhY2UtbSk7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0KTtcclxuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICB0b3A6IC0yLjJyZW07XHJcbiAgICB9XHJcbiAgICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWhlaWdodC1maWVsZHNldCk7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWZpZWxkc2V0KTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcm91bmQpO1xyXG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IHZhcigtLWZhc3QtdHJhbnNpdGlvbik7XHJcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLWZhc3QtdHJhbnNpdGlvbik7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICZbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsXHJcbiAgICAgICZbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgICYgfiBidXR0b24ge1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0taGVpZ2h0LWZpZWxkc2V0KTtcclxuICAgICAgICB3aWR0aDogdmFyKC0taGVpZ2h0LWZpZWxkc2V0KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWZpZWxkc2V0KTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJiBzdmcuaWNvbiB7XHJcbiAgICAgICAgICAtLXNpemUtc3ZnOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpoYXMoIH4gYnV0dG9uKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWhlaWdodC1maWVsZHNldCkpO1xyXG4gICAgICB9XHJcbiAgICAgIC8qIGJ1dHRvbiBpbnB1dCAqL1xyXG4gICAgICAmW3R5cGU9XCJwYXNzd29yZFwiXSArICNwYXNzd29yZF9yZXZlYWwgPiAqIHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJlt0eXBlPVwidGV4dFwiXSArICNwYXNzd29yZF9yZXZlYWwgPiAqIHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjpoYXMoaW5wdXQ6Zm9jdXMpLFxyXG4gICY6aGFzKHNlbGVjdDpmb2N1cyksXHJcbiAgJjpoYXModGV4dGFyZWE6Zm9jdXMpIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdmFyKC0tZmFzdC10cmFuc2l0aW9uKTtcclxuICAgIHRyYW5zaXRpb246IHZhcigtLWZhc3QtdHJhbnNpdGlvbik7XHJcbiAgfVxyXG4gICY6aGFzKGlucHV0OmZvY3VzOnZhbGlkKSxcclxuICAmOmhhcyhzZWxlY3Q6Zm9jdXM6dmFsaWQpLFxyXG4gICY6aGFzKHRleHRhcmVhOmZvY3VzOnZhbGlkKSB7XHJcbiAgICAtLWJvcmRlci1maWVsZHNldDogdmFyKC0tYmx1ZS0zMDApO1xyXG4gIH1cclxuICAmOmhhcyhpbnB1dDpmb2N1czppbnZhbGlkKSxcclxuICAmOmhhcyhzZWxlY3Q6Zm9jdXM6aW52YWxpZCksXHJcbiAgJjpoYXModGV4dGFyZWE6Zm9jdXM6aW52YWxpZCkge1xyXG4gICAgLS1ib3JkZXItZmllbGRzZXQ6IHZhcigtLXJlZC0zMDApO1xyXG4gIH1cclxuICAvKiBsYWJlbCA6IGlucHV0LCBzZWxlY3QsIHRleHRhcmVhICovXHJcbiAgbGFiZWw6aGFzKCsgaW5wdXQ6cmVxdWlyZWQpOmFmdGVyLFxyXG4gIGxhYmVsOmhhcygrIHNlbGVjdDpyZXF1aXJlZCk6YWZ0ZXIsXHJcbiAgbGFiZWw6aGFzKCsgdGV4dGFyZWE6cmVxdWlyZWQpOmFmdGVye1xyXG4gICAgY29udGVudDogJyonO1xyXG4gICAgY29sb3I6IHZhcigtLWRhbmdlcik7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDtcclxuICB9XHJcbiAgLyogdGV4dGFyZWEgKi9cclxuICAmOmhhcyh0ZXh0YXJlYSkge1xyXG4gICAgLS1oZWlnaHQtZmllbGRzZXQ6IDIwMHB4O1xyXG4gICAgLS1zcGFjZS1maWVsZHNldDogdmFyKC0tc3BhY2UtbSk7XHJcbiAgICAtLXJhZGl1cy1maWVsZHNldDogMjRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1maWVsZHNldCk7XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1maWVsZHNldCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qIGNoZWNrYm94LCByYWRpbyAqL1xyXG4gICY6aGFzKFt0eXBlPVwiY2hlY2tib3hcIl0pLFxyXG4gICY6aGFzKFt0eXBlPVwicmFkaW9cIl0pIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAtLXNwYWNlLWZpZWxkc2V0OiB2YXIoLS1zcGFjZS1zKTtcclxuICAgIGdhcDogdmFyKC0tc3BhY2UtbSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZmllbGRzZXQpO1xyXG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtcykgdmFyKC0tc3BhY2UtbCk7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLnJvdyB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgIH1cclxuICB9XHJcbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcclxuICBbdHlwZT1cInJhZGlvXCJde1xyXG4gICAgLS1oZWlnaHQtZmllbGRzZXQgOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWhlaWdodC1maWVsZHNldCk7XHJcbiAgICB3aWR0aDogdmFyKC0taGVpZ2h0LWZpZWxkc2V0KTtcclxuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0LWZpZWxkc2V0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1maWVsZHNldCk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gIH1cclxufSIsIkB1c2UgXCIuLi9jb21wb25lbnRzL19mb3JtLnNjc3NcIjtcclxuXHJcbiNwYWdlLmNhdGFsb2cge1xyXG4gICAgJi5saXN0IHtcclxuICAgICAgICBzZWN0aW9uOmhhcyhbZGF0YS1hY3Rpb249XCJzaWRlYmFyI29wZW5cIl0pIC5yb3cge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xyXG4gICAgICAgICAgW2RhdGEtYWN0aW9uPVwic2lkZWJhciNvcGVuXCJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTVlbTtcclxuICAgICAgICAgICAgfiAuYnV0dG9uLWlucHV0IHtcclxuICAgICAgICAgICAgICAtLWJhY2tncm91bmQtYnV0dG9uOiB2YXIoLS1iYWNrZ3JvdW5kLWZpZWxkc2V0KTtcclxuICAgICAgICAgICAgICAtLWNvbG9yLWJ1dHRvbjogdmFyKC0tY29sb3ItZmllbGRzZXQpO1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZWN0aW9uLmxpc3QtZmlsdGVycyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAodmFyKC0tc3BhY2UtbSkgKiAyKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbSk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tKTtcclxuICAgICAgICAgICAgYXNpZGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS01MCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICAgICAgICAgIHRvcDogY2FsYyh2YXIoLS1oZWFkZXItbWFpbikgKyB2YXIoLS1zcGFjZS1tKSk7XHJcbiAgICAgICAgICAgICAgICBbZGF0YS1hY3Rpb249XCJzaWRlYmFyI2Nsb3NlXCJdLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gLmNvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXMpO1xyXG4gICAgICAgICAgICAgICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hY2NvcmRpb25fX2ludHJvLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuYWNjb3JkaW9uX19jb250ZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuYWNjb3JkaW9uX19jb250ZW50IC5yb3cge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmFjY29yZGlvbl9fY29udGVudCA+ICoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDB2aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZ3JpZC1lbGVtZW50cyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zKTtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICYuZ3JpZC00IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLS1ncmlkLWNvbDogNDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAmLmdyaWQtNCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tZ3JpZC1jb2w6IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAmLmdyaWQtNCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tZ3JpZC1jb2w6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaG93IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBzZWN0aW9uICsgc2VjdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5icmVhZGNydW1iIHtcclxuICAgICAgICAgICAgLS1jb2xvci1icmVhZGNydW1iOiB2YXIoLS1wcmltYXJ5KTtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbSkgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LWwpO1xyXG5cclxuICAgICAgICAgICAgJi5hbmNpZW4tcHJpeCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtbSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDYwMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IGxpbmUtdGhyb3VnaDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5wcml4LXByb21vIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbmZvLXByb2R1Y3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIGdhcDogMXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLWwpO1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24tcHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IHZhcigtLXNwYWNlLWwpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tKTtcclxuICAgICAgICAgICAgICAgIC50aXRsZS1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnJlYXNzdXJhbmNlIHtcclxuICAgICAgICAgICAgICAgICAgICAtLXRleHQtcmVhc3N1cmFuY2UgOiB2YXIoLS1ibHVlLTgwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZS01MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmx1ZS0yMDApO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcmVhc3N1cmFuY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHN2Zy5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLS1jb2xvci1zdmc6IHZhcigtLXRleHQtcmVhc3N1cmFuY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGg0Lmg0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudGFibGUtcHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+ICo6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlLXByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICAgIC5ncmlkLWVsZW1lbnRzID4gZGl2Om9ubHktb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1ncmlkLWNvbDogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHBpY3R1cmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICBpc29sYXRpb246IGlzb2xhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiB6b29tLWluO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2VjdGlvbjpoYXMoW2RhdGEtc3dpcGVyLXR5cGUtdmFsdWU9XCJwcm9kdWN0XCJdKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteGwpIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIGh0bWw6aGFzKGFzaWRlLm9wZW4pIHtcclxuICAgICAgICBvdmVyZmxvdzogY2xpcDtcclxuICAgIH1cclxuICAgICNwYWdlLmNhdGFsb2cge1xyXG4gICAgICAgICYubGlzdCB7XHJcbiAgICAgICAgICAgIHNlY3Rpb246aGFzKFtkYXRhLWFjdGlvbj1cInNpZGViYXIjb3BlblwiXSkgLnJvdyB7XHJcbiAgICAgICAgICAgICAgW2RhdGEtYWN0aW9uPVwic2lkZWJhciNvcGVuXCJde1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNlY3Rpb24ubGlzdC1maWx0ZXJzIHtcclxuICAgICAgICAgICAgICAgIGFzaWRlIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICh2YXIoLS1zcGFjZS1tKSAqIDIpKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAodmFyKC0taGVhZGVyLW1haW4pICsgdmFyKC0tc3BhY2UtbSkgKiAyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKHZhcigtLWhlYWRlci1tYWluKSArIHZhcigtLXNwYWNlLW0pKTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogdmFyKC0tc3BhY2UtbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBbZGF0YS1hY3Rpb249XCJzaWRlYmFyI2Nsb3NlXCJdLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmdyaWQtZWxlbWVudHMge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2hvdyB7XHJcbiAgICAgICAgICAgIFtkYXRhLXN3aXBlci10eXBlLXZhbHVlPVwic3dpcGVyLXRodW1ic1wiXSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgICAgICAgICAgICAgIFtkYXRhLXN3aXBlci10YXJnZXQ9XCJjb250YWluZXJcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlcnRpYXJ5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW5mby1wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgJiA+ICosXHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24tcHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2UtcHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/