/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/sass/singles/single.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/

.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 16px;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-font-size: 12px;
  --bs-breadcrumb-font-size: 0.75rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 8px;
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: #0a0a0a;
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius); }

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; }

.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color); }

.breadcrumbs {
  position: relative;
  max-width: 100vw;
  margin-right: -12px;
  margin-right: -0.75rem;
  margin-left: -12px;
  margin-left: -0.75rem; }
  .breadcrumbs .breadcrumb {
    flex-wrap: nowrap;
    padding: 12px;
    padding: 0.75rem;
    margin: unset;
    overflow-x: auto; }
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      position: absolute;
      top: 0;
      display: block;
      height: 100%;
      pointer-events: none;
      content: ""; }
    .breadcrumbs .breadcrumb:before {
      left: 0;
      width: 16px;
      width: 1rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color) 0, var(--alpha-breadcrumbs-mobile-shadow-color-end)); }
    .breadcrumbs .breadcrumb:after {
      right: 0;
      width: 32px;
      width: 2rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color-end) 0, var(--alpha-breadcrumbs-mobile-shadow-color)); }
  .breadcrumbs.on-featured {
    --alpha-breadcrumbs-mobile-shadow-color: #000;
    --alpha-breadcrumbs-mobile-shadow-color-end: rgba(0, 0, 0, 0);
    top: var(--featured-image-height);
    z-index: 10;
    transform: translateY(-100%); }
    .breadcrumbs.on-featured .breadcrumb {
      --bs-breadcrumb-divider-color: currentcolor;
      --bs-breadcrumb-item-active-color: currentcolor; }
      .breadcrumbs.on-featured .breadcrumb:before, .breadcrumbs.on-featured .breadcrumb:after {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
        opacity: .75; }

.breadcrumbs-on-featured:not(.has-transparent-header) .breadcrumbs {
  top: calc(var(--header-height) + var(--featured-image-height));
  transition: top .3s ease; }

.breadcrumbs-on-featured.search .content-wrapper {
  padding-top: 32px;
  padding-top: 2rem; }

.breadcrumb-item {
  white-space: nowrap; }
  .breadcrumb-item + .breadcrumb-item:before {
    content: "\f105";
    margin-right: 0;
    line-height: var(--bs-body-line-height); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: unset;
    padding-right: 4px;
    padding-right: .25rem; }
  .breadcrumb-item.active span {
    font-weight: 700; }

