/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@7.0.1_qjv4cptcpse3y5hrjkrbb7drda/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@13.0.2_sass@1.54.9+webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./node_modules/.pnpm/swiper@6.8.4/node_modules/swiper/swiper.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-container-pointer-events {
  touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@7.0.1_qjv4cptcpse3y5hrjkrbb7drda/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@13.0.2_sass@1.54.9+webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/styles/cpc-ds.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Foundation 6 utils and grid */ /**
* Custom Foundation setup for DS
* Updates to be done with npm Foundation-Site update
* wwebpack is externalizing this so it excludes it from the bundle
*/
/**
 * Foundation for Sites
 * Version 6.7.4
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/**
* Foundation CPC / SCP  Settings overrides
*/
/*
 *
 * Handy mixins 
 *
 */
/**
 * Handy functions 
 */
/* convenient class name for background colors */
.bg-blue-10 {
  background-color: #000b51;
}
.bg-blue-20 {
  background-color: #001266;
}
.bg-blue-30 {
  background-color: #001b76;
}
.bg-blue-40 {
  background-color: #002581;
}
.bg-blue-50 {
  background-color: #003087;
}
.bg-blue-60 {
  background-color: #3766be;
}
.bg-blue-70 {
  background-color: #7e9ed7;
}
.bg-blue-80 {
  background-color: #a7c1e8;
}
.bg-blue-90 {
  background-color: #dae9fd;
}
.bg-blue-100 {
  background-color: #eff6ff;
}
.bg-red-10 {
  background-color: #50000f;
}
.bg-red-20 {
  background-color: #820019;
}
.bg-red-30 {
  background-color: #a90020;
}
.bg-red-40 {
  background-color: #c60025;
}
.bg-red-50 {
  background-color: #e4002b;
}
.bg-red-60 {
  background-color: #fb495d;
}
.bg-red-70 {
  background-color: #ff8787;
}
.bg-red-80 {
  background-color: #ffb4b4;
}
.bg-red-90 {
  background-color: #ffe0e0;
}
.bg-red-100 {
  background-color: #fff2f2;
}
.bg-grey-10 {
  background-color: #111111;
}
.bg-grey-20 {
  background-color: #2a2a2a;
}
.bg-grey-30 {
  background-color: #434343;
}
.bg-grey-40 {
  background-color: #5c5c5c;
}
.bg-grey-50 {
  background-color: #757575;
}
.bg-grey-60 {
  background-color: #949595;
}
.bg-grey-70 {
  background-color: #a7a7a7;
}
.bg-grey-80 {
  background-color: #c0c0c0;
}
.bg-grey-90 {
  background-color: #d9d9d9;
}
.bg-grey-100 {
  background-color: #f2f2f2;
}
.bg-glacier-blue-10 {
  background-color: #002b66;
}
.bg-glacier-blue-20 {
  background-color: #003c8c;
}
.bg-glacier-blue-30 {
  background-color: #034ea9;
}
.bg-glacier-blue-40 {
  background-color: #1560bd;
}
.bg-glacier-blue-50 {
  background-color: #2c73ca;
}
.bg-glacier-blue-60 {
  background-color: #62a1eb;
}
.bg-glacier-blue-70 {
  background-color: #8bc4fd;
}
.bg-glacier-blue-80 {
  background-color: #baddff;
}
.bg-glacier-blue-90 {
  background-color: #e1f2ff;
}
.bg-glacier-blue-100 {
  background-color: #f2f9ff;
}
.bg-pine-green-10 {
  background-color: #001717;
}
.bg-pine-green-20 {
  background-color: #002523;
}
.bg-pine-green-30 {
  background-color: #00322e;
}
.bg-pine-green-40 {
  background-color: #003f3a;
}
.bg-pine-green-50 {
  background-color: #00443d;
}
.bg-pine-green-60 {
  background-color: #3b796c;
}
.bg-pine-green-70 {
  background-color: #81ae99;
}
.bg-pine-green-80 {
  background-color: #b2cebd;
}
.bg-pine-green-90 {
  background-color: #d5e9da;
}
.bg-pine-green-100 {
  background-color: #eef8f0;
}
.bg-prairie-gold-10 {
  background-color: #482a10;
}
.bg-prairie-gold-20 {
  background-color: #74451a;
}
.bg-prairie-gold-30 {
  background-color: #875830;
}
.bg-prairie-gold-40 {
  background-color: #a06f45;
}
.bg-prairie-gold-50 {
  background-color: #b6875e;
}
.bg-prairie-gold-60 {
  background-color: #d3a881;
}
.bg-prairie-gold-70 {
  background-color: #e7c19f;
}
.bg-prairie-gold-80 {
  background-color: #f4dbc3;
}
.bg-prairie-gold-90 {
  background-color: #fbf0e4;
}
.bg-prairie-gold-100 {
  background-color: #fff9f2;
}
.bg-wild-salmon-10 {
  background-color: #51191c;
}
.bg-wild-salmon-20 {
  background-color: #772b2f;
}
.bg-wild-salmon-30 {
  background-color: #994146;
}
.bg-wild-salmon-40 {
  background-color: #b85b60;
}
.bg-wild-salmon-50 {
  background-color: #d2797e;
}
.bg-wild-salmon-60 {
  background-color: #ed9da1;
}
.bg-wild-salmon-70 {
  background-color: #f6b3b6;
}
.bg-wild-salmon-80 {
  background-color: #fccdcf;
}
.bg-wild-salmon-90 {
  background-color: #ffeaea;
}
.bg-wild-salmon-100 {
  background-color: #fff6f6;
}

.text-blue-10 {
  color: #000b51;
}
.text-blue-20 {
  color: #001266;
}
.text-blue-30 {
  color: #001b76;
}
.text-blue-40 {
  color: #002581;
}
.text-blue-50 {
  color: #003087;
}
.text-blue-60 {
  color: #3766be;
}
.text-blue-70 {
  color: #7e9ed7;
}
.text-blue-80 {
  color: #a7c1e8;
}
.text-blue-90 {
  color: #dae9fd;
}
.text-blue-100 {
  color: #eff6ff;
}
.text-red-10 {
  color: #50000f;
}
.text-red-20 {
  color: #820019;
}
.text-red-30 {
  color: #a90020;
}
.text-red-40 {
  color: #c60025;
}
.text-red-50 {
  color: #e4002b;
}
.text-red-60 {
  color: #fb495d;
}
.text-red-70 {
  color: #ff8787;
}
.text-red-80 {
  color: #ffb4b4;
}
.text-red-90 {
  color: #ffe0e0;
}
.text-red-100 {
  color: #fff2f2;
}
.text-grey-10 {
  color: #111111;
}
.text-grey-20 {
  color: #2a2a2a;
}
.text-grey-30 {
  color: #434343;
}
.text-grey-40 {
  color: #5c5c5c;
}
.text-grey-50 {
  color: #757575;
}
.text-grey-60 {
  color: #949595;
}
.text-grey-70 {
  color: #a7a7a7;
}
.text-grey-80 {
  color: #c0c0c0;
}
.text-grey-90 {
  color: #d9d9d9;
}
.text-grey-100 {
  color: #f2f2f2;
}
.text-glacier-blue-10 {
  color: #002b66;
}
.text-glacier-blue-20 {
  color: #003c8c;
}
.text-glacier-blue-30 {
  color: #034ea9;
}
.text-glacier-blue-40 {
  color: #1560bd;
}
.text-glacier-blue-50 {
  color: #2c73ca;
}
.text-glacier-blue-60 {
  color: #62a1eb;
}
.text-glacier-blue-70 {
  color: #8bc4fd;
}
.text-glacier-blue-80 {
  color: #baddff;
}
.text-glacier-blue-90 {
  color: #e1f2ff;
}
.text-glacier-blue-100 {
  color: #f2f9ff;
}
.text-pine-green-10 {
  color: #001717;
}
.text-pine-green-20 {
  color: #002523;
}
.text-pine-green-30 {
  color: #00322e;
}
.text-pine-green-40 {
  color: #003f3a;
}
.text-pine-green-50 {
  color: #00443d;
}
.text-pine-green-60 {
  color: #3b796c;
}
.text-pine-green-70 {
  color: #81ae99;
}
.text-pine-green-80 {
  color: #b2cebd;
}
.text-pine-green-90 {
  color: #d5e9da;
}
.text-pine-green-100 {
  color: #eef8f0;
}
.text-prairie-gold-10 {
  color: #482a10;
}
.text-prairie-gold-20 {
  color: #74451a;
}
.text-prairie-gold-30 {
  color: #875830;
}
.text-prairie-gold-40 {
  color: #a06f45;
}
.text-prairie-gold-50 {
  color: #b6875e;
}
.text-prairie-gold-60 {
  color: #d3a881;
}
.text-prairie-gold-70 {
  color: #e7c19f;
}
.text-prairie-gold-80 {
  color: #f4dbc3;
}
.text-prairie-gold-90 {
  color: #fbf0e4;
}
.text-prairie-gold-100 {
  color: #fff9f2;
}
.text-wild-salmon-10 {
  color: #51191c;
}
.text-wild-salmon-20 {
  color: #772b2f;
}
.text-wild-salmon-30 {
  color: #994146;
}
.text-wild-salmon-40 {
  color: #b85b60;
}
.text-wild-salmon-50 {
  color: #d2797e;
}
.text-wild-salmon-60 {
  color: #ed9da1;
}
.text-wild-salmon-70 {
  color: #f6b3b6;
}
.text-wild-salmon-80 {
  color: #fccdcf;
}
.text-wild-salmon-90 {
  color: #ffeaea;
}
.text-wild-salmon-100 {
  color: #fff6f6;
}

[type=all] input {
  box-shadow: 0 0 0 0;
}
[type=all] input:focus {
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

/** Layout blocks specifi to Mercury Design pages **/
.ds-layout {
  width: 1440px;
  margin: 0 auto;
}

.ds-section {
  margin-bottom: 2.5rem;
}
.ds-section .ds-title {
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: 1rem;
}

.ds-swatch {
  height: 4rem;
  width: 4rem;
  margin: 0 auto 0.5rem;
}

.cpc-block-grid {
  display: flex;
  flex-flow: row wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
@media print, screen and (min-width: 64.0625em) {
  .cpc-block-grid > .cpc-block-item {
    flex: 0 0 auto;
    width: calc(8.3333333333% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-block-grid > .cpc-block-item {
    flex: 0 0 auto;
    width: calc(12.5% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-block-grid > .cpc-block-item {
    flex: 0 0 auto;
    width: calc(25% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
}

@font-face {
  font-family: Canadiana;
  font-style: normal;
  font-weight: 400;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Regular.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Regular.eof") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Regular.woff") format("woff");
}
@font-face {
  font-family: Canadiana;
  font-style: italic;
  font-weight: 400;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-RegularItalic.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-RegularItalic.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-RegularItalic.woff") format("woff");
}
@font-face {
  font-family: Canadiana;
  font-style: normal;
  font-weight: 700;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Bold.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Bold.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Bold.woff") format("woff");
}
@font-face {
  font-family: Canadiana;
  font-style: italic;
  font-weight: 700;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-BoldItalic.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-BoldItalic.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana//CanadianaDisplayWEB-BoldItalic.woff") format("woff");
}
@font-face {
  font-family: Canadiana;
  font-style: normal;
  font-weight: 300;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Light.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Light.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-Light.woff") format("woff");
}
@font-face {
  font-family: Canadiana;
  font-style: italic;
  font-weight: 300;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-LightItalic.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-LightItalic.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-LightItalic.woff") format("woff");
}
@font-face {
  font-family: Canadiana;
  font-style: normal;
  font-weight: 600;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-SemiBold.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-SemiBold.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-SemiBold.woff") format("woff");
}
@font-face {
  font-family: Canadiana;
  font-style: italic;
  font-weight: 600;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-SemiBoldItalic.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-SemiBoldItalic.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaDisplayWEB-SemiBoldItalic.woff") format("woff");
}
.canadiana,
body {
  font-family: "Canadiana", "Roboto", sans-serif;
}

blockquote,
cite {
  color: #434343;
}

body {
  color: #434343;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

p {
  line-height: 1.5rem;
}

small,
.small {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

big,
.big {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

strong,
b {
  color: #434343;
  font-weight: 700;
}

sup {
  font-size: 0.75rem;
}

label {
  font-weight: 700;
  font-stretch: normal;
  letter-spacing: 0.5px;
}

ul,
ol,
dl {
  line-height: 1.5rem;
  margin-left: 1rem;
}

ul {
  list-style-type: disc;
}

li {
  color: #434343;
}

ul li,
ol li {
  padding-left: 0.5rem;
  padding-top: 0.5rem;
}
ul ul,
ol ul {
  list-style-type: disc;
}
ul ul,
ul ol,
ol ul,
ol ol {
  list-style-type: disc;
  margin-left: 1.5rem;
}

.legend,
legend {
  font-weight: 700;
}

.legal {
  color: #434343;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
}
.legal a {
  color: #003087;
  text-decoration: none;
}
.legal a:hover {
  text-decoration: underline;
}
.legal ol,
.legal ul {
  color: #757575;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25rem;
}

a {
  text-decoration: none;
  color: #0467c6;
}
a:focus, a:hover {
  text-decoration: underline;
}

.nowrap {
  white-space: nowrap;
}

.hero {
  font-size: 3rem;
  line-height: 3.5rem;
}

h1,
.heading-1,
h2,
.heading-2,
h3,
.heading-3,
h4,
.heading-4,
h5,
.heading-5,
h6,
.heading-6 {
  color: #2a2a2a;
  font-family: "Canadiana", "Roboto", sans-serif;
  font-weight: 600;
}

h1 {
  font-size: 2.5rem;
  line-height: 3rem;
}
h1.hero {
  font-size: 3rem;
  line-height: 3.5rem;
}

.heading-1 {
  font-size: 2.5rem !important;
  line-height: 3rem !important;
}

h2 {
  font-size: 2rem;
  line-height: 2.5rem;
}

.heading-2 {
  font-size: 2rem !important;
  line-height: 2.5rem !important;
}

h3 {
  font-size: 1.75rem;
  line-height: 2.25rem;
}

.heading-3 {
  font-size: 1.75rem !important;
  line-height: 2.25rem !important;
}

h4 {
  font-size: 1.5rem;
  line-height: 2rem;
}

.heading-4 {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
}

h5 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.heading-5 {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
}

h6 {
  font-size: 1rem;
  line-height: 1.5rem;
}

.heading-6 {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}

@media print, screen and (max-width: 40.06125em) {
  h1,
h1.hero {
    font-size: 1.8125rem;
    line-height: 2.25rem;
  }
  .heading-1 {
    font-size: 1.8125rem !important;
    line-height: 2.25rem !important;
  }
  h2 {
    font-size: 1.625rem;
    line-height: 2rem;
  }
  .heading-2 {
    font-size: 1.625rem !important;
    line-height: 2rem !important;
  }
  h3 {
    font-size: 1.4375rem;
    line-height: 2rem;
  }
  .heading-3 {
    font-size: 1.4375rem !important;
    line-height: 2rem !important;
  }
  h4 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .heading-4 {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
  h5 {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
  .heading-5 {
    font-size: 1.125rem !important;
    line-height: 1.5rem !important;
  }
  h6 {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .heading-6 {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
  }
  big,
.big {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
  small,
.small {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
a.icon-arrow-up,
a.icon-arrow-down,
a.icon-arrow-left,
a.icon-arrow-right {
  position: relative;
}

a.icon-arrow-up::before,
a.icon-arrow-up::after,
a.icon-arrow-down::before,
a.icon-arrow-down::after,
a.icon-arrow-left::before,
a.icon-arrow-left::after,
a.icon-arrow-right::before,
a.icon-arrow-right::after {
  border: 1px solid #8b8b8b;
  content: "";
  float: right;
  height: 0.5rem;
  position: absolute;
  width: 1px;
}

a.icon-arrow-up::before {
  right: 1.5rem;
  top: 1.5rem;
  transform: rotate(-45deg);
}

a.icon-arrow-up::after {
  right: 1.25rem;
  top: 1.5rem;
  transform: rotate(45deg);
}

a.icon-arrow-down::before {
  right: 1.5rem;
  top: 1.5rem;
  transform: rotate(-45deg);
}

a.icon-arrow-down::after {
  right: 1.25rem;
  top: 1.5rem;
  transform: rotate(45deg);
}

a.icon-arrow-right::before {
  right: 1.75rem;
  top: 1.25rem;
  transform: rotate(-45deg);
}

a.icon-arrow-right::after {
  right: 1.75rem;
  top: 1.55rem;
  transform: rotate(45deg);
}

.visually-hidden {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  left: -9999px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  top: -9999px;
  width: 1px;
}

/* suppress focus ring on form controls for mouse users */
[data-whatintent=mouse] *:focus {
  outline: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-font-smoothing: subpixel-antialiased;
}
@media print, screen and (max-width: 40.06125em) {
  html {
    overflow: auto;
  }
}

body {
  background-color: #ffffff !important;
  -webkit-overflow-scrolling: touch;
}

#main-content {
  background-color: #ffffff;
  margin-top: 4.75rem;
}
#main-content > div:first-child {
  margin-top: -4.75rem;
}
#main-content > .cpc-main-content--row,
#main-content > div {
  background-color: #ffffff;
}

.cpc-ds-elevation-item {
  display: flex;
  flex-flow: row wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  justify-content: center;
}

.cpc-ds-elevation-container {
  flex: 0 0 auto;
  width: auto;
}

.cpc-ds-elevation {
  background-color: #ffffff;
  border-radius: 4px;
  margin: 2rem;
  height: 8rem;
  width: 8rem;
}
.cpc-ds-elevation.level-one-grey {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}
.cpc-ds-elevation.level-two-grey {
  box-shadow: 0 12px 16px -8px rgba(0, 0, 0, 0.12), 0 4px 4px -2px rgba(0, 0, 0, 0.06);
}
.cpc-ds-elevation.level-three-grey {
  box-shadow: 0 20px 24px -12px rgba(0, 0, 0, 0.16), 0 4px 4px -4px rgba(0, 0, 0, 0.08);
}
.cpc-ds-elevation.level-four-grey {
  box-shadow: 0 32px 48px -16px rgba(0, 0, 0, 0.2), 0 4px 4px -4px rgba(0, 0, 0, 0.06);
}
.cpc-ds-elevation.level-five-grey {
  box-shadow: 0 48px 64px -24px rgba(0, 0, 0, 0.24);
}
.cpc-ds-elevation.level-one-blue {
  box-shadow: 0 2px 4px rgba(0, 48, 135, 0.12);
}
.cpc-ds-elevation.level-two-blue {
  box-shadow: 0 12px 16px -8px rgba(0, 48, 135, 0.12), 0 4px 4px -2px rgba(0, 48, 135, 0.06);
}
.cpc-ds-elevation.level-three-blue {
  box-shadow: 0 20px 24px -12px rgba(0, 48, 135, 0.16), 0 4px 4px -4px rgba(0, 48, 135, 0.08);
}
.cpc-ds-elevation.level-four-blue {
  box-shadow: 0 32px 48px -16px rgba(0, 48, 135, 0.2), 0 4px 4px -4px rgba(0, 48, 135, 0.06);
}
.cpc-ds-elevation.level-five-blue {
  box-shadow: 0 48px 64px -24px rgba(0, 48, 135, 0.24);
}

.cpc-ds-elevation-level {
  position: relative;
  left: 50%;
  bottom: 50%;
}

/**
CPC Desugn System components styles
**/
/**
CPC DS accordions 
**/
/********************* 
  Accordion Container 
**********************/
:root {
  --transition-speed: 0.3s;
}

.cpc-ds-accordions {
  max-width: 48.6875rem;
  width: 100%;
}
.cpc-ds-accordions:not(.cpc-ds-accordions__standalone) {
  margin: 0 auto;
}
.cpc-ds-accordions.cpc-ds-accordions__tiles {
  width: 100%;
  max-width: unset;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-accordions.cpc-ds-accordions__tiles {
    min-width: 36.0625rem;
    width: 75%;
  }
}
.cpc-ds-accordions.cpc-ds-accordions__standalone {
  margin: 0;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-accordions.cpc-ds-accordions__standalone {
    max-width: unset;
  }
  .cpc-ds-accordions.cpc-ds-accordions__standalone:not(.cpc-ds-accordions__tiles) {
    width: calc(75% - 0.5rem);
  }
}
.cpc-ds-accordions__back-to-top {
  margin-top: 1rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion {
  border: none;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion:last-of-type {
  border-bottom: none;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list {
  width: 100%;
  display: grid;
  grid-column-gap: 2rem;
  grid-template-columns: 1fr 1fr;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion__list {
    grid-column-gap: 0;
    grid-row-gap: 1rem;
    grid-template-columns: 1fr;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--left-col, .cpc-ds-accordions__tiles .cpc-ds-accordion__list--right-col {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item {
  position: relative;
  box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.12);
  background-color: #ffffff;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item::before {
  content: "";
  display: block;
  width: 100%;
  height: 5.875rem;
  border-top: 0.125rem solid transparent;
  transition: all 0.2s;
  position: absolute;
  left: 0;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item:hover::before {
  border-top: 0.125rem solid #003087;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item .cpc-ds-accordion__content--inner {
  padding: 1rem 2rem 2rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item .cpc-ds-accordion__content--inner-list {
  margin: 0;
  list-style-type: none;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item .cpc-ds-accordion__content--inner-list li:not(:last-child) {
  padding-bottom: 0.5rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item .cpc-ds-accordion__content--inner-list li::before {
  content: none;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__button {
  padding: 1.5rem;
  min-height: 6rem;
  border: none;
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion__button {
    padding: 1.25rem 1rem;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__button--expand-all {
  margin-bottom: 1.5rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__button--icon-image {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  margin-right: 1.5rem;
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion__button--icon-image {
    margin-right: 1rem;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  padding-right: 2rem;
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion__title {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion .accordion__button-icon--open {
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion .accordion__button-icon--open {
    right: 1rem;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion.cpc-ds-accordions-expander--active .accordion__button-icon--open {
  transform: translateY(-50%) rotate(180deg);
}
.cpc-ds-accordions__tiles .cpc-ds-accordion ul.cpc-ds-list {
  margin-left: 1.5rem !important;
}

/**********************
 Control Expand Collapse 
**********************/
.accordion__controls {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.accordion__controls .accordion__controls--heading {
  flex: 1 0 100%;
  margin-bottom: 1rem;
}

.accordion--expand-close-all {
  display: none;
}

.cpc-ds-accordion__controls--active .accordion--expand-close-all {
  display: block;
}
.cpc-ds-accordion__controls--active .accordion--expand-open-all {
  display: none;
}

/********************** 
  Accordion Row 
**********************/
.cpc-ds-accordion {
  border-top: 1px solid #757575;
  transition: all var(--transition-speed) ease-in-out;
}
.cpc-ds-accordion:last-of-type {
  border-bottom: 1px solid #757575;
}
.cpc-ds-accordion__title {
  font-size: 1rem;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5rem;
  letter-spacing: 0.5px;
  color: #2a2a2a;
  margin-bottom: 0;
  padding: 0;
}
.cpc-ds-accordion__button {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 1rem 3.5rem 1rem 1rem;
  width: 100%;
  position: relative;
  margin: 0;
  text-decoration: none;
  border-radius: 1px;
  outline: none;
}
.cpc-ds-accordion__button[data-activated-via=keyboard]:focus {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
.cpc-ds-accordion__button--expand-all {
  font-size: 1rem;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5rem;
  letter-spacing: 0.5px;
  color: #003087;
  margin: 0 0 1rem 0;
  cursor: pointer;
  text-decoration: none;
  border-radius: 1px;
  outline: none;
}
.cpc-ds-accordion__button--expand-all:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 40em) {
  .cpc-ds-accordion__button--expand-all {
    min-width: 5.25rem !important;
  }
}
.cpc-ds-accordion__button--expand-all[data-activated-via=keyboard]:focus {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
.cpc-ds-accordion__list {
  margin: 0;
  list-style-type: none;
}
.cpc-ds-accordion__list li {
  padding: 0;
}
.cpc-ds-accordion__list li:not(.legal)::before {
  top: 0.625rem !important;
}
.cpc-ds-accordion__list li.legal::before {
  top: 0.375rem !important;
}
.cpc-ds-accordion__list li .cpc-ds-accordion p,
.cpc-ds-accordion__list li .cpc-ds-accordion ul li,
.cpc-ds-accordion__list li .cpc-ds-accordion ol li,
.cpc-ds-accordion__list li .cpc-ds-accordion span:not(.standalone__external):not(.cpc-ds-link__external):not(.standalone__internal):not(.cpc-ds-link__pdf) {
  color: #434343;
}
.cpc-ds-accordion__list li:not(:last-child) .cpc-ds-accordion {
  border-bottom: none;
}
.cpc-ds-accordion__content {
  max-height: 0;
  transition: all var(--transition-speed) ease-in-out;
  overflow: hidden;
}
.cpc-ds-accordion__content--inner {
  padding: 0 1rem;
}
.cpc-ds-accordion__content p {
  margin: 0;
  color: #434343;
}
.cpc-ds-accordion__content p:first-child {
  padding: 0.5rem 0 1rem 0;
}
.cpc-ds-accordion__content p:not(:first-child) {
  padding: 0 0 1rem 0;
}

.cpc-ds-accordions-expander--active .cpc-ds-accordion__title {
  font-weight: 600;
}
.cpc-ds-accordions-expander--active .accordion__button-icon--open {
  transform: rotate(180deg);
}

/**********************
 Accordion Buttons 
**********************/
.accordion__button-icon--open {
  width: 1rem;
  height: 1rem;
  background: url("/cpc/assets/cpc/img/icons/chevron-down-grey.svg");
  transition: all var(--transition-speed) ease-in-out;
  background-repeat: no-repeat;
  right: 1rem;
  position: absolute;
  top: 1.25rem;
}

.cpc-accordion-outro {
  margin-top: 1.5rem;
  max-width: 48.6875rem;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-accordion-outro {
    max-width: unset;
    width: calc(75% - 0.5rem);
  }
}

/**
CPC DS breadbrumbs
**/
.cpc-ds-breadcrumb ul, .cpc-ds-breadcrumb__alt ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.5rem;
  margin: 0;
  padding: 0;
}
.cpc-ds-breadcrumb ul li, .cpc-ds-breadcrumb__alt ul li {
  display: inline-block;
  padding: 0;
  margin: 0;
  line-height: 1.25rem;
  height: 1.25rem;
  font-weight: 400;
}
.cpc-ds-breadcrumb ul li:last-child a, .cpc-ds-breadcrumb__alt ul li:last-child a {
  margin-right: 0 !important;
}
.cpc-ds-breadcrumb ul li a, .cpc-ds-breadcrumb__alt ul li a {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
}
.cpc-ds-breadcrumb ul li a::after, .cpc-ds-breadcrumb__alt ul li a::after {
  content: "";
  display: inline-block;
  vertical-align: text-top;
  height: 1rem;
  width: 1rem;
  margin-left: 0.25rem;
}
.cpc-ds-breadcrumb ul li a:hover, .cpc-ds-breadcrumb ul li a:active, .cpc-ds-breadcrumb__alt ul li a:hover, .cpc-ds-breadcrumb__alt ul li a:active {
  text-decoration: underline;
}
.cpc-ds-breadcrumb ul li a:focus, .cpc-ds-breadcrumb__alt ul li a:focus {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
  outline: none !important;
  border-radius: 0.125rem;
  text-decoration: underline !important;
}
.cpc-ds-breadcrumb ul li a:focus:not(:focus-visible), .cpc-ds-breadcrumb__alt ul li a:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
@media only screen and (max-width: 40em) {
  .cpc-ds-breadcrumb, .cpc-ds-breadcrumb__alt {
    display: none;
  }
}
.cpc-ds-breadcrumb ul li {
  color: #003087;
}
.cpc-ds-breadcrumb ul li a {
  color: #003087;
}
.cpc-ds-breadcrumb ul li a::after {
  background: url("/cpc/assets/cpc/img/icons/link-chevron-default.svg") no-repeat center bottom/1rem 1rem;
}
.cpc-ds-breadcrumb ul li a:hover {
  color: #001b76;
}
.cpc-ds-breadcrumb ul li a:hover::after {
  background: url("/cpc/assets/cpc/img/icons/link-chevron-hover.svg") no-repeat center bottom/1rem 1rem;
}
.cpc-ds-breadcrumb__alt ul li {
  color: #ffffff;
}
.cpc-ds-breadcrumb__alt ul li a {
  color: #ffffff;
}
.cpc-ds-breadcrumb__alt ul li a::after {
  background: url("/cpc/assets/cpc/img/icons/breadcrumb-arrow-white.svg") no-repeat center/0.375rem 0.625rem;
}

/**
CPC DS buttons
**/
input[type=button],
input[type=reset],
input[type=submit],
button,
.button,
a.button,
a[role=link].button,
a[role=button].button {
  border-radius: 6rem;
  font-weight: 600;
  font-family: "Canadiana", "Roboto", sans-serif;
  outline: none;
  width: 100%;
  min-width: 7.5rem;
  margin-bottom: 1rem;
  cursor: pointer;
}
input[type=button]:not(.sm),
input[type=reset]:not(.sm),
input[type=submit]:not(.sm),
button:not(.sm),
.button:not(.sm),
a.button:not(.sm),
a[role=link].button:not(.sm),
a[role=button].button:not(.sm) {
  font-size: 1rem;
  line-height: 1.5rem;
}
input[type=button].sm,
input[type=reset].sm,
input[type=submit].sm,
button.sm,
.button.sm,
a.button.sm,
a[role=link].button.sm,
a[role=button].button.sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
@media print, screen and (min-width: 40.0625em) {
  input[type=button],
input[type=reset],
input[type=submit],
button,
.button,
a.button,
a[role=link].button,
a[role=button].button {
    width: auto;
    margin-right: 1rem;
  }
}
input[type=button].success,
input[type=reset].success,
input[type=submit].success,
button.success,
.button.success,
a.button.success,
a[role=link].button.success,
a[role=button].button.success {
  background-color: #098a00;
}
input[type=button].warning,
input[type=reset].warning,
input[type=submit].warning,
button.warning,
.button.warning,
a.button.warning,
a[role=link].button.warning,
a[role=button].button.warning {
  background-color: #ffbf05;
}
input[type=button].alert,
input[type=reset].alert,
input[type=submit].alert,
button.alert,
.button.alert,
a.button.alert,
a[role=link].button.alert,
a[role=button].button.alert {
  background-color: #e4002b;
}
input[type=button].text-button, input[type=button].link,
input[type=reset].text-button,
input[type=reset].link,
input[type=submit].text-button,
input[type=submit].link,
button.text-button,
button.link,
.button.text-button,
.button.link,
a.button.text-button,
a.button.link,
a[role=link].button.text-button,
a[role=link].button.link,
a[role=button].button.text-button,
a[role=button].button.link {
  background-color: transparent;
  border: 0 none;
  color: #0467c6;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.5px;
  line-height: 1.5rem;
  padding: 0;
  text-align: left;
}
input[type=button].text-button:hover, input[type=button].text-button:focus, input[type=button].link:hover, input[type=button].link:focus,
input[type=reset].text-button:hover,
input[type=reset].text-button:focus,
input[type=reset].link:hover,
input[type=reset].link:focus,
input[type=submit].text-button:hover,
input[type=submit].text-button:focus,
input[type=submit].link:hover,
input[type=submit].link:focus,
button.text-button:hover,
button.text-button:focus,
button.link:hover,
button.link:focus,
.button.text-button:hover,
.button.text-button:focus,
.button.link:hover,
.button.link:focus,
a.button.text-button:hover,
a.button.text-button:focus,
a.button.link:hover,
a.button.link:focus,
a[role=link].button.text-button:hover,
a[role=link].button.text-button:focus,
a[role=link].button.link:hover,
a[role=link].button.link:focus,
a[role=button].button.text-button:hover,
a[role=button].button.text-button:focus,
a[role=button].button.link:hover,
a[role=button].button.link:focus {
  background-color: transparent;
  color: #0467c6;
  text-decoration: underline;
}

button[role=link]:not(.lg):not(.md):not(.sm),
.button:not(.lg):not(.md):not(.sm),
a.button:not(.lg):not(.md):not(.sm),
a[role=link].button:not(.lg):not(.md):not(.sm),
a[role=button].button:not(.lg):not(.md):not(.sm) {
  padding: 0.5rem 1.5rem;
}
button[role=link].lg,
.button.lg,
a.button.lg,
a[role=link].button.lg,
a[role=button].button.lg {
  padding: 0.625rem 1.5rem;
}
button[role=link].md,
.button.md,
a.button.md,
a[role=link].button.md,
a[role=button].button.md {
  padding: 0.5rem 1.25rem;
}
button[role=link].sm,
.button.sm,
a.button.sm,
a[role=link].button.sm,
a[role=button].button.sm {
  padding: 0.5rem 1rem;
}
button[role=link].primary, button[role=link]:not(.alt),
.button.primary,
.button:not(.alt),
a.button.primary,
a.button:not(.alt),
a[role=link].button.primary,
a[role=link].button:not(.alt),
a[role=button].button.primary,
a[role=button].button:not(.alt) {
  border: 0.125rem solid #003087;
  background-color: #003087;
  color: #ffffff;
}
button[role=link].primary:hover, button[role=link].primary:focus, button[role=link]:not(.alt):hover, button[role=link]:not(.alt):focus,
.button.primary:hover,
.button.primary:focus,
.button:not(.alt):hover,
.button:not(.alt):focus,
a.button.primary:hover,
a.button.primary:focus,
a.button:not(.alt):hover,
a.button:not(.alt):focus,
a[role=link].button.primary:hover,
a[role=link].button.primary:focus,
a[role=link].button:not(.alt):hover,
a[role=link].button:not(.alt):focus,
a[role=button].button.primary:hover,
a[role=button].button.primary:focus,
a[role=button].button:not(.alt):hover,
a[role=button].button:not(.alt):focus {
  background-color: #001266;
  text-decoration: underline;
}
button[role=link].primary[data-activated-via=keyboard], button[role=link]:not(.alt)[data-activated-via=keyboard],
.button.primary[data-activated-via=keyboard],
.button:not(.alt)[data-activated-via=keyboard],
a.button.primary[data-activated-via=keyboard],
a.button:not(.alt)[data-activated-via=keyboard],
a[role=link].button.primary[data-activated-via=keyboard],
a[role=link].button:not(.alt)[data-activated-via=keyboard],
a[role=button].button.primary[data-activated-via=keyboard],
a[role=button].button:not(.alt)[data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #1560bd;
  background-color: #003087;
  text-decoration: none;
}
button[role=link].alt,
.button.alt,
a.button.alt,
a[role=link].button.alt,
a[role=button].button.alt {
  border: 0.125rem solid #ffffff;
  background-color: #ffffff;
  color: #001266;
}
button[role=link].alt:hover, button[role=link].alt:focus,
.button.alt:hover,
.button.alt:focus,
a.button.alt:hover,
a.button.alt:focus,
a[role=link].button.alt:hover,
a[role=link].button.alt:focus,
a[role=button].button.alt:hover,
a[role=button].button.alt:focus {
  background-color: rgba(255, 255, 255, 0.8);
  border: 0.125rem solid transparent;
  text-decoration: underline;
}
button[role=link].alt[data-activated-via=keyboard],
.button.alt[data-activated-via=keyboard],
a.button.alt[data-activated-via=keyboard],
a[role=link].button.alt[data-activated-via=keyboard],
a[role=button].button.alt[data-activated-via=keyboard] {
  background-color: #ffffff;
  border: 0.125rem solid transparent;
  text-decoration: none;
}
button[role=link].alt[data-activated-via=keyboard],
.button.alt[data-activated-via=keyboard],
a.button.alt[data-activated-via=keyboard],
a[role=link].button.alt[data-activated-via=keyboard],
a[role=button].button.alt[data-activated-via=keyboard] {
  text-decoration: none;
  box-shadow: none;
  position: relative;
  z-index: 2;
}
button[role=link].alt[data-activated-via=keyboard]::after,
.button.alt[data-activated-via=keyboard]::after,
a.button.alt[data-activated-via=keyboard]::after,
a[role=link].button.alt[data-activated-via=keyboard]::after,
a[role=button].button.alt[data-activated-via=keyboard]::after {
  content: "";
  display: block;
  width: calc(100% + 0.8rem);
  height: calc(100% + 0.8125rem);
  position: absolute;
  top: -0.4rem;
  left: -0.4rem;
  border-radius: 6rem;
  background-color: transparent;
  z-index: 1;
  border: 0.125rem solid #ffffff;
}
button[role=link].secondary:not(.alt), button[role=link].outline:not(.alt),
.button.secondary:not(.alt),
.button.outline:not(.alt),
a.button.secondary:not(.alt),
a.button.outline:not(.alt),
a[role=link].button.secondary:not(.alt),
a[role=link].button.outline:not(.alt),
a[role=button].button.secondary:not(.alt),
a[role=button].button.outline:not(.alt) {
  border: 0.125rem solid #003087;
  background-color: transparent;
  color: #001266;
}
button[role=link].secondary:not(.alt):hover, button[role=link].secondary:not(.alt):focus, button[role=link].outline:not(.alt):hover, button[role=link].outline:not(.alt):focus,
.button.secondary:not(.alt):hover,
.button.secondary:not(.alt):focus,
.button.outline:not(.alt):hover,
.button.outline:not(.alt):focus,
a.button.secondary:not(.alt):hover,
a.button.secondary:not(.alt):focus,
a.button.outline:not(.alt):hover,
a.button.outline:not(.alt):focus,
a[role=link].button.secondary:not(.alt):hover,
a[role=link].button.secondary:not(.alt):focus,
a[role=link].button.outline:not(.alt):hover,
a[role=link].button.outline:not(.alt):focus,
a[role=button].button.secondary:not(.alt):hover,
a[role=button].button.secondary:not(.alt):focus,
a[role=button].button.outline:not(.alt):hover,
a[role=button].button.outline:not(.alt):focus {
  background-color: #f2f9ff;
  text-decoration: underline;
  color: #001266;
}
button[role=link].secondary:not(.alt)[data-activated-via=keyboard], button[role=link].outline:not(.alt)[data-activated-via=keyboard],
.button.secondary:not(.alt)[data-activated-via=keyboard],
.button.outline:not(.alt)[data-activated-via=keyboard],
a.button.secondary:not(.alt)[data-activated-via=keyboard],
a.button.outline:not(.alt)[data-activated-via=keyboard],
a[role=link].button.secondary:not(.alt)[data-activated-via=keyboard],
a[role=link].button.outline:not(.alt)[data-activated-via=keyboard],
a[role=button].button.secondary:not(.alt)[data-activated-via=keyboard],
a[role=button].button.outline:not(.alt)[data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #1560bd;
  background-color: transparent;
  text-decoration: none;
}
button[role=link].secondary.alt, button[role=link].outline.alt,
.button.secondary.alt,
.button.outline.alt,
a.button.secondary.alt,
a.button.outline.alt,
a[role=link].button.secondary.alt,
a[role=link].button.outline.alt,
a[role=button].button.secondary.alt,
a[role=button].button.outline.alt {
  border: 0.125rem solid #ffffff;
  background-color: transparent;
  color: #ffffff;
}
button[role=link].secondary.alt:hover, button[role=link].secondary.alt:focus, button[role=link].outline.alt:hover, button[role=link].outline.alt:focus,
.button.secondary.alt:hover,
.button.secondary.alt:focus,
.button.outline.alt:hover,
.button.outline.alt:focus,
a.button.secondary.alt:hover,
a.button.secondary.alt:focus,
a.button.outline.alt:hover,
a.button.outline.alt:focus,
a[role=link].button.secondary.alt:hover,
a[role=link].button.secondary.alt:focus,
a[role=link].button.outline.alt:hover,
a[role=link].button.outline.alt:focus,
a[role=button].button.secondary.alt:hover,
a[role=button].button.secondary.alt:focus,
a[role=button].button.outline.alt:hover,
a[role=button].button.outline.alt:focus {
  background-color: rgba(0, 0, 0, 0.4);
  text-decoration: underline;
}
button[role=link].secondary.alt[data-activated-via=keyboard], button[role=link].outline.alt[data-activated-via=keyboard],
.button.secondary.alt[data-activated-via=keyboard],
.button.outline.alt[data-activated-via=keyboard],
a.button.secondary.alt[data-activated-via=keyboard],
a.button.outline.alt[data-activated-via=keyboard],
a[role=link].button.secondary.alt[data-activated-via=keyboard],
a[role=link].button.outline.alt[data-activated-via=keyboard],
a[role=button].button.secondary.alt[data-activated-via=keyboard],
a[role=button].button.outline.alt[data-activated-via=keyboard] {
  background-color: transparent;
  border: 0.125rem solid #ffffff;
  text-decoration: none;
}
button[role=link].tertiary:not(.alt), button[role=link].transparent:not(.alt),
.button.tertiary:not(.alt),
.button.transparent:not(.alt),
a.button.tertiary:not(.alt),
a.button.transparent:not(.alt),
a[role=link].button.tertiary:not(.alt),
a[role=link].button.transparent:not(.alt),
a[role=button].button.tertiary:not(.alt),
a[role=button].button.transparent:not(.alt) {
  border: 0.125rem solid transparent;
  background-color: transparent;
  color: #001266;
}
button[role=link].tertiary:not(.alt):hover, button[role=link].tertiary:not(.alt):focus, button[role=link].transparent:not(.alt):hover, button[role=link].transparent:not(.alt):focus,
.button.tertiary:not(.alt):hover,
.button.tertiary:not(.alt):focus,
.button.transparent:not(.alt):hover,
.button.transparent:not(.alt):focus,
a.button.tertiary:not(.alt):hover,
a.button.tertiary:not(.alt):focus,
a.button.transparent:not(.alt):hover,
a.button.transparent:not(.alt):focus,
a[role=link].button.tertiary:not(.alt):hover,
a[role=link].button.tertiary:not(.alt):focus,
a[role=link].button.transparent:not(.alt):hover,
a[role=link].button.transparent:not(.alt):focus,
a[role=button].button.tertiary:not(.alt):hover,
a[role=button].button.tertiary:not(.alt):focus,
a[role=button].button.transparent:not(.alt):hover,
a[role=button].button.transparent:not(.alt):focus {
  background-color: #f2f9ff;
  text-decoration: underline;
}
button[role=link].tertiary:not(.alt)[data-activated-via=keyboard], button[role=link].transparent:not(.alt)[data-activated-via=keyboard],
.button.tertiary:not(.alt)[data-activated-via=keyboard],
.button.transparent:not(.alt)[data-activated-via=keyboard],
a.button.tertiary:not(.alt)[data-activated-via=keyboard],
a.button.transparent:not(.alt)[data-activated-via=keyboard],
a[role=link].button.tertiary:not(.alt)[data-activated-via=keyboard],
a[role=link].button.transparent:not(.alt)[data-activated-via=keyboard],
a[role=button].button.tertiary:not(.alt)[data-activated-via=keyboard],
a[role=button].button.transparent:not(.alt)[data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #1560bd;
  background-color: #ffffff;
  text-decoration: none;
}
button[role=link].tertiary.alt, button[role=link].transparent.alt,
.button.tertiary.alt,
.button.transparent.alt,
a.button.tertiary.alt,
a.button.transparent.alt,
a[role=link].button.tertiary.alt,
a[role=link].button.transparent.alt,
a[role=button].button.tertiary.alt,
a[role=button].button.transparent.alt {
  border: 0.125rem solid transparent;
  background-color: transparent;
  color: #ffffff;
}
button[role=link].tertiary.alt:hover, button[role=link].tertiary.alt:focus, button[role=link].transparent.alt:hover, button[role=link].transparent.alt:focus,
.button.tertiary.alt:hover,
.button.tertiary.alt:focus,
.button.transparent.alt:hover,
.button.transparent.alt:focus,
a.button.tertiary.alt:hover,
a.button.tertiary.alt:focus,
a.button.transparent.alt:hover,
a.button.transparent.alt:focus,
a[role=link].button.tertiary.alt:hover,
a[role=link].button.tertiary.alt:focus,
a[role=link].button.transparent.alt:hover,
a[role=link].button.transparent.alt:focus,
a[role=button].button.tertiary.alt:hover,
a[role=button].button.tertiary.alt:focus,
a[role=button].button.transparent.alt:hover,
a[role=button].button.transparent.alt:focus {
  background-color: rgba(0, 0, 0, 0.4);
  text-decoration: underline;
}
button[role=link].tertiary.alt[data-activated-via=keyboard], button[role=link].transparent.alt[data-activated-via=keyboard],
.button.tertiary.alt[data-activated-via=keyboard],
.button.transparent.alt[data-activated-via=keyboard],
a.button.tertiary.alt[data-activated-via=keyboard],
a.button.transparent.alt[data-activated-via=keyboard],
a[role=link].button.tertiary.alt[data-activated-via=keyboard],
a[role=link].button.transparent.alt[data-activated-via=keyboard],
a[role=button].button.tertiary.alt[data-activated-via=keyboard],
a[role=button].button.transparent.alt[data-activated-via=keyboard] {
  background-color: transparent;
  border: 0.125rem solid transparent;
  text-decoration: none;
}

a {
  color: #003087;
  text-decoration: none;
}
a:hover, a:focus {
  color: #003087;
  text-decoration: underline;
}
a.microaction {
  color: #003087;
  vertical-align: middle;
}
a.microaction.copy::before {
  content: url("/cpc/assets/cpc/img/icons/microaction-icon-default.svg");
  position: relative;
  padding-right: 0.25rem;
  display: inline-block;
  top: 3px;
}
a.microaction.copy:hover::before {
  content: url("/cpc/assets/cpc/img/icons/microaction-icon-hover.svg");
}
a.microaction.copy:focus::before {
  content: url("/cpc/assets/cpc/img/icons/microaction-icon-hover.svg");
}

/**
CPC DS Links
**/
a,
a[role=button],
a[role=link],
.cpc-ds-link {
  color: #003087;
  text-decoration: none;
  border-radius: 1px;
  outline: 0;
}
a:hover,
a[role=button]:hover,
a[role=link]:hover,
.cpc-ds-link:hover {
  text-decoration: underline;
}
a:hover, a:focus,
a[role=button]:hover,
a[role=button]:focus,
a[role=link]:hover,
a[role=link]:focus,
.cpc-ds-link:hover,
.cpc-ds-link:focus {
  color: #001b76;
  text-decoration: underline;
}
a.anchor-footnote,
a[role=button].anchor-footnote,
a[role=link].anchor-footnote,
.cpc-ds-link.anchor-footnote {
  line-height: 100%;
}
a.anchor-footnote:focus, a.anchor-footnote[data-activated-via=keyboard]:focus, a.anchor-footnote[data-activated-via=mouse]:focus,
a[role=button].anchor-footnote:focus,
a[role=button].anchor-footnote[data-activated-via=keyboard]:focus,
a[role=button].anchor-footnote[data-activated-via=mouse]:focus,
a[role=link].anchor-footnote:focus,
a[role=link].anchor-footnote[data-activated-via=keyboard]:focus,
a[role=link].anchor-footnote[data-activated-via=mouse]:focus,
.cpc-ds-link.anchor-footnote:focus,
.cpc-ds-link.anchor-footnote[data-activated-via=keyboard]:focus,
.cpc-ds-link.anchor-footnote[data-activated-via=mouse]:focus {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
a[data-activated-via=keyboard]:focus,
a[role=button][data-activated-via=keyboard]:focus,
a[role=link][data-activated-via=keyboard]:focus,
.cpc-ds-link[data-activated-via=keyboard]:focus {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
a[data-activated-via=keyboard]:focus .standalone__external,
a[role=button][data-activated-via=keyboard]:focus .standalone__external,
a[role=link][data-activated-via=keyboard]:focus .standalone__external,
.cpc-ds-link[data-activated-via=keyboard]:focus .standalone__external {
  text-decoration: underline !important;
}
a.inline:not(.standalone),
a[role=button].inline:not(.standalone),
a[role=link].inline:not(.standalone),
.cpc-ds-link.inline:not(.standalone) {
  text-decoration: underline;
  display: inline !important;
}
a:not(.standalone),
a[role=button]:not(.standalone),
a[role=link]:not(.standalone),
.cpc-ds-link:not(.standalone) {
  word-wrap: break-word;
}
a.standalone[data-activated-via=keyboard]:focus,
a[role=button].standalone[data-activated-via=keyboard]:focus,
a[role=link].standalone[data-activated-via=keyboard]:focus,
.cpc-ds-link.standalone[data-activated-via=keyboard]:focus {
  display: inline-block;
}
a.standalone .standalone__internal,
a[role=button].standalone .standalone__internal,
a[role=link].standalone .standalone__internal,
.cpc-ds-link.standalone .standalone__internal {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  max-height: 1.5rem;
  font-size: inherit;
}
a.standalone .standalone__internal sup,
a[role=button].standalone .standalone__internal sup,
a[role=link].standalone .standalone__internal sup,
.cpc-ds-link.standalone .standalone__internal sup {
  align-self: center;
}
a.standalone .standalone__internal::after,
a[role=button].standalone .standalone__internal::after,
a[role=link].standalone .standalone__internal::after,
.cpc-ds-link.standalone .standalone__internal::after {
  content: url("/cpc/assets/cpc/img/icons/link-chevron-default.svg");
  padding: 2px 0 0 2px;
}
a.standalone .standalone__external,
a[role=button].standalone .standalone__external,
a[role=link].standalone .standalone__external,
.cpc-ds-link.standalone .standalone__external {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  max-height: 1.5rem;
  font-size: inherit;
  align-items: center;
}
a.standalone .standalone__external::after,
a[role=button].standalone .standalone__external::after,
a[role=link].standalone .standalone__external::after,
.cpc-ds-link.standalone .standalone__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-default.svg");
  padding: 2px 0 0 4px;
}
a.standalone:hover .standalone__internal,
a[role=button].standalone:hover .standalone__internal,
a[role=link].standalone:hover .standalone__internal,
.cpc-ds-link.standalone:hover .standalone__internal {
  text-decoration: underline;
}
a.standalone:hover .standalone__internal::after,
a[role=button].standalone:hover .standalone__internal::after,
a[role=link].standalone:hover .standalone__internal::after,
.cpc-ds-link.standalone:hover .standalone__internal::after {
  content: url("/cpc/assets/cpc/img/icons/link-chevron-hover.svg");
}
a.standalone:hover .standalone__external,
a[role=button].standalone:hover .standalone__external,
a[role=link].standalone:hover .standalone__external,
.cpc-ds-link.standalone:hover .standalone__external {
  text-decoration: underline;
}
a.standalone:hover .standalone__external::after,
a[role=button].standalone:hover .standalone__external::after,
a[role=link].standalone:hover .standalone__external::after,
.cpc-ds-link.standalone:hover .standalone__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-hover.svg");
}
a.image,
a[role=button].image,
a[role=link].image,
.cpc-ds-link.image {
  display: inline-block;
}
a:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external, a.secondary:not(.microaction)[target=_blank] .cpc-ds-link__external,
a[role=button]:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external,
a[role=button].secondary:not(.microaction)[target=_blank] .cpc-ds-link__external,
a[role=link]:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external,
a[role=link].secondary:not(.microaction)[target=_blank] .cpc-ds-link__external,
.cpc-ds-link:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external,
.cpc-ds-link.secondary:not(.microaction)[target=_blank] .cpc-ds-link__external {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  max-height: 1.5rem;
  font-size: inherit;
}
a:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external::after, a.secondary:not(.microaction)[target=_blank] .cpc-ds-link__external::after,
a[role=button]:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external::after,
a[role=button].secondary:not(.microaction)[target=_blank] .cpc-ds-link__external::after,
a[role=link]:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external::after,
a[role=link].secondary:not(.microaction)[target=_blank] .cpc-ds-link__external::after,
.cpc-ds-link:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external::after,
.cpc-ds-link.secondary:not(.microaction)[target=_blank] .cpc-ds-link__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-default.svg");
  padding: 2px 0 0 4px;
}
a:not(.microaction):not(.button)[target=_blank]:hover .cpc-ds-link__external::after, a.secondary:not(.microaction)[target=_blank]:hover .cpc-ds-link__external::after,
a[role=button]:not(.microaction):not(.button)[target=_blank]:hover .cpc-ds-link__external::after,
a[role=button].secondary:not(.microaction)[target=_blank]:hover .cpc-ds-link__external::after,
a[role=link]:not(.microaction):not(.button)[target=_blank]:hover .cpc-ds-link__external::after,
a[role=link].secondary:not(.microaction)[target=_blank]:hover .cpc-ds-link__external::after,
.cpc-ds-link:not(.microaction):not(.button)[target=_blank]:hover .cpc-ds-link__external::after,
.cpc-ds-link.secondary:not(.microaction)[target=_blank]:hover .cpc-ds-link__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-hover.svg");
}
a.back-to-top::before,
a[role=button].back-to-top::before,
a[role=link].back-to-top::before,
.cpc-ds-link.back-to-top::before {
  content: "";
  background-image: url("/cpc/assets/cpc/img/icons/back-to-top-link-icon.svg");
  background-size: 1rem 1rem;
  width: 1rem;
  height: 1rem;
  margin: 0 0.25rem 0.25rem 0;
  display: inline-block;
  vertical-align: middle;
}
a .cpc-ds-link__pdf,
a[role=button] .cpc-ds-link__pdf,
a[role=link] .cpc-ds-link__pdf,
.cpc-ds-link .cpc-ds-link__pdf {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  max-height: 1.5rem;
  font-size: inherit;
  align-items: center;
}
a .cpc-ds-link__pdf::after,
a[role=button] .cpc-ds-link__pdf::after,
a[role=link] .cpc-ds-link__pdf::after,
.cpc-ds-link .cpc-ds-link__pdf::after {
  content: url("/cpc/assets/cpc/img/icons/pdf-link-icon.svg");
  width: 1rem;
  height: 1rem;
  margin: 0 0.25rem 0.25rem 0.25rem;
  display: inline-block;
  vertical-align: middle;
}
a.cpc-ds-details,
a[role=button].cpc-ds-details,
a[role=link].cpc-ds-details,
.cpc-ds-link.cpc-ds-details {
  text-decoration: none;
}

a.button .cpc-ds-link__external,
a[role=link].button .cpc-ds-link__external,
a[role=button].button .cpc-ds-link__external {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  font-size: inherit;
}
a.button .cpc-ds-link__external::after,
a[role=link].button .cpc-ds-link__external::after,
a[role=button].button .cpc-ds-link__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-white.svg");
  padding: 2px 0 0 4px;
}

.link-group + .link-group {
  margin-top: 0.5rem;
}

/* 
Do not delete the following comment. It is essential for tracking purposes.
#Merc2021DoNotDelete 
*/
.cpc-control-select,
.ds-cpc-control-select__tpl {
  position: relative;
  margin-bottom: 1.5rem;
  width: 100%;
  max-width: 468px;
  margin-top: 4px;
}
@media only screen and (max-width: 40em) {
  .cpc-control-select,
.ds-cpc-control-select__tpl {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    color: #434343;
  }
}

.input-error-dropdown {
  max-width: 468px !important;
  margin-top: -1rem;
}
.input-error-dropdown.input-error {
  padding-left: 40px;
}

.ds-cpc-control-select__tpl {
  border-radius: 4px;
  background: url("../img/icons/dropdown-chevron.svg") right 50% no-repeat;
  background-position-x: 97%;
  background-color: #ffffff;
  border: 1px solid #757575;
  display: none;
}
.ds-cpc-control-select__tpl.error {
  background-color: white;
}

.cpc-control-select {
  display: block;
}

/* smartphones, touchscreens */
@media (hover: none) and (pointer: coarse) {
  .cpc-control-select {
    display: none;
  }
  .ds-cpc-control-select__tpl {
    display: block;
  }
}
.cpc-control-select.disabled .cpc-control-select__toggle {
  border: solid 1px #757575;
  background-color: #f2f2f2;
  color: #434343;
}

.cpc-control-select.disabled .cpc-control-select__toggle:hover,
.cpc-control-select.disabled .cpc-control-select__toggle:focus {
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border: solid 1px #757575;
}

.cpc-control-select.disabled .cpc-control-select__toggle .cpc-control-select__toggle-indicator {
  border-top-color: #949595;
}

.cpc-control-select button.cpc-control-select__toggle {
  font-size: 16px;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: unset;
  color: #434343;
  position: relative;
  height: 100%;
  max-height: 44px;
  width: 100%;
  border-radius: 4px;
  border: solid 1px #757575;
  background-color: #fff;
  padding: 10px 16px !important;
  max-width: 468px;
  text-align: left;
  margin-bottom: 0px;
}
@media only screen and (max-width: 40em) {
  .cpc-control-select button.cpc-control-select__toggle {
    max-width: unset;
  }
}

.cpc-control-select button.cpc-control-select__toggle:focus {
  outline: none;
  border: 2px solid #2c73ca;
  box-shadow: none;
}

.cpc-control-select button.cpc-control-select__toggle.error,
.ds-cpc-control-select__tpl.error {
  border: 1px solid #e4002b;
  color: #757575;
}

.cpc-control-select button.cpc-control-select__toggle.error:focus,
.ds-cpc-control-select__tpl.error:focus {
  outline: none;
  border: 2px solid #e4002b;
}

.cpc-control-select button.cpc-control-select__toggle > span:first-child {
  white-space: nowrap;
  width: 100%;
  display: inline-block;
  overflow: hidden;
  text-align: left;
}

.cpc-control-select button.cpc-control-select__toggle .cpc-control-select__toggle-indicator {
  position: absolute;
  right: 0;
  top: 0;
  background: url("../img/icons/dropdown-chevron.svg") center 50% no-repeat;
  width: 44px;
  height: 44px;
  transition: transform 0.4s;
  border: none;
}

.cpc-control-select .cpc-control-select__combo::-webkit-scrollbar {
  width: 20px;
}

.cpc-control-select .cpc-control-select__combo {
  --scrollbarBG: #fff;
  --thumbBG: $cpc-grey-60;
  scrollbar-width: thin;
  scrollbar-color: var(--thumbBG) var(--scrollbarBG);
}

.cpc-control-select .cpc-control-select__combo::-webkit-scrollbar-track {
  border: 5px solid white;
  background-color: white;
}

.cpc-control-select .cpc-control-select__combo::-webkit-scrollbar-thumb {
  background-color: #949595;
  border: 5px solid white;
  border-radius: 100px;
}

.cpc-control-select .cpc-control-select__combo {
  display: none;
  z-index: 999999;
  position: absolute;
  left: 0;
  right: 0;
  background-color: white;
  overflow: auto;
  height: auto;
  text-align: left;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 8px 0 rgba(17, 17, 17, 0.13);
  -moz-box-shadow: 0 3px 8px 0 rgba(17, 17, 17, 0.13);
  box-shadow: 0 3px 8px 0 rgba(17, 17, 17, 0.13);
}
.cpc-control-select .cpc-control-select__combo.openBelow, .cpc-control-select .cpc-control-select__combo.openUp {
  border: 1px solid #757575;
}

@media only screen and (max-width: 40em) {
  .cpc-control-select .cpc-control-select__combo {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }
}
.cpc-control-select.cpc-control-select--open .cpc-control-select__toggle:focus {
  outline: none;
  border: 1px solid #757575;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__toggle.error:focus,
.ds-cpc-control-select__tpl.cpc-control-select--open .ds-cpc-control-select__tpl__toggle.error:focus {
  outline: none;
  border: 2px solid #e4002b;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__combo {
  display: inherit;
  max-width: 468px;
  width: 100%;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__combo.openBelow {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-top: 0px;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__combo.openUp {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom: 0px;
}

.cpc-control-select.cpc-control-select--open button.cpc-control-select__toggle.openBelow {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  margin-bottom: 0px;
}

.cpc-control-select.cpc-control-select--open button.cpc-control-select__toggle.openUp {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

.cpc-control-select.cpc-control-select--open button.cpc-control-select__toggle.error.openBelow {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom: 1px solid #757575;
}

.cpc-control-select.cpc-control-select--open button.cpc-control-select__toggle.error.openUp {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-top: 1px solid #757575;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__toggle-indicator {
  transform: rotate(180deg);
}

.cpc-control-select ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.cpc-control-select ul li {
  padding: 8px 10px 8px 16px;
  margin-bottom: 0;
  color: #434343;
  font-weight: 400;
}

.cpc-control-select ul li span {
  overflow: hidden;
  width: 100%;
  display: inline-block;
}

.cpc-control-select ul li.selected,
.cpc-control-select ul li:focus,
.cpc-control-select ul li:hover,
.cpc-control-select ul li.selected span,
.cpc-control-select ul li:focus span,
.cpc-control-select ul li:hover span {
  background-color: #dae9fd;
  color: #2a2a2a;
  outline: none;
  font-weight: 400;
}

select.cpc-control-select__tpl {
  display: none;
}

.input-heading {
  padding-top: 0.5rem;
}

/* CPC DS Modal */
/* 
Do not delete the following comment. It is essential for tracking purposes.
#Merc2021DoNotDelete 
*/
.hidden {
  display: none;
}

.no-scroll {
  overflow-y: auto !important;
}

/* this is added to the body when a dialog is open */
.has-dialog {
  overflow: hidden;
}

/* native <dialog> element uses the ::backdrop pseudo-element */
/* dialog::backdrop, */
.dialog-backdrop {
  display: none;
  position: fixed;
  overflow-y: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 640px) {
  .dialog-backdrop {
    background: rgba(17, 17, 17, 0.75);
    z-index: 2;
  }
}
.dialog-backdrop.active {
  display: block;
}

/* Dialog */
.default_dialog {
  position: relative;
  width: auto;
  pointer-events: none;
  transform: translate(0, 0);
}

.modal-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  padding: 40px;
  background-color: #fff;
  box-shadow: 0 3px 8px 0 rgba(17, 17, 17, 0.13);
}
@media only screen and (max-width: 640px) {
  .modal-content {
    padding: 16px;
  }
  .modal-content .closebtn {
    min-width: 16px !important;
    max-width: 16px !important;
  }
}

.modal-dialog-centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - 128px);
}
@media only screen and (max-width: 640px) {
  .modal-dialog-centered {
    align-items: unset;
    min-height: 100%;
  }
}
.modal-dialog-centered.large {
  width: 80%;
  max-width: 768px;
  margin: 64px auto;
}
.modal-dialog-centered.medium {
  width: 80%;
  max-width: 568px;
  margin: 64px auto;
}
.modal-dialog-centered.small {
  width: 80%;
  max-width: 368px;
  margin: 64px auto;
}
@media only screen and (max-width: 640px) {
  .modal-dialog-centered.small, .modal-dialog-centered.medium, .modal-dialog-centered.large {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}

.dialog_label {
  font-family: Roboto;
  font-size: 24px;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 32px;
  letter-spacing: 0.2px;
  color: #111111;
  text-align: left;
  outline: none;
  padding: 0;
  margin: 0;
  margin-right: 24px;
}
@media only screen and (max-width: 640px) {
  .dialog_label {
    margin-right: 48px;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0.4px;
  }
}

.dialog_form_actions {
  text-align: left;
}

.dialog_desc {
  padding: 24px 0px;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333333;
}
.dialog_desc p:first-of-type {
  margin-top: 0;
}
.dialog_desc p:last-of-type {
  margin-bottom: 0;
}

/**
CPC DS notification
**/
.cpc-ds-notification {
  width: 50%;
  display: block;
  border-width: 1px 1px 1px 0.25rem;
  border-style: solid;
  position: relative;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-notification {
    width: 75%;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-notification {
    width: 100%;
    padding: 2.9375rem 0.9375rem 0.9375rem 1rem;
  }
}
.cpc-ds-notification:last-of-type {
  margin-bottom: 0;
}
.cpc-ds-notification:not(:last-of-type) {
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-ds-notification.dismissible {
    padding: 0.9375rem 3.4375rem 0.9375rem 3.5rem;
  }
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-ds-notification:not(.dismissible) {
    padding: 0.9375rem 0.9375rem 0.9375rem 3.5rem;
  }
}
.cpc-ds-notification > div > *:last-child, .cpc-ds-notification > *:last-child {
  margin-bottom: 0;
}
.cpc-ds-notification > div > *:not(:last-child), .cpc-ds-notification > *:not(:last-child):not(.cpc-ds-notification__close-button):not(.cpc-ds-notification__icon) {
  margin-bottom: 1rem;
}
.cpc-ds-notification.info {
  border-color: #2c73ca;
}
.cpc-ds-notification.info.standard {
  background-color: #f2f9ff;
}
.cpc-ds-notification.info .cpc-ds-notification__icon {
  background-image: url("/cpc/assets/cpc/img/icons/notification-info-icon.svg");
}
.cpc-ds-notification.success {
  border-color: #00a907;
}
.cpc-ds-notification.success.standard {
  background-color: #f0ffee;
}
.cpc-ds-notification.success .cpc-ds-notification__icon {
  background-image: url("/cpc/assets/cpc/img/icons/notification-success-icon.svg");
}
.cpc-ds-notification.warning {
  border-color: #e36d00;
}
.cpc-ds-notification.warning.standard {
  background-color: #fff5eb;
}
.cpc-ds-notification.warning .cpc-ds-notification__icon {
  background-image: url("/cpc/assets/cpc/img/icons/notification-warning-icon.svg");
}
.cpc-ds-notification.error {
  border-color: #e4002b;
}
.cpc-ds-notification.error.standard {
  background-color: #fff2f2;
}
.cpc-ds-notification.error .cpc-ds-notification__icon {
  background-image: url("/cpc/assets/cpc/img/icons/notification-error-icon.svg");
}
.cpc-ds-notification.alternate {
  background-color: #ffffff;
}
.cpc-ds-notification.alternate.personal {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.12);
}
.cpc-ds-notification.alternate:not(.personal) {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 48, 135, 0.12);
}
.cpc-ds-notification__icon {
  position: absolute;
  top: 0.9375rem;
  left: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background-size: 100% 100%;
  margin-bottom: 0;
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-notification__icon {
    left: 1rem;
  }
}
.cpc-ds-notification__close-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0;
  cursor: pointer;
}
.cpc-ds-notification__close-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  background-size: 1rem 1rem;
  background-image: url("/cpc/assets/cpc/img/icons/notification-close-icon.svg");
  background-repeat: no-repeat;
  cursor: pointer;
}
.cpc-ds-notification__close-button:focus {
  outline: none;
  border: none;
}
.cpc-ds-notification__close-button:focus::after {
  box-shadow: 0 0 0 0.125rem #2c73ca;
  outline: none;
  border: none;
}
.cpc-ds-notification a {
  text-decoration: underline;
}
.cpc-ds-notification ul {
  list-style-type: none;
  padding: 0;
}
.cpc-ds-notification ul:last-child {
  margin: 0;
}
.cpc-ds-notification ul li {
  color: #434343;
}
.cpc-ds-notification ul li:last-child {
  padding: 0 0 0 0;
}
.cpc-ds-notification ul li:not(:last-child) {
  padding: 0 0 1rem 0;
}

/** 
CPC DS Pagination 
**/
.show-for-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.pagination-block {
  display: inline-block;
  position: relative;
  height: 44px;
  text-align: right;
  /* @media only screen and (max-width: 730px) {
    position: relative;
  } */
}
@media only screen and (max-width: 40em) {
  .pagination-block {
    width: 100%;
    text-align: center;
  }
}

#pagination {
  display: inline-block;
  height: 44px;
  /* vertical-align: middle;
  height: auto; */
}
#pagination i {
  width: 44px;
  height: 44px;
  margin-left: 8px;
  text-align: center;
  pointer-events: none;
  background: url(../assets/imgs/icons/ellipsis.svg) 50% center no-repeat;
  display: inline-block;
  vertical-align: middle;
}
#pagination a {
  display: inline-block;
  vertical-align: middle;
}
#pagination .prev-button {
  margin-right: 8px;
  margin-bottom: 0;
}
#pagination button {
  width: 44px;
  height: 44px;
  min-width: 44px !important;
  max-height: 44px;
  padding: 10px 0 !important;
  border: none !important;
  border-radius: 2px;
  text-align: center;
  /* margin-right: 8px; */
  background-color: transparent !important;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300 !important;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  text-align: center;
  color: #333;
  /* Disabled */
}
#pagination button:hover {
  box-shadow: inset 0 0 0 2px #004990;
  border: none;
  cursor: pointer;
}
#pagination button:focus {
  box-shadow: inset 0 0 0 2px #004990, 0 0 0 2px #fff, 0 0 0 4px #0467c6;
  outline: none;
}
#pagination button.by-keyboard:focus {
  box-shadow: inset 0 0 0 2px #004990 !important;
  border: none;
}
#pagination button.current {
  background-color: #0467c6 !important;
  color: #fff;
  pointer-events: none;
  border: none;
  outline: none;
  box-shadow: none;
  font-weight: 400 !important;
}
#pagination button.current.by-keyboard:focus {
  box-shadow: inset 0 0 0 0px #004990 !important;
  border: none;
}
#pagination button:disabled {
  background-color: #eee;
  pointer-events: none;
}
#pagination button:disabled:hover {
  outline: none;
  box-shadow: none;
}
#pagination button + button {
  margin-left: 8px;
}
#pagination button:last-of-type {
  margin-left: 8px;
}

.pageinationText {
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333;
  margin-bottom: 32px;
  text-align: left;
}
@media only screen and (max-width: 40em) {
  .pageinationText {
    text-align: center;
  }
}

/* Mobile */
.mobileText {
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333;
  margin-right: 8px;
  display: none;
}
@media only screen and (max-width: 40em) {
  .mobileText {
    display: inline-block;
  }
}

.paginationTextField {
  width: 61px;
  height: 44px;
  margin: 0 12px 0 0;
  padding: 10px 16px;
  border-radius: 2px;
  border: solid 1px #666;
  background-color: #fff;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333;
  display: none;
}
@media only screen and (max-width: 40em) {
  .paginationTextField {
    display: inline-block;
  }
}

/* Hide the number field arrow controls */
/* Chrome, Safari, Edge, Opera */
input.paginationTextField::-webkit-outer-spin-button,
input.paginationTextField::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input.paginationTextField[type=number] {
  -moz-appearance: textfield;
}

.resultsPerPage {
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 24px;
  letter-spacing: 0.5px;
  color: #333;
  margin-right: 0px;
  margin-left: 32px;
  margin-top: 24px;
  display: inline-block;
  /* @media only screen and (max-width: 730px) {
    display: block;
    text-align: right;
    margin-top: 24px;
    margin-left: 0;
    &.marginRight{
      position: absolute;
      top: 44px;
      margin-right: 0;
      right: 0;
    }
  } */
}
@media only screen and (max-width: 40em) {
  .resultsPerPage {
    display: block;
    text-align: center;
    margin-top: 24px;
    margin-left: 0;
    left: 0;
  }
}
.resultsPerPage label {
  display: inline-block;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 24px;
  letter-spacing: 0.5px;
  color: #333;
  margin-right: 0px;
}
.resultsPerPage .cpc-control-select {
  position: relative;
  margin-bottom: 0;
  width: 100%;
  max-width: 368px;
  display: inline;
  margin-left: 12px;
  line-height: 24px;
  padding: 11px 0px;
}
.resultsPerPage .cpc-control-select__combo {
  width: 79px;
  min-width: 79px;
  margin: 0 auto;
}
.resultsPerPage label + .cpc-control-select {
  margin-top: 0 !important;
}

.desktop {
  display: inline-block;
  height: 44px;
}
@media only screen and (max-width: 40em) {
  .desktop {
    display: none;
  }
}

/* Input focus */
input[type=number]:focus {
  outline: 0;
  border: solid 1px #0467c6;
  border-radius: 2px;
  -webkit-box-shadow: inset 1px 1px 0px 0px #0467c6, inset -1px -1px 0px 0px #0467c6;
  -moz-box-shadow: inset 1px 1px 0px 0px #0467c6, inset -1px -1px 0px 0px #0467c6;
  box-shadow: inset 1px 1px 0px 0px #0467c6, inset -1px -1px 0px 0px #0467c6;
}

.marginRight {
  margin-right: 28px;
}

/**
/* CPC DS toggle
/**

/* 
Do not delete the following comment. It is essential for tracking purposes.
#Merc2021DoNotDelete 
*/
/* containing label */
.toggleText {
  margin-left: 0px !important;
  min-height: 32px;
  height: auto;
  line-height: 24px;
  padding-top: 4px;
}

button.switch-toggle {
  background: none;
  border: none;
  height: auto;
  padding: 0 !important;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333333;
  cursor: pointer;
  text-align: left;
  white-space: unset;
  /* negate 'flash' of text color when pressing a button in some browsers */
}
button.switch-toggle:hover {
  box-shadow: none;
}
button.switch-toggle:focus {
  outline: none;
}
button.switch-toggle:active {
  color: inherit;
}
button.switch-toggle span {
  pointer-events: none;
  margin-left: 80px;
}

/* using the before/after pseudo elements of the span to create the "switch" */
.switch-toggle__ui:before,
.switch-toggle__ui:after {
  content: "";
  position: absolute;
  /* top: 50%;
  transform: translateY(-50%); */
  top: 0%;
  transform: translateY(0%);
}

/* styling specific to the knob of the switch */
.switch-toggle__ui:after {
  background: #fff;
  border-radius: 100%;
  right: 4px;
  top: 4px;
  transition: right 0.1825s ease-in-out;
  width: 24px;
  height: 24px;
  /* top: 50%;
  transform: translateY(-50%); */
}

/* styling specific to the knob "container" */
.switch-toggle__ui:before {
  background: #888888;
  border-radius: 1.75em;
  right: 0px;
  transition: background 0.2s ease-in-out;
  width: 56px;
  height: 32px;
}

.switch-toggle:hover .switch-toggle__ui:before {
  background: #666666;
}

/* Focus State */
.switch-toggle--labels[aria-pressed=false]:focus .switch-toggle__ui:after,
.switch-toggle.by-keyboard:focus .switch-toggle__ui:before {
  box-shadow: 0 0 0 0px #fff, 0 0 0 0px #0467c6 !important;
}

.switch-toggle[aria-pressed=true]:focus .switch-toggle__ui:before {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0467c6;
  background: #004990;
}

.switch-toggle:focus .switch-toggle__ui:before {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0467c6;
  background: #666666;
}

/* END Focus State */
/* change the position of the knob to indicate it has been checked*/
.switch-toggle[aria-pressed=true] .switch-toggle__ui:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"> <g fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g stroke="%230467C6" stroke-width="2"> <g> <g> <g> <path d="M7.5 13.283L10.711 16 16.5 8" transform="translate(-928.000000, -1153.000000) translate(777.000000, 1142.000000) translate(117.000000, 0.000000) translate(28.000000, 4.000000)"/> </g> </g> </g> </g> </g> </svg>');
  background-repeat: no-repeat;
  background-position: center;
}

.switch-toggle[aria-pressed=true]:focus .switch-toggle__ui:after,
.switch-toggle[aria-pressed=true]:hover .switch-toggle__ui:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"> <g fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g stroke="%23004990" stroke-width="2"> <g> <g> <g> <path d="M7.5 13.283L10.711 16 16.5 8" transform="translate(-928.000000, -1153.000000) translate(777.000000, 1142.000000) translate(117.000000, 0.000000) translate(28.000000, 4.000000)"/> </g> </g> </g> </g> </g> </svg>');
}

.switch-toggle[aria-pressed=true].by-keyboard .switch-toggle__ui:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"> <g fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g stroke="%230467C6" stroke-width="2"> <g> <g> <g> <path d="M7.5 13.283L10.711 16 16.5 8" transform="translate(-928.000000, -1153.000000) translate(777.000000, 1142.000000) translate(117.000000, 0.000000) translate(28.000000, 4.000000)"/> </g> </g> </g> </g> </g> </svg>');
  background-repeat: no-repeat;
  background-position: center;
}

.switch-toggle[aria-pressed=true].by-keyboard:hover .switch-toggle__ui:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"> <g fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g stroke="%23004990" stroke-width="2"> <g> <g> <g> <path d="M7.5 13.283L10.711 16 16.5 8" transform="translate(-928.000000, -1153.000000) translate(777.000000, 1142.000000) translate(117.000000, 0.000000) translate(28.000000, 4.000000)"/> </g> </g> </g> </g> </g> </svg>');
}

/* update the color of the "container" to further visually indicate state */
.switch-toggle[aria-pressed=true].by-keyboard .switch-toggle__ui:before {
  background: #0467c6;
}

.switch-toggle[aria-pressed=true].by-keyboard:hover .switch-toggle__ui:before {
  background: #004990;
}

.switch-toggle[aria-pressed=false].by-keyboard .switch-toggle__ui:before {
  background: #888888;
}

.switch-toggle[aria-pressed=false].by-keyboard:hover .switch-toggle__ui:before {
  background: #666666;
}

/**
 * Toggle switch modifications for displaying On/Off labels
 */
.switch-toggle--labels span:before {
  content: "";
}

.switch-toggle--labels[aria-pressed=false] span:after {
  right: 28px;
}

.switch-toggle--labels[aria-pressed=true] span:before {
  content: "";
}

@media screen and (-ms-high-contrast: active) {
  .switch-toggle__ui:after {
    background-color: windowText;
  }
}
/**
 * CPC customized checkbox and radio button inputs
 */
fieldset {
  margin-bottom: 1rem;
  max-width: 271px;
  width: 100%;
}
fieldset div {
  display: block;
  position: relative;
  padding-left: 0;
  line-height: 1.5rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  text-align: left;
  cursor: pointer;
  user-select: none;
  margin-bottom: 1rem;
}

[type=checkbox]:checked:focus + label:before,
[type=checkbox]:not(:checked):focus + label:before,
[type=radio]:not(:checked):focus + label:before {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #0467c6;
}

/* Hide the browser's default checkbox */
[type=checkbox],
[type=radio] {
  position: absolute;
  opacity: 0;
  left: 0;
  z-index: 1;
  padding: 0;
  margin: 0;
}
[type=checkbox][data-activated-via=keyboard]:focus + label::before,
[type=radio][data-activated-via=keyboard]:focus + label::before {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}

[type=checkbox]:checked + label,
[type=checkbox]:not(:checked) + label,
[type=radio]:checked + label,
[type=radio]:not(:checked) + label {
  padding-left: 1.75rem;
  display: flex;
  cursor: pointer;
  color: #434343;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0;
  margin: 0 !important;
}

[type=checkbox] + label::before,
[type=radio] + label::before {
  height: 1rem;
  width: 1rem;
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0;
  border: solid #757575 1px;
  border-radius: 6.25rem;
  background-color: #ffffff;
}

[type=checkbox]:checked + label,
[type=radio]:checked + label {
  display: flex;
  margin-bottom: 0;
}

[type=checkbox] + label::before {
  border-radius: 1px;
}

[type=radio] + label::before {
  border-radius: 50%;
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #ffffff;
  transition: box-shadow ease 0.5s;
}

[type=radio][disabled]:checked label::before {
  background: #d9d9d9;
  border: 1px solid #757575;
}

[type=radio]:checked + label::before {
  background: #003087;
  border: 1px solid #003087;
}

[type=checkbox]:checked + label::before {
  background: #2c73ca;
  border: 1px solid #2c73ca;
}

[type=checkbox]:checked + label::after {
  position: absolute;
  content: none;
  top: 0.375rem;
  left: 0.3125rem;
  width: 0.375rem;
  height: 0.5625rem;
  transform: rotate(44deg);
  border: solid #ffffff;
  border-width: 0 0.125rem 0.125rem 0;
}

[type=radio]:checked + label::after {
  content: none;
  position: absolute;
  top: 0.625rem;
  left: 0.375rem;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 40%;
  background: #ffffff;
}

[type=checkbox]:checked + label::after,
[type=radio]:checked + label::after {
  content: "";
}

[type=radio]:checked + label::after {
  transform: none !important;
  transition: none;
}

/* Checked state */
[type=checkbox]:checked + label::before {
  background: #2c73ca;
  border: none;
}
[type=checkbox]:checked + label::after {
  content: "";
}

/* Disabled state */
[type=checkbox]:disabled + label,
[type=radio]:disabled + label {
  color: #757575;
  cursor: default;
}
[type=checkbox]:disabled + label::before,
[type=radio]:disabled + label::before {
  pointer-events: none;
  border: 1px solid #d9d9d9;
  background: #ffffff;
}
[type=checkbox]:disabled:checked + label::before,
[type=radio]:disabled:checked + label::before {
  border: none;
  background: #d9d9d9;
  color: #757575;
}
[type=checkbox]:disabled:checked + label::after,
[type=radio]:disabled:checked + label::after {
  background-color: #757575;
  border-width: 0 0.125rem 0.125rem 0;
}

/**
  * CPC customized text, password, date, time and textarea input
  */
[type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week] {
  width: 100%;
  max-width: 23rem;
  height: 2.75rem;
  outline: none;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  border-radius: 0.25rem;
  border: 1px solid #757575;
  background-color: #ffffff;
  color: #434343;
  padding: 0.625rem 1rem;
  margin-bottom: 1.5rem; /* Change as per need */
  box-sizing: border-box;
  box-shadow: none;
}
@media only screen and (max-width: 40em) {
  [type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week] {
    max-width: 100%;
  }
}
[type=color]::placeholder,
[type=date]::placeholder,
[type=datetime-local]::placeholder,
[type=datetime]::placeholder,
[type=email]::placeholder,
[type=month]::placeholder,
[type=number]::placeholder,
[type=password]::placeholder,
[type=search]::placeholder,
[type=tel]::placeholder,
[type=text]::placeholder,
[type=time]::placeholder,
[type=url]::placeholder,
[type=week]::placeholder {
  color: #434343;
  opacity: 1; /* Firefox */
}
[type=color]:read-only,
[type=date]:read-only,
[type=datetime-local]:read-only,
[type=datetime]:read-only,
[type=email]:read-only,
[type=month]:read-only,
[type=number]:read-only,
[type=password]:read-only,
[type=search]:read-only,
[type=tel]:read-only,
[type=text]:read-only,
[type=time]:read-only,
[type=url]:read-only,
[type=week]:read-only {
  border: 1px solid #757575;
  background-color: #f2f2f2;
}
[type=color]:hover,
[type=date]:hover,
[type=datetime-local]:hover,
[type=datetime]:hover,
[type=email]:hover,
[type=month]:hover,
[type=number]:hover,
[type=password]:hover,
[type=search]:hover,
[type=tel]:hover,
[type=text]:hover,
[type=time]:hover,
[type=url]:hover,
[type=week]:hover {
  border: 0.125rem solid #001266;
  background-color: #f2f9ff;
  box-shadow: none !important;
}
[type=color]:focus, [type=color][data-activated-via=keyboard],
[type=date]:focus,
[type=date][data-activated-via=keyboard],
[type=datetime-local]:focus,
[type=datetime-local][data-activated-via=keyboard],
[type=datetime]:focus,
[type=datetime][data-activated-via=keyboard],
[type=email]:focus,
[type=email][data-activated-via=keyboard],
[type=month]:focus,
[type=month][data-activated-via=keyboard],
[type=number]:focus,
[type=number][data-activated-via=keyboard],
[type=password]:focus,
[type=password][data-activated-via=keyboard],
[type=search]:focus,
[type=search][data-activated-via=keyboard],
[type=tel]:focus,
[type=tel][data-activated-via=keyboard],
[type=text]:focus,
[type=text][data-activated-via=keyboard],
[type=time]:focus,
[type=time][data-activated-via=keyboard],
[type=url]:focus,
[type=url][data-activated-via=keyboard],
[type=week]:focus,
[type=week][data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca !important;
}
[type=color]:disabled, [type=color].disabled,
[type=date]:disabled,
[type=date].disabled,
[type=datetime-local]:disabled,
[type=datetime-local].disabled,
[type=datetime]:disabled,
[type=datetime].disabled,
[type=email]:disabled,
[type=email].disabled,
[type=month]:disabled,
[type=month].disabled,
[type=number]:disabled,
[type=number].disabled,
[type=password]:disabled,
[type=password].disabled,
[type=search]:disabled,
[type=search].disabled,
[type=tel]:disabled,
[type=tel].disabled,
[type=text]:disabled,
[type=text].disabled,
[type=time]:disabled,
[type=time].disabled,
[type=url]:disabled,
[type=url].disabled,
[type=week]:disabled,
[type=week].disabled {
  border: 1px solid #757575;
  background-color: #f2f2f2;
  pointer-events: none;
}
[type=color].error,
[type=date].error,
[type=datetime-local].error,
[type=datetime].error,
[type=email].error,
[type=month].error,
[type=number].error,
[type=password].error,
[type=search].error,
[type=tel].error,
[type=text].error,
[type=time].error,
[type=url].error,
[type=week].error {
  border: 0.125rem solid #c60025;
}
[type=color].success,
[type=date].success,
[type=datetime-local].success,
[type=datetime].success,
[type=email].success,
[type=month].success,
[type=number].success,
[type=password].success,
[type=search].success,
[type=tel].success,
[type=text].success,
[type=time].success,
[type=url].success,
[type=week].success {
  border: 0.125rem solid #00a907;
}

textarea {
  border-radius: 0.25rem;
  border: 1px solid #949595;
  background: #ffffff;
  color: #434343;
  padding: 0.625rem 1rem;
  height: 12.8125rem;
  outline: none;
  max-width: 23.875rem;
  width: 100%;
  margin-bottom: 0.5rem;
  box-sizing: border-box;
  box-shadow: none;
  transition: none;
  resize: none;
  overflow-y: scroll;
  overflow: auto;
}
@media only screen and (max-width: 40em) {
  textarea {
    max-width: 100%;
  }
}
textarea::placeholder {
  color: #434343;
  opacity: 1; /* Firefox */
}
textarea:read-only {
  border-radius: 0.25rem;
  border: solid 1px #949595;
  background-color: #f2f2f2;
  color: #434343;
}
textarea:focus {
  outline: 0;
  border: solid 0.125rem #2c73ca;
  border-radius: 0.25rem;
  box-shadow: inset 1px 1px 0 0 #2c73ca, inset -1px -1px 0 0 #2c73ca;
  transition: none;
}
textarea:disabled, textarea.disabled {
  background-color: #f0f0f0;
  pointer-events: none;
}

textarea {
  height: 12.8125rem;
  max-width: 23.875rem;
  margin-bottom: 0.5rem;
  resize: none;
  overflow-y: scroll;
  overflow: auto;
}

label + input[type=text],
label + input[type=password],
label + input[type=date],
label + input[type=time],
label + textarea {
  margin-top: 0.25rem;
}

/* Read only text */
input[type=text]:read-only::selection {
  background: transparent;
}

input[type=text]:read-only::selection {
  background: transparent;
}

/* validation error */
input[type=text].error,
input[type=password].error,
input[type=date].error,
input[type=time].error {
  border: solid 2px #c60025;
  margin-bottom: 0.25rem;
}

input[type=text]:focus.error,
input[type=password]:focus.error,
input[type=date]:focus.error input[type=time]:focus.error {
  border: solid 0.125rem #c60025 !important;
  outline: none;
  box-shadow: inset 1px 1px 0 0 #c60025, inset -1px -1px 0 0 #c60025;
  margin-bottom: 0.25rem !important;
}

textarea.error {
  border: solid 1px #e4002b !important;
  background: #ffffff;
}

textarea:focus.error {
  border: solid 0.125rem #e4002b !important;
  outline: none;
  box-shadow: inset 1px 1px 0 0 #e4002b, inset -1px -1px 0 0 #e4002b;
}

.maxCharacter {
  margin-top: 0.5rem;
  margin-bottom: 0 !important;
  color: #757575;
}

.maxCharacter + .input-error {
  margin-top: 0.5rem !important;
}

/*error message*/
.input-error {
  max-width: 22.8125rem;
  width: 100%;
  height: auto;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  color: #c60025;
  text-align: left;
  display: block;
  background-image: url("../img/icons/red-alert.svg");
  background-repeat: no-repeat;
  padding-left: 2rem;
}
@media only screen and (max-width: 40em) {
  .input-error {
    max-width: 100%;
  }
}

.input-heading {
  color: #2a2a2a;
  font-family: "Canadiana", "Roboto", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0;
  margin: 0;
}

/*hint text message*/
.hintText {
  width: 23.875rem;
  height: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-bottom: 0.25rem;
}

.radioIcon {
  width: 2rem;
  height: 2rem;
  top: -0.25rem;
  position: relative;
}

.flexRadio {
  display: flex;
  gap: 0.75rem;
}

.cpc-ds-input__container {
  position: relative;
  width: 100%;
}
.cpc-ds-input__container input[type=color], .cpc-ds-input__container input[type=date], .cpc-ds-input__container input[type=datetime-local], .cpc-ds-input__container input[type=datetime], .cpc-ds-input__container input[type=email], .cpc-ds-input__container input[type=month], .cpc-ds-input__container input[type=number], .cpc-ds-input__container input[type=password], .cpc-ds-input__container input[type=search], .cpc-ds-input__container input[type=tel], .cpc-ds-input__container input[type=text], .cpc-ds-input__container input[type=time], .cpc-ds-input__container input[type=url], .cpc-ds-input__container input[type=week] {
  margin: 0;
  width: 100%;
  max-width: unset;
  min-width: unset;
  padding: 0.625rem 3rem 0.625rem 1rem;
}
.cpc-ds-input__container input[type=submit] {
  margin: 0;
  position: absolute;
  top: 1.375rem;
  transform: translateY(-50%);
  right: 1rem;
  min-width: unset;
  width: 1rem;
  height: 1rem;
  outline: none;
  background-color: transparent;
  background-size: 1rem 1rem;
  border: none;
  border-radius: unset;
  color: transparent;
  font-size: 0;
  padding: 0;
  cursor: pointer;
}
.cpc-ds-input__container input[type=submit]:focus, .cpc-ds-input__container input[type=submit][data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
.cpc-ds-input__container input[type=submit].search {
  background-image: url("/cpc/assets/cpc/uploads/kb/microicon-search.svg");
}

/*  BLOG CARDS  */
.cpc-ds-slider {
  max-width: 1680px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 80px;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-slider {
    padding-bottom: 90px;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-slider {
    padding-bottom: 58px;
  }
}
.cpc-ds-slider.personal {
  background-color: #f2f2f2;
}
.cpc-ds-slider.personal .cpc-ds-slider__slides--slide {
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.12);
}
.cpc-ds-slider.personal .cpc-ds-slider__slides--slide.hover, .cpc-ds-slider.personal .cpc-ds-slider__slides--slide:hover {
  box-shadow: 0px 12px 16px -8px rgba(0, 0, 0, 0.12), 0px 4px 4px -2px rgba(0, 0, 0, 0.06);
  transform: translateY(-4px);
}
.cpc-ds-slider.personal .cpc-ds-slider__button {
  background-color: #d9d9d9;
  background-image: url("/cpc/assets/cpc/img/icons/blog-card-chevron-personal.svg");
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button {
    background-color: transparent;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button::after {
    background-color: #d9d9d9;
    background-image: url("/cpc/assets/cpc/img/icons/blog-card-chevron-personal-tab-mob.svg");
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__button:hover {
  background-color: #c0c0c0;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button:hover {
    background-color: transparent;
  }
  .cpc-ds-slider.personal .cpc-ds-slider__button:hover::after {
    background-color: #d9d9d9;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__button:active {
  background-color: #c0c0c0;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button:active {
    background-color: transparent;
  }
  .cpc-ds-slider.personal .cpc-ds-slider__button:active::after {
    background-color: #c0c0c0;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__button:focus {
  background-color: #c0c0c0;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button:focus {
    background-color: transparent;
  }
  .cpc-ds-slider.personal .cpc-ds-slider__button:focus::after {
    background-color: #c0c0c0;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__button:focus:not(:focus-visible) {
  background-color: #c0c0c0;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button:focus:not(:focus-visible) {
    background-color: transparent;
  }
  .cpc-ds-slider.personal .cpc-ds-slider__button:focus:not(:focus-visible)::after {
    background-color: #c0c0c0;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__scrollbar {
  background-color: #d9d9d9;
}
.cpc-ds-slider.personal .cpc-ds-slider__scrollbar--drag {
  background-color: transparent;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__scrollbar--drag {
    background-color: #434343;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__scrollbar--drag::after {
  background-color: #434343;
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__slides--slide {
  box-shadow: 0px 2px 4px rgba(0, 48, 135, 0.12);
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__slides--slide.hover, .cpc-ds-slider:not(.personal) .cpc-ds-slider__slides--slide:hover {
  box-shadow: 0px 12px 16px -8px rgba(0, 48, 135, 0.12), 0px 4px 4px -2px rgba(0, 48, 135, 0.06);
  transform: translateY(-4px);
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button {
  background-color: #d8dfeb;
  background-image: url("/cpc/assets/cpc/img/icons/blog-card-chevron-business-enterprise.svg");
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button {
    background-color: transparent;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button::after {
    background-color: #d8dfeb;
    background-image: url("/cpc/assets/cpc/img/icons/blog-card-chevron-business-enterprise-tab-mob.svg");
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button:hover {
  background-color: #b7bfcd;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:hover {
    background-color: transparent;
  }
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:hover::after {
    background-color: #d8dfeb;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button:active {
  background-color: #b7bfcd;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:active {
    background-color: transparent;
  }
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:active::after {
    background-color: #b7bfcd;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus {
  background-color: #b7bfcd;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus {
    background-color: transparent;
  }
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus::after {
    background-color: #b7bfcd;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus:not(:focus-visible) {
  background-color: #b7bfcd;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus:not(:focus-visible) {
    background-color: transparent;
  }
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus:not(:focus-visible)::after {
    background-color: #b7bfcd;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__scrollbar {
  background-color: #d8dfeb;
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__scrollbar--drag {
  background-color: transparent;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__scrollbar--drag {
    background-color: #363b45;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__scrollbar--drag::after {
  background-color: #363b45;
}
.cpc-ds-slider.business {
  background-color: #f2f9ff;
}
.cpc-ds-slider.enterprise {
  background-color: #eff6ff;
}
.cpc-ds-slider__main {
  width: 100%;
  max-width: 1184px;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 90em) and (max-width: 89.99875em) {
  .cpc-ds-slider__main {
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    max-width: 1024px;
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .cpc-ds-slider__main {
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    max-width: unset;
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-slider__main {
    padding-left: 32px;
    padding-right: 32px;
    margin: 0;
    max-width: unset;
    overflow: visible;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-slider__main {
    padding-left: 16px;
    padding-right: 16px;
    margin: 0;
    max-width: unset;
    overflow: visible;
  }
}
.cpc-ds-slider__main.with-related-content {
  padding-top: 0;
}
.cpc-ds-slider__main:not(.with-related-content) {
  padding-top: 96px;
}
.cpc-ds-slider__container {
  width: 100%;
  overflow: hidden;
  position: static;
  padding: 0 2px;
}
@media print, screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .cpc-ds-slider__container {
    margin: 0 auto;
    max-width: unset;
    width: 85.333333%;
    min-width: 961px;
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-slider__container {
    position: relative;
    padding: 0 2px 68px;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-slider__container {
    position: relative;
    padding: 0 2px 60px;
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .cpc-ds-slider__heading {
    margin: 0 auto;
    max-width: unset;
    width: 85.333333%;
    min-width: 961px;
  }
}
.cpc-ds-slider__heading h2 {
  margin-bottom: 0;
}
.cpc-ds-slider__slides {
  height: auto;
  align-items: stretch;
  padding: 24px 0 48px;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__slides {
    padding: 16px 0 0;
  }
}
.cpc-ds-slider__slides--slide {
  background-color: #ffffff;
  padding: 0;
  height: auto;
  transition: transform 0.3s;
  position: relative;
  border-radius: 4px;
  overflow: hidden;
}
.cpc-ds-slider__slides--slide > div {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.cpc-ds-slider__slides--slide-image {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  object-fit: cover;
  object-position: center;
  flex: 1;
}
.cpc-ds-slider__slides--slide-content {
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  row-gap: 24px;
  flex: 1;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__slides--slide-content {
    padding: 24px;
  }
}
.cpc-ds-slider__slides--slide-content:hover span {
  text-decoration: underline;
}
.cpc-ds-slider__slides--slide-content p {
  color: #434343;
  margin-bottom: 0;
}
.cpc-ds-slider__slides--slide-content span {
  color: #001b76;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  border-radius: 2px;
  display: inline-block;
  background-color: #ffffff;
}
.cpc-ds-slider__slides--slide-content span::after {
  content: url("/cpc/assets/cpc/img/icons/link-chevron-default.svg");
  position: relative;
  padding-left: 4px;
  display: inline-block;
  top: 3px;
  white-space: nowrap;
}
.cpc-ds-slider__slides--slide-content span:focus {
  outline: none;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #2c73ca;
  border: none;
  background-color: #ffffff;
}
.cpc-ds-slider__slides--slide > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  color: transparent;
  user-select: none;
}
.cpc-ds-slider__slides--slide > a:hover + div span {
  outline: none;
  box-shadow: none;
  border: none;
  text-decoration: underline;
}
.cpc-ds-slider__slides--slide > a:focus {
  outline: none;
  box-shadow: none;
  border: none;
}
.cpc-ds-slider__slides--slide > a:focus + div span {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2c73ca;
  border: none;
  text-decoration: underline;
}
.cpc-ds-slider__slides--slide > a:focus:hover {
  box-shadow: 0px 12px 16px -8px rgba(0, 0, 0, 0.12), 0px 4px 4px -2px rgba(0, 0, 0, 0.06);
  transform: translateY(-4px);
}
.cpc-ds-slider__button {
  background-repeat: no-repeat;
  background-position: 12px 13px;
  background-size: 18px 18px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
  min-width: unset;
  cursor: pointer;
  user-select: none;
  position: absolute;
  top: 50%;
  z-index: 2;
  -webkit-tap-highlight-color: transparent;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button {
    background: none transparent no-repeat center center/0 0;
    top: unset;
    bottom: -22px;
  }
}
.cpc-ds-slider__button.swiper-button-disabled {
  display: none;
}
.cpc-ds-slider__button:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2c73ca;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button:focus {
    outline: none;
    box-shadow: none;
    background-color: transparent;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button:focus::after {
    outline: none;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2c73ca;
  }
}
.cpc-ds-slider__button:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
    background-color: transparent;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button:focus:not(:focus-visible)::after {
    outline: none;
    box-shadow: none;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-position: 9px 10px;
    background-size: 12px 12px;
  }
}
.cpc-ds-slider__button--prev {
  left: -76px;
  transform: translateY(-50%);
}
@media print, screen and (min-width: 75.063em) and (max-width: 89.99875em) {
  .cpc-ds-slider__button--prev {
    left: 30px;
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 75em) {
  .cpc-ds-slider__button--prev {
    left: 10px;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button--prev {
    left: -2px;
  }
}
.cpc-ds-slider__button--next {
  right: -76px;
  transform: translateY(-50%) scaleX(-1);
}
@media print, screen and (min-width: 75.063em) and (max-width: 89.99875em) {
  .cpc-ds-slider__button--next {
    right: 30px;
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 75em) {
  .cpc-ds-slider__button--next {
    right: 10px;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button--next {
    right: -2px;
  }
}
.cpc-ds-slider__scrollbar {
  border-radius: 10px;
  position: absolute;
  bottom: -2px;
  z-index: 50;
  width: 100%;
  height: 2px;
  cursor: pointer;
}
@media print, screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .cpc-ds-slider__scrollbar {
    margin: 0 auto;
    width: 85.333333%;
    min-width: 961px;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__scrollbar {
    bottom: 21px;
    width: calc(100% - 136px);
    margin-left: 68px;
  }
  .cpc-ds-slider__scrollbar.cpc-ds-slider__scrollbar--active {
    height: 4px;
  }
}
.cpc-ds-slider__scrollbar:hover, .cpc-ds-slider__scrollbar:active, .cpc-ds-slider__scrollbar:focus {
  height: 4px;
}
.cpc-ds-slider__scrollbar:hover .cpc-ds-slider__scrollbar--drag::after, .cpc-ds-slider__scrollbar:active .cpc-ds-slider__scrollbar--drag::after, .cpc-ds-slider__scrollbar:focus .cpc-ds-slider__scrollbar--drag::after {
  height: 4px;
  transform: translateY(-50%);
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-slider__scrollbar::after {
    content: "";
    position: absolute;
    top: -16px;
    left: 0;
    right: 0;
    width: 100%;
    height: 32px;
  }
}
.cpc-ds-slider__scrollbar--drag {
  margin: 0;
  padding: 0;
  height: 24px;
  position: absolute;
  left: 0;
  top: -10px;
  cursor: pointer;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__scrollbar--drag {
    margin: 0;
    padding: 0;
    height: 100%;
    position: relative;
    border-radius: 10px;
    left: 0;
    top: 0;
  }
  .cpc-ds-slider__scrollbar--drag:hover::after, .cpc-ds-slider__scrollbar--drag:active::after {
    height: 4px;
    transform: translateY(-50%);
  }
}
.cpc-ds-slider__scrollbar--drag::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-100%);
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 10px;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__scrollbar--drag::after {
    transform: translateY(-50%);
  }
}
.cpc-ds-slider__scrollbar--drag:focus {
  outline: none;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #2c73ca;
}
.cpc-ds-slider__notification {
  display: none;
  visibility: hidden;
}

.cpc-ds-process-list-container {
  width: 100%;
  max-width: 578px;
}

ol.cpc-ds-process-list {
  list-style: none;
  counter-reset: item;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin-left: 0;
  margin-top: 1.5rem;
}
ol.cpc-ds-process-list .br8px {
  display: block;
  margin-bottom: 0.5rem;
}
ol.cpc-ds-process-list ul {
  margin-left: 1.5rem !important;
}
ol.cpc-ds-process-list ul li {
  counter-increment: none;
  margin-left: 0;
  margin-bottom: 0;
  position: relative;
  padding-top: 0.5rem;
}
ol.cpc-ds-process-list ul li::before {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: #2a2a2a;
  position: absolute;
  left: -1.5rem;
  top: 1.25rem !important;
}
ol.cpc-ds-process-list li {
  display: flex !important;
  counter-increment: item;
  margin-bottom: 1.5rem;
  color: #434343;
  padding: 0;
}
ol.cpc-ds-process-list li:before {
  margin-right: 1rem;
  content: counter(item);
  background: #2c73ca;
  color: #ffffff;
  text-align: center;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  border-radius: 0.875rem;
  font-weight: 700;
}

.cpc-ds-complex-process-list-container {
  width: 100%;
  margin-top: -1rem;
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-ds-complex-process-list-container {
    margin-bottom: 2rem;
  }
}
.cpc-ds-complex-process-list-container ol.cpc-ds-process-list li {
  display: grid !important;
  grid-template-columns: 25px calc(100% - 40px);
  column-gap: 15px;
}
.cpc-ds-complex-process-list-container ol.cpc-ds-process-list li:before {
  display: inline-block;
}
.cpc-ds-complex-process-list-container ol.cpc-ds-process-list p {
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 64em) {
  .cpc-ds-complex-process-list-container .image-wrap {
    background-color: #f2f2f2;
    text-align: center;
    padding: 32px 0;
    margin-top: 24px;
    grid-column: span 2;
    border-radius: 4px;
  }
}
@media only screen and (min-width: 1024.5px) {
  .cpc-ds-complex-process-list-container .hide-for-large-screen {
    display: none !important;
  }
  .cpc-ds-complex-process-list-container li:last-child {
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 1024.5px) {
  .show-for-large-screen {
    display: none;
  }
}
@media only screen and (min-width: 1024.5px) {
  img.illustration-border {
    border-radius: 4px;
  }
}
.mb-24 {
  margin-bottom: 1.5rem !important;
}

.cpc-ds-details-wrap .cpc-ds-details::after {
  width: 1rem;
  height: 1rem;
  content: url(/cpc/assets/cpc/img/icons/accordion-chevron.svg);
  display: inline-block;
  position: absolute;
  transition: 0.4s;
  background-repeat: no-repeat;
  top: 1px;
  right: -2px;
}
.cpc-ds-details-wrap .cpc-ds-details:hover {
  text-decoration: underline;
}
@media (hover: none) and (pointer: coarse) {
  .cpc-ds-details-wrap .cpc-ds-details:not(:active) {
    text-decoration: none;
  }
}
.cpc-ds-details-wrap .cpc-ds-details[data-activated-via=keyboard]:focus {
  text-decoration: underline;
}
.cpc-ds-details-wrap .cpc-ds-accordion__button {
  display: unset;
  padding: 0 1.25rem 0 0;
  width: auto;
}
.cpc-ds-details-wrap.cpc-ds-accordions-expander--active .cpc-ds-details::after {
  transform: rotate(180deg);
  margin-top: 2px;
}
.cpc-ds-details-wrap .cpc-ds-accordion__content {
  padding: 0;
}
.cpc-ds-details-wrap .cpc-ds-accordion__content--inner {
  padding: 0;
}

.cpc-ds-list {
  list-style: none;
}
.cpc-ds-list li {
  font-weight: 400;
  color: #434343;
  position: relative;
  padding-top: 0;
  margin-top: 0.5rem;
}
.cpc-ds-list li strong,
.cpc-ds-list li h3,
.cpc-ds-list li h4,
.cpc-ds-list li h5,
.cpc-ds-list li h6 {
  display: inline-block;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #2a2a2a;
  margin-bottom: 0.25rem;
}
.cpc-ds-list li p,
.cpc-ds-list li span:not(.cpc-ds-link__external):not(.cpc-ds-link__pdf):not(.standalone__external):not(.standalone__internal) {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #434343;
  display: block;
  margin: 0;
}
.cpc-ds-list:not(.legal) {
  font-size: 1rem;
  line-height: 1.5rem;
}
.cpc-ds-list:not(.legal) li:not(.legal) {
  font-size: 1rem;
  line-height: 1.5rem;
}
.cpc-ds-list.legal {
  font-size: 0.75rem;
  line-height: 1rem;
}
.cpc-ds-list.legal li {
  font-size: 0.75rem;
  line-height: 1rem;
}
.cpc-ds-list li.legal {
  font-size: 0.75rem;
  line-height: 1rem;
}
.cpc-ds-list.width-75 {
  width: 100%;
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-ds-list.width-75 {
    width: 75%;
  }
}

ul.cpc-ds-list {
  margin-left: 1rem !important;
}
ul.cpc-ds-list li::before {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  position: absolute;
  left: -1rem;
  background: url("/cpc/assets/cpc/uploads/icons/Bullet.svg");
  background-repeat: no-repeat;
}
ul.cpc-ds-list:not(.legal) li:not(.legal)::before {
  top: 0.625rem;
}
ul.cpc-ds-list.legal li::before,
ul.cpc-ds-list li.legal::before {
  top: 0.375rem;
}

ol.cpc-ds-list {
  counter-reset: ordered-list-counter;
  margin-left: 0;
}
ol.cpc-ds-list li {
  counter-increment: ordered-list-counter;
  padding-left: 1.5rem;
}
ol.cpc-ds-list li::before {
  content: counter(ordered-list-counter) ". ";
  width: 1rem;
  height: 1.5rem;
  display: inline-block;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #434343;
  margin-right: 0.5rem;
  position: absolute;
  left: 0;
}

.cpc-ds-tooltip {
  position: absolute;
  width: 100%;
  background-color: #ffffff;
  padding: 0.75rem;
  border-radius: 0.25rem;
  border: 0.125rem solid #757575;
  box-sizing: content-box;
  transition: all 0.2s;
}
@media print, screen and (min-width: 64.0625em) {
  .cpc-ds-tooltip {
    top: 50%;
    left: calc(100% + 1rem);
    transform: translateY(-50%);
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-tooltip {
    bottom: -3.89rem;
    right: 0;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-tooltip {
    bottom: -3.89rem;
    left: 0;
  }
}
.cpc-ds-tooltip.showing {
  visibility: visible;
  opacity: 1;
}
.cpc-ds-tooltip:not(.showing) {
  visibility: hidden;
  opacity: 0;
}
.cpc-ds-tooltip__arrow {
  position: absolute;
}
@media print, screen and (min-width: 64.0625em) {
  .cpc-ds-tooltip__arrow {
    left: -0.625rem;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-tooltip__arrow {
    right: 0.75rem;
    top: -0.75rem;
    transform: rotate(90deg);
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-tooltip__arrow {
    left: 50%;
    top: -0.75rem;
    transform: translateX(-50%) rotate(90deg);
  }
}
.cpc-ds-tooltip__container {
  position: relative;
}
.cpc-ds-tooltip__button {
  position: inherit;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2NwYy1kcy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBRUE7RUFDRTtFQUNBO0VBRUE7RUFDQTtBQUZGO0FBS0E7RUFDRTtBQUhGOztBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUZGOztBQUlBO0VBQ0U7QUFERjs7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQUY7O0FBRUE7O0VBRUU7QUFDRjs7QUFDQTtFQUNFO0FBRUY7O0FBQUE7RUFDRTtFQUNBO0FBR0Y7O0FBREE7RUFDRTtFQUNBO0FBSUY7O0FBRkE7RUFDRTtBQUtGO0FBSkU7RUFDRTtBQU1KOztBQUhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU1GOztBQUpBO0VBQ0U7QUFPRjs7QUFMQTtBQUVFOztFQUVFO0FBT0o7QUFKRTtFQUNFO0VBQ0E7QUFNSjs7QUFGQTtBQUNBO0VBQ0U7QUFLRjtBQUpFOzs7Ozs7O0VBT0U7QUFNSjtBQUpFOzs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFNSjtBQUpFO0VBQ0U7QUFNSjtBQUpFO0VBQ0U7QUFNSjtBQUpFO0VBQ0U7QUFNSjtBQUpFO0VBQ0U7QUFNSjs7QUFGQTtBQUVFO0VBQ0U7RUFDQTtFQUNBO0FBSUo7QUFISTtFQUNFO0FBS047QUFGRTtFQUNFO0FBSUo7O0FBQUU7RUFDRTtBQUdKOztBQUNFO0VBQ0U7QUFFSixDOzs7O0FDNUlBOzs7O0NBQUE7QUNNQTs7Ozs7RUFBQTtBQ05BOztDQUFBO0FDQUE7Ozs7RUFBQTtBQ0VBOztFQUFBO0FDNk5BO0FGdEtJO0VBSUkseUJFMkVDO0FML0dUO0FHZ0NJO0VBSUkseUJFMkVDO0FMNUdUO0FHNkJJO0VBSUkseUJFMkVDO0FMekdUO0FHMEJJO0VBSUkseUJFMkVDO0FMdEdUO0FHdUJJO0VBSUkseUJFMkVDO0FMbkdUO0FHb0JJO0VBSUkseUJFMkVDO0FMaEdUO0FHaUJJO0VBSUkseUJFMkVDO0FMN0ZUO0FHY0k7RUFJSSx5QkUyRUM7QUwxRlQ7QUdXSTtFQUlJLHlCRTJFQztBTHZGVDtBR1FJO0VBSUkseUJFMkVDO0FMcEZUO0FHS0k7RUFJSSx5QkUyRUM7QUxqRlQ7QUdFSTtFQUlJLHlCRTJFQztBTDlFVDtBR0RJO0VBSUkseUJFMkVDO0FMM0VUO0FHSkk7RUFJSSx5QkUyRUM7QUx4RVQ7QUdQSTtFQUlJLHlCRTJFQztBTHJFVDtBR1ZJO0VBSUkseUJFMkVDO0FMbEVUO0FHYkk7RUFJSSx5QkUyRUM7QUwvRFQ7QUdoQkk7RUFJSSx5QkUyRUM7QUw1RFQ7QUduQkk7RUFJSSx5QkUyRUM7QUx6RFQ7QUd0Qkk7RUFJSSx5QkUyRUM7QUx0RFQ7QUd6Qkk7RUFJSSx5QkUyRUM7QUxuRFQ7QUc1Qkk7RUFJSSx5QkUyRUM7QUxoRFQ7QUcvQkk7RUFJSSx5QkUyRUM7QUw3Q1Q7QUdsQ0k7RUFJSSx5QkUyRUM7QUwxQ1Q7QUdyQ0k7RUFJSSx5QkUyRUM7QUx2Q1Q7QUd4Q0k7RUFJSSx5QkUyRUM7QUxwQ1Q7QUczQ0k7RUFJSSx5QkUyRUM7QUxqQ1Q7QUc5Q0k7RUFJSSx5QkUyRUM7QUw5QlQ7QUdqREk7RUFJSSx5QkUyRUM7QUwzQlQ7QUdwREk7RUFJSSx5QkUyRUM7QUx4QlQ7QUd2REk7RUFJSSx5QkUyRUM7QUxyQlQ7QUcxREk7RUFJSSx5QkUyRUM7QUxsQlQ7QUc3REk7RUFJSSx5QkUyRUM7QUxmVDtBR2hFSTtFQUlJLHlCRTJFQztBTFpUO0FHbkVJO0VBSUkseUJFMkVDO0FMVFQ7QUd0RUk7RUFJSSx5QkUyRUM7QUxOVDtBR3pFSTtFQUlJLHlCRTJFQztBTEhUO0FHNUVJO0VBSUkseUJFMkVDO0FMQVQ7QUcvRUk7RUFJSSx5QkUyRUM7QUxHVDtBR2xGSTtFQUlJLHlCRTJFQztBTE1UO0FHckZJO0VBSUkseUJFMkVDO0FMU1Q7QUd4Rkk7RUFJSSx5QkUyRUM7QUxZVDtBRzNGSTtFQUlJLHlCRTJFQztBTGVUO0FHOUZJO0VBSUkseUJFMkVDO0FMa0JUO0FHakdJO0VBSUkseUJFMkVDO0FMcUJUO0FHcEdJO0VBSUkseUJFMkVDO0FMd0JUO0FHdkdJO0VBSUkseUJFMkVDO0FMMkJUO0FHMUdJO0VBSUkseUJFMkVDO0FMOEJUO0FHN0dJO0VBSUkseUJFMkVDO0FMaUNUO0FHaEhJO0VBSUkseUJFMkVDO0FMb0NUO0FHbkhJO0VBSUkseUJFMkVDO0FMdUNUO0FHdEhJO0VBSUkseUJFMkVDO0FMMENUO0FHekhJO0VBSUkseUJFMkVDO0FMNkNUO0FHNUhJO0VBSUkseUJFMkVDO0FMZ0RUO0FHL0hJO0VBSUkseUJFMkVDO0FMbURUO0FHbElJO0VBSUkseUJFMkVDO0FMc0RUO0FHcklJO0VBSUkseUJFMkVDO0FMeURUO0FHeElJO0VBSUkseUJFMkVDO0FMNERUO0FHM0lJO0VBSUkseUJFMkVDO0FMK0RUO0FHOUlJO0VBSUkseUJFMkVDO0FMa0VUO0FHakpJO0VBSUkseUJFMkVDO0FMcUVUO0FHcEpJO0VBSUkseUJFMkVDO0FMd0VUO0FHdkpJO0VBSUkseUJFMkVDO0FMMkVUO0FHMUpJO0VBSUkseUJFMkVDO0FMOEVUO0FHN0pJO0VBSUkseUJFMkVDO0FMaUZUO0FHaEtJO0VBSUkseUJFMkVDO0FMb0ZUO0FHbktJO0VBSUkseUJFMkVDO0FMdUZUO0FHdEtJO0VBSUkseUJFMkVDO0FMMEZUO0FHektJO0VBSUkseUJFMkVDO0FMNkZUO0FHNUtJO0VBSUkseUJFMkVDO0FMZ0dUOztBRy9LSTtFQUlJLGNFMkVDO0FMb0dUO0FHbkxJO0VBSUksY0UyRUM7QUx1R1Q7QUd0TEk7RUFJSSxjRTJFQztBTDBHVDtBR3pMSTtFQUlJLGNFMkVDO0FMNkdUO0FHNUxJO0VBSUksY0UyRUM7QUxnSFQ7QUcvTEk7RUFJSSxjRTJFQztBTG1IVDtBR2xNSTtFQUlJLGNFMkVDO0FMc0hUO0FHck1JO0VBSUksY0UyRUM7QUx5SFQ7QUd4TUk7RUFJSSxjRTJFQztBTDRIVDtBRzNNSTtFQUlJLGNFMkVDO0FMK0hUO0FHOU1JO0VBSUksY0UyRUM7QUxrSVQ7QUdqTkk7RUFJSSxjRTJFQztBTHFJVDtBR3BOSTtFQUlJLGNFMkVDO0FMd0lUO0FHdk5JO0VBSUksY0UyRUM7QUwySVQ7QUcxTkk7RUFJSSxjRTJFQztBTDhJVDtBRzdOSTtFQUlJLGNFMkVDO0FMaUpUO0FHaE9JO0VBSUksY0UyRUM7QUxvSlQ7QUduT0k7RUFJSSxjRTJFQztBTHVKVDtBR3RPSTtFQUlJLGNFMkVDO0FMMEpUO0FHek9JO0VBSUksY0UyRUM7QUw2SlQ7QUc1T0k7RUFJSSxjRTJFQztBTGdLVDtBRy9PSTtFQUlJLGNFMkVDO0FMbUtUO0FHbFBJO0VBSUksY0UyRUM7QUxzS1Q7QUdyUEk7RUFJSSxjRTJFQztBTHlLVDtBR3hQSTtFQUlJLGNFMkVDO0FMNEtUO0FHM1BJO0VBSUksY0UyRUM7QUwrS1Q7QUc5UEk7RUFJSSxjRTJFQztBTGtMVDtBR2pRSTtFQUlJLGNFMkVDO0FMcUxUO0FHcFFJO0VBSUksY0UyRUM7QUx3TFQ7QUd2UUk7RUFJSSxjRTJFQztBTDJMVDtBRzFRSTtFQUlJLGNFMkVDO0FMOExUO0FHN1FJO0VBSUksY0UyRUM7QUxpTVQ7QUdoUkk7RUFJSSxjRTJFQztBTG9NVDtBR25SSTtFQUlJLGNFMkVDO0FMdU1UO0FHdFJJO0VBSUksY0UyRUM7QUwwTVQ7QUd6Ukk7RUFJSSxjRTJFQztBTDZNVDtBRzVSSTtFQUlJLGNFMkVDO0FMZ05UO0FHL1JJO0VBSUksY0UyRUM7QUxtTlQ7QUdsU0k7RUFJSSxjRTJFQztBTHNOVDtBR3JTSTtFQUlJLGNFMkVDO0FMeU5UO0FHeFNJO0VBSUksY0UyRUM7QUw0TlQ7QUczU0k7RUFJSSxjRTJFQztBTCtOVDtBRzlTSTtFQUlJLGNFMkVDO0FMa09UO0FHalRJO0VBSUksY0UyRUM7QUxxT1Q7QUdwVEk7RUFJSSxjRTJFQztBTHdPVDtBR3ZUSTtFQUlJLGNFMkVDO0FMMk9UO0FHMVRJO0VBSUksY0UyRUM7QUw4T1Q7QUc3VEk7RUFJSSxjRTJFQztBTGlQVDtBR2hVSTtFQUlJLGNFMkVDO0FMb1BUO0FHblVJO0VBSUksY0UyRUM7QUx1UFQ7QUd0VUk7RUFJSSxjRTJFQztBTDBQVDtBR3pVSTtFQUlJLGNFMkVDO0FMNlBUO0FHNVVJO0VBSUksY0UyRUM7QUxnUVQ7QUcvVUk7RUFJSSxjRTJFQztBTG1RVDtBR2xWSTtFQUlJLGNFMkVDO0FMc1FUO0FHclZJO0VBSUksY0UyRUM7QUx5UVQ7QUd4Vkk7RUFJSSxjRTJFQztBTDRRVDtBRzNWSTtFQUlJLGNFMkVDO0FMK1FUO0FHOVZJO0VBSUksY0UyRUM7QUxrUlQ7QUdqV0k7RUFJSSxjRTJFQztBTHFSVDtBR3BXSTtFQUlJLGNFMkVDO0FMd1JUO0FHdldJO0VBSUksY0UyRUM7QUwyUlQ7QUcxV0k7RUFJSSxjRTJFQztBTDhSVDtBRzdXSTtFQUlJLGNFMkVDO0FMaVNUO0FHaFhJO0VBSUksY0UyRUM7QUxvU1Q7QUduWEk7RUFJSSxjRTJFQztBTHVTVDtBR3RYSTtFQUlJLGNFMkVDO0FMMFNUO0FHelhJO0VBSUksY0UyRUM7QUw2U1Q7QUc1WEk7RUFJSSxjRTJFQztBTGdUVDtBRy9YSTtFQUlJLGNFMkVDO0FMbVRUOztBTXpiQTtFQUNFO0FONGJGO0FNMWJFO0VBQ0UseUJEaUZJO0VDaEZKLDhDQVBlO0FObWNuQjs7QU9uY0E7QUFFQTtFQUNFO0VBQ0E7QVBxY0Y7O0FPbGNBO0VBQ0U7QVBxY0Y7QU9uY0U7RUFDRTtFQUNBO0FQcWNKOztBT2pjQTtFQUNFO0VBQ0E7RUFDQTtBUG9jRjs7QU9qY0E7RUNZRTtFQUNBO0VEVkE7RUFDQTtBUG9jRjtBUzNTUTtFQ25KTjtJQ2tHQTtJQTJDRSxpQ0FUTTtJQzNISjtJQUFBO0lBQUE7RVo2Yko7QUFDRjtBU3BUUTtFQ25KTjtJQ2tHQTtJQTJDRSx5QkFUTTtJQzNISjtJQUFBO0lBQUE7RVpzY0o7QUFDRjtBUzdUUTtFQ25KTjtJQ2tHQTtJQTJDRSx1QkFUTTtJQzNISjtJQUFBO0lBQUE7RVorY0o7QUFDRjs7QWEzZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWI0ZUY7QWF4ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWJ3ZUY7QWFwZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWJvZUY7QWFoZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWJnZUY7QWE1ZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWI0ZEY7QWF4ZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWJ3ZEY7QWFwZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWJvZEY7QWFoZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWJnZEY7QWF6Y0E7O0VBRUUsOENBMUd1QjtBYnFqQnpCOztBYXhjQTs7RUFFRSxjUjVGWTtBTHVpQmQ7O0FheGNBO0VBQ0UsY1JoR1k7RVFpR1o7RUFDQTtFQUNBLG1CQXBIYTtBYitqQmY7O0FheGNBO0VBQ0UsbUJBeEhhO0FibWtCZjs7QWF4Y0E7O0VBRUU7RUFDQTtBYjJjRjs7QWF4Y0E7O0VBRUU7RUFDQTtBYjJjRjs7QWF4Y0E7O0VBRUUsY1J4SFk7RVF5SFo7QWIyY0Y7O0FheGNBO0VBQ0U7QWIyY0Y7O0FheGNBO0VBQ0U7RUFDQTtFQUNBO0FiMmNGOztBYXhjQTs7O0VBR0UsbUJBMUphO0VBMkpiO0FiMmNGOztBYXhjQTtFQUNFO0FiMmNGOztBYXhjQTtFQUNFLGNSbEpZO0FMNmxCZDs7QWF0Y0U7O0VBQ0U7RUFDQTtBYjBjSjtBYXZjRTs7RUFDRTtBYjBjSjtBYXZjRTs7OztFQUVFO0VBQ0E7QWIyY0o7O0FhdmNBOztFQUVFO0FiMGNGOztBYXZjQTtFQUNFLGNSN0tZO0VROEtaO0VBQ0E7RUFDQTtBYjBjRjtBYXhjRTtFQUNFLGNSdk1VO0VRd01WO0FiMGNKO0FheGNJO0VBQ0U7QWIwY047QWF0Y0U7O0VBRUUsY1IzTFU7RVE0TFY7RUFDQTtFQUNBO0Fid2NKOztBYXBjQTtFQUNFO0VBQ0EsY1I3SVM7QUxvbEJYO0FhcmNFO0VBRUU7QWJzY0o7O0FhbGNBO0VBQ0U7QWJxY0Y7O0FhbGNBO0VBQ0U7RUFDQTtBYnFjRjs7QWEvYkE7Ozs7Ozs7Ozs7OztFQVlFLGNSdk9ZO0VRd09aLDhDQTFQdUI7RUEyUHZCO0Fia2NGOztBYS9iQTtFQUNFO0VBQ0E7QWJrY0Y7QWFoY0U7RUFDRTtFQUNBO0Fia2NKOztBYTliQTtFQUNFO0VBQ0E7QWJpY0Y7O0FhOWJBO0VBQ0U7RUFDQTtBYmljRjs7QWE5YkE7RUFDRTtFQUNBO0FiaWNGOztBYTliQTtFQUNFO0VBQ0E7QWJpY0Y7O0FhOWJBO0VBQ0U7RUFDQTtBYmljRjs7QWE5YkE7RUFDRTtFQUNBO0FiaWNGOztBYTliQTtFQUNFO0VBQ0E7QWJpY0Y7O0FhOWJBO0VBQ0U7RUFDQTtBYmljRjs7QWE5YkE7RUFDRTtFQUNBO0FiaWNGOztBYTliQTtFQUNFO0VBQ0E7QWJpY0Y7O0FhOWJBO0VBQ0U7RUFDQTtBYmljRjs7QVNubEJRO0VJc0pOOztJQUVFO0lBQ0E7RWJpY0Y7RWE5YkE7SUFDRTtJQUNBO0ViZ2NGO0VhN2JBO0lBQ0U7SUFDQTtFYitiRjtFYTViQTtJQUNFO0lBQ0E7RWI4YkY7RWEzYkE7SUFDRTtJQUNBO0ViNmJGO0VhMWJBO0lBQ0U7SUFDQTtFYjRiRjtFYXpiQTtJQUNFO0lBQ0E7RWIyYkY7RWF4YkE7SUFDRTtJQUNBO0ViMGJGO0VhdmJBO0lBQ0U7SUFDQTtFYnliRjtFYXRiQTtJQUNFO0lBQ0E7RWJ3YkY7RWFyYkE7SUFDRTtJQUNBO0VidWJGO0VhcGJBO0lBQ0U7SUFDQTtFYnNiRjtFYW5iQTs7SUFFRTtJQUNBO0VicWJGO0VhbGJBOztJQUVFO0lBQ0E7RWJvYkY7QUFDRjtBYzl6QkE7Ozs7RUFJRTtBZGcwQkY7O0FjN3pCQTs7Ozs7Ozs7RUFRRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRnMEJGOztBYzd6QkE7RUFDRTtFQUNBO0VBQ0E7QWRnMEJGOztBYzd6QkE7RUFDRTtFQUNBO0VBQ0E7QWRnMEJGOztBYzd6QkE7RUFDRTtFQUNBO0VBQ0E7QWRnMEJGOztBYzd6QkE7RUFDRTtFQUNBO0VBQ0E7QWRnMEJGOztBYzd6QkE7RUFDRTtFQUNBO0VBQ0E7QWRnMEJGOztBYzd6QkE7RUFDRTtFQUNBO0VBQ0E7QWRnMEJGOztBZTUzQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWYrM0JGOztBZXQzQkE7QUFDQTtFQUNFO0FmeTNCRjs7QWdCMTRCQTs7O0VBR0U7QWhCNjRCRjs7QWdCMTRCQTtFQXlCRTtBaEJxM0JGO0FTdHVCUTtFT3hLUjtJQU1JO0VoQjQ0QkY7QUFDRjs7QWdCajNCQTtFQUNFO0VBT0E7QWhCODJCRjs7QWdCcjJCQTtFQUNFLHlCWHdCTTtFV3ZCTjtBaEJ3MkJGO0FnQnQyQkU7RUFDRTtBaEJ3MkJKO0FnQnIyQkU7O0VBRUUseUJYZUk7QUx3MUJSOztBaUI3NkJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJnN0JGOztBaUI3NkJBO0VBQ0U7RUFDQTtBakJnN0JGOztBaUI3NkJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJnN0JGO0FpQjk2QkU7RUFDRTtBakJnN0JKO0FpQjc2QkU7RUFDRTtBakIrNkJKO0FpQjM2QkU7RUFDRTtBakI2NkJKO0FpQno2QkU7RUFDRTtBakIyNkJKO0FpQnY2QkU7RUFDRTtBakJ5NkJKO0FpQnQ2QkU7RUFDRTtBakJ3NkJKO0FpQnI2QkU7RUFDRTtBakJ1NkJKO0FpQm42QkU7RUFDRTtBakJxNkJKO0FpQmo2QkU7RUFDRTtBakJtNkJKO0FpQi81QkU7RUFDRTtBakJpNkJKOztBaUI3NUJBO0VBQ0U7RUFDQTtFQUNBO0FqQmc2QkY7O0FrQngrQkE7O0VBQUE7QUNBQTs7RUFBQTtBQUlBOztzQkFBQTtBQUdBO0VBQ0U7QW5CNitCRjs7QW1CMStCQTtFQUNFO0VBQ0E7QW5CNitCRjtBbUIzK0JFO0VBQ0U7QW5CNitCSjtBbUIxK0JFO0VBQ0U7RUFDQTtBbkI0K0JKO0FTOTBCUTtFVWhLTjtJQUlJO0lBQ0E7RW5COCtCSjtBQUNGO0FtQjMrQkU7RUFDRTtBbkI2K0JKO0FTdjFCUTtFVXZKTjtJQUdJO0VuQisrQko7RW1COStCSTtJQUNFO0VuQmcvQk47QUFDRjtBbUI1K0JFO0VBQ0U7QW5COCtCSjtBbUIxK0JJO0VBQ0U7QW5CNCtCTjtBbUIzK0JNO0VBQ0U7QW5CNitCUjtBbUIxK0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5CNCtCUjtBUzkyQlE7RVVsSUY7SUFNSTtJQUNBO0lBQ0E7RW5COCtCUjtBQUNGO0FtQjUrQlE7RUFFRTtFQUNBO0VBQ0E7QW5CNitCVjtBbUIxK0JRO0VBQ0U7RUFDQTtFQUNBLHlCZGlCRjtBTDI5QlI7QW1CMytCVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5CNitCWjtBbUIxK0JZO0VBQ0U7QW5CNCtCZDtBbUJ4K0JVO0VBQ0U7QW5CMCtCWjtBbUJ6K0JZO0VBQ0U7RUFDQTtBbkIyK0JkO0FtQnorQmdCO0VBQ0U7QW5CMitCbEI7QW1CeitCZ0I7RUFDRTtBbkIyK0JsQjtBbUJuK0JNO0VBQ0U7RUFDQTtFQUNBO0FuQnErQlI7QVM5NUJRO0VVMUVGO0lBS0k7RW5CdStCUjtBQUNGO0FtQnQrQlE7RUFDRTtBbkJ3K0JWO0FtQnQrQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkJ3K0JWO0FTNTZCUTtFVWhFQTtJQU1JO0VuQjArQlY7QUFDRjtBbUJ0K0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5CdytCUjtBU3Y3QlE7RVVyREY7SUFNSTtJQUNBO0VuQjArQlI7QUFDRjtBbUJ2K0JNO0VBQ0U7RUFDQTtFQUNBO0FuQnkrQlI7QVNsOEJRO0VVMUNGO0lBS0k7RW5CMitCUjtBQUNGO0FtQnYrQlE7RUFDRTtBbkJ5K0JWO0FtQnQrQk07RUFDRTtBbkJ3K0JSOztBbUJsK0JBOztzQkFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0FuQm8rQkY7QW1CbCtCRTtFQUNFO0VBQ0E7QW5CbytCSjs7QW1CaCtCQTtFQUNFO0FuQm0rQkY7O0FtQi85QkU7RUFDRTtBbkJrK0JKO0FtQi85QkU7RUFDRTtBbkJpK0JKOztBbUI3OUJBOztzQkFBQTtBQUlBO0VBQ0U7RUFDQTtBbkIrOUJGO0FtQjc5QkU7RUFDRTtBbkIrOUJKO0FtQjU5QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjZG5MVTtFY29MVjtFQUNBO0FuQjg5Qko7QW1CMzlCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQjY5Qko7QW1CMzlCSTtFQUNFO0FuQjY5Qk47QW1CMTlCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNkbE9RO0VjbU9SO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5CNDlCTjtBbUIxOUJNO0VBQ0U7QW5CNDlCUjtBbUJ6OUJNO0VBbEJGO0lBbUJJO0VuQjQ5Qk47QUFDRjtBbUIxOUJNO0VBQ0U7QW5CNDlCUjtBbUJ2OUJFO0VBQ0U7RUFDQTtBbkJ5OUJKO0FtQnY5Qkk7RUFDRTtBbkJ5OUJOO0FtQnY5QlE7RUFDRTtBbkJ5OUJWO0FtQnI5QlE7RUFDRTtBbkJ1OUJWO0FtQmw5QlE7Ozs7RUFJRSxjZHpQSTtBTDZzQ2Q7QW1CLzhCUTtFQUNFO0FuQmk5QlY7QW1CMzhCRTtFQUNFO0VBQ0E7RUFDQTtBbkI2OEJKO0FtQjM4Qkk7RUFDRTtBbkI2OEJOO0FtQjE4Qkk7RUFDRTtFQUNBLGNkaFJRO0FMNHRDZDtBbUIzOEJNO0VBQ0U7QW5CNjhCUjtBbUIzOEJNO0VBQ0U7QW5CNjhCUjs7QW1CdDhCRTtFQUNFO0FuQnk4Qko7QW1CdDhCRTtFQUNFO0FuQnc4Qko7O0FtQnA4QkE7O3NCQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQnU4QkY7O0FtQnA4QkE7RUFDRTtFQUNBO0FuQnU4QkY7QVNybUNRO0VVNEpSO0lBSUk7SUFDQTtFbkJ5OEJGO0FBQ0Y7O0FvQjl4Q0E7O0VBQUE7QUFNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI4eENOO0FvQjd4Q007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCK3hDUjtBb0I5eENRO0VBQ0U7QXBCZ3lDVjtBb0I5eENRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJneUNWO0FvQi94Q1U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCaXlDWjtBb0IveENVO0VBRUU7QXBCZ3lDWjtBb0I5eENVO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7QXBCK3hDWjtBb0I5eENZO0VBQ0U7RUFDQTtBcEJneUNkO0FvQjF4Q0k7RUFuREY7SUFvREk7RXBCNnhDSjtBQUNGO0FvQjF4Q0k7RUFDRSxjZnJEUTtBTGkxQ2Q7QW9CM3hDTTtFQUNFLGNmdkRNO0FMbzFDZDtBb0I1eENRO0VBQ0U7QXBCOHhDVjtBb0IzeENRO0VBQ0UsY2YvREk7QUw0MUNkO0FvQjV4Q1U7RUFDRTtBcEI4eENaO0FvQnR4Q0k7RUFDRSxjZk9FO0FMaXhDUjtBb0J2eENNO0VBQ0UsY2ZLQTtBTG94Q1I7QW9CeHhDUTtFQUNFO0FwQjB4Q1Y7O0FxQjkyQ0E7O0VBQUE7QUFNQTs7Ozs7Ozs7RUFRRTtFQUNBO0VBQ0EsOENSUHVCO0VRUXZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCODJDRjtBcUI1MkNFOzs7Ozs7OztFQUNFO0VBQ0E7QXJCcTNDSjtBcUJuM0NFOzs7Ozs7OztFQUNFO0VBQ0E7QXJCNDNDSjtBU3R1Q1E7RVk3S1I7Ozs7Ozs7O0lBMkJJO0lBQ0E7RXJCbTRDRjtBQUNGO0FxQmg0Q0U7Ozs7Ozs7O0VBQ0UseUJoQjhEVTtBTDIwQ2Q7QXFCdDRDRTs7Ozs7Ozs7RUFDRSx5QmhCNkRXO0FMazFDZjtBcUI1NENFOzs7Ozs7OztFQUNFLHlCaEI1QlM7QUxpN0NiO0FxQi80Q0U7Ozs7Ozs7Ozs7Ozs7OztFQUVFO0VBQ0E7RUFDQSxjaEI0Qk87RWdCM0JQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckI4NUNKO0FxQjU1Q0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUU7RUFDQSxjaEJpQks7RWdCaEJMO0FyQnk3Q047O0FxQi82Q0U7Ozs7O0VBQ0U7QXJCczdDSjtBcUJwN0NFOzs7OztFQUNFO0FyQjA3Q0o7QXFCeDdDRTs7Ozs7RUFDRTtBckI4N0NKO0FxQjU3Q0U7Ozs7O0VBQ0U7QXJCazhDSjtBcUIvN0NFOzs7Ozs7Ozs7RUFFRTtFQUNBLHlCaEJ2RlU7RWdCd0ZWLGNoQlRJO0FMaTlDUjtBcUJ2OENJOzs7Ozs7Ozs7Ozs7Ozs7OztFQUVFLHlCaEI5RlE7RWdCK0ZSO0FyQnc5Q047QXFCdDlDSTs7Ozs7Ozs7O0VBQ0U7RUFDQSx5QmhCaEdRO0VnQmlHUjtBckJnK0NOO0FxQjU5Q0U7Ozs7O0VBQ0U7RUFDQSx5QmhCeEJJO0VnQnlCSixjaEIzR1U7QUw2a0RkO0FxQmorQ0k7Ozs7Ozs7OztFQUVFO0VBQ0E7RUFDQTtBckIwK0NOO0FxQngrQ0k7Ozs7O0VBQ0UseUJoQmpDRTtFZ0JrQ0Y7RUFDQTtBckI4K0NOO0FxQnorQ0U7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJCKytDSjtBcUI5K0NJOzs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCby9DTjtBcUI5K0NJOzs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0EsY2hCbkpRO0FMMm9EZDtBcUJ2L0NNOzs7Ozs7Ozs7Ozs7Ozs7OztFQUVFLHlCaEIzR2U7RWdCNEdmO0VBQ0EsY2hCeEpNO0FMZ3FEZDtBcUJ0Z0RNOzs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7QXJCZ2hEUjtBcUI1Z0RJOzs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0EsY2hCbEZFO0FMd21EUjtBcUJyaERNOzs7Ozs7Ozs7Ozs7Ozs7OztFQUVFO0VBQ0E7QXJCc2lEUjtBcUJwaURNOzs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7QXJCOGlEUjtBcUJ2aURJOzs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0EsY2hCdkxRO0FMd3VEZDtBcUJoakRNOzs7Ozs7Ozs7Ozs7Ozs7OztFQUVFLHlCaEIvSWU7RWdCZ0pmO0FyQmlrRFI7QXFCL2pETTs7Ozs7Ozs7O0VBQ0U7RUFDQSx5QmhCN0dBO0VnQjhHQTtBckJ5a0RSO0FxQnJrREk7Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQSxjaEJySEU7QUxvc0RSO0FxQjlrRE07Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUU7RUFDQTtBckIrbERSO0FxQjdsRE07Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQTtBckJ1bURSOztBcUIvbERBO0VBQ0UsY2hCdE5ZO0VnQnVOWjtBckJrbURGO0FxQmhtREU7RUFFRSxjaEIzTlU7RWdCNE5WO0FyQmltREo7QXFCOWxERTtFQUNFLGNoQmhPVTtFZ0JpT1Y7QXJCZ21ESjtBcUI1bERJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckI4bEROO0FxQjVsREk7RUFDRTtBckI4bEROO0FxQjVsREk7RUFDRTtBckI4bEROOztBc0J0MURBOztFQUFBO0FBSUE7Ozs7RUFJRTtFQUNBO0VBQ0E7RUFDQTtBdEJ3MURGO0FzQnQxREU7Ozs7RUFDRTtBdEIyMURKO0FzQngxREU7Ozs7Ozs7RUFFRTtFQUNBO0F0QisxREo7QXNCNTFERTs7OztFQUNFO0F0QmkyREo7QXNCLzFESTs7Ozs7Ozs7OztFQUdFO0F0QncyRE47QXNCcDJERTs7OztFQUNFO0F0QnkyREo7QXNCdjJESTs7OztFQUNFO0F0QjQyRE47QXNCeDJERTs7OztFQUNFO0VBQ0E7QXRCNjJESjtBc0IxMkRFOzs7O0VBQ0U7QXRCKzJESjtBc0J6MkRJOzs7O0VBQ0U7QXRCODJETjtBc0IzMkRJOzs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QmczRE47QXNCOTJETTs7OztFQUNFO0F0Qm0zRFI7QXNCaDNETTs7OztFQUNFO0VBQ0E7QXRCcTNEUjtBc0JqM0RJOzs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCczNETjtBc0JwM0RNOzs7O0VBQ0U7RUFDQTtBdEJ5M0RSO0FzQnAzRE07Ozs7RUFDRTtBdEJ5M0RSO0FzQnYzRFE7Ozs7RUFDRTtBdEI0M0RWO0FzQngzRE07Ozs7RUFDRTtBdEI2M0RSO0FzQjMzRFE7Ozs7RUFDRTtBdEJnNERWO0FzQjEzREU7Ozs7RUFDRTtBdEIrM0RKO0FzQngzREk7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCZzRETjtBc0I5M0RNOzs7Ozs7O0VBQ0U7RUFDQTtBdEJzNERSO0FzQmw0REk7Ozs7Ozs7RUFDRTtBdEIwNEROO0FzQm40REk7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Qnc0RE47QXNCbDRERTs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnU0REo7QXNCcjRESTs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEIwNEROO0FzQnQ0REU7Ozs7RUFDRTtBdEIyNERKOztBc0JwNERFOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Qnk0REo7QXNCdjRESTs7O0VBQ0U7RUFDQTtBdEIyNEROOztBc0JyNERBO0VBQ0U7QXRCdzRERjs7QXVCNWtFQTs7O0NBQUE7QUFLQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QjhrRUY7QXVCNWtFRTtFQVJGOztJQVNJO0lBQ0E7SUFDQTtJQUNBLGNsQldVO0VMcWtFWjtBQUNGOztBdUI3a0VBO0VBQ0U7RUFDQTtBdkJnbEVGO0F1QjlrRUU7RUFDRTtBdkJnbEVKOztBdUI1a0VBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EseUJsQnFETTtFa0JwRE47RUFDQTtBdkIra0VGO0F1QjdrRUU7RUFDRTtBdkIra0VKOztBdUIza0VBO0VBQ0U7QXZCOGtFRjs7QXVCM2tFQTtBQUNBO0VBQ0U7SUFDRTtFdkI4a0VGO0V1QjNrRUE7SUFDRTtFdkI2a0VGO0FBQ0Y7QXVCMWtFQTtFQUNFO0VBQ0EseUJsQnpCYTtFa0IwQmIsY2xCakNZO0FMNm1FZDs7QXVCemtFQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QjRrRUY7O0F1QnprRUE7RUFHRSx5QmxCN0NZO0FMdW5FZDs7QXVCdmtFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNsQjFEWTtFa0IyRFo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkIwa0VGO0F1QnhrRUU7RUFwQkY7SUFxQkk7RXZCMmtFRjtBQUNGOztBdUJ4a0VBO0VBQ0U7RUFDQTtFQUNBO0F2QjJrRUY7O0F1QnhrRUE7O0VBRUU7RUFDQSxjbEJuRlk7QUw4cEVkOztBdUJ4a0VBOztFQUVFO0VBQ0E7QXZCMmtFRjs7QXVCeGtFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCMmtFRjs7QXVCeGtFQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCeWtFRjs7QXVCdGtFQTtFQUNFO0F2QnlrRUY7O0F1QnRrRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkJ5a0VGOztBdUJ0a0VBO0VBQ0U7RUFDQTtBdkJ5a0VGOztBdUJ0a0VBO0VBQ0UseUJsQmpJWTtFa0JrSVo7RUFDQTtBdkJ5a0VGOztBdUJ0a0VBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCeWtFRjtBdUJ2a0VFO0VBRUU7QXZCd2tFSjs7QXVCcGtFQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0V2QnVrRUY7QUFDRjtBdUJwa0VBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJza0VGOztBdUJua0VBOztFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCb2tFRjs7QXVCamtFQTtFQUNFO0VBQ0E7RUFDQTtBdkJva0VGOztBdUJqa0VBO0VBRUU7RUFDQTtFQUNBO0F2Qm1rRUY7O0F1QmhrRUE7RUFDRTtFQUNBO0VBQ0E7QXZCbWtFRjs7QXVCaGtFQTtFQUVFO0VBQ0E7RUFDQTtBdkJra0VGOztBdUIvakVBO0VBRUU7RUFDQTtBdkJpa0VGOztBdUI5akVBO0VBRUU7RUFDQTtFQUNBO0F2QmdrRUY7O0F1QjdqRUE7RUFFRTtFQUNBO0VBQ0E7QXZCK2pFRjs7QXVCNWpFQTtFQUVFO0F2QjhqRUY7O0F1QjNqRUE7RUFDRTtFQUNBO0VBQ0E7QXZCOGpFRjs7QXVCM2pFQTtFQUNFO0VBQ0E7RUFDQSxjbEJyUFk7RWtCc1BaO0F2QjhqRUY7O0F1QjNqRUE7RUFDRTtFQUNBO0VBQ0E7QXZCOGpFRjs7QXVCM2pFQTs7Ozs7O0VBTUUseUJsQnJSWTtFa0JzUlosY2xCdlFZO0VrQndRWjtFQUNBO0F2QjhqRUY7O0F1QjNqRUE7RUFDRTtBdkI4akVGOztBdUIzakVBO0VBQ0U7QXZCOGpFRjs7QXdCMTJFQTtBQUNBOzs7Q0FBQTtBQUtBO0VBQ0U7QXhCNDJFRjs7QXdCMTJFQTtFQUNFO0F4QjYyRUY7O0F3QjEyRUE7QUFDQTtFQUNFO0F4QjYyRUY7O0F3QjEyRUE7QUFDQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCNjJFRjtBd0I1MkVFO0VBUkY7SUFTSTtJQUNBO0V4QisyRUY7QUFDRjtBd0I3MkVFO0VBQ0U7QXhCKzJFSjs7QXdCMzJFQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhCODJFRjs7QXdCNTJFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QisyRUY7QXdCOTJFRTtFQWRGO0lBZUk7RXhCaTNFRjtFd0JoM0VFO0lBQ0U7SUFDQTtFeEJrM0VKO0FBQ0Y7O0F3QjkyRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJpM0VGO0F3QmgzRUU7RUFSRjtJQVNJO0lBQ0E7RXhCbTNFRjtBQUNGO0F3QmwzRUU7RUFDRTtFQUNBO0VBQ0E7QXhCbzNFSjtBd0JsM0VFO0VBQ0U7RUFDQTtFQUNBO0F4Qm8zRUo7QXdCbDNFRTtFQUNFO0VBQ0E7RUFDQTtBeEJvM0VKO0F3QmozRUU7RUFDRTtJQUdFO0lBQ0E7SUFDQTtFeEJpM0VKO0FBQ0Y7O0F3QjcyRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtBeEI4MkVGO0F3QjUyRUU7RUFqQkY7SUFrQkk7SUFDQTtJQUNBO0lBQ0E7RXhCKzJFRjtBQUNGOztBd0I1MkVBO0VBQ0U7QXhCKzJFRjs7QXdCNTJFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEIrMkVGO0F3QjkyRUU7RUFDRTtBeEJnM0VKO0F3QjkyRUU7RUFDRTtBeEJnM0VKOztBeUJ0Z0ZBOztFQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJ3Z0ZGO0FTaDJFUTtFZ0IvS1I7SUFTSTtFekIwZ0ZGO0FBQ0Y7QVNyMkVRO0VnQi9LUjtJQVlJO0lBQ0E7RXpCNGdGRjtBQUNGO0F5QjNnRkU7RUFDRTtBekI2Z0ZKO0F5QjNnRkU7RUFDRTtBekI2Z0ZKO0FTajNFUTtFZ0J6Sk47SUFFSTtFekI0Z0ZKO0FBQ0Y7QVN0M0VRO0VnQnBKTjtJQUVJO0V6QjRnRko7QUFDRjtBeUIxZ0ZFO0VBRUU7QXpCMmdGSjtBeUJ6Z0ZFO0VBR0U7QXpCeWdGSjtBeUJ2Z0ZFO0VBQ0UscUJwQkhrQjtBTDRnRnRCO0F5QnhnRkk7RUFDRTtBekIwZ0ZOO0F5QnhnRkk7RUFDRTtBekIwZ0ZOO0F5QnZnRkU7RUFDRSxxQnBCK0NZO0FMMDlFaEI7QXlCeGdGSTtFQUNFO0F6QjBnRk47QXlCeGdGSTtFQUNFO0F6QjBnRk47QXlCdmdGRTtFQUNFLHFCcEJ1Q2E7QUxrK0VqQjtBeUJ4Z0ZJO0VBQ0U7QXpCMGdGTjtBeUJ4Z0ZJO0VBQ0U7QXpCMGdGTjtBeUJ2Z0ZFO0VBQ0UscUJwQnREUztBTCtqRmI7QXlCeGdGSTtFQUNFO0F6QjBnRk47QXlCeGdGSTtFQUNFO0F6QjBnRk47QXlCdGdGRTtFQUNFO0F6QndnRko7QXlCdmdGSTtFQUNFO0F6QnlnRk47QXlCdmdGSTtFQUNFO0F6QnlnRk47QXlCcmdGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QnVnRko7QVN2N0VRO0VnQnZGTjtJQVNJO0V6QnlnRko7QUFDRjtBeUJ0Z0ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpCd2dGSjtBeUJ2Z0ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJ5Z0ZOO0F5QnZnRkk7RUFDRTtFQUNBO0F6QnlnRk47QXlCeGdGTTtFQUNFO0VBQ0E7RUFDQTtBekIwZ0ZSO0F5QnRnRkU7RUFDRTtBekJ3Z0ZKO0F5QnRnRkU7RUFDRTtFQUNBO0F6QndnRko7QXlCdmdGSTtFQUNFO0F6QnlnRk47QXlCdmdGSTtFQUNFO0F6QnlnRk47QXlCeGdGTTtFQUNFO0F6QjBnRlI7QXlCeGdGTTtFQUNFO0F6QjBnRlI7O0EwQmpxRkE7O0VBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCbXFGRjs7QTBCaHFGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0tBQUE7QTFCcXFGRjtBMEJscUZFO0VBUkY7SUFTSTtJQUNBO0UxQnFxRkY7QUFDRjs7QTBCbHFGQTtFQUNFO0VBQ0E7RUFDQTtpQkFBQTtBMUJzcUZGO0EwQnBxRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQnNxRko7QTBCcHFGRTtFQUNFO0VBQ0E7QTFCc3FGSjtBMEJwcUZFO0VBQ0U7RUFDQTtBMUJzcUZKO0EwQm5xRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQThCQTtBMUJzb0ZKO0EwQm5xRkk7RUFDRTtFQUNBO0VBQ0E7QTFCcXFGTjtBMEJucUZJO0VBQ0U7RUFDQTtBMUJxcUZOO0EwQmxxRkk7RUFDRTtFQUNBO0ExQm9xRk47QTBCanFGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQm1xRk47QTBCbHFGTTtFQUNFO0VBQ0E7QTFCb3FGUjtBMEIvcEZJO0VBQ0U7RUFDQTtBMUJpcUZOO0EwQmhxRk07RUFDRTtFQUNBO0ExQmtxRlI7QTBCL3BGSTtFQUNFO0ExQmlxRk47QTBCL3BGSTtFQUNFO0ExQmlxRk47O0EwQjVwRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBMUI4cEZGO0EwQjVwRkU7RUFiRjtJQWNJO0UxQitwRkY7QUFDRjs7QTBCNXBGQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QTFCOHBGRjtBMEI3cEZFO0VBWkY7SUFhSTtFMUJncUZGO0FBQ0Y7O0EwQjdwRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBMUI4cEZGO0EwQjdwRkU7RUFuQkY7SUFvQkk7RTFCZ3FGRjtBQUNGOztBMEI3cEZBO0FBQ0E7QUFDQTs7RUFFRTtFQUNBO0ExQmdxRkY7O0EwQjlwRkE7QUFDQTtFQUNFO0ExQmlxRkY7O0EwQjlwRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7Ozs7Ozs7Ozs7S0FBQTtBMUI0cUZGO0EwQmhxRkU7RUF6QkY7SUEwQkk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUJtcUZGO0FBQ0Y7QTBCbHFGRTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQm1xRko7QTBCanFGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCbXFGSjtBMEJqcUZFO0VBQ0U7RUFDQTtFQUNBO0ExQm1xRko7QTBCanFGRTtFQUNFO0ExQm1xRko7O0EwQi9wRkE7RUFDRTtFQUNBO0ExQmtxRkY7QTBCanFGRTtFQUhGO0lBSUk7RTFCb3FGRjtBQUNGOztBMEJqcUZBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7QTFCa3FGRjs7QTBCL3BGQTtFQUNFO0ExQmtxRkY7O0EyQnY3RkE7Ozs7Ozs7Q0FBQTtBQVNBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0EzQnc3RkY7O0EyQnI3RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQVVBO0EzQjQ2RkY7QTJCcDdGRTtFQUNFO0EzQnM3Rko7QTJCbjdGRTtFQUNFO0EzQnE3Rko7QTJCajdGRTtFQUNFO0EzQm03Rko7QTJCaDdGRTtFQUNFO0VBQ0E7QTNCazdGSjs7QTJCOTZGQTtBQUNBOztFQUVFO0VBQ0E7RUFDQTtnQ0FBQTtFQUVBO0VBQ0E7QTNCaTdGRjs7QTJCOTZGQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtnQ0FBQTtBM0JpN0ZGOztBMkI3NkZBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QTNCKzZGRjs7QTJCNTZGQTtFQUNFO0EzQis2RkY7O0EyQjU2RkE7QUFDQTs7RUFFRTtBM0IrNkZGOztBMkI3NkZBO0VBQ0U7RUFDQTtBM0JnN0ZGOztBMkI5NkZBO0VBQ0U7RUFDQTtBM0JpN0ZGOztBMkIvNkZBO0FBRUE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBM0JpN0ZGOztBMkI5NkZBOztFQUVFO0EzQmk3RkY7O0EyQjk2RkE7RUFDRTtFQUNBO0VBQ0E7QTNCaTdGRjs7QTJCOTZGQTtFQUNFO0EzQmk3RkY7O0EyQjk2RkE7QUFDQTtFQUNFO0EzQmk3RkY7O0EyQi82RkE7RUFFRTtBM0JpN0ZGOztBMkIvNkZBO0VBQ0U7QTNCazdGRjs7QTJCaDdGQTtFQUVFO0EzQms3RkY7O0EyQi82RkE7O0VBQUE7QUFHQTtFQUNFO0EzQms3RkY7O0EyQi82RkE7RUFDRTtBM0JrN0ZGOztBMkIvNkZBO0VBQ0U7QTNCazdGRjs7QTJCLzZGQTtFQUNFO0lBQ0U7RTNCazdGRjtBQUNGO0E0Qi9sR0E7O0VBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtBNUJnbUdGO0E0QjlsR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QmdtR0o7O0E0QjVsR0E7OztFQUdFO0E1QitsR0Y7O0E0QjVsR0E7QUFFQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCOGxHRjtBNEI1bEdFOztFQUNFO0E1QitsR0o7O0E0QjNsR0E7Ozs7RUFJRTtFQUNBO0VBQ0E7RUFDQSxjdkJ6Qlk7RXVCMEJaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCOGxHRjs7QTRCemxHRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJ2QmVJO0FMOGtHUjs7QTRCemxHQTs7RUFFRTtFQUNBO0E1QjRsR0Y7O0E0QnpsR0E7RUFDRTtBNUI0bEdGOztBNEJ6bEdBO0VBQ0U7RUFDQTtFQUNBO0E1QjRsR0Y7O0E0QnpsR0E7RUFDRSxtQnZCM0RZO0V1QjREWjtBNUI0bEdGOztBNEJ6bEdBO0VBQ0UsbUJ2QjFGWTtFdUIyRlo7QTVCNGxHRjs7QTRCemxHQTtFQUNFLG1CdkI1RG9CO0V1QjZEcEI7QTVCNGxHRjs7QTRCemxHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUI0bEdGOztBNEJ6bEdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQnZCeENNO0FMb29HUjs7QTRCemxHQTs7RUFFRTtBNUI0bEdGOztBNEJ6bEdBO0VBQ0U7RUFDQTtBNUI0bEdGOztBNEJ6bEdBO0FBRUU7RUFDRSxtQnZCcEdrQjtFdUJxR2xCO0E1QjJsR0o7QTRCeGxHRTtFQUNFO0E1QjBsR0o7O0E0QnRsR0E7QUFHRTs7RUFDRSxjdkI5SFU7RXVCK0hWO0E1QndsR0o7QTRCdGxHSTs7RUFDRTtFQUNBO0VBQ0EsbUJ2QjNFRTtBTG9xR1I7QTRCbmxHTTs7RUFDRTtFQUNBLG1CdkJ4SU07RXVCeUlOLGN2QjdJTTtBTG11R2Q7QTRCbmxHTTs7RUFDRSx5QnZCakpNO0V1QmtKTjtBNUJzbEdSOztBNEJobEdBOztHQUFBO0FBSUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnZCM0hNO0V1QjRITixjdkJ2TFk7RXVCd0xaO0VBQ0E7RUFDQTtFQUNBO0E1QmtsR0Y7QTRCaGxHRTtFQS9CRjs7Ozs7Ozs7Ozs7Ozs7SUFnQ0k7RTVCZ21HRjtBQUNGO0E0QjlsR0U7Ozs7Ozs7Ozs7Ozs7O0VBQ0UsY3ZCbE1VO0V1Qm1NVjtBNUI2bUdKO0E0QjFtR0U7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7RUFDQSx5QnZCak1XO0FMMHpHZjtBNEJ0bkdFOzs7Ozs7Ozs7Ozs7OztFQUNFO0VBQ0EseUJ2QnpMbUI7RXVCMExuQjtBNUJxb0dKO0E0QmxvR0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUVFO0E1QjZwR0o7QTRCMXBHRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUU7RUFDQSx5QnZCbE5XO0V1Qm1OWDtBNUJxckdKO0E0QmxyR0U7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7QTVCaXNHSjtBNEIvckdFOzs7Ozs7Ozs7Ozs7OztFQUNFO0E1QjhzR0o7O0E0QjFzR0E7RUFDRTtFQUNBO0VBQ0EsbUJ2QjdLTTtFdUI4S04sY3ZCek9ZO0V1QjBPWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCNnNHRjtBNEIzc0dFO0VBbEJGO0lBbUJJO0U1QjhzR0Y7QUFDRjtBNEI1c0dFO0VBQ0UsY3ZCNVBVO0V1QjZQVjtBNUI4c0dKO0E0QjNzR0U7RUFDRTtFQUNBO0VBQ0EseUJ2QjVQVztFdUI2UFgsY3ZCcFFVO0FMaTlHZDtBNEIxc0dFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBNUIyc0dKO0E0QnhzR0U7RUFFRSx5QnZCaE5TO0V1QmlOVDtBNUJ5c0dKOztBNEJyc0dBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QndzR0Y7O0E0QnJzR0E7Ozs7O0VBS0U7QTVCd3NHRjs7QTRCcnNHQTtBQUVBO0VBQ0U7QTVCdXNHRjs7QTRCcHNHQTtFQUNFO0E1QnVzR0Y7O0E0QnBzR0E7QUFFQTs7OztFQUlFO0VBQ0E7QTVCc3NHRjs7QTRCbnNHQTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7QTVCc3NHRjs7QTRCbnNHQTtFQUNFO0VBQ0EsbUJ2QjVRTTtBTGs5R1I7O0E0Qm5zR0E7RUFDRTtFQUNBO0VBQ0E7QTVCc3NHRjs7QTRCbnNHQTtFQUNFO0VBQ0E7RUFDQSxjdkJqVlk7QUx1aEhkOztBNEJwc0dBO0VBQ0U7QTVCdXNHRjs7QTRCcHNHQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGN2QjdXVztFdUI4V1g7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBNUJzc0dGO0E0QnBzR0U7RUFqQkY7SUFrQkk7RTVCdXNHRjtBQUNGOztBNEJwc0dBO0VBQ0UsY3ZCbFhZO0V1Qm1YWiw4Q2ZyWXVCO0Vlc1l2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QnVzR0Y7O0E0QnBzR0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCdXNHRjs7QTRCcHNHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1QnVzR0Y7O0E0QnBzR0E7RUFDRTtFQUNBO0E1QnVzR0Y7O0E0QmxzR0U7RUFDRTtFQUNBO0E1QnFzR0o7QTRCbnNHTTtFQWNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCd3JHUjtBNEJ0ckdNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJ3ckdSO0E0QnRyR1E7RUFFRTtBNUJ1ckdWO0E0QnJyR1E7RUFDRTtBNUJ1ckdWOztBNkJwcEhBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0J1cEhGO0FTeitHUTtFb0JsTFI7SUFNSTtFN0J5cEhGO0FBQ0Y7QVM5K0dRO0VvQmxMUjtJQVNJO0U3QjJwSEY7QUFDRjtBNkIxcEhFO0VBQ0U7QTdCNHBISjtBNkIzcEhJO0VBQ0U7QTdCNnBITjtBNkI1cEhNO0VBRUU7RUFFQTtBN0I0cEhSO0E2QnpwSEk7RUFDRTtFQUNBO0E3QjJwSE47QVNqZ0hRO0VvQjVKSjtJQUlJO0U3QjZwSE47QUFDRjtBU3RnSFE7RW9CdEpGO0lBRUk7SUFDQTtFN0I4cEhSO0FBQ0Y7QTZCNXBITTtFQUNFO0E3QjhwSFI7QVMvZ0hRO0VvQmhKRjtJQUdJO0U3QmdxSFI7RTZCL3BIUTtJQUNFO0U3QmlxSFY7QUFDRjtBNkI5cEhNO0VBQ0U7QTdCZ3FIUjtBUzFoSFE7RW9CdklGO0lBR0k7RTdCa3FIUjtFNkJqcUhRO0lBQ0U7RTdCbXFIVjtBQUNGO0E2QmhxSE07RUFDRTtBN0JrcUhSO0FTcmlIUTtFb0I5SEY7SUFHSTtFN0JvcUhSO0U2Qm5xSFE7SUFDRTtFN0JxcUhWO0FBQ0Y7QTZCbnFIUTtFQUNFO0E3QnFxSFY7QVNoakhRO0VvQnRIQTtJQUdJO0U3QnVxSFY7RTZCdHFIVTtJQUNFO0U3QndxSFo7QUFDRjtBNkJucUhJO0VBQ0U7QTdCcXFITjtBNkJwcUhNO0VBQ0U7QTdCc3FIUjtBUzlqSFE7RW9CekdGO0lBR0k7RTdCd3FIUjtBQUNGO0E2QnZxSFE7RUFDRTtBN0J5cUhWO0E2Qm5xSEk7RUFDRTtBN0JxcUhOO0E2QnBxSE07RUFFRTtFQUVBO0E3Qm9xSFI7QTZCanFISTtFQUNFO0VBQ0E7QTdCbXFITjtBU2psSFE7RW9CcEZKO0lBSUk7RTdCcXFITjtBQUNGO0FTdGxIUTtFb0I5RUY7SUFFSTtJQUNBO0U3QnNxSFI7QUFDRjtBNkJwcUhNO0VBQ0U7QTdCc3FIUjtBUy9sSFE7RW9CeEVGO0lBR0k7RTdCd3FIUjtFNkJ2cUhRO0lBQ0U7RTdCeXFIVjtBQUNGO0E2QnRxSE07RUFDRTtBN0J3cUhSO0FTMW1IUTtFb0IvREY7SUFHSTtFN0IwcUhSO0U2QnpxSFE7SUFDRTtFN0IycUhWO0FBQ0Y7QTZCeHFITTtFQUNFO0E3QjBxSFI7QVNybkhRO0VvQnRERjtJQUdJO0U3QjRxSFI7RTZCM3FIUTtJQUNFO0U3QjZxSFY7QUFDRjtBNkIzcUhRO0VBQ0U7QTdCNnFIVjtBU2hvSFE7RW9COUNBO0lBR0k7RTdCK3FIVjtFNkI5cUhVO0lBQ0U7RTdCZ3JIWjtBQUNGO0E2QjNxSEk7RUFDRTtBN0I2cUhOO0E2QjVxSE07RUFDRTtBN0I4cUhSO0FTOW9IUTtFb0JqQ0Y7SUFHSTtFN0JnckhSO0FBQ0Y7QTZCL3FIUTtFQUNFO0E3QmlySFY7QTZCNXFIRTtFQUNFO0E3QjhxSEo7QTZCNXFIRTtFQUNFO0E3QjhxSEo7QTZCM3FIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3QjZxSEo7QVM3cEhRO0VvQnBCTjtJQU1JO0lBQ0E7SUFDQTtJQUNBO0U3QitxSEo7QUFDRjtBUzFxSFE7RW9CZk47SUFZSTtJQUNBO0lBQ0E7SUFDQTtFN0JpckhKO0FBQ0Y7QVNsckhRO0VvQmZOO0lBa0JJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdCbXJISjtBQUNGO0FTM3JIUTtFb0JmTjtJQXlCSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3QnFySEo7QUFDRjtBNkJwckhJO0VBQ0U7QTdCc3JITjtBNkJwckhJO0VBQ0U7QTdCc3JITjtBNkJsckhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTdCb3JISjtBU2h0SFE7RW9Cd0JOO0lBTUk7SUFDQTtJQUNBO0lBQ0E7RTdCc3JISjtBQUNGO0FTeHRIUTtFb0J3Qk47SUFZSTtJQUNBO0U3QndySEo7QUFDRjtBUzl0SFE7RW9Cd0JOO0lBZ0JJO0lBQ0E7RTdCMHJISjtBQUNGO0FTcHVIUTtFb0I2Q047SUFFSTtJQUNBO0lBQ0E7SUFDQTtFN0J5ckhKO0FBQ0Y7QTZCeHJISTtFQUNFO0E3QjBySE47QTZCdHJIRTtFQUNFO0VBQ0E7RUFDQTtBN0J3ckhKO0FTcHZIUTtFb0J5RE47SUFLSTtFN0IwckhKO0FBQ0Y7QTZCenJISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QjJySE47QTZCMXJITTtFQUNFO0VBQ0E7RUFDQTtBN0I0ckhSO0E2QjFySE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCNHJIUjtBNkIxckhNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCNHJIUjtBU3h4SFE7RW9CcUZGO0lBU0k7RTdCOHJIUjtBQUNGO0E2QjdySFE7RUFDRTtBN0IrckhWO0E2QjdySFE7RUFDRTtFQUNBO0E3QitySFY7QTZCN3JIUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QitySFY7QTZCOXJIVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Jnc0haO0E2QjlySFU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0Jnc0haO0E2QjVySE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QjhySFI7QTZCN3JIUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3QitySFY7QTZCN3JIUTtFQUNFO0VBQ0E7RUFDQTtBN0IrckhWO0E2QjlySFU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0Jnc0haO0E2QjdySFU7RUFDRTtFQUVBO0E3QjhySFo7QTZCdnJIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCeXJISjtBUzcySFE7RW9CbUtOO0lBbUJJO0lBQ0E7SUFDQTtFN0IyckhKO0FBQ0Y7QTZCMXJISTtFQUNFO0E3QjRySE47QTZCMXJISTtFQUNFO0VBQ0E7QTdCNHJITjtBUzMzSFE7RW9CNkxKO0lBSUk7SUFDQTtJQUNBO0U3QjhySE47QUFDRjtBU2w0SFE7RW9CcU1GO0lBRUk7SUFDQTtFN0IrckhSO0FBQ0Y7QTZCN3JITTtFQUNFO0VBQ0E7QTdCK3JIUjtBUzU0SFE7RW9CMk1GO0lBSUk7SUFDQTtJQUNBO0U3QmlzSFI7QUFDRjtBU241SFE7RW9CbU5BO0lBRUk7SUFDQTtFN0Jrc0hWO0FBQ0Y7QVN6NUhRO0VvQjJOSjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdCZ3NITjtBQUNGO0E2QjlySEk7RUFDRTtFQUNBO0E3QmdzSE47QTZCL3JITTtFQUhGO0lBS0k7RTdCaXNITjtBQUNGO0E2QmhzSE07RUFQRjtJQVFJO0U3Qm1zSE47QUFDRjtBU3Q3SFE7RW9CME9KO0lBV0k7RTdCcXNITjtBQUNGO0E2Qm5zSEk7RUFDRTtFQUNBO0E3QnFzSE47QTZCcHNITTtFQUhGO0lBS0k7RTdCc3NITjtBQUNGO0E2QnJzSE07RUFQRjtJQVFJO0U3QndzSE47QUFDRjtBU3o4SFE7RW9Cd1BKO0lBV0k7RTdCMHNITjtBQUNGO0E2QnRzSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0J3c0hKO0FTdjlIUTtFb0J3UU47SUFTSTtJQUNBO0lBQ0E7RTdCMHNISjtBQUNGO0FTOTlIUTtFb0J3UU47SUFjSTtJQUNBO0lBQ0E7RTdCNHNISjtFNkIzc0hJO0lBQ0U7RTdCNnNITjtBQUNGO0E2QjNzSEk7RUFHRTtBN0Iyc0hOO0E2QnpzSEk7RUFHRTtFQUNBO0E3QnlzSE47QVMvK0hRO0VvQndTSjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3QnlzSE47QUFDRjtBNkJ2c0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCeXNITjtBU25nSVE7RW9CbVRKO0lBU0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdCMnNITjtFNkJ4c0hRO0lBQ0U7SUFDQTtFN0Iwc0hWO0FBQ0Y7QTZCdnNITTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCeXNIUjtBUzVoSVE7RW9CMlVGO0lBVUk7RTdCMnNIUjtBQUNGO0E2QnpzSE07RUFDRTtFQUNBO0E3QjJzSFI7QTZCdHNIRTtFQUNFO0VBQ0E7QTdCd3NISjs7QThCNXRJQTtFQUNFO0VBQ0E7QTlCK3RJRjs7QThCNXRJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Qit0SUY7QThCN3RJRTtFQUNFO0VBQ0E7QTlCK3RJSjtBOEI1dElFO0VBQ0U7QTlCOHRJSjtBOEI3dElJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUIrdElOO0E4Qjl0SU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Qmd1SVI7QThCM3RJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGN6QmhCVTtFeUJpQlY7QTlCNnRJSjtBOEI1dElJO0VBQ0U7RUFDQTtFQUNBLG1CekJOZ0I7RXlCT2hCLGN6QnFDRTtFeUJwQ0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCOHRJTjs7QStCdnhJQTtFQUNFO0VBQ0E7RUFDQTtBL0IweElGO0FTMW1JUTtFc0JuTFI7SUFLSTtFL0I0eElGO0FBQ0Y7QStCenhJSTtFQUNFO0VBQ0E7RUFDQTtBL0IyeElOO0ErQnh4SUk7RUFDRTtBL0IweElOO0ErQnR4SUU7RUFDRTtBL0J3eElKO0ErQnJ4SUU7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0J1eElKO0FBQ0Y7QStCcHhJRTtFQUNFO0lBQ0U7RS9Cc3hJSjtFK0JueElFO0lBQ0U7RS9CcXhJSjtBQUNGOztBK0JqeElBO0VBQ0U7SUFDRTtFL0JveElGO0FBQ0Y7QStCanhJQTtFQUVJO0lBQ0U7RS9Ca3hJSjtBQUNGO0ErQjl3SUE7RUFDRTtBL0JneElGOztBZ0MzMElJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQzgwSU47QWdDMzBJSTtFQUNFO0FoQzYwSU47QWdDMTBJSTtFQUNFO0lBQ0U7RWhDNDBJTjtBQUNGO0FnQ3owSUk7RUFDRTtBaEMyMElOO0FnQ3YwSUU7RUFDRTtFQUNBO0VBQ0E7QWhDeTBJSjtBZ0NyMElJO0VBQ0U7RUFDQTtBaEN1MElOO0FnQ24wSUU7RUFDRTtBaENxMElKO0FnQ2wwSUU7RUFDRTtBaENvMElKOztBaUNuM0lBO0VBQ0U7QWpDczNJRjtBaUNyM0lFO0VBQ0U7RUFDQSxjNUJ3QlU7RTRCdkJWO0VBQ0E7RUFDQTtBakN1M0lKO0FpQ3QzSUk7Ozs7O0VBS0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjNUJVUTtFNEJUUjtBakN3M0lOO0FpQ3QzSUk7O0VBRUU7RUFDQTtFQUNBO0VBQ0EsYzVCR1E7RTRCRlI7RUFDQTtBakN3M0lOO0FpQ3AzSUU7RUFDRTtFQUNBO0FqQ3MzSUo7QWlDcjNJSTtFQUNFO0VBQ0E7QWpDdTNJTjtBaUNwM0lFO0VBQ0U7RUFDQTtBakNzM0lKO0FpQ3IzSUk7RUFDRTtFQUNBO0FqQ3UzSU47QWlDcDNJRTtFQUNFO0VBQ0E7QWpDczNJSjtBaUNuM0lFO0VBQ0U7QWpDcTNJSjtBU3Z2SVE7RXdCL0hOO0lBR0k7RWpDdTNJSjtBQUNGOztBaUNuM0lBO0VBQ0U7QWpDczNJRjtBaUNwM0lJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDczNJTjtBaUNqM0lJO0VBQ0U7QWpDbTNJTjtBaUM3MklJOztFQUNFO0FqQ2czSU47O0FpQzEySUE7RUFDRTtFQUNBO0FqQzYySUY7QWlDNTJJRTtFQUNFO0VBQ0E7QWpDODJJSjtBaUM3MklJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjNUIzRVE7RTRCNEVSO0VBQ0E7RUFDQTtBakMrMklOOztBa0N6OUlBO0VBQ0U7RUFDQTtFQUNBLHlCN0JvRk07RTZCbkZOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDNDlJRjtBU2p6SVE7RXlCbkxSO0lBVUk7SUFDQTtJQUNBO0VsQzg5SUY7QUFDRjtBU3h6SVE7RXlCbkxSO0lBZUk7SUFDQTtFbENnK0lGO0FBQ0Y7QVM5eklRO0V5Qm5MUjtJQW1CSTtJQUNBO0VsQ2srSUY7QUFDRjtBa0NqK0lFO0VBQ0U7RUFDQTtBbENtK0lKO0FrQ2orSUU7RUFDRTtFQUNBO0FsQ20rSUo7QWtDMzhJRTtFQUNFO0FsQzY4SUo7QVMvMElRO0V5Qi9ITjtJQUdJO0lBQ0E7SUFDQTtFbEMrOElKO0FBQ0Y7QVN0MUlRO0V5Qi9ITjtJQVFJO0lBQ0E7SUFDQTtFbENpOUlKO0FBQ0Y7QVM3MUlRO0V5Qi9ITjtJQWFJO0lBQ0E7SUFDQTtFbENtOUlKO0FBQ0Y7QWtDajlJRTtFQUNFO0FsQ205SUo7QWtDajlJRTtFQUNFO0FsQ205SUosQyIsInNvdXJjZXMiOlsid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vbm9kZV9tb2R1bGVzLy5wbnBtL3N3aXBlckA2LjguNC9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL3N0eWxlcy9jcGMtZHMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvZm91bmRhdGlvbi9mb3VuZGF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL2ZvdW5kYXRpb24vX2NwYy1mb3VuZGF0aW9uLXNldHRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL3V0aWxzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvdXRpbHMvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL3N0eWxlcy9iYXNlL19jb2xvdXJzLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL2Jhc2UvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL2Jhc2UvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL25vZGVfbW9kdWxlcy8ucG5wbS9mb3VuZGF0aW9uLXNpdGVzQDYuNy41X3dsNXhwNGFtbHc0NTJ5bDdpY3ZocXNxMms0L25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vbm9kZV9tb2R1bGVzLy5wbnBtL2ZvdW5kYXRpb24tc2l0ZXNANi43LjVfd2w1eHA0YW1sdzQ1MnlsN2ljdmhxc3EyazQvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9ub2RlX21vZHVsZXMvLnBucG0vZm91bmRhdGlvbi1zaXRlc0A2LjcuNV93bDV4cDRhbWx3NDUyeWw3aWN2aHFzcTJrNC9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vbm9kZV9tb2R1bGVzLy5wbnBtL2ZvdW5kYXRpb24tc2l0ZXNANi43LjVfd2w1eHA0YW1sdzQ1MnlsN2ljdmhxc3EyazQvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9ub2RlX21vZHVsZXMvLnBucG0vZm91bmRhdGlvbi1zaXRlc0A2LjcuNV93bDV4cDRhbWx3NDUyeWw3aWN2aHFzcTJrNC9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL3N0eWxlcy9iYXNlL19pY29ub2dyYXBoeS5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL3N0eWxlcy9iYXNlL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL2Jhc2UvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvYmFzZS9fZWxldmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jb21wb25lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtYWNjb3JkaW9uL2NwYy1kcy1hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1icmVhZGNydW1icy9jcGMtZHMtYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLWJ1dHRvbnMvY3BjLWRzLWJ1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1saW5rcy9jcGMtZHMtbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1kcm9wZG93bi9jcGMtZHMtZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1tb2RhbHMvY3BjLWRzLW1vZGFscy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLW5vdGlmaWNhdGlvbnMvY3BjLWRzLW5vdGlmaWNhdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1wYWdpbmF0aW9uL2NwYy1kcy1wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtdG9nZ2xlL2NwYy1kcy10b2dnbGUuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1pbnB1dHMvY3BjLWRzLWlucHV0cy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLXNsaWRlci9jcGMtZHMtc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtcHJvY2Vzcy1saXN0L2NwYy1kcy1wcm9jZXNzLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1wcm9jZXNzLWxpc3QvY3BjLWRzLWNvbXBsZXgtcHJvY2Vzcy1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtZGV0YWlscy9jcGMtZHMtZGV0YWlscy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLWxpc3QvY3BjLWRzLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy10b29sdGlwL2NwYy1kcy10b29sdGlwLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnc3dpcGVyLXZhcnMuc2Nzcyc7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3N3aXBlci1pY29ucyc7XG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQScpXG4gICAgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogI3skdGhlbWVDb2xvcn07XG59XG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1wb2ludGVyLWV2ZW50cyB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICYuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgfVxufVxuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbn1cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQge1xuICAmLFxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAuc3dpcGVyLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB9XG59XG5cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgLnN3aXBlci13cmFwcGVyLFxuICAuc3dpcGVyLXNsaWRlLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4gIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxufVxuXG4vKiBDU1MgTW9kZSAqL1xuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGb3IgRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogRm9yIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlICovXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgc3RhcnQ7XG4gIH1cbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSB7XG4gID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgfVxufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSB7XG4gID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTtcbiAgfVxufVxuXG5cblxuIiwiLyogRm91bmRhdGlvbiA2IHV0aWxzIGFuZCBncmlkICovXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2ZvdW5kYXRpb24nO1xuXG5AaW1wb3J0ICcuL3V0aWxzL3V0aWxzJztcbkBpbXBvcnQgJy4vYmFzZS9jb21tb24nO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9jb21wb25lbnRzJztcbiIsIi8qKlxuKiBDdXN0b20gRm91bmRhdGlvbiBzZXR1cCBmb3IgRFNcbiogVXBkYXRlcyB0byBiZSBkb25lIHdpdGggbnBtIEZvdW5kYXRpb24tU2l0ZSB1cGRhdGVcbiogd3dlYnBhY2sgaXMgZXh0ZXJuYWxpemluZyB0aGlzIHNvIGl0IGV4Y2x1ZGVzIGl0IGZyb20gdGhlIGJ1bmRsZVxuKi9cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cblxuQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuXG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ2xvYmFsJztcbi8vIEBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvZm9ybXMnO1xuLy8gQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL2dyaWQnO1xuQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL3h5LWdyaWQnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG4vLyAtLS0gQ1VTVE9NIENQQyBTZXR0aW5ncyAtLS1cbkBpbXBvcnQgJ2NwYy1mb3VuZGF0aW9uLXNldHRpbmdzJztcbiIsIi8qKlxuKiBGb3VuZGF0aW9uIENQQyAvIFNDUCAgU2V0dGluZ3Mgb3ZlcnJpZGVzXG4qL1xuXG4vLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuLy8gIDU3LiBDUEMgY3VzdG9tIHZhcmlhYmxlc1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDE0NDApOyAvL2ZvdW5kYXRpb24gZGVmYXVsdCB3YXMgMTIwMFxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogIzMzMzMzMztcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBoZWx2ZXRpY2EsIHJvYm90bywgYXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogM3B4OyAvL2ZvdW5kYXRpb24gZGVmYXVsdCBpcyAwXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDFweCxcbiAgbGFyZ2U6IDEwMjVweCxcbiAgeGxhcmdlOiAxNDQwcHgsXG4gIC8vIGZvdW5kYXRpb24gZGVmYXVsdCBpcyAxMjAwcHhcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzLFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDE2cHgsXG4gIC8vIGRlZmF1bHQgd2FzIDIwcHhcbiAgbWVkaXVtOiAxNnB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBjb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIGNvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoXG4gICAgICAnZm9udC1zaXplJzogMjQsXG4gICAgKSxcbiAgICAnaDInOiAoXG4gICAgICAnZm9udC1zaXplJzogMjAsXG4gICAgKSxcbiAgICAnaDMnOiAoXG4gICAgICAnZm9udC1zaXplJzogMTksXG4gICAgKSxcbiAgICAnaDQnOiAoXG4gICAgICAnZm9udC1zaXplJzogMTgsXG4gICAgKSxcbiAgICAnaDUnOiAoXG4gICAgICAnZm9udC1zaXplJzogMTcsXG4gICAgKSxcbiAgICAnaDYnOiAoXG4gICAgICAnZm9udC1zaXplJzogMTYsXG4gICAgKSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDQ4LFxuICAgICksXG4gICAgJ2gyJzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDQwLFxuICAgICksXG4gICAgJ2gzJzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDMxLFxuICAgICksXG4gICAgJ2g0JzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDI1LFxuICAgICksXG4gICAgJ2g1JzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDIwLFxuICAgICksXG4gICAgJ2g2JzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDE2LFxuICAgICksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVsZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMS41cmVtOyAvLyBkZWZhdWx0IGlzIDFyZW1cbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplbGVnaWJpbGl0eTtcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6IDEuMjVyZW07XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInO1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJztcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKGRvd24sIHVwLCByaWdodCwgbGVmdCk7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLWNlbGwpO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoZGlzYywgY2lyY2xlLCBzcXVhcmUpO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6ICh2aXNpYmxlLCBoaWRkZW4sIHNjcm9sbCk7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuLy8gJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2EoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2IoMCAwIDAgLyAxMiUpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6ICh3aWR0aCwgaGVpZ2h0KTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlLFxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKG92ZXJsaW5lLCB1bmRlcmxpbmUsIGxpbmUtdGhyb3VnaCk7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAobG93ZXJjYXNlLCB1cHBlcmNhc2UsIGNhcGl0YWxpemUpO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjU7XG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oXG4gICR0YWJsZS1iYWNrZ3JvdW5kLFxuICAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGVcbik7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKFxuICAkdGFibGUtYmFja2dyb3VuZCxcbiAgJHRhYmxlLWNvbG9yLXNjYWxlICogMC41XG4pO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMTZweCxcbiAgLy8gZm91bmRhdGlvbiBkZWZhdWx0IHdhcyAyMHB4XG4gIG1lZGl1bTogMTZweCxcbiAgLy8gZm91bmRhdGlvbiBkZWZhdWx0IHdhcyAzMHB4XG4gIGxhcmdlOiAxNnB4LFxuICB4bGFyZ2U6IDE2cHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA1Ny4gQ3VzdG9tIENQQyB2YXJpYWJsZXNcblxuLy8gRjUgTWVkaWEgUXVlcnkgUmFuZ2VzXG4kc21hbGwtcmFuZ2U6ICgwLCA0MGVtKSAhZGVmYXVsdDtcbiRtZWRpdW0tcmFuZ2U6ICg0MC4wNjNlbSwgNjRlbSkgIWRlZmF1bHQ7XG4kbGFyZ2UtcmFuZ2U6ICg2NC4wNjNlbSwgOTBlbSkgIWRlZmF1bHQ7XG4keGxhcmdlLXJhbmdlOiAoOTAuMDYzZW0sIDEyMGVtKSAhZGVmYXVsdDtcbiR4eGxhcmdlLXJhbmdlOiAoMTIwLjA2M2VtLCA5OTk5OTk5OWVtKSAhZGVmYXVsdDtcbiRzY3JlZW46ICdvbmx5IHNjcmVlbicgIWRlZmF1bHQ7XG5cbiRyb3ctd2lkdGg6IHJlbS1jYWxjKDE0NDApO1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICdDYW5hZGlhbmEnLCAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZXJpZjogJ0NhbmFkaWFuYScsICdSb2JvdG8gc2xhYicsIHNlcmlmO1xuJGJvZHktZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuJGhlYWRlci1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xuJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRsaXN0LWZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vIFBhZ2UgT2Zmc2V0cyAtIERlZmF1bHQgKyBSZXNwb25zaXZlIFNpemVzXG4kZ2xvYmFsLW9mZnNldDogcmVtLWNhbGMoMTI4KTtcbiRnbG9iYWwtc21hbGwtb2Zmc2V0OiByZW0tY2FsYygxNik7XG4kZ2xvYmFsLW1lZGl1bS1vZmZzZXQ6IHJlbS1jYWxjKDMyKTtcbiRnbG9iYWwtbGFyZ2Utb2Zmc2V0OiByZW0tY2FsYygxMjgpO1xuJGdsb2JhbC14bGFyZ2Utb2Zmc2V0OiByZW0tY2FsYygxMjgpO1xuIiwiLypcbiAqXG4gKiBIYW5keSBtaXhpbnMgXG4gKlxuICovXG5cbiRjcGMtZW52aXJvbm1lbnRzOiBkZXYxMCwgZGV2MTEsIGRldjEyLCBkZXYxMywgc3RnMTAsIHN0ZzExLCBzdGcxMiwgc3RnMTMsIHN0ZzE0LFxuICBwcmQxMCwgcHJkMTEsIHd3dztcblxuLy8gQWRkcyBDUEMgZW52aXJvbm1lbnQgc3BlY2lmaWMgcHJvcGVydGllcyB0byBjdXJyZW50IHNjb3BlLlxuLy8gVGhpcyBnZW5lcmF0ZXMgYSBsb3Qgb2YgYm9pbGVyIENTUy4gSXQgd291bGQgYmUgbmljZSB0byBiZSBhYmxlIHRvXG4vLyBpbnZlc3RpZ2F0ZSBwb3NzaWJseSBjb21iaW5pbmcgdGhpcyBtaXhpbiB3aXRoIFNBU1MgcGxhY2Vob2xkZXJzIHRvXG4vLyByZWR1Y2UgZ2VuZXJhdGVkIGNvZGUgKHNlZSBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wMy8zMS9nZXR0aW5nLXRoZS1tb3N0LW91dC1vZi1zYXNzLXBsYWNlaG9sZGVycy8pLFxuLy8gYnV0IG5vdGUgdGhhdCB0aGUgYXBwcm9hY2ggZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0aCBwYXJhbWV0ZXJzXG5AbWl4aW4gZW52aXJvbm1lbnRzLXByb3BlcnR5KCRrZXksICR2YWx1ZSkge1xuICBAaWYgaXMtY3djKCkge1xuICAgIEBmb3IgJGVudiBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGNwYy1lbnZpcm9ubWVudHMpIHtcbiAgICAgIC4je250aCgkY3BjLWVudmlyb25tZW50cywgJGVudil9ICYge1xuICAgICAgICAjeyRrZXl9OiAje3N0ci1yZXBsYWNlKFxuICAgICAgICAgICAgJHZhbHVlLFxuICAgICAgICAgICAgJyRET01BSU4kJyxcbiAgICAgICAgICAgICdodHRwczovLycgKyBudGgoJGNwYy1lbnZpcm9ubWVudHMsICRlbnYpICsgJy5jYW5hZGFwb3N0LmNhJ1xuICAgICAgICAgICl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IGFjY2Vzc2libGUuXG4vLyBAc2VlIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xufVxuXG4vLyBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBjcmVhdGUgYSBjbGFzcyBtb2RpZmllciBuYW1lIGZvciBldmVyeSBtYXAgdmFsdWVzXG4vL3JlZjogaHR0cHM6Ly9mcm9udHN0dWZmLmlvL2dlbmVyYXRlLWFsbC15b3VyLXV0aWxpdHktY2xhc3Nlcy13aXRoLXNhc3MtbWFwc1xuQG1peGluIG1vZGlmaWVycyhcbiAgJG1hcCxcbiAgJGF0dHJpYnV0ZSxcbiAgJHByZWZpeDogJy0nLFxuICAkc2VwYXJhdG9yOiAnLScsXG4gICRiYXNlOiAnYmFzZSdcbikge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJiN7aWYoJGtleSAhPSAkYmFzZSwgI3skcHJlZml4fSN7JGtleX0sICcnKX0ge1xuICAgICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyB7XG4gICAgICAgIEBpbmNsdWRlIG1vZGlmaWVycygkdmFsdWUsICRhdHRyaWJ1dGUsICRzZXBhcmF0b3IpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JGF0dHJpYnV0ZX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbi8qKlxuICogSGFuZHkgZnVuY3Rpb25zIFxuICovXG5cbi8vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG5cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgLy8gQGRlYnVnICRzdHJpbmc7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgK1xuICAgICAgc3RyLXJlcGxhY2UoXG4gICAgICAgIHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSxcbiAgICAgICAgJHNlYXJjaCxcbiAgICAgICAgJHJlcGxhY2VcbiAgICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vLyAgR2l2ZW4gYSBtYXAgYW5kIGEgbGlzdCBvZiBrZXlzLCBmaW5kIHRoZSB2YWx1ZSBhdCB0aGUgZ2l2ZW4ga2V5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1hcFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLlxuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG5cbkBmdW5jdGlvbiBtYXAtZ2V0LWRlZXAoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGlmIGxlbmd0aCgka2V5cykgPT0gMSB7XG4gICAgJGtleXM6IG50aCgka2V5cywgMSk7XG4gIH1cbiAgJHdhcm46ICcje250aCgka2V5cywgMSl9JztcbiAgJGxlbmd0aDogbGVuZ3RoKCRrZXlzKTtcbiAgJGdldDogbWFwLWdldCgkbWFwLCBudGgoJGtleXMsIDEpKTtcblxuICBAaWYgJGxlbmd0aCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICBAaWYgJGdldCAhPSBudWxsIGFuZCB0eXBlLW9mKCRnZXQpID09ICdtYXAnIHtcbiAgICAgICAgJHdhcm46ICR3YXJuICsgJy0+I3tudGgoJGtleXMsICRpKX0nO1xuICAgICAgICAkZ2V0OiBtYXAtZ2V0KCRnZXQsIG50aCgka2V5cywgJGkpKTtcblxuICAgICAgICBAaWYgJGdldCA9PSBudWxsIHtcbiAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQtZGVlcC13YXJuaW5nKCR3YXJuLCAkZ2V0LCBudGgoJGtleXMsICRpKSk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQtZGVlcC13YXJuaW5nKCR3YXJuLCAkZ2V0LCBudGgoJGtleXMsICRpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkZ2V0O1xufVxuXG4vLy8gRGlzcGxheXMgYSB3YXJuaW5nIGlmIHRoZSByZXRyaWV2ZWQgdmFsdWUgaXMgYG51bGxgXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdhcm5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGdldFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5XG4vLy8gQHJldHVybnMge1N0cmluZ31cblxuQGZ1bmN0aW9uIG1hcC1nZXQtZGVlcC13YXJuaW5nKCR3YXJuLCAkZ2V0LCAka2V5KSB7XG4gIEBpZiBub3QgJHByaXZhdGUtc2Fzc3ktbWFwcy1zdXBwcmVzcy13YXJuaW5ncyB7XG4gICAgQGlmICRnZXQgPT0gbnVsbCB7XG4gICAgICBAd2FybiAnTWFwIGhhcyBubyB2YWx1ZSBmb3Iga2V5IHNlYXJjaCBgI3skd2Fybn1gJztcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGdldCkgIT0gJ21hcCcge1xuICAgICAgQHdhcm4gJ05vbi1tYXAgdmFsdWUgZm91bmQgZm9yIGtleSBzZWFyY2ggYCN7JHdhcm59YCwgY2Fubm90IHNlYXJjaCBmb3Iga2V5IGAjeyRrZXl9YCc7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cbiIsIi8vIENQQyBCcmFuZGVkIENvbG91cnNcblxuLy8gUHJpbWFyeSBDb2xvdXJzXG5cbiRjcGMtYmx1ZS0xMDogIzAwMGI1MTtcbiRjcGMtYmx1ZS0yMDogIzAwMTI2NjtcbiRjcGMtYmx1ZS0zMDogIzAwMWI3NjtcbiRjcGMtYmx1ZS00MDogIzAwMjU4MTtcbiRjcGMtYmx1ZS01MDogIzAwMzA4NztcbiRjcGMtYmx1ZS02MDogIzM3NjZiZTtcbiRjcGMtYmx1ZS03MDogIzdlOWVkNztcbiRjcGMtYmx1ZS04MDogI2E3YzFlODtcbiRjcGMtYmx1ZS05MDogI2RhZTlmZDtcbiRjcGMtYmx1ZS0xMDA6ICNlZmY2ZmY7XG5cbiRjcGMtcmVkLTEwOiAjNTAwMDBmO1xuJGNwYy1yZWQtMjA6ICM4MjAwMTk7XG4kY3BjLXJlZC0zMDogI2E5MDAyMDtcbiRjcGMtcmVkLTQwOiAjYzYwMDI1O1xuJGNwYy1yZWQtNTA6ICNlNDAwMmI7XG4kY3BjLXJlZC02MDogI2ZiNDk1ZDtcbiRjcGMtcmVkLTcwOiAjZmY4Nzg3O1xuJGNwYy1yZWQtODA6ICNmZmI0YjQ7XG4kY3BjLXJlZC05MDogI2ZmZTBlMDtcbiRjcGMtcmVkLTEwMDogI2ZmZjJmMjtcblxuJGNwYy1ncmV5LTEwOiAjMTExMTExO1xuJGNwYy1ncmV5LTIwOiAjMmEyYTJhO1xuJGNwYy1ncmV5LTMwOiAjNDM0MzQzO1xuJGNwYy1ncmV5LTQwOiAjNWM1YzVjO1xuJGNwYy1ncmV5LTUwOiAjNzU3NTc1O1xuJGNwYy1ncmV5LTYwOiAjOTQ5NTk1O1xuJGNwYy1ncmV5LTcwOiAjYTdhN2E3O1xuJGNwYy1ncmV5LTgwOiAjYzBjMGMwO1xuJGNwYy1ncmV5LTkwOiAjZDlkOWQ5O1xuJGNwYy1ncmV5LTEwMDogI2YyZjJmMjtcblxuLy8gU2Vjb25kYXJ5IENvbG91cnNcblxuJGNwYy1nbGFjaWVyLWJsdWUtMTA6ICMwMDJiNjY7XG4kY3BjLWdsYWNpZXItYmx1ZS0yMDogIzAwM2M4YztcbiRjcGMtZ2xhY2llci1ibHVlLTMwOiAjMDM0ZWE5O1xuJGNwYy1nbGFjaWVyLWJsdWUtNDA6ICMxNTYwYmQ7XG4kY3BjLWdsYWNpZXItYmx1ZS01MDogIzJjNzNjYTtcbiRjcGMtZ2xhY2llci1ibHVlLTYwOiAjNjJhMWViO1xuJGNwYy1nbGFjaWVyLWJsdWUtNzA6ICM4YmM0ZmQ7XG4kY3BjLWdsYWNpZXItYmx1ZS04MDogI2JhZGRmZjtcbiRjcGMtZ2xhY2llci1ibHVlLTkwOiAjZTFmMmZmO1xuJGNwYy1nbGFjaWVyLWJsdWUtMTAwOiAjZjJmOWZmO1xuXG4kY3BjLXBpbmUtZ3JlZW4tMTA6ICMwMDE3MTc7XG4kY3BjLXBpbmUtZ3JlZW4tMjA6ICMwMDI1MjM7XG4kY3BjLXBpbmUtZ3JlZW4tMzA6ICMwMDMyMmU7XG4kY3BjLXBpbmUtZ3JlZW4tNDA6ICMwMDNmM2E7XG4kY3BjLXBpbmUtZ3JlZW4tNTA6ICMwMDQ0M2Q7XG4kY3BjLXBpbmUtZ3JlZW4tNjA6ICMzYjc5NmM7XG4kY3BjLXBpbmUtZ3JlZW4tNzA6ICM4MWFlOTk7XG4kY3BjLXBpbmUtZ3JlZW4tODA6ICNiMmNlYmQ7XG4kY3BjLXBpbmUtZ3JlZW4tOTA6ICNkNWU5ZGE7XG4kY3BjLXBpbmUtZ3JlZW4tMTAwOiAjZWVmOGYwO1xuXG4kY3BjLXByYWlyaWUtZ29sZC0xMDogIzQ4MmExMDtcbiRjcGMtcHJhaXJpZS1nb2xkLTIwOiAjNzQ0NTFhO1xuJGNwYy1wcmFpcmllLWdvbGQtMzA6ICM4NzU4MzA7XG4kY3BjLXByYWlyaWUtZ29sZC00MDogI2EwNmY0NTtcbiRjcGMtcHJhaXJpZS1nb2xkLTUwOiAjYjY4NzVlO1xuJGNwYy1wcmFpcmllLWdvbGQtNjA6ICNkM2E4ODE7XG4kY3BjLXByYWlyaWUtZ29sZC03MDogI2U3YzE5ZjtcbiRjcGMtcHJhaXJpZS1nb2xkLTgwOiAjZjRkYmMzO1xuJGNwYy1wcmFpcmllLWdvbGQtOTA6ICNmYmYwZTQ7XG4kY3BjLXByYWlyaWUtZ29sZC0xMDA6ICNmZmY5ZjI7XG5cbiRjcGMtd2lsZC1zYWxtb24tMTA6ICM1MTE5MWM7XG4kY3BjLXdpbGQtc2FsbW9uLTIwOiAjNzcyYjJmO1xuJGNwYy13aWxkLXNhbG1vbi0zMDogIzk5NDE0NjtcbiRjcGMtd2lsZC1zYWxtb24tNDA6ICNiODViNjA7XG4kY3BjLXdpbGQtc2FsbW9uLTUwOiAjZDI3OTdlO1xuJGNwYy13aWxkLXNhbG1vbi02MDogI2VkOWRhMTtcbiRjcGMtd2lsZC1zYWxtb24tNzA6ICNmNmIzYjY7XG4kY3BjLXdpbGQtc2FsbW9uLTgwOiAjZmNjZGNmO1xuJGNwYy13aWxkLXNhbG1vbi05MDogI2ZmZWFlYTtcbiRjcGMtd2lsZC1zYWxtb24tMTAwOiAjZmZmNmY2O1xuXG4vLyBCYWNrZ3JvdW5kIENvbG91cnNcbiRjcC1yZWQ6ICNjYTI2MWE7XG4kbWlkLWJsdWU6ICMwNDY3YzY7XG4kY3AtYmx1ZTogIzAwNDk5MDtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRibGFjazogIzAwMDAwMDtcbiRvZmYtYmxhY2s6ICMzMzMzMzM7XG4kY2hhcmNvYWwtZ3JleTogIzY2NjY2NjtcbiRtaWQtZ3JleTogI2NiY2JjYjtcbiRncmV5OiAjZDlkOWQ5O1xuJG1pZC1saWdodC1ncmV5OiAjZTVlNWU1O1xuJGxpZ2h0LWdyZXk6ICNmMGYwZjA7XG4kZ3JleS1ncmFkaWFudC1zdGFydDogI2ZhZmFmYTtcbiRncmV5LWdyYWRpYW50LWVuZDogI2YwZjBmMDtcblxuLy8gU2Vjb25kYXJ5IENvbG91cnNcblxuJG1vcm5pbmctYmx1ZTogI2RhZWFmNTtcbiRncmFzcy1ncmVlbjogIzA5OGEwMDtcbiRzdWNjZXNzLWdyZWVuOiAjMDBhOTA3O1xuJHdhcm5pbmctb3JhbmdlOiAjZTM2ZDAwO1xuJHN1bm55LXllbGxvdzogI2ZmYmYwNTtcblxuLy8gQmFja2dyb3VuZCBDb2xvdXJzXG5cbiRyZWQtYWxlcnQ6ICNmOWU5ZTg7XG4kZ3JlZW4tc3VjY2VzczogI2VjZjZlYjtcbiRibHVlLWluZm86ICNkYWVhZjU7XG4keWVsbG93LWFtYmVyOiAjZmZiZjA1O1xuXG4vLyBNb2RhbCBiYWNrZHJvcCBjb2xvdXJzXG5cbiRiYWNrZHJvcC10cmFuc3BhcmVudDogcmdiKDUxIDUxIDUxIC8gODUlKTtcbiRiYWNrZHJvcC1zb2xpZDogIzVjNWM1YztcblxuJGdob3N0OiAjZmFmYWZhO1xuJHNub3c6ICNmOWY5Zjk7XG4kdmFwb3I6ICNmNmY2ZjY7XG4kd2hpdGUtc21va2U6ICNmNWY1ZjU7XG4kc2lsdmVyOiAjZWZlZmVmO1xuJHNtb2tlOiAjZWVlZWVlO1xuJGdhaW5zYm9ybzogI2RkZGRkZDtcbiRpcm9uOiAjY2NjY2NjO1xuJGJhc2U6ICNhYWFhYWE7XG4kYWx1bWludW06ICM5OTk5OTk7XG4kanVtYm86ICM4ODg4ODg7XG4kbW9uc29vbjogIzc3Nzc3NztcbiRzdGVlbDogIzY2NjY2NjtcbiRjaGFyY29hbDogIzU1NTU1NTtcbiR0dWF0YXJhOiAjNDQ0NDQ0O1xuJG9pbDogIzMzMzMzMztcbiRqZXQ6ICMyMjIyMjI7XG5cbiRjb2xvcnM6IChcbiAgYmx1ZTogKFxuICAgIDEwOiAkY3BjLWJsdWUtMTAsXG4gICAgMjA6ICRjcGMtYmx1ZS0yMCxcbiAgICAzMDogJGNwYy1ibHVlLTMwLFxuICAgIDQwOiAkY3BjLWJsdWUtNDAsXG4gICAgNTA6ICRjcGMtYmx1ZS01MCxcbiAgICA2MDogJGNwYy1ibHVlLTYwLFxuICAgIDcwOiAkY3BjLWJsdWUtNzAsXG4gICAgODA6ICRjcGMtYmx1ZS04MCxcbiAgICA5MDogJGNwYy1ibHVlLTkwLFxuICAgIDEwMDogJGNwYy1ibHVlLTEwMCxcbiAgKSxcbiAgcmVkOiAoXG4gICAgMTA6ICRjcGMtcmVkLTEwLFxuICAgIDIwOiAkY3BjLXJlZC0yMCxcbiAgICAzMDogJGNwYy1yZWQtMzAsXG4gICAgNDA6ICRjcGMtcmVkLTQwLFxuICAgIDUwOiAkY3BjLXJlZC01MCxcbiAgICA2MDogJGNwYy1yZWQtNjAsXG4gICAgNzA6ICRjcGMtcmVkLTcwLFxuICAgIDgwOiAkY3BjLXJlZC04MCxcbiAgICA5MDogJGNwYy1yZWQtOTAsXG4gICAgMTAwOiAkY3BjLXJlZC0xMDAsXG4gICksXG4gIGdyZXk6IChcbiAgICAxMDogJGNwYy1ncmV5LTEwLFxuICAgIDIwOiAkY3BjLWdyZXktMjAsXG4gICAgMzA6ICRjcGMtZ3JleS0zMCxcbiAgICA0MDogJGNwYy1ncmV5LTQwLFxuICAgIDUwOiAkY3BjLWdyZXktNTAsXG4gICAgNjA6ICRjcGMtZ3JleS02MCxcbiAgICA3MDogJGNwYy1ncmV5LTcwLFxuICAgIDgwOiAkY3BjLWdyZXktODAsXG4gICAgOTA6ICRjcGMtZ3JleS05MCxcbiAgICAxMDA6ICRjcGMtZ3JleS0xMDAsXG4gICksXG4gIGdsYWNpZXItYmx1ZTogKFxuICAgIDEwOiAkY3BjLWdsYWNpZXItYmx1ZS0xMCxcbiAgICAyMDogJGNwYy1nbGFjaWVyLWJsdWUtMjAsXG4gICAgMzA6ICRjcGMtZ2xhY2llci1ibHVlLTMwLFxuICAgIDQwOiAkY3BjLWdsYWNpZXItYmx1ZS00MCxcbiAgICA1MDogJGNwYy1nbGFjaWVyLWJsdWUtNTAsXG4gICAgNjA6ICRjcGMtZ2xhY2llci1ibHVlLTYwLFxuICAgIDcwOiAkY3BjLWdsYWNpZXItYmx1ZS03MCxcbiAgICA4MDogJGNwYy1nbGFjaWVyLWJsdWUtODAsXG4gICAgOTA6ICRjcGMtZ2xhY2llci1ibHVlLTkwLFxuICAgIDEwMDogJGNwYy1nbGFjaWVyLWJsdWUtMTAwLFxuICApLFxuICBwaW5lLWdyZWVuOiAoXG4gICAgMTA6ICRjcGMtcGluZS1ncmVlbi0xMCxcbiAgICAyMDogJGNwYy1waW5lLWdyZWVuLTIwLFxuICAgIDMwOiAkY3BjLXBpbmUtZ3JlZW4tMzAsXG4gICAgNDA6ICRjcGMtcGluZS1ncmVlbi00MCxcbiAgICA1MDogJGNwYy1waW5lLWdyZWVuLTUwLFxuICAgIDYwOiAkY3BjLXBpbmUtZ3JlZW4tNjAsXG4gICAgNzA6ICRjcGMtcGluZS1ncmVlbi03MCxcbiAgICA4MDogJGNwYy1waW5lLWdyZWVuLTgwLFxuICAgIDkwOiAkY3BjLXBpbmUtZ3JlZW4tOTAsXG4gICAgMTAwOiAkY3BjLXBpbmUtZ3JlZW4tMTAwLFxuICApLFxuICBwcmFpcmllLWdvbGQ6IChcbiAgICAxMDogJGNwYy1wcmFpcmllLWdvbGQtMTAsXG4gICAgMjA6ICRjcGMtcHJhaXJpZS1nb2xkLTIwLFxuICAgIDMwOiAkY3BjLXByYWlyaWUtZ29sZC0zMCxcbiAgICA0MDogJGNwYy1wcmFpcmllLWdvbGQtNDAsXG4gICAgNTA6ICRjcGMtcHJhaXJpZS1nb2xkLTUwLFxuICAgIDYwOiAkY3BjLXByYWlyaWUtZ29sZC02MCxcbiAgICA3MDogJGNwYy1wcmFpcmllLWdvbGQtNzAsXG4gICAgODA6ICRjcGMtcHJhaXJpZS1nb2xkLTgwLFxuICAgIDkwOiAkY3BjLXByYWlyaWUtZ29sZC05MCxcbiAgICAxMDA6ICRjcGMtcHJhaXJpZS1nb2xkLTEwMCxcbiAgKSxcbiAgd2lsZC1zYWxtb246IChcbiAgICAxMDogJGNwYy13aWxkLXNhbG1vbi0xMCxcbiAgICAyMDogJGNwYy13aWxkLXNhbG1vbi0yMCxcbiAgICAzMDogJGNwYy13aWxkLXNhbG1vbi0zMCxcbiAgICA0MDogJGNwYy13aWxkLXNhbG1vbi00MCxcbiAgICA1MDogJGNwYy13aWxkLXNhbG1vbi01MCxcbiAgICA2MDogJGNwYy13aWxkLXNhbG1vbi02MCxcbiAgICA3MDogJGNwYy13aWxkLXNhbG1vbi03MCxcbiAgICA4MDogJGNwYy13aWxkLXNhbG1vbi04MCxcbiAgICA5MDogJGNwYy13aWxkLXNhbG1vbi05MCxcbiAgICAxMDA6ICRjcGMtd2lsZC1zYWxtb24tMTAwLFxuICApLFxuKTtcblxuLyogY29udmVuaWVudCBjbGFzcyBuYW1lIGZvciBiYWNrZ3JvdW5kIGNvbG9ycyAqL1xuLmJnIHtcbiAgQGluY2x1ZGUgbW9kaWZpZXJzKCRjb2xvcnMsICdiYWNrZ3JvdW5kLWNvbG9yJyk7XG59XG5cbi50ZXh0IHtcbiAgQGluY2x1ZGUgbW9kaWZpZXJzKCRjb2xvcnMsICdjb2xvcicpO1xufVxuIiwiJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2IoMCAwIDAgLyAxMCUpICFkZWZhdWx0O1xuXG4je3RleHQtaW5wdXRzKGFsbCwgJ2lucHV0Jyl9IHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMDtcblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3c7XG4gIH1cbn1cbiIsIi8qKiBMYXlvdXQgYmxvY2tzIHNwZWNpZmkgdG8gTWVyY3VyeSBEZXNpZ24gcGFnZXMgKiovXG5cbi5kcy1sYXlvdXQge1xuICB3aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRzLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cbiAgLmRzLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNwYy1ncmV5LTkwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuLmRzLXN3YXRjaCB7XG4gIGhlaWdodDogNHJlbTtcbiAgd2lkdGg6IDRyZW07XG4gIG1hcmdpbjogMCBhdXRvIDAuNXJlbTtcbn1cblxuLmNwYy1ibG9jay1ncmlkIHtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dChcbiAgICAgIDEyLFxuICAgICAgJy5jcGMtYmxvY2staXRlbScsXG4gICAgICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0IGJvdHRvbVxuICAgICk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KFxuICAgICAgOCxcbiAgICAgICcuY3BjLWJsb2NrLWl0ZW0nLFxuICAgICAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCBib3R0b21cbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KFxuICAgICAgNCxcbiAgICAgICcuY3BjLWJsb2NrLWl0ZW0nLFxuICAgICAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCBib3R0b21cbiAgICApO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLXNpemU6IG51bGw7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgXCJzbWFsbFwiOiAwLFxuICBcIm1lZGl1bVwiOiA2NDBweCxcbiAgXCJsYXJnZVwiOiAxMDI0cHgsXG4gIFwieGxhcmdlXCI6IDEyMDBweCxcbiAgXCJ4eGxhcmdlXCI6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIFwiaGlkcGktMVwiOiAxLFxuICBcImhpZHBpLTEtNVwiOiAxLjUsXG4gIFwiaGlkcGktMlwiOiAyLFxuICBcInJldGluYVwiOiAyLFxuICBcImhpZHBpLTNcIjogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSBkaXZpZGUoMSwgJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHQtbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0LW51bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHQtbnVtYmVyKSB7XG4gICAgICAkbmV4dC1udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHQtbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kLWtleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZC1rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kLWtleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJG1nYzogcmVtLWNhbGMoJG1nKTtcbiAgICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgICAkbWdjOiAwcmVtO1xuICAgICAgfVxuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkbWdjOiByZW0tY2FsYygkbWFyZ2luLWd1dHRlcik7XG4gICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAkbWdjOiAwcmVtO1xuICAgIH1cbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ2N9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgKiAwLjU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBHbG9iYWwgdHlwb2dyYXBoeSBzZXR0aW5nc1xuLy9cbi8vIGZvbnQtZmFtaWx5IGRlZmluaXRpb25zIGluOiAvY3BjL3Njc3MvZm91bmRhdGlvbi9fc2V0dGluZ3Muc2Nzc1xuLy9cblxuLy8gR2xvYmFsc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJ0NhbmFkaWFuYScsICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAnQ2FuYWRpYW5hJywgJ1JvYm90byBzbGFiJywgc2VyaWY7XG4kbGluZS1zcGFjaW5nOiAxLjVyZW07XG4vLyAkbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IENhbmFkaWFuYTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFEaXNwbGF5V0VCLVJlZ3VsYXIub3RmJylcbiAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYURpc3BsYXlXRUItUmVndWxhci5lb2YnKVxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1SZWd1bGFyLndvZmYnKVxuICAgIGZvcm1hdCgnd29mZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IENhbmFkaWFuYTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFEaXNwbGF5V0VCLVJlZ3VsYXJJdGFsaWMub3RmJylcbiAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYURpc3BsYXlXRUItUmVndWxhckl0YWxpYy5lb3QnKVxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1SZWd1bGFySXRhbGljLndvZmYnKVxuICAgIGZvcm1hdCgnd29mZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IENhbmFkaWFuYTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFEaXNwbGF5V0VCLUJvbGQub3RmJylcbiAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYURpc3BsYXlXRUItQm9sZC5lb3QnKVxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1Cb2xkLndvZmYnKVxuICAgIGZvcm1hdCgnd29mZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IENhbmFkaWFuYTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFEaXNwbGF5V0VCLUJvbGRJdGFsaWMub3RmJylcbiAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYURpc3BsYXlXRUItQm9sZEl0YWxpYy5lb3QnKVxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvL0NhbmFkaWFuYURpc3BsYXlXRUItQm9sZEl0YWxpYy53b2ZmJylcbiAgICBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBDYW5hZGlhbmE7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1MaWdodC5vdGYnKVxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1MaWdodC5lb3QnKVxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1MaWdodC53b2ZmJylcbiAgICBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBDYW5hZGlhbmE7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1MaWdodEl0YWxpYy5vdGYnKVxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1MaWdodEl0YWxpYy5lb3QnKVxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1MaWdodEl0YWxpYy53b2ZmJylcbiAgICBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBDYW5hZGlhbmE7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1TZW1pQm9sZC5vdGYnKVxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1TZW1pQm9sZC5lb3QnKVxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1TZW1pQm9sZC53b2ZmJylcbiAgICBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBDYW5hZGlhbmE7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1TZW1pQm9sZEl0YWxpYy5vdGYnKVxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1TZW1pQm9sZEl0YWxpYy5lb3QnKVxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hRGlzcGxheVdFQi1TZW1pQm9sZEl0YWxpYy53b2ZmJylcbiAgICBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuLy9Cb2R5ICYgYmFzZSBodG1sIGVsZW1lbnRzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi5jYW5hZGlhbmEsXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xufVxuXG5ibG9ja3F1b3RlLFxuY2l0ZSB7XG4gIGNvbG9yOiAkY3BjLWdyZXktMzA7XG59XG5cbmJvZHkge1xuICBjb2xvcjogJGNwYy1ncmV5LTMwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1zcGFjaW5nO1xufVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLXNwYWNpbmc7XG59XG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG59XG5cbmJpZyxcbi5iaWcge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgY29sb3I6ICRjcGMtZ3JleS0zMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuc3VwIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG5sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbnVsLFxub2wsXG5kbCB7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1zcGFjaW5nO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbmxpIHtcbiAgY29sb3I6ICRjcGMtZ3JleS0zMDtcbn1cblxudWwsXG5vbCB7XG4gIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuXG4gIHVsLFxuICBvbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIH1cbn1cblxuLmxlZ2VuZCxcbmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5sZWdhbCB7XG4gIGNvbG9yOiAkY3BjLWdyZXktMzA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjcGMtYmx1ZS01MDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIG9sLFxuICB1bCB7XG4gICAgY29sb3I6ICRjcGMtZ3JleS01MDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgfVxufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogJG1pZC1ibHVlO1xuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaGVybyB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNXJlbTtcbn1cblxuLy9IZWFkaW5nc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG5oMSxcbi5oZWFkaW5nLTEsXG5oMixcbi5oZWFkaW5nLTIsXG5oMyxcbi5oZWFkaW5nLTMsXG5oNCxcbi5oZWFkaW5nLTQsXG5oNSxcbi5oZWFkaW5nLTUsXG5oNixcbi5oZWFkaW5nLTYge1xuICBjb2xvcjogJGNwYy1ncmV5LTIwO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xuXG4gICYuaGVybyB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjVyZW07XG4gIH1cbn1cblxuLmhlYWRpbmctMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xufVxuXG4uaGVhZGluZy0yIHtcbiAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAyLjVyZW0gIWltcG9ydGFudDtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xufVxuXG4uaGVhZGluZy0zIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xufVxuXG4uaGVhZGluZy00IHtcbiAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuaDUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xufVxuXG4uaGVhZGluZy01IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xufVxuXG4uaGVhZGluZy02IHtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gIGgxLFxuICBoMS5oZXJvIHtcbiAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgfVxuXG4gIC5oZWFkaW5nLTEge1xuICAgIGZvbnQtc2l6ZTogMS44MTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICB9XG5cbiAgLmhlYWRpbmctMiB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cblxuICAuaGVhZGluZy0zIHtcbiAgICBmb250LXNpemU6IDEuNDM3NXJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICB9XG5cbiAgLmhlYWRpbmctNCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIH1cblxuICAuaGVhZGluZy01IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICB9XG5cbiAgLmhlYWRpbmctNiB7XG4gICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYmlnLFxuICAuYmlnIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIH1cblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG59XG4iLCIvL1xuLy8gR2xvYmFsIGljb25vZ3JhcGh5IHNldHRpbmdzXG4vL1xuXG4kZ3JhcGhpYy1pY29uLXNpemU6IDNyZW07XG5cbmEuaWNvbi1hcnJvdy11cCxcbmEuaWNvbi1hcnJvdy1kb3duLFxuYS5pY29uLWFycm93LWxlZnQsXG5hLmljb24tYXJyb3ctcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmEuaWNvbi1hcnJvdy11cDo6YmVmb3JlLFxuYS5pY29uLWFycm93LXVwOjphZnRlcixcbmEuaWNvbi1hcnJvdy1kb3duOjpiZWZvcmUsXG5hLmljb24tYXJyb3ctZG93bjo6YWZ0ZXIsXG5hLmljb24tYXJyb3ctbGVmdDo6YmVmb3JlLFxuYS5pY29uLWFycm93LWxlZnQ6OmFmdGVyLFxuYS5pY29uLWFycm93LXJpZ2h0OjpiZWZvcmUsXG5hLmljb24tYXJyb3ctcmlnaHQ6OmFmdGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzhiOGI4YjtcbiAgY29udGVudDogJyc7XG4gIGZsb2F0OiByaWdodDtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuYS5pY29uLWFycm93LXVwOjpiZWZvcmUge1xuICByaWdodDogMS41cmVtO1xuICB0b3A6IDEuNXJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuYS5pY29uLWFycm93LXVwOjphZnRlciB7XG4gIHJpZ2h0OiAxLjI1cmVtO1xuICB0b3A6IDEuNXJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG5hLmljb24tYXJyb3ctZG93bjo6YmVmb3JlIHtcbiAgcmlnaHQ6IDEuNXJlbTtcbiAgdG9wOiAxLjVyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbmEuaWNvbi1hcnJvdy1kb3duOjphZnRlciB7XG4gIHJpZ2h0OiAxLjI1cmVtO1xuICB0b3A6IDEuNXJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG5hLmljb24tYXJyb3ctcmlnaHQ6OmJlZm9yZSB7XG4gIHJpZ2h0OiAxLjc1cmVtO1xuICB0b3A6IDEuMjVyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbmEuaWNvbi1hcnJvdy1yaWdodDo6YWZ0ZXIge1xuICByaWdodDogMS43NXJlbTtcbiAgdG9wOiAxLjU1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4iLCIvLyBBY2Nlc3NpYmlsaXR5ICBDbGFzc2VzXG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogMXB4O1xufVxuXG4vLyBBdm9pZCBmb2N1cyByaW5nIG9uIGZvY3VzYWJsZSBlbGVtZW50cyB0aGF0IHdlcmUgY2xpY2tlZCBieSBtb3VzZS4gRml4ZXNcbi8vIEEgQ2hyb21lIGJ1ZyAtIHNlZSBmb2N1cy1yaW5nLWhhbmRsZXIuanMgZm9yIGRldGFpbHNcbi8vIFtkYXRhLWFjdGl2YXRlZC12aWE9J21vdXNlJ106Zm9jdXMge1xuLy8gICBvdXRsaW5lOiAwO1xuLy8gfVxuXG4vKiBzdXBwcmVzcyBmb2N1cyByaW5nIG9uIGZvcm0gY29udHJvbHMgZm9yIG1vdXNlIHVzZXJzICovXG5bZGF0YS13aGF0aW50ZW50PSdtb3VzZSddICo6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiQHVzZSAnc2FzczptYXRoJztcbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gIC8vIG92ZXJmbG93IGF1dG8gZml4ZXMgYW4gaXNzdWUgd2l0aCB0aGUgZml4ZWQgbW9iaWxlXG4gIC8vIHRvb2xiYXIgdGVtcG9yYXJpbHkgaGlkaW5nIGluIHRoZSBtaWRkbGUgb2YgYSB0cmFuc2xhdGUzZFxuICAvLyBhbmltYXRpb24gZm9yIHRoZSBtb2JpbGUgdGFibGUgbmV4dC9wcmV2IGljb25zLlxuICAvLyBtb2JpbGUgb25seSAtIGRlc2t0b3AgcnVsZSBicmVha3MgZGVza3RvcCB0b29sYmFyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yY2UgTVMgSUUgJiBFZGdlIHRvIGF1dG8taGlkZSBzY3JvbGxiYXIgbW9kZSxcbiAgLy8gc28gdGhhdCBzY3JvbGxiYXIgd2lkdGhzIGFyZSBub3QgaW5jbHVkZWQgd2hlbiBkZXRlcm1pbmluZ1xuICAvLyBtZWRpYSBxdWVyeSBicmVha3BvaW50cy4gVGhpcyBrZWVwcyBJRSBjb25zaXN0ZW50IHdpdGhcbiAgLy8gb3RoZXIgYnJvd3NlcnNcbiAgLy8gQ29tbWVudGluZyBvdXQgYXMgYSBmaXggZm9yIElBLTM0MjIuIFRoZSBtZWRpYSBxdWVyeVxuICAvLyBicmVha3BvaW50IGlzc3VlIHNob3VsZCBiZSBjb25zaWRlcmVkIGEgYnJvd3NlciBidWcuXG4gIC8vIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuXG4gIC8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvOTczOTAyMS80NDI0NzIgLVxuICAvLyB3ZWJraXQgcXVpY2sgZml4IHRvIHByZXZlbnQgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGZyb21cbiAgLy8gbWVzc2luZyB1cCB0ZXh0IGR1cmluZyBhbmltYXRpb24uIE5vdGUgdGhhdCBJIHRyaWVkIHRoZSBzb2x1dGlvblxuICAvLyBzdWdnZXN0ZWQgYXQgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzEyMzUwMjA0LzQ0MjQ3MiBidXRcbiAgLy8gSSB3YXNuJ3QgYWJsZSB0byBnZXQgaXQgd29ya2luZy5cbiAgLy8gU2FmYXJpIGRlZmF1bHQgYWxpYXNpbmcgaXMgc3VicGl4ZWwtYW50aWFsaWFzZWQuIFdlJ3JlIGp1c3RcbiAgLy8gdGVsbGluZyBpdCB0byB1c2UgdGhlIGRlZmF1bHQgc28gdGhhdCBoYXJkd2FyZSBhY2NlbGVyYXRpb25cbiAgLy8gZG9lc24ndCBzd2l0Y2ggdGV4dCBmcm9tIHRoaXMgdG8gYW50aWFsaWFzZWQgbWlkLWFuaW1hdGlvblxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcblxuICAvLyBOb3Qgc3VwcG9ydGVkIG9uIElFIGFuZCBFZGdlIGF0IHRoaXMgdGltZSwgYnV0IGl0J3MgYSBxdWlja1xuICAvLyBhbmQgZWFzeSBzb2x1dGlvbiB0byBnZXQgc21vb3RoIHNjcm9sbGluZyB3aGVuIHVzaW5nIEpTXG4gIC8vIHRvIHNjcm9sbCB0byBhbiBlbGVtZW50LiBDaHJvbWUsIEZGIHN1cHBvcnQgdGhpcyBhdCB0aGlzIHRpbWVcbiAgLy8gQ29tbWVudGluZyB0aGlzIG91dCBhcyBpdCBjYXVzZXMgYmFjayB0byB0b3AgaXNzdWVzXG4gIC8vIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgLy8gRm9yY2UgbW9tZW50dW0gc2Nyb2xsaW5nIGJlaGF2aW91ciBvbiBpT1MgZGV2aWNlcy5cbiAgLy8gVHJpZWQgYWRkaW5nIHRoaXMgdG8gdGhlIGNsb3Nlc3QgYXJlYSBvZiB0aGUgRE9NIHdoZXJlIG1vbWVudHVtIHNjcm9sbGluZyBpcyBhY3R1YWxseVxuICAvLyByZXF1aXJlZCwgYXMgd2VsbCBhcyB0byBwYXJlbnQgZWxlbWVudHMsIGJ1dCBtb21lbnR1bSBzY3JvbGxpbmcgZG9lc24ndCBwcm9wZXJseSB3b3JrXG4gIC8vIHdoZW4gYXBwbGllZCBpbiB0aG9zZSBwbGFjZXMuIEl0IHNlZW1zIHJlcXVpcmVkIHdpdGggb3VyIERPTSBzdHJ1Y3R1cmUgdG8gaGF2ZSBpdCBkZWZpbmVkXG4gIC8vIGF0IHRoZSBib2R5IGxldmVsXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBOb3RlIC0gdW5mb3J0dW5hdGVseSBvdmVyZmxvdyBydWxlIGlzIHJlcXVpcmVkIGZvciBlbmFibGluZyBvZiBtb21lbnR1bSBzY3JvbGxpbmcsIGJ1dCBvbiBtb2JpbGUsXG4gIC8vIHdpbmRvdy5zY3JvbGxZIHJldHVybnMgMCBhbGwgdGhlIHRpbWUsIHNvIGl0J3MgaW1wb3NzaWJsZSB0byBrbm93IHdoZXJlIHRoZSBkb2N1bWVudCBpcyBjdXJyZW50bHlcbiAgLy8gc2Nyb2xsZWQgdG8sIHNvbWV0aGluZyB0aGF0IHdlIG5lZWQgdG8ga25vdyBmb3Igc29tZSBvZiBvdXIgY29tcG9uZW50c1xuICAvLyBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLyBsYXJnZSBkZXNrdG9wIGxlZnQvcmlnaHQgd2hpdGVzcGFjZSBhcm91bmQgY29udGVudFxuI21haW4tY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNzYpO1xuXG4gID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtNzYpO1xuICB9XG5cbiAgPiAuY3BjLW1haW4tY29udGVudC0tcm93LFxuICA+IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG4iLCIvLyBFbGV2YXRpb24gc3R5bGVzXG5cbi5jcGMtZHMtZWxldmF0aW9uLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNwYy1kcy1lbGV2YXRpb24tY29udGFpbmVyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uY3BjLWRzLWVsZXZhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luOiAycmVtO1xuICBoZWlnaHQ6IDhyZW07XG4gIHdpZHRoOiA4cmVtO1xuXG4gICYubGV2ZWwtb25lLWdyZXkge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2IoMCAwIDAgLyAxMiUpO1xuICB9XG5cbiAgJi5sZXZlbC10d28tZ3JleSB7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDE2cHggLThweCByZ2IoMCAwIDAgLyAxMiUpLFxuICAgICAgMCA0cHggNHB4IC0ycHggcmdiKDAgMCAwIC8gNiUpO1xuICB9XG5cbiAgJi5sZXZlbC10aHJlZS1ncmV5IHtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggMjRweCAtMTJweCByZ2IoMCAwIDAgLyAxNiUpLFxuICAgICAgMCA0cHggNHB4IC00cHggcmdiKDAgMCAwIC8gOCUpO1xuICB9XG5cbiAgJi5sZXZlbC1mb3VyLWdyZXkge1xuICAgIGJveC1zaGFkb3c6IDAgMzJweCA0OHB4IC0xNnB4IHJnYigwIDAgMCAvIDIwJSksXG4gICAgICAwIDRweCA0cHggLTRweCByZ2IoMCAwIDAgLyA2JSk7XG4gIH1cblxuICAmLmxldmVsLWZpdmUtZ3JleSB7XG4gICAgYm94LXNoYWRvdzogMCA0OHB4IDY0cHggLTI0cHggcmdiKDAgMCAwIC8gMjQlKTtcbiAgfVxuXG4gICYubGV2ZWwtb25lLWJsdWUge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2IoMCA0OCAxMzUgLyAxMiUpO1xuICB9XG5cbiAgJi5sZXZlbC10d28tYmx1ZSB7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDE2cHggLThweCByZ2IoMCA0OCAxMzUgLyAxMiUpLFxuICAgICAgMCA0cHggNHB4IC0ycHggcmdiKDAgNDggMTM1IC8gNiUpO1xuICB9XG5cbiAgJi5sZXZlbC10aHJlZS1ibHVlIHtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggMjRweCAtMTJweCByZ2IoMCA0OCAxMzUgLyAxNiUpLFxuICAgICAgMCA0cHggNHB4IC00cHggcmdiKDAgNDggMTM1IC8gOCUpO1xuICB9XG5cbiAgJi5sZXZlbC1mb3VyLWJsdWUge1xuICAgIGJveC1zaGFkb3c6IDAgMzJweCA0OHB4IC0xNnB4IHJnYigwIDQ4IDEzNSAvIDIwJSksXG4gICAgICAwIDRweCA0cHggLTRweCByZ2IoMCA0OCAxMzUgLyA2JSk7XG4gIH1cblxuICAmLmxldmVsLWZpdmUtYmx1ZSB7XG4gICAgYm94LXNoYWRvdzogMCA0OHB4IDY0cHggLTI0cHggcmdiKDAgNDggMTM1IC8gMjQlKTtcbiAgfVxufVxuXG4uY3BjLWRzLWVsZXZhdGlvbi1sZXZlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDUwJTtcbn1cbiIsIi8qKlxuQ1BDIERlc3VnbiBTeXN0ZW0gY29tcG9uZW50cyBzdHlsZXNcbioqL1xuXG5AaW1wb3J0ICcuL2NwYy1kcy1hY2NvcmRpb24vY3BjLWRzLWFjY29yZGlvbi5zY3NzJztcbkBpbXBvcnQgJy4vY3BjLWRzLWJyZWFkY3J1bWJzL2NwYy1kcy1icmVhZGNydW1iLnNjc3MnO1xuQGltcG9ydCAnLi9jcGMtZHMtYnV0dG9ucy9jcGMtZHMtYnV0dG9ucy5zY3NzJztcbkBpbXBvcnQgJy4vY3BjLWRzLWxpbmtzL2NwYy1kcy1saW5rcy5zY3NzJztcbkBpbXBvcnQgJy4vY3BjLWRzLWRyb3Bkb3duL2NwYy1kcy1kcm9wZG93bi5zY3NzJztcbkBpbXBvcnQgJy4vY3BjLWRzLW1vZGFscy9jcGMtZHMtbW9kYWxzLnNjc3MnO1xuQGltcG9ydCAnLi9jcGMtZHMtbm90aWZpY2F0aW9ucy9jcGMtZHMtbm90aWZpY2F0aW9ucy5zY3NzJztcbkBpbXBvcnQgJy4vY3BjLWRzLXBhZ2luYXRpb24vY3BjLWRzLXBhZ2luYXRpb24uc2Nzcyc7XG5AaW1wb3J0ICcuL2NwYy1kcy10b2dnbGUvY3BjLWRzLXRvZ2dsZS5zY3NzJztcbkBpbXBvcnQgJy4vY3BjLWRzLWlucHV0cy9jcGMtZHMtaW5wdXRzLnNjc3MnO1xuQGltcG9ydCAnLi9jcGMtZHMtc2xpZGVyL2NwYy1kcy1zbGlkZXIuc2Nzcyc7XG5AaW1wb3J0ICcuL2NwYy1kcy1wcm9jZXNzLWxpc3QvY3BjLWRzLXByb2Nlc3MtbGlzdC5zY3NzJztcbkBpbXBvcnQgJy4vY3BjLWRzLXByb2Nlc3MtbGlzdC9jcGMtZHMtY29tcGxleC1wcm9jZXNzLWxpc3Quc2Nzcyc7XG5AaW1wb3J0ICcuL2NwYy1kcy1kZXRhaWxzL2NwYy1kcy1kZXRhaWxzLnNjc3MnO1xuQGltcG9ydCAnLi9jcGMtZHMtbGlzdC9jcGMtZHMtbGlzdC5zY3NzJztcbkBpbXBvcnQgJy4vY3BjLWRzLXRvb2x0aXAvY3BjLWRzLXRvb2x0aXAuc2Nzcyc7XG4iLCIvKipcbkNQQyBEUyBhY2NvcmRpb25zIFxuKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKiogXG4gIEFjY29yZGlvbiBDb250YWluZXIgXG4qKioqKioqKioqKioqKioqKioqKioqL1xuOnJvb3Qge1xuICAtLXRyYW5zaXRpb24tc3BlZWQ6IDAuM3M7XG59XG5cbi5jcGMtZHMtYWNjb3JkaW9ucyB7XG4gIG1heC13aWR0aDogNDguNjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpub3QoLmNwYy1kcy1hY2NvcmRpb25zX19zdGFuZGFsb25lKSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAmLmNwYy1kcy1hY2NvcmRpb25zX190aWxlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBtaW4td2lkdGg6IDM2LjA2MjVyZW07XG4gICAgICB3aWR0aDogNzUlO1xuICAgIH1cbiAgfVxuXG4gICYuY3BjLWRzLWFjY29yZGlvbnNfX3N0YW5kYWxvbmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgJjpub3QoLmNwYy1kcy1hY2NvcmRpb25zX190aWxlcykge1xuICAgICAgICB3aWR0aDogY2FsYyg3NSUgLSAwLjVyZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JhY2stdG8tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgJl9fdGlsZXMge1xuICAgIC5jcGMtZHMtYWNjb3JkaW9uIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJl9fbGlzdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDJyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogMDtcbiAgICAgICAgICBncmlkLXJvdy1nYXA6IDFyZW07XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sZWZ0LWNvbCxcbiAgICAgICAgJi0tcmlnaHQtY29sIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgcm93LWdhcDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWl0ZW0ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1Ljg3NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICRjcGMtYmx1ZS01MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY3BjLWRzLWFjY29yZGlvbl9fY29udGVudC0taW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtIDJyZW07XG4gICAgICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiA2cmVtO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgICAgICAgfVxuICAgICAgICAmLS1leHBhbmQtYWxsIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgJi0taWNvbi1pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYWNjb3JkaW9uX19idXR0b24taWNvbi0tb3BlbiB7XG4gICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuY3BjLWRzLWFjY29yZGlvbnMtZXhwYW5kZXItLWFjdGl2ZSB7XG4gICAgICAgIC5hY2NvcmRpb25fX2J1dHRvbi1pY29uLS1vcGVuIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHVsLmNwYy1kcy1saXN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKlxuIENvbnRyb2wgRXhwYW5kIENvbGxhcHNlIFxuKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmFjY29yZGlvbl9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAuYWNjb3JkaW9uX19jb250cm9scy0taGVhZGluZyB7XG4gICAgZmxleDogMSAwIDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLS1leHBhbmQtY2xvc2UtYWxsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNwYy1kcy1hY2NvcmRpb25fX2NvbnRyb2xzLS1hY3RpdmUge1xuICAuYWNjb3JkaW9uLS1leHBhbmQtY2xvc2UtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5hY2NvcmRpb24tLWV4cGFuZC1vcGVuLWFsbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKiBcbiAgQWNjb3JkaW9uIFJvdyBcbioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5jcGMtZHMtYWNjb3JkaW9uIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjcGMtZ3JleS01MDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIGVhc2UtaW4tb3V0O1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNwYy1ncmV5LTUwO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBjb2xvcjogJGNwYy1ncmV5LTIwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAxcmVtIDMuNXJlbSAxcmVtIDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsIDAgMCAwIDAuMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTA7XG4gICAgfVxuXG4gICAgJi0tZXhwYW5kLWFsbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgY29sb3I6ICRjcGMtYmx1ZS01MDtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIG1pbi13aWR0aDogNS4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgICY6bm90KC5sZWdhbCkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sZWdhbCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jcGMtZHMtYWNjb3JkaW9uIHtcbiAgICAgICAgcCxcbiAgICAgICAgdWwgbGksXG4gICAgICAgIG9sIGxpLFxuICAgICAgICBzcGFuOm5vdCguc3RhbmRhbG9uZV9fZXh0ZXJuYWwpOm5vdCguY3BjLWRzLWxpbmtfX2V4dGVybmFsKTpub3QoLnN0YW5kYWxvbmVfX2ludGVybmFsKTpub3QoLmNwYy1kcy1saW5rX19wZGYpIHtcbiAgICAgICAgICBjb2xvcjogJGNwYy1ncmV5LTMwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIC5jcGMtZHMtYWNjb3JkaW9uIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgZWFzZS1pbi1vdXQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYtLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAkY3BjLWdyZXktMzA7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAgMXJlbSAwO1xuICAgICAgfVxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jcGMtZHMtYWNjb3JkaW9ucy1leHBhbmRlci0tYWN0aXZlIHtcbiAgLmNwYy1kcy1hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLmFjY29yZGlvbl9fYnV0dG9uLWljb24tLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKipcbiBBY2NvcmRpb24gQnV0dG9ucyBcbioqKioqKioqKioqKioqKioqKioqKiovXG4uYWNjb3JkaW9uX19idXR0b24taWNvbi0tb3BlbiB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGJhY2tncm91bmQ6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9jaGV2cm9uLWRvd24tZ3JleS5zdmcnKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICByaWdodDogMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEuMjVyZW07XG59XG5cbi5jcGMtYWNjb3JkaW9uLW91dHJvIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBtYXgtd2lkdGg6IDQ4LjY4NzVyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDAuNXJlbSk7XG4gIH1cbn1cbiIsIi8qKlxuQ1BDIERTIGJyZWFkYnJ1bWJzXG4qKi9cbi5jcGMtZHMtYnJlYWRjcnVtYiB7XG4gICYsXG4gICZfX2FsdCB7XG4gICAgJiB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHJvdy1nYXA6IDAuNXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAmIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICY6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLFxuICAgICAgICAgICAgICAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgJiB7XG4gICAgJiB1bCBsaSB7XG4gICAgICBjb2xvcjogJGNwYy1ibHVlLTUwO1xuICAgICAgJiBhIHtcbiAgICAgICAgY29sb3I6ICRjcGMtYmx1ZS01MDtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9saW5rLWNoZXZyb24tZGVmYXVsdC5zdmcnKVxuICAgICAgICAgICAgbm8tcmVwZWF0IGNlbnRlciBib3R0b20gLyAxcmVtIDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRjcGMtYmx1ZS0zMDtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbGluay1jaGV2cm9uLWhvdmVyLnN2ZycpXG4gICAgICAgICAgICAgIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tIC8gMXJlbSAxcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19hbHQge1xuICAgICYgdWwgbGkge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICYgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvYnJlYWRjcnVtYi1hcnJvdy13aGl0ZS5zdmcnKVxuICAgICAgICAgICAgbm8tcmVwZWF0IGNlbnRlciAvIDAuMzc1cmVtIDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbkNQQyBEUyBidXR0b25zXG4qKi9cblxuLy8gTWFpbiBCdXR0b25cbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbmlucHV0W3R5cGU9J2J1dHRvbiddLFxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxuYnV0dG9uLFxuLmJ1dHRvbixcbmEuYnV0dG9uLFxuYVtyb2xlPSdsaW5rJ10uYnV0dG9uLFxuYVtyb2xlPSdidXR0b24nXS5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA2cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDcuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6bm90KC5zbSkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICB9XG4gICYuc20ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgfVxuXG4gIC8vZm91bmRhdGlvbiAgY29sb3Igb3ZlcnJpZGVzXG4gICYuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXNzLWdyZWVuO1xuICB9XG5cbiAgJi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VubnkteWVsbG93O1xuICB9XG5cbiAgJi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1yZWQtNTA7XG4gIH1cblxuICAvLyAgTGluayBCdXR0b25cbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gICYudGV4dC1idXR0b24sXG4gICYubGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgY29sb3I6ICRtaWQtYmx1ZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJG1pZC1ibHVlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbltyb2xlPSdsaW5rJ10sXG4uYnV0dG9uLFxuYS5idXR0b24sXG5hW3JvbGU9J2xpbmsnXS5idXR0b24sXG5hW3JvbGU9J2J1dHRvbiddLmJ1dHRvbiB7XG4gICY6bm90KC5sZyk6bm90KC5tZCk6bm90KC5zbSkge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gIH1cbiAgJi5sZyB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMS41cmVtO1xuICB9XG4gICYubWQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjI1cmVtO1xuICB9XG4gICYuc20ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICB9XG5cbiAgJi5wcmltYXJ5LFxuICAmOm5vdCguYWx0KSB7XG4gICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAkY3BjLWJsdWUtNTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1ibHVlLTUwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtYmx1ZS0yMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsIDAgMCAwIDAuMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWJsdWUtNTA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5hbHQge1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGNwYy1ibHVlLTIwO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC8vIH1cblxuICAmLmFsdFtkYXRhLWFjdGl2YXRlZC12aWE9J2tleWJvYXJkJ10ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMC44cmVtKTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMC44MTI1cmVtKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTAuNHJlbTtcbiAgICAgIGxlZnQ6IC0wLjRyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA2cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5zZWNvbmRhcnksXG4gICYub3V0bGluZSB7XG4gICAgJjpub3QoLmFsdCkge1xuICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAkY3BjLWJsdWUtNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkY3BjLWJsdWUtMjA7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ2xhY2llci1ibHVlLTEwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAkY3BjLWJsdWUtMjA7XG4gICAgICB9XG4gICAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS00MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsdCB7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJHdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50ZXJ0aWFyeSxcbiAgJi50cmFuc3BhcmVudCB7XG4gICAgJjpub3QoLmFsdCkge1xuICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjcGMtYmx1ZS0yMDtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1nbGFjaWVyLWJsdWUtMTAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTQwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsdCB7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgICAgJltkYXRhLWFjdGl2YXRlZC12aWE9J2tleWJvYXJkJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAgQW5jaG9yIGxpbmtzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5hIHtcbiAgY29sb3I6ICRjcGMtYmx1ZS01MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY3BjLWJsdWUtNTA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAmLm1pY3JvYWN0aW9uIHtcbiAgICBjb2xvcjogJGNwYy1ibHVlLTUwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAmLm1pY3JvYWN0aW9uLmNvcHkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbWljcm9hY3Rpb24taWNvbi1kZWZhdWx0LnN2ZycpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRvcDogM3B4O1xuICAgIH1cbiAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL21pY3JvYWN0aW9uLWljb24taG92ZXIuc3ZnJyk7XG4gICAgfVxuICAgICY6Zm9jdXM6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbWljcm9hY3Rpb24taWNvbi1ob3Zlci5zdmcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuQ1BDIERTIExpbmtzXG4qKi9cblxuYSxcbmFbcm9sZT0nYnV0dG9uJ10sXG5hW3JvbGU9J2xpbmsnXSxcbi5jcGMtZHMtbGluayB7XG4gIGNvbG9yOiAkY3BjLWJsdWUtNTA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBvdXRsaW5lOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDFiNzY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAmLmFuY2hvci1mb290bm90ZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG5cbiAgICAmOmZvY3VzLFxuICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddOmZvY3VzLFxuICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdtb3VzZSddOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXTpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xuXG4gICAgLnN0YW5kYWxvbmVfX2V4dGVybmFsIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5pbmxpbmU6bm90KC5zdGFuZGFsb25lKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOm5vdCguc3RhbmRhbG9uZSkge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIC8vIHN0YW5kYWxvbmVcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAmLnN0YW5kYWxvbmUge1xuICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddOmZvY3VzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuc3RhbmRhbG9uZV9faW50ZXJuYWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBtYXgtaGVpZ2h0OiAxLjVyZW07XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAgIHN1cCB7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbGluay1jaGV2cm9uLWRlZmF1bHQuc3ZnJyk7XG4gICAgICAgIHBhZGRpbmc6IDJweCAwIDAgMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdGFuZGFsb25lX19leHRlcm5hbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIG1heC1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2V4dGVybmFsLWxpbmstZGVmYXVsdC5zdmcnKTtcbiAgICAgICAgcGFkZGluZzogMnB4IDAgMCA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuc3RhbmRhbG9uZV9faW50ZXJuYWwge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2xpbmstY2hldnJvbi1ob3Zlci5zdmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3RhbmRhbG9uZV9fZXh0ZXJuYWwge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2V4dGVybmFsLWxpbmstaG92ZXIuc3ZnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAvLyBleHRlcm5hbFxuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gICY6bm90KC5taWNyb2FjdGlvbik6bm90KC5idXR0b24pW3RhcmdldD0nX2JsYW5rJ10sXG4gICYuc2Vjb25kYXJ5Om5vdCgubWljcm9hY3Rpb24pW3RhcmdldD0nX2JsYW5rJ10ge1xuICAgIC5jcGMtZHMtbGlua19fZXh0ZXJuYWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBtYXgtaGVpZ2h0OiAxLjVyZW07XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2V4dGVybmFsLWxpbmstZGVmYXVsdC5zdmcnKTtcbiAgICAgICAgcGFkZGluZzogMnB4IDAgMCA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciAuY3BjLWRzLWxpbmtfX2V4dGVybmFsOjphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvZXh0ZXJuYWwtbGluay1ob3Zlci5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAvLyBiYWNrIHRvIHRvcFxuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gICYuYmFjay10by10b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9iYWNrLXRvLXRvcC1saW5rLWljb24uc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luOiAwIDAuMjVyZW0gMC4yNXJlbSAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBQREYgTGlua3NcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuY3BjLWRzLWxpbmtfX3BkZiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWF4LWhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL3BkZi1saW5rLWljb24uc3ZnJyk7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbjogMCAwLjI1cmVtIDAuMjVyZW0gMC4yNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgJi5jcGMtZHMtZGV0YWlscyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbmEuYnV0dG9uLFxuYVtyb2xlPSdsaW5rJ10uYnV0dG9uLFxuYVtyb2xlPSdidXR0b24nXS5idXR0b24ge1xuICAuY3BjLWRzLWxpbmtfX2V4dGVybmFsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvZXh0ZXJuYWwtbGluay13aGl0ZS5zdmcnKTtcbiAgICAgIHBhZGRpbmc6IDJweCAwIDAgNHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBsaW5rIGdyb3VwXG4ubGluay1ncm91cCArIC5saW5rLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuIiwiLyogXG5EbyBub3QgZGVsZXRlIHRoZSBmb2xsb3dpbmcgY29tbWVudC4gSXQgaXMgZXNzZW50aWFsIGZvciB0cmFja2luZyBwdXJwb3Nlcy5cbiNNZXJjMjAyMURvTm90RGVsZXRlIFxuKi9cblxuLmNwYy1jb250cm9sLXNlbGVjdCxcbi5kcy1jcGMtY29udHJvbC1zZWxlY3RfX3RwbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NjhweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcbiAgfVxufVxuXG4uaW5wdXQtZXJyb3ItZHJvcGRvd24ge1xuICBtYXgtd2lkdGg6IDQ2OHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuXG4gICYuaW5wdXQtZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxufVxuXG4uZHMtY3BjLWNvbnRyb2wtc2VsZWN0X190cGwge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2Ryb3Bkb3duLWNoZXZyb24uc3ZnJykgcmlnaHQgNTAlIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA5NyU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1ncmV5LTUwO1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbi5jcGMtY29udHJvbC1zZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogc21hcnRwaG9uZXMsIHRvdWNoc2NyZWVucyAqL1xuQG1lZGlhIChob3Zlcjogbm9uZSkgYW5kIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLmNwYy1jb250cm9sLXNlbGVjdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5kcy1jcGMtY29udHJvbC1zZWxlY3RfX3RwbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdC5kaXNhYmxlZCAuY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUge1xuICBib3JkZXI6IHNvbGlkIDFweCAkY3BjLWdyZXktNTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS0xMDA7XG4gIGNvbG9yOiAkY3BjLWdyZXktMzA7XG59XG5cbi5jcGMtY29udHJvbC1zZWxlY3QuZGlzYWJsZWQgLmNwYy1jb250cm9sLXNlbGVjdF9fdG9nZ2xlOmhvdmVyLFxuLmNwYy1jb250cm9sLXNlbGVjdC5kaXNhYmxlZCAuY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggJGNwYy1ncmV5LTUwO1xufVxuXG4uY3BjLWNvbnRyb2wtc2VsZWN0LmRpc2FibGVkXG4gIC5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZVxuICAuY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUtaW5kaWNhdG9yIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogJGNwYy1ncmV5LTYwO1xufVxuXG4uY3BjLWNvbnRyb2wtc2VsZWN0IGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGV0dGVyLXNwYWNpbmc6IHVuc2V0O1xuICBjb2xvcjogJGNwYy1ncmV5LTMwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogNDRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggJGNwYy1ncmV5LTUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDE2cHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA0NjhweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gIH1cbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCBidXR0b24uY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCAkY3BjLWdsYWNpZXItYmx1ZS01MDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCBidXR0b24uY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUuZXJyb3IsXG4uZHMtY3BjLWNvbnRyb2wtc2VsZWN0X190cGwuZXJyb3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLXJlZC01MDtcbiAgY29sb3I6ICRjcGMtZ3JleS01MDtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCBidXR0b24uY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUuZXJyb3I6Zm9jdXMsXG4uZHMtY3BjLWNvbnRyb2wtc2VsZWN0X190cGwuZXJyb3I6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCAkY3BjLXJlZC01MDtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCBidXR0b24uY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdFxuICBidXR0b24uY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGVcbiAgLmNwYy1jb250cm9sLXNlbGVjdF9fdG9nZ2xlLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvZHJvcGRvd24tY2hldnJvbi5zdmcnKSBjZW50ZXIgNTAlIG5vLXJlcGVhdDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCAuY3BjLWNvbnRyb2wtc2VsZWN0X19jb21ibzo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMjBweDtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCAuY3BjLWNvbnRyb2wtc2VsZWN0X19jb21ibyB7XG4gIC0tc2Nyb2xsYmFyQkc6ICNmZmY7XG4gIC0tdGh1bWJCRzogJGNwYy1ncmV5LTYwO1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tdGh1bWJCRykgdmFyKC0tc2Nyb2xsYmFyQkcpO1xufVxuXG4uY3BjLWNvbnRyb2wtc2VsZWN0IC5jcGMtY29udHJvbC1zZWxlY3RfX2NvbWJvOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJvcmRlcjogNXB4IHNvbGlkIHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCAuY3BjLWNvbnRyb2wtc2VsZWN0X19jb21ibzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktNjA7XG4gIGJvcmRlcjogNXB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCAuY3BjLWNvbnRyb2wtc2VsZWN0X19jb21ibyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTk5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCA4cHggMCByZ2JhKDE3LCAxNywgMTcsIDAuMTMpO1xuICAtbW96LWJveC1zaGFkb3c6IDAgM3B4IDhweCAwIHJnYmEoMTcsIDE3LCAxNywgMC4xMyk7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDhweCAwIHJnYmEoMTcsIDE3LCAxNywgMC4xMyk7XG5cbiAgJi5vcGVuQmVsb3csXG4gICYub3BlblVwIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLWdyZXktNTA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIC5jcGMtY29udHJvbC1zZWxlY3QgLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdC5jcGMtY29udHJvbC1zZWxlY3QtLW9wZW4gLmNwYy1jb250cm9sLXNlbGVjdF9fdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1ncmV5LTUwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdC5jcGMtY29udHJvbC1zZWxlY3QtLW9wZW5cbiAgLmNwYy1jb250cm9sLXNlbGVjdF9fdG9nZ2xlLmVycm9yOmZvY3VzLFxuLmRzLWNwYy1jb250cm9sLXNlbGVjdF9fdHBsLmNwYy1jb250cm9sLXNlbGVjdC0tb3BlblxuICAuZHMtY3BjLWNvbnRyb2wtc2VsZWN0X190cGxfX3RvZ2dsZS5lcnJvcjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRjcGMtcmVkLTUwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdC5jcGMtY29udHJvbC1zZWxlY3QtLW9wZW4gLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm8ge1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IDQ2OHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdC5jcGMtY29udHJvbC1zZWxlY3QtLW9wZW5cbiAgLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm8ub3BlbkJlbG93IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItdG9wOiAwcHg7XG59XG5cbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuIC5jcGMtY29udHJvbC1zZWxlY3RfX2NvbWJvLm9wZW5VcCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbTogMHB4O1xufVxuXG4uY3BjLWNvbnRyb2wtc2VsZWN0LmNwYy1jb250cm9sLXNlbGVjdC0tb3BlblxuICBidXR0b24uY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUub3BlbkJlbG93IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuXG4gIGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS5vcGVuVXAge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG59XG5cbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuXG4gIGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS5lcnJvci5vcGVuQmVsb3cge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY3BjLWdyZXktNTA7XG59XG5cbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuXG4gIGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS5lcnJvci5vcGVuVXAge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY3BjLWdyZXktNTA7XG59XG5cbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuXG4gIC5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS1pbmRpY2F0b3Ige1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uY3BjLWNvbnRyb2wtc2VsZWN0IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jcGMtY29udHJvbC1zZWxlY3QgdWwgbGkge1xuICBwYWRkaW5nOiA4cHggMTBweCA4cHggMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICRjcGMtZ3JleS0zMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCB1bCBsaSBzcGFuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNwYy1jb250cm9sLXNlbGVjdCB1bCBsaS5zZWxlY3RlZCxcbi5jcGMtY29udHJvbC1zZWxlY3QgdWwgbGk6Zm9jdXMsXG4uY3BjLWNvbnRyb2wtc2VsZWN0IHVsIGxpOmhvdmVyLFxuLmNwYy1jb250cm9sLXNlbGVjdCB1bCBsaS5zZWxlY3RlZCBzcGFuLFxuLmNwYy1jb250cm9sLXNlbGVjdCB1bCBsaTpmb2N1cyBzcGFuLFxuLmNwYy1jb250cm9sLXNlbGVjdCB1bCBsaTpob3ZlciBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1ibHVlLTkwO1xuICBjb2xvcjogJGNwYy1ncmV5LTIwO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0X190cGwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaW5wdXQtaGVhZGluZyB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG59XG4iLCIvKiBDUEMgRFMgTW9kYWwgKi9cbi8qIFxuRG8gbm90IGRlbGV0ZSB0aGUgZm9sbG93aW5nIGNvbW1lbnQuIEl0IGlzIGVzc2VudGlhbCBmb3IgdHJhY2tpbmcgcHVycG9zZXMuXG4jTWVyYzIwMjFEb05vdERlbGV0ZSBcbiovXG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5vLXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyogdGhpcyBpcyBhZGRlZCB0byB0aGUgYm9keSB3aGVuIGEgZGlhbG9nIGlzIG9wZW4gKi9cbi5oYXMtZGlhbG9nIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogbmF0aXZlIDxkaWFsb2c+IGVsZW1lbnQgdXNlcyB0aGUgOjpiYWNrZHJvcCBwc2V1ZG8tZWxlbWVudCAqL1xuLyogZGlhbG9nOjpiYWNrZHJvcCwgKi9cbi5kaWFsb2ctYmFja2Ryb3Age1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE3LCAxNywgMTcsIDAuNzUpO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLyogRGlhbG9nICovXG4uZGVmYXVsdF9kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAzcHggOHB4IDAgcmdiYSgxNywgMTcsIDE3LCAwLjEzKTtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgLmNsb3NlYnRuIHtcbiAgICAgIG1pbi13aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICg2NHB4ICogMikpO1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgJi5sYXJnZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDc2OHB4O1xuICAgIG1hcmdpbjogNjRweCBhdXRvO1xuICB9XG4gICYubWVkaXVtIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogNTY4cHg7XG4gICAgbWFyZ2luOiA2NHB4IGF1dG87XG4gIH1cbiAgJi5zbWFsbCB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDM2OHB4O1xuICAgIG1hcmdpbjogNjRweCBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICYuc21hbGwsXG4gICAgJi5tZWRpdW0sXG4gICAgJi5sYXJnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRpYWxvZ19sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgY29sb3I6ICMxMTExMTE7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgb3V0bGluZTogbm9uZTtcblxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMjRweDtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0OHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gIH1cbn1cblxuLmRpYWxvZ19mb3JtX2FjdGlvbnMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZGlhbG9nX2Rlc2Mge1xuICBwYWRkaW5nOiAyNHB4IDBweDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBwOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8qKlxuQ1BDIERTIG5vdGlmaWNhdGlvblxuKiovXG5cbi5jcGMtZHMtbm90aWZpY2F0aW9uIHtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMC4yNXJlbTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIuOTM3NXJlbSAwLjkzNzVyZW0gMC45Mzc1cmVtIDFyZW07XG4gIH1cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuXG4gICYuZGlzbWlzc2libGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMy40Mzc1cmVtIDAuOTM3NXJlbSAzLjVyZW07XG4gICAgfVxuICB9XG4gICY6bm90KC5kaXNtaXNzaWJsZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC45Mzc1cmVtIDAuOTM3NXJlbSAzLjVyZW07XG4gICAgfVxuICB9XG4gICYgPiBkaXYgPiAqOmxhc3QtY2hpbGQsXG4gICYgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgJiA+IGRpdiA+ICo6bm90KDpsYXN0LWNoaWxkKSxcbiAgJlxuICAgID4gKjpub3QoOmxhc3QtY2hpbGQpOm5vdCguY3BjLWRzLW5vdGlmaWNhdGlvbl9fY2xvc2UtYnV0dG9uKTpub3QoLmNwYy1kcy1ub3RpZmljYXRpb25fX2ljb24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG4gICYuaW5mbyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3BjLWdsYWNpZXItYmx1ZS01MDtcbiAgICAmLnN0YW5kYXJkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmY5ZmY7XG4gICAgfVxuICAgIC5jcGMtZHMtbm90aWZpY2F0aW9uX19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9ub3RpZmljYXRpb24taW5mby1pY29uLnN2ZycpO1xuICAgIH1cbiAgfVxuICAmLnN1Y2Nlc3Mge1xuICAgIGJvcmRlci1jb2xvcjogJHN1Y2Nlc3MtZ3JlZW47XG4gICAgJi5zdGFuZGFyZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmZmVlO1xuICAgIH1cbiAgICAuY3BjLWRzLW5vdGlmaWNhdGlvbl9faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbm90aWZpY2F0aW9uLXN1Y2Nlc3MtaWNvbi5zdmcnKTtcbiAgICB9XG4gIH1cbiAgJi53YXJuaW5nIHtcbiAgICBib3JkZXItY29sb3I6ICR3YXJuaW5nLW9yYW5nZTtcbiAgICAmLnN0YW5kYXJkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY1ZWI7XG4gICAgfVxuICAgIC5jcGMtZHMtbm90aWZpY2F0aW9uX19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9ub3RpZmljYXRpb24td2FybmluZy1pY29uLnN2ZycpO1xuICAgIH1cbiAgfVxuICAmLmVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRjcGMtcmVkLTUwO1xuICAgICYuc3RhbmRhcmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjJmMjtcbiAgICB9XG4gICAgLmNwYy1kcy1ub3RpZmljYXRpb25fX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL25vdGlmaWNhdGlvbi1lcnJvci1pY29uLnN2ZycpO1xuICAgIH1cbiAgfVxuXG4gICYuYWx0ZXJuYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICYucGVyc29uYWwge1xuICAgICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuICAgICY6bm90KC5wZXJzb25hbCkge1xuICAgICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgNDgsIDEzNSwgMC4xMik7XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC45Mzc1cmVtO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbGVmdDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19jbG9zZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDIuNzVyZW07XG4gICAgaGVpZ2h0OiAyLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbm90aWZpY2F0aW9uLWNsb3NlLWljb24uc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBjb2xvcjogIzQzNDM0MztcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG4gICAgICB9XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMXJlbSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqIFxuQ1BDIERTIFBhZ2luYXRpb24gXG4qKi9cblxuLnNob3ctZm9yLXNyIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4ucGFnaW5hdGlvbi1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICAvKiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczMHB4KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9ICovXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4jcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA0NHB4O1xuICAvKiB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IGF1dG87ICovXG4gIGkge1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2ltZ3MvaWNvbnMvZWxsaXBzaXMuc3ZnKSA1MCUgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAucHJldi1idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBidXR0b24ge1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBtaW4td2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiA0NHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMCAhaW1wb3J0YW50O1xuXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiBtYXJnaW4tcmlnaHQ6IDhweDsgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggIzAwNDk5MDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggIzAwNDk5MCwgMCAwIDAgMnB4ICNmZmYsIDAgMCAwIDRweCAjMDQ2N2M2O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmJ5LWtleWJvYXJkOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjMDA0OTkwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jdXJyZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDY3YzYgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICAgICYuYnkta2V5Ym9hcmQ6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwcHggIzAwNDk5MCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGlzYWJsZWQgKi9cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICArIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZWluYXRpb25UZXh0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGNvbG9yOiAjMzMzO1xuXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8qIE1vYmlsZSAqL1xuLm1vYmlsZVRleHQge1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4ucGFnaW5hdGlvblRleHRGaWVsZCB7XG4gIHdpZHRoOiA2MXB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMCAxMnB4IDAgMDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICM2NjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGNvbG9yOiAjMzMzO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vKiBIaWRlIHRoZSBudW1iZXIgZmllbGQgYXJyb3cgY29udHJvbHMgKi9cbi8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuaW5wdXQucGFnaW5hdGlvblRleHRGaWVsZDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0LnBhZ2luYXRpb25UZXh0RmllbGQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbi8qIEZpcmVmb3ggKi9cbmlucHV0LnBhZ2luYXRpb25UZXh0RmllbGRbdHlwZT0nbnVtYmVyJ10ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLnJlc3VsdHNQZXJQYWdlIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzMwcHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICYubWFyZ2luUmlnaHR7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQ0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH0gKi9cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICB9XG4gIC5jcGMtY29udHJvbC1zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzY4cHg7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmc6IDExcHggMHB4O1xuICB9XG4gIC5jcGMtY29udHJvbC1zZWxlY3RfX2NvbWJvIHtcbiAgICB3aWR0aDogNzlweDtcbiAgICBtaW4td2lkdGg6IDc5cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgbGFiZWwgKyAuY3BjLWNvbnRyb2wtc2VsZWN0IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmRlc2t0b3Age1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogNDRweDtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiBJbnB1dCBmb2N1cyAqL1xuaW5wdXRbdHlwZT0nbnVtYmVyJ106Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjMDQ2N2M2O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDBweCAwcHgjMDQ2N2M2LFxuICAgIGluc2V0IC0xcHggLTFweCAwcHggMHB4IzA0NjdjNjtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDBweCAwcHgjMDQ2N2M2LCBpbnNldCAtMXB4IC0xcHggMHB4IDBweCMwNDY3YzY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMHB4IDBweCMwNDY3YzYsIGluc2V0IC0xcHggLTFweCAwcHggMHB4IzA0NjdjNjtcbn1cblxuLm1hcmdpblJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAyOHB4O1xufVxuIiwiLyoqXG4vKiBDUEMgRFMgdG9nZ2xlXG4vKipcblxuLyogXG5EbyBub3QgZGVsZXRlIHRoZSBmb2xsb3dpbmcgY29tbWVudC4gSXQgaXMgZXNzZW50aWFsIGZvciB0cmFja2luZyBwdXJwb3Nlcy5cbiNNZXJjMjAyMURvTm90RGVsZXRlIFxuKi9cblxuLyogY29udGFpbmluZyBsYWJlbCAqL1xuLnRvZ2dsZVRleHQge1xuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDMycHg7XG4gIGhlaWdodDogYXV0bztcblxuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcGFkZGluZy10b3A6IDRweDtcbn1cblxuYnV0dG9uLnN3aXRjaC10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIHdoaXRlLXNwYWNlOiB1bnNldDtcblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8qIG5lZ2F0ZSAnZmxhc2gnIG9mIHRleHQgY29sb3Igd2hlbiBwcmVzc2luZyBhIGJ1dHRvbiBpbiBzb21lIGJyb3dzZXJzICovXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICB9XG59XG5cbi8qIHVzaW5nIHRoZSBiZWZvcmUvYWZ0ZXIgcHNldWRvIGVsZW1lbnRzIG9mIHRoZSBzcGFuIHRvIGNyZWF0ZSB0aGUgXCJzd2l0Y2hcIiAqL1xuLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSxcbi5zd2l0Y2gtdG9nZ2xlX191aTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8qIHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7ICovXG4gIHRvcDogMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMCUpO1xufVxuXG4vKiBzdHlsaW5nIHNwZWNpZmljIHRvIHRoZSBrbm9iIG9mIHRoZSBzd2l0Y2ggKi9cbi5zd2l0Y2gtdG9nZ2xlX191aTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHJpZ2h0OiA0cHg7XG4gIHRvcDogNHB4O1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjE4MjVzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuXG4gIC8qIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7ICovXG59XG5cbi8qIHN0eWxpbmcgc3BlY2lmaWMgdG8gdGhlIGtub2IgXCJjb250YWluZXJcIiAqL1xuLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM4ODg4ODg7XG4gIGJvcmRlci1yYWRpdXM6IDEuNzVlbTtcbiAgcmlnaHQ6IDBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gIHdpZHRoOiA1NnB4O1xuICBoZWlnaHQ6IDMycHg7XG59XG5cbi5zd2l0Y2gtdG9nZ2xlOmhvdmVyIC5zd2l0Y2gtdG9nZ2xlX191aTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNjY2NjY2O1xufVxuXG4vKiBGb2N1cyBTdGF0ZSAqL1xuLnN3aXRjaC10b2dnbGUtLWxhYmVsc1thcmlhLXByZXNzZWQ9J2ZhbHNlJ106Zm9jdXMgLnN3aXRjaC10b2dnbGVfX3VpOmFmdGVyLFxuLnN3aXRjaC10b2dnbGUuYnkta2V5Ym9hcmQ6Zm9jdXMgLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDBweCAjZmZmLCAwIDAgMCAwcHggIzA0NjdjNiAhaW1wb3J0YW50O1xufVxuLnN3aXRjaC10b2dnbGVbYXJpYS1wcmVzc2VkPSd0cnVlJ106Zm9jdXMgLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmLCAwIDAgMCA0cHggIzA0NjdjNjtcbiAgYmFja2dyb3VuZDogIzAwNDk5MDtcbn1cbi5zd2l0Y2gtdG9nZ2xlOmZvY3VzIC5zd2l0Y2gtdG9nZ2xlX191aTpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZiwgMCAwIDAgNHB4ICMwNDY3YzY7XG4gIGJhY2tncm91bmQ6ICM2NjY2NjY7XG59XG4vKiBFTkQgRm9jdXMgU3RhdGUgKi9cblxuLyogY2hhbmdlIHRoZSBwb3NpdGlvbiBvZiB0aGUga25vYiB0byBpbmRpY2F0ZSBpdCBoYXMgYmVlbiBjaGVja2VkKi9cbi5zd2l0Y2gtdG9nZ2xlW2FyaWEtcHJlc3NlZD0ndHJ1ZSddIC5zd2l0Y2gtdG9nZ2xlX191aTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAxMiAxMFwiPiA8ZyBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj4gPGcgc3Ryb2tlPVwiJTIzMDQ2N0M2XCIgc3Ryb2tlLXdpZHRoPVwiMlwiPiA8Zz4gPGc+IDxnPiA8cGF0aCBkPVwiTTcuNSAxMy4yODNMMTAuNzExIDE2IDE2LjUgOFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtOTI4LjAwMDAwMCwgLTExNTMuMDAwMDAwKSB0cmFuc2xhdGUoNzc3LjAwMDAwMCwgMTE0Mi4wMDAwMDApIHRyYW5zbGF0ZSgxMTcuMDAwMDAwLCAwLjAwMDAwMCkgdHJhbnNsYXRlKDI4LjAwMDAwMCwgNC4wMDAwMDApXCIvPiA8L2c+IDwvZz4gPC9nPiA8L2c+IDwvZz4gPC9zdmc+Jyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLnN3aXRjaC10b2dnbGVbYXJpYS1wcmVzc2VkPSd0cnVlJ106Zm9jdXMgLnN3aXRjaC10b2dnbGVfX3VpOmFmdGVyLFxuLnN3aXRjaC10b2dnbGVbYXJpYS1wcmVzc2VkPSd0cnVlJ106aG92ZXIgLnN3aXRjaC10b2dnbGVfX3VpOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEyIDEwXCI+IDxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPiA8ZyBzdHJva2U9XCIlMjMwMDQ5OTBcIiBzdHJva2Utd2lkdGg9XCIyXCI+IDxnPiA8Zz4gPGc+IDxwYXRoIGQ9XCJNNy41IDEzLjI4M0wxMC43MTEgMTYgMTYuNSA4XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC05MjguMDAwMDAwLCAtMTE1My4wMDAwMDApIHRyYW5zbGF0ZSg3NzcuMDAwMDAwLCAxMTQyLjAwMDAwMCkgdHJhbnNsYXRlKDExNy4wMDAwMDAsIDAuMDAwMDAwKSB0cmFuc2xhdGUoMjguMDAwMDAwLCA0LjAwMDAwMClcIi8+IDwvZz4gPC9nPiA8L2c+IDwvZz4gPC9nPiA8L3N2Zz4nKTtcbn1cblxuLnN3aXRjaC10b2dnbGVbYXJpYS1wcmVzc2VkPSd0cnVlJ10uYnkta2V5Ym9hcmQgLnN3aXRjaC10b2dnbGVfX3VpOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEyIDEwXCI+IDxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPiA8ZyBzdHJva2U9XCIlMjMwNDY3QzZcIiBzdHJva2Utd2lkdGg9XCIyXCI+IDxnPiA8Zz4gPGc+IDxwYXRoIGQ9XCJNNy41IDEzLjI4M0wxMC43MTEgMTYgMTYuNSA4XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC05MjguMDAwMDAwLCAtMTE1My4wMDAwMDApIHRyYW5zbGF0ZSg3NzcuMDAwMDAwLCAxMTQyLjAwMDAwMCkgdHJhbnNsYXRlKDExNy4wMDAwMDAsIDAuMDAwMDAwKSB0cmFuc2xhdGUoMjguMDAwMDAwLCA0LjAwMDAwMClcIi8+IDwvZz4gPC9nPiA8L2c+IDwvZz4gPC9nPiA8L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uc3dpdGNoLXRvZ2dsZVthcmlhLXByZXNzZWQ9J3RydWUnXS5ieS1rZXlib2FyZDpob3ZlciAuc3dpdGNoLXRvZ2dsZV9fdWk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMFwiIHZpZXdCb3g9XCIwIDAgMTIgMTBcIj4gPGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+IDxnIHN0cm9rZT1cIiUyMzAwNDk5MFwiIHN0cm9rZS13aWR0aD1cIjJcIj4gPGc+IDxnPiA8Zz4gPHBhdGggZD1cIk03LjUgMTMuMjgzTDEwLjcxMSAxNiAxNi41IDhcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTkyOC4wMDAwMDAsIC0xMTUzLjAwMDAwMCkgdHJhbnNsYXRlKDc3Ny4wMDAwMDAsIDExNDIuMDAwMDAwKSB0cmFuc2xhdGUoMTE3LjAwMDAwMCwgMC4wMDAwMDApIHRyYW5zbGF0ZSgyOC4wMDAwMDAsIDQuMDAwMDAwKVwiLz4gPC9nPiA8L2c+IDwvZz4gPC9nPiA8L2c+IDwvc3ZnPicpO1xufVxuXG4vKiB1cGRhdGUgdGhlIGNvbG9yIG9mIHRoZSBcImNvbnRhaW5lclwiIHRvIGZ1cnRoZXIgdmlzdWFsbHkgaW5kaWNhdGUgc3RhdGUgKi9cbi5zd2l0Y2gtdG9nZ2xlW2FyaWEtcHJlc3NlZD0ndHJ1ZSddLmJ5LWtleWJvYXJkIC5zd2l0Y2gtdG9nZ2xlX191aTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMDQ2N2M2O1xufVxuLnN3aXRjaC10b2dnbGVbYXJpYS1wcmVzc2VkPSd0cnVlJ10uYnkta2V5Ym9hcmQ6aG92ZXJcbiAgLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMwMDQ5OTA7XG59XG4uc3dpdGNoLXRvZ2dsZVthcmlhLXByZXNzZWQ9J2ZhbHNlJ10uYnkta2V5Ym9hcmQgLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM4ODg4ODg7XG59XG4uc3dpdGNoLXRvZ2dsZVthcmlhLXByZXNzZWQ9J2ZhbHNlJ10uYnkta2V5Ym9hcmQ6aG92ZXJcbiAgLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2NjY2NjY7XG59XG5cbi8qKlxuICogVG9nZ2xlIHN3aXRjaCBtb2RpZmljYXRpb25zIGZvciBkaXNwbGF5aW5nIE9uL09mZiBsYWJlbHNcbiAqL1xuLnN3aXRjaC10b2dnbGUtLWxhYmVscyBzcGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4uc3dpdGNoLXRvZ2dsZS0tbGFiZWxzW2FyaWEtcHJlc3NlZD0nZmFsc2UnXSBzcGFuOmFmdGVyIHtcbiAgcmlnaHQ6IDI4cHg7XG59XG5cbi5zd2l0Y2gtdG9nZ2xlLS1sYWJlbHNbYXJpYS1wcmVzc2VkPSd0cnVlJ10gc3BhbjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLnN3aXRjaC10b2dnbGVfX3VpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aW5kb3dUZXh0O1xuICB9XG59XG4iLCIvKipcbiAqIENQQyBjdXN0b21pemVkIGNoZWNrYm94IGFuZCByYWRpbyBidXR0b24gaW5wdXRzXG4gKi9cblxuZmllbGRzZXQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXgtd2lkdGg6IDI3MXB4O1xuICB3aWR0aDogMTAwJTtcblxuICBkaXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG5cblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlLFxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKTpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkbWlkLWJsdWU7XG59XG5cbi8qIEhpZGUgdGhlIGJyb3dzZXIncyBkZWZhdWx0IGNoZWNrYm94ICovXG5cblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcblxuICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXTpmb2N1cyArIGxhYmVsOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcbiAgfVxufVxuXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWwsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICRjcGMtZ3JleS0zMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlcjogc29saWQgJGNwYy1ncmV5LTUwIDFweDtcbiAgICBib3JkZXItcmFkaXVzOiA2LjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG5cblt0eXBlPSdyYWRpbyddICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICR3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyBlYXNlIDAuNXM7XG59XG5cblt0eXBlPSdyYWRpbyddW2Rpc2FibGVkXTpjaGVja2VkIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAkY3BjLWdyZXktOTA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjcGMtZ3JleS01MDtcbn1cblxuW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAkY3BjLWJsdWUtNTA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjcGMtYmx1ZS01MDtcbn1cblxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAkY3BjLWdsYWNpZXItYmx1ZS01MDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1nbGFjaWVyLWJsdWUtNTA7XG59XG5cblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IG5vbmU7XG4gIHRvcDogMC4zNzVyZW07XG4gIGxlZnQ6IDAuMzEyNXJlbTtcbiAgd2lkdGg6IDAuMzc1cmVtO1xuICBoZWlnaHQ6IDAuNTYyNXJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDRkZWcpO1xuICBib3JkZXI6IHNvbGlkICR3aGl0ZTtcbiAgYm9yZGVyLXdpZHRoOiAwIDAuMTI1cmVtIDAuMTI1cmVtIDA7XG59XG5cblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC42MjVyZW07XG4gIGxlZnQ6IDAuMzc1cmVtO1xuICB3aWR0aDogMC4yNXJlbTtcbiAgaGVpZ2h0OiAwLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiA0MCU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbn1cblxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOjphZnRlcixcblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbn1cblxuW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4vKiBDaGVja2VkIHN0YXRlICovXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWwge1xuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRjcGMtZ2xhY2llci1ibHVlLTUwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4vKiBEaXNhYmxlZCBzdGF0ZSAqL1xuW3R5cGU9J2NoZWNrYm94J106ZGlzYWJsZWQsXG5bdHlwZT0ncmFkaW8nXTpkaXNhYmxlZCB7XG4gICYgKyBsYWJlbCB7XG4gICAgY29sb3I6ICRjcGMtZ3JleS01MDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLWdyZXktOTA7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJjpjaGVja2VkIHtcbiAgICAmICsgbGFiZWwge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3BjLWdyZXktOTA7XG4gICAgICAgIGNvbG9yOiAkY3BjLWdyZXktNTA7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1ncmV5LTUwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMC4xMjVyZW0gMC4xMjVyZW0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gICogQ1BDIGN1c3RvbWl6ZWQgdGV4dCwgcGFzc3dvcmQsIGRhdGUsIHRpbWUgYW5kIHRleHRhcmVhIGlucHV0XG4gICovXG5cblt0eXBlPSdjb2xvciddLFxuW3R5cGU9J2RhdGUnXSxcblt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuW3R5cGU9J2RhdGV0aW1lJ10sXG5bdHlwZT0nZW1haWwnXSxcblt0eXBlPSdtb250aCddLFxuW3R5cGU9J251bWJlciddLFxuW3R5cGU9J3Bhc3N3b3JkJ10sXG5bdHlwZT0nc2VhcmNoJ10sXG5bdHlwZT0ndGVsJ10sXG5bdHlwZT0ndGV4dCddLFxuW3R5cGU9J3RpbWUnXSxcblt0eXBlPSd1cmwnXSxcblt0eXBlPSd3ZWVrJ10ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyM3JlbTtcbiAgaGVpZ2h0OiAyLjc1cmVtO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1ncmV5LTUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGNvbG9yOiAkY3BjLWdyZXktMzA7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgLyogQ2hhbmdlIGFzIHBlciBuZWVkICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY3BjLWdyZXktMzA7XG4gICAgb3BhY2l0eTogMTsgLyogRmlyZWZveCAqL1xuICB9XG5cbiAgJjpyZWFkLW9ubHkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcGMtZ3JleS01MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktMTAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAkY3BjLWJsdWUtMjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1nbGFjaWVyLWJsdWUtMTAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsIDAgMCAwIDAuMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTAgIWltcG9ydGFudDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcGMtZ3JleS01MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktMTAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJi5lcnJvciB7XG4gICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAkY3BjLXJlZC00MDtcbiAgfVxuICAmLnN1Y2Nlc3Mge1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJHN1Y2Nlc3MtZ3JlZW47XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLWdyZXktNjA7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgY29sb3I6ICRjcGMtZ3JleS0zMDtcbiAgcGFkZGluZzogMC42MjVyZW0gMXJlbTtcbiAgaGVpZ2h0OiAxMi44MTI1cmVtO1xuICBvdXRsaW5lOiBub25lO1xuICBtYXgtd2lkdGg6IDIzLjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgcmVzaXplOiBub25lO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNwYy1ncmV5LTMwO1xuICAgIG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi9cbiAgfVxuXG4gICY6cmVhZC1vbmx5IHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRjcGMtZ3JleS02MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktMTAwO1xuICAgIGNvbG9yOiAkY3BjLWdyZXktMzA7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlcjogc29saWQgMC4xMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDAgMCAkY3BjLWdsYWNpZXItYmx1ZS01MCxcbiAgICAgIGluc2V0IC0xcHggLTFweCAwIDAgJGNwYy1nbGFjaWVyLWJsdWUtNTA7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiAxMi44MTI1cmVtOyAvL1xuICBtYXgtd2lkdGg6IDIzLjg3NXJlbTsgLy9cbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyAvL1xuICByZXNpemU6IG5vbmU7IC8vXG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgLy9cbiAgb3ZlcmZsb3c6IGF1dG87IC8vXG59XG5cbmxhYmVsICsgaW5wdXRbdHlwZT0ndGV4dCddLFxubGFiZWwgKyBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxubGFiZWwgKyBpbnB1dFt0eXBlPSdkYXRlJ10sXG5sYWJlbCArIGlucHV0W3R5cGU9J3RpbWUnXSxcbmxhYmVsICsgdGV4dGFyZWEge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuXG4vKiBSZWFkIG9ubHkgdGV4dCAqL1xuXG5pbnB1dFt0eXBlPSd0ZXh0J106cmVhZC1vbmx5OjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuaW5wdXRbdHlwZT0ndGV4dCddOnJlYWQtb25seTo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIHZhbGlkYXRpb24gZXJyb3IgKi9cblxuaW5wdXRbdHlwZT0ndGV4dCddLmVycm9yLFxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXS5lcnJvcixcbmlucHV0W3R5cGU9J2RhdGUnXS5lcnJvcixcbmlucHV0W3R5cGU9J3RpbWUnXS5lcnJvciB7XG4gIGJvcmRlcjogc29saWQgMnB4ICRjcGMtcmVkLTQwO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xufVxuXG5pbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMuZXJyb3IsXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLmVycm9yLFxuaW5wdXRbdHlwZT0nZGF0ZSddOmZvY3VzLmVycm9yIGlucHV0W3R5cGU9J3RpbWUnXTpmb2N1cy5lcnJvciB7XG4gIGJvcmRlcjogc29saWQgMC4xMjVyZW0gJGNwYy1yZWQtNDAgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAwIDAgJGNwYy1yZWQtNDAsIGluc2V0IC0xcHggLTFweCAwIDAgJGNwYy1yZWQtNDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxudGV4dGFyZWEuZXJyb3Ige1xuICBib3JkZXI6IHNvbGlkIDFweCAkY3BjLXJlZC01MCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG5cbnRleHRhcmVhOmZvY3VzLmVycm9yIHtcbiAgYm9yZGVyOiBzb2xpZCAwLjEyNXJlbSAkY3BjLXJlZC01MCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDAgMCAkY3BjLXJlZC01MCwgaW5zZXQgLTFweCAtMXB4IDAgMCAkY3BjLXJlZC01MDtcbn1cblxuLm1heENoYXJhY3RlciB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNwYy1ncmV5LTUwO1xufVxuLm1heENoYXJhY3RlciArIC5pbnB1dC1lcnJvciB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4vKmVycm9yIG1lc3NhZ2UqL1xuLmlucHV0LWVycm9yIHtcbiAgbWF4LXdpZHRoOiAyMi44MTI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAkY3BjLXJlZC00MDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvcmVkLWFsZXJ0LnN2ZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5pbnB1dC1oZWFkaW5nIHtcbiAgY29sb3I6ICRjcGMtZ3JleS0yMDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi8qaGludCB0ZXh0IG1lc3NhZ2UqL1xuLmhpbnRUZXh0IHtcbiAgd2lkdGg6IDIzLjg3NXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuLnJhZGlvSWNvbiB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHRvcDogLTAuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsZXhSYWRpbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC43NXJlbTtcbn1cblxuLy8gRm9yIGljb25zIGluc2lkZSBpbnB1dCBmaWVsZHNcbi5jcGMtZHMtaW5wdXQge1xuICAmX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBpbnB1dCB7XG4gICAgICAmW3R5cGU9J2NvbG9yJ10sXG4gICAgICAmW3R5cGU9J2RhdGUnXSxcbiAgICAgICZbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgICAgICZbdHlwZT0nZGF0ZXRpbWUnXSxcbiAgICAgICZbdHlwZT0nZW1haWwnXSxcbiAgICAgICZbdHlwZT0nbW9udGgnXSxcbiAgICAgICZbdHlwZT0nbnVtYmVyJ10sXG4gICAgICAmW3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgICAmW3R5cGU9J3NlYXJjaCddLFxuICAgICAgJlt0eXBlPSd0ZWwnXSxcbiAgICAgICZbdHlwZT0ndGV4dCddLFxuICAgICAgJlt0eXBlPSd0aW1lJ10sXG4gICAgICAmW3R5cGU9J3VybCddLFxuICAgICAgJlt0eXBlPSd3ZWVrJ10ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAzcmVtIDAuNjI1cmVtIDFyZW07XG4gICAgICB9XG4gICAgICAmW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMS4zNzVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xuICAgICAgICB9XG4gICAgICAgICYuc2VhcmNoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy91cGxvYWRzL2tiL21pY3JvaWNvbi1zZWFyY2guc3ZnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qICBCTE9HIENBUkRTICAqL1xuLmNwYy1kcy1zbGlkZXIge1xuICBtYXgtd2lkdGg6IDE2ODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1OHB4O1xuICB9XG4gICYucGVyc29uYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgLmNwYy1kcy1zbGlkZXJfX3NsaWRlcy0tc2xpZGUge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICYuaG92ZXIsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDEycHggMTZweCAtOHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksXG4gICAgICAgICAgMHB4IDRweCA0cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jcGMtZHMtc2xpZGVyX19idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9ibG9nLWNhcmQtY2hldnJvbi1wZXJzb25hbC5zdmcnKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9ibG9nLWNhcmQtY2hldnJvbi1wZXJzb25hbC10YWItbW9iLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMGMwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMGMwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jcGMtZHMtc2xpZGVyX19zY3JvbGxiYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgICAgICYtLWRyYWcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzQzNDM7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzQzNDM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpub3QoLnBlcnNvbmFsKSB7XG4gICAgLmNwYy1kcy1zbGlkZXJfX3NsaWRlcy0tc2xpZGUge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgwLCA0OCwgMTM1LCAwLjEyKTtcbiAgICAgICYuaG92ZXIsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDEycHggMTZweCAtOHB4IHJnYmEoMCwgNDgsIDEzNSwgMC4xMiksXG4gICAgICAgICAgMHB4IDRweCA0cHggLTJweCByZ2JhKDAsIDQ4LCAxMzUsIDAuMDYpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jcGMtZHMtc2xpZGVyX19idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGZlYjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9ibG9nLWNhcmQtY2hldnJvbi1idXNpbmVzcy1lbnRlcnByaXNlLnN2ZycpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGRmZWI7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2Jsb2ctY2FyZC1jaGV2cm9uLWJ1c2luZXNzLWVudGVycHJpc2UtdGFiLW1vYi5zdmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2JmY2Q7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkZmViO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdiZmNkO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3YmZjZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdiZmNkO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3YmZjZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdiZmNkO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdiZmNkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY3BjLWRzLXNsaWRlcl9fc2Nyb2xsYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGRmZWI7XG4gICAgICAmLS1kcmFnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYjQ1O1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYjQ1O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYnVzaW5lc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmY5ZmY7XG4gIH1cbiAgJi5lbnRlcnByaXNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmNmZmO1xuICB9XG5cbiAgJl9fbWFpbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMTg0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAyNHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgJi53aXRoLXJlbGF0ZWQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgJjpub3QoLndpdGgtcmVsYXRlZC1jb250ZW50KSB7XG4gICAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgICB9XG4gIH1cblxuICAmX19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgIHdpZHRoOiA4NS4zMzMzMzMlO1xuICAgICAgbWluLXdpZHRoOiA5NjFweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAycHggNjhweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDJweCA2MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgd2lkdGg6IDg1LjMzMzMzMyU7XG4gICAgICBtaW4td2lkdGg6IDk2MXB4O1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlcyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHBhZGRpbmc6IDI0cHggMCA0OHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHBhZGRpbmc6IDE2cHggMCAwO1xuICAgIH1cbiAgICAmLS1zbGlkZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICYgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAmLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICAgICYtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHJvdy1nYXA6IDI0cHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBwYWRkaW5nOiAyNHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICM0MzQzNDM7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogIzAwMWI3NjtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2xpbmstY2hldnJvbi1kZWZhdWx0LnN2ZycpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmZmZmLCAwIDAgMCA0cHggIzJjNzNjYTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgJjpob3ZlciArIGRpdiBzcGFuIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgJiArIGRpdiBzcGFuIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZiwgMCAwIDAgNHB4ICMyYzczY2E7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAxMnB4IDE2cHggLThweCByZ2JhKDAsIDAsIDAsIDAuMTIpLFxuICAgICAgICAgICAgICAwcHggNHB4IDRweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEycHggMTNweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiAyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIDAgMDtcbiAgICAgIHRvcDogdW5zZXQ7XG4gICAgICBib3R0b206IC0yMnB4O1xuICAgIH1cbiAgICAmLnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYsIDAgMCAwIDRweCAjMmM3M2NhO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYsIDAgMCAwIDRweCAjMmM3M2NhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5cHggMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDEycHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXByZXYge1xuICAgICAgbGVmdDogLTc2cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBAbWVkaWEgcHJpbnQsXG4gICAgICAgIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUuMDYzZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAtNzZweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZVgoLTEpO1xuICAgICAgQG1lZGlhIHByaW50LFxuICAgICAgICBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1LjA2M2VtKSBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICByaWdodDogLTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zY3JvbGxiYXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTJweDtcbiAgICB6LWluZGV4OiA1MDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiA4NS4zMzMzMzMlO1xuICAgICAgbWluLXdpZHRoOiA5NjFweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgYm90dG9tOiAyMXB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEzNnB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2OHB4O1xuICAgICAgJi5jcGMtZHMtc2xpZGVyX19zY3JvbGxiYXItLWFjdGl2ZSB7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgfVxuICAgICY6aG92ZXIgJi0tZHJhZzo6YWZ0ZXIsXG4gICAgJjphY3RpdmUgJi0tZHJhZzo6YWZ0ZXIsXG4gICAgJjpmb2N1cyAmLS1kcmFnOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTE2cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1kcmFnIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAtMTBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZmZmZiwgMCAwIDAgNHB4ICMyYzczY2E7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbm90aWZpY2F0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiLmNwYy1kcy1wcm9jZXNzLWxpc3QtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTc4cHg7XG59XG5cbm9sLmNwYy1kcy1wcm9jZXNzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgLmJyOHB4IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIGxpIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMC4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTJhMmE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTEuNXJlbTtcbiAgICAgICAgdG9wOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSk7XG4gICAgICBiYWNrZ3JvdW5kOiAkY3BjLWdsYWNpZXItYmx1ZS01MDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmNwYy1kcy1jb21wbGV4LXByb2Nlc3MtbGlzdC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG5cbiAgb2wuY3BjLWRzLXByb2Nlc3MtbGlzdCB7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNXB4IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgY29sdW1uLWdhcDogMTVweDtcbiAgICB9XG5cbiAgICBsaTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIG9sLmNwYy1kcy1wcm9jZXNzLWxpc3QgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLmltYWdlLXdyYXAge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDMycHggMDtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNC41cHgpIHtcbiAgICAuaGlkZS1mb3ItbGFyZ2Utc2NyZWVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNC41cHgpIHtcbiAgLnNob3ctZm9yLWxhcmdlLXNjcmVlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjQuNXB4KSB7XG4gIGltZyB7XG4gICAgJi5pbGx1c3RyYXRpb24tYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG4gIH1cbn1cblxuLm1iLTI0IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG4iLCIuY3BjLWRzLWRldGFpbHMtd3JhcCB7XG4gIC5jcGMtZHMtZGV0YWlscyB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBjb250ZW50OiB1cmwoL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9hY2NvcmRpb24tY2hldnJvbi5zdmcpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogMC40cztcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIHJpZ2h0OiAtMnB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkgYW5kIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgICY6bm90KDphY3RpdmUpIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC5jcGMtZHMtYWNjb3JkaW9uX19idXR0b24ge1xuICAgIGRpc3BsYXk6IHVuc2V0O1xuICAgIHBhZGRpbmc6IDAgMS4yNXJlbSAwIDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAmLmNwYy1kcy1hY2NvcmRpb25zLWV4cGFuZGVyLS1hY3RpdmUge1xuICAgIC5jcGMtZHMtZGV0YWlsczo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG4gIH1cblxuICAuY3BjLWRzLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5jcGMtZHMtYWNjb3JkaW9uX19jb250ZW50LS1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLmNwYy1kcy1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGkge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIHN0cm9uZyxcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGNvbG9yOiAkY3BjLWdyZXktMjA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgIH1cbiAgICBwLFxuICAgIHNwYW46bm90KC5jcGMtZHMtbGlua19fZXh0ZXJuYWwpOm5vdCguY3BjLWRzLWxpbmtfX3BkZik6bm90KC5zdGFuZGFsb25lX19leHRlcm5hbCk6bm90KC5zdGFuZGFsb25lX19pbnRlcm5hbCkge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICBjb2xvcjogJGNwYy1ncmV5LTMwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmxlZ2FsKSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgbGk6bm90KC5sZWdhbCkge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICB9XG4gIH1cbiAgJi5sZWdhbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIH1cbiAgfVxuICBsaS5sZWdhbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICB9XG5cbiAgJi53aWR0aC03NSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgfVxuICB9XG59XG5cbnVsLmNwYy1kcy1saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgbGkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTFyZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvY3BjL2Fzc2V0cy9jcGMvdXBsb2Fkcy9pY29ucy9CdWxsZXQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cblxuICAmOm5vdCgubGVnYWwpIGxpOm5vdCgubGVnYWwpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwLjYyNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmxlZ2FsIGxpLFxuICBsaS5sZWdhbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMC4zNzVyZW07XG4gICAgfVxuICB9XG59XG5cblxub2wuY3BjLWRzLWxpc3Qge1xuICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkLWxpc3QtY291bnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZC1saXN0LWNvdW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZC1saXN0LWNvdW50ZXIpICcuICc7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICBjb2xvcjogJGNwYy1ncmV5LTMwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmNwYy1kcy10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICRjcGMtZ3JleS01MDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogY2FsYygxMDAlICsgMXJlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICBib3R0b206IC0zLjg5cmVtO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGJvdHRvbTogLTMuODlyZW07XG4gICAgbGVmdDogMDtcbiAgfVxuICAmLnNob3dpbmcge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAmOm5vdCguc2hvd2luZykge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC8vICY6OmJlZm9yZSB7XG4gIC8vICAgY29udGVudDogJyc7XG4gIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAvLyAgIHdpZHRoOiAwLjVyZW07XG4gIC8vICAgaGVpZ2h0OiAxcmVtO1xuICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL3VwbG9hZHMvaWNvbnMvdG9vbHRpcC1hcnJvdy1yZWJyYW5kZWQuc3ZnJyk7XG4gIC8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAvLyAgICAgdG9wOiA1MCU7XG4gIC8vICAgICBsZWZ0OiAtMC41cmVtO1xuICAvLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAvLyAgIH1cbiAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gIC8vICAgICB0b3A6IC0wLjc1cmVtO1xuICAvLyAgICAgcmlnaHQ6IDAuOTFyZW07XG4gIC8vICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIC8vICAgfVxuICAvLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAvLyAgICAgdG9wOiAtMC43NXJlbTtcbiAgLy8gICAgIGxlZnQ6IDUwJTtcbiAgLy8gICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgLy8gICB9XG4gIC8vIH1cbiAgJl9fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICBsZWZ0OiAtMC42MjVyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgcmlnaHQ6IDAuNzVyZW07XG4gICAgICB0b3A6IC0wLjc1cmVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogLTAuNzVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gIH1cbiAgJl9fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgJl9fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/