/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./web/themes/custom/dubdub_default/templates/components/search/search.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@media print {
  .copy {
    font-size: 11pt; }
  .curriculum-sidebar,
  .zen-local-tasks {
    display: none; } }

.site-search--results {
  display: grid;
  grid-template-columns: 100%;
  gap: 0; }

.site-search--result {
  position: relative;
  padding-block: var(--global-spacing-lg);
  display: flex;
  flex-direction: column; }
  .site-search--result:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(-90deg, #ff3434 39%, #5616bf 100%);
    content: ''; }
  .site-search--result--container {
    width: 100%;
    padding-right: 60px;
    padding-left: 60px;
    margin-right: auto;
    margin-left: auto;
    max-width: 1800px; }
    @media (max-width: 1199.98px) {
      .site-search--result--container {
        padding-right: 30px;
        padding-left: 30px; } }
    @media (max-width: 767.98px) {
      .site-search--result--container {
        padding-right: 15px;
        padding-left: 15px; } }
  .site-search--result--header {
    margin-bottom: var(--global-spacing);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between; }
    @media (max-width: 991.98px) {
      .site-search--result--header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px; } }
  .site-search--result--categories {
    color: #222;
    text-transform: uppercase;
    font-weight: 600; }
    .site-search--result--categories {
      font-size: "eyebrow"; }
  .site-search--result--details {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end; }
    .site-search--result--details li {
      padding: 0; }
    @media (max-width: 991.98px) {
      .site-search--result--details {
        display: grid;
        grid-template-columns: auto auto 2fr; } }
    .site-search--result--details li {
      position: relative;
      font-weight: 500;
      padding-inline: var(--global-spacing); }
      .site-search--result--details li {
        font-size: 15px; }
      @media (max-width: 991.98px) {
        .site-search--result--details li {
          padding-inline: 10px; } }
      .site-search--result--details li:after {
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 100%;
        background-image: linear-gradient(-90deg, #ff3434 39%, #5616bf 100%);
        content: ''; }
      .site-search--result--details li:last-child {
        padding-right: 0; }
        .site-search--result--details li:last-child:after {
          display: none; }
      @media (max-width: 991.98px) {
        .site-search--result--details li:first-child {
          padding-left: 0; } }
      .site-search--result--details li .field--name-field-event-dates div:not(:first-child) {
        display: none; }
  .site-search--result--content {
    display: grid;
    grid-template-columns: 1fr 230px;
    gap: var(--global-spacing-md); }
    @media (max-width: 991.98px) {
      .site-search--result--content {
        grid-template-columns: 100%; } }
    .site-search--result--content-info {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 20px; }
  .site-search--result--headline a {
    color: #222;
    text-decoration: none; }
    .site-search--result--headline a:hover {
      color: #B31B1B; }
  .site-search--result--preview-text .label {
    font-family: "TT Hoves Pro Trial", sans-serif;
    font-weight: 400;
    line-height: 1.5em;
    letter-spacing: 0;
    font-weight: 700;
    margin-bottom: 10px; }
    .site-search--result--preview-text .label {
      font-size: 20px; }
    @media (min-width: 575px) {
      .site-search--result--preview-text .label {
        font-size: calc(20px + 0 * (100vw - 575px) / 1025); } }
    @media (min-width: 1600px) {
      .site-search--result--preview-text .label {
        font-size: 20px; } }
  .site-search--result--preview-text .trimmed p:last-of-type:after {
    content: '...';
    display: inline-block; }
  .site-search--result--preview-text .trimmed h2,
  .site-search--result--preview-text .trimmed h3,
  .site-search--result--preview-text .trimmed h4,
  .site-search--result--preview-text .trimmed h5,
  .site-search--result--preview-text .trimmed h6 {
    letter-spacing: 0;
    margin: 0; }
    .site-search--result--preview-text .trimmed h2,
    .site-search--result--preview-text .trimmed h3,
    .site-search--result--preview-text .trimmed h4,
    .site-search--result--preview-text .trimmed h5,
    .site-search--result--preview-text .trimmed h6 {
      font-size: 20px; }

.site-search-facets-container .facets-widget-links {
  width: 100%;
  padding-right: 60px;
  padding-left: 60px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1800px;
  margin-bottom: var(--global-spacing-md); }
  @media (max-width: 1199.98px) {
    .site-search-facets-container .facets-widget-links {
      padding-right: 30px;
      padding-left: 30px; } }
  @media (max-width: 767.98px) {
    .site-search-facets-container .facets-widget-links {
      padding-right: 15px;
      padding-left: 15px; } }
  .site-search-facets-container .facets-widget-links ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    border-bottom: 2px solid rgba(34, 34, 34, 0.2);
    display: flex;
    flex-direction: row;
    gap: 80px;
    padding-bottom: 12px; }
    .site-search-facets-container .facets-widget-links ul li {
      padding: 0; }
    @media (max-width: 991.98px) {
      .site-search-facets-container .facets-widget-links ul {
        margin-inline: -30px;
        overflow: auto;
        padding-inline: 30px; } }
    @media (max-width: 767.98px) {
      .site-search-facets-container .facets-widget-links ul {
        margin-inline: -15px;
        padding-inline: 15px; } }
    .site-search-facets-container .facets-widget-links ul li label {
      font-family: "TT Hoves Pro Trial", sans-serif;
      font-weight: 400;
      font-family: "TT Hoves Pro Trial", sans-serif;
      font-weight: 500;
      letter-spacing: -1px;
      line-height: 1.05em;
      color: rgba(34, 34, 34, 0.5);
      text-decoration: none;
      position: relative;
      white-space: nowrap; }
      .site-search-facets-container .facets-widget-links ul li label {
        font-size: 26px; }
      @media (min-width: 575px) {
        .site-search-facets-container .facets-widget-links ul li label {
          font-size: calc(26px + 6 * (100vw - 575px) / 1025); } }
      @media (min-width: 1600px) {
        .site-search-facets-container .facets-widget-links ul li label {
          font-size: 32px; } }
      .site-search-facets-container .facets-widget-links ul li label span {
        transition: all ease-in .3s; }
      .site-search-facets-container .facets-widget-links ul li label:hover {
        color: #000; }
        .site-search-facets-container .facets-widget-links ul li label:hover span {
          color: #000; }
      .site-search-facets-container .facets-widget-links ul li label.is-active {
        color: #000;
        pointer-events: none; }
        .site-search-facets-container .facets-widget-links ul li label.is-active span {
          color: #000; }
        .site-search-facets-container .facets-widget-links ul li label.is-active:after {
          background-image: linear-gradient(-90deg, #ff3434 39%, #5616bf 100%);
          content: "";
          left: 0;
          height: 8px;
          width: 100%;
          position: absolute;
          bottom: -20px; }
      .site-search-facets-container .facets-widget-links ul li label .facet-item__value {
        color: rgba(34, 34, 34, 0.5);
        text-decoration: none; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3NlYXJjaC9zZWFyY2guY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBO0VBRUM7SUFDQyxlQUFlO0VBR2hCOztJQUVDLGFBQWEsSUFDYjs7QUNKRDtFQUNDLGFBQWE7RUFDYiwyQkFBMkI7RUFDM0IsTUFBTTs7QUFLUDtFQUNDLGtCQUFrQjtFQUNsQix1Q0FBdUM7RUFDdkMsYUFBYTtFQUNiLHNCQUFzQjtFQUp0QjtJQU9DLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFdBQVc7SUFDWCxXQUFXO0lDb3BCWCxvRUFJbUI7SUR0cEJuQixXQUFXO0VBR1o7SUVHQyxXQUFXO0lBQ1gsbUJDS3FCO0lESnJCLGtCQ0lxQjtJREhyQixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJRW9DZDtNSjVDSjtRRVdJLG1CQUFxQztRQUNyQyxrQkFBb0MsSUZWdkM7SUkwQ0c7TUo1Q0o7UUVnQkksbUJBQXFDO1FBQ3JDLGtCQUFvQyxJRmZ2QztFQUVEO0lBQ0Msb0NBQW9DO0lBQ3BDLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLDhCQUE4QjtJSW1DM0I7TUp4Q0o7UUFRRSxzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLFNBQVMsSUFFVjtFQUVEO0lBQ0MsV0s2Q3VCO0lMNUN2Qix5QkFBeUI7SUFFekIsZ0JLdkNxQjtJTG1DckI7TU1uQkcsb0JOc0J5QjtFQUs3QjtJQzJLSSxxQkFBcUI7SUFDckIsU0FBUztJQUNULFVBQVU7SUQzS2IsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBTHpCO01DZ0xNLFVBQVU7SUc5SmI7TUpsQko7UUFRRSxhQUFhO1FBQ2Isb0NBQW9DLElBNkNyQztJQXREQTtNQWFDLGtCQUFrQjtNQUVsQixnQkszRGtCO01MNERsQixxQ0FBcUM7TUFoQnRDO1FNM0JHLGVOeUNxQjtNSUlyQjtRSmxCSDtVQW1CRSxvQkFBb0IsSUFrQ3JCO01BckREO1FBd0JFLGtCQUFrQjtRQUNsQixNQUFNO1FBQ04sUUFBUTtRQUNSLFVBQVU7UUFDVixZQUFZO1FDeWxCZCxvRUFJbUI7UUQzbEJqQixXQUFXO01BOUJiO1FBa0NFLGdCQUFnQjtRQWxDbEI7VUFvQ1ksYUFBYztNSWxCdkI7UUpsQkg7VUF5Q0csZUFBZSxJQUNmO01BMUNIO1FBK0N5QixhQUFhO0VBVXZDO0lBQ0MsYUFBYTtJQUNiLGdDQUFnQztJQUNoQyw2QkFBNkI7SUkxQzFCO01KdUNKO1FBTUUsMkJBQTJCLElBVTVCO0lBUEE7TUFDQyxhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLHVCQUF1QjtNQUN2QiwyQkFBMkI7TUFDM0IsU0FBUztFQUlWO0lBRUMsV0t2Q3NCO0lMd0N0QixxQkFBcUI7SUFIdEI7TUFNWSxjS3hDZ0I7RUw2QzVCO0lDaUdBLDZDSTFPZ0Q7SUoyT2hELGdCSXJPc0I7SUo2Um5CLGtCQUFrQjtJQUNsQixpQkFBaUI7SUR4Sm5CLGdCS25Ja0I7SUxvSWxCLG1CQUFtQjtJQUpwQjtNTWpIRyxlRHdDYztJQ3BDZDtNTjZHSDtRTTNHUyxrREFBaUgsSUFDbkg7SUFHSjtNTnVHSDtRTXJHUyxlRDZCUSxJQzVCVjtFTm9HUDtJQVVHLGNBQWM7SUFDZCxxQkFBcUI7RUFYeEI7Ozs7O0lBcUJFLGlCQUFpQjtJQUNqQixTQUFTO0lBdEJYOzs7OztNTWpIRyxlRHlDYzs7QUxzR2xCO0VFM0lDLFdBQVc7RUFDWCxtQkNLcUI7RURKckIsa0JDSXFCO0VESHJCLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsaUJBQWlCO0VGMElqQix1Q0FBdUM7RUl0R3BDO0lKa0dKO01FbklJLG1CQUFxQztNQUNyQyxrQkFBb0MsSUZ5TXZDO0VJektHO0lKa0dKO01FOUhJLG1CQUFxQztNQUNyQyxrQkFBb0MsSUZvTXZDO0VBdkVEO0lDdURJLHFCQUFxQjtJQUNyQixTQUFTO0lBQ1QsVUFBVTtJRGpEWiw4Q0t0RnNCO0lMdUZ0QixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxvQkFBb0I7SUFadEI7TUM0RE8sVUFBVTtJRzlKYjtNSmtHSjtRQWVHLG9CQUFzQztRQUN0QyxjQUFjO1FBQ2Qsb0JBQXNDLElBcUR2QztJSXhLRTtNSmtHSjtRQXFCRyxvQkFBc0M7UUFDdEMsb0JBQXNDLElBZ0R2QztJQXRFRjtNQ21FQyw2Q0kxT2dEO01KMk9oRCxnQklyT3NCO01Kd1FwQiw2Q0k3UWlEO01KOFFqRCxnQkl4UWlCO01KeVFqQixvQkFBb0I7TUFDcEIsbUJBQW1CO01EN0VsQiw0QkszR29CO01MNEdwQixxQkFBcUI7TUFDckIsa0JBQWtCO01BQ2xCLG1CQUFtQjtNQWhDdkI7UU0vSUksZUR1Qlk7TUNuQlo7UU4ySUo7VU16SVUsa0RBQWlILElBQ25IO01BR0o7UU5xSUo7VU1uSVUsZURZTSxJQ1hSO01Oa0lSO1FBbUNLLDJCQUEyQjtNQW5DaEM7UUF1Q0ssV0twSG1CO1FMNkV4QjtVQXlDWSxXS3RIWTtNTDZFeEI7UUE4Q0ssV0szSG1CO1FMNEhMLG9CQUFvQjtRQS9DdkM7VUFpRFksV0s5SFk7UUw2RXhCO1VDaWdCQyxvRUFJbUI7VURoZGQsV0FBVTtVQUNWLE9BQU87VUFDUCxXQUFXO1VBQ1gsV0FBVztVQUNYLGtCQUFrQjtVQUNsQixhQUFhO01BMURuQjtRQWdFTSw0Qks5SWtCO1FMK0lsQixxQkFBcUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wcmltYWN5LXVpLWZyYW1ld29yay0tZHJ1cGFsLy4vd2ViL3RoZW1lcy9jdXN0b20vZHViZHViX2RlZmF1bHQvdGVtcGxhdGVzL3N0eWxlcy91dGlsaXRpZXMvX2NoZS1wcmludC5zY3NzIiwid2VicGFjazovL3ByaW1hY3ktdWktZnJhbWV3b3JrLS1kcnVwYWwvLi93ZWIvdGhlbWVzL2N1c3RvbS9kdWJkdWJfZGVmYXVsdC90ZW1wbGF0ZXMvY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vcHJpbWFjeS11aS1mcmFtZXdvcmstLWRydXBhbC8uL3dlYi90aGVtZXMvY3VzdG9tL2R1YmR1Yl9kZWZhdWx0L3RlbXBsYXRlcy9zdHlsZXMvdXRpbGl0aWVzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9wcmltYWN5LXVpLWZyYW1ld29yay0tZHJ1cGFsLy4vd2ViL3RoZW1lcy9jdXN0b20vZHViZHViX2RlZmF1bHQvdGVtcGxhdGVzL3N0eWxlcy9sYXlvdXQvbGF5b3V0LW1peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovL3ByaW1hY3ktdWktZnJhbWV3b3JrLS1kcnVwYWwvLi93ZWIvdGhlbWVzL2N1c3RvbS9kdWJkdWJfZGVmYXVsdC90ZW1wbGF0ZXMvc3R5bGVzL2xheW91dC9sYXlvdXQtdmFyaWFibGVzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9wcmltYWN5LXVpLWZyYW1ld29yay0tZHJ1cGFsLy4vd2ViL3RoZW1lcy9jdXN0b20vZHViZHViX2RlZmF1bHQvdGVtcGxhdGVzL3N0eWxlcy9sYXlvdXQvbGF5b3V0LW1peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly9wcmltYWN5LXVpLWZyYW1ld29yay0tZHJ1cGFsLy4vd2ViL3RoZW1lcy9jdXN0b20vZHViZHViX2RlZmF1bHQvdGVtcGxhdGVzL3N0eWxlcy91dGlsaXRpZXMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3ByaW1hY3ktdWktZnJhbWV3b3JrLS1kcnVwYWwvLi93ZWIvdGhlbWVzL2N1c3RvbS9kdWJkdWJfZGVmYXVsdC90ZW1wbGF0ZXMvc3R5bGVzL3V0aWxpdGllcy9fZnVuY3Rpb25zLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIHByaW50IHtcblx0XG5cdC5jb3B5IHtcblx0XHRmb250LXNpemU6IDExcHQ7XG5cdH1cblx0XG5cdC5jdXJyaWN1bHVtLXNpZGViYXIsXG5cdC56ZW4tbG9jYWwtdGFza3Mge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIvLyBpbXBvcnQgdXRpbGl0aWVzXG5AaW1wb3J0IFwiLi4vLi4vc3R5bGVzL3V0aWxpdGllcy9nbG9iYWwtdXRpbGl0aWVzXCI7XG5cbi5zaXRlLXNlYXJjaCB7XG5cblx0Ji0tcmVzdWx0cyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG5cdFx0Z2FwOiAwO1xuXG5cdH1cblxuXG5cdCYtLXJlc3VsdCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctYmxvY2s6IHZhcigtLWdsb2JhbC1zcGFjaW5nLWxnKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtZ3JhZGllbnQoKTtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdH1cblxuXHRcdCYtLWNvbnRhaW5lciB7XG5cdFx0XHRAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1uYXJyb3coKTtcblx0XHR9XG5cblx0XHQmLS1oZWFkZXIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLXNwYWNpbmcpO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFx0Z2FwOiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWNhdGVnb3JpZXMge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1hbG1vc3QtYmxhY2s7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKCdleWVicm93Jyk7XG5cdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuXHRcdH1cblxuXHRcdCYtLWRldGFpbHMge1xuXHRcdFx0QGluY2x1ZGUgbGlzdC1zdHlsZShyZXNldCk7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuXHRcdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAyZnI7XG5cdFx0XHR9XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMTVweCk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaTtcblx0XHRcdFx0cGFkZGluZy1pbmxpbmU6IHZhcigtLWdsb2JhbC1zcGFjaW5nKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuXHRcdFx0XHRcdHBhZGRpbmctaW5saW5lOiAxMHB4O1xuXHRcdFx0XHR9XG5cblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtZ3JhZGllbnQoKTtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIgeyBkaXNwbGF5OiBub25lIH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmZpZWxkLS1uYW1lLWZpZWxkLWV2ZW50LWRhdGVzIHtcblx0XHRcdFx0XHRkaXYge1xuXHRcdFx0XHRcdFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7IGRpc3BsYXk6IG5vbmU7IH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXG5cblx0XHRcdH1cblx0XHR9XG5cblxuXHRcdCYtLWNvbnRlbnQge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIzMHB4O1xuXHRcdFx0Z2FwOiB2YXIoLS1nbG9iYWwtc3BhY2luZy1tZCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0Ji1pbmZvIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdFx0Z2FwOiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWhlYWRsaW5lIHtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWFsbW9zdC1ibGFjaztcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29ybmVsbC1yZWQ7XG4gICAgICAgICAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tcHJldmlldy10ZXh0IHtcblx0XHRcdC5sYWJlbCB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc3R5bGUoYm9keSk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtZGVtaTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdH1cblxuXHRcdFx0LnRyaW1tZWQge1xuXHRcdFx0XHRwOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnLi4uJztcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdGgyLFxuXHRcdFx0XHRoMyxcblx0XHRcdFx0aDQsXG5cdFx0XHRcdGg1LFxuXHRcdFx0XHRoNiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKCRmb250LWJvZHktbWF4KTtcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cblx0Ji1mYWNldHMtY29udGFpbmVyIHtcblxuXHRcdC5mYWNldHMtd2lkZ2V0LWxpbmtzIHtcblx0XHRcdEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW5hcnJvdygpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLXNwYWNpbmctbWQpO1xuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpc3Qtc3R5bGUocmVzZXQpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgkY29sb3ItYWxtb3N0LWJsYWNrLCAuMik7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdGdhcDogODBweDtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDEycHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWlubGluZTogLSRncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0XHRcdFx0cGFkZGluZy1pbmxpbmU6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcblx0XHRcdFx0XHRtYXJnaW4taW5saW5lOiAtJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNDtcblx0XHRcdFx0XHRwYWRkaW5nLWlubGluZTogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxpIHtcblxuXHRcdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc3R5bGUoaDQpO1xuXHRcdFx0XHRcdFx0Y29sb3I6IHJnYmEoJGNvbG9yLWFsbW9zdC1ibGFjaywgLjUpO1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCBlYXNlLWluIC4zcztcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cblx0XHRcdFx0XHRcdFx0c3BhbiB7IGNvbG9yOiAkY29sb3ItYmxhY2s7IH1cblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdFx0XHRcdFx0XHRzcGFuIHsgY29sb3I6ICRjb2xvci1ibGFjazsgfVxuXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtZ3JhZGllbnQoKTtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OlwiXCI7XG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAtMjBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuZmFjZXQtaXRlbSB7XG5cdFx0XHRcdFx0XHRcdCZfX3ZhbHVlIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogcmdiYSgkY29sb3ItYWxtb3N0LWJsYWNrLCAuNSk7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbHVpZCBpbWFnZSAtIGtlZXAgaW1hZ2UgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgaXRzIHBhcmVudCBjb250YWluZXIuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGltZy1mbHVpZCB7XG4gICBtYXgtd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIFRyYW5zaXRpb24gbWl4aW4gd2l0aCBwcmVmZXJzLXJlZHVjZWQtbW90aW9uIGZhbGxiYWNrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuXG4gICAucHJlZmVycy1yZWR1Y2VkLW1vdGlvbiAmIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICB9XG59XG5cbi8vIFBsYWNlaG9sZGVyIG1peGluIHdpdGggb3B0aW9uYWwtYXQtcm9vdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBvcHRpb25hbC1hdC1yb290KCRzZWwpIHtcbiAgIEBhdC1yb290ICN7aWYobm90ICYsICRzZWwsIHNlbGVjdG9yLWFwcGVuZCgmLCAkc2VsKSl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgfVxufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdChcIjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlclwiKSB7XG4gICAgICBAY29udGVudDtcbiAgIH1cblxuICAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdChcIjotbW96LXBsYWNlaG9sZGVyXCIpIHtcbiAgICAgIEBjb250ZW50O1xuICAgfVxuXG4gICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KFwiOjotbW96LXBsYWNlaG9sZGVyXCIpIHtcbiAgICAgIEBjb250ZW50O1xuICAgfVxuXG4gICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KFwiOi1tcy1pbnB1dC1wbGFjZWhvbGRlclwiKSB7XG4gICAgICBAY29udGVudDtcbiAgIH1cbn1cblxuLy8gRXF1YWwgc2l6ZSBtaXhpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIGVxdWFsLXNpemUoOTBweCkgb3IgQGluY2x1ZGUgZXF1YWwtc2l6ZSg5MHB4LCBjaXJjbGUpO1xuXG5AbWl4aW4gZXF1YWwtc2l6ZSgkc2l6ZSwgJHNoYXBlOiBudWxsKSB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGhlaWdodDogJHNpemU7XG4gICB3aWR0aDogJHNpemU7XG5cbiAgIEBpZiAoJHNoYXBlID09IGNpcmNsZSkge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7IC8vIGhlbHBzIGFsaWduIGljb25zLCBldGMuLi5cbiAgIH1cbn1cblxuLy8gQWJzb2x1dGUgcG9zaXRpb25pbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwb3NpdGlvbih0cmFuc2xhdGVZKTtcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAvLyBQb3NpdGlvbiAtLSBjZW50ZXIgLyBjZW50ZXJcbiAgIEBpZiAoJHBvc2l0aW9uID09IFwidHJhbnNsYXRlXCIpIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICB9XG5cbiAgIC8vIFBvc2l0aW9uIC0tIGNlbnRlciBYXG4gICBAaWYgKCRwb3NpdGlvbiA9PSBcInRyYW5zbGF0ZVhcIikge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgfVxuXG4gICAvLyBQb3NpdGlvbiAtLSBjZW50ZXIgWVxuICAgQGlmICgkcG9zaXRpb24gPT0gXCJ0cmFuc2xhdGVZXCIpIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgfVxuXG4gICAvLyBQb3NpdGlvbiAtLSBSRVNFVFxuICAgQGlmICgkcG9zaXRpb24gPT0gXCJyZXNldFwiKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICB9XG59XG5cbi8vIFNjcmVlbiByZWFkZXIgbWl4aW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBzci1vbmx5KCkgLyBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgICY6Zm9jdXMge1xuICAgICAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgfVxufVxuXG4vLyBBZGQgYXJyb3cgaWNvbiB0byBsaW5rXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXhhbXBsZTogQGluY2x1ZGUgYXJyb3cocmlnaHQpIC8gQGluY2x1ZGUgYXJyb3codXApXG5cbkBtaXhpbiBhcnJvdygkZGlyZWN0aW9uOiByaWdodCkge1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgQGlmICgkZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgIEBpbmNsdWRlIGljb24tZm9udChcImFycm93LXJpZ2h0XCIpO1xuICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIH1cbiAgIH1cbiAgIEBpZiAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJhcnJvdy1sZWZ0XCIpO1xuICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICB9XG4gICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgQGluY2x1ZGUgaWNvbi1mb250KFwiYXJyb3ctdXBcIik7XG4gICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuICAgfVxuICAgQGlmICgkZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgQGluY2x1ZGUgaWNvbi1mb250KFwiYXJyb3ctZG93blwiKTtcbiAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuICAgfVxufVxuXG4vLyBBZGQgb2JqZWN0IGZpdCB0byBpbWFnZSBvciB2aWRlb1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIG9iamVjdC1maXQoKVxuXG5AbWl4aW4gb2JqZWN0LWZpdCgpIHtcbiAgIGFzcGVjdC1yYXRpbzogMS43NzsgLy8gZGVmYXVsdCAxNi85XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBoZWlnaHQ6IDEwMCU7XG4gICB3aWR0aDogMTAwJTtcblxuICAgdmlkZW8sXG4gICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgIH1cbn1cblxuLy8gQWRkIHRyYW5zcGFyZW50IG92ZXJsYXkgdG8gaW1hZ2Ugb3IgdmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc3BhcmVudC1vdmVybGF5KClcblxuQG1peGluIHRyYW5zcGFyZW50LW92ZXJsYXkoKSB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICB9XG59XG5cbi8vIE1hbmFnZSBmb2N1cyBzdGF0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIGZvY3VzKClcblxuQG1peGluIGZvY3VzKCkge1xuICAgLy9AZXh0ZW5kIDpob3ZlciAhb3B0aW9uYWw7XG4gICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJGNvbG9yLWFsbW9zdC1ibGFjaztcbiAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm94LXNoYWRvdyAwLjI1cyBlYXNlLWluLW91dCk7XG59XG5cbi8vIHRvZ2dsZSBib2xkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdG9nZ2xlLWJvbGQoKVxuXG5AbWl4aW4gdG9nZ2xlLWJvbGQoKSB7XG4gICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgZGlzcGxheTogYmxvY2s7XG4gICBoZWlnaHQ6IDA7XG4gICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLyBMaXN0IHN0eWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGxpc3Qtc3R5bGUoJGxpc3QtdHlwZSkge1xuXG4gICAvLyByZXNldCAtLSByZW1vdmUgYWxsIHBhZGRpbmcsIG1hcmdpbnMgYW5kIGRlZmF1bHQgYnVsbGV0IHN0eWxlc1xuICAgQGlmICgkbGlzdC10eXBlID09IFwicmVzZXRcIikge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgbGkge1xuICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgIH1cbn1cblxuQG1peGluIGZvbnQtc3R5bGUoJGZvbnQtdHlwZSwgJHZhcmlhbnQ6IG51bGwpIHtcblxuICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2R5O1xuICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuXG4gICAgLy8gaWYgaDFcbiAgICBAaWYgKCRmb250LXR5cGUgPT0gXCJoMVwiKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtaDEtbWluLCAkZm9udC1oMS1tYXgpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0yLjI5cHg7XG4gICAgICBsaW5lLWhlaWdodDogLjk1ZW07XG5cblxuICAgIH1cblxuICAgLy8gaWYgaDJcbiAgIEBpZiAoJGZvbnQtdHlwZSA9PSBcImgyXCIpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1oMi1taW4sICRmb250LWgyLW1heCk7XG4gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZztcbiAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pO1xuICAgICBsZXR0ZXItc3BhY2luZzogLTIuMjlweDtcbiAgICAgbGluZS1oZWlnaHQ6IC45NWVtO1xuXG4gICB9XG5cbiAgIC8vIGlmIGgzXG4gICBAaWYgKCRmb250LXR5cGUgPT0gXCJoM1wiKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtaDMtbWluLCAkZm9udC1oMy1tYXgpO1xuICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRpbmc7XG4gICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaTtcbiAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgIGxpbmUtaGVpZ2h0OiAuOTVlbTtcbiAgIH1cblxuICAgLy8gaWYgaDRcbiAgIEBpZiAoJGZvbnQtdHlwZSA9PSBcImg0XCIpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1oNC1taW4sICRmb250LWg0LW1heCk7XG4gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZztcbiAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pO1xuICAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgICAgbGluZS1oZWlnaHQ6IDEuMDVlbTtcbiAgIH1cblxuICAgLy8gaWYgaDVcbiAgIEBpZiAoJGZvbnQtdHlwZSA9PSBcImg1XCIpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1oNS1taW4sICRmb250LWg1LW1heCk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvZHk7XG4gICB9XG5cbiAgIC8vIGlmIGg2XG4gICBAaWYgKCRmb250LXR5cGUgPT0gXCJoNlwiKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtaDYtbWluLCAkZm9udC1oNi1tYXgpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2R5O1xuICAgfVxuXG4gICAvLyBpZiBib2R5IGNvcHlcbiAgIEBpZiAoJGZvbnQtdHlwZSA9PSBcImJvZHlcIikge1xuICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtYm9keS1taW4sICRmb250LWJvZHktbWF4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gICAgICBAaWYgKCR2YXJpYW50ID09IFwiaW50cm9cIikge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LWxnLW1pbiwgJGZvbnQtbGctbWF4KTtcbiAgICAgIH1cblxuICAgICBAaWYgKCR2YXJpYW50ID09ICdtZWRpdW0nKXtcbiAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtbGctbWluLCAkZm9udC1ib2R5LWxhcmdlLW1pbik7XG4gICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgbGluZS1oZWlnaHQ6IDEuMDVlbTtcbiAgICAgfVxuXG4gICAgIEBpZiAoJHZhcmlhbnQgPT0gJ2xhcmdlJyl7XG4gICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LWJvZHktbGFyZ2UtbWluLCAkZm9udC1ib2R5LWxhcmdlLW1heCk7XG4gICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgbGluZS1oZWlnaHQ6IDEuMDVlbTtcbiAgICAgfVxuXG4gICAgIEBpZiAoJHZhcmlhbnQgPT0gJ3hsJyl7XG4gICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXhsLW1pbiwgJGZvbnQteHhsLW1pbik7XG4gICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgbGluZS1oZWlnaHQ6IDEuMDVlbTtcbiAgICAgfVxuXG4gICAgICBAaWYgKCR2YXJpYW50ID09IFwic21hbGxcIikge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNtLW1pbiwgJGZvbnQtc20tbWF4KTtcbiAgICAgIH1cbiAgIH1cblxuXG4gICAvLyBpZiBsYWJlbFxuICAgQGlmICgkZm9udC10eXBlID09IFwibGFiZWxcIikge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LW1pbiwgJGZvbnQtbWF4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtZGVtaTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgIEBpZiAoJHZhcmlhbnQgPT0gXCJzbWFsbFwiKSB7XG4gICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc20tbWluKTtcbiAgICAgIH1cbiAgIH1cblxuICAgLy8gaWYgZXllYnJvd1xuICAgQGlmICgkZm9udC10eXBlID09IFwiZXllYnJvd1wiKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtZXllYnJvdy1taW4sICRmb250LWV5ZWJyb3ctbWF4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9keTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjlweDtcbiAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuXG4gICAgICBAaWYgKCR2YXJpYW50ID09IFwic21hbGxcIikge1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNtLW1pbik7XG4gICAgICB9XG4gICB9XG5cbiAgIC8vIGlmIGRlc2NyaXB0aW9uXG4gICBAaWYgKCRmb250LXR5cGUgPT0gXCJkZXNjcmlwdGlvblwiKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtZGVzY3JpcHRpb24tbWluLCAkZm9udC1kZXNjcmlwdGlvbi1tYXgpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2R5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pO1xuXG4gICAgICBAaWYgKCR2YXJpYW50ID09IFwiY29weVwiKSB7XG4gICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc20tbWluKTtcbiAgICAgIH1cblxuICAgICAgQGlmICgkdmFyaWFudCA9PSBcImxhcmdlXCIpIHtcbiAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC14bC1taW4sICRmb250LXhsLW1heCk7XG4gICAgICB9XG4gICB9XG5cbiAgIC8vIGlmIGRlc2NyaXB0b3JcbiAgIEBpZiAoJGZvbnQtdHlwZSA9PSBcImRlc2NyaXB0b3JcIikge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXhsLW1pbik7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvZHk7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWk7XG4gICB9XG5cbiAgIC8vIGlmIGh1Z2VcbiAgIEBpZiAoJGZvbnQtdHlwZSA9PSBcImh1Z2VcIikge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LWh1Z2UtbWluLCAkZm9udC1odWdlLW1heCk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvZHk7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICB9XG5cbiAgIC8vIGlmIGxpbmtcbiAgIEBpZiAoJGZvbnQtdHlwZSA9PSBcImxpbmtcIikge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LW1pbiwgJGZvbnQtbWF4KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgQGlmICgkdmFyaWFudCA9PSBcIm5hdlwiKSB7XG4gICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJG5hdi1mb250KTtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaTtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIH1cblxuICAgICAgQGlmICgkdmFyaWFudCA9PSBcImFycm93XCIpIHtcbiAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWk7XG4gICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICBnYXA6IC41ZW07XG4gICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjM1cztcblxuICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgaWNvbi1mb250KGFycm93LXJpZ2h0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1sZy1taW4pO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjM1cztcbiAgICAgICAgIH1cblxuICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAoJHZhcmlhbnQgPT0gXCJleHRlcm5hbC1saW5rXCIpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LWJvZHktbWluLCAkZm9udC1ib2R5LWxhcmdlLW1pbik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogLjI1ZW07XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMzVzO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZm9udChleHRlcm5hbC1saW5rKTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4zNXM7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LWJvZHktbWluO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICgkdmFyaWFudCA9PSBcImFycm93LXJlZFwiKSB7XG4gICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICBmb250LXNpemU6ICRmb250LXhsLW1pbiAhaW1wb3J0YW50O1xuICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pO1xuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIwcHg7XG4gICAgICAgICBnYXA6IDBweCAxMHB4O1xuICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IC4xNXM7XG4gICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAuMTVzO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGljb24tZm9udChhcnJvdy1yaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtbGctbWluKTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAuMTVzO1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICB9XG5cbiAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICgkdmFyaWFudCA9PSBcImNpcmNsZWQtYXJyb3dcIikge1xuICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwcHggMWZyO1xuICAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4yNXM7XG5cbiAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGljb24tZm9udChhcnJvdy1yaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtbGctbWluKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGVxdWFsLXNpemUoMzBweCwgY2lyY2xlKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgfVxuXG4gICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGdhcDogMTVweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuXG5AbWl4aW4gY29sb3JlZC1iYWNrZ3JvdW5kKCRjb2xvcjogYnJpZ2h0LXB1cnBsZSkge1xuICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgaDIsXG4gICBoMyxcbiAgIC5jb3B5LFxuICAgYSxcbiAgIC5yaWdodC1yYWlsLS1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICB9XG5cbiAgIEBpZiAoJGNvbG9yID09IFwiYnJpZ2h0LXB1cnBsZVwiKXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQtcHVycGxlO1xuXG4gICAgICAuY2FyZC1hY2NlbnR7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGlnaHQtcHVycGxlO1xuICAgICAgfVxuICAgICAuZmxpcC1jYXJkLWJhY2sge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQtcHVycGxlO1xuICAgICB9XG4gICB9XG5cbiAgIEBpZiAoJGNvbG9yID09IFwibGlnaHQtcHVycGxlXCIpe1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWxpZ2h0LXB1cnBsZTtcblxuICAgICAgLmNhcmQtYWNjZW50LFxuICAgICAgLmZsaXAtY2FyZC1iYWNrIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodC1wdXJwbGU7XG4gICAgICB9XG4gICB9XG5cbiAgIEBpZiAoJGNvbG9yID09IFwiZGVlcC1wdXJwbGVcIil7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGVlcC1wdXJwbGU7XG5cbiAgICAgIC5jYXJkLWFjY2VudCB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJpZ2h0LXB1cnBsZTtcbiAgICAgIH1cbiAgICAgIC5mbGlwLWNhcmQtYmFjayB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGVlcC1wdXJwbGU7XG4gICAgICB9XG4gICB9XG5cbiAgIEBpZiAoJGNvbG9yID09IFwiYnJpZ2h0LXllbGxvd1wiKXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQteWVsbG93O1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgIGgyLFxuICAgICAgaDMsXG4gICAgICAuY29weSxcbiAgICAgIGEsXG4gICAgICAucmlnaHQtcmFpbC0tbGluayB7XG4gICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgfVxuXG4gICAgIC5jYXJkLWFjY2VudCB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1icmlnaHQteWVsbG93LCAxMCUpO1xuICAgICAgfVxuICAgICAuZmxpcC1jYXJkLWJhY2sge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQteWVsbG93O1xuICAgICB9XG4gICAgICAuY2FyZC1jdGE6YWZ0ZXIgeyBjb2xvcjogJGNvbG9yLWJsYWNrOyB9XG4gICB9XG5cbiAgIEBpZiAoJGNvbG9yID09IFwiYnJpZ2h0LXJlZFwiKXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQtcmVkO1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgICAgaDIsXG4gICAgICBoMyxcbiAgICAgIC5jb3B5LFxuICAgICAgYSxcbiAgICAgIC5yaWdodC1yYWlsLS1saW5rIHtcbiAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLWFjY2VudCB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1icmlnaHQtcmVkLCAxMCUpO1xuICAgICAgfVxuICAgICAuZmxpcC1jYXJkLWJhY2sge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQtcmVkO1xuICAgICB9XG4gICAgICAuY2FyZC1jdGE6YWZ0ZXIgeyBjb2xvcjogJGNvbG9yLWJsYWNrOyB9XG4gICB9XG59XG5cblxuQG1peGluIGRldGFpbC1jb2x1bW4tc3BsaXQoJGxvY2F0aW9uOiBoZWFkZXIpe1xuICAgZGlzcGxheTogZ3JpZDtcbiAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDM3NXB4O1xuICAgZ2FwOiB2YXIoLS1nbG9iYWwtc3BhY2luZy1sZykgdmFyKC0tZ2xvYmFsLXNwYWNpbmcteHhsKTtcblxuICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgIH1cblxuICAgQGlmICgkbG9jYXRpb24gPT0gXCJib2R5XCIpe1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgIGdhcDogdmFyKC0tZ2xvYmFsLXNwYWNpbmcpO1xuICAgICAgfVxuICAgfVxuXG4gICAmLm5vLWltYWdlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogOTAlO1xuXG4gICAgICBbY2xhc3MqPSctLWRldGFpbC1pbWFnZSddIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICB9XG59XG5cblxuQG1peGluIHNwbGl0cygkc3BsaXRzKXtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICBAaWYgKCRzcGxpdHMgPT0gXCIzMC83MFwiKSB7XG4gICAgICAmID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICB9XG4gICAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgd2lkdGg6IDU1JVxuICAgICAgfVxuICAgfVxuXG4gICBAaWYgKCRzcGxpdHMgPT0gXCI1MC81MFwiKSB7XG4gICAgICAmID4gOmZpcnN0LWNoaWxkLFxuICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgIHdpZHRoOiA0NyVcbiAgICAgIH1cbiAgIH1cblxuICAgQGlmICgkc3BsaXRzID09IFwiNzAvMzBcIikge1xuICAgICAgJiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICB3aWR0aDogNTUlXG4gICAgICB9XG4gICAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgd2lkdGg6IDMyJTtcbiAgICAgIH1cbiAgIH1cblxuICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gICAgICBnYXA6IHZhcigtLWdsb2JhbC1zcGFjaW5nLWxnKTtcblxuICAgICAgJiA+IDpmaXJzdC1jaGlsZCxcbiAgICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgfVxufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1ncmFkaWVudCgkZGVnOiAtOTBkZWcsICRzdGFydDogJGNvbG9yLWdyYWRpZW50LXN0YXJ0LCAkZW5kOiAkY29sb3ItZ3JhZGllbnQtZW5kKSB7XG4gICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgICAkZGVnLFxuICAgICAgICAgICAgICAgICAgICAgJHN0YXJ0IDM5JSxcbiAgICAgICAgICAgICAgICAgICAgICRlbmQgMTAwJVxuICAgICAgICAgICAgICAgICAgICAgKTtcbn1cblxuXG5cbkBtaXhpbiBsaXN0LXNsaWRlLWluKCRkaXI6IGZhZGVJblNsaWRlTGVmdCkge1xuICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggaXRlbSBhbmQgYXBwbHkgdGhlIGFuaW1hdGlvblxuICAgQGZvciAkaSBmcm9tIDEgdG8gNTAge1xuICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgYW5pbWF0aW9uOiAkZGlyIDAuNnMgZWFzZS1pbi1vdXQgMC4xNXMgKiAoJGkgLSAxKSBmb3J3YXJkczsgLy8gQWRqdXN0IGR1cmF0aW9uIGFuZCBkZWxheSBhcyBuZWVkZWRcbiAgICAgICAgIGFuaW1hdGlvbnNwb3RsaWctZmlsbC1tb2RlOiBib3RoOyAvLyBFbnN1cmUgdGhlIGFuaW1hdGlvbiBzdHlsZXMgYXJlIHJldGFpbmVkXG4gICAgICB9XG4gICB9XG5cbiAgIEBrZXlmcmFtZXMgZmFkZUluU2xpZGVMZWZ0IHtcbiAgICAgIGZyb20ge1xuICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAgIH1cbiAgICAgIHRvIHtcbiAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB9XG4gICB9XG5cbiAgIEBrZXlmcmFtZXMgZmFkZUluU2xpZGVVcCB7XG4gICAgICBmcm9tIHtcbiAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgfVxufVxuXG5cblxuQG1peGluIHJlbW92ZS1wYWRkaW5nLWF0KCRtYXhXaWR0aDogJGNvbnRhaW5lci1mdWxsKXtcbiAgICRndXR0ZXJzOiAxMjBweDtcbiAgICRraWxsUGFkZGluZzogY2FsYygjeyRtYXhXaWR0aH0gKyAjeyRndXR0ZXJzfSk7XG4gICBtYXgtd2lkdGg6ICRtYXhXaWR0aDtcblxuICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGtpbGxQYWRkaW5nKXtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgfVxufVxuXG5AbWl4aW4gYWRkLXBhZGRpbmctYXQoJG1heFdpZHRoOiAkY29udGFpbmVyLWZ1bGwpe1xuICAgJGd1dHRlcnM6IDYwcHg7XG4gICAka2lsbFBhZGRpbmc6IGNhbGMoI3skbWF4V2lkdGh9ICsgI3skZ3V0dGVyc30pO1xuICAgbWF4LXdpZHRoOiAkbWF4V2lkdGg7XG4gICBwYWRkaW5nLWlubGluZTogMCAhaW1wb3J0YW50O1xuXG4gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4V2lkdGgpe1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWdsb2JhbC1zcGFjaW5nKSAhaW1wb3J0YW50O1xuICAgfVxufVxuXG5cblxuQG1peGluIGFuaW1hdGlvbkZhZGVJbk91dCgkaW5PdXQ6IG91dCl7XG4gICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMXM7XG5cbiAgIEBpZiAoJGluT3V0ID09IFwib3V0XCIpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICYuZmFkZS1vdXQge1xuICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAxLjVzO1xuICAgICAgfVxuICAgfVxuXG4gICBAaWYgKCRpbk91dCA9PSBcImluXCIpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICYuZmFkZS1pbiB7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDEuNXM7XG4gICAgICB9XG4gICB9XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkbWF4OiBudWxsKSB7XG4gICB3aWR0aDogMTAwJTtcbiAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICBtYXgtd2lkdGg6IDIwMDBweDtcblxuICAgQGlmICgkbWF4KSB7XG4gICAgICBtYXgtd2lkdGg6ICRtYXg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICB9XG5cbiAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgIH1cblxuICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0O1xuICAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb250YWluZXItbmFycm93KCkge1xuICAgd2lkdGg6IDEwMCU7XG4gICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgbWF4LXdpZHRoOiAxODAwcHg7XG5cbiAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgIH1cblxuICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyA0O1xuICAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb250YWluZXItbmFycm93LXdpdGgtY2Fyb3VzZWwoKSB7XG4gICB3aWR0aDogMTAwJTtcbiAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aCAqIDIuNTtcbiAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoICogMi41O1xuICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICBtYXgtd2lkdGg6IDE2ODBweDtcblxuICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgfVxuXG4gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDQ7XG4gICB9XG59XG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG4gICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygpIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LXdyYXA6IHdyYXA7XG4gICBtYXJnaW4tcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG4gICBtYXJnaW4tbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICAgd2lkdGg6IDEwMCU7XG4gICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xuICAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuIiwiLy8gQ29yZSBWYXJpYWJsZXNcblxuJGVuYWJsZS1ncmlkLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgIHhzOiAwLFxuICAgc206IDU3NnB4LFxuICAgbWQ6IDc2OHB4LFxuICAgbGc6IDk5MnB4LFxuICAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICBzbTogNTQwcHgsXG4gICBtZDogNzIwcHgsXG4gICBsZzogOTYwcHgsXG4gICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDYwcHggIWRlZmF1bHQ7XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMC4wMnB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgIEBpZiAkbWluIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgIH0gQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICBAaWYgJG1heCB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICB9IEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8vIGN1c3RvbSB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIGZvbnQgZmFtaWx5XG4kZm9udC1mYW1pbHktYm9keTogXCJUVCBIb3ZlcyBQcm8gVHJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1oZWFkaW5nOiBcIlRUIEhvdmVzIFBybyBUcmlhbFwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LWFjY2VudDogXCJSQiBLcmVvbFwiLCBzYW5zLXNlcmlmO1xuXG4vLyBmb250IHdlaWdodHNcbiRmb250LXdlaWdodC1saWdodDogMzAwO1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiRmb250LXdlaWdodC1zZW1pOiA1MDA7XG4kZm9udC13ZWlnaHQtbWVkaXVtOiA2MDA7XG4kZm9udC13ZWlnaHQtZGVtaTogNzAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDkwMDtcblxuLy8gYmFzZSBmb250XG4kZm9udC1taW46IDE2cHg7XG4kZm9udC1tYXg6IDE2cHg7XG5cbi8vIGJhc2UgZm9udCAtIHNtXG4kZm9udC1zbS1taW46IDE0cHg7XG4kZm9udC1zbS1tYXg6IDE2cHg7XG5cbi8vIGJhc2UgZm9udCAtIG1kXG4kZm9udC1tZC1taW46IDE2cHg7XG4kZm9udC1tZC1tYXg6IDIwcHg7XG5cbi8vIGJhc2UgZm9udCAtIGxnXG4kZm9udC1sZy1taW46IDIwcHg7XG4kZm9udC1sZy1tYXg6IDI0cHg7XG5cbi8vIGJhc2UgZm9udCAtIHhsXG4kZm9udC14bC1taW46IDI0cHg7XG4kZm9udC14bC1tYXg6IDMwcHg7XG5cbiRmb250LXh4bC1taW46IDQ2cHg7XG5cbiRmb250LWh1Z2UtbWluOiA1NnB4O1xuJGZvbnQtaHVnZS1tYXg6IDEwNXB4O1xuXG4vLyBoZWFkaW5nIGxldmVsc1xuJGZvbnQtaDEtbWluOiAgNTBweDtcbiRmb250LWgxLW1heDogMTA1cHg7XG5cbiRmb250LWgyLW1pbjogNDBweDtcbiRmb250LWgyLW1heDogNzJweDtcblxuJGZvbnQtaDMtbWluOiAyOHB4O1xuJGZvbnQtaDMtbWF4OiA0OHB4O1xuXG4kZm9udC1oNC1taW46IDI2cHg7XG4kZm9udC1oNC1tYXg6IDMycHg7XG5cbiRmb250LWg1LW1pbjogMjZweDtcbiRmb250LWg1LW1heDogMjhweDtcblxuJGZvbnQtaDYtbWluOiAyNHB4O1xuJGZvbnQtaDYtbWF4OiAyNHB4O1xuXG5cbi8vIEJhc2UgRm9udHNcbiRmb250LWJvZHktbGFyZ2UtbWluOiAyNHB4O1xuJGZvbnQtYm9keS1sYXJnZS1tYXg6IDI2cHg7XG5cbiRmb250LWV5ZWJyb3ctbWluOiAxOHB4O1xuJGZvbnQtZXllYnJvdy1tYXg6IDE4cHg7XG5cbiRmb250LWJvZHktbWluOiAyMHB4O1xuJGZvbnQtYm9keS1tYXg6IDIwcHg7XG5cbiRmb250LWRlc2NyaXB0aW9uLW1pbjogMTRweDtcbiRmb250LWRlc2NyaXB0aW9uLW1heDogMTRweDtcblxuJGZvbnQtMTg6IDIwcHg7XG5cbiRuYXYtZm9udDogY2xhbXAoMS4xMjVyZW0sIGNhbGMoMC44MzN2dyArIDAuNXJlbSksIDEuMjVyZW0pO1xuJG5hdi1vZmZzZXQ6IDE1cHg7XG5cbi8vIGljb24gZm9udFxuJGZvbnQtaWNvbi1sZzogMjRweDtcbiRmb250LWljb24teGw6IDQwcHg7XG5cbi8vIGNvbG9yc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2xvci13aGl0ZTogICAgICAgICAjZmZmO1xuJGNvbG9yLXdoaXRlLTc1OiAgICAgICNiZmJmYmY7XG4kY29sb3ItZ3JleS1saWdodGVyOlx0I2VhZWFlYTtcbiRjb2xvci1ncmV5LWxpZ2h0Olx0XHQjZWFlOWVmO1xuJGNvbG9yLWdyZXktNTA6ICAgICAgICM1MDUwNTA7XG4kY29sb3ItZ3JleS02NjY6ICAgICAgIzY2NjtcbiRjb2xvci1ncmV5OiAgICAgICAgICAjNzU3NTc1O1xuJGNvbG9yLWdyZXktZGFyazpcdFx0XHQjMmEyYTJhO1xuJGNvbG9yLWFsbW9zdC1ibGFjazogICMyMjI7XG4kY29sb3ItYmxhY2s6ICAgICAgICAgIzAwMDtcblxuJGNvbG9yLWNvcm5lbGwtcmVkOiAgICAgI0IzMUIxQjtcbiRjb2xvci1kZWVwLXB1cnBsZTogICAgICMxQzExNEU7XG4kY29sb3ItYnJpZ2h0LXB1cnBsZTogICAjNjQwMEE0O1xuJGNvbG9yLWxpZ2h0LXB1cnBsZTogICAgI0FFNTRFNztcbiRjb2xvci1icmlnaHQtcmVkOiAgICAgICNGQTVFNTM7XG4kY29sb3ItYnJpZ2h0LXllbGxvdzogICAjRjVGMDYwO1xuXG4kY29sb3ItZ3JhZGllbnQtc3RhcnQ6ICAjZmYzNDM0O1xuJGNvbG9yLWdyYWRpZW50LWVuZDogICAgIzU2MTZiZjtcblxuXG4kY29sb3ItcHJpbWFyeTogJGNvbG9yLWNvcm5lbGwtcmVkO1xuJGNvbG9yLXNlY29uZGFyeTogJGNvbG9yLWJyaWdodC1wdXJwbGU7XG4kY29sb3ItbGluazogJGNvbG9yLWNvcm5lbGwtcmVkO1xuXG4vLyBjb2xvciAtIHN0YXR1c1xuJGNvbG9yLXN1Y2Nlc3M6ICMwMDgwMDA7XG4kY29sb3Itd2FybmluZzogI2YwMDtcbiRjb2xvci1mb2N1czogIzVlOWVkNjtcblxuLy8gY29sb3IgLSBicmFuZFxuJGNvbG9yLXByaW1hcnktLTAyOiAjZjlmYmZmO1xuJGNvbG9yLXByaW1hcnktLTA1OiAjZjNmN2ZmO1xuJGNvbG9yLXByaW1hcnktLTEwOiAjZWFmMGZlO1xuJGNvbG9yLXByaW1hcnktLTIwOiAjZDNkZmZlO1xuJGNvbG9yLXByaW1hcnktLTUwOiAjOTFhZmZjO1xuJGNvbG9yLXByaW1hcnktLWRhcms6ICMxNDRjZDA7XG5cbiRjb2xvci1zZWNvbmRhcnk6ICMwMDU2OTU7XG4kY29sb3Itc2Vjb25kYXJ5LS0wNTogI2YyZjNmNTtcbiRjb2xvci1zZWNvbmRhcnktLTEwOiAjZTdlOWVmO1xuJGNvbG9yLXNlY29uZGFyeS0tMzA6ICNhYmIzYzY7XG4kY29sb3Itc2Vjb25kYXJ5LS03MDogIzU2NjY4YztcblxuLy8gY2Fyb3VzZWwgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGhlYWRlci1ibHVlOiMwMDNiNWM7XG4kY29sb3ItYWNjb3JkaWFuOiNlMmUyZTI7XG5cbi8vIGNvbG9yIC0gY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2xvci1ib2R5OiAkY29sb3ItYmxhY2s7XG4kY29sb3ItaGVhZGluZzogJGNvbG9yLWJvZHk7XG5cbi8vIGNvbG9yIC0gbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY29sb3ItbGluazogJGNvbG9yLXNlY29uZGFyeTtcbiRjb2xvci1saW5rLWhvdmVyOiBkYXJrZW4oJGNvbG9yLXNlY29uZGFyeSwgMTAlKTtcblxuLy8gdHJhbnNpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0cmFuc2l0aW9uLWJhc2U6IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXG4vLyB6LWluZGV4aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHotaW5kZXgtdmFyOiAxMDtcbiR6LWluZGV4LW1heDogMjE0NzQ4MzY0NztcblxuLy8gQ29udGFpbmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb250YWluZXItZnVsbDogMjAwMHB4O1xuJGNvbnRhaW5lci1zbGltOiAxMDMwcHg7XG5cbi8vIGJvcmRlciByYWRpdXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYm9yZGVyLXJhZGl1cy1jYXJkczogMzBweDtcbiRib3JkZXItcmFkaXVzLS1jYXJkczogOHB4O1xuJGJvcmRlci1yYWRpdXMtLWltYWdlczogMjRweDtcbiRib3JkZXItcmFkaXVzLS1pbWFnZXMtb2Zmc2V0OiA2MHB4IDE2cHg7XG4kYm9yZGVyLXJhZGl1cy0tYmxvY2txdW90ZTogNjBweCA4cHg7XG4kYm9yZGVyLXJhZGl1cy0tc21hbGw6IDVweDtcblxuLy8gYm94IHNoYWRvd3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYm94LXNoYWRvdzogIDAgMCAxMHB4IDAgcmdiYSgkY29sb3ItYmxhY2ssIC4yKTtcblxuLy8gU1ZHIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2xvci1zdGF0ZW1lbnQtYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB3aWR0aD1cIjE1MTJcIiBoZWlnaHQ9XCI5NjZcIiB2aWV3Qm94PVwiMCAwIDE1MTIgOTY2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PG1hc2sgaWQ9XCJtYXNrMF8yODQ0XzYwMzQ1XCIgc3R5bGU9XCJtYXNrLXR5cGU6bHVtaW5hbmNlXCIgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIiB4PVwiLTcwXCIgeT1cIi0yMzlcIiB3aWR0aD1cIjE2OThcIiBoZWlnaHQ9XCIxMjA0XCI+PHBhdGggZD1cIk0xNjI3LjUzIC05MC4xODY2TDI5LjI4OTEgLTIzOC4xMzRMLTY5LjAwNjEgODE2Ljg1M0wxNTI5LjIzIDk2NC44TDE2MjcuNTMgLTkwLjE4NjZaXCIgZmlsbD1cIndoaXRlXCIvPjwvbWFzaz48ZyBtYXNrPVwidXJsKCUyM21hc2swXzI4NDRfNjAzNDUpXCI+PHBhdGggZD1cIk0xNTgyLjA4IDUwNS4wNzJDMTU3OS40OSA0NDYuMTgyIDE1MjkuNSA0MjUuNDE3IDE0NDUuOTIgMzk3LjgxMUMxNDM1LjYzIDM5NC40NSAxNDI1LjI3IDM5MC42MDEgMTQxNC45IDM4Ni43NTFDMTMyNC40NiAzNTIuNzI5IDEyNTAuOTQgMzAxLjI0NCAxMTY3LjM3IDE5My40MzFDMTEzOC4xMSAxNTUuNjc3IDEwOTMuOCAxMTEuNDcyIDEwNTUuNDEgNzkuODU5MUMxMDIwLjQyIDUwLjcyNzIgOTgxLjc4NyAyOC4yNDQzIDkzMy4xNDEgMTYuMjc1NUM4NzEuMzI4IDAuNzk5OTE2IDc5NS43ODUgNC42NDc3NyA2OTYuMzkyIDMxLjY5OTdDNDI3LjAzNyAxMDQuODA1IDMwOS4zOTQgMTk1LjgwNCAyMDAuMTExIDI2NC4zMzNDMTI0LjA5MSAzMTIuMDk0IDc4Ljg3MyAzMjEuNTE4IDQ3LjUwODQgMzE5LjMzOEMxMC44MDQ2IDMxNC45NzggLTIwLjQxOTEgMjk4LjM1OSAtNDYuNTgzNiAzMjEuODMxXCIgc3Ryb2tlPVwidXJsKCUyM3BhaW50MF9saW5lYXJfMjg0NF82MDM0NSlcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIvPjxwYXRoIGQ9XCJNMTU3OS42NyA1MjguMzE1QzE1NzYuNDcgNDcwLjkzMiAxNTI5LjcyIDQ1MC4yMjcgMTQ0My4zOSA0MjIuNDg2QzE0MzMuMSA0MTkuMTI1IDE0MjIuNzIgNDE1LjM5NSAxNDEyLjQ2IDQxMS42NzZDMTMyMC44IDM3Ny43ODEgMTI0Ny44NSAzMjUuMzg2IDExNjUuMzcgMjIwLjA4MUMxMTM1Ljg2IDE4Mi40MjUgMTA5Mi4xIDEzOC43NTIgMTA1My43MiAxMDcuMTM5QzEwMTguODEgNzguMzc2NiA5ODAuNDE3IDU1LjkxNTcgOTMxLjkwMSA0My44Mzg1Qzg2OS43NjMgMjcuOTcxNCA3OTQuMzE3IDMyLjA2OTIgNjk2LjI2IDU5LjAwNDFDNDMwLjA1NSAxMzEuOTE5IDMwOC42MDQgMjIxLjEyMSAxOTguMzggMjg4LjExOEMxMjIuNTE1IDMzNC4yMDggNzYuNzYzNiAzNDQuMTg1IDQ1LjM3NjggMzQyLjI0NEM5LjAzMTM2IDMzNy45MTcgLTI1LjE4MTggMzIyLjM0NiAtNDguMDU0MiAzNDUuNFwiIHN0cm9rZT1cInVybCglMjNwYWludDFfbGluZWFyXzI4NDRfNjAzNDUpXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiLz48cGF0aCBkPVwiTTE1NzcuMjYgNTUxLjY3NkMxNTczLjU1IDQ5NS44MTMgMTUyOS45NSA0NzUuMDM3IDE0NDAuODQgNDQ3LjI4QzE0MzAuNTQgNDQ0LjAzOSAxNDIwLjI3IDQ0MC40MzkgMTQxMC4wMiA0MzYuNzJDMTMxNyA0MDMuMDYyIDEyNDQuNzUgMzQ5LjY0NiAxMTYzLjQ5IDI0Ni43NDNDMTEzMy44NiAyMDkuMTk1IDEwOTAuNjUgMTY2LjA1NSAxMDUyLjE0IDEzNC41NUMxMDE3LjQ0IDEwNi4wNDggOTc5LjE0NyA4My44MzY3IDkzMC45MDQgNzEuNDIzNEM4NjguNDI5IDU1LjI4NDMgNzkyLjk3MiA1OS41MDE0IDY5Ni4zNzEgODYuMzMwM0M0MzMuNDE0IDE1OS4zMDUgMzA4LjAzNSAyNDYuNjk5IDE5Ni44NjggMzEyLjE2NEMxMjEuMTQ4IDM1Ni43MDIgNzQuODg1NiAzNjYuOTkzIDQzLjQ2NTQgMzY1LjQxQzcuNDg5NCAzNjAuOTk3IC0yOS43MzU0IDM0Ni43MTMgLTQ5LjE4NTEgMzY5LjI0MVwiIHN0cm9rZT1cInVybCglMjNwYWludDJfbGluZWFyXzI4NDRfNjAzNDUpXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiLz48cGF0aCBkPVwiTTE1NzQuOTggNTc0LjkzQzE1NzAuNjUgNTIwLjU3NCAxNTMwLjMgNDk5LjczOSAxNDM4LjQ0IDQ3MS44NDdDMTQyOC4xMyA0NjguNzI1IDE0MTcuODYgNDY1LjEyNSAxNDA3LjcxIDQ2MS41MzZDMTMxMy4zNiA0MjcuOTk1IDEyNDEuNzkgMzczLjY4IDExNjEuNjQgMjczLjE2NkMxMTMxLjc1IDIzNS43MTUgMTA4OS4yMSAxOTMuMTE5IDEwNTAuNTggMTYxLjYwM0MxMDE2LjExIDEzMy4zNjEgOTc3LjgwMSAxMTEuMjY5IDkyOS44MDggOTguNzU4N0M4NjYuODc3IDgyLjMzNjUgNzkxLjY0OCA4Ni42OTUyIDY5Ni4yNzUgMTEzLjI3N0M0MzYuNDY4IDE4Ni4wNjIgMzA3LjI2OSAyNzEuNzc4IDE5NS4wNDEgMzM1LjdDMTE5LjQ2NiAzNzguNjg2IDcyLjY4MDkgMzg5LjQxIDQxLjIyNzMgMzg4LjE4NUM1LjQ5MDIgMzgzLjc5NCAtMzQuNjA0NiAzNzAuNTY5IC01MC43NjIyIDM5Mi42NzlcIiBzdHJva2U9XCJ1cmwoJTIzcGFpbnQzX2xpbmVhcl8yODQ0XzYwMzQ1KVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIi8+PHBhdGggZD1cIk0xNTcyLjU4IDU5OC4xNzNDMTU2Ny42MyA1NDUuMzI1IDE1MzAuNDMgNTI0LjI5OSAxNDM1LjkgNDk2LjUyM0MxNDI1LjU4IDQ5My41MiAxNDE1LjQzIDQ4OS45MzEgMTQwNS4xNSA0ODYuNDUxQzEzMDkuNTkgNDUzLjAzOCAxMjM4LjU3IDM5Ny45MyAxMTU5LjUyIDI5OS44MDZDMTEyOS4zOSAyNjIuNDUyIDEwODcuNTMgMjIwLjI4IDEwNDguNzYgMTg4Ljk5MkMxMDE0LjM3IDE2MS4xMiA5NzYuMzAxIDEzOS4wNSA5MjguNDM5IDEyNi40MzFDODY1LjE4MyAxMDkuNjE3IDc4OS45MzIgMTE0LjIxNCA2OTYuMDE0IDE0MC42OUM0MzkuMzQ2IDIxMy40MDUgMzA2LjMyNyAyOTcuNDQzIDE5My4xODEgMzU5LjU5NEMxMTcuNzQ5IDQwMS4wMjggNzAuNDUzNCA0MTIuMDY2IDM4Ljk2NjQgNDExLjJDMy41OTg4NCA0MDYuNzIyIC0zOS41MDc2IDM5NC43ODQgLTUyLjM2MiA0MTYuMzU3XCIgc3Ryb2tlPVwidXJsKCUyM3BhaW50NF9saW5lYXJfMjg0NF82MDM0NSlcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIvPjxwYXRoIGQ9XCJNMTU3MC4xOCA2MjEuNDE3QzE1NjQuNTkgNTcwLjE5NiAxNTMwLjY2IDU0OC45OTEgMTQzMy4zNyA1MjEuMTk4QzE0MjMuMDUgNTE4LjE5NSAxNDEyLjg4IDUxNC44NDUgMTQwMi43MiA1MTEuMzc2QzEzMDUuODEgNDc4LjA4IDEyMzUuMzcgNDIyLjA2MSAxMTU3LjY2IDMyNi4zNDlDMTEyNy4zOSAyODkuMTAzIDEwODYuMDkgMjQ3LjQ2NCAxMDQ3LjIgMjE2LjE2NEMxMDEzLjAyIDE4OC41NTMgOTc1LjA1MyAxNjYuNzMzIDkyNy40NjMgMTUzLjc3OEM4NjMuNzYzIDEzNi41NjIgNzg4LjcyOCAxNDEuNDIgNjk2LjE0NyAxNjcuNzc4QzQ0Mi43MjYgMjQwLjU1MyAzMDUuODk5IDMyMi43OTQgMTkxLjgxMSAzODMuNDEzQzExNi41MjQgNDIzLjI5NSA2OC43MTcgNDM0LjY0OCAzNy4xOTY1IDQzNC4xMzlDMi4xODczMiA0MjkuNjk1IC00My45MDg1IDQxOC44MDUgLTUzLjM0MDIgNDM5Ljg1MVwiIHN0cm9rZT1cInVybCglMjNwYWludDVfbGluZWFyXzI4NDRfNjAzNDUpXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiLz48cGF0aCBkPVwiTTE1NjcuNzggNjQ0LjY1OUMxNTYxLjU3IDU5NC45NDYgMTUzMC45MSA1NzMuNTYxIDE0MzAuODMgNTQ1Ljg3M0MxNDIwLjUgNTQyLjk4OSAxNDEwLjMzIDUzOS42NCAxNDAwLjI4IDUzNi4zMDFDMTMwMi4wMyA1MDMuMjQxIDEyMzIuMjggNDQ2LjIwMyAxMTU1LjY3IDM1Mi44OEMxMTI1LjE1IDMxNS43MzEgMTA4NC41MiAyNzQuNjM2IDEwNDUuNTEgMjQzLjMyNUMxMDExLjU1IDIxNS45NzQgOTczLjU3NCAxOTQuMjc0IDkyNi4yMzQgMTgxLjIyMUM4NjIuMjA5IDE2My42MTMgNzg3LjE2MyAxNjguNTkxIDY5Ni4wMjYgMTk0Ljk2M0M0NDUuNzU1IDI2Ny41NDggMzA1LjEwOCAzNDguMTExIDE4OS45NyA0MDcuMDY3QzExNC45MzYgNDQ1LjUyOCA2Ni40OTg1IDQ1Ny4xODQgMzQuODM2MyA0NTYuOTAzQzAuMDY1OTYyNCA0NTIuNDgxIC00OC45MTEgNDQyLjc2OSAtNTUuMDM5NCA0NjMuMjc4XCIgc3Ryb2tlPVwidXJsKCUyM3BhaW50Nl9saW5lYXJfMjg0NF82MDM0NSlcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIvPjxwYXRoIGQ9XCJNMTU2NS4zNiA2NjguMDIxQzE1NTguNjUgNjE5LjgyNyAxNTMxLjE0IDU5OC4yNTIgMTQyOC4yOSA1NzAuNjY4QzE0MTcuOTQgNTY3LjkwNCAxNDA3Ljg5IDU2NC41NjUgMTM5Ny44MyA1NjEuMzQ1QzEyOTguMjQgNTI4LjQwMyAxMjI5LjE4IDQ3MC40NjQgMTE1My42NiAzNzkuNjUxQzExMjIuOSAzNDIuNTk5IDEwODIuOTUgMzAxLjkyOCAxMDQzLjggMjcwLjg0NUMxMDA5LjkzIDI0My43NDQgOTcyLjE4MyAyMjIuMTg0IDkyNS4wOTMgMjA5LjAzNEM4NjAuNjIzIDE5MS4wMjQgNzg1Ljc5NCAxOTYuMjYzIDY5NS45OTMgMjIyLjUxN0M0NDguODYyIDI5NS4wMzIgMzA0LjUxNSAzNzMuOTI4IDE4OC4zMjYgNDMxLjIyMkMxMTMuNDM3IDQ2OC4xMzEgNjQuNjA3NSA0ODAuMTEyIDMyLjc4MTQgNDgwLjI5N0MtMS42MTk0OCA0NzUuNzg5IC01My40Nzc1IDQ2Ny4yNTYgLTU2LjQzMzMgNDg3LjMzNlwiIHN0cm9rZT1cInVybCglMjNwYWludDdfbGluZWFyXzI4NDRfNjAzNDUpXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiLz48cGF0aCBkPVwiTTE1NjMuMDggNjkxLjI3NkMxNTU1Ljc1IDY0NC41OSAxNTMxLjUxIDYyMi44MzUgMTQyNS44NyA1OTUuMzU1QzE0MTUuNTEgNTkyLjcxIDE0MDUuNDUgNTg5LjQ5IDEzOTUuNTEgNTg2LjI4MkMxMjk0LjU4IDU1My41NzYgMTIyNi4wOCA0OTQuNzI2IDExNTEuOTIgNDA2LjIwNUMxMTIwLjkgMzY5LjI1MSAxMDgxLjYzIDMyOS4xMjMgMTA0Mi4zNSAyOTguMDI5QzEwMDguNyAyNzEuMzA4IDk3MS4wNjUgMjQ5Ljc1OSA5MjQuMTA1IDIzNi41MDFDODU5LjMxMSAyMTguMDk5IDc4NC40NTkgMjIzLjU3NyA2OTYuMTE0IDI0OS43MjZDNDUyLjI0MiAzMjIuMTgxIDMwNC4wNzQgMzk5LjM5OSAxODYuODM2IDQ1NS4wMzFDMTEyLjIxMSA0OTAuMzk4IDYyLjczOTcgNTAyLjgwMSAzMC44OTEzIDUwMy4yMjZDLTMuMjcwNzEgNDk4LjczOSAtNTguMDA5OCA0OTEuMzg1IC01Ny41NDI5IDUxMC45MzlcIiBzdHJva2U9XCJ1cmwoJTIzcGFpbnQ4X2xpbmVhcl8yODQ0XzYwMzQ1KVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIi8+PHBhdGggZD1cIk0xNTYwLjY4IDcxNC41MThDMTU1Mi43MiA2NjkuMzQgMTUzMS43NiA2NDcuNDA3IDE0MjMuMzQgNjIwLjAyOUMxNDEyLjk4IDYxNy4zODUgMTQwMi45MSA2MTQuMjg1IDEzOTMuMDcgNjExLjIwN0MxMjkwLjc5IDU3OC43MzcgMTIyMi44NiA1MTguOTc1IDExNDkuOTMgNDMyLjczNkMxMTE4LjY3IDM5NS44NzkgMTA4MC4wNiAzNTYuMjk1IDEwNDAuNzggMzI1LjMyQzEwMDcuMzQgMjk4Ljg2IDk2OS42OTggMjc3LjQzMSA5MjMuMTE5IDI2My45NjdDODU3Ljg4IDI0NS4xNjIgNzgzLjI0NSAyNTAuOTAxIDY5Ni4yMzYgMjc2LjkzM0M0NTUuNTE0IDM0OS4xOTggMzAzLjUwNCA0MjQuOTc3IDE4NS4zNDcgNDc4LjgzOEMxMTAuODU1IDUxMi43NzMgNjAuODgzNSA1MjUuMzcgMjkuMDAxNyA1MjYuMTUzQy00Ljc5MDc3IDUyMS41ODEgLTYyLjUzMDQgNTE1LjM5NCAtNTguNzcxMyA1MzQuNTNcIiBzdHJva2U9XCJ1cmwoJTIzcGFpbnQ5X2xpbmVhcl8yODQ0XzYwMzQ1KVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIi8+PHBhdGggZD1cIk0xNTU4LjI4IDczNy43NjJDMTU0OS42OSA2OTQuMjEgMTUzMiA2NzEuOTc4IDE0MjAuODEgNjQ0LjU4NkMxNDEwLjQ1IDY0Mi4wNiAxNDAwLjQ4IDYzOS4wOTEgMTM5MC41MyA2MzYuMDAyQzEyODYuOSA2MDMuNzY4IDEyMTkuNjcgNTQyLjk4NyAxMTQ3Ljk1IDQ1OS4yNjhDMTExNi40MyA0MjIuNTA4IDEwNzguNTEgMzgzLjM0OCAxMDM4Ljk4IDM1Mi40N0MxMDA1LjY0IDMyNi4yNiA5NjguMjIxIDMwNC45NzIgOTIxLjc3MiAyOTEuNEM4NTYuMjA4IDI3Mi4yMDQgNzgxLjU1MSAyNzguMTgxIDY5NS45OTggMzA0LjEwN0M0NTguNDE1IDM3Ni4zMDIgMzAyLjcwNSA0NTAuNDE1IDE4My41MDggNTAyLjQ5M0MxMDkuMjcgNTM1LjAwNiA1OC42Nzg3IDU0Ny43ODggMjYuNzYzNSA1NDguOTI5Qy02LjY3MDYyIDU0NC4zODkgLTY3LjQxMDkgNTM5LjM3IC02MC4zNDg1IDU1Ny45NjlcIiBzdHJva2U9XCJ1cmwoJTIzcGFpbnQxMF9saW5lYXJfMjg0NF82MDM0NSlcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIvPjwvZz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzI4NDRfNjAzNDVcIiB4MT1cIi0zMC4yNTkzXCIgeTE9XCIxMzkuNDAxXCIgeDI9XCIxNjAyLjg2XCIgeTI9XCIyOTEuNjAxXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agc3RvcC1jb2xvcj1cIiUyM0ZGMzQzNFwiLz48c3RvcCBvZmZzZXQ9XCIwLjMzXCIgc3RvcC1jb2xvcj1cIiUyM0ZGMzQzNFwiLz48c3RvcCBvZmZzZXQ9XCIwLjkyXCIgc3RvcC1jb2xvcj1cIiUyMzU2MTZCRlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50MV9saW5lYXJfMjg0NF82MDM0NVwiIHgxPVwiLTMxLjg1NTdcIiB5MT1cIjE2NC43MzRcIiB4Mj1cIjE2MDAuMjlcIiB5Mj1cIjMxNi44NDNcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBzdG9wLWNvbG9yPVwiJTIzRkYzNDM0XCIvPjxzdG9wIG9mZnNldD1cIjAuMzNcIiBzdG9wLWNvbG9yPVwiJTIzRkYzNDM0XCIvPjxzdG9wIG9mZnNldD1cIjAuOTJcIiBzdG9wLWNvbG9yPVwiJTIzNTYxNkJGXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQyX2xpbmVhcl8yODQ0XzYwMzQ1XCIgeDE9XCItMzMuNDA0M1wiIHkxPVwiMTkwLjA3MVwiIHgyPVwiMTU5Ny43MlwiIHkyPVwiMzQyLjA4NVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIHN0b3AtY29sb3I9XCIlMjNGRjM0MzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zM1wiIHN0b3AtY29sb3I9XCIlMjNGRjM0MzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC45MlwiIHN0b3AtY29sb3I9XCIlMjM1NjE2QkZcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDNfbGluZWFyXzI4NDRfNjAzNDVcIiB4MT1cIi0zNC45ODIxXCIgeTE9XCIyMTUuNDIxXCIgeDI9XCIxNTk1LjE2XCIgeTI9XCIzNjcuMzQyXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agc3RvcC1jb2xvcj1cIiUyM0ZGMzQzNFwiLz48c3RvcCBvZmZzZXQ9XCIwLjMzXCIgc3RvcC1jb2xvcj1cIiUyM0ZGMzQzNFwiLz48c3RvcCBvZmZzZXQ9XCIwLjkyXCIgc3RvcC1jb2xvcj1cIiUyMzU2MTZCRlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50NF9saW5lYXJfMjg0NF82MDM0NVwiIHgxPVwiLTM2LjU2MDZcIiB5MT1cIjI0MC43NThcIiB4Mj1cIjE1OTIuNTlcIiB5Mj1cIjM5Mi41ODZcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBzdG9wLWNvbG9yPVwiJTIzRkYzNDM0XCIvPjxzdG9wIG9mZnNldD1cIjAuMzNcIiBzdG9wLWNvbG9yPVwiJTIzRkYzNDM0XCIvPjxzdG9wIG9mZnNldD1cIjAuOTJcIiBzdG9wLWNvbG9yPVwiJTIzNTYxNkJGXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQ1X2xpbmVhcl8yODQ0XzYwMzQ1XCIgeDE9XCItMzguMTIyMVwiIHkxPVwiMjY2LjA5NFwiIHgyPVwiMTU5MC4wM1wiIHkyPVwiNDE3LjgyOFwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIHN0b3AtY29sb3I9XCIlMjNGRjM0MzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zM1wiIHN0b3AtY29sb3I9XCIlMjNGRjM0MzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC45MlwiIHN0b3AtY29sb3I9XCIlMjM1NjE2QkZcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDZfbGluZWFyXzI4NDRfNjAzNDVcIiB4MT1cIi0zOS42N1wiIHkxPVwiMjkxLjQzOVwiIHgyPVwiMTU4Ny40N1wiIHkyPVwiNDQzLjA3OFwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIHN0b3AtY29sb3I9XCIlMjNGRjM0MzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zM1wiIHN0b3AtY29sb3I9XCIlMjNGRjM0MzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC45MlwiIHN0b3AtY29sb3I9XCIlMjM1NjE2QkZcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDdfbGluZWFyXzI4NDRfNjAzNDVcIiB4MT1cIi00MS4yNDc1XCIgeTE9XCIzMTYuNzcyXCIgeDI9XCIxNTg0LjlcIiB5Mj1cIjQ2OC4zMThcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBzdG9wLWNvbG9yPVwiJTIzRkYzNDM0XCIvPjxzdG9wIG9mZnNldD1cIjAuMzNcIiBzdG9wLWNvbG9yPVwiJTIzRkYzNDM0XCIvPjxzdG9wIG9mZnNldD1cIjAuOTJcIiBzdG9wLWNvbG9yPVwiJTIzNTYxNkJGXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQ4X2xpbmVhcl8yODQ0XzYwMzQ1XCIgeDE9XCItNDIuODUyNFwiIHkxPVwiMzQyLjEwMVwiIHgyPVwiMTU4Mi4zNFwiIHkyPVwiNDkzLjU1N1wiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIHN0b3AtY29sb3I9XCIlMjNGRjM0MzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zM1wiIHN0b3AtY29sb3I9XCIlMjNGRjM0MzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC45MlwiIHN0b3AtY29sb3I9XCIlMjM1NjE2QkZcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDlfbGluZWFyXzI4NDRfNjAzNDVcIiB4MT1cIi00NC42NTkyXCIgeTE9XCIzNjcuNDAxXCIgeDI9XCIxNTc5Ljc3XCIgeTI9XCI1MTguNzg2XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agc3RvcC1jb2xvcj1cIiUyM0ZGMzQzNFwiLz48c3RvcCBvZmZzZXQ9XCIwLjMzXCIgc3RvcC1jb2xvcj1cIiUyM0ZGMzQzNFwiLz48c3RvcCBvZmZzZXQ9XCIwLjkyXCIgc3RvcC1jb2xvcj1cIiUyMzU2MTZCRlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50MTBfbGluZWFyXzI4NDRfNjAzNDVcIiB4MT1cIjE1NTguMjhcIiB5MT1cIjczNy43NjJcIiB4Mj1cIjE1NTIuMzdcIiB5Mj1cIjE4MS42NzVcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBzdG9wLWNvbG9yPVwiJTIzRkYzNDM0XCIvPjxzdG9wIG9mZnNldD1cIjAuMzg2ODEyXCIgc3RvcC1jb2xvcj1cIiUyM0ZGMzQzNFwiLz48c3RvcCBvZmZzZXQ9XCIwLjk5NzA2NVwiIHN0b3AtY29sb3I9XCIlMjM1NjE2QkZcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+Jyk7XG4iLCIvLyBJbXBvcnQgdmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vIERlZmF1bHQgdmlld3BvcnQgbWluL21heCB3aWR0aFxuJG1pbl93aWR0aDogNTc1cHggIWRlZmF1bHQ7XG4kbWF4X3dpZHRoOiAxNjAwcHggIWRlZmF1bHQ7XG5cbi8vIFZhcmlhYmxlIHNpemluZyBmdW5jdGlvbiAmIG1peGluXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTdHJpcCB1bml0cyBoZWxwZXIgZnVuY3Rpb25cbkBmdW5jdGlvbiBudW0oJGlucHV0KSB7XG4gICBAcmV0dXJuICRpbnB1dC8oJGlucHV0ICogMCArIDEpO1xufVxuXG4vLyBWYXJpYWJsZSBmb250IHNpemluZ1xuXG4vLyBzaW1wbGUgKG5vIHNjYWxlKVxuLy8gcCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgxNXB4KTsgfVxuXG4vLyBmbHVpZCBzY2FsZSBiYXNlZCBvbiBkZWZhdWx0IGJvdW5kaW5nIChyZWNvbW1lbmRlZClcbi8vIHAgeyBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMjRweCk7IH1cblxuLy8gZmx1aWQgc2NhbGUgYmFzZWQgb24gY3VzdG9tIGJvdW5kaW5nXG4vLyBwIHsgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgsIDMyMHB4LCA5NjBweCk7IH1cblxuQG1peGluIGZvbnQtc2l6ZSgkbWluLCAkbWF4OiBudWxsLCAkbG9jay1taW46ICRtaW5fd2lkdGgsICRsb2NrLW1heDogJG1heF93aWR0aCkge1xuICAgJiB7XG4gICAgICBmb250LXNpemU6ICRtaW47XG4gICB9XG5cbiAgIEBpZiAkbWF4IHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbG9jay1taW4pIHtcbiAgICAgICAgICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKCN7JG1pbn0gKyAje251bSgkbWF4KSAtIG51bSgkbWluKX0gKiAoMTAwdncgLSAjeyRsb2NrLW1pbn0pIC8gI3tudW0oJGxvY2stbWF4KSAtIG51bSgkbG9jay1taW4pfSk7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbG9jay1tYXgpIHtcbiAgICAgICAgICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWF4O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4vLyBWYXJpYWJsZSBwYWRkaW5nXG5cbi8vIHNpbXBsZSAobm8gc2NhbGUpXG4vLyBkaXYgeyBAaW5jbHVkZSBwYWRkaW5nKDE1cHgpOyB9XG5cbi8vIGZsdWlkIHNjYWxlIGJhc2VkIG9uIGRlZmF1bHQgYm91bmRpbmcgKHJlY29tbWVuZGVkKVxuLy8gZGl2IHsgQGluY2x1ZGUgcGFkZGluZygyMHB4LCA2MHB4KTsgfVxuXG4vLyBmbHVpZCBzY2FsZSBiYXNlZCBvbiBjdXN0b20gYm91bmRpbmdcbi8vIGRpdiB7IEBpbmNsdWRlIHBhZGRpbmcoMjBweCwgNjBweCwgMzIwcHgsIDk2MHB4KTsgfVxuXG5AbWl4aW4gcGFkZGluZygkbWluLCAkbWF4OiBudWxsLCAkbG9jay1taW46ICRtaW5fd2lkdGgsICRsb2NrLW1heDogJG1heF93aWR0aCkge1xuICAgJiB7XG4gICAgICBwYWRkaW5nOiAkbWluO1xuICAgfVxuXG4gICBAaWYgJG1heCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxvY2stbWluKSB7XG4gICAgICAgICAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoI3skbWlufSArICN7bnVtKCRtYXgpIC0gbnVtKCRtaW4pfSAqICgxMDB2dyAtICN7JGxvY2stbWlufSkgLyAje251bSgkbG9jay1tYXgpIC0gbnVtKCRsb2NrLW1pbil9KTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRsb2NrLW1heCkge1xuICAgICAgICAgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWF4O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/