.single-post .post-metas {
  color: #9d9d9d; }

@media (min-width: 768px) {
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      display: none; } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBWUE7RUFPRSxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLG1DQUFtQztFQUNuQyxrQ0FBa0M7OztBQWtCcEM7RUFDRSxpQ0FBaUM7RUFDakMsZ0JBQWdCOzs7QUFqQ2xCO0VBT0UscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLGNBQWM7RUFDZCxtQ0FBbUM7RUFDbkMsa0NBQWtDOzs7QUFrQnBDO0VBQ0UsaUNBQWlDO0VBQ2pDLGdCQUFnQjs7O0FBakNsQjtFQU9FLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsbUNBQW1DO0VBQ25DLGtDQUFrQzs7O0FBa0JwQztFQUNFLGlDQUFpQztFQUNqQyxnQkFBZ0I7O0FDN0NsQjtFQUVFLDRCQUF1RDtFQUN2RCw0QkFBdUQ7RUFDdkQsbUNBQStEO0VBQS9ELG1DQUErRDtFQzJSM0QsK0JBbkUrQjtFQW1FL0Isa0NBbkUrQjtFRHRObkMsb0JBQXlDO0VBQ3pDLCtCQUErRDtFQUMvRCx3REFBK0Q7RUFDL0QsbUNBQWlFO0VBQWpFLHNDQUFpRTtFQUNqRSwwQ0FBdUU7RUFHdkUsYUFBYTtFQUNiLGVBQWU7RUFDZixzRUFBZ0k7RUFDaEksaURBQWtGO0VDK1E5RSx5Q0FuRStCO0VEMU1uQyxnQkFBZ0I7RUFDaEIseUNBQStEO0VFQTdELGlERkN3Rjs7QUFHNUY7RUFHSSxpREFBbUY7RUFIdkY7SUFNTSxXQUFXO0lBQ1gsa0RBQW9GO0lBQ3BGLHlDQUEwRTtJQUMxRSx1RkFBdU47O0FBVDdOO0VBY0ksNkNBQWtGOztBR25DdEY7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLG1CQUFnRDtFQUFoRCxzQkFBZ0Q7RUFDaEQsa0JBQStDO0VBQS9DLHFCQUErQztFQUpqRDtJQU9JLGlCQUFpQjtJQUNqQixhQ29Hd0M7SURwR3hDLGdCQ29Hd0M7SURuR3hDLGFBQWE7SUFDYixnQkFBZ0I7SUFWcEI7TUFjTSxrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLGNBQWM7TUFDZCxZQUFZO01BQ1osb0JBQW9CO01BQ3BCLFdBQVc7SUFuQmpCO01BdUJNLE9BQU87TUFDUCxXQUFXO01BQVgsV0FBVztNQUNYLDBJQUEwSTtJQXpCaEo7TUE2Qk0sUUFBUTtNQUNSLFdBQVc7TUFBWCxXQUFXO01BQ1gsMElBQTBJO0VBL0JoSjtJQTZDSSw2Q0FBd0M7SUFDeEMsNkRBQTRDO0lBQzVDLGlDQUFpQztJQUNqQyxXQUFXO0lBQ1gsNEJBQTRCO0lBakRoQztNQW9ETSwyQ0FBOEI7TUFDOUIsK0NBQWtDO01BckR4QztRQXlEUSxpRUFBWTtRQUFaLFlBQVk7O0FBTXBCO0VBR00sOERBQThEO0VBQzlELHdCQUF3Qjs7QUFKOUI7RUFVTSxpQkNLVTtFRExWLGlCQ0tVOztBREFoQjtFQUNFLG1CQUFtQjtFSDFEckI7SUR1RUUsZ0JNekZtQztJTjBIakMsZUkzQ21FO0lKNkNuRSx1Q0FBdUM7RUMxRzNDO0lHZ0VNLFlBQVk7SUFDWixrQkFBcUI7SUFBckIscUJBQXFCO0VBUjNCO0lBY00sZ0JBQWdCOztBR3hGdEI7RUFFSSxjRkdjOztBR29EZDtJSjdESjtNQXVDUSxhQUFhLElBQ2QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9hY29wdGljLXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3ZlbmRvcnMvZm9udGF3ZXNvbWUvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9hY29wdGljLXRoZW1lLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vYWNvcHRpYy10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovL2Fjb3B0aWMtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vYWNvcHRpYy10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vYWNvcHRpYy10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2Fjb3B0aWMtdGhlbWUvLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9hY29wdGljLXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3NpbmdsZXMvX3NpbmdsZS5zY3NzIiwid2VicGFjazovL2Fjb3B0aWMtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiR1c2UtZmEtcHJvOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmEtaWNvbi1zdGFuZGFsb25lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbiVmYSxcbiVmYXMsXG4lZmFyLFxuJWZhbCxcbiVmYWQsXG4lZmF0LFxuJWZhYiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4lZmEtaWNvbi1zdGFuZGFsb25lIHtcbiAgQGluY2x1ZGUgZmEtaWNvbi1zdGFuZGFsb25lICgpO1xufVxuXG4lZmEsXG4lZmFzIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbiVmYXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuJWZhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IFByb1wiO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4lZmF0IHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbiVmYWIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZSgkY29kZSkge1xuICBAZXh0ZW5kICVmYS1pY29uLXN0YW5kYWxvbmU7XG5cbiAgQGlmICR1c2UtZmEtcHJvIHtcbiAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvKCRjb2RlKTtcbiAgfSBAZWxzZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICAgIEBleHRlbmQgJWZhO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQ6ICRjb2RlO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvKCRjb2RlKSB7XG4gIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tc29saWQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1zb2xpZCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhcztcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLXJlZ3VsYXIoJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYXI7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1saWdodCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhbDtcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLXRoaW4oJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYXQ7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1icmFuZCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhYjtcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtYmVmb3JlKCRjb2RlLCAkZmxvYXRpbmc6IGZhbHNlLCAkZmEtc3R5bGU6IFwic29saWRcIiwgJG1hcmdpbjogLjI1ZW0pIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaWYgJGZhLXN0eWxlID09IFwicmVndWxhclwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tcmVndWxhcigkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tbGlnaHQoJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwidGhpblwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tdGhpbigkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJicmFuZFwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tYnJhbmQoJGNvZGUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lKCRjb2RlKTtcbiAgICB9XG5cbiAgICBAaWYgJGZsb2F0aW5nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcblxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1icy1ib2R5LWxpbmUtaGVpZ2h0KTtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtYWZ0ZXIoJGNvZGUsICRmbG9hdGluZzogZmFsc2UsICRmYS1zdHlsZTogXCJzb2xpZFwiLCAkbWFyZ2luOiAuMjVlbSkge1xuICAmOjphZnRlciB7XG4gICAgQGlmICRmYS1zdHlsZSA9PSBcInJlZ3VsYXJcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXJlZ3VsYXIoJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLWxpZ2h0KCRjb2RlKTtcbiAgICB9IEBlbHNlIGlmICRmYS1zdHlsZSA9PSBcInRoaW5cIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXRoaW4oJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwiYnJhbmRcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLWJyYW5kKCRjb2RlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZSgkY29kZSk7XG4gICAgfVxuXG4gICAgQGlmICRmbG9hdGluZyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG5cbiAgICBsaW5lLWhlaWdodDogdmFyKC0tYnMtYm9keS1saW5lLWhlaWdodCk7XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteTogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICN7JGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbX07XG4gIEBpbmNsdWRlIHJmcygkYnJlYWRjcnVtYi1mb250LXNpemUsIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZzogI3skYnJlYWRjcnVtYi1iZ307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogI3skYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAjeyRicmVhZGNydW1iLWRpdmlkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAjeyRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogI3skYnJlYWRjcnVtYi1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gU3VwcHJlc3MgaW5saW5lIHNwYWNpbmdzIGFuZCB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcik7XG4gICAgICBjb250ZW50OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpKSAje1wiLyogcnRsOlwifSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZCkpICN7XCIqL1wifTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kaW1lbnNpb24tbm8tbm9uLW51bWVyaWMtdmFsdWVzXG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgdmFsdWVzIGZvciBmb250IHNpemVzLCBwYWRkaW5ncywgbWFyZ2lucyBhbmQgbXVjaCBtb3JlXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi9tYWluL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcHgge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkgYW5kICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIGRpdmlkZSgxLCAkcmZzLXJlbS12YWx1ZSkpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZX1weCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1taW46ICRyZnMtYmFzZS12YWx1ZSArIGRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZS1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlLW1pbn1weCk7XG5cbiAgICAgICAgICAvLyBVc2UgbmVnYXRpdmUgdmFsdWUgaWYgbmVlZGVkXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHZhbHVlIDwgMCwgLSRtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJHZhbHVlLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgY2FsYyhcIiArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCBcIiAtIFwiLCBcIiArIFwiKSArICR2YXJpYWJsZS13aWR0aCArIFwiKVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZC12YWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWQtdmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWQtdmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkLXZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9icmVhZGNydW1iXCI7XG5cbi5icmVhZGNydW1icyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKCN7JGNvbnRhaW5lci1wYWRkaW5nLXh9ICogLTEpO1xuICBtYXJnaW4tbGVmdDogY2FsYygjeyRjb250YWluZXItcGFkZGluZy14fSAqIC0xKTtcblxuICAuYnJlYWRjcnVtYiB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgcGFkZGluZzogJGNvbnRhaW5lci1wYWRkaW5nLXg7XG4gICAgbWFyZ2luOiB1bnNldDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWFscGhhLWJyZWFkY3J1bWJzLW1vYmlsZS1zaGFkb3ctY29sb3IpIDAsIHZhcigtLWFscGhhLWJyZWFkY3J1bWJzLW1vYmlsZS1zaGFkb3ctY29sb3ItZW5kKSk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMnJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvci1lbmQpIDAsIHZhcigtLWFscGhhLWJyZWFkY3J1bWJzLW1vYmlsZS1zaGFkb3ctY29sb3IpKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmJyZWFkY3J1bWIge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYub24tZmVhdHVyZWQge1xuICAgIC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvcjogI3skYnJlYWRjcnVtYi1vbi1mZWF0dXJlZC1tb2JpbGUtc2hhZG93LWNvbG9yfTtcbiAgICAtLWFscGhhLWJyZWFkY3J1bWJzLW1vYmlsZS1zaGFkb3ctY29sb3ItZW5kOiAje3JnYmEoJGJyZWFkY3J1bWItb24tZmVhdHVyZWQtbW9iaWxlLXNoYWRvdy1jb2xvciwgMCl9O1xuICAgIHRvcDogdmFyKC0tZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0KTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXG4gICAgLmJyZWFkY3J1bWIge1xuICAgICAgLS1icy1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgIC0tYnMtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogY3VycmVudGNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJyZWFkY3J1bWJzLW9uLWZlYXR1cmVkIHtcbiAgJjpub3QoLmhhcy10cmFuc3BhcmVudC1oZWFkZXIpIHtcbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgdG9wOiBjYWxjKHZhcigtLWhlYWRlci1oZWlnaHQpICsgdmFyKC0tZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0KSk7XG4gICAgICB0cmFuc2l0aW9uOiB0b3AgLjNzIGVhc2U7XG4gICAgfVxuICB9XG5cbiAgJi5zZWFyY2gge1xuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHNwYWNlcnMsIDgpO1xuICAgIH1cbiAgfVxufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1iZWZvcmUoJGZhLXZhci1hbmdsZS1yaWdodCwgZmFsc2UsIFwibGlnaHRcIiwgMCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIn5AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwifkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy92YXJpYWJsZXNcIjtcblxuJHRoZW1lLWFzc2V0LXBhdGg6IFwiLi4vaW1hZ2VzXCIgIWRlZmF1bHQ7XG4kZm9udHMtcGF0aDogXCJmb250c1wiICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBDb2xvciBzeXN0ZW1cbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y3ZjdmNyAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTUwMDogIzlkOWQ5ZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzBhMGEwYSAhZGVmYXVsdDtcbiRibGFjazogIzAwMCAhZGVmYXVsdDtcbiRuZW1hdGlzLXZpb2xldDogIzcxMTk2ZiAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICMwMDVkYWEgIWRlZmF1bHQ7XG4kcHVycGxlOiAjNzAxZTZlICFkZWZhdWx0O1xuJGdyZWVuOiAjMDFhZTNjICFkZWZhdWx0O1xuJHJlZDogI2RjMzU0NSAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmZmMxMDcgIWRlZmF1bHQ7XG4kY3lhbjogIzBkY2FmMCAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICRibHVlLFxuICBcInB1cnBsZVwiOiAkcHVycGxlLFxuICBcImdyZWVuXCI6ICRncmVlbixcbiAgXCJ3aGl0ZVwiOiAkd2hpdGUsXG4gIFwiZ3JheS0xMDBcIjogJGdyYXktMTAwLFxuICBcImdyYXktNTAwXCI6ICRncmF5LTUwMCxcbiAgXCJncmF5LTkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kZGVmYXVsdC10aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICRsaWdodCxcbiAgXCJkYXJrXCI6ICRkYXJrXG4pICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJGRlZmF1bHQtdGhlbWUtY29sb3JzLCAkdGhlbWUtY29sb3JzKTtcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjAgYXJlIDMsIDQuNSBhbmQgNy5cbiRtaW4tY29udHJhc3QtcmF0aW86IDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gT3B0aW9uc1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiB0cnVlICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBTcGFjaW5nXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSwgLy8gNHB4XG4gIDI6ICRzcGFjZXIgKiAuNSwgLy8gOHB4XG4gIDM6ICRzcGFjZXIgKiAuNzUsIC8vIDEycHhcbiAgNDogJHNwYWNlciwgLy8gMTZweFxuICA1OiAkc3BhY2VyICogMS4yNSwgLy8gMjBweFxuICA2OiAkc3BhY2VyICogMS41LCAvLyAyNHB4XG4gIDc6ICRzcGFjZXIgKiAxLjc1LCAvLyAyOHB4XG4gIDg6ICRzcGFjZXIgKiAyLCAvLyAzMnB4XG4gIDk6ICRzcGFjZXIgKiAzLCAvLyA0OHB4XG4gIDEwOiAkc3BhY2VyICogNCwgLy8gNjRweFxuICAxMTogJHNwYWNlciAqIDUgLy8gODBweFxuKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRGFyayBTdHlsZVxuJGRhcmstYmctY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRhcmstdHh0LWNvbG9yOiAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTGlnaHQgU3R5bGVcbiRsaWdodC1iZy1jb2xvcjogJGRhcmstdHh0LWNvbG9yICFkZWZhdWx0O1xuJGxpZ2h0LXR4dC1jb2xvcjogJGRhcmstYmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEhlYWRlclxuJGhlYWRlci1iZzogJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEZvb3RlclxuJGZvb3Rlci1iZzogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJGNvcHlyaWdodC1iZzogJGZvb3Rlci1iZyAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTGlua3NcbiRsaW5rLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLXNoYWRlLXBlcmNlbnRhZ2U6IDIwJSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG5cbi8vIEdyaWQgY29sdW1uc1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIENvbnRhaW5lciBwYWRkaW5nXG4kY29udGFpbmVyLXBhZGRpbmcteDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQ29tcG9uZW50c1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6IHJnYmEoJGdyYXktOTAwLCAuMTUpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIDIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEJ1dHRvbnMgKyBGb3Jtc1xuJGJ0bi1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6IG51bGwsXG4gIFwic2Vjb25kYXJ5XCIgOiBudWxsXG4pICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAuMTI1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBOYXZzXG4vLy0tLS0tIFNoYXJlZCB2YXJpYWJsZXNcbiRuYXYtY29sb3ItYWNjZW50OiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCb290c3RyYXAgdmFyaWFibGVzXG4kbmF2LWxpbmstZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogdGludC1jb2xvcigkcHJpbWFyeSwgMzAlKSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNjAwICFkZWZhdWx0O1xuXG4vLy0tLS0tIEFscGhhIHZhcmlhYmxlc1xuJG5hdi1jb2xvci1ob3Zlci1maXJzdC1sZXZlbDogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1jb2xvci1jdXJyZW50OiAkbmF2LWNvbG9yLWFjY2VudCAhZGVmYXVsdDtcbiRuYXYtY29sb3ItY3VycmVudC1maXJzdC1sZXZlbDogJG5hdi1jb2xvci1jdXJyZW50ICFkZWZhdWx0O1xuJG5hdi1jb2xvci1hbmNlc3Rvcjogc2hhZGUtY29sb3IoJG5hdi1jb2xvci1hY2NlbnQsIDIwJSkgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWFuY2VzdG9yLWZpcnN0LWxldmVsOiAkbmF2LWNvbG9yLWFuY2VzdG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBOYXZiYXJcbiRzdWJtZW51LWJnLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy15OiAzICogJHNwYWNlciAvIDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tbWFyZ2luLXg6IG51bGwgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tbWFyZ2luLXk6IG51bGwgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAkbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBEcm9wZG93bnNcblxuLy8tLS0tLS0gUGFnaW5hdGlvblxuJHBhZ2luYXRpb24taG92ZXItYmc6IHJnYmEoJHByaW1hcnksIC4xKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTW9kYWxzXG4kbW9kYWwtYmFja2Ryb3AtYmc6IGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuXG4vLyBNb2RhbCBWaWRlb1xuJG1vZGFsLXZpZGVvLWJ0bi1jbG9zZS1iZy1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kbW9kYWwtdmlkZW8tYnRuLWNsb3NlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBJbWFnZSB0aHVtYm5haWxzICYgUGljdHVyZVxuXG4vLy0tLS0tLSBCcmVhZGNydW1ic1xuJGJyZWFkY3J1bWItZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBPZmZjYW52YXNcbiRvZmZjYW52YXMtYm9keS1iYWNrZHJvcC1jb2xvcjogcmdiYSgkbW9kYWwtYmFja2Ryb3AtYmcsICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtd2lkZS1zY3JlZW4tYnJlYWtwb2ludDogeHhsICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBPZmZjYW52YXMgZGVza3RvcFxuJG9mZmNhbnZhcy1kYXJrLW1vZGUtbG9nby1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1kZXNrdG9wLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbG9nby13aWR0aDogNjYuNjYlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1oZWFkZXItYWxpZ25lbWVudDogY2VudGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1ib3JkZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtYm9yZGVyLWJnOiByZ2JhKCRvZmZjYW52YXMtZ3JpZC1ib3JkZXItY29sb3IsICRvZmZjYW52YXMtZ3JpZC1ib3JkZXItb3BhY2l0eSkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLW9wYWNpdHk6IC4xICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvci1iZzogcmdiYSgkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvciwgJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItb3BhY2l0eSk7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1zdHlsZTogJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItc2l6ZSAkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci10eXBlICRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLWNvbG9yLWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC10aHVtYi13aWR0aDogNzUlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtZm9udC1zaXplOiAxLjEyNXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0tcGFkZGluZy15OiAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0taWNvbi1zaXplOiAuOHJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0taW1hZ2UtYm94LXNoYWRvdzogMCAwIDEuNXJlbSAuNzVyZW0gcmdiYSgkc2Vjb25kYXJ5LCAuMjUpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1ob3Zlci1pbWFnZS1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93KTtcbiRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItb3BhY2l0eTogLjE1ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1zdHlsZTogMXB4IHNvbGlkIHJnYmEoJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1jb2xvciwgJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1vcGFjaXR5KTtcblxuLy8tLS0tLS0tIE9mZmNhbnZhcyBkZXNrdG9wIE1lZ2EgU3VibWVudVxuJG9mZmNhbnZhcy1zdWJtZW51LWl0ZW0tZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItc3R5bGU6IDFweCBzb2xpZCAkb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItY29sb3I7XG5cblxuLy8tLS0tLS0gTWVnYSBNZW51XG4kbWVnYW1lbnUtYmctY29sb3I6IHZhcigtLXRoZW1lLXNraW4tYmctY29sb3IpO1xuJG1lZ2FtZW51LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtcGFkZGluZy15OiAuNXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLWhvdmVyLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtcGljdHVyZS1oYXMtb3ZlcmxheTogdHJ1ZSAhZGVmYXVsdDtcbiRtZWdhbWVudS1vdmVybGF5LWJnLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRtZWdhbWVudS1vdmVybGF5LWJnLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJG1lZ2FtZW51LW92ZXJsYXktYmctY29sb3ItcmJnOiByZ2JhKCRtZWdhbWVudS1vdmVybGF5LWJnLWNvbG9yLCAkbWVnYW1lbnUtb3ZlcmxheS1iZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRtZWdhbWVudS1waWN0dXJlLWJvcmRlci1yYWRpdXM6IC41cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBBbmNob3Igb2Zmc2V0XG4kYW5jaG9yLW9mZnNldDogMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gV3AgQWxwaGFcbi8vIGxvZ29cbiRsb2dvLXBhZGRpbmcteTogJG5hdmJhci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQm9vdHN0cmFwIGNvbG9ycyBjbGVhbnVwXG4kYnMtZ3JheXMtdG8ta2VlcDogKCkgIWRlZmF1bHQ7XG4kYnMtZ3JheXMtdG8tcmVtb3ZlOiAoXCIyMDBcIiwgXCIzMDBcIiwgXCI0MDBcIiwgXCI1MDBcIiwgXCI3MDBcIikgIWRlZmF1bHQ7XG4kYnMtY29sb3JzLXRvLWtlZXA6ICgpICFkZWZhdWx0O1xuJGJzLWNvbG9ycy10by1yZW1vdmU6IChcImluZGlnb1wiLCBcInBpbmtcIiwgXCJyZWRcIiwgXCJ5ZWxsb3dcIiwgXCJncmVlblwiLCBcInRlYWxcIiwgXCJjeWFuXCIsIFwibGlnaHRcIiwgXCJkYXJrXCIpICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb3RzdHJhcCB1dGlsaXRpZXMgY2xlYW51cFxuJGJzLXV0aWxpdGllcy10by1yZW1vdmU6IChcImJnLW9wYWNpdHlcIikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSGVscGVyc1xuLy8tLS0tIFNlcGFyYXRlIHRpdGxlXG4kc2VwYXJhdGUtdGl0bGUtd2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VwYXJhdGUtdGl0bGUtYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0gVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbiR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMtb3ZlcnJpZGVzOiAoKSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXM6IChcbiAgMTA6IC4xLFxuICAyNTogLjI1LFxuICBsaWdodDogLjI1LFxuICAzNTogLjM1LFxuICA1MDogLjUsXG4gIG1lZGl1bTogLjUsXG4gIDY1OiAuNjUsXG4gIDc1OiAuNzUsXG4gIHN0cm9uZzogLjc1LFxuICA5MDogLjlcbikgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzOiBtYXAtbWVyZ2UoJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcywgJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcy1vdmVycmlkZXMpO1xuJHRyYW5zcGFyZW50LWJnLWNvbG9yczogKHByaW1hcnk6ICR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMsIHNlY29uZGFyeTogJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcykgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVG9vbHNcbi8vIENvbmZpZ3VyYXRpb24gKGFjdGl2YXRlIG9ubHkgdGhvc2UgbmVlZGVkKVxuJHRlYXNlczogKFwiZ3JpZFwiLCBcImxpc3RcIiwgXCJzaW1wbGVcIiwgXCJzaW1wbGUtcmVhbGlzYXRpb25zXCIpICFkZWZhdWx0O1xuJGZvcm1zOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBUb3AgQmFyXG4kdG9wLWJhci1oaWRlLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLWRlc2t0b3A6ICR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLW1vYmlsZSAhZGVmYXVsdDtcbiR0b3AtYmFyLXBhZGRpbmcteDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kdG9wLWJhci1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJHRvcC1iYXItaGVpZ2h0OiBpZihudWxsICE9IGluZGV4KCRtZW51cywgXCJzZWNvbmRhcnlcIiksIDIuNXJlbSwgMS41cmVtKSAhZGVmYXVsdDtcbiR0b3AtYmFyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG4kdG9wLWJhci1zb2NpYWwtbGlua3MtbWFyZ2luOiBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiR0b3AtYmFyLWRlZmF1bHQtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLXRyYW5zcGFyZW50LWhlYWRlci1iZy1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSGVhZGVyXG4kaGVhZGVyLWJ0bi1pY29uOiAkZmEtdmFyLXBob25lLWFsdCAhZGVmYXVsdDtcbiRoZWFkZXItYnRuLWZhLXN0eWxlOiBcInNvbGlkXCIgIWRlZmF1bHQ7XG4kaGVhZGVyLWJ0bi1zaG93LXRleHQtYnJlYWtwb2ludDogJGRlc2t0b3AtYnJlYWtwb2ludCAhZGVmYXVsdDtcblxuLy8tLS0tLSBGZWF0dXJlZCBpbWFnZVxuJGZlYXR1cmVkLWltYWdlLWhlaWdodDogNTB2aCAhZGVmYXVsdDtcbiRob21lLWZlYXR1cmVkLWltYWdlLWhlaWdodDogNTB2aCAhZGVmYXVsdDtcbiRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC10cmFuc2l0aW9uOiB0cnVlICFkZWZhdWx0O1xuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC1hbmltYXRpb24tZHVyYXRpb246IDEuNXMgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQ29udGVudCBBYm92ZVxuJGNvbnRlbnQtYWJvdmUtdGV4dC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gU2hhcGVzXG4vLyBwb3NzaWJsZSBzaGFwZXMgYXJlOiAoc3F1YXJlLCBjaXJjbGUsIHRyaWFuZ2xlLCBsb3plbmdlKVxuLy8gcG9zc2libGUgdW5pdHMgYXJlOiAocmVtOiAxcmVtLCBlbTogMWVtLCB2dzogMi41dncpXG4kc2hhcGVzOiAoKSAhZGVmYXVsdDtcbiRzaGFwZXMtdW5pdHM6IChyZW06IDFyZW0pICFkZWZhdWx0O1xuJHNoYXBlcy1kZWZhdWx0LXVuaXQ6IG50aChudGgoJHNoYXBlcy11bml0cywgMSksIDIpICFkZWZhdWx0O1xuJHNoYXBlcy1tYXgtbXVsdGlwbGllcjogMTAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGV4dCBjb250cmFzdFxuJGFscGhhLWVuYWJsZS1idG4tY2xvc2UtdGV4dC1jb250cmFzdC1jb2xvcnM6IGZhbHNlICFkZWZhdWx0O1xuJGFscGhhLWJ0bi1jbG9zZS10ZXh0LWNvbnRyYXN0LWNvbG9yczogJHRoZW1lLWNvbG9ycyAhZGVmYXVsdDtcblxuLy8tLS0tLSBUZXh0IHNoYWRvd1xuJGFscGhhLXRleHQtc2hhZG93LWNvbG9yOiBjb2xvci1jb250cmFzdCh3aGl0ZSkgIWRlZmF1bHQ7XG4kYWxwaGEtdGV4dC1zaGFkb3ctcmFkaXVzOiAuNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1yYWRpdXMtc206IC4yNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1yYWRpdXMtbGc6IDFyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtdGV4dC1zaGFkb3ctY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBPdmVybGF5XG4kYWxwaGEtb3ZlcmxheS1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnICFkZWZhdWx0O1xuJGFscGhhLW92ZXJsYXktb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkgIWRlZmF1bHQ7XG4kYWxwaGEtb3ZlcmxheS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFogaW5kZXhcbiRhbHBoYS16LWluZGV4ZXM6ICgxKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTaWRlYmFyXG4kc2lkZWJhcjogZmFsc2UgIWRlZmF1bHQ7XG4kc2lkZWJhci1iZy1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHNpZGViYXItcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMykgIWRlZmF1bHQ7XG4kc2lkZWJhci1ib3JkZXItcmFkaXVzOiAuMzc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0cy1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDYpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LWNvbnRlbnQtc3BhY2VyOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC10aXRsZS1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDMpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LXRpdGxlLWZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC1saXN0LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTdXJ0aXRsZVxuJGFscGhhLXN1cnRpdGxlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemUtZGVza3RvcDogJGFscGhhLXN1cnRpdGxlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1tYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLy0tLS0tIENvcHlyaWdodFxuJGFscGhhLWNvcHlyaWdodC1mb250LXNpemU6IC44MjVyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtY29weXJpZ2h0LWxpbmstaG92ZXItY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kYWxwaGEtY29weXJpZ2h0LWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy0tLS0tIE5hdmlnYXRpb25zXG4vLy0tLS0gQ29tbW9uXG4kbmF2LWxpbmstYWZ0ZXItaGVpZ2h0OiAycHggIWRlZmF1bHQ7XG5cbi8vLS0tLSBDZW50ZXJcbiRuYXYtY2VudGVyLWxvZ28tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJG5hdi1jZW50ZXItbG9nby1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQnJlYWRjcnVtYnNcbiRicmVhZGNydW1iLW1vYmlsZS1zaGFkb3ctc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbW9iaWxlLXNoYWRvdy1jb2xvcjogJGJvZHktYmcgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1vbi1mZWF0dXJlZC1tb2JpbGUtc2hhZG93LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGVhc2VcbiR0ZWFzZS1iYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRlYXNlLWJhZGdlLWJnOiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuJHRlYXNlLW92ZXJsYXktdGV4dC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRlYXNlLW92ZXJsYXktdGV4dC1zaGFkb3c6IDAgMCAuMjVyZW0gIzAwMDtcbiR0ZWFzZS1vdmVybGF5LWJnLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHRlYXNlLW92ZXJsYXktYmctb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFdvb0NvbW1lcmNlXG4vLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBvbGQgJHdvb2NvbW1lcmNlICYgJHdvb2NvbW1lcmNlU2lkZWJhciB2YXJpYWJsZXNcbkBpZiB0eXBlLW9mKCR3b29jb21tZXJjZSkgPT0gXCJib29sXCIge1xuICBAd2FybiBcIlVzYWdlIG9mICR3b29jb21tZXJjZSB2YXJpYWJsZSBhcyBib29sIGlzIGRlcHJlY2F0ZWQsIHVzZSB3b29jb21tZXJjZS5lbmFibGVkIGluIHdvb2NvbW1lcmNlLnlhbWwgaW5zdGVhZC5cIjtcbiAgJHdvb2NvbW1lcmNlOiBtYXAtZXh0ZW5kKG1hcC1nZXQoJGNvbmZpZy1kZWZhdWx0cywgXCJ3b29jb21tZXJjZVwiKSwgKGVuYWJsZWQ6ICR3b29jb21tZXJjZSkpO1xuICAkd29vY29tbWVyY2UtZW5hYmxlZDogbWFwLWdldC1kZWVwKCR3b29jb21tZXJjZSwgXCJlbmFibGVkXCIpO1xufVxuXG5AaWYgdmFyaWFibGUtZXhpc3RzKHdvb2NvbW1lcmNlU2lkZWJhcikge1xuICBAd2FybiBcIlVzYWdlIG9mICR3b29jb21tZXJjZVNpZGViYXIgdmFyaWFibGUgZGVwcmVjYXRlZCwgdXNlICR3b29jb21tZXJjZS1zaWRlYmFyIGluc3RlYWQuXCI7XG4gICR3b29jb21tZXJjZS1zaWRlYmFyOiAkd29vY29tbWVyY2VTaWRlYmFyO1xufVxuXG4vLyBBY2NvdW50XG4kYWNjb3VudC1uYXZpZ2F0aW9uLWljb25zOiAoXG4gIGRhc2hib2FyZDogJGZhLXZhci1ob21lLFxuICBvcmRlcnM6ICRmYS12YXItZG9sbHksXG4gIHN1YnNjcmlwdGlvbnM6ICRmYS12YXItY2xvY2stcm90YXRlLWxlZnQsXG4gIG1lbWJlcnNoaXBzOiAkZmEtdmFyLXVzZXItY3Jvd24sXG4gIGRvd25sb2FkczogJGZhLXZhci1kb3dubG9hZCxcbiAgZWRpdC1hZGRyZXNzOiAkZmEtdmFyLW1hcC1tYXJrZXItZWRpdCxcbiAgcGF5bWVudC1tZXRob2RzOiAkZmEtdmFyLWNyZWRpdC1jYXJkLFxuICBlZGl0LWFjY291bnQ6ICRmYS12YXItdXNlci1lZGl0LFxuICBib29raW5nczogJGZhLXZhci1jYWxlbmRhci1hbHQsXG4gIGN1c3RvbWVyLWxvZ291dDogJGZhLXZhci1zaWduLW91dFxuKSAhZGVmYXVsdDtcblxuLy8gQXR0cmlidXRlc1xuJHdjLXByb2R1Y3QtYXR0cmlidXRlLWZvbnQtc2l6ZTogLjlyZW0gIWRlZmF1bHQ7XG4kd2MtcHJvZHVjdC1hdHRyaWJ1dGUtZXZlbi1iZzogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHdjLXByb2R1Y3QtYXR0cmlidXRlLWxhYmVsLWNvbG9yOiAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbi8vIEF2YWlsYWJpbGl0eVxuJHdjLXN0b2NrLWljb24td2lkdGg6ICRmYS1mdy13aWR0aCAhZGVmYXVsdDtcbiR3Yy1zdG9jay1pY29uLWZvbnQtc2l6ZTogJGZhLXNpemUtc2NhbGUtYmFzZSAhZGVmYXVsdDtcbiR3Yy1zdG9jay1pbmZvOiAoXG4gIGF2YWlsYWJsZS1vbi1iYWNrb3JkZXI6IChjb2xvcjogb3JhbmdlLCBpY29uOiAkZmEtdmFyLWNsb2NrLXJvdGF0ZS1sZWZ0KSxcbiAgb3V0LW9mLXN0b2NrOiAoY29sb3I6IHJlZCwgaWNvbjogJGZhLXZhci1jaXJjbGUteG1hcmspXG4pICFkZWZhdWx0O1xuXG4vLy0tLS0tIEFkZCB0byBDYXJ0IGJ1dHRvblxuJGJ0bi1hZGR0b2NhcnQtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1hZGR0b2NhcnQtY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1ob3Zlci1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1ob3Zlci1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1pY29uczogKFxuICBzaW1wbGU6ICRmYS12YXItc2hvcHBpbmctYmFza2V0LFxuICBncm91cGVkOiAkZmEtdmFyLWV5ZSxcbiAgdmFyaWFibGU6ICRmYS12YXItY29ncyxcbiAgYm9va2luZzogJGZhLXZhci1jYWxlbmRhci1kYXlzLFxuKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCb29raW5nXG4kd2MtYm9va2luZy1kYXRlcGlja2VyLXVpLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci11aS1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci11aS1iZykgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1iZzogJGdyYXktMTAwICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtaG92ZXItYmc6IHNoYWRlLWNvbG9yKCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWJnLCAyMCUpICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWJnKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1iZzogJGdyYXktMjAwICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWhvdmVyLWJnOiBzaGFkZS1jb2xvcigkd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4tYmcsIDIwJSkgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4tY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1iZykgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1jb3N0LWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1jb3N0LWNvbG9yOiBjb2xvci1jb250cmFzdCgkd2MtYm9va2luZy1jb3N0LWJnKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBQcmljZSBDb2xvclxuJHdjLXByaWNlLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHdjLWRlbC1wcmljZS1jb2xvcjogcmdiYSgkZ3JheS01MDAsIC42KSAhZGVmYXVsdDtcblxuLy8tLS0tLSBEaXNjb3VudCBiYWRnZVxuJGJhZGdlLW9uc2FsZS1iZzogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRiYWRnZS1vbnNhbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8tLS0tLSBNaW5pIENhcnRcbiRtaW5pY2FydC1jb3VudGVyLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG1pbmljYXJ0LWNvdW50ZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRtaW5pY2FydC10b3RhbC1iZzogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtaW5pY2FydC10b3RhbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0LWl0ZW0tY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJG1pbmljYXJ0LXF0eS1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQ2FydFxuJGNhcnQtYnRuLWFjdGlvbnMtYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGNhcnQtYnRuLWNoZWNrb3V0LWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tIE1lc3NhZ2VcbiR3Yy1tZXNzYWdlLWJnLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtbWVzc2FnZS1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kd2MtbWVzc2FnZS1pY29uLWNvbG9yOiAkZ3JlZW4gIWRlZmF1bHQ7XG5cbiR3Yy1pbmZvLWJnLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtaW5mby1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kd2MtaW5mby1pY29uLWNvbG9yOiAkYmx1ZSAhZGVmYXVsdDtcblxuJHdjLWVycm9yLWJnLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtZXJyb3ItY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHdjLWVycm9yLWljb24tY29sb3I6IHJlZCAhZGVmYXVsdDtcblxuLy8tLS0tLSBTaWRlYmFyXG4kd2Mtc2lkZWJhci1tb2JpbGUtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHdjLXNpZGViYXItbW9iaWxlLWJhY2stdG9wLW9mZnNldC15OiAzcmVtICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY29sb3I6IHJnYmEoJHByaW1hcnksIC4xKSAhZGVmYXVsdDtcbiR3Yy1maWx0ZXItdG9nZ2xlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHdjLWZpbHRlci10b2dnbGVyLWJnOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiR3Yy1jYXQtbGluay1iZzogJGdyYXktMTAwICFkZWZhdWx0O1xuJHdjLWNhdC1saW5rLWhvdmVyLWJnOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiR3Yy1jYXQtbGluay1ob3Zlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLWxpbmstY29sb3I6ICRuYXYtY29sb3ItY3VycmVudCAhZGVmYXVsdDtcbiR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1saW5rLWhvdmVyLWNvbG9yOiB0aW50LWNvbG9yKCR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1saW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLXBhcmVudC1saW5rLWNvbG9yOiAkbmF2LWNvbG9yLWFuY2VzdG9yICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLXBhcmVudC1saW5rLWhvdmVyLWNvbG9yOiB0aW50LWNvbG9yKCR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1wYXJlbnQtbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBUb3AgYmFyIGljb25zXG4vLy0tLS0tIFRvcCBiYXIgaWNvbnNcbiR0b3AtYmFyLWljb25zOiAoY29udGFjdDogJGZhLXZhci1lbnZlbG9wZSwgcGhvbmU6ICRmYS12YXItcGhvbmUtYWx0KSAhZGVmYXVsdDtcbiR0b3AtYmFyLWljb25zLW1hcmdpbjogLjI1cmVtICFkZWZhdWx0O1xuJHRvcC1iYXItaWNvbnMtZmEtdmFyaWFudDogXCJzb2xpZFwiICFkZWZhdWx0O1xuJHdjLXRvcC1iYXItaWNvbnM6ICR0b3AtYmFyLWljb25zICFkZWZhdWx0O1xuJHdjLXRvcC1iYXItaWNvbnMtbWFyZ2luOiAkdG9wLWJhci1pY29ucy1tYXJnaW4gIWRlZmF1bHQ7XG4kd2MtdG9wLWJhci1pY29ucy1mYS12YXJpYW50OiAkdG9wLWJhci1pY29ucy1mYS12YXJpYW50ICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRlYXNlXG4kd2MtdGVhc2UtcHJvZHVjdC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHdjLXRlYXNlLXByb2R1Y3QtYm9yZGVyLXJhZGl1czogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1saW5rLXBhZGRpbmc6IG1hcC1nZXQoJHNwYWNlcnMsIDIpICFkZWZhdWx0O1xuJHdjLXRlYXNlLXByb2R1Y3QtbGluay1pbWFnZS1wYWRkaW5nOiAkd2MtdGVhc2UtcHJvZHVjdC1saW5rLXBhZGRpbmcgKiAtMSAhZGVmYXVsdDtcbiR3Yy10ZWFzZS1wcm9kdWN0LWhvdmVyLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gU29jaWFsIHNoYXJlIGljb25zXG4kc29jaWFsLXNoYXJlLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjUpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBXUE1MXG4kd3BtbC1kZXY6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBBbHBoYSBibG9ja3Ncbi8vLS0tLS0gRmFjZWJvb2sgdmlkZW9cbiRhbHBoYS1mYi12aWRlby1sb2FkZXItYmctY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGFscGhhLWZiLXZpZGVvLWxvYWRlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGFscGhhLWZiLXZpZGVvLWxvYWRlci1iZy1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSGVybyBiYW5uZXJcbiRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQteTogMy41cmVtICFkZWZhdWx0O1xuJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC10b3A6ICRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQteSAhZGVmYXVsdDtcbiRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQtYm90dG9tOiAkYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LXkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gTWFwXG4kYWxwaGEtbWFwLWRlZmF1bHQtaGVpZ2h0OiAyNTBweCAhZGVmYXVsdDtcbiRhbHBoYS1tYXAtZGVmYXVsdC1oZWlnaHQtbGc6ICRhbHBoYS1tYXAtZGVmYXVsdC1oZWlnaHQgKiAyICFkZWZhdWx0O1xuXG4vLy0tLS0tIFJhdGluZ1xuJGFscGhhLXJhdGluZy1zdGFyLW9uLWNvbG9yOiAkeWVsbG93ICFkZWZhdWx0O1xuJGFscGhhLXJhdGluZy1zdGFyLW9mZi1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuXG4vLy0tLS0tIEljb25cbiRpY29uLWJsb2NrLWljb24tY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEdvb2dsZSBSZXZpZXdzXG4kZ29vZ2xlLXJldmlld3MtYm9yZGVyLXRvcDogNnB4IHNvbGlkICM0ZmNlNmEgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtYm9yZGVyLXJhZGl1czogLjE1cmVtICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLWxvZ28td2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtc2NvcmUtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLXJhdGluZy1zdGFyLWNvbG9yOiAjZTc3MTFiICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLXJhdGluZy1jb3VudC1jb2xvcjogIzdhN2E3YSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy16LWluZGV4OiAyMDAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLW9mZnNldDogMnJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1vZmZzZXQtYm90dG9tOiAkZ29vZ2xlLXJldmlld3Mtb2Zmc2V0ICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLW9mZnNldC1sZWZ0OiAkZ29vZ2xlLXJldmlld3Mtb2Zmc2V0ICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLW9mZnNldC1yaWdodDogJGdvb2dsZS1yZXZpZXdzLW9mZnNldCAhZGVmYXVsdDtcbiRnb29nbGUtYmFkZ2UtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtYmFkZ2UtaGlkZS1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEFscGhhIG1vZHVsZXNcbi8vLS0tLS0gQ29tbW9uXG4kbG9hZGluZy1tb2R1bGVzLWJnLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtbG9hZGVyLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtbG9hZGVyLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gRGVmYXVsdFxuLy8tLS0tIFBhZ2Ugc2Nyb2xsXG4kaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQ6IDE1dmggIWRlZmF1bHQ7XG4kcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0OiAkaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQgLyAyICFkZWZhdWx0O1xuJHBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodC1kZXNrdG9wOiAkaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQgLyAzICFkZWZhdWx0O1xuXG4vLy0tLS0tIE9wdGlvbmFsXG4vLy0tLS0gQmFjayB0byB0b3BcbiRiYWNrLXRvLXRvcC1vZmZzZXQteDogMXJlbSAhZGVmYXVsdDtcbiRiYWNrLXRvLXRvcC1vZmZzZXQteTogMXJlbSAhZGVmYXVsdDtcbiRiYWNrLXRvLXRvcC1kZWZhdWx0LWJ1dHRvbi10cmFuc2xhdGUteTogJGJhY2stdG8tdG9wLW9mZnNldC15ICogLTIgIWRlZmF1bHQ7XG5cbi8vLS0tLSBIZWFkZXIgc3RhdGVzXG4vLy0tLSBTaHJ1bmsgbG9nb1xuJHNocnVuay1sb2dvLWhlaWdodC1yYXRpbzogLjggIWRlZmF1bHQ7XG5cbi8vLS0tLSBSYW5nZSBzbGlkZXJcbiRyYW5nZS1zbGlkZXItd3JhcHBlci1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBSb3VzcXVpbGxlXG4kcm91c3F1aWxsZS1iYW5uZXItbG9nby1tYXJnaW46IDAgYXV0byAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1hcmdpbi10YWJsZXQ6IDAgYXV0byBtYXAtZ2V0KCRzcGFjZXJzLCA4KSAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1hcmdpbi1tb2JpbGU6IDAgYXV0byBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLWhlaWdodDogJGxvZ28taGVpZ2h0ICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28tbWF4LWhlaWdodDogNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFNlcnZpY2VzIEJ1dHRvblxuJHNlcnZpY2VzLWJ1dHRvbi1tb2JpbGUtb2Zmc2V0OiAuNXJlbSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1idXR0b24tZGVza3RvcC1vZmZzZXQtZW5kOiAyLjVyZW0gIWRlZmF1bHQ7XG4kc2VydmljZXMtYnV0dG9uLWZvb3Rlci1wYWRkaW5nLWJvdHRvbTogNC41cmVtICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJ1dHRvbi1iYWNrLXRvLXRvcC1vZmZzZXQtYm90dG9tOiAkc2VydmljZXMtYnV0dG9uLWZvb3Rlci1wYWRkaW5nLWJvdHRvbSArIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBTd2lwZXJcbiRzd2lwZXItdGhlbWUtY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tIFRyYW5zcGFyZW50IEhlYWRlclxuJHRyYW5zcGFyZW50LWhlYWRlci1iZy1jb2xvcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgJGdyYXktNzAwLCB0cmFuc3BhcmVudCkgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXRleHQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXNoYWRvdy1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItc2hhZG93LXJhZGl1czogLjEyNXJlbSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1jb2xvcjogJHRyYW5zcGFyZW50LWhlYWRlci10ZXh0LWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1sb2dvLXNoYWRvdy1jb2xvcjogJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctY29sb3IgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tc2hhZG93LXJhZGl1czogJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctcmFkaXVzICFkZWZhdWx0O1xuXG4vLy0tLS0gSW1hZ2UgR2FsbGVyeVxuLy8gXCJvdmVybGF5XCIsIFwiZGVmYXVsdC1vcGFjaXR5XCIsIFwiaG92ZXItb3BhY2l0eVwiLCBcImN1c3RvbVwiXG4kaW1hZ2UtZ2FsbGVyeS1hbmltYXRpb24tdHlwZTogXCJvdmVybGF5XCIgIWRlZmF1bHQ7XG5cbi8vLS0tIE9wYWNpdHlcbiRpbWFnZS1nYWxsZXJ5LWltYWdlLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuXG4vLy0tLSBPdmVybGF5XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1vcGFjaXR5OiAuMTUgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTI1JSkgY29udHJhc3QoMTI1JSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSguNSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb246ICRmYS12YXItc2VhcmNoLXBsdXMgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tc3R5bGU6IFwicmVndWxhclwiICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLW9wYWNpdHk6IC44NSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi10ZXh0LXNoYWRvdzogMCAwIC4xMjVyZW0gcmdiYShibGFjaywgLjc1KSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEuNXJlbSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWltYWdlLW9mZnNldDogLjEgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWltYWdlLXNjYWxlOiAxICsgJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pbWFnZS1vZmZzZXQgIWRlZmF1bHQ7XG5cbi8vLS0tLSBMZWFmbGV0IE1hcFxuJG1hcC1tYXJrZXItY29sb3ItZGVmYXVsdDogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtYXAtbWFya2VyLWNvbG9yLWxvYWRpbmc6IGdyYXkgIWRlZmF1bHQ7XG4kbWFwLW1hcmtlci1jb2xvci1hY3RpdmU6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0gTWFzb25yeVxuJG1hc29ucnktZ2FsbGVyeS1nYXA6IC43NXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFdvb0NvbW1lcmNlIFNlYXJjaCBPdmVybGF5XG4kc2VhcmNoLW92ZXJsYXktYmctY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWJnLW9wYWNpdHk6IC4yNSAhZGVmYXVsdDtcbiRzZWFyY2gtb3ZlcmxheS1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoLjEyNXJlbSkgIWRlZmF1bHQ7XG4kc2VhcmNoLW92ZXJsYXktZm9ybS1mb250LXNpemU6IC45cmVtICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWZvcm0tYm9yZGVyLXJhZGl1czogLjI1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gV29vQ29tbWVyY2UgUmV2aWV3IGZvcm1cbiR3b29jb21tZXJjZS1yZXZpZXctZm9ybS1zdGFycy1mb250c2l6ZTogMnJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gR3V0ZW5iZXJnIGJsb2Nrc1xuLy8tLS0tLSBSYW5rIE1hdGhcbi8vLS0tLSBGQVFcbiRyYW5rLW1hdGgtZmFxLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1ib3gtc2hhZG93OiAwIC41cmVtIC41cmVtIC0uMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLWJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHNwYWNlcnMsIDEpICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm9yZGVyLWNvbG9yOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1ib3JkZXI6IDFweCBzb2xpZCAkcmFuay1tYXRoLWZhcS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1pdGVtLXBhZGRpbmc6IG1hcC1nZXQoJHNwYWNlcnMsIDMpICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tZ2FwOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLXBhZGRpbmctYm90dG9tOiAkcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1nYXAgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1ib3JkZXItY29sb3I6ICRyYW5rLW1hdGgtZmFxLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWJvcmRlci1ib3R0b206ICRyYW5rLW1hdGgtZmFxLWJvcmRlciAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb246ICRmYS12YXItcXVlc3Rpb24tY2lyY2xlICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24taWNvbi1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24taWNvbi1vZmZzZXQtdG9wOiAuMnJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIEltYWdlXG4kZ3V0ZW5iZXJnLWltYWdlLXJhdGlvczogKFwiMVwiLCBcIjQvM1wiLCBcIjMvNFwiLCBcIjMvMlwiLCBcIjIvM1wiLCBcIjE2LzlcIiwgXCI5LzE2XCIpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBGb250cyBvcHRpbWl6YXRpb25cbi8vLS0tLS0gRm9udEF3ZXNvbWUgaWNvbnNcbiRmb250LWZhLXBybzogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiRmb250LWZhLWJyYW5kczogXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcIjtcbi8vIHNlZSAuLi92ZW5kb3JzL19mb250YXdlc29tZS5zY3NzIGZvciBpY29ucyBwcm9jZXNzaW5nXG4vLyBzZWUgLi4vdmVuZG9ycy9fZm9udGF3ZXNvbWUtaWNvbnMuc2NzcyBmb3IgYXZhaWxhYmxlIGljb25zICYgaWNvbnMgZ3JvdXBzXG4vLyAkY3VzdG9tLXVzZWQtZmEtaWNvbnM6IChmb250LWF3ZXNvbWUtZmxhZzogJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZywgcGx1czogJGZhLXZhci1wbHVzKTtcbiRjdXN0b20tdXNlZC1mYS1pY29uczogKCkgIWRlZmF1bHQ7XG4vLyAkdXNlZC1mYS1pY29ucy1ncm91cHM6IChhY2NvbW1vZGF0aW9ucywgd29vY29tbWVyY2UpO1xuJHVzZWQtZmEtaWNvbnMtZ3JvdXBzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBJY29ucyBsaXN0XG4kYWxwaGEtZmEtaWNvbnMtbGlzdDogKCkgIWRlZmF1bHQ7XG4kYWxwaGEtZmEtaWNvbnMtbGlzdC1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kYWxwaGEtZmEtaWNvbnMtbGlzdC1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYWxwaGEtZmEtaWNvbnMtbGlzdC1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBTbGlja1xuJHNsaWNrLWZvbnQtcGF0aDogXCJ+c2xpY2stY2Fyb3VzZWwvc2xpY2svZm9udHMvXCI7XG4kc2xpY2stZm9udC1mYW1pbHk6ICRmb250LWZhLXBybztcblxuLy8tLS0tLS0gQ0Y3IEVmZmVjdFxuJGNvbG9yLWZvcm0tZmlsbGVkOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRmb3JtLWd1dHRlcjogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEJvb3RzdHJhcCBSZXNwb25zaXZlIEltYWdlIFJhdGlvXG4vLyBtdXN0IGJlIGEgbGlzdCBvZiByYXRpb3MgZm9ybWF0dGVkIGxpa2UgdGhpczogKDEgMSksICg0IDMpLCAoMyAyKSwgKDE2IDkpLCAoMjEgOSlcbiRtZWRpYS1yYXRpb3M6ICgpICFkZWZhdWx0O1xuIiwiLy8gZnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBmYS1jb250ZW50OiBjb252ZW5pZW5jZSBmdW5jdGlvbiB1c2VkIHRvIHNldCBjb250ZW50IHByb3BlcnR5XG5AZnVuY3Rpb24gZmEtY29udGVudCgkZmEtdmFyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCIjeyAkZmEtdmFyIH1cXFwiXCIpO1xufVxuXG4vLyBmYS1kaXZpZGU6IE9yaWdpbmFsbHkgb2J0YWluZWQgZnJvbSB0aGUgQm9vdHN0cmFwIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcFxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyOiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcbi8vXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTEtMjAyMSBUd2l0dGVyLCBJbmMuXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AZnVuY3Rpb24gZmEtZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gICRxdW90aWVudDogMDtcbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDEge1xuICAgIEByZXR1cm4gJGRpdmlkZW5kO1xuICB9XG4gIEB3aGlsZSAkcmVtYWluZGVyID49ICRkaXZpc29yIHtcbiAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICB9XG4gIEBpZiAkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+IDAge1xuICAgICRyZW1haW5kZXI6IGZhLWRpdmlkZSgkcmVtYWluZGVyICogMTAsICRkaXZpc29yLCAkcHJlY2lzaW9uIC0gMSkgKiAuMTtcbiAgfVxuICBAcmV0dXJuICgkcXVvdGllbnQgKyAkcmVtYWluZGVyKSAqICRzaWduO1xufVxuIiwiQGltcG9ydCBcIi4uL2luaXRcIjtcblxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJlYWRjcnVtYlwiO1xuXG5AaW1wb3J0IFwiLi4vbGF5b3V0L3NpZGViYXJcIjtcblxuLnNpbmdsZS1wb3N0IHtcbiAgLnBvc3QtbWV0YXMge1xuICAgIGNvbG9yOiAkZ3JheS01MDA7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/