diff --git a/dist/impac-angular.css b/dist/impac-angular.css index 30bd76e3..50a51a2d 100644 --- a/dist/impac-angular.css +++ b/dist/impac-angular.css @@ -9572,1347 +9572,1329 @@ dashboard-templates-selector .templates .template.selected { #sync-apps-modal .fa.success { color: #47ff00; } -.analytics .widget-item .content.accounts-assets-liability-summary .param-selector { - text-align: center; -} -.analytics .widget-item .content.accounts-assets-liability-summary .legend { - text-align: left; - max-height: 90px; -} -.analytics .widget-item .content.accounts-assets-liability-summary .legend .title { - text-align: center; - border-bottom: dashed 1px #dfe2e2; -} -.analytics .widget-item .content.accounts-assets-summary .legend { - text-align: left; - max-height: 115px; -} -.analytics .widget-item .content.accounts-assets-summary .legend .title { - text-align: center; - border-bottom: dashed 1px #dfe2e2; -} -.analytics .widget-item .content.accounts-assets-vs-liabilities .legend > .title span { - margin-left: 3px; -} -.analytics .widget-item .content.accounts-balance h3 { - font-weight: 300; - font-size: 14px; - color: #5B6667; - text-align: left; - margin-top: 30px; - text-align: center; -} -.analytics .widget-item .content.accounts-balance .price { - font-weight: 900; - font-size: 22px; - color: #5B6667; - text-align: center; - margin-top: 0px; -} -.analytics .widget-item .content.accounts-balance-sheet { - min-height: 565px; -} -@media (min-width: 992px) { - .analytics .widget-item .content.accounts-balance-sheet { - height: 565px; - } - .analytics .widget-item .content.accounts-balance-sheet .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; - } -} -.analytics .widget-item .content.accounts-balance-sheet .edit { - max-height: 545px; -} -.analytics .widget-item .content.accounts-balance-sheet .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; -} -.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container { - overflow-y: scroll; - overflow-x: hidden; - max-height: 490px; -} -@media (max-width: 767px) { - .analytics .widget-item .content.accounts-balance-sheet .widget-lines-container .row.widget-line:not(:last-child) { - border-bottom: dashed 1px #dfe2e2; - } -} -.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container .row.widget-line.header > [class*='col-'] { - position: static; -} -.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container.no-scroll { - overflow: visible; -} -.analytics .widget-item .content.accounts-balance-sheet .no-data-block { - font-weight: 300; - font-size: 16px; - color: #5B6667; - text-align: center; - margin: 15px 0px; -} -.analytics .widget-item .content.accounts-cash-balance { - min-height: 565px; -} -@media (min-width: 992px) { - .analytics .widget-item .content.accounts-cash-balance { - height: 565px; - } - .analytics .widget-item .content.accounts-cash-balance .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; - } -} -.analytics .widget-item .content.accounts-cash-balance .edit { - max-height: 545px; -} -.analytics .widget-item .content.accounts-cash-balance .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; -} -.analytics .widget-item .content.accounts-cash-balance .data-container { - height: calc(565px - 50px); - width: 100%; -} -.analytics .widget-item .content.accounts-cash-balance .left-panel { - width: 180px; - display: inline-block; - overflow: auto; -} -.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item { +chart-threshold .attach-panel { + padding: 5px 0; display: -webkit-box; display: -ms-flexbox; display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; - min-height: 45px; - margin: 3px; - font-size: 13px; - padding: 3px; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; + background-color: rgba(20, 132, 228, 0.16); } -.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item:hover { - background-color: #ececec; +chart-threshold .attach-panel > .attach-panel-text { + display: inline-block; } -.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item i { - font-size: 19px; - padding: 4px; - margin-top: 1px; +chart-threshold .attach-panel > .attach-panel-text > * { + display: inline-block; } -.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item span { +chart-threshold .attach-panel .panel-text-label { + text-transform: uppercase; + font-weight: bold; color: #5B6667; + font-size: 13px; } -.analytics .widget-item .content.accounts-cash-balance .legend-item-icon { - width: 16px; - height: 16px; -} -.analytics .widget-item .content.accounts-cash-balance .right-panel { - width: calc(100% - 180px); - float: right; +chart-threshold .attach-panel .panel-text-input { + border-radius: 3px; + border: 1px white; + padding: 3px; } -.analytics .widget-item .content.accounts-cash-balance .right-panel .cash-balance-chart { - height: calc(565px - 50px); +chart-threshold .attach-panel .panel-text-currency { + font-weight: bold; + color: #000; } -.analytics .widget-item .content.accounts-cash-balance .dates-picker { +chart-threshold .action-buttons { display: inline-block; - float: right; - font-size: 12px; -} -.analytics .widget-item .content.accounts-cash-projection { - min-height: 565px; -} -@media (min-width: 992px) { - .analytics .widget-item .content.accounts-cash-projection { - height: 565px; - } - .analytics .widget-item .content.accounts-cash-projection .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; - } -} -.analytics .widget-item .content.accounts-cash-projection .edit { - max-height: 545px; + padding: 0 10px; } -.analytics .widget-item .content.accounts-cash-projection .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; +chart-threshold .action-buttons button { + padding: 3px 6px; + display: inline-block; } -.analytics .widget-item .content.accounts-cash-projection .cash-projection-chart { - height: calc(565px - 50px); +chart-threshold .action-buttons button.loading { + padding: 3px 20px; } -.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item rect.highcharts-point { - display: none; +.currency-conversions img { + width: 15px; + cursor: pointer; } -.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item span { - width: 110px; - text-align: center; +.currency-conversions.popover .popover-title { + background-color: black; + color: white; } -.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item span img { - text-align: center; - width: 55px; - height: 25px; +.analytics .widget-item .editable-title { + width: 100%; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + overflow: hidden; + height: 22px; } -.analytics .widget-item .content.accounts-cash-projection .dates-picker { - display: inline-block; - float: right; +.analytics .widget-item .editable-title .title { + text-transform: uppercase; + font-weight: 600; font-size: 12px; + color: #4f5959; + cursor: text; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + line-height: 1.9; } -.analytics .widget-item .content.accounts-cash-projection transactions-list { - font-size: 12px; +.analytics .widget-item .editable-title .editable-wrap { + position: relative; + height: 20px; + min-width: 100%; + white-space: nowrap; } -.analytics .widget-item .content.accounts-cash-summary { - min-height: 565px; +.analytics .widget-item .editable-title .editable-wrap .editable-controls { + min-width: 100%; } -@media (min-width: 992px) { - .analytics .widget-item .content.accounts-cash-summary { - height: 565px; - } - .analytics .widget-item .content.accounts-cash-summary .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; - } +.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-input { + height: 20px; + font-size: 12px; + text-transform: uppercase; + width: calc(100% - 65px); + padding: 0px 3px; } -.analytics .widget-item .content.accounts-cash-summary .edit { - max-height: 545px; +.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-buttons { + background-color: white; } -.analytics .widget-item .content.accounts-cash-summary .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; +.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-buttons button { + margin: 0px 0px 0px 5px; + height: 20px; + padding: 0px 5px; } -.analytics .widget-item .content.accounts-cash-summary .widget-lines-container { - max-height: 540px; +.analytics .widget-item .info-panel { + position: absolute; + top: 15px; + left: 15px; + width: calc(100% - 30px); + max-height: calc(100% - 30px); + height: 100%; + z-index: 100; + background-color: white; + border: dotted 1px #B7CDCE; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + font-family: "Lato Semibold", "Lato"; + z-index: 4; } -.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line { - cursor: pointer; - border: solid 1px white; +.analytics .widget-item .info-panel:hover { + opacity: 1; } -.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line .selection-tag { - display: block; - right: 0px; - margin-top: -6px; - width: 10px; - height: 29px; - position: absolute; +.analytics .widget-item .info-panel .i-header { + background-color: #FFC928; + color: #1E303B; + padding: 8px; + text-transform: uppercase; + font-family: "Lato Medium", "Lato"; + font-size: 12px; } -.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line:hover { - background-color: #e6e0fb; +.analytics .widget-item .info-panel .i-header .fa { + font-size: 18px; } -.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line.no-select { - cursor: auto; +.analytics .widget-item .info-panel .i-header .fa-info-circle { + float: left; } -.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line.no-select:hover { - color: #626d6d; +.analytics .widget-item .info-panel .i-header .fa-times-circle { + cursor: pointer; + float: right; } -.analytics .widget-item .content.accounts-cash-summary .right-panel .widget-lines-container { +.analytics .widget-item .info-panel .i-content { overflow-y: auto; overflow-x: hidden; - max-height: 235px; -} -.analytics .widget-item .content.accounts-cash-summary .no-element { - font-weight: 300; - font-size: 16px; - color: #5B6667; - text-align: center; + padding: 5px; + text-align: justify; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; } -.analytics .widget-item .content.accounts-cash-summary .right-panel .widget-lines-container { - max-height: 215px; +.analytics .widget-item .info-panel .i-content .row { + margin-bottom: 6px; + padding-bottom: 6px; + border-bottom: solid 1px #abc4c6; } -.analytics .widget-item .content.accounts-cash-summary .row.lines-group.cash { - border-top: solid 1px; - border-bottom: double; +.analytics .widget-item .info-panel .i-content .row:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; } -.analytics .widget-item .content.accounts-comparison { - min-height: 565px; +.analytics .widget-item .info-panel .i-content .row .key { + text-align: right; + font-variant: small-caps; } -@media (min-width: 992px) { - .analytics .widget-item .content.accounts-comparison { - height: 565px; - } - .analytics .widget-item .content.accounts-comparison .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; +@media (max-width: 991px) { + .analytics .widget-item .info-panel .i-content .row .key { + text-align: center; } } -.analytics .widget-item .content.accounts-comparison .edit { - max-height: 545px; -} -.analytics .widget-item .content.accounts-comparison .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; +.analytics .widget-item .info-panel .i-content .row .value { + text-align: justify; } -@media print { - .analytics .widget-item .content.accounts-comparison .chart-container { - max-width: 80% !important; - } +.analytics .time-period-info { + font-size: 11px; + color: #ABC4C6; + text-transform: uppercase; } -.analytics .widget-item .content.accounts-comparison .add-account { - position: absolute; - right: 40px; - bottom: 30px; - width: 160px; +.analytics .widget-item .top-line .top-buttons { + text-align: right; + margin-top: -1px; + white-space: nowrap; + padding-left: 10px; } -.analytics .widget-item .content.accounts-comparison .add-account select { - font-size: 13px; - background-color: #977bf0; - color: white; - outline: none; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button { + background: transparent; border: none; - cursor: pointer; -} -.analytics .widget-item .content.accounts-comparison .add-account select[disabled] { - cursor: not-allowed; - background-color: #bba9f5; -} -.analytics .widget-item .content.accounts-comparison .add-account select[disabled]:hover { - background-color: #bba9f5; + color: #c4caca; + padding: 0; + outline: none; + width: 17px; } -.analytics .widget-item .content.accounts-comparison .add-account select:hover { - background-color: #734deb; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button:active, +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button:focus { + box-shadow: none; } -.analytics .widget-item .content.accounts-comparison .add-account select option { - background-color: white; - color: #c4caca; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-info { + font-size: 17px; + margin-top: 1px; } -.analytics .widget-item .content.accounts-comparison .add-account select option[disabled] { - color: white; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-info:hover { + color: #FFC928; } -.analytics .widget-item .content.accounts-comparison button.close { - font-size: 15px; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-refresh { + font-size: 17px; + margin-top: 1px; } -.analytics .widget-item .content.accounts-comparison .legend { - text-align: left; - max-height: 103px; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-refresh:hover { + color: #358fdc; } -.analytics .widget-item .content.accounts-comparison .row { - margin: 0; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit { + font-size: 13px; } -.analytics .widget-item .content.accounts-comparison .widget-lines-container { - font-size: 11px; - max-height: 220px; - margin-bottom: 65px; - overflow: auto; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit:hover, +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit.edit-mode { + color: #cfd849; } -.analytics .widget-item .content.accounts-comparison .settings.params-checkboxes { - margin-left: 13px; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-close { + font-size: 13px; } -.analytics .widget-item .content.accounts-comparison .comparable-error h5 { - margin-left: 13px; +.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-close:hover { color: #ed1e79; } -.analytics .widget-item .content.accounts-class-comparison .param-selector { - text-align: center; +.analytics .widget-item .content .settings.select-account { + padding: 0px 5px; } -.analytics .widget-item .content.accounts-class-comparison .widget-lines-container { - max-height: 94px; - color: #626d6d; +.analytics .settings.accounting-behaviour .btn.btn-primary { + background-color: #bba9f5; + border: solid 1px #977bf0; } -.analytics .widget-item .content.accounts-detailed-classifications { - min-height: 565px; +.analytics .settings.accounting-behaviour .btn.btn-primary.focus, +.analytics .settings.accounting-behaviour .btn.btn-primary.active { + background-color: #977bf0; } -@media (min-width: 992px) { - .analytics .widget-item .content.accounts-detailed-classifications { - height: 565px; - } - .analytics .widget-item .content.accounts-detailed-classifications .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; - } +.analytics .settings.attach-kpis .attach-kpi { + padding: 8px 5px; } -.analytics .widget-item .content.accounts-detailed-classifications .edit { - max-height: 545px; +.analytics .settings.attach-kpis .attach-kpi form .row { + padding-bottom: 5px; } -.analytics .widget-item .content.accounts-detailed-classifications .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; +.analytics .settings.attach-kpis .attach-kpi .attach-kpi-form { + background-color: white; + border: 1px solid #ddd; + padding: 5px; } -.analytics .widget-item .content.accounts-detailed-classifications .widget-lines-container { - overflow-y: scroll; - overflow-x: hidden; - max-height: 540px; +.analytics .settings.attach-kpis .attach-kpi form .row.kpi-description { + padding: 10px 2px; } -.analytics .widget-item .content.accounts-detailed-classifications .account-class-title { - margin-bottom: 8px; - margin-left: 11px; +.analytics .settings.attach-kpis .attach-kpi form .row.kpi-description span { + display: block; + font-weight: bold; + font-size: 13px; } -.analytics .widget-item .content.accounts-detailed-classifications .time-period-info { - text-align: right; +.analytics .settings.attach-kpis .attach-kpi form.attach-kpi-form input.attach-target { + background-color: white; + height: inherit; } -.analytics .widget-item .content.accounts-detailed-classifications .widget-line.header.sorting { - border-bottom: 1px solid #ccc; +.analytics .settings.attach-kpis .attach-kpi .error-messages { + color: #e01f74; + width: 120px; } -.analytics .widget-item .content.accounts-expense-weight .legend { - text-align: left; - max-height: 115px; +.analytics .settings.attach-kpis .attached-kpis { + padding: 5px; } -.analytics .widget-item .content.accounts-expense-weight .legend .title { - text-align: center; +.analytics .settings.attach-kpis .list-group-item.attached-kpi { + padding: 5px 10px; } -.analytics .widget-item .content.accounts-custom-calculation h3 { - margin-top: 85px; - text-align: center; +.analytics .settings.attach-kpis .list-group-item.attached-kpi .attached-kpi-name { + overflow: hidden; + width: 75%; + display: inline-block; + white-space: nowrap; + text-overflow: ellipsis; + margin-top: 3px; + font-size: 13px; font-weight: bold; } -.analytics .widget-item .content.accounts-custom-calculation .legend { - max-height: 125px; +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions { + padding-top: 2px; +} +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .alerts-config { + display: inline-block; + text-align: left; + padding-left: 4px; + height: 20px; + border-radius: 40px; + width: 21px; + color: #358fdc; + background-color: white; + border: solid 1px #358fdc; +} +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .alerts-config:hover { + cursor: pointer; } -.analytics.modal-custom-calculation { - margin: 0px; - padding: 0px; +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi { + display: inline-block; } -.analytics.modal-custom-calculation .modal-body .edit { - overflow-y: auto; - overflow-x: hidden; - color: #5B6667; - padding: 2px; - font-size: 12px; - padding: 5px; - overflow: visible; +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi i { + border-radius: 10px; + width: 21px; + color: #358fdc; + background-color: white; + height: 20px; + padding: 3px 5px 5px 5px; + border: solid 1px #358fdc; } -.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn { - border-radius: 2px; - margin-right: 5px; - padding: 3px 13px; - text-transform: uppercase; - font-size: 12px; +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi i:hover { + cursor: pointer; } -.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn.btn-default { - background-color: #c2c4c4; - border: solid 1px #a8abab; - color: white; +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi { + display: inline-block; } -.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn.btn-default:hover { - border: solid 1px #8e9292; - background-color: #a8abab; +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi i { + border-radius: 10px; + width: 21px; + color: #e01f74; + background-color: white; + height: 20px; + padding: 3px 5px 5px 5px; + border: solid 1px #e01f74; } -.analytics.modal-custom-calculation .modal-body .edit h4 { - margin: 0; - margin-bottom: 8px; - text-align: left; - font-weight: normal; - font-size: 12px; - color: #c4caca; +.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi i:hover { + cursor: pointer; } -.analytics.modal-custom-calculation .modal-body .edit .part { - margin-bottom: 8px; - padding: 10px 0px; - background-color: #fcfcfc; - border: solid 1px #dfe2e2; +.analytics .widget-item .content .settings.chart-filters .row { + margin: 0px; } -.analytics.modal-custom-calculation .modal-body .edit .part h5 { - display: block; +.analytics .widget-item .content .settings.chart-filters input[type="radio"] { margin: 0; - margin-bottom: 10px; - padding: 0px 15px; - text-transform: uppercase; - font-weight: normal; - font-size: 12px; - color: #c4caca; -} -.analytics.modal-custom-calculation .modal-body .edit .part label { - font-weight: normal; -} -.analytics.modal-custom-calculation .modal-body .edit .part select.form-control { - margin: 0px; - border: solid 1px #acb0b1; + margin-right: 3px; + padding: 0; + width: 13px; + height: 13px; + vertical-align: middle; + position: relative; + top: -1px; outline: none; - -webkit-box-shadow: none; - font-size: 13px; - color: #72728b; } -.analytics .widget-item .content.accounts-expenses-revenue .legend { - font-weight: bold; +.analytics .widget-item .content .settings.chart-filters input[type="range"] { + height: auto; + width: 100%; } -.analytics .widget-item .content.accounts-expenses-revenue .settings.params-checkboxes { - font-size: 12px; - margin-left: 0px; - text-align: center; +.analytics .settings.dates-picker h5 { + display: none; } -.analytics .widget-item .content.accounts-payable-receivable h3 { - text-align: center; +.analytics .settings.dates-picker button.btn.btn-sm { + line-height: 1; } -.analytics .widget-item .content.accounts-payable-receivable .legend { - font-weight: bold; +.analytics .settings.dates-picker button.btn.btn-sm.date-button { + margin: 0px 5px; } -.analytics .widget-item .content.accounts-payable-receivable .payable { - margin-top: 15px; +.analytics .settings.dates-picker button.btn.btn-sm.btn-danger { + display: none; } -.analytics .widget-item .content.accounts-payable-receivable .price { - font-weight: 900; - font-size: 22px; - color: #5B6667; - text-align: center; - margin-top: 0px; +.analytics .settings.dates-picker button.btn.btn-sm.btn-info { + border-radius: 3px; } -.analytics .widget-item .content.accounts-profit-and-loss { - min-height: 565px; +.analytics .settings.dates-picker .tooltip-inner { + text-transform: none; } -@media (min-width: 992px) { - .analytics .widget-item .content.accounts-profit-and-loss { - height: 565px; - } - .analytics .widget-item .content.accounts-profit-and-loss .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; - } +.analytics .settings.dates-picker .dropdown-menu > li > div > table { + outline: none; } -.analytics .widget-item .content.accounts-profit-and-loss .edit { - max-height: 545px; +.analytics .widget-item .content .settings.hist-mode-choser { + max-height: 70px; } -.analytics .widget-item .content.accounts-profit-and-loss .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; +.analytics .widget-item .content .settings.hist-mode-choser [common-time-period-info] { + padding-bottom: 8px; } -.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container { - max-height: 540px; +.analytics .widget-item .content .settings.hist-mode-choser .options { + width: 150px; + margin: auto; + padding-bottom: 8px; + border-bottom: solid 1px #e6e6e6; + font-weight: 500; + font-size: 12px; + color: #c4caca; } -.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line { - cursor: pointer; - border: solid 1px white; +.analytics .widget-item .content .settings.hist-mode-choser .options a { + font-weight: 500; + font-size: 12px; + color: #c4caca; + text-transform: uppercase; } -.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line .selection-tag { - display: block; - right: 0px; - margin-top: -6px; - width: 10px; - height: 29px; - position: absolute; +.analytics .widget-item .content .settings.hist-mode-choser .options a.active { + color: #977bf0; } -.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line:hover { - background-color: #e6e0fb; +.analytics .widget-item .content .settings.hist-mode-choser .arrow-container { + width: 28px; + height: 28px; + position: relative; + top: -14px; + margin: auto; } -.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line.no-select { - cursor: auto; +.analytics .widget-item .content .settings.hist-mode-choser .arrow-container.right { + left: 46px; } -.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line.no-select:hover { - color: #626d6d; +.analytics .widget-item .content .settings.hist-mode-choser .arrow-container.left { + left: -30px; } -.analytics .widget-item .content.accounts-profit-and-loss .right-panel .widget-lines-container { - overflow-y: auto; - overflow-x: hidden; - max-height: 235px; +.analytics .widget-item .content .settings.hist-mode-choser .arrow-container .arrow-border { + border-top: 14px solid #e6e6e6; + border-left: 14px solid transparent; + border-right: 14px solid transparent; + width: 0px; + height: 0px; } -.analytics .widget-item .content.accounts-profit-and-loss .no-element { - font-weight: 300; - font-size: 16px; - color: #5B6667; +.analytics .widget-item .content .settings.hist-mode-choser .arrow-container .arrow { + border-top: 14px solid white; + border-left: 14px solid transparent; + border-right: 14px solid transparent; + position: relative; + top: 12px; + width: 0px; + height: 0px; +} +.analytics .settings.limit-entries { + color: #1E303B; + text-transform: uppercase; text-align: center; + border-bottom: dashed 1px #E6E6E6; + padding-bottom: 8px; } -.analytics .widget-item .content.accounts-profit-and-loss .row.lines-group.profit { - border-top: solid 1px; - border-bottom: double; +.analytics .settings.limit-entries a.option.badge { + color: white; + background-color: #1E303B; } -.analytics .widget-item .content.accounts-profit-and-loss .right-panel .widget-lines-container { - max-height: 215px; +.analytics .settings.offsets .offset-value { + font-style: italic; + font-size: 13px; } -.analytics .widget-item .content.accounts-profit-and-loss .row.widget-line.header > [class*='col-'] { - position: static; +.analytics .settings.offsets .offset-value .fa-trash-o { + margin-left: 10px; } -.analytics .widget-item .content.accounts-ratios .left-panel { - max-height: 230px; - overflow-y: auto; +.analytics .settings.offsets .offset-value .fa-trash-o:hover { + color: #e01f74; + cursor: pointer; } -.analytics .widget-item .content.accounts-ratios .left-panel .separator { - border-bottom: solid 1px #5B6667; +.analytics .settings.offsets input { width: 75%; } -.analytics .widget-item .content.accounts-ratios .left-panel .member { - padding-top: 20px; - padding-bottom: 20px; +.analytics .settings.offsets button { + width: 30px; +} +.analytics .settings.organizations .widget-lines-container .widget-line { + padding: 5px 10px 5px 18px; +} +.analytics .settings.organizations .widget-lines-container .widget-line:nth-child(even) { + background-color: #f3f4f4; } -.analytics .widget-item .content.accounts-ratios .left-panel .member .price { - margin-top: 0px; - font-size: 18px; +.analytics .settings.organizations .widget-lines-container .widget-line:nth-child(odd) { + background-color: white; } -.analytics .widget-item .content.accounts-ratios .left-panel button { - outline: none; +.analytics .settings.organizations .widget-lines-container .widget-line .fa { + float: right; + font-size: 20px; + cursor: pointer; } -.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member { - padding-top: 5px; +.analytics .settings.organizations .widget-lines-container .widget-line .fa.fa-toggle-on { + color: #977bf0; } -.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member .legend { - display: none; +.analytics .settings.organizations .widget-lines-container .widget-line .fa.fa-toggle-off { + color: #9ba6a7; } -.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member .price { - text-align: right; +.analytics .widget-item .content .settings.param-selector { + display: inline-block; } -.analytics .widget-item .content.accounts-ratios .left-panel.simulation .separator { +.analytics .widget-item .content .settings.param-selector.classic { width: 100%; } -.analytics .widget-item .content.hr-employee-details { - font-size: 12px; +.analytics .widget-item .content .settings.param-selector.classic select { + width: 100%; + height: 25px; + border: 1px solid #ccc; + text-transform: uppercase; + margin: 0px 0px 5px 0px; } -.analytics .widget-item .content.hr-employee-details .details-container { - padding: 0px; - max-height: none; +.analytics .widget-item .content .settings.param-selector a { + font-weight: normal; + color: #977bf0; + white-space: nowrap; +} +.analytics .widget-item .content .settings.param-selector .options-container { + position: absolute; + background-color: white; + text-align: left; + min-width: 150px; + max-height: 200px; + z-index: 999; overflow-y: auto; overflow-x: hidden; + box-shadow: #000000 0px 3px 15px -3px; } -@media (min-width: 992px) { - .analytics .widget-item .content.hr-employee-details .details-container { - max-height: 200px; - } -} -@media (min-width: 992px) { - .analytics .widget-item .content.hr-employee-details .right-panel .details-container { - max-height: 220px; - } +.analytics .widget-item .content .settings.param-selector .options-container .param-selector-label { + padding: 3px 5px; + font-weight: 500; + font-size: inherit; + color: black; + cursor: text; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + line-height: 1.9; } -.analytics .widget-item .content.hr-employee-details .right-panel .legend { - margin-bottom: 5px; +.analytics .widget-item .content .settings.param-selector .options-container .param-selector-label:hover { + cursor: pointer; + background-color: #977bf0; + color: white; } -.analytics .widget-item .content.hr-employee-details .title { - text-align: center; - margin-bottom: 10px; - font-size: 14px; +.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar { + width: 8px; + background-color: #d7e2e4; } -.analytics .widget-item .content.hr-employees-list .legend { - margin-bottom: 9px; +.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar-thumb { + background-color: #977bf0; } -.analytics .widget-item .content.hr-employees-list .widget-lines-container { - text-align: center; +.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar-thumb:hover { + background-color: #a992f3; } -.analytics .widget-item .content.hr-employees-list .widget-lines-container .widget-line:nth-child(even) { - background-color: #f0f0f0; +.analytics .settings.params-checkboxes { + padding: 2px 0px; } -.analytics .widget-item .content.hr-employees-list .widget-lines-container .widget-line:nth-child(odd) { - background-color: white; +.analytics .settings.params-checkboxes input { + margin: 0; + height: inherit; } -.analytics .widget-item .content.hr-employees-list .edit .widget-lines-container { - text-align: left; +.analytics .settings.params-checkboxes span { + margin-left: 5px; } -.analytics .widget-item .content.hr-leaves-balance .employee-name { - text-align: center; +.analytics .settings.params-checkboxes label { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + line-height: 14px; } -.analytics .widget-item .content.hr-leaves-balance .balance { - font-weight: 900; - font-size: 22px; - color: #5B6667; - text-align: center; - margin-top: 0px; +.analytics .widget-item .content .settings.params-picker { + padding: 0px 10px; } -.analytics .widget-item .content.hr-leaves-balance h3 { - margin-top: 33px; - text-align: center; +.analytics .widget-item .content .settings.params-picker .parameter { + margin: 0px 3px 3px 0px; + padding: 3px 5px; + background-color: #1E303B; + color: white; + border: solid 1px #1E303B; + border-radius: 4px; + cursor: move; + font-weight: bold; + white-space: nowrap; + float: left; } -.analytics .widget-item .content.hr-leaves-schedule .fc-button { - height: 22px; - font-size: 12px; - color: #977bf0; - background: white; +.analytics .widget-item .content .settings.params-picker .parameter input[type="checkbox"] { + margin: 0px -3px 0px 3px; + vertical-align: middle; + height: inherit; outline: none; + cursor: pointer; } -.analytics .widget-item .content.hr-leaves-schedule .fc-button:hover { +.analytics .widget-item .content .settings.params-picker .parameter .badge { + margin-right: 3px; + font-size: 10px; + background-color: #f2f2f2; + color: #1E303B; + padding: 2px 6px; +} +.analytics .widget-item .content .settings.params-picker .parameter.unchecked { + background-color: inherit; + font-weight: normal; + color: inherit; + border-color: #c2c4c4; +} +.analytics .widget-item .content .settings.params-picker .parameter.unchecked .badge { + background-color: #c2c4c4; color: white; - background: #977bf0; } -.analytics .widget-item .content.hr-leaves-schedule .fc-toolbar { - margin-bottom: 5px; +.analytics .settings.tag-filter { + padding: 0px 5px; } -.analytics .widget-item .content.hr-leaves-schedule .fc-day-grid, -.analytics .widget-item .content.hr-leaves-schedule .fc-widget-header { - font-size: 12px; - color: #5B6667; +.analytics .settings.tag-filter .btn.btn-default { + height: 32px; + width: 30px; } -.analytics .widget-item .content.hr-payroll-summary { - min-height: 565px; +.analytics .settings.tag-filter .tag-lines-container { + padding: 0px 10px; } -@media (min-width: 992px) { - .analytics .widget-item .content.hr-payroll-summary { - height: 565px; - } - .analytics .widget-item .content.hr-payroll-summary .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; - } +.analytics .settings.tag-filter .tag-lines-container .tag-line { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; } -.analytics .widget-item .content.hr-payroll-summary .edit { - max-height: 545px; +.analytics .settings.tag-filter .tag-lines-container .tag-line .tags-col { + position: static; } -.analytics .widget-item .content.hr-payroll-summary .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; +.analytics .settings.tag-filter .tag-lines-container .tag-line tags-input .tags { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + border-radius: 4px; + border: solid 1px #ccc; } -.analytics .widget-item .content.hr-payroll-summary .widget-lines-container { - max-height: 540px; +.analytics .settings.tag-filter .tag-lines-container .tag-line tags-input .tags .tag-item { + background: #79a2bb; + border-radius: 4px; + color: white; } -.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line { - cursor: pointer; - border: solid 1px white; +.analytics .settings.tag-filter .tag-lines-container .tag-line .host { + position: static; } -.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line .selection-tag { - display: block; - right: 0px; - margin-top: -6px; - width: 10px; - height: 29px; - position: absolute; +.analytics .settings.time-period { + padding: 0px 5px; } -.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line:hover { - background-color: #e6e0fb; +.analytics .settings.time-period select { + height: 22px; + width: 100%; } -.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line.no-select { - cursor: auto; +.analytics .settings.time-period > .row { + margin: 0px -5px 7px -5px; } -.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line.no-select:hover { - color: #626d6d; +.analytics .settings.time-period > .row > div { + padding: 0px 5px; + position: static; } -.analytics .widget-item .content.hr-payroll-summary .right-panel .widget-lines-container { - overflow-y: auto; - overflow-x: hidden; - max-height: 235px; +.analytics .settings.time-period > .row .sub-setting { + padding: 5px; } -.analytics .widget-item .content.hr-payroll-summary .no-element { - font-weight: 300; - font-size: 16px; - color: #5B6667; - text-align: center; +.analytics .widget-item .content .settings.width { + float: right; + font-size: 14px; } -.analytics .widget-item .content.hr-payroll-summary .right-panel .widget-lines-container { - max-height: 145px; +.analytics .widget-item .content .settings.width i { + color: silver; + cursor: pointer; } -.analytics .widget-item .content.hr-salaries-summary h3.left { - text-align: center; +.analytics .widget-item .content .settings.width i.reduce { + margin-right: -10px; } -@media (min-width: 992px) { - .analytics .widget-item .content.hr-salaries-summary h3.left { - margin-top: 69px; - } +.analytics .widget-item .content .settings.width i.expand { + margin-right: -3px; } -.analytics .widget-item .content.hr-salaries-summary h3.reduced-left { +.analytics .widget-item .content.accounts-assets-liability-summary .param-selector { text-align: center; } -@media (min-width: 992px) { - .analytics .widget-item .content.hr-salaries-summary h3.reduced-left { - margin-top: 10px; - } +.analytics .widget-item .content.accounts-assets-liability-summary .legend { + text-align: left; + max-height: 90px; } -.analytics .widget-item .content.hr-salaries-summary h3.right { - margin-bottom: 10px; +.analytics .widget-item .content.accounts-assets-liability-summary .legend .title { text-align: center; + border-bottom: dashed 1px #dfe2e2; } -.analytics .widget-item .content.hr-salaries-summary .price { - margin-top: 0; -} -.analytics .widget-item .content.hr-salaries-summary .widget-lines-container { - max-height: 75px; -} -.analytics .widget-item .content.hr-salaries-summary .widget-lines-container .widget-line { - font-size: 11px; -} -@media (min-width: 480px) and (max-width: 991px) { - .analytics .widget-item .content.hr-salaries-summary .right-panel .chart-container { - max-width: 320px; - } +.analytics .widget-item .content.accounts-assets-summary .legend { + text-align: left; + max-height: 115px; } -.analytics .widget-item .content.hr-superannuation-accruals h3 { - margin-top: 63px; +.analytics .widget-item .content.accounts-assets-summary .legend .title { text-align: center; + border-bottom: dashed 1px #dfe2e2; } -.analytics .widget-item .content.hr-superannuation-accruals .legend { - margin-top: 23px; +.analytics .widget-item .content.accounts-assets-vs-liabilities .legend > .title span { + margin-left: 3px; } -.analytics .widget-item .content.hr-superannuation-accruals .currency { +.analytics .widget-item .content.accounts-balance h3 { + font-weight: 300; font-size: 14px; + color: #5B6667; + text-align: left; + margin-top: 30px; + text-align: center; } -.analytics .widget-item .content.hr-superannuation-accruals .price { +.analytics .widget-item .content.accounts-balance .price { font-weight: 900; font-size: 22px; color: #5B6667; text-align: center; margin-top: 0px; } -.analytics .widget-item .content.hr-timesheets .currency { - font-size: 14px; -} -.analytics .widget-item .content.hr-timesheets .widget-lines-container { - max-height: 210px; -} -.analytics .widget-item .content.hr-workforce-summary h3.left { - text-align: center; +.analytics .widget-item .content.accounts-cash-balance { + min-height: 565px; } @media (min-width: 992px) { - .analytics .widget-item .content.hr-workforce-summary h3.left { - margin-top: 69px; + .analytics .widget-item .content.accounts-cash-balance { + height: 565px; + } + .analytics .widget-item .content.accounts-cash-balance .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; } } -.analytics .widget-item .content.hr-workforce-summary h3.reduced-left { - text-align: center; +.analytics .widget-item .content.accounts-cash-balance .edit { + max-height: 545px; } -@media (min-width: 992px) { - .analytics .widget-item .content.hr-workforce-summary h3.reduced-left { - margin-top: 10px; - } +.analytics .widget-item .content.accounts-cash-balance .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; } -.analytics .widget-item .content.hr-workforce-summary h3.right { - margin-bottom: 10px; - text-align: center; +.analytics .widget-item .content.accounts-cash-balance .data-container { + height: calc(565px - 50px); + width: 100%; } -.analytics .widget-item .content.hr-workforce-summary .price { - margin-top: 0; +.analytics .widget-item .content.accounts-cash-balance .left-panel { + width: 180px; + display: inline-block; + overflow: auto; } -.analytics .widget-item .content.hr-workforce-summary .widget-lines-container { - max-height: 75px; +.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + min-height: 45px; + margin: 3px; + font-size: 13px; + padding: 3px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } -.analytics .widget-item .content.hr-workforce-summary .widget-lines-container .widget-line { - font-size: 11px; +.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item:hover { + background-color: #ececec; } -@media (min-width: 480px) and (max-width: 991px) { - .analytics .widget-item .content.hr-workforce-summary .right-panel .chart-container { - max-width: 320px; - } +.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item i { + font-size: 19px; + padding: 4px; + margin-top: 1px; } -.analytics .widget-item .content.invoices-aged-payables-receivables { +.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item span { + color: #5B6667; +} +.analytics .widget-item .content.accounts-cash-balance .legend-item-icon { + width: 16px; + height: 16px; +} +.analytics .widget-item .content.accounts-cash-balance .right-panel { + width: calc(100% - 180px); + float: right; +} +.analytics .widget-item .content.accounts-cash-balance .right-panel .cash-balance-chart { + height: calc(565px - 50px); +} +.analytics .widget-item .content.accounts-cash-balance .dates-picker { + display: inline-block; + float: right; + font-size: 12px; +} +.analytics .widget-item .content.accounts-balance-sheet { min-height: 565px; } @media (min-width: 992px) { - .analytics .widget-item .content.invoices-aged-payables-receivables { + .analytics .widget-item .content.accounts-balance-sheet { height: 565px; } - .analytics .widget-item .content.invoices-aged-payables-receivables .chart-container { + .analytics .widget-item .content.accounts-balance-sheet .chart-container { max-width: 585px; max-height: 440px; margin: auto; } } -.analytics .widget-item .content.invoices-aged-payables-receivables .edit { +.analytics .widget-item .content.accounts-balance-sheet .edit { max-height: 545px; } -.analytics .widget-item .content.invoices-aged-payables-receivables .edit .widget-lines-container { +.analytics .widget-item .content.accounts-balance-sheet .edit .widget-lines-container { overflow-y: hidden; overflow-x: hidden; } -.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container { - max-height: 540px; -} -.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line { - cursor: pointer; - border: solid 1px white; -} -.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line .selection-tag { - display: block; - right: 0px; - margin-top: -6px; - width: 10px; - height: 29px; - position: absolute; -} -.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line:hover { - background-color: #e6e0fb; +.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container { + overflow-y: scroll; + overflow-x: hidden; + max-height: 490px; } -.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line.no-select { - cursor: auto; +@media (max-width: 767px) { + .analytics .widget-item .content.accounts-balance-sheet .widget-lines-container .row.widget-line:not(:last-child) { + border-bottom: dashed 1px #dfe2e2; + } } -.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line.no-select:hover { - color: #626d6d; +.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container .row.widget-line.header > [class*='col-'] { + position: static; } -.analytics .widget-item .content.invoices-aged-payables-receivables .right-panel .widget-lines-container { - overflow-y: auto; - overflow-x: hidden; - max-height: 235px; +.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container.no-scroll { + overflow: visible; } -.analytics .widget-item .content.invoices-aged-payables-receivables .no-element { +.analytics .widget-item .content.accounts-balance-sheet .no-data-block { font-weight: 300; font-size: 16px; color: #5B6667; text-align: center; + margin: 15px 0px; } -.analytics .widget-item .content.invoices-aged-payables-receivables .right-panel .widget-lines-container { - max-height: 215px; -} -.analytics .widget-item .content.invoices-aged-payables-receivables .row.astericks-info { - margin-top: 15px; -} -.analytics .widget-item .content.invoices-aged-payables-receivables .currency-conversions { - float: right; - margin-left: 3px; +.analytics .widget-item .content.accounts-cash-projection { + min-height: 565px; } -.analytics .widget-item .content.invoices-list .widget-lines-container { - max-height: 230px; +@media (min-width: 992px) { + .analytics .widget-item .content.accounts-cash-projection { + height: 565px; + } + .analytics .widget-item .content.accounts-cash-projection .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; + } } -.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line:nth-child(even) { - background-color: #f0f0f0; +.analytics .widget-item .content.accounts-cash-projection .edit { + max-height: 545px; } -.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line:nth-child(odd) { - background-color: white; +.analytics .widget-item .content.accounts-cash-projection .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; } -.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line.header { - background-color: white; +.analytics .widget-item .content.accounts-cash-projection .cash-projection-chart { + height: calc(565px - 50px); } -.analytics .widget-item .content.invoices-list .currency-conversions { - float: right; - margin-right: 3px; - margin-top: -2px; +.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item rect.highcharts-point { + display: none; } -.analytics .widget-item .content.invoices-list .fa.fa-info-circle { - float: right; - font-size: 15px; +.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item span { + width: 110px; + text-align: center; } -.analytics .widget-item .content.invoices-list .right-column { - padding-left: 0px; - padding-right: 0px; +.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item span img { + text-align: center; + width: 55px; + height: 25px; } -.analytics .widget-item .content.invoices-summary .chart-container { - max-width: 410px; +.analytics .widget-item .content.accounts-cash-projection .dates-picker { + display: inline-block; + float: right; + font-size: 12px; } -.analytics .widget-item .content.invoices-summary .legend { - max-height: 28px; +.analytics .widget-item .content.accounts-cash-projection transactions-list { + font-size: 12px; } -.analytics .widget-item .content.sales-aged { +.analytics .widget-item .content.accounts-cash-summary { min-height: 565px; } @media (min-width: 992px) { - .analytics .widget-item .content.sales-aged { + .analytics .widget-item .content.accounts-cash-summary { height: 565px; } - .analytics .widget-item .content.sales-aged .chart-container { + .analytics .widget-item .content.accounts-cash-summary .chart-container { max-width: 585px; max-height: 440px; margin: auto; } } -.analytics .widget-item .content.sales-aged .edit { +.analytics .widget-item .content.accounts-cash-summary .edit { max-height: 545px; } -.analytics .widget-item .content.sales-aged .edit .widget-lines-container { +.analytics .widget-item .content.accounts-cash-summary .edit .widget-lines-container { overflow-y: hidden; overflow-x: hidden; } -.analytics .widget-item .content.sales-aged .widget-lines-container { - max-height: 238px; +.analytics .widget-item .content.accounts-cash-summary .widget-lines-container { + max-height: 540px; } -.analytics .widget-item .content.sales-break-even .price { - font-weight: 900; - font-size: 22px; - color: #5B6667; - text-align: center; - margin-top: 0px; +.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line { + cursor: pointer; + border: solid 1px white; } -.analytics .widget-item .content.sales-break-even .block { - margin: 5px; - padding: 0px 10px 5px 10px; - text-align: left; - box-shadow: 0px 7px 10px -7px #17262d; - font-size: 12px; +.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line .selection-tag { + display: block; + right: 0px; + margin-top: -6px; + width: 10px; + height: 29px; + position: absolute; } -.analytics .widget-item .content.sales-break-even .block form.editable-wrap .editable-controls input { - margin-top: 5px; - width: 100px; +.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line:hover { + background-color: #e6e0fb; } -.analytics .widget-item .content.sales-break-even .block.to-date { - background-color: #f0f0f0; - color: #5B6667; +.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line.no-select { + cursor: auto; } -.analytics .widget-item .content.sales-break-even .block.to-breakeven { - margin-top: 10px; - background-color: #192831; - color: #1de9b6; +.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line.no-select:hover { + color: #626d6d; } -.analytics .widget-item .content.sales-break-even .block.to-breakeven .title { - border-bottom: solid 1px #2a4453; +.analytics .widget-item .content.accounts-cash-summary .right-panel .widget-lines-container { + overflow-y: auto; + overflow-x: hidden; + max-height: 235px; } -.analytics .widget-item .content.sales-break-even .block.to-breakeven .define-text { +.analytics .widget-item .content.accounts-cash-summary .no-element { font-weight: 300; font-size: 16px; color: #5B6667; text-align: center; - padding-top: 5px; - color: #1de9b6; } -.analytics .widget-item .content.sales-break-even .block.to-breakeven .price { - color: #1de9b6; +.analytics .widget-item .content.accounts-cash-summary .right-panel .widget-lines-container { + max-height: 215px; } -.analytics .widget-item .content.sales-break-even .block .title { - font-size: 13px; +.analytics .widget-item .content.accounts-cash-summary .row.lines-group.cash { + border-top: solid 1px; + border-bottom: double; +} +.analytics .widget-item .content.accounts-class-comparison .param-selector { text-align: center; - font-variant: small-caps; - border-bottom: solid 1px #e6edee; - font-weight: 300; } -.analytics .widget-item .content.sales-comparison { +.analytics .widget-item .content.accounts-class-comparison .widget-lines-container { + max-height: 94px; + color: #626d6d; +} +.analytics .widget-item .content.accounts-comparison { min-height: 565px; } @media (min-width: 992px) { - .analytics .widget-item .content.sales-comparison { + .analytics .widget-item .content.accounts-comparison { height: 565px; } - .analytics .widget-item .content.sales-comparison .chart-container { + .analytics .widget-item .content.accounts-comparison .chart-container { max-width: 585px; max-height: 440px; margin: auto; } } -.analytics .widget-item .content.sales-comparison .edit { +.analytics .widget-item .content.accounts-comparison .edit { max-height: 545px; } -.analytics .widget-item .content.sales-comparison .edit .widget-lines-container { +.analytics .widget-item .content.accounts-comparison .edit .widget-lines-container { overflow-y: hidden; overflow-x: hidden; } -.analytics .widget-item .content.sales-comparison .widget-lines-container { - max-height: 540px; +@media print { + .analytics .widget-item .content.accounts-comparison .chart-container { + max-width: 80% !important; + } } -.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line { +.analytics .widget-item .content.accounts-comparison .add-account { + position: absolute; + right: 40px; + bottom: 30px; + width: 160px; +} +.analytics .widget-item .content.accounts-comparison .add-account select { + font-size: 13px; + background-color: #977bf0; + color: white; + outline: none; + border: none; cursor: pointer; - border: solid 1px white; } -.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line .selection-tag { - display: block; - right: 0px; - margin-top: -6px; - width: 10px; - height: 29px; - position: absolute; +.analytics .widget-item .content.accounts-comparison .add-account select[disabled] { + cursor: not-allowed; + background-color: #bba9f5; } -.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line:hover { - background-color: #e6e0fb; +.analytics .widget-item .content.accounts-comparison .add-account select[disabled]:hover { + background-color: #bba9f5; } -.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line.no-select { - cursor: auto; +.analytics .widget-item .content.accounts-comparison .add-account select:hover { + background-color: #734deb; } -.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line.no-select:hover { - color: #626d6d; +.analytics .widget-item .content.accounts-comparison .add-account select option { + background-color: white; + color: #c4caca; } -.analytics .widget-item .content.sales-comparison .right-panel .widget-lines-container { - overflow-y: auto; - overflow-x: hidden; - max-height: 235px; +.analytics .widget-item .content.accounts-comparison .add-account select option[disabled] { + color: white; } -.analytics .widget-item .content.sales-comparison .no-element { - font-weight: 300; - font-size: 16px; - color: #5B6667; - text-align: center; +.analytics .widget-item .content.accounts-comparison button.close { + font-size: 15px; } -.analytics .widget-item .content.sales-comparison .widget-lines-container { - max-height: 530px; +.analytics .widget-item .content.accounts-comparison .legend { + text-align: left; + max-height: 103px; } -.analytics .widget-item .content.sales-comparison .right-panel .widget-lines-container { - max-height: 250px; +.analytics .widget-item .content.accounts-comparison .row { + margin: 0; } -.analytics .widget-item .content.sales-comparison .currency-conversions img { - margin-top: -2px; +.analytics .widget-item .content.accounts-comparison .widget-lines-container { + font-size: 11px; + max-height: 220px; + margin-bottom: 65px; + overflow: auto; } -.analytics .widget-item .content.sales-customer-details { - font-size: 12px; +.analytics .widget-item .content.accounts-comparison .settings.params-checkboxes { + margin-left: 13px; } -.analytics .widget-item .content.sales-customer-details .loader { - font-size: 14px; +.analytics .widget-item .content.accounts-comparison .comparable-error h5 { + margin-left: 13px; + color: #ed1e79; } -.analytics .widget-item .content.sales-customer-details .details-container { +.analytics .widget-item .content.accounts-custom-calculation h3 { + margin-top: 85px; + text-align: center; + font-weight: bold; +} +.analytics .widget-item .content.accounts-custom-calculation .legend { + max-height: 125px; +} +.analytics.modal-custom-calculation { + margin: 0px; padding: 0px; +} +.analytics.modal-custom-calculation .modal-body .edit { overflow-y: auto; overflow-x: hidden; + color: #5B6667; + padding: 2px; + font-size: 12px; + padding: 5px; + overflow: visible; } -@media (min-width: 992px) { - .analytics .widget-item .content.sales-customer-details .details-container { - max-height: 194px; - } +.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn { + border-radius: 2px; + margin-right: 5px; + padding: 3px 13px; + text-transform: uppercase; + font-size: 12px; } -@media (min-width: 992px) { - .analytics .widget-item .content.sales-customer-details .right-panel .details-container { - max-height: 230px; - } +.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn.btn-default { + background-color: #c2c4c4; + border: solid 1px #a8abab; + color: white; } -.analytics .widget-item .content.sales-customer-details .right-panel .legend { - margin-bottom: 5px; +.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn.btn-default:hover { + border: solid 1px #8e9292; + background-color: #a8abab; } -.analytics .widget-item .content.sales-customer-details .row.title { - text-align: center; - margin-bottom: 10px; - font-size: 14px; +.analytics.modal-custom-calculation .modal-body .edit h4 { + margin: 0; + margin-bottom: 8px; + text-align: left; + font-weight: normal; + font-size: 12px; + color: #c4caca; } -.analytics .widget-item .content.sales-customer-details .currency-conversions { - float: left; - margin-right: 3px; +.analytics.modal-custom-calculation .modal-body .edit .part { + margin-bottom: 8px; + padding: 10px 0px; + background-color: #fcfcfc; + border: solid 1px #dfe2e2; } -.analytics .widget-item .content.sales-cycle .chart-container { - max-width: 410px; +.analytics.modal-custom-calculation .modal-body .edit .part h5 { + display: block; + margin: 0; + margin-bottom: 10px; + padding: 0px 15px; + text-transform: uppercase; + font-weight: normal; + font-size: 12px; + color: #c4caca; } -.analytics .widget-item .content.sales-cycle .legend { - max-height: 28px; +.analytics.modal-custom-calculation .modal-body .edit .part label { + font-weight: normal; } -.analytics .widget-item .content.sales-forecast { +.analytics.modal-custom-calculation .modal-body .edit .part select.form-control { + margin: 0px; + border: solid 1px #acb0b1; + outline: none; + -webkit-box-shadow: none; + font-size: 13px; + color: #72728b; +} +.analytics .widget-item .content.accounts-detailed-classifications { min-height: 565px; } @media (min-width: 992px) { - .analytics .widget-item .content.sales-forecast { + .analytics .widget-item .content.accounts-detailed-classifications { height: 565px; } - .analytics .widget-item .content.sales-forecast .chart-container { + .analytics .widget-item .content.accounts-detailed-classifications .chart-container { max-width: 585px; max-height: 440px; margin: auto; } } -.analytics .widget-item .content.sales-forecast .edit { +.analytics .widget-item .content.accounts-detailed-classifications .edit { max-height: 545px; } -.analytics .widget-item .content.sales-forecast .edit .widget-lines-container { +.analytics .widget-item .content.accounts-detailed-classifications .edit .widget-lines-container { overflow-y: hidden; overflow-x: hidden; } -.analytics .widget-item .content.sales-forecast .widget-lines-container { - max-height: 275px; +.analytics .widget-item .content.accounts-detailed-classifications .widget-lines-container { + overflow-y: scroll; + overflow-x: hidden; + max-height: 540px; } -.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main { - cursor: pointer; - border: solid 1px white; +.analytics .widget-item .content.accounts-detailed-classifications .account-class-title { + margin-bottom: 8px; + margin-left: 11px; } -.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main .selection-tag { - display: block; - right: 0px; - margin-top: -6px; - width: 10px; - height: 29px; - position: absolute; +.analytics .widget-item .content.accounts-detailed-classifications .time-period-info { + text-align: right; } -.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main:hover { - background-color: #e6e0fb; +.analytics .widget-item .content.accounts-detailed-classifications .widget-line.header.sorting { + border-bottom: 1px solid #ccc; } -.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main.no-select { - cursor: auto; +.analytics .widget-item .content.accounts-expense-weight .legend { + text-align: left; + max-height: 115px; } -.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main.no-select:hover { - color: #626d6d; +.analytics .widget-item .content.accounts-expense-weight .legend .title { + text-align: center; } -.analytics .widget-item .content.sales-growth .price { +.analytics .widget-item .content.accounts-expenses-revenue .legend { + font-weight: bold; +} +.analytics .widget-item .content.accounts-expenses-revenue .settings.params-checkboxes { + font-size: 12px; + margin-left: 0px; + text-align: center; +} +.analytics .widget-item .content.accounts-payable-receivable h3 { + text-align: center; +} +.analytics .widget-item .content.accounts-payable-receivable .legend { + font-weight: bold; +} +.analytics .widget-item .content.accounts-payable-receivable .payable { + margin-top: 15px; +} +.analytics .widget-item .content.accounts-payable-receivable .price { font-weight: 900; font-size: 22px; color: #5B6667; text-align: center; margin-top: 0px; } -.analytics .widget-item .content.sales-growth .legend { - max-height: 49px; - font-size: 14px; - text-overflow: ellipsis; - white-space: nowrap; -} -.analytics .widget-item .content.sales-leads-funnel { +.analytics .widget-item .content.accounts-profit-and-loss { min-height: 565px; } @media (min-width: 992px) { - .analytics .widget-item .content.sales-leads-funnel { + .analytics .widget-item .content.accounts-profit-and-loss { height: 565px; } - .analytics .widget-item .content.sales-leads-funnel .chart-container { + .analytics .widget-item .content.accounts-profit-and-loss .chart-container { max-width: 585px; max-height: 440px; margin: auto; } } -.analytics .widget-item .content.sales-leads-funnel .edit { +.analytics .widget-item .content.accounts-profit-and-loss .edit { max-height: 545px; } -.analytics .widget-item .content.sales-leads-funnel .edit .widget-lines-container { +.analytics .widget-item .content.accounts-profit-and-loss .edit .widget-lines-container { overflow-y: hidden; overflow-x: hidden; } -.analytics .widget-item .content.sales-leads-funnel .funnel-container { - width: 95%; - margin: auto; - margin-top: 15px; - padding-right: 10px; - max-height: 505px; - overflow: auto; -} -.analytics .widget-item .content.sales-leads-funnel .right-panel .widget-lines-container { - max-height: 545px; - margin-right: 10px; +.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container { + max-height: 540px; } -.analytics .widget-item .content.sales-leads-funnel .right-panel .widget-lines-container .widget-line { - cursor: default; +.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line { + cursor: pointer; + border: solid 1px white; } -.analytics .widget-item .content.sales-leads-list .widget-lines-container { - max-height: 230px; +.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line .selection-tag { + display: block; + right: 0px; + margin-top: -6px; + width: 10px; + height: 29px; + position: absolute; } -.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line:nth-child(even) { - background-color: #f0f0f0; +.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line:hover { + background-color: #e6e0fb; } -.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line:nth-child(odd) { - background-color: white; +.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line.no-select { + cursor: auto; } -.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line.header { - background-color: white; +.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line.no-select:hover { + color: #626d6d; } -.analytics .widget-item .content.sales-leads-list .widget-lines-container { - overflow-y: scroll; +.analytics .widget-item .content.accounts-profit-and-loss .right-panel .widget-lines-container { + overflow-y: auto; overflow-x: hidden; + max-height: 235px; } -.analytics .widget-item .content.sales-list .widget-lines-container { - max-height: 230px; +.analytics .widget-item .content.accounts-profit-and-loss .no-element { + font-weight: 300; + font-size: 16px; + color: #5B6667; + text-align: center; } -.analytics .widget-item .content.sales-list .widget-lines-container .widget-line:nth-child(even) { - background-color: #f0f0f0; +.analytics .widget-item .content.accounts-profit-and-loss .row.lines-group.profit { + border-top: solid 1px; + border-bottom: double; } -.analytics .widget-item .content.sales-list .widget-lines-container .widget-line:nth-child(odd) { - background-color: white; +.analytics .widget-item .content.accounts-profit-and-loss .right-panel .widget-lines-container { + max-height: 215px; } -.analytics .widget-item .content.sales-list .widget-lines-container .widget-line.header { - background-color: white; +.analytics .widget-item .content.accounts-profit-and-loss .row.widget-line.header > [class*='col-'] { + position: static; } -.analytics .widget-item .content.sales-list .widget-lines-container { - overflow-y: scroll; - overflow-x: hidden; - max-height: 170px; +.analytics .widget-item .content.accounts-ratios .left-panel { + max-height: 230px; + overflow-y: auto; } -.analytics .widget-item .content.sales-list .widget-lines-container.no-scroll { - overflow: visible; +.analytics .widget-item .content.accounts-ratios .left-panel .separator { + border-bottom: solid 1px #5B6667; + width: 75%; } -.analytics .widget-item .content.sales-list .selector { - margin-bottom: 4px; +.analytics .widget-item .content.accounts-ratios .left-panel .member { + padding-top: 20px; + padding-bottom: 20px; } -.analytics .widget-item .content.sales-list .currency-conversions img { - margin-top: -2px; +.analytics .widget-item .content.accounts-ratios .left-panel .member .price { + margin-top: 0px; + font-size: 18px; } -.analytics .widget-item .content.sales-net-sales .value-container, -.analytics .widget-item .content.sales-net-sales .operator { - line-height: 85px; +.analytics .widget-item .content.accounts-ratios .left-panel button { + outline: none; } -.analytics .widget-item .content.sales-net-sales .value-container .title { - line-height: 20px; - font-size: 1.2em; - padding: 10px 0px; +.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member { + padding-top: 5px; } -.analytics .widget-item .content.sales-net-sales .value-container .value-box { - font-size: 1.3em; - border-radius: 10px; - border-top: solid 1px #C4CACA; - border-bottom: solid 1px #C4CACA; - white-space: nowrap; +.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member .legend { + display: none; } -.analytics .widget-item .content.sales-net-sales .operator { - padding-top: 38px; - font-size: 1.3em; +.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member .price { + text-align: right; } -@media (min-width: 992px) { - .analytics .widget-item .content.sales-net-sales .values { - margin-top: 25px; - } +.analytics .widget-item .content.accounts-ratios .left-panel.simulation .separator { + width: 100%; } -.analytics .widget-item .content.sales-new-vs-existing-customers .selector .selector-wrap { - display: inline-block; - margin: 0 5px; +.analytics .widget-item .content.hr-employee-details { + font-size: 12px; } -.analytics .widget-item .content.sales-new-vs-existing-customers .chart-container { - margin-top: 15px; +.analytics .widget-item .content.hr-employee-details .details-container { + padding: 0px; + max-height: none; + overflow-y: auto; + overflow-x: hidden; } -.analytics .widget-item .content.sales-new-vs-existing-customers .legend { - margin-top: 5px; - font-weight: bold; - max-height: 77px !important; +@media (min-width: 992px) { + .analytics .widget-item .content.hr-employee-details .details-container { + max-height: 200px; + } } -.analytics .widget-item .content.sales-new-vs-existing-customers .legend .row { - margin: 0px -5px; +@media (min-width: 992px) { + .analytics .widget-item .content.hr-employee-details .right-panel .details-container { + max-height: 220px; + } } -.analytics .widget-item .content.sales-new-vs-existing-customers .legend .row > div { - padding: 0px 5px; +.analytics .widget-item .content.hr-employee-details .right-panel .legend { + margin-bottom: 5px; } -.analytics .widget-item .content.sales-new-vs-existing-customers .legend .total { - color: #5B6667; +.analytics .widget-item .content.hr-employee-details .title { + text-align: center; + margin-bottom: 10px; font-size: 14px; } -.analytics .widget-item .content.sales-number-of-leads .stats { - margin-top: 35px; - font-size: 18px; +.analytics .widget-item .content.hr-employees-list .legend { + margin-bottom: 9px; } -.analytics .widget-item .content.sales-number-of-leads .stats .stat { - margin: 15px 0px 10px 0px; - border-bottom: solid 1px #e6edee; +.analytics .widget-item .content.hr-employees-list .widget-lines-container { + text-align: center; } -.analytics .widget-item .content.sales-number-of-leads .stats .stat span.title { - font-weight: bold; +.analytics .widget-item .content.hr-employees-list .widget-lines-container .widget-line:nth-child(even) { + background-color: #f0f0f0; } -.analytics .widget-item .content.sales-number-of-leads .stats .stat span.nominal { - float: right; - text-align: right; - font-weight: 300; +.analytics .widget-item .content.hr-employees-list .widget-lines-container .widget-line:nth-child(odd) { + background-color: white; } -.analytics .widget-item .content.sales-number-of-leads .stats .stat span.variation { - float: right; - width: 50px; - text-align: right; - font-style: italic; - font-size: 14px; - font-weight: 300; - margin-top: 2px; +.analytics .widget-item .content.hr-employees-list .edit .widget-lines-container { + text-align: left; } -.analytics .widget-item .content.sales-opportunities-funnel { - min-height: 565px; +.analytics .widget-item .content.hr-leaves-balance .employee-name { + text-align: center; } -@media (min-width: 992px) { - .analytics .widget-item .content.sales-opportunities-funnel { - height: 565px; - } - .analytics .widget-item .content.sales-opportunities-funnel .chart-container { - max-width: 585px; - max-height: 440px; - margin: auto; - } +.analytics .widget-item .content.hr-leaves-balance .balance { + font-weight: 900; + font-size: 22px; + color: #5B6667; + text-align: center; + margin-top: 0px; } -.analytics .widget-item .content.sales-opportunities-funnel .edit { - max-height: 545px; +.analytics .widget-item .content.hr-leaves-balance h3 { + margin-top: 33px; + text-align: center; } -.analytics .widget-item .content.sales-opportunities-funnel .edit .widget-lines-container { - overflow-y: hidden; - overflow-x: hidden; +.analytics .widget-item .content.hr-leaves-schedule .fc-button { + height: 22px; + font-size: 12px; + color: #977bf0; + background: white; + outline: none; } -.analytics .widget-item .content.sales-opportunities-funnel .funnel-container { - width: 95%; - margin: auto; - margin-top: 15px; - padding-right: 10px; - max-height: 505px; - overflow: auto; +.analytics .widget-item .content.hr-leaves-schedule .fc-button:hover { + color: white; + background: #977bf0; } -.analytics .widget-item .content.sales-opportunities-funnel .right-panel .widget-lines-container { - max-height: 545px; - margin-right: 10px; +.analytics .widget-item .content.hr-leaves-schedule .fc-toolbar { + margin-bottom: 5px; } -.analytics .widget-item .content.sales-opportunities-funnel .right-panel .widget-lines-container .widget-line { - cursor: default; +.analytics .widget-item .content.hr-leaves-schedule .fc-day-grid, +.analytics .widget-item .content.hr-leaves-schedule .fc-widget-header { + font-size: 12px; + color: #5B6667; } -.analytics .widget-item .content.sales-performance { +.analytics .widget-item .content.hr-payroll-summary { min-height: 565px; } @media (min-width: 992px) { - .analytics .widget-item .content.sales-performance { + .analytics .widget-item .content.hr-payroll-summary { height: 565px; } - .analytics .widget-item .content.sales-performance .chart-container { + .analytics .widget-item .content.hr-payroll-summary .chart-container { max-width: 585px; max-height: 440px; margin: auto; } } -.analytics .widget-item .content.sales-performance .edit { +.analytics .widget-item .content.hr-payroll-summary .edit { max-height: 545px; } -.analytics .widget-item .content.sales-performance .edit .widget-lines-container { +.analytics .widget-item .content.hr-payroll-summary .edit .widget-lines-container { overflow-y: hidden; overflow-x: hidden; } -.analytics .widget-item .content.sales-performance .widget-lines-container { +.analytics .widget-item .content.hr-payroll-summary .widget-lines-container { max-height: 540px; } -.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line { +.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line { cursor: pointer; border: solid 1px white; } -.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line .selection-tag { +.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line .selection-tag { display: block; right: 0px; margin-top: -6px; @@ -10920,797 +10902,815 @@ dashboard-templates-selector .templates .template.selected { height: 29px; position: absolute; } -.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line:hover { +.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line:hover { background-color: #e6e0fb; } -.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line.no-select { +.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line.no-select { cursor: auto; } -.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line.no-select:hover { +.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line.no-select:hover { color: #626d6d; } -.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container { +.analytics .widget-item .content.hr-payroll-summary .right-panel .widget-lines-container { overflow-y: auto; overflow-x: hidden; max-height: 235px; } -.analytics .widget-item .content.sales-performance .no-element { +.analytics .widget-item .content.hr-payroll-summary .no-element { font-weight: 300; font-size: 16px; color: #5B6667; text-align: center; } -.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container { - max-height: 215px; +.analytics .widget-item .content.hr-payroll-summary .right-panel .widget-lines-container { + max-height: 145px; } -.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header { - cursor: pointer; - border: solid 1px white; +.analytics .widget-item .content.hr-salaries-summary h3.left { + text-align: center; } -.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header .selection-tag { - display: block; - right: 0px; - margin-top: -6px; - width: 10px; - height: 29px; - position: absolute; +@media (min-width: 992px) { + .analytics .widget-item .content.hr-salaries-summary h3.left { + margin-top: 69px; + } } -.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header:hover { - background-color: #e6e0fb; +.analytics .widget-item .content.hr-salaries-summary h3.reduced-left { + text-align: center; } -.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header.no-select { - cursor: auto; +@media (min-width: 992px) { + .analytics .widget-item .content.hr-salaries-summary h3.reduced-left { + margin-top: 10px; + } } -.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header.no-select:hover { - color: #626d6d; +.analytics .widget-item .content.hr-salaries-summary h3.right { + margin-bottom: 10px; + text-align: center; } -.analytics .widget-item .content.sales-segmented-turnover h3.right { - margin-top: 55px; +.analytics .widget-item .content.hr-salaries-summary .price { + margin-top: 0; +} +.analytics .widget-item .content.hr-salaries-summary .widget-lines-container { + max-height: 75px; +} +.analytics .widget-item .content.hr-salaries-summary .widget-lines-container .widget-line { + font-size: 11px; +} +@media (min-width: 480px) and (max-width: 991px) { + .analytics .widget-item .content.hr-salaries-summary .right-panel .chart-container { + max-width: 320px; + } +} +.analytics .widget-item .content.hr-superannuation-accruals h3 { + margin-top: 63px; text-align: center; } -.analytics .widget-item .content.sales-segmented-turnover .selector { - margin-bottom: 10px; +.analytics .widget-item .content.hr-superannuation-accruals .legend { + margin-top: 23px; } -.analytics .widget-item .content.sales-segmented-turnover .analysis { +.analytics .widget-item .content.hr-superannuation-accruals .currency { + font-size: 14px; +} +.analytics .widget-item .content.hr-superannuation-accruals .price { font-weight: 900; font-size: 22px; color: #5B6667; text-align: center; margin-top: 0px; } -.analytics .widget-item .content.sales-segmented-turnover .widget-lines-container { - max-height: 75px; +.analytics .widget-item .content.hr-timesheets .currency { + font-size: 14px; } -.analytics .widget-item .content.sales-segmented-turnover .widget-lines-container .widget-line { - font-size: 11px; +.analytics .widget-item .content.hr-timesheets .widget-lines-container { + max-height: 210px; } -.analytics .widget-item .content.sales-segmented-turnover .right-panel h3 { - margin: 15px 10px 5px 10px; +.analytics .widget-item .content.hr-workforce-summary h3.left { text-align: center; } -.analytics .widget-item .content.sales-segmented-turnover .right-panel .fa.fa-info-circle { - float: left; +@media (min-width: 992px) { + .analytics .widget-item .content.hr-workforce-summary h3.left { + margin-top: 69px; + } } -.analytics .widget-item .content.sales-summary .chart-container { - max-width: 410px; +.analytics .widget-item .content.hr-workforce-summary h3.reduced-left { + text-align: center; } -.analytics .widget-item .content.sales-summary .legend { - max-height: 28px; +@media (min-width: 992px) { + .analytics .widget-item .content.hr-workforce-summary h3.reduced-left { + margin-top: 10px; + } } -.analytics .widget-item .content.sales-summary .selector { - margin-bottom: 5px; +.analytics .widget-item .content.hr-workforce-summary h3.right { + margin-bottom: 10px; + text-align: center; } -.analytics .widget-item .content.sales-top-customers .selector { - border-bottom: dashed 1px #E6E6E6; - padding-bottom: 3px; +.analytics .widget-item .content.hr-workforce-summary .price { + margin-top: 0; } -.analytics .widget-item .content.sales-top-customers .selector a { - font-weight: normal; +.analytics .widget-item .content.hr-workforce-summary .widget-lines-container { + max-height: 75px; } -.analytics .widget-item .content.sales-top-customers .selector .param-selector { - display: inline-block; +.analytics .widget-item .content.hr-workforce-summary .widget-lines-container .widget-line { + font-size: 11px; } -.analytics .widget-item .content.sales-top-customers .widget-lines-container { - max-height: 235px; +@media (min-width: 480px) and (max-width: 991px) { + .analytics .widget-item .content.hr-workforce-summary .right-panel .chart-container { + max-width: 320px; + } } -.analytics .widget-item .content.sales-top-customers .widget-lines-container .widget-line.sub-line { - background-color: #f0f0f0; +.analytics .widget-item .content.invoices-aged-payables-receivables { + min-height: 565px; } -.analytics .widget-item .content.sales-top-customers .widget-lines-container .row > [class*='col-'] { - position: static; +@media (min-width: 992px) { + .analytics .widget-item .content.invoices-aged-payables-receivables { + height: 565px; + } + .analytics .widget-item .content.invoices-aged-payables-receivables .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; + } } -.analytics .widget-item .content.sales-top-customers .currency-conversions img { - margin-top: -2px; +.analytics .widget-item .content.invoices-aged-payables-receivables .edit { + max-height: 545px; } -.analytics .widget-item .content.sales-top-opportunities .opps-container { - max-height: 195px; - margin-top: 10px; - padding-right: 10px; +.analytics .widget-item .content.invoices-aged-payables-receivables .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; +} +.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container { + max-height: 540px; +} +.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line { + cursor: pointer; + border: solid 1px white; +} +.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line .selection-tag { + display: block; + right: 0px; + margin-top: -6px; + width: 10px; + height: 29px; + position: absolute; +} +.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line:hover { + background-color: #e6e0fb; +} +.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line.no-select { + cursor: auto; +} +.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line.no-select:hover { + color: #626d6d; +} +.analytics .widget-item .content.invoices-aged-payables-receivables .right-panel .widget-lines-container { overflow-y: auto; overflow-x: hidden; + max-height: 235px; } -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile { - height: 40px; - font-size: 13px; +.analytics .widget-item .content.invoices-aged-payables-receivables .no-element { font-weight: 300; -} -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile .colored-area { - width: 10%; + font-size: 16px; + color: #5B6667; text-align: center; - font-size: 20px; } -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile .main-text { - color: #5B6667; - padding: 3px 0px 0px 10px; +.analytics .widget-item .content.invoices-aged-payables-receivables .right-panel .widget-lines-container { + max-height: 215px; } -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first { - height: 55px; - font-size: 15px; - font-weight: bold; +.analytics .widget-item .content.invoices-aged-payables-receivables .row.astericks-info { + margin-top: 15px; } -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first .colored-area { - font-size: 26px; - padding-top: 10px; - background-color: #ff6e41; +.analytics .widget-item .content.invoices-aged-payables-receivables .currency-conversions { + float: right; + margin-left: 3px; } -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first .main-text { - padding-top: 8px; +.analytics .widget-item .content.invoices-list .widget-lines-container { + max-height: 230px; } -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second { - height: 55px; +.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line:nth-child(even) { + background-color: #f0f0f0; +} +.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line:nth-child(odd) { + background-color: white; +} +.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line.header { + background-color: white; +} +.analytics .widget-item .content.invoices-list .currency-conversions { + float: right; + margin-right: 3px; + margin-top: -2px; +} +.analytics .widget-item .content.invoices-list .fa.fa-info-circle { + float: right; font-size: 15px; - font-weight: 500; } -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second .colored-area { - font-size: 26px; - padding-top: 10px; - background-color: #1de9b6; +.analytics .widget-item .content.invoices-list .right-column { + padding-left: 0px; + padding-right: 0px; } -.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second .main-text { - padding-top: 8px; +.analytics .widget-item .content.invoices-summary .chart-container { + max-width: 410px; } -chart-threshold .attach-panel { - padding: 5px 0; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: rgba(20, 132, 228, 0.16); +.analytics .widget-item .content.invoices-summary .legend { + max-height: 28px; } -chart-threshold .attach-panel > .attach-panel-text { - display: inline-block; +.analytics .widget-item .content.sales-aged { + min-height: 565px; } -chart-threshold .attach-panel > .attach-panel-text > * { - display: inline-block; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-aged { + height: 565px; + } + .analytics .widget-item .content.sales-aged .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; + } } -chart-threshold .attach-panel .panel-text-label { - text-transform: uppercase; - font-weight: bold; - color: #5B6667; - font-size: 13px; +.analytics .widget-item .content.sales-aged .edit { + max-height: 545px; } -chart-threshold .attach-panel .panel-text-input { - border-radius: 3px; - border: 1px white; - padding: 3px; +.analytics .widget-item .content.sales-aged .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; } -chart-threshold .attach-panel .panel-text-currency { - font-weight: bold; - color: #000; +.analytics .widget-item .content.sales-aged .widget-lines-container { + max-height: 238px; } -chart-threshold .action-buttons { - display: inline-block; - padding: 0 10px; +.analytics .widget-item .content.sales-break-even .price { + font-weight: 900; + font-size: 22px; + color: #5B6667; + text-align: center; + margin-top: 0px; } -chart-threshold .action-buttons button { - padding: 3px 6px; - display: inline-block; +.analytics .widget-item .content.sales-break-even .block { + margin: 5px; + padding: 0px 10px 5px 10px; + text-align: left; + box-shadow: 0px 7px 10px -7px #17262d; + font-size: 12px; } -chart-threshold .action-buttons button.loading { - padding: 3px 20px; +.analytics .widget-item .content.sales-break-even .block form.editable-wrap .editable-controls input { + margin-top: 5px; + width: 100px; } -.currency-conversions img { - width: 15px; - cursor: pointer; +.analytics .widget-item .content.sales-break-even .block.to-date { + background-color: #f0f0f0; + color: #5B6667; } -.currency-conversions.popover .popover-title { - background-color: black; - color: white; +.analytics .widget-item .content.sales-break-even .block.to-breakeven { + margin-top: 10px; + background-color: #192831; + color: #1de9b6; } -.analytics .widget-item .editable-title { - width: 100%; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - overflow: hidden; - height: 22px; +.analytics .widget-item .content.sales-break-even .block.to-breakeven .title { + border-bottom: solid 1px #2a4453; } -.analytics .widget-item .editable-title .title { - text-transform: uppercase; - font-weight: 600; - font-size: 12px; - color: #4f5959; - cursor: text; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - line-height: 1.9; +.analytics .widget-item .content.sales-break-even .block.to-breakeven .define-text { + font-weight: 300; + font-size: 16px; + color: #5B6667; + text-align: center; + padding-top: 5px; + color: #1de9b6; } -.analytics .widget-item .editable-title .editable-wrap { - position: relative; - height: 20px; - min-width: 100%; - white-space: nowrap; +.analytics .widget-item .content.sales-break-even .block.to-breakeven .price { + color: #1de9b6; } -.analytics .widget-item .editable-title .editable-wrap .editable-controls { - min-width: 100%; +.analytics .widget-item .content.sales-break-even .block .title { + font-size: 13px; + text-align: center; + font-variant: small-caps; + border-bottom: solid 1px #e6edee; + font-weight: 300; } -.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-input { - height: 20px; - font-size: 12px; - text-transform: uppercase; - width: calc(100% - 65px); - padding: 0px 3px; +.analytics .widget-item .content.sales-comparison { + min-height: 565px; } -.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-buttons { - background-color: white; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-comparison { + height: 565px; + } + .analytics .widget-item .content.sales-comparison .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; + } } -.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-buttons button { - margin: 0px 0px 0px 5px; - height: 20px; - padding: 0px 5px; +.analytics .widget-item .content.sales-comparison .edit { + max-height: 545px; } -.analytics .widget-item .info-panel { - position: absolute; - top: 15px; - left: 15px; - width: calc(100% - 30px); - max-height: calc(100% - 30px); - height: 100%; - z-index: 100; - background-color: white; - border: dotted 1px #B7CDCE; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - font-family: "Lato Semibold", "Lato"; - z-index: 4; +.analytics .widget-item .content.sales-comparison .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; } -.analytics .widget-item .info-panel:hover { - opacity: 1; +.analytics .widget-item .content.sales-comparison .widget-lines-container { + max-height: 540px; } -.analytics .widget-item .info-panel .i-header { - background-color: #FFC928; - color: #1E303B; - padding: 8px; - text-transform: uppercase; - font-family: "Lato Medium", "Lato"; - font-size: 12px; +.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line { + cursor: pointer; + border: solid 1px white; +} +.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line .selection-tag { + display: block; + right: 0px; + margin-top: -6px; + width: 10px; + height: 29px; + position: absolute; } -.analytics .widget-item .info-panel .i-header .fa { - font-size: 18px; +.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line:hover { + background-color: #e6e0fb; } -.analytics .widget-item .info-panel .i-header .fa-info-circle { - float: left; +.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line.no-select { + cursor: auto; } -.analytics .widget-item .info-panel .i-header .fa-times-circle { - cursor: pointer; - float: right; +.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line.no-select:hover { + color: #626d6d; } -.analytics .widget-item .info-panel .i-content { +.analytics .widget-item .content.sales-comparison .right-panel .widget-lines-container { overflow-y: auto; overflow-x: hidden; - padding: 5px; - text-align: justify; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; + max-height: 235px; } -.analytics .widget-item .info-panel .i-content .row { - margin-bottom: 6px; - padding-bottom: 6px; - border-bottom: solid 1px #abc4c6; +.analytics .widget-item .content.sales-comparison .no-element { + font-weight: 300; + font-size: 16px; + color: #5B6667; + text-align: center; } -.analytics .widget-item .info-panel .i-content .row:last-child { - margin-bottom: 0; - padding-bottom: 0; - border-bottom: none; +.analytics .widget-item .content.sales-comparison .widget-lines-container { + max-height: 530px; } -.analytics .widget-item .info-panel .i-content .row .key { - text-align: right; - font-variant: small-caps; +.analytics .widget-item .content.sales-comparison .right-panel .widget-lines-container { + max-height: 250px; } -@media (max-width: 991px) { - .analytics .widget-item .info-panel .i-content .row .key { - text-align: center; - } +.analytics .widget-item .content.sales-comparison .currency-conversions img { + margin-top: -2px; } -.analytics .widget-item .info-panel .i-content .row .value { - text-align: justify; +.analytics .widget-item .content.sales-cycle .chart-container { + max-width: 410px; } -.analytics .time-period-info { - font-size: 11px; - color: #ABC4C6; - text-transform: uppercase; +.analytics .widget-item .content.sales-cycle .legend { + max-height: 28px; } -.analytics .widget-item .top-line .top-buttons { - text-align: right; - margin-top: -1px; - white-space: nowrap; - padding-left: 10px; +.analytics .widget-item .content.sales-customer-details { + font-size: 12px; } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button { - background: transparent; - border: none; - color: #c4caca; - padding: 0; - outline: none; - width: 17px; +.analytics .widget-item .content.sales-customer-details .loader { + font-size: 14px; } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button:active, -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button:focus { - box-shadow: none; +.analytics .widget-item .content.sales-customer-details .details-container { + padding: 0px; + overflow-y: auto; + overflow-x: hidden; } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-info { - font-size: 17px; - margin-top: 1px; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-customer-details .details-container { + max-height: 194px; + } } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-info:hover { - color: #FFC928; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-customer-details .right-panel .details-container { + max-height: 230px; + } } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-refresh { - font-size: 17px; - margin-top: 1px; +.analytics .widget-item .content.sales-customer-details .right-panel .legend { + margin-bottom: 5px; } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-refresh:hover { - color: #358fdc; +.analytics .widget-item .content.sales-customer-details .row.title { + text-align: center; + margin-bottom: 10px; + font-size: 14px; } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit { - font-size: 13px; +.analytics .widget-item .content.sales-customer-details .currency-conversions { + float: left; + margin-right: 3px; } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit:hover, -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit.edit-mode { - color: #cfd849; +.analytics .widget-item .content.sales-forecast { + min-height: 565px; } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-close { - font-size: 13px; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-forecast { + height: 565px; + } + .analytics .widget-item .content.sales-forecast .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; + } } -.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-close:hover { - color: #ed1e79; +.analytics .widget-item .content.sales-forecast .edit { + max-height: 545px; } -.analytics .widget-item .content .settings.select-account { - padding: 0px 5px; +.analytics .widget-item .content.sales-forecast .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; } -.analytics .settings.accounting-behaviour .btn.btn-primary { - background-color: #bba9f5; - border: solid 1px #977bf0; +.analytics .widget-item .content.sales-forecast .widget-lines-container { + max-height: 275px; } -.analytics .settings.accounting-behaviour .btn.btn-primary.focus, -.analytics .settings.accounting-behaviour .btn.btn-primary.active { - background-color: #977bf0; +.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main { + cursor: pointer; + border: solid 1px white; } -.analytics .settings.attach-kpis .attach-kpi { - padding: 8px 5px; +.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main .selection-tag { + display: block; + right: 0px; + margin-top: -6px; + width: 10px; + height: 29px; + position: absolute; } -.analytics .settings.attach-kpis .attach-kpi form .row { - padding-bottom: 5px; +.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main:hover { + background-color: #e6e0fb; } -.analytics .settings.attach-kpis .attach-kpi .attach-kpi-form { - background-color: white; - border: 1px solid #ddd; - padding: 5px; +.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main.no-select { + cursor: auto; } -.analytics .settings.attach-kpis .attach-kpi form .row.kpi-description { - padding: 10px 2px; +.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main.no-select:hover { + color: #626d6d; } -.analytics .settings.attach-kpis .attach-kpi form .row.kpi-description span { - display: block; - font-weight: bold; - font-size: 13px; +.analytics .widget-item .content.sales-growth .price { + font-weight: 900; + font-size: 22px; + color: #5B6667; + text-align: center; + margin-top: 0px; } -.analytics .settings.attach-kpis .attach-kpi form.attach-kpi-form input.attach-target { - background-color: white; - height: inherit; +.analytics .widget-item .content.sales-growth .legend { + max-height: 49px; + font-size: 14px; + text-overflow: ellipsis; + white-space: nowrap; } -.analytics .settings.attach-kpis .attach-kpi .error-messages { - color: #e01f74; - width: 120px; +.analytics .widget-item .content.sales-leads-funnel { + min-height: 565px; } -.analytics .settings.attach-kpis .attached-kpis { - padding: 5px; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-leads-funnel { + height: 565px; + } + .analytics .widget-item .content.sales-leads-funnel .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; + } } -.analytics .settings.attach-kpis .list-group-item.attached-kpi { - padding: 5px 10px; +.analytics .widget-item .content.sales-leads-funnel .edit { + max-height: 545px; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .attached-kpi-name { - overflow: hidden; - width: 75%; - display: inline-block; - white-space: nowrap; - text-overflow: ellipsis; - margin-top: 3px; - font-size: 13px; - font-weight: bold; +.analytics .widget-item .content.sales-leads-funnel .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions { - padding-top: 2px; +.analytics .widget-item .content.sales-leads-funnel .funnel-container { + width: 95%; + margin: auto; + margin-top: 15px; + padding-right: 10px; + max-height: 505px; + overflow: auto; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .alerts-config { - display: inline-block; - text-align: left; - padding-left: 4px; - height: 20px; - border-radius: 40px; - width: 21px; - color: #358fdc; - background-color: white; - border: solid 1px #358fdc; +.analytics .widget-item .content.sales-leads-funnel .right-panel .widget-lines-container { + max-height: 545px; + margin-right: 10px; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .alerts-config:hover { - cursor: pointer; +.analytics .widget-item .content.sales-leads-funnel .right-panel .widget-lines-container .widget-line { + cursor: default; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi { - display: inline-block; +.analytics .widget-item .content.sales-leads-list .widget-lines-container { + max-height: 230px; +} +.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line:nth-child(even) { + background-color: #f0f0f0; +} +.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line:nth-child(odd) { + background-color: white; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi i { - border-radius: 10px; - width: 21px; - color: #358fdc; +.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line.header { background-color: white; - height: 20px; - padding: 3px 5px 5px 5px; - border: solid 1px #358fdc; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi i:hover { - cursor: pointer; +.analytics .widget-item .content.sales-leads-list .widget-lines-container { + overflow-y: scroll; + overflow-x: hidden; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi { - display: inline-block; +.analytics .widget-item .content.sales-list .widget-lines-container { + max-height: 230px; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi i { - border-radius: 10px; - width: 21px; - color: #e01f74; +.analytics .widget-item .content.sales-list .widget-lines-container .widget-line:nth-child(even) { + background-color: #f0f0f0; +} +.analytics .widget-item .content.sales-list .widget-lines-container .widget-line:nth-child(odd) { background-color: white; - height: 20px; - padding: 3px 5px 5px 5px; - border: solid 1px #e01f74; } -.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi i:hover { - cursor: pointer; +.analytics .widget-item .content.sales-list .widget-lines-container .widget-line.header { + background-color: white; } -.analytics .widget-item .content .settings.chart-filters .row { - margin: 0px; +.analytics .widget-item .content.sales-list .widget-lines-container { + overflow-y: scroll; + overflow-x: hidden; + max-height: 170px; } -.analytics .widget-item .content .settings.chart-filters input[type="radio"] { - margin: 0; - margin-right: 3px; - padding: 0; - width: 13px; - height: 13px; - vertical-align: middle; - position: relative; - top: -1px; - outline: none; +.analytics .widget-item .content.sales-list .widget-lines-container.no-scroll { + overflow: visible; } -.analytics .widget-item .content .settings.chart-filters input[type="range"] { - height: auto; - width: 100%; +.analytics .widget-item .content.sales-list .selector { + margin-bottom: 4px; } -.analytics .settings.dates-picker h5 { - display: none; +.analytics .widget-item .content.sales-list .currency-conversions img { + margin-top: -2px; } -.analytics .settings.dates-picker button.btn.btn-sm { - line-height: 1; +.analytics .widget-item .content.sales-net-sales .value-container, +.analytics .widget-item .content.sales-net-sales .operator { + line-height: 85px; } -.analytics .settings.dates-picker button.btn.btn-sm.date-button { - margin: 0px 5px; +.analytics .widget-item .content.sales-net-sales .value-container .title { + line-height: 20px; + font-size: 1.2em; + padding: 10px 0px; } -.analytics .settings.dates-picker button.btn.btn-sm.btn-danger { - display: none; +.analytics .widget-item .content.sales-net-sales .value-container .value-box { + font-size: 1.3em; + border-radius: 10px; + border-top: solid 1px #C4CACA; + border-bottom: solid 1px #C4CACA; + white-space: nowrap; } -.analytics .settings.dates-picker button.btn.btn-sm.btn-info { - border-radius: 3px; +.analytics .widget-item .content.sales-net-sales .operator { + padding-top: 38px; + font-size: 1.3em; } -.analytics .settings.dates-picker .tooltip-inner { - text-transform: none; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-net-sales .values { + margin-top: 25px; + } } -.analytics .settings.dates-picker .dropdown-menu > li > div > table { - outline: none; +.analytics .widget-item .content.sales-new-vs-existing-customers .selector .selector-wrap { + display: inline-block; + margin: 0 5px; } -.analytics .widget-item .content .settings.hist-mode-choser { - max-height: 70px; +.analytics .widget-item .content.sales-new-vs-existing-customers .chart-container { + margin-top: 15px; } -.analytics .widget-item .content .settings.hist-mode-choser [common-time-period-info] { - padding-bottom: 8px; +.analytics .widget-item .content.sales-new-vs-existing-customers .legend { + margin-top: 5px; + font-weight: bold; + max-height: 77px !important; } -.analytics .widget-item .content .settings.hist-mode-choser .options { - width: 150px; - margin: auto; - padding-bottom: 8px; - border-bottom: solid 1px #e6e6e6; - font-weight: 500; - font-size: 12px; - color: #c4caca; +.analytics .widget-item .content.sales-new-vs-existing-customers .legend .row { + margin: 0px -5px; } -.analytics .widget-item .content .settings.hist-mode-choser .options a { - font-weight: 500; - font-size: 12px; - color: #c4caca; - text-transform: uppercase; +.analytics .widget-item .content.sales-new-vs-existing-customers .legend .row > div { + padding: 0px 5px; } -.analytics .widget-item .content .settings.hist-mode-choser .options a.active { - color: #977bf0; +.analytics .widget-item .content.sales-new-vs-existing-customers .legend .total { + color: #5B6667; + font-size: 14px; } -.analytics .widget-item .content .settings.hist-mode-choser .arrow-container { - width: 28px; - height: 28px; - position: relative; - top: -14px; - margin: auto; +.analytics .widget-item .content.sales-number-of-leads .stats { + margin-top: 35px; + font-size: 18px; } -.analytics .widget-item .content .settings.hist-mode-choser .arrow-container.right { - left: 46px; +.analytics .widget-item .content.sales-number-of-leads .stats .stat { + margin: 15px 0px 10px 0px; + border-bottom: solid 1px #e6edee; } -.analytics .widget-item .content .settings.hist-mode-choser .arrow-container.left { - left: -30px; +.analytics .widget-item .content.sales-number-of-leads .stats .stat span.title { + font-weight: bold; } -.analytics .widget-item .content .settings.hist-mode-choser .arrow-container .arrow-border { - border-top: 14px solid #e6e6e6; - border-left: 14px solid transparent; - border-right: 14px solid transparent; - width: 0px; - height: 0px; +.analytics .widget-item .content.sales-number-of-leads .stats .stat span.nominal { + float: right; + text-align: right; + font-weight: 300; } -.analytics .widget-item .content .settings.hist-mode-choser .arrow-container .arrow { - border-top: 14px solid white; - border-left: 14px solid transparent; - border-right: 14px solid transparent; - position: relative; - top: 12px; - width: 0px; - height: 0px; +.analytics .widget-item .content.sales-number-of-leads .stats .stat span.variation { + float: right; + width: 50px; + text-align: right; + font-style: italic; + font-size: 14px; + font-weight: 300; + margin-top: 2px; } -.analytics .settings.limit-entries { - color: #1E303B; - text-transform: uppercase; - text-align: center; - border-bottom: dashed 1px #E6E6E6; - padding-bottom: 8px; +.analytics .widget-item .content.sales-opportunities-funnel { + min-height: 565px; } -.analytics .settings.limit-entries a.option.badge { - color: white; - background-color: #1E303B; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-opportunities-funnel { + height: 565px; + } + .analytics .widget-item .content.sales-opportunities-funnel .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; + } } -.analytics .settings.offsets .offset-value { - font-style: italic; - font-size: 13px; +.analytics .widget-item .content.sales-opportunities-funnel .edit { + max-height: 545px; } -.analytics .settings.offsets .offset-value .fa-trash-o { - margin-left: 10px; +.analytics .widget-item .content.sales-opportunities-funnel .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; } -.analytics .settings.offsets .offset-value .fa-trash-o:hover { - color: #e01f74; - cursor: pointer; +.analytics .widget-item .content.sales-opportunities-funnel .funnel-container { + width: 95%; + margin: auto; + margin-top: 15px; + padding-right: 10px; + max-height: 505px; + overflow: auto; } -.analytics .settings.offsets input { - width: 75%; +.analytics .widget-item .content.sales-opportunities-funnel .right-panel .widget-lines-container { + max-height: 545px; + margin-right: 10px; } -.analytics .settings.offsets button { - width: 30px; +.analytics .widget-item .content.sales-opportunities-funnel .right-panel .widget-lines-container .widget-line { + cursor: default; } -.analytics .settings.organizations .widget-lines-container .widget-line { - padding: 5px 10px 5px 18px; +.analytics .widget-item .content.sales-performance { + min-height: 565px; } -.analytics .settings.organizations .widget-lines-container .widget-line:nth-child(even) { - background-color: #f3f4f4; +@media (min-width: 992px) { + .analytics .widget-item .content.sales-performance { + height: 565px; + } + .analytics .widget-item .content.sales-performance .chart-container { + max-width: 585px; + max-height: 440px; + margin: auto; + } } -.analytics .settings.organizations .widget-lines-container .widget-line:nth-child(odd) { - background-color: white; +.analytics .widget-item .content.sales-performance .edit { + max-height: 545px; } -.analytics .settings.organizations .widget-lines-container .widget-line .fa { - float: right; - font-size: 20px; - cursor: pointer; +.analytics .widget-item .content.sales-performance .edit .widget-lines-container { + overflow-y: hidden; + overflow-x: hidden; } -.analytics .settings.organizations .widget-lines-container .widget-line .fa.fa-toggle-on { - color: #977bf0; +.analytics .widget-item .content.sales-performance .widget-lines-container { + max-height: 540px; } -.analytics .settings.organizations .widget-lines-container .widget-line .fa.fa-toggle-off { - color: #9ba6a7; +.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line { + cursor: pointer; + border: solid 1px white; } -.analytics .widget-item .content .settings.param-selector { - display: inline-block; +.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line .selection-tag { + display: block; + right: 0px; + margin-top: -6px; + width: 10px; + height: 29px; + position: absolute; } -.analytics .widget-item .content .settings.param-selector.classic { - width: 100%; +.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line:hover { + background-color: #e6e0fb; } -.analytics .widget-item .content .settings.param-selector.classic select { - width: 100%; - height: 25px; - border: 1px solid #ccc; - text-transform: uppercase; - margin: 0px 0px 5px 0px; +.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line.no-select { + cursor: auto; } -.analytics .widget-item .content .settings.param-selector a { - font-weight: normal; - color: #977bf0; - white-space: nowrap; +.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line.no-select:hover { + color: #626d6d; } -.analytics .widget-item .content .settings.param-selector .options-container { - position: absolute; - background-color: white; - text-align: left; - min-width: 150px; - max-height: 200px; - z-index: 999; +.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container { overflow-y: auto; overflow-x: hidden; - box-shadow: #000000 0px 3px 15px -3px; + max-height: 235px; } -.analytics .widget-item .content .settings.param-selector .options-container .param-selector-label { - padding: 3px 5px; - font-weight: 500; - font-size: inherit; - color: black; - cursor: text; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - line-height: 1.9; +.analytics .widget-item .content.sales-performance .no-element { + font-weight: 300; + font-size: 16px; + color: #5B6667; + text-align: center; } -.analytics .widget-item .content .settings.param-selector .options-container .param-selector-label:hover { +.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container { + max-height: 215px; +} +.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header { cursor: pointer; - background-color: #977bf0; - color: white; + border: solid 1px white; } -.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar { - width: 8px; - background-color: #d7e2e4; +.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header .selection-tag { + display: block; + right: 0px; + margin-top: -6px; + width: 10px; + height: 29px; + position: absolute; } -.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar-thumb { - background-color: #977bf0; +.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header:hover { + background-color: #e6e0fb; } -.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar-thumb:hover { - background-color: #a992f3; +.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header.no-select { + cursor: auto; } -.analytics .settings.params-checkboxes { - padding: 2px 0px; +.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header.no-select:hover { + color: #626d6d; } -.analytics .settings.params-checkboxes input { - margin: 0; - height: inherit; +.analytics .widget-item .content.sales-segmented-turnover h3.right { + margin-top: 55px; + text-align: center; } -.analytics .settings.params-checkboxes span { - margin-left: 5px; +.analytics .widget-item .content.sales-segmented-turnover .selector { + margin-bottom: 10px; } -.analytics .settings.params-checkboxes label { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - line-height: 14px; +.analytics .widget-item .content.sales-segmented-turnover .analysis { + font-weight: 900; + font-size: 22px; + color: #5B6667; + text-align: center; + margin-top: 0px; } -.analytics .widget-item .content .settings.params-picker { - padding: 0px 10px; +.analytics .widget-item .content.sales-segmented-turnover .widget-lines-container { + max-height: 75px; } -.analytics .widget-item .content .settings.params-picker .parameter { - margin: 0px 3px 3px 0px; - padding: 3px 5px; - background-color: #1E303B; - color: white; - border: solid 1px #1E303B; - border-radius: 4px; - cursor: move; - font-weight: bold; - white-space: nowrap; +.analytics .widget-item .content.sales-segmented-turnover .widget-lines-container .widget-line { + font-size: 11px; +} +.analytics .widget-item .content.sales-segmented-turnover .right-panel h3 { + margin: 15px 10px 5px 10px; + text-align: center; +} +.analytics .widget-item .content.sales-segmented-turnover .right-panel .fa.fa-info-circle { float: left; } -.analytics .widget-item .content .settings.params-picker .parameter input[type="checkbox"] { - margin: 0px -3px 0px 3px; - vertical-align: middle; - height: inherit; - outline: none; - cursor: pointer; +.analytics .widget-item .content.sales-summary .chart-container { + max-width: 410px; } -.analytics .widget-item .content .settings.params-picker .parameter .badge { - margin-right: 3px; - font-size: 10px; - background-color: #f2f2f2; - color: #1E303B; - padding: 2px 6px; +.analytics .widget-item .content.sales-summary .legend { + max-height: 28px; } -.analytics .widget-item .content .settings.params-picker .parameter.unchecked { - background-color: inherit; - font-weight: normal; - color: inherit; - border-color: #c2c4c4; +.analytics .widget-item .content.sales-summary .selector { + margin-bottom: 5px; } -.analytics .widget-item .content .settings.params-picker .parameter.unchecked .badge { - background-color: #c2c4c4; - color: white; +.analytics .widget-item .content.sales-top-customers .selector { + border-bottom: dashed 1px #E6E6E6; + padding-bottom: 3px; } -.analytics .settings.tag-filter { - padding: 0px 5px; +.analytics .widget-item .content.sales-top-customers .selector a { + font-weight: normal; } -.analytics .settings.tag-filter .btn.btn-default { - height: 32px; - width: 30px; +.analytics .widget-item .content.sales-top-customers .selector .param-selector { + display: inline-block; } -.analytics .settings.tag-filter .tag-lines-container { - padding: 0px 10px; +.analytics .widget-item .content.sales-top-customers .widget-lines-container { + max-height: 235px; } -.analytics .settings.tag-filter .tag-lines-container .tag-line { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; +.analytics .widget-item .content.sales-top-customers .widget-lines-container .widget-line.sub-line { + background-color: #f0f0f0; } -.analytics .settings.tag-filter .tag-lines-container .tag-line .tags-col { +.analytics .widget-item .content.sales-top-customers .widget-lines-container .row > [class*='col-'] { position: static; } -.analytics .settings.tag-filter .tag-lines-container .tag-line tags-input .tags { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - border-radius: 4px; - border: solid 1px #ccc; -} -.analytics .settings.tag-filter .tag-lines-container .tag-line tags-input .tags .tag-item { - background: #79a2bb; - border-radius: 4px; - color: white; +.analytics .widget-item .content.sales-top-customers .currency-conversions img { + margin-top: -2px; } -.analytics .settings.tag-filter .tag-lines-container .tag-line .host { - position: static; +.analytics .widget-item .content.sales-top-opportunities .opps-container { + max-height: 195px; + margin-top: 10px; + padding-right: 10px; + overflow-y: auto; + overflow-x: hidden; } -.analytics .settings.time-period { - padding: 0px 5px; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile { + height: 40px; + font-size: 13px; + font-weight: 300; } -.analytics .settings.time-period select { - height: 22px; - width: 100%; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile .colored-area { + width: 10%; + text-align: center; + font-size: 20px; } -.analytics .settings.time-period > .row { - margin: 0px -5px 7px -5px; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile .main-text { + color: #5B6667; + padding: 3px 0px 0px 10px; } -.analytics .settings.time-period > .row > div { - padding: 0px 5px; - position: static; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first { + height: 55px; + font-size: 15px; + font-weight: bold; } -.analytics .settings.time-period > .row .sub-setting { - padding: 5px; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first .colored-area { + font-size: 26px; + padding-top: 10px; + background-color: #ff6e41; } -.analytics .widget-item .content .settings.width { - float: right; - font-size: 14px; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first .main-text { + padding-top: 8px; } -.analytics .widget-item .content .settings.width i { - color: silver; - cursor: pointer; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second { + height: 55px; + font-size: 15px; + font-weight: 500; } -.analytics .widget-item .content .settings.width i.reduce { - margin-right: -10px; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second .colored-area { + font-size: 26px; + padding-top: 10px; + background-color: #1de9b6; } -.analytics .widget-item .content .settings.width i.expand { - margin-right: -3px; +.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second .main-text { + padding-top: 8px; } /* endinject */ -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltcGFjLWFuZ3VsYXIuY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9ub3JtYWxpemUubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvZ2x5cGhpY29ucy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9zY2FmZm9sZGluZy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvdmVuZG9yLXByZWZpeGVzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy90YWItZm9jdXMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2ltYWdlLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3R5cGUubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3RleHQtZW1waGFzaXMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2JhY2tncm91bmQtdmFyaWFudC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvdGV4dC1vdmVyZmxvdy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9jb2RlLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2dyaWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2dyaWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2dyaWQtZnJhbWV3b3JrLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3RhYmxlcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvdGFibGUtcm93Lmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2Zvcm1zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9mb3Jtcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9idXR0b25zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9idXR0b25zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9vcGFjaXR5Lmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2NvbXBvbmVudC1hbmltYXRpb25zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2Ryb3Bkb3ducy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvbmF2LWRpdmlkZXIubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3Jlc2V0LWZpbHRlci5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9idXR0b24tZ3JvdXBzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9ib3JkZXItcmFkaXVzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2lucHV0LWdyb3Vwcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9uYXZzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL25hdmJhci5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3V0aWxpdGllcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9icmVhZGNydW1icy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9wYWdpbmF0aW9uLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9wYWdpbmF0aW9uLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3BhZ2VyLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2xhYmVscy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvbGFiZWxzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2JhZGdlcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9qdW1ib3Ryb24ubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvdGh1bWJuYWlscy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9hbGVydHMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2FsZXJ0cy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9wcm9ncmVzcy1iYXJzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9ncmFkaWVudHMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3Byb2dyZXNzLWJhci5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9tZWRpYS5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9saXN0LWdyb3VwLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9saXN0LWdyb3VwLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3BhbmVscy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvcGFuZWxzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3Jlc3BvbnNpdmUtZW1iZWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3Mvd2VsbHMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvY2xvc2UubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbW9kYWxzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3Rvb2x0aXAubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3Jlc2V0LXRleHQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvcG9wb3ZlcnMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvY2Fyb3VzZWwubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2NsZWFyZml4Lmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9jZW50ZXItYmxvY2subGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2hpZGUtdGV4dC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9yZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5Lmxlc3MiLCJzdHlsZXNoZWV0cy92YXJpYWJsZXMubGVzcyIsInN0eWxlc2hlZXRzL2dsb2JhbHMubGVzcyIsInN0eWxlc2hlZXRzL21peGlucy5sZXNzIiwic3R5bGVzaGVldHMvcHJpbnQubGVzcyIsImNvbXBvbmVudHMvYWxlcnRzLWNvbmZpZy9hbGVydHMtY29uZmlnLmxlc3MiLCJjb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQubGVzcyIsImNvbXBvbmVudHMvZGFzaGJvYXJkLXNlbGVjdG9yL2Rhc2hib2FyZC1zZWxlY3Rvci5sZXNzIiwiY29tcG9uZW50cy9kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yL2Rhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IubGVzcyIsImNvbXBvbmVudHMva3BpL2twaS5sZXNzIiwic3R5bGVzaGVldHMvaW1wYWMtbWF0ZXJpYWwubGVzcyIsImNvbXBvbmVudHMva3Bpcy1iYXIva3Bpcy1iYXIubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0L3dpZGdldC5sZXNzIiwiY29tcG9uZW50cy9jb21tb24vZGF0YS1ub3QtZm91bmQvZGF0YS1ub3QtZm91bmQubGVzcyIsImNvbXBvbmVudHMvY29tbW9uL3RyYW5zYWN0aW9ucy1hZGQvdHJhbnNhY3Rpb25zLWFkZC5sZXNzIiwiY29tcG9uZW50cy9jb21tb24vZGVsZXRlLXdpZGdldC9kZWxldGUtd2lkZ2V0Lmxlc3MiLCJjb21wb25lbnRzL2NvbW1vbi90cmFuc2FjdGlvbnMtbGlzdC90cmFuc2FjdGlvbnMtbGlzdC5sZXNzIiwiY29tcG9uZW50cy9kYXNoYm9hcmQtc2V0dGluZ3MvY3VycmVuY3kvY3VycmVuY3kubGVzcyIsImNvbXBvbmVudHMvZGFzaGJvYXJkLXNldHRpbmdzL3N5bmMtYXBwcy9zeW5jLWFwcHMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1hc3NldHMtbGlhYmlsaXR5LXN1bW1hcnkvYWNjb3VudHMtYXNzZXRzLWxpYWJpbGl0eS1zdW1tYXJ5Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtYXNzZXRzLXN1bW1hcnkvYWNjb3VudHMtYXNzZXRzLXN1bW1hcnkubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1hc3NldHMtdnMtbGlhYmlsaXRpZXMvYWNjb3VudHMtYXNzZXRzLXZzLWxpYWJpbGl0aWVzLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtYmFsYW5jZS9hY2NvdW50cy1iYWxhbmNlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtYmFsYW5jZS1zaGVldC9hY2NvdW50cy1iYWxhbmNlLXNoZWV0Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtY2FzaC1iYWxhbmNlL2FjY291bnRzLWNhc2gtYmFsYW5jZS5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWNhc2gtcHJvamVjdGlvbi9hY2NvdW50cy1jYXNoLXByb2plY3Rpb24ubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1jYXNoLXN1bW1hcnkvYWNjb3VudHMtY2FzaC1zdW1tYXJ5Lmxlc3MiLCJzdHlsZXNoZWV0cy93aWRnZXQtbWFzdGVyLXN0eWxlcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWNvbXBhcmlzb24vYWNjb3VudHMtY29tcGFyaXNvbi5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWNsYXNzLWNvbXBhcmlzb24vYWNjb3VudHMtY2xhc3MtY29tcGFyaXNvbi5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWRldGFpbGVkLWNsYXNzaWZpY2F0aW9ucy9hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1leHBlbnNlLXdlaWdodC9hY2NvdW50cy1leHBlbnNlLXdlaWdodC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWN1c3RvbS1jYWxjdWxhdGlvbi9hY2NvdW50cy1jdXN0b20tY2FsY3VsYXRpb24ubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1leHBlbnNlcy1yZXZlbnVlL2FjY291bnRzLWV4cGVuc2VzLXJldmVudWUubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1wYXlhYmxlLXJlY2VpdmFibGUvYWNjb3VudHMtcGF5YWJsZS1yZWNlaXZhYmxlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzL2FjY291bnRzLXByb2ZpdC1hbmQtbG9zcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLXJhdGlvcy9hY2NvdW50cy1yYXRpb3MubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9oci1lbXBsb3llZS1kZXRhaWxzL2hyLWVtcGxveWVlLWRldGFpbHMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9oci1lbXBsb3llZXMtbGlzdC9oci1lbXBsb3llZXMtbGlzdC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2hyLWxlYXZlcy1iYWxhbmNlL2hyLWxlYXZlcy1iYWxhbmNlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvaHItbGVhdmVzLXNjaGVkdWxlL2hyLWxlYXZlcy1zY2hlZHVsZS5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2hyLXBheXJvbGwtc3VtbWFyeS9oci1wYXlyb2xsLXN1bW1hcnkubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9oci1zYWxhcmllcy1zdW1tYXJ5L2hyLXNhbGFyaWVzLXN1bW1hcnkubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9oci1zdXBlcmFubnVhdGlvbi1hY2NydWFscy9oci1zdXBlcmFubnVhdGlvbi1hY2NydWFscy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2hyLXRpbWVzaGVldHMvaHItdGltZXNoZWV0cy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2hyLXdvcmtmb3JjZS1zdW1tYXJ5L2hyLXdvcmtmb3JjZS1zdW1tYXJ5Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcy9pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvaW52b2ljZXMtbGlzdC9pbnZvaWNlcy1saXN0Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvaW52b2ljZXMtc3VtbWFyeS9pbnZvaWNlcy1zdW1tYXJ5Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtYWdlZC9zYWxlcy1hZ2VkLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtYnJlYWstZXZlbi9zYWxlcy1icmVhay1ldmVuLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtY29tcGFyaXNvbi9zYWxlcy1jb21wYXJpc29uLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtY3VzdG9tZXItZGV0YWlscy9zYWxlcy1jdXN0b21lci1kZXRhaWxzLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtY3ljbGUvc2FsZXMtY3ljbGUubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9zYWxlcy1mb3JlY2FzdC9zYWxlcy1mb3JlY2FzdC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLWdyb3d0aC9zYWxlcy1ncm93dGgubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9zYWxlcy1sZWFkcy1mdW5uZWwvc2FsZXMtbGVhZHMtZnVubmVsLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtbGVhZHMtbGlzdC9zYWxlcy1sZWFkcy1saXN0Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtbGlzdC9zYWxlcy1saXN0Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtbmV0LXNhbGVzL3NhbGVzLW5ldC1zYWxlcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMvc2FsZXMtbmV3LXZzLWV4aXN0aW5nLWN1c3RvbWVycy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLW51bWJlci1vZi1sZWFkcy9zYWxlcy1udW1iZXItb2YtbGVhZHMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbC9zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLXBlcmZvcm1hbmNlL3NhbGVzLXBlcmZvcm1hbmNlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyL3NhbGVzLXNlZ21lbnRlZC10dXJub3Zlci5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLXN1bW1hcnkvc2FsZXMtc3VtbWFyeS5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLXRvcC1jdXN0b21lcnMvc2FsZXMtdG9wLWN1c3RvbWVycy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLXRvcC1vcHBvcnR1bml0aWVzL3NhbGVzLXRvcC1vcHBvcnR1bml0aWVzLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtY29tbW9uL2NoYXJ0LXRocmVzaG9sZC9jaGFydC10aHJlc2hvbGQubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1jb21tb24vY3VycmVuY3ktY29udmVyc2lvbnMvY3VycmVuY3ktY29udmVyc2lvbnMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1jb21tb24vZWRpdGFibGUtdGl0bGUvZWRpdGFibGUtdGl0bGUubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1jb21tb24vaW5mby1wYW5lbC9pbmZvLXBhbmVsLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtY29tbW9uL3RpbWUtcGVyaW9kLWluZm8vdGltZS1wZXJpb2QtaW5mby5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLWNvbW1vbi90b3AtYnV0dG9ucy90b3AtYnV0dG9ucy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL2FjY291bnQvYWNjb3VudC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL2FjY291bnRpbmctYmVoYXZpb3VyL2FjY291bnRpbmctYmVoYXZpb3VyLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3MvYXR0YWNoLWtwaXMvYXR0YWNoLWtwaXMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1zZXR0aW5ncy9jaGFydC1maWx0ZXJzL2NoYXJ0LWZpbHRlcnMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1zZXR0aW5ncy9kYXRlcy1waWNrZXIvZGF0ZXMtcGlja2VyLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3MvaGlzdC1tb2RlL2hpc3QtbW9kZS5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL2xpbWl0LWVudHJpZXMvbGltaXQtZW50cmllcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL29mZnNldHMvb2Zmc2V0cy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL29yZ2FuaXphdGlvbnMvb3JnYW5pemF0aW9ucy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL3BhcmFtLXNlbGVjdG9yL3BhcmFtLXNlbGVjdG9yLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3MvcGFyYW1zLWNoZWNrYm94ZXMvcGFyYW1zLWNoZWNrYm94ZXMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1zZXR0aW5ncy9wYXJhbXMtcGlja2VyL3BhcmFtcy1waWNrZXIubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1zZXR0aW5ncy90YWctZmlsdGVyL3RhZy1maWx0ZXIubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1zZXR0aW5ncy90aW1lLXBlcmlvZC90aW1lLXBlcmlvZC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL3dpZHRoL3dpZHRoLmxlc3MiXSwibmFt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O0FFN01tQztFQUFXLGlCQUFBO0NGZ045QztBRS9NbUM7RUFBVyxpQkFBQTtDRmtOOUM7QUVqTm1DO0VBQVcsaUJBQUE7Q0ZvTjlDO0FFbk5tQztFQUFXLGlCQUFBO0NGc045QztBRXJObUM7RUFBVyxpQkFBQTtDRndOOUM7QUV2Tm1DO0VBQVcsaUJBQUE7Q0YwTjlDO0FFek5tQztFQUFXLGlCQUFBO0NGNE45QztBRTNObUM7RUFBVyxpQkFBQTtDRjhOOUM7QUU3Tm1DO0VBQVcsaUJBQUE7Q0ZnTzlDO0FFL05tQztFQUFXLGlCQUFBO0NGa085QztBRWpPbUM7RUFBVyxpQkFBQTtDRm9POUM7QUVuT21DO0VBQVcsaUJBQUE7Q0ZzTzlDO0FFck9tQztFQUFXLGlCQUFBO0NGd085QztBRXZPbUM7RUFBVyxpQkFBQTtDRjBPOUM7QUV6T21DO0VBQVcsaUJBQUE7Q0Y0TzlDO0FFM09tQztFQUFXLGlCQUFBO0NGOE85QztBRTdPbUM7RUFBVyxpQkFBQTtDRmdQOUM7QUUvT21DO0VBQVcsaUJBQUE7Q0ZrUDlDO0FFalBtQztFQUFXLGlCQUFBO0NGb1A5QztBRW5QbUM7RUFBVyxpQkFBQTtDRnNQOUM7QUVyUG1DO0VBQVcsaUJBQUE7Q0Z3UDlDO0FFdlBtQztFQUFXLGlCQUFBO0NGMFA5QztBRXpQbUM7RUFBVyxpQkFBQTtDRjRQOUM7QUUzUG1DO0VBQVcsaUJBQUE7Q0Y4UDlDO0FFN1BtQztFQUFXLGlCQUFBO0NGZ1E5QztBRS9QbUM7RUFBVyxpQkFBQTtDRmtROUM7QUVqUW1DO0VBQVcsaUJBQUE7Q0ZvUTlDO0FFblFtQztFQUFXLGlCQUFBO0NGc1E5QztBRXJRbUM7RUFBVyxpQkFBQTtDRndROUM7QUV2UW1DO0VBQVcsaUJBQUE7Q0YwUTlDO0FFelFtQztFQUFXLGlCQUFBO0NGNFE5QztBRTNRbUM7RUFBVyxpQkFBQTtDRjhROUM7QUU3UW1DO0VBQVcsaUJBQUE7Q0ZnUjlDO0FFL1FtQztFQUFXLGlCQUFBO0NGa1I5QztBRWpSbUM7RUFBVyxpQkFBQTtDRm9SOUM7QUVuUm1DO0VBQVcsaUJBQUE7Q0ZzUjlDO0FFclJtQztFQUFXLGlCQUFBO0NGd1I5QztBRXZSbUM7RUFBVyxpQkFBQTtDRjBSOUM7QUV6Um1DO0VBQVcsaUJBQUE7Q0Y0UjlDO0FFM1JtQztFQUFXLGlCQUFBO0NGOFI5QztBRTdSbUM7RUFBVyxpQkFBQTtDRmdTOUM7QUUvUm1DO0VBQVcsaUJBQUE7Q0ZrUzlDO0FFalNtQztFQUFXLGlCQUFBO0NGb1M5QztBRW5TbUM7RUFBVyxpQkFBQTtDRnNTOUM7QUVyU21DO0VBQVcsaUJBQUE7Q0Z3UzlDO0FFdlNtQztFQUFXLGlCQUFBO0NGMFM5QztBRXpTbUM7RUFBVyxpQkFBQTtDRjRTOUM7QUUzU21DO0VBQVcsaUJBQUE7Q0Y4UzlDO0FFN1NtQztFQUFXLGlCQUFBO0NGZ1Q5QztBRS9TbUM7RUFBVyxpQkFBQTtDRmtUOUM7QUVqVG1DO0VBQVcsaUJBQUE7Q0ZvVDlDO0FFblRtQztFQUFXLGlCQUFBO0NGc1Q5QztBRXJUbUM7RUFBVyxpQkFBQTtDRndUOUM7QUV2VG1DO0VBQVcsaUJBQUE7Q0YwVDlDO0FFelRtQztFQUFXLGlCQUFBO0NGNFQ5QztBRTNUbUM7RUFBVyxpQkFBQTtDRjhUOUM7QUU3VG1DO0VBQVcsaUJBQUE7Q0ZnVTlDO0FFL1RtQztFQUFXLGlCQUFBO0NGa1U5QztBRWpVbUM7RUFBVyxpQkFBQTtDRm9VOUM7QUVuVW1DO0VBQVcsaUJBQUE7Q0ZzVTlDO0FFclVtQztFQUFXLGlCQUFBO0NGd1U5QztBRXZVbUM7RUFBVyxpQkFBQTtDRjBVOUM7QUV6VW1DO0VBQVcsaUJBQUE7Q0Y0VTlDO0FFM1VtQztFQUFXLGlCQUFBO0NGOFU5QztBRTdVbUM7RUFBVyxpQkFBQTtDRmdWOUM7QUUvVW1DO0VBQVcsaUJBQUE7Q0ZrVjlDO0FFalZtQztFQUFXLGlCQUFBO0NGb1Y5QztBRW5WbUM7RUFBVyxpQkFBQTtDRnNWOUM7QUVyVm1DO0VBQVcsaUJBQUE7Q0Z3VjlDO0FFdlZtQztFQUFXLGlCQUFBO0NGMFY5QztBRXpWbUM7RUFBVyxpQkFBQTtDRjRWOUM7QUUzVm1DO0VBQVcsaUJBQUE7Q0Y4VjlDO0FFN1ZtQztFQUFXLGlCQUFBO0NGZ1c5QztBRS9WbUM7RUFBVyxpQkFBQTtDRmtXOUM7QUVqV21DO0VBQVcsaUJBQUE7Q0ZvVzlDO0FFbldtQztFQUFXLGlCQUFBO0NGc1c5QztBRXJXbUM7RUFBVyxpQkFBQTtDRndXOUM7QUV2V21DO0VBQVcsaUJBQUE7Q0YwVzlDO0FFeldtQztFQUFXLGlCQUFBO0NGNFc5QztBRTNXbUM7RUFBVyxpQkFBQTtDRjhXOUM7QUU3V21DO0VBQVcsaUJBQUE7Q0ZnWDlDO0FFL1dtQztFQUFXLGlCQUFBO0NGa1g5QztBRWpYbUM7RUFBVyxpQkFBQTtDRm9YOUM7QUVuWG1DO0VBQVcsaUJBQUE7Q0ZzWDlDO0FFclhtQztFQUFXLGlCQUFBO0NGd1g5QztBRXZYbUM7RUFBVyxpQkFBQTtDRjBYOUM7QUV6WG1DO0VBQVcsaUJBQUE7Q0Y0WDlDO0FFM1htQztFQUFXLGlCQUFBO0NGOFg5QztBRTdYbUM7RUFBVyxpQkFBQTtDRmdZOUM7QUUvWG1DO0VBQVcsaUJBQUE7Q0ZrWTlDO0FFalltQztFQUFXLGlCQUFBO0NGb1k5QztBRW5ZbUM7RUFBVyxpQkFBQTtDRnNZOUM7QUVyWW1DO0VBQVcsaUJBQUE7Q0Z3WTlDO0FFdlltQztFQUFXLGlCQUFBO0NGMFk5QztBRXpZbUM7RUFBVyxpQkFBQTtDRjRZOUM7QUUzWW1DO0VBQVcsaUJBQUE7Q0Y4WTlDO0FFN1ltQztFQUFXLGlCQUFBO0NGZ1o5QztBRS9ZbUM7RUFBVyxpQkFBQTtDRmtaOUM7QUVqWm1DO0VBQVcsaUJBQUE7Q0ZvWjlDO0FFblptQztFQUFXLGlCQUFBO0NGc1o5QztBRXJabUM7RUFBVyxpQkFBQTtDRndaOUM7QUV2Wm1DO0VBQVcsaUJBQUE7Q0YwWjlDO0FFelptQztFQUFXLGlCQUFBO0NGNFo5QztBRTNabUM7RUFBVyxpQkFBQTtDRjhaOUM7QUU3Wm1DO0VBQVcsaUJBQUE7Q0ZnYTlDO0FFL1ptQztFQUFXLGlCQUFBO0NGa2E5QztBRWphbUM7RUFBVyxpQkFBQTtDRm9hOUM7QUVuYW1DO0VBQVcsaUJBQUE7Q0ZzYTlDO0FFcmFtQztFQUFXLGlCQUFBO0NGd2E5QztBRXZhbUM7RUFBVyxpQkFBQTtDRjBhOUM7QUV6YW1DO0VBQVcsaUJBQUE7Q0Y0YTlDO0FFM2FtQztFQUFXLGlCQUFBO0NGOGE5QztBRTdhbUM7RUFBVyxpQkFBQTtDRmdiOUM7QUUvYW1DO0VBQVcsaUJBQUE7Q0ZrYjlDO0FFamJtQztFQUFXLGlCQUFBO0NGb2I5QztBRW5ibUM7RUFBVyxpQkFBQTtDRnNiOUM7QUVyYm1DO0VBQVcsaUJBQUE7Q0Z3YjlDO0FFdmJtQztFQUFXLGlCQUFBO0NGMGI5QztBRXpibUM7RUFBVyxpQkFBQTtDRjRiOUM7QUUzYm1DO0VBQVcsaUJBQUE7Q0Y4YjlDO0FFN2JtQztFQUFXLGlCQUFBO0NGZ2M5QztBRS9ibUM7RUFBVyxpQkFBQTtDRmtjOUM7QUVqY21DO0VBQVcsaUJBQUE7Q0ZvYzlDO0FFbmNtQztFQUFXLGlCQUFBO0NGc2M5QztBRXJjbUM7RUFBVyxpQkFBQTtDRndjOUM7QUV2Y21DO0VBQVcsaUJBQUE7Q0YwYzlDO0FFemNtQztFQUFXLGlCQUFBO0NGNGM5QztBRTNjbUM7RUFBVyxpQkFBQTtDRjhjOUM7QUU3Y21DO0VBQVcsaUJBQUE7Q0ZnZDlDO0FFL2NtQztFQUFXLGlCQUFBO0NGa2Q5QztBRWpkbUM7RUFBVyxpQkFBQTtDRm9kOUM7QUVuZG1DO0VBQVcsaUJBQUE7Q0ZzZDlDO0FFcmRtQztFQUFXLGlCQUFBO0NGd2Q5QztBRXZkbUM7RUFBVyxpQkFBQTtDRjBkOUM7QUV6ZG1DO0VBQVcsaUJBQUE7Q0Y0ZDlDO0FFM2RtQztFQUFXLGlCQUFBO0NGOGQ5QztBRTdkbUM7RUFBVyxpQkFBQTtDRmdlOUM7QUUvZG1DO0VBQVcsaUJBQUE7Q0ZrZTlDO0FFamVtQztFQUFXLGlCQUFBO0NGb2U5QztBRW5lbUM7RUFBVyxpQkFBQTtDRnNlOUM7QUVyZW1DO0VBQVcsaUJBQUE7Q0Z3ZTlDO0FFdmVtQztFQUFXLGlCQUFBO0NGMGU5QztBRXplbUM7RUFBVyxpQkFBQTtDRjRlOUM7QUUzZW1DO0VBQVcsaUJBQUE7Q0Y4ZTlDO0FFN2VtQztFQUFXLGlCQUFBO0NGZ2Y5QztBRS9lbUM7RUFBVyxpQkFBQTtDRmtmOUM7QUVqZm1DO0VBQVcsaUJBQUE7Q0ZvZjlDO0FFbmZtQztFQUFXLGlCQUFBO0NGc2Y5QztBRXJmbUM7RUFBVyxpQkFBQTtDRndmOUM7QUV2Zm1DO0VBQVcsaUJBQUE7Q0YwZjlDO0FFemZtQztFQUFXLGlCQUFBO0NGNGY5QztBRTNmbUM7RUFBVyxpQkFBQTtDRjhmOUM7QUU3Zm1DO0VBQVcsaUJBQUE7Q0ZnZ0I5QztBRS9mbUM7RUFBVyxpQkFBQTtDRmtnQjlDO0FFamdCbUM7RUFBVyxpQkFBQTtDRm9nQjlDO0FFbmdCbUM7RUFBVyxpQkFBQTtDRnNnQjlDO0FFcmdCbUM7RUFBVyxpQkFBQTtDRndnQjlDO0FFdmdCbUM7RUFBVyxpQkFBQTtDRjBnQjlDO0FFemdCbUM7RUFBVyxpQkFBQTtDRjRnQjlDO0FFM2dCbUM7RUFBVyxpQkFBQTtDRjhnQjlDO0FFN2dCbUM7RUFBVyxpQkFBQTtDRmdoQjlDO0FFL2dCbUM7RUFBVyxpQkFBQTtDRmtoQjlDO0FFamhCbUM7RUFBVyxpQkFBQTtDRm9oQjlDO0FFbmhCbUM7RUFBVyxpQkFBQTtDRnNoQjlDO0FFcmhCbUM7RUFBVyxpQkFBQTtDRndoQjlDO0FFdmhCbUM7RUFBVyxpQkFBQTtDRjBoQjlDO0FFemhCbUM7RUFBVyxpQkFBQTtDRjRoQjlDO0FFM2hCbUM7RUFBVyxpQkFBQTtDRjhoQjlDO0FFN2hCbUM7RUFBVyxpQkFBQTtDRmdpQjlDO0FFL2hCbUM7RUFBVyxpQkFBQTtDRmtpQjlDO0FFamlCbUM7RUFBVyxpQkFBQTtDRm9pQjlDO0FFbmlCbUM7RUFBVyxpQkFBQTtDRnNpQjlDO0FFcmlCbUM7RUFBVyxpQkFBQTtDRndpQjlDO0FFdmlCbUM7RUFBVyxpQkFBQTtDRjBpQjlDO0FFemlCbUM7RUFBVyxpQkFBQTtDRjRpQjlDO0FFM2lCbUM7RUFBVyxpQkFBQTtDRjhpQjlDO0FFN2lCbUM7RUFBVyxpQkFBQTtDRmdqQjlDO0FFL2lCbUM7RUFBVyxpQkFBQTtDRmtqQjlDO0FFampCbUM7RUFBVyxpQkFBQTtDRm9qQjlDO0FFbmpCbUM7RUFBVyxpQkFBQTtDRnNqQjlDO0FFcmpCbUM7RUFBVyxpQkFBQTtDRndqQjlDO0FFdmpCbUM7RUFBVyxpQkFBQTtDRjBqQjlDO0FFempCbUM7RUFBVyxpQkFBQTtDRjRqQjlDO0FFM2pCbUM7RUFBVyxpQkFBQTtDRjhqQjlDO0FFN2pCbUM7RUFBVyxpQkFBQTtDRmdrQjlDO0FFL2pCbUM7RUFBVyxpQkFBQTtDRmtrQjlDO0FFamtCbUM7RUFBVyxpQkFBQTtDRm9rQjlDO0FFbmtCbUM7RUFBVyxpQkFBQTtDRnNrQjlDO0FFcmtCbUM7RUFBVyxpQkFBQTtDRndrQjlDO0FFL2pCbUM7RUFBVyxpQkFBQTtDRmtrQjlDO0FFamtCbUM7RUFBVyxpQkFBQTtDRm9rQjlDO0FFbmtCbUM7RUFBVyxpQkFBQTtDRnNrQjlDO0FFcmtCbUM7RUFBVyxpQkFBQTtDRndrQjlDO0FFdmtCbUM7RUFBVyxpQkFBQTtDRjBrQjlDO0FFemtCbUM7RUFBVyxpQkFBQTtDRjRrQjlDO0FFM2tCbUM7RUFBVyxpQkFBQTtDRjhrQjlDO0FFN2tCbUM7RUFBVyxpQkFBQTtDRmdsQjlDO0FFL2tCbUM7RUFBVyxpQkFBQTtDRmtsQjlDO0FFamxCbUM7RUFBVyxpQkFBQTtDRm9sQjlDO0FFbmxCbUM7RUFBVyxpQkFBQTtDRnNsQjlDO0FFcmxCbUM7RUFBVyxpQkFBQTtDRndsQjlDO0FFdmxCbUM7RUFBVyxpQkFBQTtDRjBsQjlDO0FFemxCbUM7RUFBVyxpQkFBQTtDRjRsQjlDO0FFM2xCbUM7RUFBVyxpQkFBQTtDRjhsQjlDO0FFN2xCbUM7RUFBVyxpQkFBQTtDRmdtQjlDO0FFL2xCbUM7RUFBVyxpQkFBQTtDRmttQjlDO0FFam1CbUM7RUFBVyxpQkFBQTtDRm9tQjlDO0FFbm1CbUM7RUFBVyxpQkFBQTtDRnNtQjlDO0FFcm1CbUM7RUFBVyxpQkFBQTtDRndtQjlDO0FFdm1CbUM7RUFBVyxpQkFBQTtDRjBtQjlDO0FFem1CbUM7RUFBVyxpQkFBQTtDRjRtQjlDO0FFM21CbUM7RUFBVyxpQkFBQTtDRjhtQjlDO0FFN21CbUM7RUFBVyxpQkFBQTtDRmduQjlDO0FFL21CbUM7RUFBVyxpQkFBQTtDRmtuQjlDO0FFam5CbUM7RUFBVyxpQkFBQTtDRm9uQjlDO0FFbm5CbUM7RUFBVyxpQkFBQTtDRnNuQjlDO0FFcm5CbUM7RUFBVyxpQkFBQTtDRnduQjlDO0FFdm5CbUM7RUFBVyxpQkFBQTtDRjBuQjlDO0FFem5CbUM7RUFBVyxpQkFBQTtDRjRuQjlDO0FFM25CbUM7RUFBVyxpQkFBQTtDRjhuQjlDO0FFN25CbUM7RUFBVyxpQkFBQTtDRmdvQjlDO0FFL25CbUM7RUFBVyxpQkFBQTtDRmtvQjlDO0FFam9CbUM7RUFBVyxpQkFBQTtDRm9vQjlDO0FFbm9CbUM7RUFBVyxpQkFBQTtDRnNvQjlDO0FFcm9CbUM7RUFBVyxpQkFBQTtDRndvQjlDO0FFdm9CbUM7RUFBVyxpQkFBQTtDRjBvQjlDO0FFem9CbUM7RUFBVyxpQkFBQTtDRjRvQjlDO0FFM29CbUM7RUFBVyxpQkFBQTtDRjhvQjlDO0FFN29CbUM7RUFBVyxpQkFBQTtDRmdwQjlDO0FFL29CbUM7RUFBVyxpQkFBQTtDRmtwQjlDO0FFanBCbUM7RUFBVyxpQkFBQTtDRm9wQjlDO0FFbnBCbUM7RUFBVyxpQkFBQTtDRnNwQjlDO0FFcnBCbUM7RUFBVyxpQkFBQTtDRndwQjlDO0FFdnBCbUM7RUFBVyxpQkFBQTtDRjBwQjlDO0FFenBCbUM7RUFBVyxpQkFBQTtDRjRwQjlDO0FFM3BCbUM7RUFBVyxpQkFBQTtDRjhwQjlDO0FFN3BCbUM7RUFBVyxpQkFBQTtDRmdxQjlDO0FFL3BCbUM7RUFBVyxpQkFBQTtDRmtxQjlDO0FFanFCbUM7RUFBVyxpQkFBQTtDRm9xQjlDO0FFbnFCbUM7RUFBVyxpQkFBQTtDRnNxQjlDO0FFcnFCbUM7RUFBVyxpQkFBQTtDRndxQjlDO0FFdnFCbUM7RUFBVyxpQkFBQTtDRjBxQjlDO0FFenFCbUM7RUFBVyxpQkFBQTtDRjRxQjlDO0FFM3FCbUM7RUFBVyxpQkFBQTtDRjhxQjlDO0FFN3FCbUM7RUFBVyxpQkFBQTtDRmdyQjlDO0FHdDlCRDtFQ2tFVSx1QkFBQTtDSnk1QlQ7QUd4OUJEOztFQytEVSx1QkFBQTtDSis1QlQ7QUd0OUJEO0VBQ0UsZ0JBQUE7RUFDQSw4Q0FBQTtDSHc5QkQ7QUdyOUJEO0VBQ0UsNERBQUE7RUFDQSxnQkFBQTtFQUNBLHdCQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0NIdTlCRDtBR245QkQ7Ozs7RUFJRSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7Q0hxOUJEO0FHLzhCRDtFQUNFLGVBQUE7RUFDQSxzQkFBQTtDSGk5QkQ7QUcvOEJDOztFQUVFLGVBQUE7RUFDQSwyQkFBQTtDSGk5Qkg7QUc5OEJDO0VFbkRBLDJDQUFBO0VBQ0EscUJBQUE7Q0xvZ0NEO0FHdjhCRDtFQUNFLFVBQUE7Q0h5OEJEO0FHbjhCRDtFQUNFLHVCQUFBO0NIcThCRDtBR2o4QkQ7Ozs7O0VHdkVFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7Q04rZ0NEO0FHcjhCRDtFQUNFLG1CQUFBO0NIdThCRDtBR2o4QkQ7RUFDRSxhQUFBO0VBQ0Esd0JBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUM2RkEseUNBQUE7RUFFUSxpQ0FBQTtFRXZMUixzQkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtDTitoQ0Q7QUdqOEJEO0VBQ0UsbUJBQUE7Q0htOEJEO0FHNzdCRDtFQUNFLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxVQUFBO0VBQ0EsOEJBQUE7Q0grN0JEO0FHdjdCRDtFQUNFLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsdUJBQUE7RUFDQSxVQUFBO0NIeTdCRDtBR2o3QkM7O0VBRUUsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7Q0htN0JIO0FHeDZCRDtFQUNFLGdCQUFBO0NIMDZCRDtBT2prQ0Q7Ozs7Ozs7Ozs7OztFQUVFLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7Q1A2a0NEO0FPbGxDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBU0ksb0JBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtDUG1tQ0g7QU8vbENEOzs7Ozs7RUFHRSxpQkFBQTtFQUNBLG9CQUFBO0NQb21DRDtBT3htQ0Q7Ozs7Ozs7Ozs7OztFQVFJLGVBQUE7Q1A4bUNIO0FPM21DRDs7Ozs7O0VBR0UsaUJBQUE7RUFDQSxvQkFBQTtDUGduQ0Q7QU9wbkNEOzs7Ozs7Ozs7Ozs7RUFRSSxlQUFBO0NQMG5DSDtBT3RuQ0Q7O0VBQVUsZ0JBQUE7Q1AwbkNUO0FPem5DRDs7RUFBVSxnQkFBQTtDUDZuQ1Q7QU81bkNEOztFQUFVLGdCQUFBO0NQZ29DVDtBTy9uQ0Q7O0VBQVUsZ0JBQUE7Q1Btb0NUO0FPbG9DRDs7RUFBVSxnQkFBQTtDUHNvQ1Q7QU9yb0NEOztFQUFVLGdCQUFBO0NQeW9DVDtBT25vQ0Q7RUFDRSxpQkFBQTtDUHFvQ0Q7QU9sb0NEO0VBQ0Usb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7Q1Bvb0NEO0FPbG9DQztFQTJPRjtJQTFPSSxnQkFBQTtHUHFvQ0Q7Q0FDRjtBTzduQ0Q7O0VBRUUsZUFBQTtDUCtuQ0Q7QU81bkNEOztFQUVFLDBCQUFBO0VBQ0EsY0FBQTtDUDhuQ0Q7QU8xbkNEO0VBQXVCLGlCQUFBO0NQNm5DdEI7QU81bkNEO0VBQXVCLGtCQUFBO0NQK25DdEI7QU85bkNEO0VBQXVCLG1CQUFBO0NQaW9DdEI7QU9ob0NEO0VBQXVCLG9CQUFBO0NQbW9DdEI7QU9sb0NEO0VBQXVCLG9CQUFBO0NQcW9DdEI7QU9sb0NEO0VBQXVCLDBCQUFBO0NQcW9DdEI7QU9wb0NEO0VBQXVCLDBCQUFBO0NQdW9DdEI7QU90b0NEO0VBQXVCLDJCQUFBO0NQeW9DdEI7QU90b0NEO0VBQ0UsZUFBQTtDUHdvQ0Q7QU90b0NEO0VDckdFLGVBQUE7Q1I4dUNEO0FRN3VDQzs7RUFFRSxlQUFBO0NSK3VDSDtBTzFvQ0Q7RUN4R0UsZUFBQTtDUnF2Q0Q7QVFwdkNDOztFQUVFLGVBQUE7Q1JzdkNIO0FPOW9DRDtFQzNHRSxlQUFBO0NSNHZDRDtBUTN2Q0M7O0VBRUUsZUFBQTtDUjZ2Q0g7QU9scENEO0VDOUdFLGVBQUE7Q1Jtd0NEO0FRbHdDQzs7RUFFRSxlQUFBO0NSb3dDSDtBT3RwQ0Q7RUNqSEUsZUFBQTtDUjB3Q0Q7QVF6d0NDOztFQUVFLGVBQUE7Q1Iyd0NIO0FPdHBDRDtFQUdFLFlBQUE7RUUzSEEsMEJBQUE7Q1RreENEO0FTanhDQzs7RUFFRSwwQkFBQTtDVG14Q0g7QU94cENEO0VFOUhFLDBCQUFBO0NUeXhDRDtBU3h4Q0M7O0VBRUUsMEJBQUE7Q1QweENIO0FPNXBDRDtFRWpJRSwwQkFBQTtDVGd5Q0Q7QVMveENDOztFQUVFLDBCQUFBO0NUaXlDSDtBT2hxQ0Q7RUVwSUUsMEJBQUE7Q1R1eUNEO0FTdHlDQzs7RUFFRSwwQkFBQTtDVHd5Q0g7QU9wcUNEO0VFdklFLDBCQUFBO0NUOHlDRDtBUzd5Q0M7O0VBRUUsMEJBQUE7Q1QreUNIO0FPbnFDRDtFQUNFLG9CQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQ0FBQTtDUHFxQ0Q7QU83cENEOztFQUVFLGNBQUE7RUFDQSxvQkFBQTtDUCtwQ0Q7QU9scUNEOzs7O0VBTUksaUJBQUE7Q1BrcUNIO0FPM3BDRDtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7Q1A2cENEO0FPenBDRDtFQUxFLGdCQUFBO0VBQ0EsaUJBQUE7RUFNQSxrQkFBQTtDUDRwQ0Q7QU85cENEO0VBS0ksc0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0NQNHBDSDtBT3ZwQ0Q7RUFDRSxjQUFBO0VBQ0Esb0JBQUE7Q1B5cENEO0FPdnBDRDs7RUFFRSx3QkFBQTtDUHlwQ0Q7QU92cENEO0VBQ0Usa0JBQUE7Q1B5cENEO0FPdnBDRDtFQUNFLGVBQUE7Q1B5cENEO0FPNW9DQztFQXlGRjtJQXZGTSxZQUFBO0lBQ0EsYUFBQTtJQUNBLFlBQUE7SUFDQSxrQkFBQTtJR3ROSixpQkFBQTtJQUNBLHdCQUFBO0lBQ0Esb0JBQUE7R1ZxMkNDO0VPN2pDSDtJQWhGTSxtQkFBQTtHUGdwQ0g7Q0FDRjtBT3ZvQ0Q7O0VBR0UsYUFBQTtFQUNBLGtDQUFBO0NQd29DRDtBT3RvQ0Q7RUFDRSxlQUFBO0VBOUlxQiwwQkFBQTtDUHV4Q3RCO0FPcG9DRDtFQUNFLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLCtCQUFBO0NQc29DRDtBT2pvQ0c7OztFQUNFLGlCQUFBO0NQcW9DTDtBTy9vQ0Q7OztFQW1CSSxlQUFBO0VBQ0EsZUFBQTtFQUNBLHdCQUFBO0VBQ0EsZUFBQTtDUGlvQ0g7QU8vbkNHOzs7RUFDRSx1QkFBQTtDUG1vQ0w7QU8zbkNEOztFQUVFLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtDUDZuQ0Q7QU92bkNHOzs7Ozs7RUFBVyxZQUFBO0NQK25DZDtBTzluQ0c7Ozs7OztFQUNFLHVCQUFBO0NQcW9DTDtBTy9uQ0Q7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esd0JBQUE7Q1Bpb0NEO0FXdjZDRDs7OztFQUlFLCtEQUFBO0NYeTZDRDtBV3I2Q0Q7RUFDRSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsMEJBQUE7RUFDQSxtQkFBQTtDWHU2Q0Q7QVduNkNEO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSwrQ0FBQTtDWHE2Q0Q7QVczNkNEO0VBU0ksV0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtDWHE2Q0g7QVdoNkNEO0VBQ0UsZUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtDWGs2Q0Q7QVc3NkNEO0VBZUksV0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLHNCQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQkFBQTtDWGk2Q0g7QVc1NUNEO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtDWDg1Q0Q7QVl4OUNEO0VDSEUsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7Q2I4OUNEO0FZMzlDQztFQXdFRjtJQXZFSSxhQUFBO0daODlDRDtDQUNGO0FZNzlDQztFQXFFRjtJQXBFSSxhQUFBO0daZytDRDtDQUNGO0FZLzlDQztFQWtFRjtJQWpFSSxjQUFBO0daaytDRDtDQUNGO0FZejlDRDtFQ3ZCRSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtDYm0vQ0Q7QVl0OUNEO0VDdkJFLG1CQUFBO0VBQ0Esb0JBQUE7Q2JnL0NEO0FjaC9DRztFQUNFLG1CQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NkZy9DTDtBY2grQ0c7RUFDRSxZQUFBO0NkaytDTDtBYzM5Q0M7RUFDRSxZQUFBO0NkNjlDSDtBYzk5Q0M7RUFDRSxvQkFBQTtDZGcrQ0g7QWNqK0NDO0VBQ0Usb0JBQUE7Q2RtK0NIO0FjcCtDQztFQUNFLFdBQUE7Q2RzK0NIO0FjditDQztFQUNFLG9CQUFBO0NkeStDSDtBYzErQ0M7RUFDRSxvQkFBQTtDZDQrQ0g7QWM3K0NDO0VBQ0UsV0FBQTtDZCsrQ0g7QWNoL0NDO0VBQ0Usb0JBQUE7Q2RrL0NIO0Fjbi9DQztFQUNFLG9CQUFBO0NkcS9DSDtBY3QvQ0M7RUFDRSxXQUFBO0Nkdy9DSDtBY3ovQ0M7RUFDRSxvQkFBQTtDZDIvQ0g7QWM1L0NDO0VBQ0UsbUJBQUE7Q2Q4L0NIO0FjaC9DQztFQUNFLFlBQUE7Q2RrL0NIO0Fjbi9DQztFQUNFLG9CQUFBO0NkcS9DSDtBY3QvQ0M7RUFDRSxvQkFBQTtDZHcvQ0g7QWN6L0NDO0VBQ0UsV0FBQTtDZDIvQ0g7QWM1L0NDO0VBQ0Usb0JBQUE7Q2Q4L0NIO0FjLy9DQztFQUNFLG9CQUFBO0NkaWdESDtBY2xnREM7RUFDRSxXQUFBO0Nkb2dESDtBY3JnREM7RUFDRSxvQkFBQTtDZHVnREg7QWN4Z0RDO0VBQ0Usb0JBQUE7Q2QwZ0RIO0FjM2dEQztFQUNFLFdBQUE7Q2Q2Z0RIO0FjOWdEQztFQUNFLG9CQUFBO0NkZ2hESDtBY2poREM7RUFDRSxtQkFBQTtDZG1oREg7QWMvZ0RDO0VBQ0UsWUFBQTtDZGloREg7QWNqaURDO0VBQ0UsV0FBQTtDZG1pREg7QWNwaURDO0VBQ0UsbUJBQUE7Q2RzaURIO0FjdmlEQztFQUNFLG1CQUFBO0NkeWlESDtBYzFpREM7RUFDRSxVQUFBO0NkNGlESDtBYzdpREM7RUFDRSxtQkFBQTtDZCtpREg7QWNoakRDO0VBQ0UsbUJBQUE7Q2RrakRIO0FjbmpEQztFQUNFLFVBQUE7Q2RxakRIO0FjdGpEQztFQUNFLG1CQUFBO0Nkd2pESDtBY3pqREM7RUFDRSxtQkFBQTtDZDJqREg7QWM1akRDO0VBQ0UsVUFBQTtDZDhqREg7QWMvakRDO0VBQ0UsbUJBQUE7Q2Rpa0RIO0FjbGtEQztFQUNFLGtCQUFBO0Nkb2tESDtBY2hrREM7RUFDRSxXQUFBO0Nka2tESDtBY3BqREM7RUFDRSxrQkFBQTtDZHNqREg7QWN2akRDO0VBQ0UsMEJBQUE7Q2R5akRIO0FjMWpEQztFQUNFLDBCQUFBO0NkNGpESDtBYzdqREM7RUFDRSxpQkFBQTtDZCtqREg7QWNoa0RDO0VBQ0UsMEJBQUE7Q2Rra0RIO0FjbmtEQztFQUNFLDBCQUFBO0NkcWtESDtBY3RrREM7RUFDRSxpQkFBQTtDZHdrREg7QWN6a0RDO0VBQ0UsMEJBQUE7Q2Qya0RIO0FjNWtEQztFQUNFLDBCQUFBO0NkOGtESDtBYy9rREM7RUFDRSxpQkFBQTtDZGlsREg7QWNsbERDO0VBQ0UsMEJBQUE7Q2RvbERIO0FjcmxEQztFQUNFLHlCQUFBO0NkdWxESDtBY3hsREM7RUFDRSxnQkFBQTtDZDBsREg7QVlubUREO0VFekJJO0lBQ0UsWUFBQTtHZCtuREg7RWN4bkREO0lBQ0UsWUFBQTtHZDBuREQ7RWMzbkREO0lBQ0Usb0JBQUE7R2Q2bkREO0VjOW5ERDtJQUNFLG9CQUFBO0dkZ29ERDtFY2pvREQ7SUFDRSxXQUFBO0dkbW9ERDtFY3BvREQ7SUFDRSxvQkFBQTtHZHNvREQ7RWN2b0REO0lBQ0Usb0JBQUE7R2R5b0REO0VjMW9ERDtJQUNFLFdBQUE7R2Q0b0REO0VjN29ERDtJQUNFLG9CQUFBO0dkK29ERDtFY2hwREQ7SUFDRSxvQkFBQTtHZGtwREQ7RWNucEREO0lBQ0UsV0FBQTtHZHFwREQ7RWN0cEREO0lBQ0Usb0JBQUE7R2R3cEREO0VjenBERDtJQUNFLG1CQUFBO0dkMnBERDtFYzdvREQ7SUFDRSxZQUFBO0dkK29ERDtFY2hwREQ7SUFDRSxvQkFBQTtHZGtwREQ7RWNucEREO0lBQ0Usb0JBQUE7R2RxcEREO0VjdHBERDtJQUNFLFdBQUE7R2R3cEREO0VjenBERDtJQUNFLG9CQUFBO0dkMnBERDtFYzVwREQ7SUFDRSxvQkFBQTtHZDhwREQ7RWMvcEREO0lBQ0UsV0FBQTtHZGlxREQ7RWNscUREO0lBQ0Usb0JBQUE7R2RvcUREO0VjcnFERDtJQUNFLG9CQUFBO0dkdXFERDtFY3hxREQ7SUFDRSxXQUFBO0dkMHFERDtFYzNxREQ7SUFDRSxvQkFBQTtHZDZxREQ7RWM5cUREO0lBQ0UsbUJBQUE7R2RnckREO0VjNXFERDtJQUNFLFlBQUE7R2Q4cUREO0VjOXJERDtJQUNFLFdBQUE7R2Rnc0REO0VjanNERDtJQUNFLG1CQUFBO0dkbXNERDtFY3BzREQ7SUFDRSxtQkFBQTtHZHNzREQ7RWN2c0REO0lBQ0UsVUFBQTtHZHlzREQ7RWMxc0REO0lBQ0UsbUJBQUE7R2Q0c0REO0VjN3NERDtJQUNFLG1CQUFBO0dkK3NERDtFY2h0REQ7SUFDRSxVQUFBO0dka3RERDtFY250REQ7SUFDRSxtQkFBQTtHZHF0REQ7RWN0dEREO0lBQ0UsbUJBQUE7R2R3dEREO0VjenRERDtJQUNFLFVBQUE7R2QydEREO0VjNXRERDtJQUNFLG1CQUFBO0dkOHRERDtFYy90REQ7SUFDRSxrQkFBQTtHZGl1REQ7RWM3dEREO0lBQ0UsV0FBQTtHZCt0REQ7RWNqdEREO0lBQ0Usa0JBQUE7R2RtdEREO0VjcHRERDtJQUNFLDBCQUFBO0dkc3RERDtFY3Z0REQ7SUFDRSwwQkFBQTtHZHl0REQ7RWMxdEREO0lBQ0UsaUJBQUE7R2Q0dEREO0VjN3RERDtJQUNFLDBCQUFBO0dkK3RERDtFY2h1REQ7SUFDRSwwQkFBQTtHZGt1REQ7RWNudUREO0lBQ0UsaUJBQUE7R2RxdUREO0VjdHVERDtJQUNFLDBCQUFBO0dkd3VERDtFY3p1REQ7SUFDRSwwQkFBQTtHZDJ1REQ7RWM1dUREO0lBQ0UsaUJBQUE7R2Q4dUREO0VjL3VERDtJQUNFLDBCQUFBO0dkaXZERDtFY2x2REQ7SUFDRSx5QkFBQTtHZG92REQ7RWNydkREO0lBQ0UsZ0JBQUE7R2R1dkREO0NBQ0Y7QVl4dkREO0VFbENJO0lBQ0UsWUFBQTtHZDZ4REg7RWN0eEREO0lBQ0UsWUFBQTtHZHd4REQ7RWN6eEREO0lBQ0Usb0JBQUE7R2QyeEREO0VjNXhERDtJQUNFLG9CQUFBO0dkOHhERDtFYy94REQ7SUFDRSxXQUFBO0dkaXlERDtFY2x5REQ7SUFDRSxvQkFBQTtHZG95REQ7RWNyeUREO0lBQ0Usb0JBQUE7R2R1eUREO0VjeHlERDtJQUNFLFdBQUE7R2QweUREO0VjM3lERDtJQUNFLG9CQUFBO0dkNnlERDtFYzl5REQ7SUFDRSxvQkFBQTtHZGd6REQ7RWNqekREO0lBQ0UsV0FBQTtHZG16REQ7RWNwekREO0lBQ0Usb0JBQUE7R2RzekREO0VjdnpERDtJQUNFLG1CQUFBO0dkeXpERDtFYzN5REQ7SUFDRSxZQUFBO0dkNnlERDtFYzl5REQ7SUFDRSxvQkFBQTtHZGd6REQ7RWNqekREO0lBQ0Usb0JBQUE7R2RtekREO0VjcHpERDtJQUNFLFdBQUE7R2RzekREO0VjdnpERDtJQUNFLG9CQUFBO0dkeXpERDtFYzF6REQ7SUFDRSxvQkFBQTtHZDR6REQ7RWM3ekREO0lBQ0UsV0FBQTtHZCt6REQ7RWNoMEREO0lBQ0Usb0JBQUE7R2RrMEREO0VjbjBERDtJQUNFLG9CQUFBO0dkcTBERDtFY3QwREQ7SUFDRSxXQUFBO0dkdzBERDtFY3owREQ7SUFDRSxvQkFBQTtHZDIwREQ7RWM1MEREO0lBQ0UsbUJBQUE7R2Q4MEREO0VjMTBERDtJQUNFLFlBQUE7R2Q0MEREO0VjNTFERDtJQUNFLFdBQUE7R2Q4MUREO0VjLzFERDtJQUNFLG1CQUFBO0dkaTJERDtFY2wyREQ7SUFDRSxtQkFBQTtHZG8yREQ7RWNyMkREO0lBQ0UsVUFBQTtHZHUyREQ7RWN4MkREO0lBQ0UsbUJBQUE7R2QwMkREO0VjMzJERDtJQUNFLG1CQUFBO0dkNjJERDtFYzkyREQ7SUFDRSxVQUFBO0dkZzNERDtFY2ozREQ7SUFDRSxtQkFBQTtHZG0zREQ7RWNwM0REO0lBQ0UsbUJBQUE7R2RzM0REO0VjdjNERDtJQUNFLFVBQUE7R2R5M0REO0VjMTNERDtJQUNFLG1CQUFBO0dkNDNERDtFYzczREQ7SUFDRSxrQkFBQTtHZCszREQ7RWMzM0REO0lBQ0UsV0FBQTtHZDYzREQ7RWMvMkREO0lBQ0Usa0JBQUE7R2RpM0REO0VjbDNERDtJQUNFLDBCQUFBO0dkbzNERDtFY3IzREQ7SUFDRSwwQkFBQTtHZHUzREQ7RWN4M0REO0lBQ0UsaUJBQUE7R2QwM0REO0VjMzNERDtJQUNFLDBCQUFBO0dkNjNERDtFYzkzREQ7SUFDRSwwQkFBQTtHZGc0REQ7RWNqNEREO0lBQ0UsaUJBQUE7R2RtNEREO0VjcDRERDtJQUNFLDBCQUFBO0dkczRERDtFY3Y0REQ7SUFDRSwwQkFBQTtHZHk0REQ7RWMxNEREO0lBQ0UsaUJBQUE7R2Q0NEREO0VjNzRERDtJQUNFLDBCQUFBO0dkKzRERDtFY2g1REQ7SUFDRSx5QkFBQTtHZGs1REQ7RWNuNUREO0lBQ0UsZ0JBQUE7R2RxNUREO0NBQ0Y7QVk3NEREO0VFM0NJO0lBQ0UsWUFBQTtHZDI3REg7RWNwN0REO0lBQ0UsWUFBQTtHZHM3REQ7RWN2N0REO0lBQ0Usb0JBQUE7R2R5N0REO0VjMTdERDtJQUNFLG9CQUFBO0dkNDdERDtFYzc3REQ7SUFDRSxXQUFBO0dkKzdERDtFY2g4REQ7SUFDRSxvQkFBQTtHZGs4REQ7RWNuOEREO0lBQ0Usb0JBQUE7R2RxOEREO0VjdDhERDtJQUNFLFdBQUE7R2R3OEREO0VjejhERDtJQUNFLG9CQUFBO0dkMjhERDtFYzU4REQ7SUFDRSxvQkFBQTtHZDg4REQ7RWMvOEREO0lBQ0UsV0FBQTtHZGk5REQ7RWNsOUREO0lBQ0Usb0JBQUE7R2RvOUREO0VjcjlERDtJQUNFLG1CQUFBO0dkdTlERDtFY3o4REQ7SUFDRSxZQUFBO0dkMjhERDtFYzU4REQ7SUFDRSxvQkFBQTtHZDg4REQ7RWMvOEREO0lBQ0Usb0JBQUE7R2RpOUREO0VjbDlERDtJQUNFLFdBQUE7R2RvOUREO0VjcjlERDtJQUNFLG9CQUFBO0dkdTlERDtFY3g5REQ7SUFDRSxvQkFBQTtHZDA5REQ7RWMzOUREO0lBQ0UsV0FBQTtHZDY5REQ7RWM5OUREO0lBQ0Usb0JBQUE7R2RnK0REO0VjaitERDtJQUNFLG9CQUFBO0dkbStERDtFY3ArREQ7SUFDRSxXQUFBO0dkcytERDtFY3YrREQ7SUFDRSxvQkFBQTtHZHkrREQ7RWMxK0REO0lBQ0UsbUJBQUE7R2Q0K0REO0VjeCtERDtJQUNFLFlBQUE7R2QwK0REO0VjMS9ERDtJQUNFLFdBQUE7R2Q0L0REO0VjNy9ERDtJQUNFLG1CQUFBO0dkKy9ERDtFY2hnRUQ7SUFDRSxtQkFBQTtHZGtnRUQ7RWNuZ0VEO0lBQ0UsVUFBQTtHZHFnRUQ7RWN0Z0VEO0lBQ0UsbUJBQUE7R2R3Z0VEO0VjemdFRDtJQUNFLG1CQUFBO0dkMmdFRDtFYzVnRUQ7SUFDRSxVQUFBO0dkOGdFRDtFYy9nRUQ7SUFDRSxtQkFBQTtHZGloRUQ7RWNsaEVEO0lBQ0UsbUJBQUE7R2RvaEVEO0VjcmhFRDtJQUNFLFVBQUE7R2R1aEVEO0VjeGhFRDtJQUNFLG1CQUFBO0dkMGhFRDtFYzNoRUQ7SUFDRSxrQkFBQTtHZDZoRUQ7RWN6aEVEO0lBQ0UsV0FBQTtHZDJoRUQ7RWM3Z0VEO0lBQ0Usa0JBQUE7R2QrZ0VEO0VjaGhFRDtJQUNFLDBCQUFBO0dka2hFRDtFY25oRUQ7SUFDRSwwQkFBQTtHZHFoRUQ7RWN0aEVEO0lBQ0UsaUJBQUE7R2R3aEVEO0VjemhFRDtJQUNFLDBCQUFBO0dkMmhFRDtFYzVoRUQ7SUFDRSwwQkFBQTtHZDhoRUQ7RWMvaEVEO0lBQ0UsaUJBQUE7R2RpaUVEO0VjbGlFRDtJQUNFLDBCQUFBO0dkb2lFRDtFY3JpRUQ7SUFDRSwwQkFBQTtHZHVpRUQ7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RUFDRSwwQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZUFBQTtFQUNBLHNCQUFBO0NySjZ2V0w7QXFKandXRztFQU1JLDBCQUFBO0VBQ0EsYUFBQTtDcko4dldQO0FzSmp5V0Q7RUFDRSxpQkFBQTtDdEpteVdEO0FzSnB5V0Q7RUFJSSxhQUFBO0VBQ0EsWUFBQTtDdEpteVdIO0FzSnh5V0Q7RUFTSSxrQkFBQTtDdEpreVdIO0FzSjN5V0Q7RUFZTSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEsY0FBQTtFQUNBLDBCQUFBO01BQUEsdUJBQUE7VUFBQSxvQkFBQTtFQUNBLHNCQUFBO01BQUEsbUJBQUE7VUFBQSwwQkFBQTtDdEpreVdMO0FzSmh6V0Q7RUFnQmtCLGlCQUFBO0N0Sm15V2pCO0FzSm56V0Q7RUFvQlUscUJBQUE7RUFBQSxxQkFBQTtFQUFBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0N0Smt5V1Q7QXNKeHpXRDtFQXdCWSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtDdEpteVdYO0FzSjd6V0Q7RUErQmMsaUJBQUE7Q3RKaXlXYjtBdUpoMFdEO0VBQ0UsaUJBQUE7Q3ZKazBXRDtBdUpuMFdEO0VBSUksYUFBQTtFQUNBLFlBQUE7Q3ZKazBXSDtBdUoveldDO0VBQ0UsMEJBQUE7Q3ZKaTBXSDtBdUpoMFdHO0VBQ0UsaUJBQUE7RUFDQSxpQkFBQTtDdkprMFdMO0F1SnQwV0M7RUFPaUIsYUFBQTtDdkprMFdsQjtBd0pqMVdEO0VBQ0UsYUFBQTtFQUNBLGdCQUFBO0N4Sm0xV0Q7QXdKcjFXRDtFQUlJLGNBQUE7RUFDQSxnQkFBQTtDeEpvMVdIO0F3Sm4xV0c7RUFDRSxvQkFBQTtDeEpxMVdMO0F3Sm4xV0c7RUFDRSxtQkFBQTtDeEpxMVdMO0FBQ0QsZUFBZSIsImZpbGUiOiJpbXBhYy1hbmd1bGFyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4qKiBBbGwgQGltcG9ydCdzIHNob3VsZCBsaXZlIGluIHRoaXMgZmlsZSFcbiovXG4vKipcbiAqICBEbyBub3QgcmVtb3ZlIHRoaXMgY29tbWVudHMgYmVsbG93LiBJdCdzIHRoZSBtYXJrZXJzIHVzZWQgYnkgd2lyZWRlcCB0byBpbmplY3RcbiAqICBsZXNzIGRlcGVuZGVuY2llcyB3aGVuIGRlZmluZWQgaW4gdGhlIGJvd2VyLmpzb24gb2YgeW91ciBkZXBlbmRlbmNpZXNcbiAqL1xuLyohXG4gKiBCb290c3RyYXAgdjMuMy43IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTYgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG59XG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJy4uL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5zdmcjZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbn1cbi5nbHlwaGljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbi5nbHlwaGljb24tYXN0ZXJpc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwMmFcIjtcbn1cbi5nbHlwaGljb24tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMDAyYlwiO1xufVxuLmdseXBoaWNvbi1ldXJvOmJlZm9yZSxcbi5nbHlwaGljb24tZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMGFjXCI7XG59XG4uZ2x5cGhpY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMjEyXCI7XG59XG4uZ2x5cGhpY29uLWNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNjAxXCI7XG59XG4uZ2x5cGhpY29uLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNzA5XCI7XG59XG4uZ2x5cGhpY29uLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjcwZlwiO1xufVxuLmdseXBoaWNvbi1nbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMVwiO1xufVxuLmdseXBoaWNvbi1tdXNpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMlwiO1xufVxuLmdseXBoaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDNcIjtcbn1cbi5nbHlwaGljb24taGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDVcIjtcbn1cbi5nbHlwaGljb24tc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwNlwiO1xufVxuLmdseXBoaWNvbi1zdGFyLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA3XCI7XG59XG4uZ2x5cGhpY29uLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDhcIjtcbn1cbi5nbHlwaGljb24tZmlsbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwOVwiO1xufVxuLmdseXBoaWNvbi10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMFwiO1xufVxuLmdseXBoaWNvbi10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMVwiO1xufVxuLmdseXBoaWNvbi10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEyXCI7XG59XG4uZ2x5cGhpY29uLW9rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEzXCI7XG59XG4uZ2x5cGhpY29uLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxNFwiO1xufVxuLmdseXBoaWNvbi16b29tLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE1XCI7XG59XG4uZ2x5cGhpY29uLXpvb20tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE2XCI7XG59XG4uZ2x5cGhpY29uLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxN1wiO1xufVxuLmdseXBoaWNvbi1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMThcIjtcbn1cbi5nbHlwaGljb24tY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE5XCI7XG59XG4uZ2x5cGhpY29uLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIwXCI7XG59XG4uZ2x5cGhpY29uLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjFcIjtcbn1cbi5nbHlwaGljb24tZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyMlwiO1xufVxuLmdseXBoaWNvbi10aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIzXCI7XG59XG4uZ2x5cGhpY29uLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjRcIjtcbn1cbi5nbHlwaGljb24tZG93bmxvYWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI1XCI7XG59XG4uZ2x5cGhpY29uLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI2XCI7XG59XG4uZ2x5cGhpY29uLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyN1wiO1xufVxuLmdseXBoaWNvbi1pbmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyOFwiO1xufVxuLmdseXBoaWNvbi1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyOVwiO1xufVxuLmdseXBoaWNvbi1yZXBlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzBcIjtcbn1cbi5nbHlwaGljb24tcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzMVwiO1xufVxuLmdseXBoaWNvbi1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzMlwiO1xufVxuLmdseXBoaWNvbi1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMzXCI7XG59XG4uZ2x5cGhpY29uLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzRcIjtcbn1cbi5nbHlwaGljb24taGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzNVwiO1xufVxuLmdseXBoaWNvbi12b2x1bWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM2XCI7XG59XG4uZ2x5cGhpY29uLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM3XCI7XG59XG4uZ2x5cGhpY29uLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzOFwiO1xufVxuLmdseXBoaWNvbi1xcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzlcIjtcbn1cbi5nbHlwaGljb24tYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0MFwiO1xufVxuLmdseXBoaWNvbi10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDFcIjtcbn1cbi5nbHlwaGljb24tdGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0MlwiO1xufVxuLmdseXBoaWNvbi1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQzXCI7XG59XG4uZ2x5cGhpY29uLWJvb2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ0XCI7XG59XG4uZ2x5cGhpY29uLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ1XCI7XG59XG4uZ2x5cGhpY29uLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0NlwiO1xufVxuLmdseXBoaWNvbi1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ3XCI7XG59XG4uZ2x5cGhpY29uLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDhcIjtcbn1cbi5nbHlwaGljb24taXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ5XCI7XG59XG4uZ2x5cGhpY29uLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDUwXCI7XG59XG4uZ2x5cGhpY29uLXRleHQtd2lkdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTFcIjtcbn1cbi5nbHlwaGljb24tYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiO1xufVxuLmdseXBoaWNvbi1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTNcIjtcbn1cbi5nbHlwaGljb24tYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTRcIjtcbn1cbi5nbHlwaGljb24tYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiO1xufVxuLmdseXBoaWNvbi1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU2XCI7XG59XG4uZ2x5cGhpY29uLWluZGVudC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU3XCI7XG59XG4uZ2x5cGhpY29uLWluZGVudC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1OFwiO1xufVxuLmdseXBoaWNvbi1mYWNldGltZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1OVwiO1xufVxuLmdseXBoaWNvbi1waWN0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYwXCI7XG59XG4uZ2x5cGhpY29uLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjJcIjtcbn1cbi5nbHlwaGljb24tYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYzXCI7XG59XG4uZ2x5cGhpY29uLXRpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjRcIjtcbn1cbi5nbHlwaGljb24tZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NVwiO1xufVxuLmdseXBoaWNvbi1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NlwiO1xufVxuLmdseXBoaWNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2N1wiO1xufVxuLmdseXBoaWNvbi1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY4XCI7XG59XG4uZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjlcIjtcbn1cbi5nbHlwaGljb24tZmFzdC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MFwiO1xufVxuLmdseXBoaWNvbi1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MVwiO1xufVxuLmdseXBoaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDcyXCI7XG59XG4uZ2x5cGhpY29uLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDczXCI7XG59XG4uZ2x5cGhpY29uLXN0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzRcIjtcbn1cbi5nbHlwaGljb24tZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NVwiO1xufVxuLmdseXBoaWNvbi1mYXN0LWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzZcIjtcbn1cbi5nbHlwaGljb24tc3RlcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc3XCI7XG59XG4uZ2x5cGhpY29uLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc4XCI7XG59XG4uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OVwiO1xufVxuLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgwXCI7XG59XG4uZ2x5cGhpY29uLXBsdXMtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MVwiO1xufVxuLmdseXBoaWNvbi1taW51cy1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgyXCI7XG59XG4uZ2x5cGhpY29uLXJlbW92ZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7XG59XG4uZ2x5cGhpY29uLW9rLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODRcIjtcbn1cbi5nbHlwaGljb24tcXVlc3Rpb24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NVwiO1xufVxuLmdseXBoaWNvbi1pbmZvLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODZcIjtcbn1cbi5nbHlwaGljb24tc2NyZWVuc2hvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4N1wiO1xufVxuLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg4XCI7XG59XG4uZ2x5cGhpY29uLW9rLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OVwiO1xufVxuLmdseXBoaWNvbi1iYW4tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDkwXCI7XG59XG4uZ2x5cGhpY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTFcIjtcbn1cbi5nbHlwaGljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTJcIjtcbn1cbi5nbHlwaGljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTNcIjtcbn1cbi5nbHlwaGljb24tYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5NFwiO1xufVxuLmdseXBoaWNvbi1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTVcIjtcbn1cbi5nbHlwaGljb24tcmVzaXplLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTZcIjtcbn1cbi5nbHlwaGljb24tcmVzaXplLXNtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk3XCI7XG59XG4uZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDFcIjtcbn1cbi5nbHlwaGljb24tZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwMlwiO1xufVxuLmdseXBoaWNvbi1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTAzXCI7XG59XG4uZ2x5cGhpY29uLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDRcIjtcbn1cbi5nbHlwaGljb24tZXllLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDVcIjtcbn1cbi5nbHlwaGljb24tZXllLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTA2XCI7XG59XG4uZ2x5cGhpY29uLXdhcm5pbmctc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwN1wiO1xufVxuLmdseXBoaWNvbi1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwOFwiO1xufVxuLmdseXBoaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwOVwiO1xufVxuLmdseXBoaWNvbi1yYW5kb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTBcIjtcbn1cbi5nbHlwaGljb24tY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExMVwiO1xufVxuLmdseXBoaWNvbi1tYWduZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTJcIjtcbn1cbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExM1wiO1xufVxuLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTRcIjtcbn1cbi5nbHlwaGljb24tcmV0d2VldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExNVwiO1xufVxuLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTE2XCI7XG59XG4uZ2x5cGhpY29uLWZvbGRlci1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExN1wiO1xufVxuLmdseXBoaWNvbi1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExOFwiO1xufVxuLmdseXBoaWNvbi1yZXNpemUtdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTlcIjtcbn1cbi5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjBcIjtcbn1cbi5nbHlwaGljb24taGRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTIxXCI7XG59XG4uZ2x5cGhpY29uLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTIyXCI7XG59XG4uZ2x5cGhpY29uLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjNcIjtcbn1cbi5nbHlwaGljb24tY2VydGlmaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjRcIjtcbn1cbi5nbHlwaGljb24tdGh1bWJzLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI1XCI7XG59XG4uZ2x5cGhpY29uLXRodW1icy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI2XCI7XG59XG4uZ2x5cGhpY29uLWhhbmQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjdcIjtcbn1cbi5nbHlwaGljb24taGFuZC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI4XCI7XG59XG4uZ2x5cGhpY29uLWhhbmQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjlcIjtcbn1cbi5nbHlwaGljb24taGFuZC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTMwXCI7XG59XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzMVwiO1xufVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzMlwiO1xufVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzNcIjtcbn1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzRcIjtcbn1cbi5nbHlwaGljb24tZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzVcIjtcbn1cbi5nbHlwaGljb24td3JlbmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM2XCI7XG59XG4uZ2x5cGhpY29uLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM3XCI7XG59XG4uZ2x5cGhpY29uLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzOFwiO1xufVxuLmdseXBoaWNvbi1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzlcIjtcbn1cbi5nbHlwaGljb24tZnVsbHNjcmVlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0MFwiO1xufVxuLmdseXBoaWNvbi1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDFcIjtcbn1cbi5nbHlwaGljb24tcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQyXCI7XG59XG4uZ2x5cGhpY29uLWhlYXJ0LWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQzXCI7XG59XG4uZ2x5cGhpY29uLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDRcIjtcbn1cbi5nbHlwaGljb24tcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDVcIjtcbn1cbi5nbHlwaGljb24tcHVzaHBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0NlwiO1xufVxuLmdseXBoaWNvbi11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDhcIjtcbn1cbi5nbHlwaGljb24tZ2JwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQ5XCI7XG59XG4uZ2x5cGhpY29uLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTBcIjtcbn1cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1MVwiO1xufVxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1MlwiO1xufVxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTUzXCI7XG59XG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU0XCI7XG59XG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1NVwiO1xufVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU2XCI7XG59XG4uZ2x5cGhpY29uLXVuY2hlY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1N1wiO1xufVxuLmdseXBoaWNvbi1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNThcIjtcbn1cbi5nbHlwaGljb24tY29sbGFwc2UtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1OVwiO1xufVxuLmdseXBoaWNvbi1jb2xsYXBzZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2MFwiO1xufVxuLmdseXBoaWNvbi1sb2ctaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjFcIjtcbn1cbi5nbHlwaGljb24tZmxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjJcIjtcbn1cbi5nbHlwaGljb24tbG9nLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2M1wiO1xufVxuLmdseXBoaWNvbi1uZXctd2luZG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY0XCI7XG59XG4uZ2x5cGhpY29uLXJlY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2NVwiO1xufVxuLmdseXBoaWNvbi1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY2XCI7XG59XG4uZ2x5cGhpY29uLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjdcIjtcbn1cbi5nbHlwaGljb24tc2F2ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjhcIjtcbn1cbi5nbHlwaGljb24taW1wb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY5XCI7XG59XG4uZ2x5cGhpY29uLWV4cG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3MFwiO1xufVxuLmdseXBoaWNvbi1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTcxXCI7XG59XG4uZ2x5cGhpY29uLWZsb3BweS1kaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTcyXCI7XG59XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3M1wiO1xufVxuLmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc0XCI7XG59XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc1XCI7XG59XG4uZ2x5cGhpY29uLWZsb3BweS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc2XCI7XG59XG4uZ2x5cGhpY29uLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc3XCI7XG59XG4uZ2x5cGhpY29uLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc4XCI7XG59XG4uZ2x5cGhpY29uLWN1dGxlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzlcIjtcbn1cbi5nbHlwaGljb24taGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTgwXCI7XG59XG4uZ2x5cGhpY29uLWNvbXByZXNzZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODFcIjtcbn1cbi5nbHlwaGljb24tZWFycGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODJcIjtcbn1cbi5nbHlwaGljb24tcGhvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTgzXCI7XG59XG4uZ2x5cGhpY29uLXRvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg0XCI7XG59XG4uZ2x5cGhpY29uLXN0YXRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg1XCI7XG59XG4uZ2x5cGhpY29uLXNkLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg2XCI7XG59XG4uZ2x5cGhpY29uLWhkLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg3XCI7XG59XG4uZ2x5cGhpY29uLXN1YnRpdGxlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4OFwiO1xufVxuLmdseXBoaWNvbi1zb3VuZC1zdGVyZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODlcIjtcbn1cbi5nbHlwaGljb24tc291bmQtZG9sYnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTBcIjtcbn1cbi5nbHlwaGljb24tc291bmQtNS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTkxXCI7XG59XG4uZ2x5cGhpY29uLXNvdW5kLTYtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5MlwiO1xufVxuLmdseXBoaWNvbi1zb3VuZC03LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTNcIjtcbn1cbi5nbHlwaGljb24tY29weXJpZ2h0LW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTRcIjtcbn1cbi5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTVcIjtcbn1cbi5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTdcIjtcbn1cbi5nbHlwaGljb24tY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTk4XCI7XG59XG4uZ2x5cGhpY29uLXRyZWUtY29uaWZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5OVwiO1xufVxuLmdseXBoaWNvbi10cmVlLWRlY2lkdW91czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwMFwiO1xufVxuLmdseXBoaWNvbi1jZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwMVwiO1xufVxuLmdseXBoaWNvbi1zYXZlLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDJcIjtcbn1cbi5nbHlwaGljb24tb3Blbi1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjAzXCI7XG59XG4uZ2x5cGhpY29uLWxldmVsLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjA0XCI7XG59XG4uZ2x5cGhpY29uLWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDVcIjtcbn1cbi5nbHlwaGljb24tcGFzdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDZcIjtcbn1cbi5nbHlwaGljb24tYWxlcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDlcIjtcbn1cbi5nbHlwaGljb24tZXF1YWxpemVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjEwXCI7XG59XG4uZ2x5cGhpY29uLWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTFcIjtcbn1cbi5nbHlwaGljb24tcXVlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTJcIjtcbn1cbi5nbHlwaGljb24tcGF3bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxM1wiO1xufVxuLmdseXBoaWNvbi1iaXNob3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTRcIjtcbn1cbi5nbHlwaGljb24ta25pZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE1XCI7XG59XG4uZ2x5cGhpY29uLWJhYnktZm9ybXVsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxNlwiO1xufVxuLmdseXBoaWNvbi10ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNmZhXCI7XG59XG4uZ2x5cGhpY29uLWJsYWNrYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMThcIjtcbn1cbi5nbHlwaGljb24tYmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE5XCI7XG59XG4uZ2x5cGhpY29uLWFwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGZmXCI7XG59XG4uZ2x5cGhpY29uLWVyYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjIxXCI7XG59XG4uZ2x5cGhpY29uLWhvdXJnbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjMxYlwiO1xufVxuLmdseXBoaWNvbi1sYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjIzXCI7XG59XG4uZ2x5cGhpY29uLWR1cGxpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyNFwiO1xufVxuLmdseXBoaWNvbi1waWdneS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI1XCI7XG59XG4uZ2x5cGhpY29uLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI2XCI7XG59XG4uZ2x5cGhpY29uLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjdcIjtcbn1cbi5nbHlwaGljb24tYnRjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI3XCI7XG59XG4uZ2x5cGhpY29uLXhidDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyN1wiO1xufVxuLmdseXBoaWNvbi15ZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwYTVcIjtcbn1cbi5nbHlwaGljb24tanB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMGE1XCI7XG59XG4uZ2x5cGhpY29uLXJ1YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMGJkXCI7XG59XG4uZ2x5cGhpY29uLXJ1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjBiZFwiO1xufVxuLmdseXBoaWNvbi1zY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzMFwiO1xufVxuLmdseXBoaWNvbi1pY2UtbG9sbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzFcIjtcbn1cbi5nbHlwaGljb24taWNlLWxvbGx5LXRhc3RlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzMlwiO1xufVxuLmdseXBoaWNvbi1lZHVjYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzNcIjtcbn1cbi5nbHlwaGljb24tb3B0aW9uLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzRcIjtcbn1cbi5nbHlwaGljb24tb3B0aW9uLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM1XCI7XG59XG4uZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM2XCI7XG59XG4uZ2x5cGhpY29uLW1vZGFsLXdpbmRvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzN1wiO1xufVxuLmdseXBoaWNvbi1vaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzhcIjtcbn1cbi5nbHlwaGljb24tZ3JhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzlcIjtcbn1cbi5nbHlwaGljb24tc3VuZ2xhc3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0MFwiO1xufVxuLmdseXBoaWNvbi10ZXh0LXNpemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDFcIjtcbn1cbi5nbHlwaGljb24tdGV4dC1jb2xvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0MlwiO1xufVxuLmdseXBoaWNvbi10ZXh0LWJhY2tncm91bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDNcIjtcbn1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0NFwiO1xufVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ1XCI7XG59XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ2XCI7XG59XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ3XCI7XG59XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0OFwiO1xufVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDlcIjtcbn1cbi5nbHlwaGljb24tdHJpYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTBcIjtcbn1cbi5nbHlwaGljb24tdHJpYW5nbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1MVwiO1xufVxuLmdseXBoaWNvbi10cmlhbmdsZS1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTJcIjtcbn1cbi5nbHlwaGljb24tdHJpYW5nbGUtdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjUzXCI7XG59XG4uZ2x5cGhpY29uLWNvbnNvbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTRcIjtcbn1cbi5nbHlwaGljb24tc3VwZXJzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTVcIjtcbn1cbi5nbHlwaGljb24tc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU2XCI7XG59XG4uZ2x5cGhpY29uLW1lbnUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1N1wiO1xufVxuLmdseXBoaWNvbi1tZW51LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU4XCI7XG59XG4uZ2x5cGhpY29uLW1lbnUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1OVwiO1xufVxuLmdseXBoaWNvbi1tZW51LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjYwXCI7XG59XG4qIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbmEge1xuICBjb2xvcjogIzAwZTVmMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlcixcbmE6Zm9jdXMge1xuICBjb2xvcjogIzAwOWNhMztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5hOmZvY3VzIHtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uaW1nLXJlc3BvbnNpdmUsXG4udGh1bWJuYWlsID4gaW1nLFxuLnRodW1ibmFpbCBhID4gaW1nLFxuLmNhcm91c2VsLWlubmVyID4gLml0ZW0gPiBpbWcsXG4uY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGEgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IDRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5ociB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7XG59XG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSxcbi5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbmgxIHNtYWxsLFxuaDIgc21hbGwsXG5oMyBzbWFsbCxcbmg0IHNtYWxsLFxuaDUgc21hbGwsXG5oNiBzbWFsbCxcbi5oMSBzbWFsbCxcbi5oMiBzbWFsbCxcbi5oMyBzbWFsbCxcbi5oNCBzbWFsbCxcbi5oNSBzbWFsbCxcbi5oNiBzbWFsbCxcbmgxIC5zbWFsbCxcbmgyIC5zbWFsbCxcbmgzIC5zbWFsbCxcbmg0IC5zbWFsbCxcbmg1IC5zbWFsbCxcbmg2IC5zbWFsbCxcbi5oMSAuc21hbGwsXG4uaDIgLnNtYWxsLFxuLmgzIC5zbWFsbCxcbi5oNCAuc21hbGwsXG4uaDUgLnNtYWxsLFxuLmg2IC5zbWFsbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzc3Nzc3Nztcbn1cbmgxLFxuLmgxLFxuaDIsXG4uaDIsXG5oMyxcbi5oMyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5oMSBzbWFsbCxcbi5oMSBzbWFsbCxcbmgyIHNtYWxsLFxuLmgyIHNtYWxsLFxuaDMgc21hbGwsXG4uaDMgc21hbGwsXG5oMSAuc21hbGwsXG4uaDEgLnNtYWxsLFxuaDIgLnNtYWxsLFxuLmgyIC5zbWFsbCxcbmgzIC5zbWFsbCxcbi5oMyAuc21hbGwge1xuICBmb250LXNpemU6IDY1JTtcbn1cbmg0LFxuLmg0LFxuaDUsXG4uaDUsXG5oNixcbi5oNiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5oNCBzbWFsbCxcbi5oNCBzbWFsbCxcbmg1IHNtYWxsLFxuLmg1IHNtYWxsLFxuaDYgc21hbGwsXG4uaDYgc21hbGwsXG5oNCAuc21hbGwsXG4uaDQgLnNtYWxsLFxuaDUgLnNtYWxsLFxuLmg1IC5zbWFsbCxcbmg2IC5zbWFsbCxcbi5oNiAuc21hbGwge1xuICBmb250LXNpemU6IDc1JTtcbn1cbmgxLFxuLmgxIHtcbiAgZm9udC1zaXplOiAzNnB4O1xufVxuaDIsXG4uaDIge1xuICBmb250LXNpemU6IDMwcHg7XG59XG5oMyxcbi5oMyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cbmg0LFxuLmg0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuaDUsXG4uaDUge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5oNixcbi5oNiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbnAge1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxufVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDg1JTtcbn1cbm1hcmssXG4ubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG4gIHBhZGRpbmc6IC4yZW07XG59XG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cbi50ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG59XG4udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMGU1ZjA7XG59XG5hLnRleHQtcHJpbWFyeTpob3ZlcixcbmEudGV4dC1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICMwMGI0YmQ7XG59XG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG59XG5hLnRleHQtc3VjY2Vzczpob3ZlcixcbmEudGV4dC1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICMyYjU0MmM7XG59XG4udGV4dC1pbmZvIHtcbiAgY29sb3I6ICMzMTcwOGY7XG59XG5hLnRleHQtaW5mbzpob3ZlcixcbmEudGV4dC1pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICMyNDUyNjk7XG59XG4udGV4dC13YXJuaW5nIHtcbiAgY29sb3I6ICM4YTZkM2I7XG59XG5hLnRleHQtd2FybmluZzpob3ZlcixcbmEudGV4dC13YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6ICM2NjUxMmM7XG59XG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbmEudGV4dC1kYW5nZXI6aG92ZXIsXG5hLnRleHQtZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICM4NDM1MzQ7XG59XG4uYmctcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xufVxuYS5iZy1wcmltYXJ5OmhvdmVyLFxuYS5iZy1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbn1cbi5iZy1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbn1cbmEuYmctc3VjY2Vzczpob3ZlcixcbmEuYmctc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMWUyYjM7XG59XG4uYmctaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7XG59XG5hLmJnLWluZm86aG92ZXIsXG5hLmJnLWluZm86Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZkOWVlO1xufVxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xufVxuYS5iZy13YXJuaW5nOmhvdmVyLFxuYS5iZy13YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZWNiNTtcbn1cbi5iZy1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlO1xufVxuYS5iZy1kYW5nZXI6aG92ZXIsXG5hLmJnLWRhbmdlcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGI5Yjk7XG59XG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogOXB4O1xuICBtYXJnaW46IDQwcHggMCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbn1cbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxudWwgdWwsXG5vbCB1bCxcbnVsIG9sLFxub2wgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubGlzdC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xufVxuLmxpc3QtaW5saW5lID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5kdCxcbmRkIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGwtaG9yaXpvbnRhbCBkdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAuZGwtaG9yaXpvbnRhbCBkZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4MHB4O1xuICB9XG59XG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzc3Nzc3Nztcbn1cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IDE3LjVweDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZWVlZWVlO1xufVxuYmxvY2txdW90ZSBwOmxhc3QtY2hpbGQsXG5ibG9ja3F1b3RlIHVsOmxhc3QtY2hpbGQsXG5ibG9ja3F1b3RlIG9sOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuYmxvY2txdW90ZSBmb290ZXIsXG5ibG9ja3F1b3RlIHNtYWxsLFxuYmxvY2txdW90ZSAuc21hbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzc3Nzc3Nztcbn1cbmJsb2NrcXVvdGUgZm9vdGVyOmJlZm9yZSxcbmJsb2NrcXVvdGUgc21hbGw6YmVmb3JlLFxuYmxvY2txdW90ZSAuc21hbGw6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnO1xufVxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgI2VlZWVlZTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YmVmb3JlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjpiZWZvcmUsXG4uYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmJlZm9yZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDpiZWZvcmUsXG4uYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDpiZWZvcmUsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xufVxuLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YWZ0ZXIsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmFmdGVyLFxuLmJsb2NrcXVvdGUtcmV2ZXJzZSBzbWFsbDphZnRlcixcbmJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDphZnRlcixcbi5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmFmdGVyLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwQTAgXFwyMDE0Jztcbn1cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xufVxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xufVxuY29kZSB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogI2M3MjU0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjJmNDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxua2JkIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG5rYmQga2JkIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA5LjVweDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5wcmUgY29kZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAzNDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogNzUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTcwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDExNzBweDtcbiAgfVxufVxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbi5yb3cge1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG59XG4uY29sLXhzLTEsIC5jb2wtc20tMSwgLmNvbC1tZC0xLCAuY29sLWxnLTEsIC5jb2wteHMtMiwgLmNvbC1zbS0yLCAuY29sLW1kLTIsIC5jb2wtbGctMiwgLmNvbC14cy0zLCAuY29sLXNtLTMsIC5jb2wtbWQtMywgLmNvbC1sZy0zLCAuY29sLXhzLTQsIC5jb2wtc20tNCwgLmNvbC1tZC00LCAuY29sLWxnLTQsIC5jb2wteHMtNSwgLmNvbC1zbS01LCAuY29sLW1kLTUsIC5jb2wtbGctNSwgLmNvbC14cy02LCAuY29sLXNtLTYsIC5jb2wtbWQtNiwgLmNvbC1sZy02LCAuY29sLXhzLTcsIC5jb2wtc20tNywgLmNvbC1tZC03LCAuY29sLWxnLTcsIC5jb2wteHMtOCwgLmNvbC1zbS04LCAuY29sLW1kLTgsIC5jb2wtbGctOCwgLmNvbC14cy05LCAuY29sLXNtLTksIC5jb2wtbWQtOSwgLmNvbC1sZy05LCAuY29sLXhzLTEwLCAuY29sLXNtLTEwLCAuY29sLW1kLTEwLCAuY29sLWxnLTEwLCAuY29sLXhzLTExLCAuY29sLXNtLTExLCAuY29sLW1kLTExLCAuY29sLWxnLTExLCAuY29sLXhzLTEyLCAuY29sLXNtLTEyLCAuY29sLW1kLTEyLCAuY29sLWxnLTEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbi5jb2wteHMtMSwgLmNvbC14cy0yLCAuY29sLXhzLTMsIC5jb2wteHMtNCwgLmNvbC14cy01LCAuY29sLXhzLTYsIC5jb2wteHMtNywgLmNvbC14cy04LCAuY29sLXhzLTksIC5jb2wteHMtMTAsIC5jb2wteHMtMTEsIC5jb2wteHMtMTIge1xuICBmbG9hdDogbGVmdDtcbn1cbi5jb2wteHMtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5jb2wteHMtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjclO1xufVxuLmNvbC14cy0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMyU7XG59XG4uY29sLXhzLTkge1xuICB3aWR0aDogNzUlO1xufVxuLmNvbC14cy04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG59XG4uY29sLXhzLTYge1xuICB3aWR0aDogNTAlO1xufVxuLmNvbC14cy01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4uY29sLXhzLTMge1xuICB3aWR0aDogMjUlO1xufVxuLmNvbC14cy0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzJTtcbn1cbi5jb2wteHMtcHVsbC0xMiB7XG4gIHJpZ2h0OiAxMDAlO1xufVxuLmNvbC14cy1wdWxsLTExIHtcbiAgcmlnaHQ6IDkxLjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtcHVsbC0xMCB7XG4gIHJpZ2h0OiA4My4zMzMzMzMzMyU7XG59XG4uY29sLXhzLXB1bGwtOSB7XG4gIHJpZ2h0OiA3NSU7XG59XG4uY29sLXhzLXB1bGwtOCB7XG4gIHJpZ2h0OiA2Ni42NjY2NjY2NyU7XG59XG4uY29sLXhzLXB1bGwtNyB7XG4gIHJpZ2h0OiA1OC4zMzMzMzMzMyU7XG59XG4uY29sLXhzLXB1bGwtNiB7XG4gIHJpZ2h0OiA1MCU7XG59XG4uY29sLXhzLXB1bGwtNSB7XG4gIHJpZ2h0OiA0MS42NjY2NjY2NyU7XG59XG4uY29sLXhzLXB1bGwtNCB7XG4gIHJpZ2h0OiAzMy4zMzMzMzMzMyU7XG59XG4uY29sLXhzLXB1bGwtMyB7XG4gIHJpZ2h0OiAyNSU7XG59XG4uY29sLXhzLXB1bGwtMiB7XG4gIHJpZ2h0OiAxNi42NjY2NjY2NyU7XG59XG4uY29sLXhzLXB1bGwtMSB7XG4gIHJpZ2h0OiA4LjMzMzMzMzMzJTtcbn1cbi5jb2wteHMtcHVsbC0wIHtcbiAgcmlnaHQ6IGF1dG87XG59XG4uY29sLXhzLXB1c2gtMTIge1xuICBsZWZ0OiAxMDAlO1xufVxuLmNvbC14cy1wdXNoLTExIHtcbiAgbGVmdDogOTEuNjY2NjY2NjclO1xufVxuLmNvbC14cy1wdXNoLTEwIHtcbiAgbGVmdDogODMuMzMzMzMzMzMlO1xufVxuLmNvbC14cy1wdXNoLTkge1xuICBsZWZ0OiA3NSU7XG59XG4uY29sLXhzLXB1c2gtOCB7XG4gIGxlZnQ6IDY2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtcHVzaC03IHtcbiAgbGVmdDogNTguMzMzMzMzMzMlO1xufVxuLmNvbC14cy1wdXNoLTYge1xuICBsZWZ0OiA1MCU7XG59XG4uY29sLXhzLXB1c2gtNSB7XG4gIGxlZnQ6IDQxLjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtcHVzaC00IHtcbiAgbGVmdDogMzMuMzMzMzMzMzMlO1xufVxuLmNvbC14cy1wdXNoLTMge1xuICBsZWZ0OiAyNSU7XG59XG4uY29sLXhzLXB1c2gtMiB7XG4gIGxlZnQ6IDE2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtcHVzaC0xIHtcbiAgbGVmdDogOC4zMzMzMzMzMyU7XG59XG4uY29sLXhzLXB1c2gtMCB7XG4gIGxlZnQ6IGF1dG87XG59XG4uY29sLXhzLW9mZnNldC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDAlO1xufVxuLmNvbC14cy1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xufVxuLmNvbC14cy1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xufVxuLmNvbC14cy1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG4uY29sLXhzLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xufVxuLmNvbC14cy1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG4uY29sLXhzLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xufVxuLmNvbC14cy1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG4uY29sLXhzLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG59XG4uY29sLXhzLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtc20tMSwgLmNvbC1zbS0yLCAuY29sLXNtLTMsIC5jb2wtc20tNCwgLmNvbC1zbS01LCAuY29sLXNtLTYsIC5jb2wtc20tNywgLmNvbC1zbS04LCAuY29sLXNtLTksIC5jb2wtc20tMTAsIC5jb2wtc20tMTEsIC5jb2wtc20tMTIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtc20tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtc20tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1zbS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1zbS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1zbS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0wIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuY29sLXNtLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTkge1xuICAgIGxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuY29sLXNtLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sLW1kLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbWQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbWQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtbWQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTEyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0zIHtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtbGctMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbGctMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1sZy04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1sZy01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1sZy0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0wIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuY29sLWxnLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTkge1xuICAgIGxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLWxnLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuY29sLWxnLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbn1cbnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgcGFkZGluZzogOHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG59XG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDtcbn1cbi50YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4udGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi50YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4udGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbi50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4udGFibGUgPiB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZGQ7XG59XG4udGFibGUgLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGgsXG4udGFibGUtY29uZGVuc2VkID4gdGJvZHkgPiB0ciA+IHRoLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0aCxcbi50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGQsXG4udGFibGUtY29uZGVuc2VkID4gdGJvZHkgPiB0ciA+IHRkLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG59XG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsXG4udGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGgsXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsXG4udGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xufVxuLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoLFxuLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xufVxuLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xufVxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG50YWJsZSBjb2xbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB0ZFtjbGFzcyo9XCJjb2wtXCJdLFxudGFibGUgdGhbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmFjdGl2ZSxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5hY3RpdmUsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuYWN0aXZlLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmFjdGl2ZSxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5hY3RpdmUsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguYWN0aXZlLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGQsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRkLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGgsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5hY3RpdmU6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguYWN0aXZlOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5hY3RpdmU6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuYWN0aXZlLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5hY3RpdmU6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7XG59XG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuc3VjY2Vzcyxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLnN1Y2Nlc3MsXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGguc3VjY2Vzcyxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5zdWNjZXNzLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLnN1Y2Nlc3MsXG4udGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4O1xufVxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLnN1Y2Nlc3M6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguc3VjY2Vzczpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5zdWNjZXNzLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5zdWNjZXNzOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlOWM2O1xufVxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmluZm8sXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGQuaW5mbyxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5pbmZvLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmluZm8sXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGguaW5mbyxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5pbmZvLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGQsXG4udGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0ZCxcbi50YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRkLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGgsXG4udGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0aCxcbi50YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNztcbn1cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5pbmZvOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmluZm86aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuaW5mbyxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuaW5mbzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMztcbn1cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC53YXJuaW5nLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLndhcm5pbmcsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQud2FybmluZyxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC53YXJuaW5nLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmcsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGgud2FybmluZyxcbi50YWJsZSA+IHRoZWFkID4gdHIud2FybmluZyA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGQsXG4udGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0ZCxcbi50YWJsZSA+IHRoZWFkID4gdHIud2FybmluZyA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGgsXG4udGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG59XG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQud2FybmluZzpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC53YXJuaW5nOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci53YXJuaW5nOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gLndhcm5pbmcsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLndhcm5pbmc6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWYyY2M7XG59XG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuZGFuZ2VyLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcixcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5kYW5nZXIsXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGguZGFuZ2VyLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmRhbmdlcixcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5kYW5nZXIsXG4udGFibGUgPiB0aGVhZCA+IHRyLmRhbmdlciA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0ZCxcbi50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLmRhbmdlciA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0aCxcbi50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlO1xufVxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcjpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5kYW5nZXI6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmRhbmdlcjpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5kYW5nZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmRhbmdlcjpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYztcbn1cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWluLWhlaWdodDogMC4wMSU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQ6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgY29sb3I6ICM1NTU1NTU7XG59XG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzU1NTU1NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG59XG4uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjZhZmU5O1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgMC42KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgxMDIsIDE3NSwgMjMzLCAwLjYpO1xufVxuLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5O1xuICBvcGFjaXR5OiAxO1xufVxuLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbn1cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbn1cbi5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmZvcm0tY29udHJvbFtkaXNhYmxlZF0sXG4uZm9ybS1jb250cm9sW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgb3BhY2l0eTogMTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0uZm9ybS1jb250cm9sLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5mb3JtLWNvbnRyb2wsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5mb3JtLWNvbnRyb2wsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXS5mb3JtLWNvbnRyb2wge1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB9XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LXNtLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5pbnB1dC1zbSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LXNtLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtc20sXG4gIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgLmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5pbnB1dC1sZyxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtbGcsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pbnB1dC1sZyxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLmlucHV0LWxnLFxuICAuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gIH1cbn1cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ucmFkaW8gbGFiZWwsXG4uY2hlY2tib3ggbGFiZWwge1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5O1xufVxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn1cbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuaW5wdXRbdHlwZT1cInJhZGlvXCJdW2Rpc2FibGVkXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtkaXNhYmxlZF0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0uZGlzYWJsZWQsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucmFkaW8taW5saW5lLmRpc2FibGVkLFxuLmNoZWNrYm94LWlubGluZS5kaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8taW5saW5lLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveC1pbmxpbmUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnJhZGlvLmRpc2FibGVkIGxhYmVsLFxuLmNoZWNrYm94LmRpc2FibGVkIGxhYmVsLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3ggbGFiZWwge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAzNHB4O1xufVxuLmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtbGcsXG4uZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1zbSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5pbnB1dC1zbSB7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuc2VsZWN0LmlucHV0LXNtIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cbnRleHRhcmVhLmlucHV0LXNtLFxuc2VsZWN0W211bHRpcGxlXS5pbnB1dC1zbSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5mb3JtLWdyb3VwLXNtIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuLmZvcm0tZ3JvdXAtc20gdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuLmZvcm0tZ3JvdXAtc20gc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIGhlaWdodDogMzBweDtcbiAgbWluLWhlaWdodDogMzJweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5pbnB1dC1sZyB7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbnNlbGVjdC5pbnB1dC1sZyB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG50ZXh0YXJlYS5pbnB1dC1sZyxcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtbGcge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuLmZvcm0tZ3JvdXAtbGcgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG4uZm9ybS1ncm91cC1sZyB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4uZm9ybS1ncm91cC1sZyBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBtaW4taGVpZ2h0OiAzOHB4O1xuICBwYWRkaW5nOiAxMXB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbn1cbi5oYXMtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wge1xuICBwYWRkaW5nLXJpZ2h0OiA0Mi41cHg7XG59XG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG4uaGFzLXN1Y2Nlc3MgLmhlbHAtYmxvY2ssXG4uaGFzLXN1Y2Nlc3MgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLnJhZGlvLFxuLmhhcy1zdWNjZXNzIC5jaGVja2JveCxcbi5oYXMtc3VjY2VzcyAucmFkaW8taW5saW5lLFxuLmhhcy1zdWNjZXNzIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLXN1Y2Nlc3MucmFkaW8gbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXN1Y2Nlc3MucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmNoZWNrYm94LWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjM2M3NjNkO1xufVxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICMzYzc2M2Q7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzJiNTQyYztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggIzY3YjE2ODtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICM2N2IxNjg7XG59XG4uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG4gIGJvcmRlci1jb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbn1cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG59XG4uaGFzLXdhcm5pbmcgLmhlbHAtYmxvY2ssXG4uaGFzLXdhcm5pbmcgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLXdhcm5pbmcgLnJhZGlvLFxuLmhhcy13YXJuaW5nIC5jaGVja2JveCxcbi5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLFxuLmhhcy13YXJuaW5nIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLXdhcm5pbmcucmFkaW8gbGFiZWwsXG4uaGFzLXdhcm5pbmcuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXdhcm5pbmcucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nLmNoZWNrYm94LWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjOGE2ZDNiO1xufVxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICM4YTZkM2I7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY2NTEyYztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggI2MwYTE2YjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICNjMGExNmI7XG59XG4uaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICM4YTZkM2I7XG4gIGJvcmRlci1jb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbn1cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICM4YTZkM2I7XG59XG4uaGFzLWVycm9yIC5oZWxwLWJsb2NrLFxuLmhhcy1lcnJvciAuY29udHJvbC1sYWJlbCxcbi5oYXMtZXJyb3IgLnJhZGlvLFxuLmhhcy1lcnJvciAuY2hlY2tib3gsXG4uaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsXG4uaGFzLWVycm9yIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLWVycm9yLnJhZGlvIGxhYmVsLFxuLmhhcy1lcnJvci5jaGVja2JveCBsYWJlbCxcbi5oYXMtZXJyb3IucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1lcnJvci5jaGVja2JveC1pbmxpbmUgbGFiZWwge1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2E5NDQ0MjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzg0MzUzNDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggI2NlODQ4MztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICNjZTg0ODM7XG59XG4uaGFzLWVycm9yIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjYTk0NDQyO1xuICBib3JkZXItY29sb3I6ICNhOTQ0NDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7XG59XG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbi5oYXMtZmVlZGJhY2sgbGFiZWwgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgdG9wOiAyNXB4O1xufVxuLmhhcy1mZWVkYmFjayBsYWJlbC5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHRvcDogMDtcbn1cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICM3MzczNzM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuLFxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmNvbnRyb2wtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLnJhZGlvLFxuICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5yYWRpbyBsYWJlbCxcbiAgLmZvcm0taW5saW5lIC5jaGVja2JveCBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHRvcDogMDtcbiAgfVxufVxuLmZvcm0taG9yaXpvbnRhbCAucmFkaW8sXG4uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCxcbi5mb3JtLWhvcml6b250YWwgLnJhZGlvLWlubGluZSxcbi5mb3JtLWhvcml6b250YWwgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG59XG4uZm9ybS1ob3Jpem9udGFsIC5yYWRpbyxcbi5mb3JtLWhvcml6b250YWwgLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogMjdweDtcbn1cbi5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogN3B4O1xuICB9XG59XG4uZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHJpZ2h0OiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtbGcgLmNvbnRyb2wtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiAxMXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtc20gLmNvbnRyb2wtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmJ0bjpmb2N1cyxcbi5idG46YWN0aXZlOmZvY3VzLFxuLmJ0bi5hY3RpdmU6Zm9jdXMsXG4uYnRuLmZvY3VzLFxuLmJ0bjphY3RpdmUuZm9jdXMsXG4uYnRuLmFjdGl2ZS5mb2N1cyB7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4uYnRuOmhvdmVyLFxuLmJ0bjpmb2N1cyxcbi5idG4uZm9jdXMge1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bjphY3RpdmUsXG4uYnRuLmFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG4uYnRuLmRpc2FibGVkLFxuLmJ0bltkaXNhYmxlZF0sXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0biB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYnRuLWRlZmF1bHQge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjO1xufVxuLmJ0bi1kZWZhdWx0OmZvY3VzLFxuLmJ0bi1kZWZhdWx0LmZvY3VzIHtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGJvcmRlci1jb2xvcjogIzhjOGM4Yztcbn1cbi5idG4tZGVmYXVsdDpob3ZlciB7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXItY29sb3I6ICNhZGFkYWQ7XG59XG4uYnRuLWRlZmF1bHQ6YWN0aXZlLFxuLmJ0bi1kZWZhdWx0LmFjdGl2ZSxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdCB7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXItY29sb3I6ICNhZGFkYWQ7XG59XG4uYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLFxuLmJ0bi1kZWZhdWx0LmFjdGl2ZTpob3Zlcixcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdDpob3Zlcixcbi5idG4tZGVmYXVsdDphY3RpdmU6Zm9jdXMsXG4uYnRuLWRlZmF1bHQuYWN0aXZlOmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmZvY3VzLFxuLmJ0bi1kZWZhdWx0OmFjdGl2ZS5mb2N1cyxcbi5idG4tZGVmYXVsdC5hY3RpdmUuZm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuZm9jdXMge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDtcbiAgYm9yZGVyLWNvbG9yOiAjOGM4YzhjO1xufVxuLmJ0bi1kZWZhdWx0OmFjdGl2ZSxcbi5idG4tZGVmYXVsdC5hY3RpdmUsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmhvdmVyLFxuLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6aG92ZXIsXG4uYnRuLWRlZmF1bHQuZGlzYWJsZWQ6Zm9jdXMsXG4uYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cyxcbi5idG4tZGVmYXVsdC5kaXNhYmxlZC5mb2N1cyxcbi5idG4tZGVmYXVsdFtkaXNhYmxlZF0uZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjO1xufVxuLmJ0bi1kZWZhdWx0IC5iYWRnZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwY2RkNztcbn1cbi5idG4tcHJpbWFyeTpmb2N1cyxcbi5idG4tcHJpbWFyeS5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGJkO1xuICBib3JkZXItY29sb3I6ICMwMDUzNTc7XG59XG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Mjk5O1xufVxuLmJ0bi1wcmltYXJ5OmFjdGl2ZSxcbi5idG4tcHJpbWFyeS5hY3RpdmUsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Mjk5O1xufVxuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpob3Zlcixcbi5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnk6aG92ZXIsXG4uYnRuLXByaW1hcnk6YWN0aXZlOmZvY3VzLFxuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeTpmb2N1cyxcbi5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsXG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDkyOTk7XG4gIGJvcmRlci1jb2xvcjogIzAwNTM1Nztcbn1cbi5idG4tcHJpbWFyeTphY3RpdmUsXG4uYnRuLXByaW1hcnkuYWN0aXZlLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3Zlcixcbi5idG4tcHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmhvdmVyLFxuLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLFxuLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6Zm9jdXMsXG4uYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsXG4uYnRuLXByaW1hcnlbZGlzYWJsZWRdLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5mb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwY2RkNztcbn1cbi5idG4tcHJpbWFyeSAuYmFkZ2Uge1xuICBjb2xvcjogIzAwZTVmMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5idG4tc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xuICBib3JkZXItY29sb3I6ICMwMGNkZDc7XG59XG4uYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4uYnRuLXN1Y2Nlc3MuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA1MzU3O1xufVxuLmJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0YmQ7XG4gIGJvcmRlci1jb2xvcjogIzAwOTI5OTtcbn1cbi5idG4tc3VjY2VzczphY3RpdmUsXG4uYnRuLXN1Y2Nlc3MuYWN0aXZlLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0YmQ7XG4gIGJvcmRlci1jb2xvcjogIzAwOTI5OTtcbn1cbi5idG4tc3VjY2VzczphY3RpdmU6aG92ZXIsXG4uYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzOmhvdmVyLFxuLmJ0bi1zdWNjZXNzOmFjdGl2ZTpmb2N1cyxcbi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLFxuLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzcy5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Mjk5O1xuICBib3JkZXItY29sb3I6ICMwMDUzNTc7XG59XG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLFxuLmJ0bi1zdWNjZXNzLmFjdGl2ZSxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsXG4uYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpob3Zlcixcbi5idG4tc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cyxcbi5idG4tc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLFxuLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLFxuLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xuICBib3JkZXItY29sb3I6ICMwMGNkZDc7XG59XG4uYnRuLXN1Y2Nlc3MgLmJhZGdlIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uYnRuLWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBjZGQ3O1xufVxuLmJ0bi1pbmZvOmZvY3VzLFxuLmJ0bi1pbmZvLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0YmQ7XG4gIGJvcmRlci1jb2xvcjogIzAwNTM1Nztcbn1cbi5idG4taW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGJkO1xuICBib3JkZXItY29sb3I6ICMwMDkyOTk7XG59XG4uYnRuLWluZm86YWN0aXZlLFxuLmJ0bi1pbmZvLmFjdGl2ZSxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGJkO1xuICBib3JkZXItY29sb3I6ICMwMDkyOTk7XG59XG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLFxuLmJ0bi1pbmZvLmFjdGl2ZTpob3Zlcixcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbzpob3Zlcixcbi5idG4taW5mbzphY3RpdmU6Zm9jdXMsXG4uYnRuLWluZm8uYWN0aXZlOmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmZvY3VzLFxuLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cyxcbi5idG4taW5mby5hY3RpdmUuZm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8uZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTI5OTtcbiAgYm9yZGVyLWNvbG9yOiAjMDA1MzU3O1xufVxuLmJ0bi1pbmZvOmFjdGl2ZSxcbi5idG4taW5mby5hY3RpdmUsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLmJ0bi1pbmZvLmRpc2FibGVkOmhvdmVyLFxuLmJ0bi1pbmZvW2Rpc2FibGVkXTpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86aG92ZXIsXG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsXG4uYnRuLWluZm9bZGlzYWJsZWRdOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cyxcbi5idG4taW5mby5kaXNhYmxlZC5mb2N1cyxcbi5idG4taW5mb1tkaXNhYmxlZF0uZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvLmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBjZGQ3O1xufVxuLmJ0bi1pbmZvIC5iYWRnZSB7XG4gIGNvbG9yOiAjMDBlNWYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzdiZjA7XG4gIGJvcmRlci1jb2xvcjogIzg1NjRlZDtcbn1cbi5idG4td2FybmluZzpmb2N1cyxcbi5idG4td2FybmluZy5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM0ZGViO1xuICBib3JkZXItY29sb3I6ICMzZDE1YmQ7XG59XG4uYnRuLXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNGRlYjtcbiAgYm9yZGVyLWNvbG9yOiAjNWEyZGU3O1xufVxuLmJ0bi13YXJuaW5nOmFjdGl2ZSxcbi5idG4td2FybmluZy5hY3RpdmUsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmcge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNGRlYjtcbiAgYm9yZGVyLWNvbG9yOiAjNWEyZGU3O1xufVxuLmJ0bi13YXJuaW5nOmFjdGl2ZTpob3Zlcixcbi5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmc6aG92ZXIsXG4uYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLFxuLmJ0bi13YXJuaW5nLmFjdGl2ZTpmb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZzpmb2N1cyxcbi5idG4td2FybmluZzphY3RpdmUuZm9jdXMsXG4uYnRuLXdhcm5pbmcuYWN0aXZlLmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YTJkZTc7XG4gIGJvcmRlci1jb2xvcjogIzNkMTViZDtcbn1cbi5idG4td2FybmluZzphY3RpdmUsXG4uYnRuLXdhcm5pbmcuYWN0aXZlLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5idG4td2FybmluZy5kaXNhYmxlZDpob3Zlcixcbi5idG4td2FybmluZ1tkaXNhYmxlZF06aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmhvdmVyLFxuLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLFxuLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6Zm9jdXMsXG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsXG4uYnRuLXdhcm5pbmdbZGlzYWJsZWRdLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5mb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzdiZjA7XG4gIGJvcmRlci1jb2xvcjogIzg1NjRlZDtcbn1cbi5idG4td2FybmluZyAuYmFkZ2Uge1xuICBjb2xvcjogIzk3N2JmMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5idG4tZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDFmNzQ7XG4gIGJvcmRlci1jb2xvcjogI2NhMWM2ODtcbn1cbi5idG4tZGFuZ2VyOmZvY3VzLFxuLmJ0bi1kYW5nZXIuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTk1ZDtcbiAgYm9yZGVyLWNvbG9yOiAjNWEwYzJlO1xufVxuLmJ0bi1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTk1ZDtcbiAgYm9yZGVyLWNvbG9yOiAjOTQxNDRkO1xufVxuLmJ0bi1kYW5nZXI6YWN0aXZlLFxuLmJ0bi1kYW5nZXIuYWN0aXZlLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTk1ZDtcbiAgYm9yZGVyLWNvbG9yOiAjOTQxNDRkO1xufVxuLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLFxuLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6aG92ZXIsXG4uYnRuLWRhbmdlcjphY3RpdmU6Zm9jdXMsXG4uYnRuLWRhbmdlci5hY3RpdmU6Zm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlcjpmb2N1cyxcbi5idG4tZGFuZ2VyOmFjdGl2ZS5mb2N1cyxcbi5idG4tZGFuZ2VyLmFjdGl2ZS5mb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NDE0NGQ7XG4gIGJvcmRlci1jb2xvcjogIzVhMGMyZTtcbn1cbi5idG4tZGFuZ2VyOmFjdGl2ZSxcbi5idG4tZGFuZ2VyLmFjdGl2ZSxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5idG4tZGFuZ2VyLmRpc2FibGVkOmhvdmVyLFxuLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmhvdmVyLFxuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsXG4uYnRuLWRhbmdlcltkaXNhYmxlZF06Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsXG4uYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cyxcbi5idG4tZGFuZ2VyW2Rpc2FibGVkXS5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlci5mb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDFmNzQ7XG4gIGJvcmRlci1jb2xvcjogI2NhMWM2ODtcbn1cbi5idG4tZGFuZ2VyIC5iYWRnZSB7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWxpbmssXG4uYnRuLWxpbms6YWN0aXZlLFxuLmJ0bi1saW5rLmFjdGl2ZSxcbi5idG4tbGlua1tkaXNhYmxlZF0sXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tbGluayxcbi5idG4tbGluazpob3Zlcixcbi5idG4tbGluazpmb2N1cyxcbi5idG4tbGluazphY3RpdmUge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1saW5rOmhvdmVyLFxuLmJ0bi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICMwMDljYTM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmhvdmVyLFxuLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bi1sZyxcbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5idG4tc20sXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5idG4teHMsXG4uYnRuLWdyb3VwLXhzID4gLmJ0biB7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idG4tYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbn1cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xufVxuLmZhZGUuaW4ge1xuICBvcGFjaXR5OiAxO1xufVxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jb2xsYXBzZS5pbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxudHIuY29sbGFwc2UuaW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG50Ym9keS5jb2xsYXBzZS5pbiB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbn1cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIHZpc2liaWxpdHk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogNHB4IGRhc2hlZDtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIFxcOTtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cbi5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbi5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogOXB4IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG59XG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzMzMzMzMztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMjYyNjI2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSxcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbn1cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSxcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNzc3Nzc3O1xufVxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5vcGVuID4gYSB7XG4gIG91dGxpbmU6IDA7XG59XG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTkwO1xufVxuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyb3B1cCAuY2FyZXQsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmNhcmV0IHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IGRhc2hlZDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIFxcOTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnUsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmJ0bi1ncm91cCA+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpob3Zlcixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmhvdmVyLFxuLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDI7XG59XG4uYnRuLWdyb3VwIC5idG4gKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4sXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDtcbn1cbi5idG4tdG9vbGJhciAuYnRuLFxuLmJ0bi10b29sYmFyIC5idG4tZ3JvdXAsXG4uYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLXRvb2xiYXIgPiAuYnRuLFxuLmJ0bi10b29sYmFyID4gLmJ0bi1ncm91cCxcbi5idG4tdG9vbGJhciA+IC5pbnB1dC1ncm91cCB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xufVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmsge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICBmbG9hdDogbm9uZTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bGFzdC1jaGlsZCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG59XG4uYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4sXG4uYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IDElO1xufVxuLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLWdyb3VwIC5idG4ge1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IGF1dG87XG59XG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0biBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuLmlucHV0LWdyb3VwW2NsYXNzKj1cImNvbC1cIl0ge1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgei1pbmRleDogMztcbn1cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbnNlbGVjdC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG5zZWxlY3QuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG5zZWxlY3QuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG50ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG50ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbnRleHRhcmVhLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbnNlbGVjdC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG5zZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG5zZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG50ZXh0YXJlYS5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG50ZXh0YXJlYS5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbnRleHRhcmVhLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICB3aWR0aDogMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LXNtIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LWxnIHtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pbnB1dC1ncm91cC1idG4gPiAuYnRuICsgLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLmlucHV0LWdyb3VwLWJ0biA+IC5idG46aG92ZXIsXG4uaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjpmb2N1cyxcbi5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmFjdGl2ZSB7XG4gIHotaW5kZXg6IDI7XG59XG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAge1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubmF2ID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5hdiA+IGxpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbn1cbi5uYXYgPiBsaSA+IGE6aG92ZXIsXG4ubmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xufVxuLm5hdiA+IGxpLmRpc2FibGVkID4gYSB7XG4gIGNvbG9yOiAjNzc3Nzc3O1xufVxuLm5hdiA+IGxpLmRpc2FibGVkID4gYTpob3Zlcixcbi5uYXYgPiBsaS5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5uYXYgLm9wZW4gPiBhLFxuLm5hdiAub3BlbiA+IGE6aG92ZXIsXG4ubmF2IC5vcGVuID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGJvcmRlci1jb2xvcjogIzAwZTVmMDtcbn1cbi5uYXYgLm5hdi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogOXB4IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG59XG4ubmF2ID4gbGkgPiBhID4gaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG4ubmF2LXRhYnMgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4ubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlZWVlZWUgI2VlZWVlZSAjZGRkO1xufVxuLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSxcbi5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbi5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gIH1cbiAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbiAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLm5hdi1waWxscyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ubmF2LXBpbGxzID4gbGkgPiBhIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLm5hdi1waWxscyA+IGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogMnB4O1xufVxuLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGEsXG4ubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpob3Zlcixcbi5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG59XG4ubmF2LXN0YWNrZWQgPiBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuLm5hdi1zdGFja2VkID4gbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm5hdi1qdXN0aWZpZWQgPiBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5uYXYtanVzdGlmaWVkID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXYtanVzdGlmaWVkID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gIC5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5uYXYtdGFicy1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbi5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpob3Zlcixcbi5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IGxpID4gYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gIH1cbiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLFxuICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci1oZWFkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4ubmF2YmFyLWNvbGxhcHNlLmluIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5uYXZiYXItY29sbGFwc2UuaW4ge1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSB7XG4gIG1heC1oZWlnaHQ6IDM0MHB4O1xufVxuQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiA0ODBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICB9XG59XG4uY29udGFpbmVyID4gLm5hdmJhci1oZWFkZXIsXG4uY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1oZWFkZXIsXG4uY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSxcbi5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIgPiAubmF2YmFyLWhlYWRlcixcbiAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItaGVhZGVyLFxuICAuY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSxcbiAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogMTAwMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItc3RhdGljLXRvcCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci1maXhlZC10b3AsXG4gIC5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbn1cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG59XG4ubmF2YmFyLWJyYW5kOmhvdmVyLFxuLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5uYXZiYXItYnJhbmQgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyID4gLmNvbnRhaW5lciAubmF2YmFyLWJyYW5kLFxuICAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCAubmF2YmFyLWJyYW5kIHtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIH1cbn1cbi5uYXZiYXItdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbn1cbi5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciArIC5pY29uLWJhciB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm5hdmJhci1uYXYge1xuICBtYXJnaW46IDcuNXB4IC0xNXB4O1xufVxuLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEsXG4gIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICB9XG4gIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlcixcbiAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLW5hdiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5uYXZiYXItbmF2ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgfVxufVxuLm5hdmJhci1mb3JtIHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sXG4gIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5uYXZiYXItZm9ybSAuY29udHJvbC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5uYXZiYXItZm9ybSAucmFkaW8sXG4gIC5uYXZiYXItZm9ybSAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAubmF2YmFyLWZvcm0gLnJhZGlvIGxhYmVsLFxuICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWZvcm0ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5uYXZiYXItYnRuIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ubmF2YmFyLWJ0bi5idG4tc20ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLm5hdmJhci1idG4uYnRuLXhzIHtcbiAgbWFyZ2luLXRvcDogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcbn1cbi5uYXZiYXItdGV4dCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci10ZXh0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhci1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IH4gLm5hdmJhci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4ubmF2YmFyLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXItY29sb3I6ICNlN2U3ZTc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZCB7XG4gIGNvbG9yOiAjNzc3O1xufVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQ6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gIGNvbG9yOiAjNWU1ZTVlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRleHQge1xuICBjb2xvcjogIzc3Nztcbn1cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjNzc3O1xufVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUge1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ODg7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1jb2xsYXBzZSxcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWZvcm0ge1xuICBib3JkZXItY29sb3I6ICNlN2U3ZTc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICBjb2xvcjogIzU1NTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjNzc3O1xuICB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlcixcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSxcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEsXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rIHtcbiAgY29sb3I6ICM3Nzc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMzMzM7XG59XG4ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rIHtcbiAgY29sb3I6ICM3Nzc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVyLFxuLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjMzMzO1xufVxuLm5hdmJhci1kZWZhdWx0IC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2NjYztcbn1cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gIGJvcmRlci1jb2xvcjogIzA4MDgwODtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6ICM5ZDlkOWQ7XG59XG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpob3Zlcixcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjOWQ5ZDlkO1xufVxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgY29sb3I6ICM5ZDlkOWQ7XG59XG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSxcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGEsXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNDQ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSB7XG4gIGJvcmRlci1jb2xvcjogIzMzMztcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpob3Zlcixcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG59XG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWNvbGxhcHNlLFxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItZm9ybSB7XG4gIGJvcmRlci1jb2xvcjogIzEwMTAxMDtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSxcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3Zlcixcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwODA4MDg7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kcm9wZG93bi1oZWFkZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzA4MDgwODtcbiAgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwODA4MDg7XG4gIH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogIzlkOWQ5ZDtcbiAgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODtcbiAgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLFxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluayB7XG4gIGNvbG9yOiAjOWQ5ZDlkO1xufVxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci1pbnZlcnNlIC5idG4tbGluayB7XG4gIGNvbG9yOiAjOWQ5ZDlkO1xufVxuLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3Zlcixcbi5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6aG92ZXIsXG4ubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM0NDQ7XG59XG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uYnJlYWRjcnVtYiA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmJyZWFkY3J1bWIgPiBsaSArIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiL1xcMDBhMFwiO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgY29sb3I6ICNjY2M7XG59XG4uYnJlYWRjcnVtYiA+IC5hY3RpdmUge1xuICBjb2xvcjogIzc3Nzc3Nztcbn1cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogMjBweCAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4ucGFnaW5hdGlvbiA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnBhZ2luYXRpb24gPiBsaSA+IGEsXG4ucGFnaW5hdGlvbiA+IGxpID4gc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwZTVmMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4ucGFnaW5hdGlvbiA+IGxpOmZpcnN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xufVxuLnBhZ2luYXRpb24gPiBsaTpsYXN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuLnBhZ2luYXRpb24gPiBsaSA+IGE6aG92ZXIsXG4ucGFnaW5hdGlvbiA+IGxpID4gc3Bhbjpob3Zlcixcbi5wYWdpbmF0aW9uID4gbGkgPiBhOmZvY3VzLFxuLnBhZ2luYXRpb24gPiBsaSA+IHNwYW46Zm9jdXMge1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogIzAwOWNhMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkO1xufVxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSxcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW4sXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3Zlcixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwZTVmMDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuOmZvY3VzLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5wYWdpbmF0aW9uLWxnID4gbGkgPiBhLFxuLnBhZ2luYXRpb24tbGcgPiBsaSA+IHNwYW4ge1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbn1cbi5wYWdpbmF0aW9uLWxnID4gbGk6Zmlyc3QtY2hpbGQgPiBhLFxuLnBhZ2luYXRpb24tbGcgPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbn1cbi5wYWdpbmF0aW9uLWxnID4gbGk6bGFzdC1jaGlsZCA+IGEsXG4ucGFnaW5hdGlvbi1sZyA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbn1cbi5wYWdpbmF0aW9uLXNtID4gbGkgPiBhLFxuLnBhZ2luYXRpb24tc20gPiBsaSA+IHNwYW4ge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuLnBhZ2luYXRpb24tc20gPiBsaTpmaXJzdC1jaGlsZCA+IGEsXG4ucGFnaW5hdGlvbi1zbSA+IGxpOmZpcnN0LWNoaWxkID4gc3BhbiB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xufVxuLnBhZ2luYXRpb24tc20gPiBsaTpsYXN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uLXNtID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xufVxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDIwcHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhZ2VyIGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnBhZ2VyIGxpID4gYSxcbi5wYWdlciBsaSA+IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xufVxuLnBhZ2VyIGxpID4gYTpob3Zlcixcbi5wYWdlciBsaSA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG59XG4ucGFnZXIgLm5leHQgPiBhLFxuLnBhZ2VyIC5uZXh0ID4gc3BhbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5wYWdlciAucHJldmlvdXMgPiBhLFxuLnBhZ2VyIC5wcmV2aW91cyA+IHNwYW4ge1xuICBmbG9hdDogbGVmdDtcbn1cbi5wYWdlciAuZGlzYWJsZWQgPiBhLFxuLnBhZ2VyIC5kaXNhYmxlZCA+IGE6aG92ZXIsXG4ucGFnZXIgLmRpc2FibGVkID4gYTpmb2N1cyxcbi5wYWdlciAuZGlzYWJsZWQgPiBzcGFuIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xufVxuYS5sYWJlbDpob3ZlcixcbmEubGFiZWw6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubGFiZWw6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ0biAubGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbi5sYWJlbC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3Nztcbn1cbi5sYWJlbC1kZWZhdWx0W2hyZWZdOmhvdmVyLFxuLmxhYmVsLWRlZmF1bHRbaHJlZl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xufVxuLmxhYmVsLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xufVxuLmxhYmVsLXByaW1hcnlbaHJlZl06aG92ZXIsXG4ubGFiZWwtcHJpbWFyeVtocmVmXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0YmQ7XG59XG4ubGFiZWwtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG59XG4ubGFiZWwtc3VjY2Vzc1tocmVmXTpob3Zlcixcbi5sYWJlbC1zdWNjZXNzW2hyZWZdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbn1cbi5sYWJlbC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbn1cbi5sYWJlbC1pbmZvW2hyZWZdOmhvdmVyLFxuLmxhYmVsLWluZm9baHJlZl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGJkO1xufVxuLmxhYmVsLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xufVxuLmxhYmVsLXdhcm5pbmdbaHJlZl06aG92ZXIsXG4ubGFiZWwtd2FybmluZ1tocmVmXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MzRkZWI7XG59XG4ubGFiZWwtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMWY3NDtcbn1cbi5sYWJlbC1kYW5nZXJbaHJlZl06aG92ZXIsXG4ubGFiZWwtZGFuZ2VyW2hyZWZdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTk1ZDtcbn1cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cbi5iYWRnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuLmJ0bi14cyAuYmFkZ2UsXG4uYnRuLWdyb3VwLXhzID4gLmJ0biAuYmFkZ2Uge1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG59XG5hLmJhZGdlOmhvdmVyLFxuYS5iYWRnZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gLmJhZGdlLFxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gLmJhZGdlIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ubGlzdC1ncm91cC1pdGVtID4gLmJhZGdlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbSA+IC5iYWRnZSArIC5iYWRnZSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLm5hdi1waWxscyA+IGxpID4gYSA+IC5iYWRnZSB7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbn1cbi5qdW1ib3Ryb24gaDEsXG4uanVtYm90cm9uIC5oMSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmp1bWJvdHJvbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogMjAwO1xufVxuLmp1bWJvdHJvbiA+IGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Q1ZDVkNTtcbn1cbi5jb250YWluZXIgLmp1bWJvdHJvbixcbi5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuLmp1bWJvdHJvbiAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmp1bWJvdHJvbiB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIH1cbiAgLmNvbnRhaW5lciAuanVtYm90cm9uLFxuICAuY29udGFpbmVyLWZsdWlkIC5qdW1ib3Ryb24ge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG4gIC5qdW1ib3Ryb24gaDEsXG4gIC5qdW1ib3Ryb24gLmgxIHtcbiAgICBmb250LXNpemU6IDYzcHg7XG4gIH1cbn1cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4udGh1bWJuYWlsID4gaW1nLFxuLnRodW1ibmFpbCBhID4gaW1nIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbmEudGh1bWJuYWlsOmhvdmVyLFxuYS50aHVtYm5haWw6Zm9jdXMsXG5hLnRodW1ibmFpbC5hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICMwMGU1ZjA7XG59XG4udGh1bWJuYWlsIC5jYXB0aW9uIHtcbiAgcGFkZGluZzogOXB4O1xuICBjb2xvcjogIzMzMzMzMztcbn1cbi5hbGVydCB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uYWxlcnQgaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5hbGVydCAuYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmFsZXJ0ID4gcCxcbi5hbGVydCA+IHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5hbGVydCA+IHAgKyBwIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmFsZXJ0LWRpc21pc3NhYmxlLFxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogMzVweDtcbn1cbi5hbGVydC1kaXNtaXNzYWJsZSAuY2xvc2UsXG4uYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIHJpZ2h0OiAtMjFweDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4uYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZTljNjtcbiAgY29sb3I6ICMzYzc2M2Q7XG59XG4uYWxlcnQtc3VjY2VzcyBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjOWUyYjM7XG59XG4uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjMmI1NDJjO1xufVxuLmFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3O1xuICBib3JkZXItY29sb3I6ICNiY2U4ZjE7XG4gIGNvbG9yOiAjMzE3MDhmO1xufVxuLmFsZXJ0LWluZm8gaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYTZlMWVjO1xufVxuLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzI0NTI2OTtcbn1cbi5hbGVydC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgYm9yZGVyLWNvbG9yOiAjZmFlYmNjO1xuICBjb2xvcjogIzhhNmQzYjtcbn1cbi5hbGVydC13YXJuaW5nIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Y3ZTFiNTtcbn1cbi5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICM2NjUxMmM7XG59XG4uYWxlcnQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxO1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbi5hbGVydC1kYW5nZXIgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZTRiOWMwO1xufVxuLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjODQzNTM0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwO1xuICB9XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5wcm9ncmVzcy1iYXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xufVxuLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG59XG4ucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLmFjdGl2ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gIC1vLWFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG59XG4ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4ucHJvZ3Jlc3MtYmFyLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xufVxuLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1pbmZvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLnByb2dyZXNzLWJhci13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2JmMDtcbn1cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMWY3NDtcbn1cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLm1lZGlhIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbi5tZWRpYTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ubWVkaWEsXG4ubWVkaWEtYm9keSB7XG4gIHpvb206IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubWVkaWEtYm9keSB7XG4gIHdpZHRoOiAxMDAwMHB4O1xufVxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlsIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhID4gLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4ubWVkaWEtbGVmdCxcbi5tZWRpYSA+IC5wdWxsLWxlZnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuLm1lZGlhLWxlZnQsXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEtYm9keSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ubWVkaWEtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5tZWRpYS1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5saXN0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbn1cbi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG59XG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogIzU1NTtcbn1cbmEubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgY29sb3I6ICMzMzM7XG59XG5hLmxpc3QtZ3JvdXAtaXRlbTpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06aG92ZXIsXG5hLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNTU1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCxcbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIsXG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LFxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQsXG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gIGNvbG9yOiAjNzc3Nzc3O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUsXG4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3Zlcixcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIHtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwZTVmMDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LFxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LFxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgY29sb3I6ICNiZGZjZmY7XG59XG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzNjNzYzZDtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwZTljNjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSxcbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M3NjNkO1xuICBib3JkZXItY29sb3I6ICMzYzc2M2Q7XG59XG4ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICBjb2xvcjogIzMxNzA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNztcbn1cbmEubGlzdC1ncm91cC1pdGVtLWluZm8sXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICBjb2xvcjogIzMxNzA4Zjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMge1xuICBjb2xvcjogIzMxNzA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMztcbn1cbmEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSxcbmEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmhvdmVyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmZvY3VzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE3MDhmO1xuICBib3JkZXItY29sb3I6ICMzMTcwOGY7XG59XG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbn1cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogIzhhNmQzYjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjJjYztcbn1cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSxcbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE2ZDNiO1xuICBib3JkZXItY29sb3I6ICM4YTZkM2I7XG59XG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XG4gIGNvbG9yOiAjYTk0NDQyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLFxuYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogI2E5NDQ0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYztcbn1cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsXG5hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLFxuYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTk0NDQyO1xuICBib3JkZXItY29sb3I6ICNhOTQ0NDI7XG59XG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwtaGVhZGluZyA+IC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ucGFuZWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnBhbmVsLXRpdGxlID4gYSxcbi5wYW5lbC10aXRsZSA+IHNtYWxsLFxuLnBhbmVsLXRpdGxlID4gLnNtYWxsLFxuLnBhbmVsLXRpdGxlID4gc21hbGwgPiBhLFxuLnBhbmVsLXRpdGxlID4gLnNtYWxsID4gYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC5saXN0LWdyb3VwLFxuLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhbmVsID4gLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbSxcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItd2lkdGg6IDFweCAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnBhbmVsID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xufVxuLnBhbmVsID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG4ucGFuZWwtaGVhZGluZyArIC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuLmxpc3QtZ3JvdXAgKyAucGFuZWwtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cbi5wYW5lbCA+IC50YWJsZSxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYW5lbCA+IC50YWJsZSBjYXB0aW9uLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgY2FwdGlvbixcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSBjYXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xufVxuLnBhbmVsID4gLnBhbmVsLWJvZHkgKyAudGFibGUsXG4ucGFuZWwgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuLnBhbmVsID4gLnRhYmxlICsgLnBhbmVsLWJvZHksXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSArIC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG59XG4ucGFuZWwgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoLFxuLnBhbmVsID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4ucGFuZWwgPiAudGFibGUtYm9yZGVyZWQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMDtcbn1cbi5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4ucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbi5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhbmVsLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5wYW5lbC1ncm91cCAucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4ucGFuZWwtZ3JvdXAgLnBhbmVsICsgLnBhbmVsIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LFxuLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbn1cbi5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cbi5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG4ucGFuZWwtZGVmYXVsdCB7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbn1cbi5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkO1xufVxuLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2RkZDtcbn1cbi5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICNmNWY1ZjU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG59XG4ucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGQ7XG59XG4ucGFuZWwtcHJpbWFyeSB7XG4gIGJvcmRlci1jb2xvcjogIzAwZTVmMDtcbn1cbi5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBlNWYwO1xufVxuLnBhbmVsLXByaW1hcnkgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwZTVmMDtcbn1cbi5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ucGFuZWwtcHJpbWFyeSA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMGU1ZjA7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZTljNjtcbn1cbi5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbiAgYm9yZGVyLWNvbG9yOiAjZDZlOWM2O1xufVxuLnBhbmVsLXN1Y2Nlc3MgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZTljNjtcbn1cbi5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICNkZmYwZDg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYzc2M2Q7XG59XG4ucGFuZWwtc3VjY2VzcyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNkNmU5YzY7XG59XG4ucGFuZWwtaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogI2JjZThmMTtcbn1cbi5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogIzMxNzA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNztcbiAgYm9yZGVyLWNvbG9yOiAjYmNlOGYxO1xufVxuLnBhbmVsLWluZm8gPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2JjZThmMTtcbn1cbi5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICNkOWVkZjc7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTcwOGY7XG59XG4ucGFuZWwtaW5mbyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiY2U4ZjE7XG59XG4ucGFuZWwtd2FybmluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZhZWJjYztcbn1cbi5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgYm9yZGVyLWNvbG9yOiAjZmFlYmNjO1xufVxuLnBhbmVsLXdhcm5pbmcgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZhZWJjYztcbn1cbi5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICNmY2Y4ZTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YTZkM2I7XG59XG4ucGFuZWwtd2FybmluZyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmYWViY2M7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxO1xufVxuLnBhbmVsLWRhbmdlciA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgY29sb3I6ICNhOTQ0NDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7XG4gIGJvcmRlci1jb2xvcjogI2ViY2NkMTtcbn1cbi5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ViY2NkMTtcbn1cbi5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyAuYmFkZ2Uge1xuICBjb2xvcjogI2YyZGVkZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E5NDQ0Mjtcbn1cbi5wYW5lbC1kYW5nZXIgPiAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZWJjY2QxO1xufVxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLFxuLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsXG4uZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4uZW1iZWQtcmVzcG9uc2l2ZSB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuLndlbGwge1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAxOXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTNlM2UzO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLndlbGwgYmxvY2txdW90ZSB7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLndlbGwtbGcge1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG4ud2VsbC1zbSB7XG4gIHBhZGRpbmc6IDlweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gIG9wYWNpdHk6IDAuMjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTIwKTtcbn1cbi5jbG9zZTpob3Zlcixcbi5jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC41O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xufVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA1MDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdXRsaW5lOiAwO1xufVxuLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xufVxuLm1vZGFsLmluIC5tb2RhbC1kaWFsb2cge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgb3V0bGluZTogMDtcbn1cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG4ubW9kYWwtYmFja2Ryb3AuaW4ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG59XG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xufVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMTVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuLm1vZGFsLWZvb3RlciAuYnRuICsgLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi5tb2RhbC1mb290ZXIgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxuICAubW9kYWwtY29udGVudCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxuICAubW9kYWwtc20ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tb2RhbC1sZyB7XG4gICAgd2lkdGg6IDkwMHB4O1xuICB9XG59XG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuLnRvb2x0aXAuaW4ge1xuICBvcGFjaXR5OiAwLjk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7XG59XG4udG9vbHRpcC50b3Age1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBwYWRkaW5nOiA1cHggMDtcbn1cbi50b29sdGlwLnJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgcGFkZGluZzogMCA1cHg7XG59XG4udG9vbHRpcC5ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuLnRvb2x0aXAubGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICBwYWRkaW5nOiAwIDVweDtcbn1cbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAudG9wLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7XG59XG4udG9vbHRpcC5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA1cHg7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbn1cbi50b29sdGlwLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbn1cbi50b29sdGlwLmJvdHRvbS1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogMDtcbiAgbGVmdDogNXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbn1cbi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNjA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMjc2cHg7XG4gIHBhZGRpbmc6IDFweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4ucG9wb3Zlci50b3Age1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbn1cbi5wb3BvdmVyLnJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4ucG9wb3Zlci5ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLnBvcG92ZXIubGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbn1cbi5wb3BvdmVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG59XG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7XG59XG4ucG9wb3ZlciA+IC5hcnJvdyxcbi5wb3BvdmVyID4gLmFycm93OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgYm9yZGVyLXdpZHRoOiAxMXB4O1xufVxuLnBvcG92ZXIgPiAuYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDEwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4ucG9wb3Zlci50b3AgPiAuYXJyb3cge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzk5OTk5OTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm90dG9tOiAtMTFweDtcbn1cbi5wb3BvdmVyLnRvcCA+IC5hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBib3R0b206IDFweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuLnBvcG92ZXIucmlnaHQgPiAuYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogLTExcHg7XG4gIG1hcmdpbi10b3A6IC0xMXB4O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5OTk5O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4ucG9wb3Zlci5yaWdodCA+IC5hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBsZWZ0OiAxcHg7XG4gIGJvdHRvbTogLTEwcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG59XG4ucG9wb3Zlci5ib3R0b20gPiAuYXJyb3cge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5OTk5OTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdG9wOiAtMTFweDtcbn1cbi5wb3BvdmVyLmJvdHRvbSA+IC5hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB0b3A6IDFweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLnBvcG92ZXIubGVmdCA+IC5hcnJvdyB7XG4gIHRvcDogNTAlO1xuICByaWdodDogLTExcHg7XG4gIG1hcmdpbi10b3A6IC0xMXB4O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjOTk5OTk5O1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5wb3BvdmVyLmxlZnQgPiAuYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcmlnaHQ6IDFweDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcbiAgYm90dG9tOiAtMTBweDtcbn1cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjZzIGVhc2UtaW4tb3V0IGxlZnQ7XG4gIC1vLXRyYW5zaXRpb246IDAuNnMgZWFzZS1pbi1vdXQgbGVmdDtcbiAgdHJhbnNpdGlvbjogMC42cyBlYXNlLWluLW91dCBsZWZ0O1xufVxuLmNhcm91c2VsLWlubmVyID4gLml0ZW0gPiBpbWcsXG4uY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGEgPiBpbWcge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbkBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgICAtbW96LXBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gICAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5uZXh0LFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5hY3RpdmUucmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ucHJldixcbiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0uYWN0aXZlLmxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgbGVmdDogMDtcbiAgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5uZXh0LmxlZnQsXG4gIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLnByZXYucmlnaHQsXG4gIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZSxcbi5jYXJvdXNlbC1pbm5lciA+IC5uZXh0LFxuLmNhcm91c2VsLWlubmVyID4gLnByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUge1xuICBsZWZ0OiAwO1xufVxuLmNhcm91c2VsLWlubmVyID4gLm5leHQsXG4uY2Fyb3VzZWwtaW5uZXIgPiAucHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5jYXJvdXNlbC1pbm5lciA+IC5uZXh0IHtcbiAgbGVmdDogMTAwJTtcbn1cbi5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgbGVmdDogLTEwMCU7XG59XG4uY2Fyb3VzZWwtaW5uZXIgPiAubmV4dC5sZWZ0LFxuLmNhcm91c2VsLWlubmVyID4gLnByZXYucmlnaHQge1xuICBsZWZ0OiAwO1xufVxuLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZS5sZWZ0IHtcbiAgbGVmdDogLTEwMCU7XG59XG4uY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgbGVmdDogMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDE1JTtcbiAgb3BhY2l0eTogMC41O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLmNhcm91c2VsLWNvbnRyb2wubGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjAwMDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMDAwMSkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMDAwMSkgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLnJpZ2h0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjAwMDEpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjAwMDEpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyM4MDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sOmhvdmVyLFxuLmNhcm91c2VsLWNvbnRyb2w6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAwLjk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7XG59XG4uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCxcbi5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCxcbi5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gIHJpZ2h0OiA1MCU7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG4uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogc2VyaWY7XG59XG4uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDIwMzknO1xufVxuLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFwyMDNhJztcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDFweDtcbiAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIFxcOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTUlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLmNhcm91c2VsLWNhcHRpb24gLmJ0biB7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCxcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldixcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCxcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgbGVmdDogMjAlO1xuICAgIHJpZ2h0OiAyMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMjBweDtcbiAgfVxufVxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlcixcbi5kbC1ob3Jpem9udGFsIGRkOmJlZm9yZSxcbi5kbC1ob3Jpem9udGFsIGRkOmFmdGVyLFxuLmNvbnRhaW5lcjpiZWZvcmUsXG4uY29udGFpbmVyOmFmdGVyLFxuLmNvbnRhaW5lci1mbHVpZDpiZWZvcmUsXG4uY29udGFpbmVyLWZsdWlkOmFmdGVyLFxuLnJvdzpiZWZvcmUsXG4ucm93OmFmdGVyLFxuLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDpiZWZvcmUsXG4uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmFmdGVyLFxuLmJ0bi10b29sYmFyOmJlZm9yZSxcbi5idG4tdG9vbGJhcjphZnRlcixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmJlZm9yZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyLFxuLm5hdjpiZWZvcmUsXG4ubmF2OmFmdGVyLFxuLm5hdmJhcjpiZWZvcmUsXG4ubmF2YmFyOmFmdGVyLFxuLm5hdmJhci1oZWFkZXI6YmVmb3JlLFxuLm5hdmJhci1oZWFkZXI6YWZ0ZXIsXG4ubmF2YmFyLWNvbGxhcHNlOmJlZm9yZSxcbi5uYXZiYXItY29sbGFwc2U6YWZ0ZXIsXG4ucGFnZXI6YmVmb3JlLFxuLnBhZ2VyOmFmdGVyLFxuLnBhbmVsLWJvZHk6YmVmb3JlLFxuLnBhbmVsLWJvZHk6YWZ0ZXIsXG4ubW9kYWwtaGVhZGVyOmJlZm9yZSxcbi5tb2RhbC1oZWFkZXI6YWZ0ZXIsXG4ubW9kYWwtZm9vdGVyOmJlZm9yZSxcbi5tb2RhbC1mb290ZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG4uY2xlYXJmaXg6YWZ0ZXIsXG4uZGwtaG9yaXpvbnRhbCBkZDphZnRlcixcbi5jb250YWluZXI6YWZ0ZXIsXG4uY29udGFpbmVyLWZsdWlkOmFmdGVyLFxuLnJvdzphZnRlcixcbi5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIsXG4uYnRuLXRvb2xiYXI6YWZ0ZXIsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDphZnRlcixcbi5uYXY6YWZ0ZXIsXG4ubmF2YmFyOmFmdGVyLFxuLm5hdmJhci1oZWFkZXI6YWZ0ZXIsXG4ubmF2YmFyLWNvbGxhcHNlOmFmdGVyLFxuLnBhZ2VyOmFmdGVyLFxuLnBhbmVsLWJvZHk6YWZ0ZXIsXG4ubW9kYWwtaGVhZGVyOmFmdGVyLFxuLm1vZGFsLWZvb3RlcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmNlbnRlci1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuLnZpc2libGUteHMsXG4udmlzaWJsZS1zbSxcbi52aXNpYmxlLW1kLFxuLnZpc2libGUtbGcge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnZpc2libGUteHMsXG4gIHRkLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGgudmlzaWJsZS1zbSxcbiAgdGQudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudmlzaWJsZS1zbS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20taW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGgudmlzaWJsZS1tZCxcbiAgdGQudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnZpc2libGUtbWQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAudmlzaWJsZS1tZC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnZpc2libGUtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS52aXNpYmxlLWxnIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnZpc2libGUtbGcsXG4gIHRkLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZy1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZy1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5oaWRkZW4tc20ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGlkZGVuLWxnIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnZpc2libGUtcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0ci52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0aC52aXNpYmxlLXByaW50LFxuICB0ZC52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5oaWRkZW4tcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEVTUyBWQVJJQUJMRVNcbioqICAgICAgICAgICAgICAgIFRoaXMgc3R5bGVzaGVldCBzaG91bGQgb25seSBjb250YWluIHZhcmlhYmxlcy5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgQ29sb3IgcGFsZXR0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRvcC1idWZmZXItMSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG4udG9wLWJ1ZmZlci0yIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbi50b3AtYnVmZmVyLTMge1xuICBtYXJnaW4tdG9wOiA0NXB4O1xufVxuLnRvcC1idWZmZXItNCB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG4udG9wLWJ1ZmZlci01IHtcbiAgbWFyZ2luLXRvcDogNzVweDtcbn1cbi50b3AtYnVmZmVyLTYge1xuICBtYXJnaW4tdG9wOiA5MHB4O1xufVxuLnRvcC1idWZmZXItNyB7XG4gIG1hcmdpbi10b3A6IDEwNXB4O1xufVxuLnRvcC1idWZmZXItOCB7XG4gIG1hcmdpbi10b3A6IDEyMHB4O1xufVxuLnRvcC1idWZmZXItOSB7XG4gIG1hcmdpbi10b3A6IDEzNXB4O1xufVxuLnRvcC1idWZmZXItMTAge1xuICBtYXJnaW4tdG9wOiAxNTBweDtcbn1cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElNUEFDIE1BVEVSSUFMXG4vKiAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiogTWl4aW4gbWF0ZXJpYWwgc3R5bGVkIGZvcm0gaW5wdXRzLCBvdmVycmlkaW5nIGJvb3RzdHJhcCdzIHVuZ29kbHkgcm91bmQtbmVzcy5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogREVNTyBIVE1MIC0gdXNlIHRoaXMgaHRtbCB0byB0ZXN0IGFsbCBpbXBhYyBtYXRlcmlhbCBmZWF0dXJlcy5cbjxmb3JtPlxuICA8ZGl2IGNsYXNzPVwiaW0tZm9ybS1ncm91cFwiPlxuICAgIDxzZWxlY3Q+XG4gICAgICA8b3B0aW9uPlZhbHVlIDE8L29wdGlvbj5cbiAgICAgIDxvcHRpb24+VmFsdWUgMjwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICAgIDxsYWJlbCBmb3I9XCJzZWxlY3RcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5TZWxlY3Rib3g8L2xhYmVsPjxpIGNsYXNzPVwiaW0tYmFyXCI+PC9pPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWZvcm0tZ3JvdXBcIj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIiByZXF1aXJlZC8+XG4gICAgPGxhYmVsIGZvcj1cImlucHV0XCIgY2xhc3M9XCJpbS1jb250cm9sLWxhYmVsXCI+VGV4dGZpZWxkPC9sYWJlbD48aSBjbGFzcz1cImltLWJhclwiPjwvaT5cbiAgICA8ZGl2IGNsYXNzPVwiaW0tbWVzc2FnZXNcIj5cbiAgICAgIDxwPlRoaXMgaXMgYW4gZXJyb3IgbWVzc2FnZTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbS1mb3JtLWlubGluZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbS1mb3JtLWdyb3VwXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiByZXF1aXJlZC8+XG4gICAgICA8bGFiZWwgZm9yPVwiaW5wdXRcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5JbmxpbmU8L2xhYmVsPjxpIGNsYXNzPVwiaW0tYmFyXCI+PC9pPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbS1mb3JtLWdyb3VwXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiByZXF1aXJlZC8+XG4gICAgICA8bGFiZWwgZm9yPVwiaW5wdXRcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5JbmxpbmU8L2xhYmVsPjxpIGNsYXNzPVwiaW0tYmFyXCI+PC9pPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWZvcm0tZ3JvdXBcIj5cbiAgICA8dGV4dGFyZWEgcmVxdWlyZWQ+PC90ZXh0YXJlYT5cbiAgICA8bGFiZWwgZm9yPVwidGV4dGFyZWFcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5UZXh0YXJlYTwvbGFiZWw+PGkgY2xhc3M9XCJpbS1iYXJcIj48L2k+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tY2hlY2tib3hcIj5cbiAgICA8bGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2hlY2tlZD1cImNoZWNrZWRcIi8+PGkgY2xhc3M9XCJpbS1oZWxwZXJcIj48L2k+SSdtIHRoZSBsYWJlbCBmcm9tIGEgY2hlY2tib3hcbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWNoZWNrYm94XCI+XG4gICAgPGxhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiLz48aSBjbGFzcz1cImltLWhlbHBlclwiPjwvaT5JJ20gdGhlIGxhYmVsIGZyb20gYSBjaGVja2JveFxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tZm9ybS1yYWRpb1wiPlxuICAgIDxkaXYgY2xhc3M9XCJpbS1yYWRpb1wiPlxuICAgICAgPGxhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cInJhZGlvXCIgY2hlY2tlZD1cImNoZWNrZWRcIi8+PGkgY2xhc3M9XCJpbS1oZWxwZXJcIj48L2k+SSdtIHRoZSBsYWJlbCBmcm9tIGEgcmFkaW8gYnV0dG9uXG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbS1yYWRpb1wiPlxuICAgICAgPGxhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cInJhZGlvXCIvPjxpIGNsYXNzPVwiaW0taGVscGVyXCI+PC9pPkknbSB0aGUgbGFiZWwgZnJvbSBhIHJhZGlvIGJ1dHRvblxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbS1jaGVja2JveFwiPlxuICAgIDxsYWJlbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIi8+PGkgY2xhc3M9XCJpbS1oZWxwZXJcIj48L2k+SSdtIHRoZSBsYWJlbCBmcm9tIGEgY2hlY2tib3hcbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbS1mYWIgaW0tcHJpbWFyeVwiPjxpPuKZpTwvaT48L2J1dHRvbj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbS1mYWIgaW0td2FyblwiPjxpPuKZpTwvaT48L2J1dHRvbj5cbjwvZm9ybT5cbiovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTE9CQUwgU1RZTEVTXG4qKiAgICAgICAgVGhpcyBzdHlsZXNoZWV0IHNob3VsZCBvbmx5IGNvbnRhaW4gc3R5bGVzIGFwcGxpZWQgZ2xvYmFsIG9yIGluXG4qKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyIG9yIG1vcmUgY29tcG9uZW50cy5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuYm9keSB7XG4gIGhlaWdodDogMTAxJSAhaW1wb3J0YW50O1xufVxuLmFuYWx5dGljcyBoMiB7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzVCNjY2Nztcbn1cbi5hbmFseXRpY3MgaDMge1xuICBtYXJnaW46IDBweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuLmFuYWx5dGljcyBoNCB7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uYW5hbHl0aWNzIC5wb3NpdGl2ZSxcbi5hbmFseXRpY3MgLmdyZWVuIHtcbiAgY29sb3I6IGdyZWVuICFpbXBvcnRhbnQ7XG59XG4uYW5hbHl0aWNzIC5uZWdhdGl2ZSxcbi5hbmFseXRpY3MgLnJlZCB7XG4gIGNvbG9yOiAjZWQxZTc5ICFpbXBvcnRhbnQ7XG59XG4uYW5hbHl0aWNzIC5wb3NpdGl2ZTIge1xuICBjb2xvcjogIzNmYzRmZiAhaW1wb3J0YW50O1xufVxuLmFuYWx5dGljcyAubmVnYXRpdmUyIHtcbiAgY29sb3I6ICMxZGU5YjYgIWltcG9ydGFudDtcbn1cbi5hbmFseXRpY3MgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzk3N2JmMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAuaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbmFseXRpY3Mgc2VsZWN0IHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuLmFuYWx5dGljcyBwcmUge1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgbWFyZ2luOiAxcHggMHB4IDhweCAwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCA6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuLmFuYWx5dGljcyBrcGlzLWJhciAua3BpIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyIC5rcGkgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODk2YjI7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLmFuYWx5dGljcyBrcGlzLWJhciAua3BpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzlhMmJiO1xufVxuLmFuYWx5dGljcyAubm9wYWRkaW5nIHtcbiAgcGFkZGluZzogMDtcbn1cbi5hbmFseXRpY3MgLm5vbWFyZ2luIHtcbiAgbWFyZ2luOiAwO1xufVxuLmFuYWx5dGljcyAuYnRuLmJ0bi1zaGFkZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcyNjJkO1xuICBib3JkZXI6IHNvbGlkIDFweCAjMGUxODFjO1xuICBjb2xvcjogIzYyNmQ2ZDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5hbmFseXRpY3MgLmJ0bi5idG4tc2hhZGVkOmhvdmVyIHtcbiAgY29sb3I6ICM2ZTdhN2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDM0M2U7XG59XG4uYW5hbHl0aWNzIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbi5hbmFseXRpY3MgLmN1cnJlbmN5IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzliYTZhNztcbn1cbi5hbmFseXRpY3MgLmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBjb2xvcjogI2M0Y2FjYTtcbn1cbi5hbmFseXRpY3MgLmxvYWRlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC5sb2FkZXIgaSB7XG4gIGNvbG9yOiAjNjdCQkU5O1xufVxuLmFuYWx5dGljcyAubG9hZGVyIHAge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLmFuYWx5dGljcyAucmlnaHQtcGFuZWwge1xuICBib3JkZXItbGVmdDogc29saWQgMXB4ICNlNmU2ZTY7XG59XG4uYW5hbHl0aWNzIC5zZWxlY3RvciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM2MjZkNmQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLnRpbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBib3gtc2hhZG93OiAwcHggN3B4IDEwcHggLTdweCAjMTcyNjJkO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hbmFseXRpY3MgLnRpbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJmMmZmO1xufVxuLmFuYWx5dGljcyAudGlsZSAuY29sb3JlZC1hcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNGQzRGRjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBtaW4td2lkdGg6IDglO1xufVxuLmFuYWx5dGljcyAudGlsZSAuY29sb3JlZC1hcmVhLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2JmMDtcbn1cbi5hbmFseXRpY3MgLnRpbGUgLm1haW4tdGV4dCB7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICBwYWRkaW5nOiAyMHB4IDBweCAwcHggNXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAwcHggMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1saW5lcy1jb250YWluZXIgLnJvdy53aWRnZXQtbGluZSB7XG4gIHBhZGRpbmc6IDVweDtcbiAgY29sb3I6ICM2MjZkNmQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cud2lkZ2V0LWxpbmUuaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzliYTZhNztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cud2lkZ2V0LWxpbmUge1xuICAgIG1hcmdpbjogaW5oZXJpdDtcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XG4gICAgcGFkZGluZzogMnB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1saW5lcy1jb250YWluZXIgLnJvdy53aWRnZXQtbGluZSA+IFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cud2lkZ2V0LWxpbmUgaS5mYSB7XG4gIG1pbi13aWR0aDogMTJweDtcbiAgbWluLWhlaWdodDogMTJweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1saW5lcy1jb250YWluZXIgLnJvdyAuZGFzaGVkIHtcbiAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCAjZGZlMmUyO1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cubGluZXMtZ3JvdXAge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2U2ZWRlZTtcbn1cbi52ZXJ0aWNhbC1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4uaG9yaXpvbnRhbC1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG59XG4udG9vbHRpcC5pbXBhYy13aWRnZXRzLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIubmctYmluZGluZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzI1Mjg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi50b29sdGlwLmltcGFjLXdpZGdldHMtdG9vbHRpcCAudG9vbHRpcC1pbm5lci5uZy1iaW5kaW5nIHN0cm9uZyB7XG4gIGNvbG9yOiAjZGFlMTczO1xufVxuLnNvcnRhYmxlLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNvcnRhYmxlLXRpdGxlIGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2UwMWY3NDtcbn1cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2UwMWY3NDtcbn1cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBlNWYwO1xufVxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwMGU1ZjA7XG59XG4ucm93Lm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuW2NsYXNzXj1cImNvbC1cIl0ubm8tZ3V0dGVycyxcbltjbGFzcyo9XCIgY29sLVwiXS5uby1ndXR0ZXJzIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuQG1lZGlhIHByaW50IHtcbiAgYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxuICAuYW5hbHl0aWNzIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFuYWx5dGljcyAjbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5jaGFydC1jb250YWluZXIgY2FudmFzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5yaWdodC1wYW5lbCB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5yaWdodC1wYW5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAucmlnaHQtcGFuZWwgLmNoYXJ0LWNvbnRhaW5lciBjYW52YXMge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDgwJSAhaW1wb3J0YW50O1xuICB9XG4gICoge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyoqXG4gKiAgRG8gbm90IHJlbW92ZSB0aGlzIGNvbW1lbnRzIGJlbGxvdy4gSXQncyB0aGUgbWFya2VycyB1c2VkIGJ5IGd1bHAtaW5qZWN0IHRvIGluamVjdFxuICogIGFsbCB5b3VyIGxlc3MgZmlsZXMgYXV0b21hdGljYWxseVxuICovXG4vKiBpbmplY3Q6aW1wb3J0cyAqL1xuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5rcGktYWxlcnRzLXNldHRpbmdzIC5tb2RhbC1ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG4ua3BpLWFsZXJ0cy1zZXR0aW5ncyAubW9kYWwtYm9keSB1bCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ua3BpLWFsZXJ0cy1zZXR0aW5ncyAubW9kYWwtYm9keSB1bCA+IGxpLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDZweCAxNXB4O1xuICBjb2xvcjogIzliYTZhNztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ua3BpLWFsZXJ0cy1zZXR0aW5ncyAubW9kYWwtYm9keSB1bCA+IGxpLmxpc3QtZ3JvdXAtaXRlbSAuYWxlcnQtdG9nZ2xlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWJvZHkgdWwgPiBsaS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6ICMzNThmZGM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjYzRjYWNhO1xufVxuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWJvZHkgLmZhLmZhLXRvZ2dsZS1vbixcbi5rcGktYWxlcnRzLXNldHRpbmdzIC5tb2RhbC1ib2R5IC5mYS5mYS10b2dnbGUtb2ZmIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbi5rcGktYWxlcnRzLXNldHRpbmdzIC5tb2RhbC1ib2R5IHVsLnJlY2lwaWVudHMtbGlzdCB7XG4gIGhlaWdodDogNzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzRjYWNhO1xufVxuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWJvZHkgdWwucmVjaXBpZW50cy1saXN0IGxpIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWJvZHkgaW5wdXQucmVjaXBpZW50LXNlYXJjaCB7XG4gIGNvbG9yOiBibGFjaztcbiAgd2lkdGg6IDEwMCU7XG59XG4ua3BpLWFsZXJ0cy1zZXR0aW5ncyAubW9kYWwtYm9keSB1bC5hdmFpbGFibGUge1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3Mge1xuICAgIHBhZGRpbmctdG9wOiAxNTBweDtcbiAgfVxufVxuLmFuYWx5dGljcy5wZGYtbW9kZSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuLmFuYWx5dGljcy5zaG93LWRoYiB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7XG4gIG9wYWNpdHk6IDE7XG59XG4uYW5hbHl0aWNzLmhpZGUtZGhiIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5hbmFseXRpY3MgI2Rhc2hib2FyZC1oZWFkaW5nIGltZyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1heC1oZWlnaHQ6IDE1MHB4O1xufVxuLmFuYWx5dGljcyAjZGFzaGJvYXJkLWhlYWRpbmcgaW1nLnBkZi1tb2RlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAjZGFzaGJvYXJkLWhlYWRpbmcgLmNhcHRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogNXB4IDBweDtcbn1cbi5hbmFseXRpY3MgI3N1Yi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbi5hbmFseXRpY3MgI3N1Yi1tZW51IGgzIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzIzMzg0NTtcbn1cbi5hbmFseXRpY3MgI3N1Yi1tZW51IC5mYS5mYS10aW1lcyB7XG4gIG1hcmdpbjogNnB4O1xuICBjb2xvcjogIzNkNjE3ODtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzODQ1O1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDBweCA0NXB4IDEwcHggNDVweDtcbiAgbWFyZ2luOiAxMHB4IC00NXB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIENocm9tZS9TYWZhcmkgKi9cbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogRmlyZWZveCAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIElFMTArICovXG4gIC8qIFJ1bGVzIGJlbG93IG5vdCBpbXBsZW1lbnRlZCBpbiBicm93c2VycyB5ZXQgKi9cbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciB7XG4gICAgcGFkZGluZzogMCAxNXB4IDEwcHggMTVweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudGl0bGUge1xuICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMyZDQ4NTk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLnRpdGxlIHAuaW5zdHJ1Y3Rpb24ge1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudGl0bGUgcC5pbnN0cnVjdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudGl0bGUgLndpZGdldC1hZGRlZC5iYWRnZSB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgb3BhY2l0eTogMDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudGl0bGUgLmZhLmNsb3NlLXNlbGVjdG9yIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcGFkZGluZzogNnB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC50aXRsZSAuZmEuY2xvc2Utc2VsZWN0b3I6aG92ZXIge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudG9wLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLnNlY3Rpb24taGVhZGVyIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuc2VjdGlvbi1saW5lcyB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiAyMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuc2VjdGlvbi1saW5lcyBwIHtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW46IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5zZWN0aW9uLWxpbmVzIHA6aG92ZXIsXG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLnNlY3Rpb24tbGluZXMgcC5zZWxlY3RlZCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuc2VjdGlvbi1saW5lczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuc2VjdGlvbi1saW5lczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg0MDRmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5zZWN0aW9uLWxpbmVzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDQ4NTk7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLmNhdGVnb3JpZXMtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTI4MzE7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5jYXRlZ29yaWVzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyA+IFtjbGFzcyo9J2NvbC0nXTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDNweCAxMnB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5jYXRlZ29yaWVzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyAubGluZS1pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMzAzYjtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuY2F0ZWdvcmllcy1zZWN0aW9uID4gLnNlY3Rpb24tbGluZXMgLmxpbmUtaXRlbS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzdiZjA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0ycHggMnB4IDEwcHggLTRweCBibGFjaztcbiAgYm94LXNoYWRvdzogLTJweCAycHggMTBweCAtNHB4IGJsYWNrO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5jYXRlZ29yaWVzLXNlY3Rpb24gLmFycm93LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzNweDtcbiAgcmlnaHQ6IC0xMXB4O1xuICB6LWluZGV4OiAxO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5jYXRlZ29yaWVzLXNlY3Rpb24gLmFycm93LWljb24gLnNxdWFyZSB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2JmMDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuY2F0ZWdvcmllcy1zZWN0aW9uIC5hcnJvdy1pY29uIGkuZmEuZmEtY2FyZXQtcmlnaHQge1xuICBmb250LXNpemU6IDUycHg7XG4gIGNvbG9yOiAjOTc3YmYwO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMS41cHg7XG4gIHJpZ2h0OiAwcHg7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLndpZGdldHMtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTMwM2I7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1oZWFkZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTc3YmYwO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyB7XG4gIHBhZGRpbmc6IDNweCAwcHg7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLndpZGdldHMtc2VjdGlvbiA+IC5zZWN0aW9uLWxpbmVzIC5mYS5mYS1wbHVzLWNpcmNsZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyA+IC5saW5lLWl0ZW1zLWdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBoZWlnaHQ6IDAlO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyA+IC5saW5lLWl0ZW1zLWdyaWQgPiAuZ3JpZC1pdGVtIHtcbiAgcGFkZGluZzogMCAxM3B4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXg6IDAgMzEuMzMlO1xuICBtYXJnaW46IDAgMSU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMjMzODQ1O1xuICBtaW4taGVpZ2h0OiAwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLndpZGdldHMtc2VjdGlvbiA+IC5zZWN0aW9uLWxpbmVzID4gLmxpbmUtaXRlbXMtZ3JpZCA+IC5ncmlkLWl0ZW0ge1xuICAgIGZsZXg6IDAgMTAwJTtcbiAgfVxufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyA+IC5saW5lLWl0ZW1zLWdyaWQgPiAuZ3JpZC1pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MjgzMTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAud2lkZ2V0cy1zZWN0aW9uID4gLnNlY3Rpb24tbGluZXMgPiAubGluZS1pdGVtcy1ncmlkID4gLmdyaWQtaXRlbSBwLmxpbmUtaXRlbSB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuYm90dG9tIHtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5ib3R0b20gPiAuc3VnZ2VzdGlvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgb3BhY2l0eTogMC43O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5ib3R0b20gPiAuc3VnZ2VzdGlvbiBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5ib3R0b20gPiAuc3VnZ2VzdGlvbiBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLmJvdHRvbSA+IC5zdWdnZXN0aW9uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5hbmFseXRpY3MgI2Rhc2hib2FyZC1zZXR0aW5ncy1wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmFuYWx5dGljcyAjZGFzaGJvYXJkLXNldHRpbmdzLXBhbmVsID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5hbmFseXRpY3MgI2Rhc2hib2FyZC1zZXR0aW5ncy1wYW5lbCA+IGRpdiA+ICoge1xuICBtYXJnaW46IDBweCAzcHg7XG59XG4uYW5hbHl0aWNzICNkYXNoYm9hcmQtc2V0dGluZ3MtcGFuZWwgc2VsZWN0IHtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG59XG4uYW5hbHl0aWNzICNuby13aWRnZXRzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTUwcHg7XG59XG4uYW5hbHl0aWNzICNuby13aWRnZXRzLWNvbnRhaW5lciBpbWcuYmcge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5hbmFseXRpY3MgI25vLXdpZGdldHMtY29udGFpbmVyIC5pbXBhYy1pbmZvLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYW5hbHl0aWNzICNuby13aWRnZXRzLWNvbnRhaW5lciAuaW1wYWMtaW5mby1tZXNzYWdlIC5pbmZvLXRleHQge1xuICBmb250LXNpemU6IDI1cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1pbi1oZWlnaHQ6IDExNXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMsIDM4LCA0NSwgMC43KTtcbn1cbi5hbmFseXRpY3MgI3dpZGdldHMtc2VjdGlvbiAjd2lkZ2V0cy1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiA3MDBweDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldHMtc2VjdGlvbiAucGxhY2VIb2xkZXJCb3gge1xuICBtYXJnaW46IDEycHg7XG4gIGhlaWdodDogMjY3cHg7XG4gIHdpZHRoOiAzMDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjYWJjNGM2O1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLmFuYWx5dGljcy5sb2FkLWZhaWxlZCBwIHtcbiAgZm9udC1zaXplOiAyMnB4O1xufVxuLmFuYWx5dGljcy5sb2FkLWZhaWxlZCAuc2Vjb25kLW1zZyBwIHtcbiAgY29sb3I6ICNlMDFmNzQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi50b29sdGlwLmltcGFjLXdpZGdldC1zZWxlY3Rvci10b29sdGlwIC50b29sdGlwLWlubmVyLm5nLWJpbmRpbmcge1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uZGhiLWNyZWF0ZS1tb2RhbCAuZGFzaGJvYXJkLWZvcm0gLmNvbC1zbS0yLmNvbnRyb2wtbGFiZWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmltcGFjLXdpZGdldC1zdWdnZXN0aW9uIC5tb2RhbC1ib2R5IGlucHV0LFxuLmltcGFjLXdpZGdldC1zdWdnZXN0aW9uIC5tb2RhbC1ib2R5IHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5pbXBhYy13aWRnZXQtc3VnZ2VzdGlvbiAubW9kYWwtYm9keSB0ZXh0YXJlYSB7XG4gIGhlaWdodDogMTUwcHg7XG59XG4uaW1wYWMtd2lkZ2V0LXN1Z2dlc3Rpb24gLm1vZGFsLWJvZHkgLnRoYW5rcy1tZXNzYWdlIHtcbiAgY29sb3I6ICNkYWUxNzM7XG59XG4ubW9kYWwtZm9vdGVyIC5sb2FkZXIge1xuICBjb2xvcjogd2hpdGU7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgYSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FiYzRjNjtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXItcm93IHtcbiAgbWFyZ2luLXRvcDogNTRweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXItcm93LnBkZi1tb2RlIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciB7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmJ0biB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLnRpdGxlLWNvbnRhaW5lciBoMSB7XG4gIG1hcmdpbjogMHB4O1xuICBjb2xvcjogYmxhY2s7XG4gIGN1cnNvcjogYXV0bztcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXRpdGxlIHtcbiAgY29sb3I6ICM5NzdiZjA7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciAuZHJvcGRvd24tY29udGFpbmVyIC5kYXNoYm9hcmQtdGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzczNGRlYjtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXRpdGxlIGkuZmEuZmEtcGVuY2lsIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXRpdGxlIGkuZmEuZmEtcGVuY2lsOmhvdmVyIHtcbiAgY29sb3I6ICNkYWUxNzM7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmRhc2hib2FyZC1zZWxlY3Qge1xuICBtYXJnaW46IDVweCAwcHggMTBweCAzMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk3N2JmMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5NzdiZjA7XG4gIHdpZHRoOiAzMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZWRlZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciAuZHJvcGRvd24tY29udGFpbmVyIC5kYXNoYm9hcmQtc2VsZWN0IC5vcHRpb24ge1xuICBjb2xvcjogIzE3MjYyZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXNlbGVjdCAub3B0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmRhc2hib2FyZC1zZWxlY3QgLm9wdGlvbi5jcmVhdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xuICBjb2xvcjogd2hpdGU7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4IDEwcHggNXB4IDEwcHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmRhc2hib2FyZC1zZWxlY3QgLm9wdGlvbi5jcmVhdGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM0ZGViO1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciAuZHJvcGRvd24tY29udGFpbmVyIC5kYXNoYm9hcmQtc2VsZWN0IC5vcHRpb24gaS5mYS5mYS1wZW5jaWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDE1JTtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciAuZHJvcGRvd24tY29udGFpbmVyIC5kYXNoYm9hcmQtc2VsZWN0IC5vcHRpb24gaS5mYS5mYS1wZW5jaWw6aG92ZXIge1xuICBjb2xvcjogIzczNGRlYjtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXNlbGVjdCAub3B0aW9uIHNwYW4ubmFtZSB7XG4gIHdpZHRoOiA4NSU7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuY2hhbmdlLW5hbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgbGVmdDogMjBweDtcbiAgd2lkdGg6IDYwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3MjYyZDtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI1cHggNHB4IGJsYWNrO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDI1cHggNHB4IGJsYWNrO1xuICB6LWluZGV4OiA1MDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggd2hpdGU7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmNoYW5nZS1uYW1lIC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmRhdGEtc291cmNlLWxhYmVsIHtcbiAgY29sb3I6ICMxNzI2MmQ7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xuICBtYXJnaW46IDBweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmxvYWRlci1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5sb2FkZXItY29udGFpbmVyIC5sb2FkaW5nLXNwaW5uZXIge1xuICBjb2xvcjogIzY3QkJFOTtcbiAgZm9udC1zaXplOiA0MHB4O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLm5hdi5uYXYtdGFicyBsaTpsYXN0LWNoaWxkID4gYSxcbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAubmF2Lm5hdi1waWxscyBsaTpsYXN0LWNoaWxkID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLm5hdi5uYXYtdGFicyBsaTpsYXN0LWNoaWxkID4gYSB0YWItaGVhZGluZyBhLFxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5uYXYubmF2LXBpbGxzIGxpOmxhc3QtY2hpbGQgPiBhIHRhYi1oZWFkaW5nIGEge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5uYXYubmF2LXRhYnMgbGkgPiBhIHtcbiAgcGFkZGluZzogMTBweCA4cHggMTBweCAxNXB4O1xuICBtYXJnaW46IDAgMnB4IDAgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYmM0YzY7XG4gIGNvbG9yOiBibGFjaztcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAubmF2Lm5hdi10YWJzIGxpLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzk3N2JmMDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAubmF2Lm5hdi10YWJzIGxpOmxhc3QtY2hpbGQuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5uYXYubmF2LXBpbGxzIGxpID4gYSB7XG4gIG1pbi13aWR0aDogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLm5hdi5uYXYtcGlsbHMgbGk6bGFzdC1jaGlsZCB0YWItaGVhZGluZyBhIHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAubmF2Lm5hdi1waWxscyBsaTpsYXN0LWNoaWxkLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIHRhYi1oZWFkaW5nIGEuY2xvc2UtbGluayB7XG4gIGJvcmRlci1ib3R0b206IDBweCBzb2xpZDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtOXB4O1xuICByaWdodDogMXB4O1xuICBjb2xvcjogYmxhY2s7XG59XG5kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yIC50ZW1wbGF0ZXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbmRhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IgLnRlbXBsYXRlcy1oZWFkZXIgLnRlbXBsYXRlcy10b2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbmRhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IgLnRlbXBsYXRlcy1oZWFkZXIgLnRlbXBsYXRlcy10b2dnbGUgaS5mYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmRhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IgLnRlbXBsYXRlcy1oZWFkZXIgLnRlbXBsYXRlcy10b2dnbGUgaS5mYS5mYS10b2dnbGUtb24ge1xuICBjb2xvcjogIzk3N2JmMDtcbn1cbmRhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IgLnRlbXBsYXRlcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMXB4IDBweCAjY2NjO1xuICBoZWlnaHQ6IDEzMHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuZGFzaGJvYXJkLXRlbXBsYXRlcy1zZWxlY3RvciAudGVtcGxhdGVzIC50ZW1wbGF0ZSB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2VjZWM7XG59XG5kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yIC50ZW1wbGF0ZXMgLnRlbXBsYXRlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk2LCAyMzIsIDExOSwgMC42Mik7XG59XG5kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yIC50ZW1wbGF0ZXMgLnRlbXBsYXRlLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOSwgMTk3LCA1NywgMC42Mik7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAyMjBweDtcbiAgbWluLWhlaWdodDogOTVweDtcbiAgbWF4LWhlaWdodDogOTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG1hcmdpbjogMTBweCAwIDEwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkudHJpZ2dlcmVkLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkuYWRkOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNlMDFmNzQ7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaS5hZGQgLmtwaS10ZXh0IC5lbXBoYXNpcyB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpLmFkZDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpLmFkZDpob3ZlciAudG9wLWxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpLmFkZDpob3ZlciAua3BpLXRleHQge1xuICBjb2xvcjogYmxhY2s7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaS5hZGQ6aG92ZXIgLmtwaS10ZXh0IC5lbXBoYXNpcyB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaS5hZGQ6aG92ZXIgLmtwaS1pY29uIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkuYWRkOmhvdmVyIC5rcGktaWNvbiAuZmEtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkuZWRpdGluZyB7XG4gIG1pbi1oZWlnaHQ6IDE4NXB4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGk6aG92ZXIge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaS5zdGF0aWMgLmtwaS12YWx1ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAudG9wLWxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IG1vdmU7XG4gIHBhZGRpbmc6IDlweCA5cHggMHB4IDEycHg7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDdweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UtaW47XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAudG9wLWxpbmUudHJpZ2dlcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiA5MHB4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1jb250ZW50LmVkaXRpbmcge1xuICBtaW4taGVpZ2h0OiAxODBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1zaG93IHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgcGFkZGluZzogMTBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM4MHB4KSB7XG4gIC5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyB7XG4gICAgcGFkZGluZzogMTBweCAzcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAuZW1waGFzaXMge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAuZW1waGFzaXMgLnJlYWwtdmFsdWUge1xuICBjb2xvcjogIzY3Njc2Nztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAuY2FwdGlvbiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1zaG93IC5rcGktdGV4dCB7XG4gIHBhZGRpbmc6IDdweCAwO1xuICBjb2xvcjogZ3JleTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLWluO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1zaG93IC5rcGktdGV4dCA+IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAua3BpLXRleHQudHJpZ2dlcmVkIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1zaG93IC5rcGktdGV4dCAuY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2NXB4KSB7XG4gIC5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAua3BpLXRleHQgLmNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxuICAuYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLXNob3cgLmtwaS10ZXh0IC5lbXBoYXNpcyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLXNob3cgLmtwaS1pY29uIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiBncmV5O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW47XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLXNob3cgLmtwaS1pY29uLnRyaWdnZXJlZCB7XG4gIGNvbG9yOiBibGFjaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2NXB4KSB7XG4gIC5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAua3BpLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG4gIH1cbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBhIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktbmFtZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktbmFtZSBoNiB7XG4gIG1hcmdpbjogMCAwIDVweCAwO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5yZWFsLXZhbHVlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmFsZXJ0LWNhcHRpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgYmFja2dyb3VuZDogI2ZmOTk5OTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDJweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktdGFyZ2V0LXdhdGNoYWJsZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAua3BpLXRhcmdldC11bml0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktdGFyZ2V0LXdhdGNoYWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjOGQ4ZDhkO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktdGFyZ2V0LXVuaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICByaWdodDogMDtcbiAgY29sb3I6ICM5YTlhOWE7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLnBhcmFtLW5hbWUge1xuICBmb250LXNpemU6IDg1JTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuYnRuLmJ0bi14cyB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSB7XG4gIC8qIEZsYXR0ZW4gZGVyIEJvb3RzdHJhcCAqL1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC53ZWxsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC53ZWxsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5uYXZiYXItaW5uZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLm5hdmJhci1pbm5lcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAucG9wb3Zlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAucG9wb3Zlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuYnRuLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5idG4sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLnRvb2x0aXAsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLnRvb2x0aXAsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgc2VsZWN0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIHNlbGVjdCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCB0ZXh0YXJlYSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSB0ZXh0YXJlYSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBwcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgcHJlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5wcm9ncmVzcyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAucHJvZ3Jlc3MsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLm1vZGFsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5tb2RhbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuYWRkLW9uLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5hZGQtb24sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmFsZXJ0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5hbGVydCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAudGFibGUtYm9yZGVyZWQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLnRhYmxlLWJvcmRlcmVkLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5uYXYgPiAuYWN0aXZlID4gYSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAubmF2ID4gLmFjdGl2ZSA+IGEsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmRyb3Bkb3duLW1lbnUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmRyb3Bkb3duLW1lbnUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLnRvb2x0aXAtaW5uZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLnRvb2x0aXAtaW5uZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmJhZGdlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5iYWRnZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAubGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbWctcG9sYXJvaWQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltZy1wb2xhcm9pZCB7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYm9keSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBib2R5LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGlucHV0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGlucHV0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IHNlbGVjdCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBzZWxlY3QsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgdGV4dGFyZWEsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgdGV4dGFyZWEge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGJvZHk6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJvZHk6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGlucHV0OjphZnRlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBpbnB1dDo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgc2VsZWN0OjphZnRlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBzZWxlY3Q6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IHRleHRhcmVhOjphZnRlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSB0ZXh0YXJlYTo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYm9keTo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJvZHk6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBpbnB1dDo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGlucHV0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgc2VsZWN0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgc2VsZWN0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgdGV4dGFyZWE6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSB0ZXh0YXJlYTo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBhOmhvdmVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgZmllbGRzZXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgZmllbGRzZXQge1xuICBtYXJnaW46IDAgMCAxLjc1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tcmFkaW8sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tcmFkaW8sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWlubGluZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWlubGluZSA+IC5pbS1mb3JtLWdyb3VwLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWlubGluZSA+IC5pbS1mb3JtLWdyb3VwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLWxlZnQ6IDAuMTc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTc1cmVtO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWlubGluZSA+IC5idG4sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0taW5saW5lID4gLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBpbnB1dCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBpbnB1dCB7XG4gIGhlaWdodDogMi4zNzVyZW07XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgc2VsZWN0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgcGFkZGluZzogMC4xNTYyNXJlbSAwLjE1NjI1cmVtIDAuMDc4MTI1cmVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgLmltLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC4zMTI1cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwLjE1NjI1cmVtO1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogI2IzYjNiMztcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yOHMgZWFzZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCAuaW0tYmFyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIC5pbS1iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDAuMDc4MTI1cmVtIHNvbGlkICM5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIC5pbS1iYXI6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCAuaW0tYmFyOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwLjE1NjI1cmVtO1xuICB3aWR0aDogMDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IC0wLjA3ODEyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjMzU4ZmRjO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMjhzIGVhc2UsIHdpZHRoIDAuMjhzIGVhc2U7XG4gIHotaW5kZXg6IDI7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMC4xNTYyNXJlbSAwLjE1NjI1cmVtIDAuMDc4MTI1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjhzIGVhc2U7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBpbnB1dFt0eXBlPVwiZmlsZVwiXSB+IC5pbS1iYXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImZpbGVcIl0gfiAuaW0tYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBzZWxlY3QsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgc2VsZWN0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0OnZhbGlkLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0OnZhbGlkLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0LmZvcm0tZmlsZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBpbnB1dC5mb3JtLWZpbGUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXQuaGFzLXZhbHVlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0Lmhhcy12YWx1ZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTp2YWxpZCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTp2YWxpZCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYS5mb3JtLWZpbGUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhLmhhcy12YWx1ZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYS5oYXMtdmFsdWUge1xuICBjb2xvcjogIzMzMztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBzZWxlY3QgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBzZWxlY3QgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBpbnB1dDpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6dmFsaWQgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBpbnB1dDp2YWxpZCB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0LmZvcm0tZmlsZSB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0LmZvcm0tZmlsZSB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0Lmhhcy12YWx1ZSB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0Lmhhcy12YWx1ZSB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTp2YWxpZCB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOnZhbGlkIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuaGFzLXZhbHVlIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuaGFzLXZhbHVlIH4gLmltLWNvbnRyb2wtbGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjODA4MDgwO1xuICB0b3A6IC0xLjI1cmVtO1xuICBsZWZ0OiAwO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMgfiAuaW0tYmFyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IGxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCBsYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1yYWRpbyBsYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1yYWRpbyBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1jaGVja2JveCBpbnB1dCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tY2hlY2tib3ggaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tcmFkaW8gaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tcmFkaW8gaW5wdXQge1xuICB3aWR0aDogYXV0bztcbiAgb3BhY2l0eTogMC4wMDAwMDAwMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tcmFkaW8ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1yYWRpbyAuaW0taGVscGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0wLjMxMjVyZW07XG4gIGxlZnQ6IC0wLjMxMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjOTk5O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLXJhZGlvIC5pbS1oZWxwZXI6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tcmFkaW8gLmltLWhlbHBlcjo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLXJhZGlvIC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDAuMzEyNXJlbTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjhzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAwLjE1NjI1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tcmFkaW8gLmltLWhlbHBlcjo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLXJhZGlvIC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1OGZkYztcbiAgYm9yZGVyLWNvbG9yOiAjMzU4ZmRjO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyBsYWJlbDpob3ZlciAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1yYWRpbyBsYWJlbDpob3ZlciAuaW0taGVscGVyIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLXJhZGlvIGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyOjphZnRlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tcmFkaW8gaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1yYWRpbyBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IC5pbS1oZWxwZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWNoZWNrYm94IC5pbS1oZWxwZXIge1xuICBjb2xvcjogIzk5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIHotaW5kZXg6IDA7XG4gIGJvcmRlcjogMC4xNTYyNXJlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDAuMDc4MTI1cmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yOHMgZWFzZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IC5pbS1oZWxwZXI6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCAuaW0taGVscGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1OGZkYztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjhzIGVhc2UsIGhlaWdodCAwcyBsaW5lYXIgMC4yOHM7XG4gIG9wYWNpdHk6IDA7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IC5pbS1oZWxwZXI6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgdG9wOiAwLjgxMjVyZW07XG4gIGxlZnQ6IDAuNDc1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4wNzgxMjVyZW0gI2ZmZjtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWNoZWNrYm94IC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgdG9wOiAwLjM3NXJlbTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggbGFiZWw6aG92ZXIgLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tY2hlY2tib3ggbGFiZWw6aG92ZXIgLmltLWhlbHBlciB7XG4gIGNvbG9yOiAjMzU4ZmRjO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXIge1xuICBjb2xvcjogIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yOHMgZWFzZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuNjI1cmVtO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjhzO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyArIC5pbS1yYWRpbyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tcmFkaW8gKyAuaW0tcmFkaW8sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94ICsgLmltLWNoZWNrYm94LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCArIC5pbS1jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLW1lc3NhZ2VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1tZXNzYWdlcyB7XG4gIGZvbnQtc2l6ZTogMS4wNDE2NjY2N3JlbTtcbiAgY29sb3I6ICNlMDFmNzQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjI4cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKTtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaGFzLWVycm9yIC5sZWdlbmQubGVnZW5kLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IgLmxlZ2VuZC5sZWdlbmQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1mb3JtLWdyb3VwIC5pbS1jb250cm9sLWxhYmVsLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmhhcy1lcnJvci5pbS1mb3JtLWdyb3VwIC5pbS1jb250cm9sLWxhYmVsLmltLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogI2UwMWY3NDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaGFzLWVycm9yLmltLWZvcm0tZ3JvdXAgLmltLW1lc3NhZ2VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1jaGVja2JveCAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmhhcy1lcnJvci5pbS1jaGVja2JveCAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1yYWRpbyAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmhhcy1lcnJvci5pbS1yYWRpbyAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1mb3JtLXJhZGlvIC5pbS1tZXNzYWdlcyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaGFzLWVycm9yLmltLWZvcm0tcmFkaW8gLmltLW1lc3NhZ2VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5oYXMtZXJyb3IuaW0tY2hlY2tib3ggLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaGFzLWVycm9yLmltLWNoZWNrYm94IC5pbS1oZWxwZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1yYWRpbyAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IuaW0tcmFkaW8gLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaGFzLWVycm9yLmltLWZvcm0tcmFkaW8gLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaGFzLWVycm9yLmltLWZvcm0tcmFkaW8gLmltLWhlbHBlciB7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICBvcGFjaXR5OiAxO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5oYXMtZXJyb3IgLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IgLmltLWJhcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2UwMWY3NDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWJ1dHRvbixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjNjBhN2U0O1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW46IDAuN3JlbSAwO1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMS43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tYnV0dG9uIHNwYW4sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWJ1dHRvbiBzcGFuIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tYnV0dG9uOmhvdmVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1idXR0b246aG92ZXIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZS1pbjtcbiAgYmFja2dyb3VuZDogIzI1ODNkMztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tYnV0dG9uOmFjdGl2ZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCk7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWJ1dHRvbiBhOmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1idXR0b24gYTpmb2N1cyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tYnV0dG9uOmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYnV0dG9uLmltLWZhYixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBidXR0b24uaW0tZmFiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHdpZHRoOiA0NnB4O1xuICBmbGV4OiAwIDAgNTZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDRweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBidXR0b24uaW0tZmFiOmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJ1dHRvbi5pbS1mYWI6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGJ1dHRvbi5pbS1mYWI6YWN0aXZlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJ1dHRvbi5pbS1mYWI6YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBidXR0b24uaW0tZmFiLmltLXByaW1hcnksXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgYnV0dG9uLmltLWZhYi5pbS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBidXR0b24uaW0tZmFiLmltLXByaW1hcnk6aG92ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgYnV0dG9uLmltLWZhYi5pbS1wcmltYXJ5OmhvdmVyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UtaW47XG4gIGJhY2tncm91bmQ6ICMyNTgzZDM7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYnV0dG9uLmltLWZhYi5pbS13YXJuLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJ1dHRvbi5pbS1mYWIuaW0td2FybiB7XG4gIGJhY2tncm91bmQ6ICNlMDFmNzQ7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYnV0dG9uLmltLWZhYi5pbS13YXJuOmhvdmVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJ1dHRvbi5pbS1mYWIuaW0td2Fybjpob3ZlciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLWluO1xuICBiYWNrZ3JvdW5kOiAjY2ExYzY4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgYnV0dG9uLmtwaS1hbGVydHMuaW0tZmFiLmltLXByaW1hcnkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEycHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGJhY2tncm91bmQ6ICM0YzQ3NDk7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSBidXR0b24ua3BpLWFsZXJ0cy5pbS1mYWIuaW0tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91ZDogIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIGJ1dHRvbi5rcGktcmVtb3ZlLmltLWZhYi5pbS13YXJuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMnB4O1xuICByaWdodDogLTExcHg7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgYmFja2dyb3VuZDogIzRjNDc0OTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIGJ1dHRvbi5rcGktcmVtb3ZlLmltLWZhYi5pbS13YXJuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2NhMWM2ODtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZGF0YS1sb2FkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogOTVweDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua2V5LXN0YXRzIC5rcGkge1xuICBtaW4taGVpZ2h0OiA4MHB4O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgLyogRmxhdHRlbiBkZXIgQm9vdHN0cmFwICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzVweCkge1xuICAuYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC53ZWxsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5uYXZiYXItaW5uZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLnBvcG92ZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmJ0bixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAudG9vbHRpcCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBpbnB1dCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBzZWxlY3QsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgdGV4dGFyZWEsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgcHJlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5wcm9ncmVzcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAubW9kYWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmFkZC1vbixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuYWxlcnQsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLnRhYmxlLWJvcmRlcmVkLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5uYXYgPiAuYWN0aXZlID4gYSxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuZHJvcGRvd24tbWVudSxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAudG9vbHRpcC1pbm5lcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuYmFkZ2UsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmxhYmVsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbWctcG9sYXJvaWQge1xuICAtbW96LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJvZHksXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgaW5wdXQsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgc2VsZWN0LFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIHRleHRhcmVhIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBib2R5OjphZnRlcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBpbnB1dDo6YWZ0ZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgc2VsZWN0OjphZnRlcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyB0ZXh0YXJlYTo6YWZ0ZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYm9keTo6YmVmb3JlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGlucHV0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgc2VsZWN0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgdGV4dGFyZWE6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgZmllbGRzZXQge1xuICBtYXJnaW46IDAgMCAxLjc1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tcmFkaW8sXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0taW5saW5lID4gLmltLWZvcm0tZ3JvdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMC4xNzVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4xNzVyZW07XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0taW5saW5lID4gLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dCB7XG4gIGhlaWdodDogMi4zNzVyZW07XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBwYWRkaW5nOiAwLjE1NjI1cmVtIDAuMTU2MjVyZW0gMC4wNzgxMjVyZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCAuaW0tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjMxMjVyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDAuMTU2MjVyZW07XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjYjNiM2IzO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI4cyBlYXNlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIC5pbS1iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDAuMDc4MTI1cmVtIHNvbGlkICM5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIC5pbS1iYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDAuMTU2MjVyZW07XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogLTAuMDc4MTI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICMzNThmZGM7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4yOHMgZWFzZSwgd2lkdGggMC4yOHMgZWFzZTtcbiAgei1pbmRleDogMjtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwLjE1NjI1cmVtIDAuMTU2MjVyZW0gMC4wNzgxMjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMS45O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yOHMgZWFzZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJmaWxlXCJdIH4gLmltLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgc2VsZWN0LFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0OnZhbGlkLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0LmZvcm0tZmlsZSxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dC5oYXMtdmFsdWUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6dmFsaWQsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhLmhhcy12YWx1ZSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHNlbGVjdCB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6dmFsaWQgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dC5mb3JtLWZpbGUgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dC5oYXMtdmFsdWUgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOnZhbGlkIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuaGFzLXZhbHVlIH4gLmltLWNvbnRyb2wtbGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjODA4MDgwO1xuICB0b3A6IC0xLjI1cmVtO1xuICBsZWZ0OiAwO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dDpmb2N1cyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IGxhYmVsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLXJhZGlvIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IGlucHV0LFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLXJhZGlvIGlucHV0IHtcbiAgd2lkdGg6IGF1dG87XG4gIG9wYWNpdHk6IDAuMDAwMDAwMDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tcmFkaW8ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1yYWRpbyAuaW0taGVscGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0wLjMxMjVyZW07XG4gIGxlZnQ6IC0wLjMxMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjOTk5O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1yYWRpbyAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLXJhZGlvIC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDAuMzEyNXJlbTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjhzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAwLjE1NjI1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tcmFkaW8gLmltLWhlbHBlcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU4ZmRjO1xuICBib3JkZXItY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLXJhZGlvIGxhYmVsOmhvdmVyIC5pbS1oZWxwZXIge1xuICBjb2xvcjogIzM1OGZkYztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tcmFkaW8gaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1yYWRpbyBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggLmltLWhlbHBlciB7XG4gIGNvbG9yOiAjOTk5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgei1pbmRleDogMDtcbiAgYm9yZGVyOiAwLjE1NjI1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMC4wNzgxMjVyZW07XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI4cyBlYXNlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1jaGVja2JveCAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU4ZmRjO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgY29udGVudDogJyc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yOHMgZWFzZSwgaGVpZ2h0IDBzIGxpbmVhciAwLjI4cztcbiAgb3BhY2l0eTogMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgdG9wOiAwLjgxMjVyZW07XG4gIGxlZnQ6IDAuNDc1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4wNzgxMjVyZW0gI2ZmZjtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YWZ0ZXIge1xuICB0b3A6IDAuMzc1cmVtO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1jaGVja2JveCBsYWJlbDpob3ZlciAuaW0taGVscGVyIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyOjphZnRlcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjI4cyBlYXNlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuNjI1cmVtO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjhzO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1yYWRpbyArIC5pbS1yYWRpbyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggKyAuaW0tY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1tZXNzYWdlcyB7XG4gIGZvbnQtc2l6ZTogMS4wNDE2NjY2N3JlbTtcbiAgY29sb3I6ICNlMDFmNzQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjI4cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKTtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yIC5sZWdlbmQubGVnZW5kLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0tY29udHJvbC1sYWJlbC5pbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICNlMDFmNzQ7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmhhcy1lcnJvci5pbS1mb3JtLWdyb3VwIC5pbS1tZXNzYWdlcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yLmltLWNoZWNrYm94IC5pbS1tZXNzYWdlcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yLmltLXJhZGlvIC5pbS1tZXNzYWdlcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yLmltLWZvcm0tcmFkaW8gLmltLW1lc3NhZ2VzLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0taGVscGVyLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5oYXMtZXJyb3IuaW0tY2hlY2tib3ggLmltLWhlbHBlcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yLmltLXJhZGlvIC5pbS1oZWxwZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmhhcy1lcnJvci5pbS1mb3JtLXJhZGlvIC5pbS1oZWxwZXIge1xuICBjb2xvcjogI2UwMWY3NDtcbiAgb3BhY2l0eTogMTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yIC5pbS1iYXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNlMDFmNzQ7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICM2MGE3ZTQ7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbjogMC43cmVtIDA7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbSAxLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1idXR0b24gc3BhbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLWluO1xuICBiYWNrZ3JvdW5kOiAjMjU4M2QzO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tYnV0dG9uIGE6Zm9jdXMsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHdpZHRoOiA0NnB4O1xuICBmbGV4OiAwIDAgNTZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDRweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCk7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5pbS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzM1OGZkYztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmltLXByaW1hcnk6aG92ZXIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZS1pbjtcbiAgYmFja2dyb3VuZDogIzI1ODNkMztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmltLXdhcm4ge1xuICBiYWNrZ3JvdW5kOiAjZTAxZjc0O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuaW0td2Fybjpob3ZlciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLWluO1xuICBiYWNrZ3JvdW5kOiAjY2ExYzY4O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGEge1xuICBjb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5hZGQta3Bpcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmVkaXQta3Bpcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLnRvZ2dsZS1zaG93LWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjhzIGVhc2UtaW47XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5hZGQta3Bpcy5pbS1wcmltYXJ5LFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLmltLXByaW1hcnksXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi50b2dnbGUtc2hvdy1jb250ZW50LmltLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNGM0NzQ5O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuYWRkLWtwaXMuaW0tcHJpbWFyeS5kaXNhYmxlZCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmVkaXQta3Bpcy5pbS1wcmltYXJ5LmRpc2FibGVkLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIudG9nZ2xlLXNob3ctY29udGVudC5pbS1wcmltYXJ5LmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI2IyYjVjMTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmFkZC1rcGlzLmltLXByaW1hcnkuZGlzYWJsZWQgYSxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmVkaXQta3Bpcy5pbS1wcmltYXJ5LmRpc2FibGVkIGEsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi50b2dnbGUtc2hvdy1jb250ZW50LmltLXByaW1hcnkuZGlzYWJsZWQgYSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5hZGQta3Bpcy5pbS1wcmltYXJ5OmhvdmVyOm5vdCguZGlzYWJsZWQpLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLmltLXByaW1hcnk6aG92ZXI6bm90KC5kaXNhYmxlZCksXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi50b2dnbGUtc2hvdy1jb250ZW50LmltLXByaW1hcnk6aG92ZXI6bm90KC5kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLnRvZ2dsZS1zaG93LWNvbnRlbnQge1xuICB0b3A6IC0xNXB4O1xuICByaWdodDogLTE1cHg7XG4gIHotaW5kZXg6IDEwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIudG9nZ2xlLXNob3ctY29udGVudCB7XG4gICAgdG9wOiAtMzBweDtcbiAgICByaWdodDogLTE0cHg7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5hZGQta3BpcyB7XG4gIHRvcDogMzBweDtcbiAgcmlnaHQ6IC0xNXB4O1xuICB6LWluZGV4OiAxMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3NXB4KSB7XG4gIC5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmFkZC1rcGlzIHtcbiAgICB0b3A6IC0zMHB4O1xuICAgIHJpZ2h0OiAzM3B4O1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzIHtcbiAgdG9wOiA3NXB4O1xuICByaWdodDogLTE1cHg7XG4gIHotaW5kZXg6IDEwO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLmVkaXRpbmcge1xuICBiYWNrZ3JvdW5kOiAjMzU4ZmRjO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLmVkaXRpbmc6aG92ZXI6bm90KC5kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjNzZiM2U3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzIHtcbiAgICB0b3A6IC0zMHB4O1xuICAgIHJpZ2h0OiA3OXB4O1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50LWJ1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmNvbnRlbnQge1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCA4cHggLTRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyNXB4KSB7XG4gIC5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCB7XG4gICAgcGFkZGluZzogMCA2MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzVweCkge1xuICAuYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAuaW1wYWMta3BpIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmNvbnRlbnQgLmltcGFjLWtwaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAuaW1wYWMta3BpIC5rcGkuYWRkIC5rcGktc2hvdyAuY2FwdGlvbiB7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50IC50aXRsZSAudGV4dC1jZW50ZXIge1xuICBsaW5lLWhlaWdodDogMztcbiAgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzO1xuICBmb250LXNpemU6IGxhcmdlcjtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAudGl0bGUgLmJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogLTEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMWU1NWM7XG4gIGNvbG9yOiAjNGY1OTU5O1xuICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAtMXB4O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50IC50aXRsZSAubm8ta3BpLXRlbXBsYXRlcyB7XG4gIGNvbG9yOiAjYWZhZGI1O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50IC5hZGQtYmFyIHtcbiAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAua3BpLWxvYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMTVweDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAuZGF0ZXMtcGlja2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA0MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50IC5kYXRlcy1waWNrZXItY29udGFpbmVyIC5zZHAtZnJvbS1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAuZGF0ZXMtcGlja2VyLWNvbnRhaW5lciAuc2RwLXRvLWxhYmVsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua2V5LXN0YXRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDVweCAwcHg7XG59XG4uYW5hbHl0aWNzLnBkZi1tb2RlIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuLndpZGdldC1pdGVtIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgcGFkZGluZzogMTJweDtcbn1cbi53aWRnZXQtaXRlbS5wZGYtbW9kZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMnB4IDBweDtcbn1cbi53aWRnZXQtaXRlbSAudG9wLWxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogbW92ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDlweCA5cHggMHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMHB4IDBweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2M4ZDdkOTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbWluLWhlaWdodDogNDFweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDhweCAtNHB4O1xuICBib3gtc2hhZG93OiAwcHggMXB4IDhweCAtNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB6LWluZGV4OiA0O1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA5cHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggNXB4IDVweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2M4ZDdkOTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCA4cHggLTRweDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCA4cHggLTRweDtcbiAgbWluLWhlaWdodDogMjUwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLndpZGdldC1pdGVtIC5jb250ZW50IHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICB9XG4gIC53aWRnZXQtaXRlbSAuY29udGVudCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyNXB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5lZGl0IHtcbiAgbWF4LWhlaWdodDogMjMwcHg7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGNvbG9yOiAjNUI2NjY3O1xuICBwYWRkaW5nOiAycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi53aWRnZXQtaXRlbSAuY29udGVudCAuZWRpdCAuYm90dG9tLWJ1dHRvbnMgLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHBhZGRpbmc6IDNweCAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQgLmJvdHRvbS1idXR0b25zIC5idG4uYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjNGM0O1xuICBib3JkZXI6IHNvbGlkIDFweCAjYThhYmFiO1xuICBjb2xvcjogd2hpdGU7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQgLmJvdHRvbS1idXR0b25zIC5idG4uYnRuLWRlZmF1bHQ6aG92ZXIge1xuICBib3JkZXI6IHNvbGlkIDFweCAjOGU5MjkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhYmFiO1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5lZGl0IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQgLnBhcnQge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHggMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZGZlMmUyO1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5lZGl0IC5wYXJ0IGg1IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMHB4IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQgLnBhcnQgbGFiZWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5lZGl0IC5wYXJ0IHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICBtYXJnaW46IDBweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2FjYjBiMTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNzI3MjhiO1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50LmFjY2Vzc2libGUge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5jb250ZW50LXRlbXBsYXRlLXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4ud2lkZ2V0LWl0ZW0ucGRmLW1vZGUgLmNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5jb250ZW50IC5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG59XG4ud2lkZ2V0LWl0ZW0ucGRmLW1vZGUgLmNvbnRlbnQgLmZhLXBsdXMtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDdcIjtcbn1cbi53aWRnZXQtaXRlbS5wZGYtbW9kZSAuY29udGVudCAubGVnZW5kIHtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5jb250ZW50IC5jaGFydC1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5jb250ZW50IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAubWVzc2FnZSB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogMTAwJTtcbn1cbi53aWRnZXQtaXRlbS5wZGYtbW9kZSAuaW5jbHVkZS10by1wZGYudGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyKjEycHggKTtcbiAgei1pbmRleDogMztcbiAgcGFkZGluZy1yaWdodDogMXB4O1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5pbmNsdWRlLXRvLXBkZi50aXRsZSBoNiB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkM5Mjg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5pbmNsdWRlLXRvLXBkZi50aWNrIGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzUlO1xuICBsZWZ0OiA0NiU7XG4gIGZvbnQtc2l6ZTogMTAwcHg7XG4gIG9wYWNpdHk6IC41O1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogYmxhY2s7XG59XG4ud2lkZ2V0LWl0ZW0ucGRmLW1vZGUgLmluY2x1ZGUtdG8tcGRmIC53aWRnZXQtaG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDlweDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgZWFzZSAuNXM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIGVhc2UgLjVzO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuNXM7XG4gIHotaW5kZXg6IDE7XG59XG4ud2lkZ2V0LWl0ZW0ucGRmLW1vZGUgLmluY2x1ZGUtdG8tcGRmIC53aWRnZXQtaG92ZXI6aG92ZXIge1xuICBvcGFjaXR5OiAuNTtcbiAgYmFja2dyb3VuZDogI0NDQ0ZEMDtcbn1cbi53aWRnZXQtaXRlbSAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmRhdGEtbm90LWZvdW5kLFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzVCNjY2Nztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAub3ZlcmxheSxcbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQgLm92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0cHgpO1xuICB0b3A6IDJweDtcbiAgbGVmdDogMnB4O1xuICBvcGFjaXR5OiAwLjY7XG4gIHotaW5kZXg6IDM7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2UsXG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5tZXNzYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEyNXB4O1xuICBsZWZ0OiA1MCU7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDg1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjhmOTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDI1cHggMHB4O1xuICB6LWluZGV4OiA0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmRhdGEtbm90LWZvdW5kIC5tZXNzYWdlIC50aXRsZSxcbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2UgLnRpdGxlIHtcbiAgcGFkZGluZzogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkyODMxO1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbjogLTFweCAtMXB4IDEwcHggLTFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAubWVzc2FnZSBwLFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCAubWVzc2FnZSBwIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2UgLmJ0bixcbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2UgLmJ0biB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAuZXhhbXBsZSxcbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQgLmV4YW1wbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTI4MzE7XG4gIHBhZGRpbmc6IDNweDtcbiAgei1pbmRleDogNjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAuZXhhbXBsZSBhLFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCAuZXhhbXBsZSBhIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICNkYWUxNzM7XG59XG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5tZXNzYWdlIHtcbiAgd2lkdGg6IDkwJTtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggc2lsdmVyO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCAubWVzc2FnZSBwIHtcbiAgbWFyZ2luOiA1cHg7XG59XG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5vdmVybGF5LFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCAudGl0bGUsXG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5idG4sXG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5leGFtcGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0cHgpO1xuICB0b3A6IDJweDtcbiAgbGVmdDogMnB4O1xuICBvcGFjaXR5OiAwLjY7XG4gIHotaW5kZXg6IDU7XG59XG4jdHJhbnNhY3Rpb25zLWFkZCAubWVzc2FnZSB7XG4gIHotaW5kZXg6IDY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWluLWhlaWdodDogMTYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB0b3A6IDQ1cHg7XG4gIGxlZnQ6IDclO1xuICB3aWR0aDogODYlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmOGY5O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMjVweCAwcHg7XG59XG4jdHJhbnNhY3Rpb25zLWFkZCAubWVzc2FnZSAudGl0bGUge1xuICBwYWRkaW5nOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTI4MzE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luOiAtMXB4IC0xcHggMTBweCAtMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2Uge1xuICB0b3A6IDMwcHg7XG4gIGxlZnQ6IDM1JTtcbiAgd2lkdGg6IDMwJTtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIHtcbiAgcGFkZGluZzogMHB4IDEwcHg7XG59XG4jdHJhbnNhY3Rpb25zLWFkZCAubWVzc2FnZSAuZm9ybSA+IGxhYmVsLFxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2UgLmZvcm0gLmNvbWluZy1zb29uID4gbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2UgLmZvcm0gaW5wdXQuZm9ybS1jb250cm9sIHtcbiAgd2lkdGg6IDkwJTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5idG4tZ3JvdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMjJweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5idG4tZ3JvdXAgc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggc2lsdmVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiAuYmFkZ2Uge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2UgLmZvcm0gLmNvbWluZy1zb29uIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiAuYnRuLWdyb3VwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiAuYnRuLWdyb3VwIHNlbGVjdCB7XG4gIGhlaWdodDogMjJweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiAuYnRuLWdyb3VwIC5idG4ge1xuICBmbG9hdDogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjODg4ODg4O1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2UgLmJvdHRvbSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4uYW5hbHl0aWNzIGNvbW1vbi1kZWxldGUtd2lkZ2V0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xufVxuLmFuYWx5dGljcyBjb21tb24tZGVsZXRlLXdpZGdldCAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDRweCk7XG4gIHRvcDogMnB4O1xuICBsZWZ0OiAycHg7XG4gIG9wYWNpdHk6IDAuNjtcbiAgei1pbmRleDogNTtcbn1cbi5hbmFseXRpY3MgY29tbW9uLWRlbGV0ZS13aWRnZXQgLm1lc3NhZ2Uge1xuICB6LWluZGV4OiA2O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgdG9wOiA0NXB4O1xuICBsZWZ0OiA3JTtcbiAgd2lkdGg6IDg2JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjhmOTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDI1cHggMHB4O1xufVxuLmFuYWx5dGljcyBjb21tb24tZGVsZXRlLXdpZGdldCAubWVzc2FnZSAudGl0bGUge1xuICBwYWRkaW5nOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTI4MzE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luOiAtMXB4IC0xcHggMTBweCAtMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmFuYWx5dGljcyBjb21tb24tZGVsZXRlLXdpZGdldCAubWVzc2FnZSAubG9hZGVyIGkuZmEuZmEtc3Bpbm5lciB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cbi5hbmFseXRpY3MgY29tbW9uLWRlbGV0ZS13aWRnZXQgLm1lc3NhZ2UgcCB7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xufVxuLmFuYWx5dGljcyBjb21tb24tZGVsZXRlLXdpZGdldCAubWVzc2FnZSBidXR0b24uYnRuIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudG9wIHtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50b3AgYS5iYWNrLWxpbmsge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50b3AgLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDBweDtcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudGFibGUtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogY2FsYyg1NjVweCAtIDYwcHgpO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudGFibGUtY29udGFpbmVyIGRpdlt1aWItZGF0ZXBpY2tlci1wb3B1cC13cmFwXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudGFibGUtY29udGFpbmVyIGlucHV0LmJ0bi5idG4teHMge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50YWJsZS1jb250YWluZXIgYnV0dG9uLmJ0bi5yZXNldC1kYXRlIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudGFibGUtY29udGFpbmVyIC5mYS5mYS10aW1lcyB7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jdHJhbnNhY3Rpb25zLWxpc3QgLnRhYmxlLWNvbnRhaW5lciB0ci50b3RhbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50YWJsZS1jb250YWluZXIgdHIudG90YWwuaW52b2ljZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzFkMWIxO1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50YWJsZS1jb250YWluZXIgdHIudG90YWwuYmlsbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJhZWI5O1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLmN1cnJlbmN5IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3MuY3VycmVuY3kgc2VsZWN0IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyAuc2hvdy1zdGF0dXMge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgY29sb3I6ICM5YmE2YTc7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5zaG93LXN0YXR1czpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5zaG93LXN0YXR1cyAuZmEuZmEtaW5mbyB7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyAuc3RhdHVzLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA1cHggN3B4IDVweCAwcHg7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5zdGF0dXMtYnRuIGkge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5zdGF0dXMtYnRuIGkuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUge1xuICBjb2xvcjogI2ZmNzMwMDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnN0YXR1cy1idG4gaS5mYS1jaGVjayB7XG4gIGNvbG9yOiAjZDFlNTVjO1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyAucG9wb3ZlciB7XG4gIG1heC13aWR0aDogNTUwcHg7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5wb3BvdmVyIC5jb25uZWN0b3Ige1xuICBwYWRkaW5nOiA0cHggMTNweDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnBvcG92ZXIgLmNvbm5lY3Rvci5hZGQtc2VwZXJhdG9yIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyAucG9wb3ZlciAucG9wb3Zlci1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogNHB4IDEzcHg7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5wb3BvdmVyIC5wb3BvdmVyLWZvb3RlciBwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnBvcG92ZXIgLnBvcG92ZXItZm9vdGVyLnJlbW92ZS1zZXBlcmF0b3Ige1xuICBib3JkZXI6IDA7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5iYWRnZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnN1Y2Nlc3MgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZTU1Yztcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnBlbmRpbmcgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzMwMDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnJ1bm5pbmcgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzMwMDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLmVycm9yIC5iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDFlNzk7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5mYWlsZWQgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWU3OTtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnVua25vd24gLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWU3OTtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLmRpc2Nvbm5lY3RlZCAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxZTc5O1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IDBweCAjY2NjO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdCB7XG4gIG1heC1oZWlnaHQ6IDI4MHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0gLmJhZGdlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLnN1Y2Nlc3MgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZTU1Yztcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS5wZW5kaW5nIC5iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjczMDA7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0ucnVubmluZyAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3MzAwO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmVycm9yIC5iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDFlNzk7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0uZmFpbGVkIC5iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDFlNzk7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0udW5rbm93biAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxZTc5O1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmRpc2Nvbm5lY3RlZCAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxZTc5O1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtIC5tZXNzYWdlIHtcbiAgcGFkZGluZzogM3B4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiAzMXB4O1xuICBtYXJnaW4tdG9wOiA5cHg7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0gLm1lc3NhZ2UgcCB7XG4gIG1hcmdpbjogMDtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS5zdWNjZXNzIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDU1LCAwLjA4KTtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS5wZW5kaW5nIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDExOCwgMCwgMC4wOCk7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0ucnVubmluZyAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxMTgsIDAsIDAuMDgpO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmVycm9yIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMDgpO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmZhaWxlZCAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjA4KTtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS51bmtub3duIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMDgpO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmRpc2Nvbm5lY3RlZCAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjA4KTtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS53aXRoLW1lc3NhZ2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0ud2l0aC1tZXNzYWdlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWZvb3RlciB7XG4gIGJvcmRlcjogMDtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLmZhIHtcbiAgcGFkZGluZzogMHB4IDEwcHg7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5mYS5lcnJvciB7XG4gIGNvbG9yOiAjRkYwMDAwO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAuZmEud2FybiB7XG4gIGNvbG9yOiAjZmY3MzAwO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAuZmEuc3VjY2VzcyB7XG4gIGNvbG9yOiAjNDdmZjAwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYXNzZXRzLWxpYWJpbGl0eS1zdW1tYXJ5IC5wYXJhbS1zZWxlY3RvciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy1saWFiaWxpdHktc3VtbWFyeSAubGVnZW5kIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LWhlaWdodDogOTBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy1saWFiaWxpdHktc3VtbWFyeSAubGVnZW5kIC50aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCAjZGZlMmUyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYXNzZXRzLXN1bW1hcnkgLmxlZ2VuZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC1oZWlnaHQ6IDExNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYXNzZXRzLXN1bW1hcnkgLmxlZ2VuZCAudGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI2RmZTJlMjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy12cy1saWFiaWxpdGllcyAubGVnZW5kID4gLnRpdGxlIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWJhbGFuY2UgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZS1zaGVldCB7XG4gICAgaGVpZ2h0OiA1NjVweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IC5lZGl0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDQ5MHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWJhbGFuY2Utc2hlZXQgLndpZGdldC1saW5lcy1jb250YWluZXIgLnJvdy53aWRnZXQtbGluZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4ICNkZmUyZTI7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWJhbGFuY2Utc2hlZXQgLndpZGdldC1saW5lcy1jb250YWluZXIgLnJvdy53aWRnZXQtbGluZS5oZWFkZXIgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZS1zaGVldCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lci5uby1zY3JvbGwge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWJhbGFuY2Utc2hlZXQgLm5vLWRhdGEtYmxvY2sge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMTVweCAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2Uge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2Uge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2UgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlIC5kYXRhLWNvbnRhaW5lciB7XG4gIGhlaWdodDogY2FsYyg1NjVweCAtIDUwcHgpO1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSAubGVmdC1wYW5lbCB7XG4gIHdpZHRoOiAxODBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSAjY2FzaC1iYWxhbmNlLWxlZ2VuZCAuaGVhZGVyIC5ncm91cC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogNDVweDtcbiAgbWFyZ2luOiAzcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlICNjYXNoLWJhbGFuY2UtbGVnZW5kIC5oZWFkZXIgLmdyb3VwLWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlICNjYXNoLWJhbGFuY2UtbGVnZW5kIC5oZWFkZXIgLmdyb3VwLWl0ZW0gaSB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2UgI2Nhc2gtYmFsYW5jZS1sZWdlbmQgLmhlYWRlciAuZ3JvdXAtaXRlbSBzcGFuIHtcbiAgY29sb3I6ICM1QjY2Njc7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2UgLmxlZ2VuZC1pdGVtLWljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlIC5yaWdodC1wYW5lbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxODBweCk7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSAucmlnaHQtcGFuZWwgLmNhc2gtYmFsYW5jZS1jaGFydCB7XG4gIGhlaWdodDogY2FsYyg1NjVweCAtIDUwcHgpO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlIC5kYXRlcy1waWNrZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1wcm9qZWN0aW9uIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1wcm9qZWN0aW9uIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtcHJvamVjdGlvbiAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1wcm9qZWN0aW9uIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtcHJvamVjdGlvbiAuY2FzaC1wcm9qZWN0aW9uLWNoYXJ0IHtcbiAgaGVpZ2h0OiBjYWxjKDU2NXB4IC0gNTBweCk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gLmhpZ2hjaGFydHMtbGVnZW5kLWl0ZW0gcmVjdC5oaWdoY2hhcnRzLXBvaW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtcHJvamVjdGlvbiAuaGlnaGNoYXJ0cy1sZWdlbmQtaXRlbSBzcGFuIHtcbiAgd2lkdGg6IDExMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gLmhpZ2hjaGFydHMtbGVnZW5kLWl0ZW0gc3BhbiBpbWcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA1NXB4O1xuICBoZWlnaHQ6IDI1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gLmRhdGVzLXBpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gdHJhbnNhY3Rpb25zLWxpc3Qge1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtc3VtbWFyeSAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSAuc2VsZWN0aW9uLXRhZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMHB4O1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAyOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZmI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Qge1xuICBjdXJzb3I6IGF1dG87XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Q6aG92ZXIge1xuICBjb2xvcjogIzYyNmQ2ZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtc3VtbWFyeSAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC5uby1lbGVtZW50IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDIxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC5yb3cubGluZXMtZ3JvdXAuY2FzaCB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweDtcbiAgYm9yZGVyLWJvdHRvbTogZG91YmxlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiB7XG4gIG1pbi1oZWlnaHQ6IDU2NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24ge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuZWRpdCB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuQG1lZGlhIHByaW50IHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5hZGQtYWNjb3VudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDQwcHg7XG4gIGJvdHRvbTogMzBweDtcbiAgd2lkdGg6IDE2MHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuYWRkLWFjY291bnQgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xuICBjb2xvcjogd2hpdGU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuYWRkLWFjY291bnQgc2VsZWN0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYmE5ZjU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5hZGQtYWNjb3VudCBzZWxlY3RbZGlzYWJsZWRdOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiYTlmNTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24gLmFkZC1hY2NvdW50IHNlbGVjdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MzRkZWI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5hZGQtYWNjb3VudCBzZWxlY3Qgb3B0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjYzRjYWNhO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuYWRkLWFjY291bnQgc2VsZWN0IG9wdGlvbltkaXNhYmxlZF0ge1xuICBjb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIGJ1dHRvbi5jbG9zZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24gLmxlZ2VuZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC1oZWlnaHQ6IDEwM3B4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAucm93IHtcbiAgbWFyZ2luOiAwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbWF4LWhlaWdodDogMjIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMge1xuICBtYXJnaW4tbGVmdDogMTNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24gLmNvbXBhcmFibGUtZXJyb3IgaDUge1xuICBtYXJnaW4tbGVmdDogMTNweDtcbiAgY29sb3I6ICNlZDFlNzk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jbGFzcy1jb21wYXJpc29uIC5wYXJhbS1zZWxlY3RvciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNsYXNzLWNvbXBhcmlzb24gLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiA5NHB4O1xuICBjb2xvcjogIzYyNmQ2ZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWRldGFpbGVkLWNsYXNzaWZpY2F0aW9ucyB7XG4gIG1pbi1oZWlnaHQ6IDU2NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWRldGFpbGVkLWNsYXNzaWZpY2F0aW9ucyB7XG4gICAgaGVpZ2h0OiA1NjVweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1ODVweDtcbiAgICBtYXgtaGVpZ2h0OiA0NDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWRldGFpbGVkLWNsYXNzaWZpY2F0aW9ucyAuZWRpdCB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtZGV0YWlsZWQtY2xhc3NpZmljYXRpb25zIC5lZGl0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMgLmFjY291bnQtY2xhc3MtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtZGV0YWlsZWQtY2xhc3NpZmljYXRpb25zIC50aW1lLXBlcmlvZC1pbmZvIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMgLndpZGdldC1saW5lLmhlYWRlci5zb3J0aW5nIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1leHBlbnNlLXdlaWdodCAubGVnZW5kIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LWhlaWdodDogMTE1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1leHBlbnNlLXdlaWdodCAubGVnZW5kIC50aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWN1c3RvbS1jYWxjdWxhdGlvbiBoMyB7XG4gIG1hcmdpbi10b3A6IDg1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jdXN0b20tY2FsY3VsYXRpb24gLmxlZ2VuZCB7XG4gIG1heC1oZWlnaHQ6IDEyNXB4O1xufVxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24ge1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xufVxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24gLm1vZGFsLWJvZHkgLmVkaXQge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGNvbG9yOiAjNUI2NjY3O1xuICBwYWRkaW5nOiAycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogNXB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IC5lZGl0IC5ib3R0b20tYnV0dG9ucyAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgcGFkZGluZzogM3B4IDEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IC5lZGl0IC5ib3R0b20tYnV0dG9ucyAuYnRuLmJ0bi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2E4YWJhYjtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24gLm1vZGFsLWJvZHkgLmVkaXQgLmJvdHRvbS1idXR0b25zIC5idG4uYnRuLWRlZmF1bHQ6aG92ZXIge1xuICBib3JkZXI6IHNvbGlkIDFweCAjOGU5MjkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhYmFiO1xufVxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24gLm1vZGFsLWJvZHkgLmVkaXQgaDQge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI2M0Y2FjYTtcbn1cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IC5lZGl0IC5wYXJ0IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2RmZTJlMjtcbn1cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IC5lZGl0IC5wYXJ0IGg1IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMHB4IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4uYW5hbHl0aWNzLm1vZGFsLWN1c3RvbS1jYWxjdWxhdGlvbiAubW9kYWwtYm9keSAuZWRpdCAucGFydCBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uYW5hbHl0aWNzLm1vZGFsLWN1c3RvbS1jYWxjdWxhdGlvbiAubW9kYWwtYm9keSAuZWRpdCAucGFydCBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgbWFyZ2luOiAwcHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNhY2IwYjE7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzcyNzI4Yjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWV4cGVuc2VzLXJldmVudWUgLmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtZXhwZW5zZXMtcmV2ZW51ZSAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXBheWFibGUtcmVjZWl2YWJsZSBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXBheWFibGUtcmVjZWl2YWJsZSAubGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1wYXlhYmxlLXJlY2VpdmFibGUgLnBheWFibGUge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcGF5YWJsZS1yZWNlaXZhYmxlIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXByb2ZpdC1hbmQtbG9zcyAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1wcm9maXQtYW5kLWxvc3MgLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXByb2ZpdC1hbmQtbG9zcyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDU0MHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogc29saWQgMXB4IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUgLnNlbGVjdGlvbi10YWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDBweDtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMjlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlMGZiO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUubm8tc2VsZWN0IHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUubm8tc2VsZWN0OmhvdmVyIHtcbiAgY29sb3I6ICM2MjZkNmQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1wcm9maXQtYW5kLWxvc3MgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAyMzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXByb2ZpdC1hbmQtbG9zcyAubm8tZWxlbWVudCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXByb2ZpdC1hbmQtbG9zcyAucm93LmxpbmVzLWdyb3VwLnByb2ZpdCB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweDtcbiAgYm9yZGVyLWJvdHRvbTogZG91YmxlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDIxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC5yb3cud2lkZ2V0LWxpbmUuaGVhZGVyID4gW2NsYXNzKj0nY29sLSddIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyAubGVmdC1wYW5lbCB7XG4gIG1heC1oZWlnaHQ6IDIzMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcmF0aW9zIC5sZWZ0LXBhbmVsIC5zZXBhcmF0b3Ige1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzVCNjY2NztcbiAgd2lkdGg6IDc1JTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyAubGVmdC1wYW5lbCAubWVtYmVyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcmF0aW9zIC5sZWZ0LXBhbmVsIC5tZW1iZXIgLnByaWNlIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1yYXRpb3MgLmxlZnQtcGFuZWwgYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyAubGVmdC1wYW5lbC5zaW11bGF0aW9uIC5tZW1iZXIge1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcmF0aW9zIC5sZWZ0LXBhbmVsLnNpbXVsYXRpb24gLm1lbWJlciAubGVnZW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyAubGVmdC1wYW5lbC5zaW11bGF0aW9uIC5tZW1iZXIgLnByaWNlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1yYXRpb3MgLmxlZnQtcGFuZWwuc2ltdWxhdGlvbiAuc2VwYXJhdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItZW1wbG95ZWUtZGV0YWlscyAuZGV0YWlscy1jb250YWluZXIge1xuICBwYWRkaW5nOiAwcHg7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIC5yaWdodC1wYW5lbCAuZGV0YWlscy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIC5yaWdodC1wYW5lbCAubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItZW1wbG95ZWUtZGV0YWlscyAudGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWVtcGxveWVlcy1saXN0IC5sZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZXMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWVtcGxveWVlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItZW1wbG95ZWVzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZXMtbGlzdCAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1sZWF2ZXMtYmFsYW5jZSAuZW1wbG95ZWUtbmFtZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1iYWxhbmNlIC5iYWxhbmNlIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1sZWF2ZXMtYmFsYW5jZSBoMyB7XG4gIG1hcmdpbi10b3A6IDMzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1zY2hlZHVsZSAuZmMtYnV0dG9uIHtcbiAgaGVpZ2h0OiAyMnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTc3YmYwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1zY2hlZHVsZSAuZmMtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjOTc3YmYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItbGVhdmVzLXNjaGVkdWxlIC5mYy10b29sYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItbGVhdmVzLXNjaGVkdWxlIC5mYy1kYXktZ3JpZCxcbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1zY2hlZHVsZSAuZmMtd2lkZ2V0LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXBheXJvbGwtc3VtbWFyeSAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSAuc2VsZWN0aW9uLXRhZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMHB4O1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAyOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZmI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Qge1xuICBjdXJzb3I6IGF1dG87XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Q6aG92ZXIge1xuICBjb2xvcjogIzYyNmQ2ZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXBheXJvbGwtc3VtbWFyeSAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IC5uby1lbGVtZW50IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDE0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSBoMy5sZWZ0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXNhbGFyaWVzLXN1bW1hcnkgaDMubGVmdCB7XG4gICAgbWFyZ2luLXRvcDogNjlweDtcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSBoMy5yZWR1Y2VkLWxlZnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSBoMy5yZWR1Y2VkLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXNhbGFyaWVzLXN1bW1hcnkgaDMucmlnaHQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1zYWxhcmllcy1zdW1tYXJ5IC5wcmljZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1zYWxhcmllcy1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXNhbGFyaWVzLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lIHtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSAucmlnaHQtcGFuZWwgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc3VwZXJhbm51YXRpb24tYWNjcnVhbHMgaDMge1xuICBtYXJnaW4tdG9wOiA2M3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1zdXBlcmFubnVhdGlvbi1hY2NydWFscyAubGVnZW5kIHtcbiAgbWFyZ2luLXRvcDogMjNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXN1cGVyYW5udWF0aW9uLWFjY3J1YWxzIC5jdXJyZW5jeSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXN1cGVyYW5udWF0aW9uLWFjY3J1YWxzIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItdGltZXNoZWV0cyAuY3VycmVuY3kge1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci10aW1lc2hlZXRzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMjEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci13b3JrZm9yY2Utc3VtbWFyeSBoMy5sZWZ0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IGgzLmxlZnQge1xuICAgIG1hcmdpbi10b3A6IDY5cHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IGgzLnJlZHVjZWQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci13b3JrZm9yY2Utc3VtbWFyeSBoMy5yZWR1Y2VkLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IGgzLnJpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItd29ya2ZvcmNlLXN1bW1hcnkgLnByaWNlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IC5yaWdodC1wYW5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyB7XG4gICAgaGVpZ2h0OiA1NjVweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC5lZGl0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogc29saWQgMXB4IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lIC5zZWxlY3Rpb24tdGFnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwcHg7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWFnZWQtcGF5YWJsZXMtcmVjZWl2YWJsZXMgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZmI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUubm8tc2VsZWN0IHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lLm5vLXNlbGVjdDpob3ZlciB7XG4gIGNvbG9yOiAjNjI2ZDZkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAubm8tZWxlbWVudCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWFnZWQtcGF5YWJsZXMtcmVjZWl2YWJsZXMgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMjE1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC5yb3cuYXN0ZXJpY2tzLWluZm8ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMjMwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmU6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtbGlzdCAuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtbGlzdCAuZmEuZmEtaW5mby1jaXJjbGUge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWxpc3QgLnJpZ2h0LWNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1zdW1tYXJ5IC5jaGFydC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDQxMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtc3VtbWFyeSAubGVnZW5kIHtcbiAgbWF4LWhlaWdodDogMjhweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1hZ2VkIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1ODVweDtcbiAgICBtYXgtaGVpZ2h0OiA0NDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQgLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyMzhweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWJyZWFrLWV2ZW4gLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1icmVhay1ldmVuIC5ibG9jayB7XG4gIG1hcmdpbjogNXB4O1xuICBwYWRkaW5nOiAwcHggMTBweCA1cHggMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IC03cHggIzE3MjYyZDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtYnJlYWstZXZlbiAuYmxvY2sgZm9ybS5lZGl0YWJsZS13cmFwIC5lZGl0YWJsZS1jb250cm9scyBpbnB1dCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgd2lkdGg6IDEwMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtYnJlYWstZXZlbiAuYmxvY2sudG8tZGF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIGNvbG9yOiAjNUI2NjY3O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtYnJlYWstZXZlbiAuYmxvY2sudG8tYnJlYWtldmVuIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MjgzMTtcbiAgY29sb3I6ICMxZGU5YjY7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1icmVhay1ldmVuIC5ibG9jay50by1icmVha2V2ZW4gLnRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMyYTQ0NTM7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1icmVhay1ldmVuIC5ibG9jay50by1icmVha2V2ZW4gLmRlZmluZS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBjb2xvcjogIzFkZTliNjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWJyZWFrLWV2ZW4gLmJsb2NrLnRvLWJyZWFrZXZlbiAucHJpY2Uge1xuICBjb2xvcjogIzFkZTliNjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWJyZWFrLWV2ZW4gLmJsb2NrIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZTZlZGVlO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiB7XG4gIG1pbi1oZWlnaHQ6IDU2NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24ge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAuZWRpdCB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDU0MHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24gLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSAuc2VsZWN0aW9uLXRhZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMHB4O1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAyOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jb21wYXJpc29uIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlMGZiO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lLm5vLXNlbGVjdCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24gLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Q6aG92ZXIge1xuICBjb2xvcjogIzYyNmQ2ZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24gLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAyMzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24gLm5vLWVsZW1lbnQge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jb21wYXJpc29uIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTMwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jb21wYXJpc29uIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAuY3VycmVuY3ktY29udmVyc2lvbnMgaW1nIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWN1c3RvbWVyLWRldGFpbHMge1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jdXN0b21lci1kZXRhaWxzIC5sb2FkZXIge1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jdXN0b21lci1kZXRhaWxzIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWN1c3RvbWVyLWRldGFpbHMgLmRldGFpbHMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAxOTRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWN1c3RvbWVyLWRldGFpbHMgLnJpZ2h0LXBhbmVsIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjMwcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWN1c3RvbWVyLWRldGFpbHMgLnJpZ2h0LXBhbmVsIC5sZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jdXN0b21lci1kZXRhaWxzIC5yb3cudGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWN1c3RvbWVyLWRldGFpbHMgLmN1cnJlbmN5LWNvbnZlcnNpb25zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY3ljbGUgLmNoYXJ0LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jeWNsZSAubGVnZW5kIHtcbiAgbWF4LWhlaWdodDogMjhweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZm9yZWNhc3Qge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZm9yZWNhc3QgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1ODVweDtcbiAgICBtYXgtaGVpZ2h0OiA0NDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1mb3JlY2FzdCAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZm9yZWNhc3QgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyNzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluIC5zZWxlY3Rpb24tdGFnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwcHg7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTBmYjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluLm5vLXNlbGVjdCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluLm5vLXNlbGVjdDpob3ZlciB7XG4gIGNvbG9yOiAjNjI2ZDZkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZ3Jvd3RoIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZ3Jvd3RoIC5sZWdlbmQge1xuICBtYXgtaGVpZ2h0OiA0OXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtZnVubmVsIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtZnVubmVsIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWZ1bm5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtZnVubmVsIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1mdW5uZWwgLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWZ1bm5lbCAuZnVubmVsLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA5NSU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWF4LWhlaWdodDogNTA1cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtZnVubmVsIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1mdW5uZWwgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyMzBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMjMwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmU6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAxNzBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIubm8tc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1saXN0IC5zZWxlY3RvciB7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxpc3QgLmN1cnJlbmN5LWNvbnZlcnNpb25zIGltZyB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1uZXQtc2FsZXMgLnZhbHVlLWNvbnRhaW5lcixcbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldC1zYWxlcyAub3BlcmF0b3Ige1xuICBsaW5lLWhlaWdodDogODVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldC1zYWxlcyAudmFsdWUtY29udGFpbmVyIC50aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDEuMmVtO1xuICBwYWRkaW5nOiAxMHB4IDBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldC1zYWxlcyAudmFsdWUtY29udGFpbmVyIC52YWx1ZS1ib3gge1xuICBmb250LXNpemU6IDEuM2VtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI0M0Q0FDQTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNDNENBQ0E7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1uZXQtc2FsZXMgLm9wZXJhdG9yIHtcbiAgcGFkZGluZy10b3A6IDM4cHg7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbmV0LXNhbGVzIC52YWx1ZXMge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLnNlbGVjdG9yIC5zZWxlY3Rvci13cmFwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbmV3LXZzLWV4aXN0aW5nLWN1c3RvbWVycyAuY2hhcnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLmxlZ2VuZCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1heC1oZWlnaHQ6IDc3cHggIWltcG9ydGFudDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLmxlZ2VuZCAucm93IHtcbiAgbWFyZ2luOiAwcHggLTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLmxlZ2VuZCAucm93ID4gZGl2IHtcbiAgcGFkZGluZzogMHB4IDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLmxlZ2VuZCAudG90YWwge1xuICBjb2xvcjogIzVCNjY2NztcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbnVtYmVyLW9mLWxlYWRzIC5zdGF0cyB7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW51bWJlci1vZi1sZWFkcyAuc3RhdHMgLnN0YXQge1xuICBtYXJnaW46IDE1cHggMHB4IDEwcHggMHB4O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U2ZWRlZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW51bWJlci1vZi1sZWFkcyAuc3RhdHMgLnN0YXQgc3Bhbi50aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbnVtYmVyLW9mLWxlYWRzIC5zdGF0cyAuc3RhdCBzcGFuLm5vbWluYWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbnVtYmVyLW9mLWxlYWRzIC5zdGF0cyAuc3RhdCBzcGFuLnZhcmlhdGlvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDUwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtb3Bwb3J0dW5pdGllcy1mdW5uZWwge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbCB7XG4gICAgaGVpZ2h0OiA1NjVweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtb3Bwb3J0dW5pdGllcy1mdW5uZWwgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW9wcG9ydHVuaXRpZXMtZnVubmVsIC5lZGl0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbCAuZnVubmVsLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA5NSU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWF4LWhlaWdodDogNTA1cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtb3Bwb3J0dW5pdGllcy1mdW5uZWwgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW9wcG9ydHVuaXRpZXMtZnVubmVsIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSB7XG4gIG1pbi1oZWlnaHQ6IDU2NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAuZWRpdCB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtcGVyZm9ybWFuY2UgLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUgLnNlbGVjdGlvbi10YWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDBweDtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMjlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtcGVyZm9ybWFuY2UgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZmI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lLm5vLXNlbGVjdCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUubm8tc2VsZWN0OmhvdmVyIHtcbiAgY29sb3I6ICM2MjZkNmQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtcGVyZm9ybWFuY2UgLm5vLWVsZW1lbnQge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyIC5zZWxlY3Rpb24tdGFnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwcHg7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTBmYjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyLm5vLXNlbGVjdCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyLm5vLXNlbGVjdDpob3ZlciB7XG4gIGNvbG9yOiAjNjI2ZDZkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyIGgzLnJpZ2h0IHtcbiAgbWFyZ2luLXRvcDogNTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyIC5zZWxlY3RvciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1zZWdtZW50ZWQtdHVybm92ZXIgLmFuYWx5c2lzIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1zZWdtZW50ZWQtdHVybm92ZXIgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiA3NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXNlZ21lbnRlZC10dXJub3ZlciAucmlnaHQtcGFuZWwgaDMge1xuICBtYXJnaW46IDE1cHggMTBweCA1cHggMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyIC5yaWdodC1wYW5lbCAuZmEuZmEtaW5mby1jaXJjbGUge1xuICBmbG9hdDogbGVmdDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXN1bW1hcnkgLmNoYXJ0LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1zdW1tYXJ5IC5sZWdlbmQge1xuICBtYXgtaGVpZ2h0OiAyOHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc3VtbWFyeSAuc2VsZWN0b3Ige1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3AtY3VzdG9tZXJzIC5zZWxlY3RvciB7XG4gIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI0U2RTZFNjtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1jdXN0b21lcnMgLnNlbGVjdG9yIGEge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyAuc2VsZWN0b3IgLnBhcmFtLXNlbGVjdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuc3ViLWxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAucm93ID4gW2NsYXNzKj0nY29sLSddIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1jdXN0b21lcnMgLmN1cnJlbmN5LWNvbnZlcnNpb25zIGltZyB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3Atb3Bwb3J0dW5pdGllcyAub3Bwcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAxOTVweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLW9wcG9ydHVuaXRpZXMgLm9wcHMtY29udGFpbmVyIC50aWxlIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3Atb3Bwb3J0dW5pdGllcyAub3Bwcy1jb250YWluZXIgLnRpbGUgLmNvbG9yZWQtYXJlYSB7XG4gIHdpZHRoOiAxMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLW9wcG9ydHVuaXRpZXMgLm9wcHMtY29udGFpbmVyIC50aWxlIC5tYWluLXRleHQge1xuICBjb2xvcjogIzVCNjY2NztcbiAgcGFkZGluZzogM3B4IDBweCAwcHggMTBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5maXJzdCB7XG4gIGhlaWdodDogNTVweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5maXJzdCAuY29sb3JlZC1hcmVhIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmU0MTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5maXJzdCAubWFpbi10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDhweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5zZWNvbmQge1xuICBoZWlnaHQ6IDU1cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5zZWNvbmQgLmNvbG9yZWQtYXJlYSB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGU5YjY7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3Atb3Bwb3J0dW5pdGllcyAub3Bwcy1jb250YWluZXIgLnRpbGUuc2Vjb25kIC5tYWluLXRleHQge1xuICBwYWRkaW5nLXRvcDogOHB4O1xufVxuY2hhcnQtdGhyZXNob2xkIC5hdHRhY2gtcGFuZWwge1xuICBwYWRkaW5nOiA1cHggMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDEzMiwgMjI4LCAwLjE2KTtcbn1cbmNoYXJ0LXRocmVzaG9sZCAuYXR0YWNoLXBhbmVsID4gLmF0dGFjaC1wYW5lbC10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuY2hhcnQtdGhyZXNob2xkIC5hdHRhY2gtcGFuZWwgPiAuYXR0YWNoLXBhbmVsLXRleHQgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuY2hhcnQtdGhyZXNob2xkIC5hdHRhY2gtcGFuZWwgLnBhbmVsLXRleHQtbGFiZWwge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbmNoYXJ0LXRocmVzaG9sZCAuYXR0YWNoLXBhbmVsIC5wYW5lbC10ZXh0LWlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDFweCB3aGl0ZTtcbiAgcGFkZGluZzogM3B4O1xufVxuY2hhcnQtdGhyZXNob2xkIC5hdHRhY2gtcGFuZWwgLnBhbmVsLXRleHQtY3VycmVuY3kge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDA7XG59XG5jaGFydC10aHJlc2hvbGQgLmFjdGlvbi1idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5jaGFydC10aHJlc2hvbGQgLmFjdGlvbi1idXR0b25zIGJ1dHRvbiB7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbmNoYXJ0LXRocmVzaG9sZCAuYWN0aW9uLWJ1dHRvbnMgYnV0dG9uLmxvYWRpbmcge1xuICBwYWRkaW5nOiAzcHggMjBweDtcbn1cbi5jdXJyZW5jeS1jb252ZXJzaW9ucyBpbWcge1xuICB3aWR0aDogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmN1cnJlbmN5LWNvbnZlcnNpb25zLnBvcG92ZXIgLnBvcG92ZXItdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmVkaXRhYmxlLXRpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMjJweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5lZGl0YWJsZS10aXRsZSAudGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjNGY1OTU5O1xuICBjdXJzb3I6IHRleHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBsaW5lLWhlaWdodDogMS45O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmVkaXRhYmxlLXRpdGxlIC5lZGl0YWJsZS13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5lZGl0YWJsZS10aXRsZSAuZWRpdGFibGUtd3JhcCAuZWRpdGFibGUtY29udHJvbHMge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuZWRpdGFibGUtdGl0bGUgLmVkaXRhYmxlLXdyYXAgLmVkaXRhYmxlLWNvbnRyb2xzIC5lZGl0YWJsZS1pbnB1dCB7XG4gIGhlaWdodDogMjBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gIHBhZGRpbmc6IDBweCAzcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuZWRpdGFibGUtdGl0bGUgLmVkaXRhYmxlLXdyYXAgLmVkaXRhYmxlLWNvbnRyb2xzIC5lZGl0YWJsZS1idXR0b25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuZWRpdGFibGUtdGl0bGUgLmVkaXRhYmxlLXdyYXAgLmVkaXRhYmxlLWNvbnRyb2xzIC5lZGl0YWJsZS1idXR0b25zIGJ1dHRvbiB7XG4gIG1hcmdpbjogMHB4IDBweCAwcHggNXB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDBweCA1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICBsZWZ0OiAxNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogZG90dGVkIDFweCAjQjdDRENFO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LWZhbWlseTogXCJMYXRvIFNlbWlib2xkXCIsIFwiTGF0b1wiO1xuICB6LWluZGV4OiA0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWw6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzkyODtcbiAgY29sb3I6ICMxRTMwM0I7XG4gIHBhZGRpbmc6IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0byBNZWRpdW1cIiwgXCJMYXRvXCI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5pbmZvLXBhbmVsIC5pLWhlYWRlciAuZmEge1xuICBmb250LXNpemU6IDE4cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCAuaS1oZWFkZXIgLmZhLWluZm8tY2lyY2xlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCAuaS1oZWFkZXIgLmZhLXRpbWVzLWNpcmNsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktY29udGVudCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogNXB4O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBmbGV4OiAxO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktY29udGVudCAucm93IHtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2FiYzRjNjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5pbmZvLXBhbmVsIC5pLWNvbnRlbnQgLnJvdzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCAuaS1jb250ZW50IC5yb3cgLmtleSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktY29udGVudCAucm93IC5rZXkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktY29udGVudCAucm93IC52YWx1ZSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG4uYW5hbHl0aWNzIC50aW1lLXBlcmlvZC1pbmZvIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogI0FCQzRDNjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLnRvcC1saW5lIC50b3AtYnV0dG9ucyAudG9wLWJ1dHRvbnMtd3JhcHBlciAudG9wLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjYzRjYWNhO1xuICBwYWRkaW5nOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICB3aWR0aDogMTdweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMgLnRvcC1idXR0b25zLXdyYXBwZXIgLnRvcC1idXR0b246YWN0aXZlLFxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLnRvcC1saW5lIC50b3AtYnV0dG9ucyAudG9wLWJ1dHRvbnMtd3JhcHBlciAudG9wLWJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1pbmZvIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1pbmZvOmhvdmVyIHtcbiAgY29sb3I6ICNGRkM5Mjg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1yZWZyZXNoIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1yZWZyZXNoOmhvdmVyIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1lZGl0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLnRvcC1saW5lIC50b3AtYnV0dG9ucyAudG9wLWJ1dHRvbnMtd3JhcHBlciAudG9wLWJ1dHRvbi5idG4tZWRpdDpob3Zlcixcbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMgLnRvcC1idXR0b25zLXdyYXBwZXIgLnRvcC1idXR0b24uYnRuLWVkaXQuZWRpdC1tb2RlIHtcbiAgY29sb3I6ICNjZmQ4NDk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1jbG9zZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMgLnRvcC1idXR0b25zLXdyYXBwZXIgLnRvcC1idXR0b24uYnRuLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6ICNlZDFlNzk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3Muc2VsZWN0LWFjY291bnQge1xuICBwYWRkaW5nOiAwcHggNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYWNjb3VudGluZy1iZWhhdmlvdXIgLmJ0bi5idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYmE5ZjU7XG4gIGJvcmRlcjogc29saWQgMXB4ICM5NzdiZjA7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hY2NvdW50aW5nLWJlaGF2aW91ciAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLFxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYWNjb3VudGluZy1iZWhhdmlvdXIgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmF0dGFjaC1rcGkge1xuICBwYWRkaW5nOiA4cHggNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmF0dGFjaC1rcGkgZm9ybSAucm93IHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5hdHRhY2gta3BpIC5hdHRhY2gta3BpLWZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgcGFkZGluZzogNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmF0dGFjaC1rcGkgZm9ybSAucm93LmtwaS1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHggMnB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmF0dGFjaC1rcGkgZm9ybSAucm93LmtwaS1kZXNjcmlwdGlvbiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEzcHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAuYXR0YWNoLWtwaSBmb3JtLmF0dGFjaC1rcGktZm9ybSBpbnB1dC5hdHRhY2gtdGFyZ2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGhlaWdodDogaW5oZXJpdDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5hdHRhY2gta3BpIC5lcnJvci1tZXNzYWdlcyB7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICB3aWR0aDogMTIwcHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAuYXR0YWNoZWQta3BpcyB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5saXN0LWdyb3VwLWl0ZW0uYXR0YWNoZWQta3BpIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYXR0YWNoZWQta3BpLW5hbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogNzUlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYWN0aW9ucyB7XG4gIHBhZGRpbmctdG9wOiAycHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYWN0aW9ucyAuYWxlcnRzLWNvbmZpZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgd2lkdGg6IDIxcHg7XG4gIGNvbG9yOiAjMzU4ZmRjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5saXN0LWdyb3VwLWl0ZW0uYXR0YWNoZWQta3BpIC5hY3Rpb25zIC5hbGVydHMtY29uZmlnOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmxpc3QtZ3JvdXAtaXRlbS5hdHRhY2hlZC1rcGkgLmFjdGlvbnMgLmVkaXQtYXR0YWNoZWQta3BpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmxpc3QtZ3JvdXAtaXRlbS5hdHRhY2hlZC1rcGkgLmFjdGlvbnMgLmVkaXQtYXR0YWNoZWQta3BpIGkge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB3aWR0aDogMjFweDtcbiAgY29sb3I6ICMzNThmZGM7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDNweCA1cHggNXB4IDVweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5saXN0LWdyb3VwLWl0ZW0uYXR0YWNoZWQta3BpIC5hY3Rpb25zIC5lZGl0LWF0dGFjaGVkLWtwaSBpOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmxpc3QtZ3JvdXAtaXRlbS5hdHRhY2hlZC1rcGkgLmFjdGlvbnMgLnJlbW92ZS1hdHRhY2hlZC1rcGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYWN0aW9ucyAucmVtb3ZlLWF0dGFjaGVkLWtwaSBpIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgd2lkdGg6IDIxcHg7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAzcHggNXB4IDVweCA1cHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNlMDFmNzQ7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYWN0aW9ucyAucmVtb3ZlLWF0dGFjaGVkLWtwaSBpOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmNoYXJ0LWZpbHRlcnMgLnJvdyB7XG4gIG1hcmdpbjogMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmNoYXJ0LWZpbHRlcnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuY2hhcnQtZmlsdGVycyBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIGg1IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmRhdGVzLXBpY2tlciBidXR0b24uYnRuLmJ0bi1zbSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIGJ1dHRvbi5idG4uYnRuLXNtLmRhdGUtYnV0dG9uIHtcbiAgbWFyZ2luOiAwcHggNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIGJ1dHRvbi5idG4uYnRuLXNtLmJ0bi1kYW5nZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIGJ1dHRvbi5idG4uYnRuLXNtLmJ0bi1pbmZvIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIC50b29sdGlwLWlubmVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5kYXRlcy1waWNrZXIgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGRpdiA+IHRhYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIHtcbiAgbWF4LWhlaWdodDogNzBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIFtjb21tb24tdGltZS1wZXJpb2QtaW5mb10ge1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmhpc3QtbW9kZS1jaG9zZXIgLm9wdGlvbnMge1xuICB3aWR0aDogMTUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlNmU2ZTY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuaGlzdC1tb2RlLWNob3NlciAub3B0aW9ucyBhIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI2M0Y2FjYTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIC5vcHRpb25zIGEuYWN0aXZlIHtcbiAgY29sb3I6ICM5NzdiZjA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuaGlzdC1tb2RlLWNob3NlciAuYXJyb3ctY29udGFpbmVyIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xNHB4O1xuICBtYXJnaW46IGF1dG87XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuaGlzdC1tb2RlLWNob3NlciAuYXJyb3ctY29udGFpbmVyLnJpZ2h0IHtcbiAgbGVmdDogNDZweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIC5hcnJvdy1jb250YWluZXIubGVmdCB7XG4gIGxlZnQ6IC0zMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmhpc3QtbW9kZS1jaG9zZXIgLmFycm93LWNvbnRhaW5lciAuYXJyb3ctYm9yZGVyIHtcbiAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIC5hcnJvdy1jb250YWluZXIgLmFycm93IHtcbiAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLWxlZnQ6IDE0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEycHg7XG4gIHdpZHRoOiAwcHg7XG4gIGhlaWdodDogMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MubGltaXQtZW50cmllcyB7XG4gIGNvbG9yOiAjMUUzMDNCO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI0U2RTZFNjtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmxpbWl0LWVudHJpZXMgYS5vcHRpb24uYmFkZ2Uge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRTMwM0I7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5vZmZzZXRzIC5vZmZzZXQtdmFsdWUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLm9mZnNldHMgLm9mZnNldC12YWx1ZSAuZmEtdHJhc2gtbyB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3Mub2Zmc2V0cyAub2Zmc2V0LXZhbHVlIC5mYS10cmFzaC1vOmhvdmVyIHtcbiAgY29sb3I6ICNlMDFmNzQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLm9mZnNldHMgaW5wdXQge1xuICB3aWR0aDogNzUlO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3Mub2Zmc2V0cyBidXR0b24ge1xuICB3aWR0aDogMzBweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLm9yZ2FuaXphdGlvbnMgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lIHtcbiAgcGFkZGluZzogNXB4IDEwcHggNXB4IDE4cHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5vcmdhbml6YXRpb25zIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY0O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3Mub3JnYW5pemF0aW9ucyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmU6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLm9yZ2FuaXphdGlvbnMgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lIC5mYSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5vcmdhbml6YXRpb25zIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSAuZmEuZmEtdG9nZ2xlLW9uIHtcbiAgY29sb3I6ICM5NzdiZjA7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5vcmdhbml6YXRpb25zIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSAuZmEuZmEtdG9nZ2xlLW9mZiB7XG4gIGNvbG9yOiAjOWJhNmE3O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yLmNsYXNzaWMge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5wYXJhbS1zZWxlY3Rvci5jbGFzc2ljIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMHB4IDBweCA1cHggMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIGEge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzk3N2JmMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5wYXJhbS1zZWxlY3RvciAub3B0aW9ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtaW4td2lkdGg6IDE1MHB4O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgei1pbmRleDogOTk5O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC13ZWJraXQtYm94LXNoYWRvdzogIzAwMDAwMCAwcHggM3B4IDE1cHggLTNweDtcbiAgYm94LXNoYWRvdzogIzAwMDAwMCAwcHggM3B4IDE1cHggLTNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5wYXJhbS1zZWxlY3RvciAub3B0aW9ucy1jb250YWluZXIgLnBhcmFtLXNlbGVjdG9yLWxhYmVsIHtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogYmxhY2s7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGxpbmUtaGVpZ2h0OiAxLjk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW0tc2VsZWN0b3IgLm9wdGlvbnMtY29udGFpbmVyIC5wYXJhbS1zZWxlY3Rvci1sYWJlbDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2JmMDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlMmU0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTk5MmYzO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMge1xuICBwYWRkaW5nOiAycHggMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMgaW5wdXQge1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLnBhcmFtcy1jaGVja2JveGVzIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW1zLXBpY2tlciB7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtcy1waWNrZXIgLnBhcmFtZXRlciB7XG4gIG1hcmdpbjogMHB4IDNweCAzcHggMHB4O1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUzMDNCO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogc29saWQgMXB4ICMxRTMwM0I7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBtb3ZlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW1zLXBpY2tlciAucGFyYW1ldGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogMHB4IC0zcHggMHB4IDNweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW1zLXBpY2tlciAucGFyYW1ldGVyIC5iYWRnZSB7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGNvbG9yOiAjMUUzMDNCO1xuICBwYWRkaW5nOiAycHggNnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtcy1waWNrZXIgLnBhcmFtZXRlci51bmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjYzJjNGM0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtcy1waWNrZXIgLnBhcmFtZXRlci51bmNoZWNrZWQgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciB7XG4gIHBhZGRpbmc6IDBweCA1cHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy50YWctZmlsdGVyIC5idG4uYnRuLWRlZmF1bHQge1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciAudGFnLWxpbmVzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciAudGFnLWxpbmVzLWNvbnRhaW5lciAudGFnLWxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciAudGFnLWxpbmVzLWNvbnRhaW5lciAudGFnLWxpbmUgLnRhZ3MtY29sIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLnRhZy1maWx0ZXIgLnRhZy1saW5lcy1jb250YWluZXIgLnRhZy1saW5lIHRhZ3MtaW5wdXQgLnRhZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy50YWctZmlsdGVyIC50YWctbGluZXMtY29udGFpbmVyIC50YWctbGluZSB0YWdzLWlucHV0IC50YWdzIC50YWctaXRlbSB7XG4gIGJhY2tncm91bmQ6ICM3OWEyYmI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciAudGFnLWxpbmVzLWNvbnRhaW5lciAudGFnLWxpbmUgLmhvc3Qge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGltZS1wZXJpb2Qge1xuICBwYWRkaW5nOiAwcHggNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGltZS1wZXJpb2Qgc2VsZWN0IHtcbiAgaGVpZ2h0OiAyMnB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLnRpbWUtcGVyaW9kID4gLnJvdyB7XG4gIG1hcmdpbjogMHB4IC01cHggN3B4IC01cHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy50aW1lLXBlcmlvZCA+IC5yb3cgPiBkaXYge1xuICBwYWRkaW5nOiAwcHggNXB4O1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGltZS1wZXJpb2QgPiAucm93IC5zdWItc2V0dGluZyB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy53aWR0aCB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLndpZHRoIGkge1xuICBjb2xvcjogc2lsdmVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3Mud2lkdGggaS5yZWR1Y2Uge1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLndpZHRoIGkuZXhwYW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAtM3B4O1xufVxuLyogZW5kaW5qZWN0ICovXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbi8vICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbi8vXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMVxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbi8vIGFuZCBGaXJlZm94LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbi8vXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbi8vIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4vLyBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuLy9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuLy8gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuLy9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vXG4vLyBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4vLyBhY3RpdmUvaG92ZXIgc3RhdGUuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4vLyBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4vLyBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbi8vXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuLy8gMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuLy9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuLy8gTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBUYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vXG4vLyBHbHlwaGljb25zIGZvciBCb290c3RyYXBcbi8vXG4vLyBTaW5jZSBpY29ucyBhcmUgZm9udHMsIHRoZXkgY2FuIGJlIHBsYWNlZCBhbnl3aGVyZSB0ZXh0IGlzIHBsYWNlZCBhbmQgYXJlXG4vLyB0aHVzIGF1dG9tYXRpY2FsbHkgc2l6ZWQgdG8gbWF0Y2ggdGhlIHN1cnJvdW5kaW5nIGNoaWxkLiBUbyB1c2UsIGNyZWF0ZSBhblxuLy8gaW5saW5lIGVsZW1lbnQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgY2xhc3NlcywgbGlrZSBzbzpcbi8vXG4vLyA8YSBocmVmPVwiI1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1zdGFyXCI+PC9zcGFuPiBTdGFyPC9hPlxuXG4vLyBJbXBvcnQgdGhlIGZvbnRzXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIHNyYzogdXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LmVvdCcpO1xuICBzcmM6IHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJ0B7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LnN2ZyNAe2ljb24tZm9udC1zdmctaWR9JykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLy8gQ2F0Y2hhbGwgYmFzZWNsYXNzXG4uZ2x5cGhpY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIEluZGl2aWR1YWwgaWNvbnNcbi5nbHlwaGljb24tYXN0ZXJpc2sgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwMmFcIjsgfSB9XG4uZ2x5cGhpY29uLXBsdXMgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMDJiXCI7IH0gfVxuLmdseXBoaWNvbi1ldXJvLFxuLmdseXBoaWNvbi1ldXIgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBhY1wiOyB9IH1cbi5nbHlwaGljb24tbWludXMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIyMTJcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNjAxXCI7IH0gfVxuLmdseXBoaWNvbi1lbnZlbG9wZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjcwOVwiOyB9IH1cbi5nbHlwaGljb24tcGVuY2lsICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI3MGZcIjsgfSB9XG4uZ2x5cGhpY29uLWdsYXNzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAxXCI7IH0gfVxuLmdseXBoaWNvbi1tdXNpYyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwMlwiOyB9IH1cbi5nbHlwaGljb24tc2VhcmNoICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYXJ0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA1XCI7IH0gfVxuLmdseXBoaWNvbi1zdGFyICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwNlwiOyB9IH1cbi5nbHlwaGljb24tc3Rhci1lbXB0eSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDdcIjsgfSB9XG4uZ2x5cGhpY29uLXVzZXIgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA4XCI7IH0gfVxuLmdseXBoaWNvbi1maWxtICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwOVwiOyB9IH1cbi5nbHlwaGljb24tdGgtbGFyZ2UgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRoICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDExXCI7IH0gfVxuLmdseXBoaWNvbi10aC1saXN0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMlwiOyB9IH1cbi5nbHlwaGljb24tb2sgICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTNcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE0XCI7IH0gfVxuLmdseXBoaWNvbi16b29tLWluICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNVwiOyB9IH1cbi5nbHlwaGljb24tem9vbS1vdXQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTZcIjsgfSB9XG4uZ2x5cGhpY29uLW9mZiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE3XCI7IH0gfVxuLmdseXBoaWNvbi1zaWduYWwgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxOFwiOyB9IH1cbi5nbHlwaGljb24tY29nICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyYXNoICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIwXCI7IH0gfVxuLmdseXBoaWNvbi1ob21lICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMVwiOyB9IH1cbi5nbHlwaGljb24tZmlsZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjJcIjsgfSB9XG4uZ2x5cGhpY29uLXRpbWUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIzXCI7IH0gfVxuLmdseXBoaWNvbi1yb2FkICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNFwiOyB9IH1cbi5nbHlwaGljb24tZG93bmxvYWQtYWx0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjVcIjsgfSB9XG4uZ2x5cGhpY29uLWRvd25sb2FkICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI2XCI7IH0gfVxuLmdseXBoaWNvbi11cGxvYWQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyN1wiOyB9IH1cbi5nbHlwaGljb24taW5ib3ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjhcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYXktY2lyY2xlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI5XCI7IH0gfVxuLmdseXBoaWNvbi1yZXBlYXQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMFwiOyB9IH1cbi5nbHlwaGljb24tcmVmcmVzaCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWxpc3QtYWx0ICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMyXCI7IH0gfVxuLmdseXBoaWNvbi1sb2NrICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzM1wiOyB9IH1cbi5nbHlwaGljb24tZmxhZyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzRcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYWRwaG9uZXMgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM1XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtb2ZmICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNlwiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzdcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS11cCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM4XCI7IH0gfVxuLmdseXBoaWNvbi1xcmNvZGUgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzOVwiOyB9IH1cbi5nbHlwaGljb24tYmFyY29kZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDBcIjsgfSB9XG4uZ2x5cGhpY29uLXRhZyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQxXCI7IH0gfVxuLmdseXBoaWNvbi10YWdzICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MlwiOyB9IH1cbi5nbHlwaGljb24tYm9vayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDNcIjsgfSB9XG4uZ2x5cGhpY29uLWJvb2ttYXJrICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ0XCI7IH0gfVxuLmdseXBoaWNvbi1wcmludCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NVwiOyB9IH1cbi5nbHlwaGljb24tY2FtZXJhICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDZcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ3XCI7IH0gfVxuLmdseXBoaWNvbi1ib2xkICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0OFwiOyB9IH1cbi5nbHlwaGljb24taXRhbGljICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtaGVpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUwXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LXdpZHRoICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MVwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tbGVmdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTJcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLWNlbnRlciAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUzXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1yaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NFwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tanVzdGlmeSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTVcIjsgfSB9XG4uZ2x5cGhpY29uLWxpc3QgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU2XCI7IH0gfVxuLmdseXBoaWNvbi1pbmRlbnQtbGVmdCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1N1wiOyB9IH1cbi5nbHlwaGljb24taW5kZW50LXJpZ2h0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNThcIjsgfSB9XG4uZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU5XCI7IH0gfVxuLmdseXBoaWNvbi1waWN0dXJlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2MFwiOyB9IH1cbi5nbHlwaGljb24tbWFwLW1hcmtlciAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjJcIjsgfSB9XG4uZ2x5cGhpY29uLWFkanVzdCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYzXCI7IH0gfVxuLmdseXBoaWNvbi10aW50ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NFwiOyB9IH1cbi5nbHlwaGljb24tZWRpdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNoYXJlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY2XCI7IH0gfVxuLmdseXBoaWNvbi1jaGVjayAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2N1wiOyB9IH1cbi5nbHlwaGljb24tbW92ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjhcIjsgfSB9XG4uZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY5XCI7IH0gfVxuLmdseXBoaWNvbi1mYXN0LWJhY2t3YXJkICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MFwiOyB9IH1cbi5nbHlwaGljb24tYmFja3dhcmQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzFcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYXkgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcyXCI7IH0gfVxuLmdseXBoaWNvbi1wYXVzZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3M1wiOyB9IH1cbi5nbHlwaGljb24tc3RvcCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzRcIjsgfSB9XG4uZ2x5cGhpY29uLWZvcndhcmQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc1XCI7IH0gfVxuLmdseXBoaWNvbi1mYXN0LWZvcndhcmQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NlwiOyB9IH1cbi5nbHlwaGljb24tc3RlcC1mb3J3YXJkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzdcIjsgfSB9XG4uZ2x5cGhpY29uLWVqZWN0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc4XCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3OVwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1yaWdodCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODBcIjsgfSB9XG4uZ2x5cGhpY29uLXBsdXMtc2lnbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH0gfVxuLmdseXBoaWNvbi1taW51cy1zaWduICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MlwiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlLXNpZ24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODNcIjsgfSB9XG4uZ2x5cGhpY29uLW9rLXNpZ24gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH0gfVxuLmdseXBoaWNvbi1xdWVzdGlvbi1zaWduICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NVwiOyB9IH1cbi5nbHlwaGljb24taW5mby1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODZcIjsgfSB9XG4uZ2x5cGhpY29uLXNjcmVlbnNob3QgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4OFwiOyB9IH1cbi5nbHlwaGljb24tb2stY2lyY2xlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODlcIjsgfSB9XG4uZ2x5cGhpY29uLWJhbi1jaXJjbGUgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkwXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1sZWZ0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MVwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctcmlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTJcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LXVwICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkzXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1kb3duICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NFwiOyB9IH1cbi5nbHlwaGljb24tc2hhcmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTVcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1mdWxsICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk2XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtc21hbGwgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5N1wiOyB9IH1cbi5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDFcIjsgfSB9XG4uZ2x5cGhpY29uLWdpZnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAyXCI7IH0gfVxuLmdseXBoaWNvbi1sZWFmICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwM1wiOyB9IH1cbi5nbHlwaGljb24tZmlyZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDRcIjsgfSB9XG4uZ2x5cGhpY29uLWV5ZS1vcGVuICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA1XCI7IH0gfVxuLmdseXBoaWNvbi1leWUtY2xvc2UgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNlwiOyB9IH1cbi5nbHlwaGljb24td2FybmluZy1zaWduICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDdcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYW5lICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA4XCI7IH0gfVxuLmdseXBoaWNvbi1jYWxlbmRhciAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwOVwiOyB9IH1cbi5nbHlwaGljb24tcmFuZG9tICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTBcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbW1lbnQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTExXCI7IH0gfVxuLmdseXBoaWNvbi1tYWduZXQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMlwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi11cCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tZG93biAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE0XCI7IH0gfVxuLmdseXBoaWNvbi1yZXR3ZWV0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNVwiOyB9IH1cbi5nbHlwaGljb24tc2hvcHBpbmctY2FydCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTZcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbGRlci1jbG9zZSAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE3XCI7IH0gfVxuLmdseXBoaWNvbi1mb2xkZXItb3BlbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExOFwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLXZlcnRpY2FsICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTlcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1ob3Jpem9udGFsICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIwXCI7IH0gfVxuLmdseXBoaWNvbi1oZGQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMVwiOyB9IH1cbi5nbHlwaGljb24tYnVsbGhvcm4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjJcIjsgfSB9XG4uZ2x5cGhpY29uLWJlbGwgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIzXCI7IH0gfVxuLmdseXBoaWNvbi1jZXJ0aWZpY2F0ZSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNFwiOyB9IH1cbi5nbHlwaGljb24tdGh1bWJzLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjVcIjsgfSB9XG4uZ2x5cGhpY29uLXRodW1icy1kb3duICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI2XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLXJpZ2h0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyN1wiOyB9IH1cbi5nbHlwaGljb24taGFuZC1sZWZ0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjhcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtdXAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI5XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLWRvd24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMFwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0ICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMyXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzM1wiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd24gICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzRcIjsgfSB9XG4uZ2x5cGhpY29uLWdsb2JlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM1XCI7IH0gfVxuLmdseXBoaWNvbi13cmVuY2ggICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNlwiOyB9IH1cbi5nbHlwaGljb24tdGFza3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzdcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbHRlciAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM4XCI7IH0gfVxuLmdseXBoaWNvbi1icmllZmNhc2UgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzOVwiOyB9IH1cbi5nbHlwaGljb24tZnVsbHNjcmVlbiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDBcIjsgfSB9XG4uZ2x5cGhpY29uLWRhc2hib2FyZCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQxXCI7IH0gfVxuLmdseXBoaWNvbi1wYXBlcmNsaXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MlwiOyB9IH1cbi5nbHlwaGljb24taGVhcnQtZW1wdHkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDNcIjsgfSB9XG4uZ2x5cGhpY29uLWxpbmsgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ0XCI7IH0gfVxuLmdseXBoaWNvbi1waG9uZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NVwiOyB9IH1cbi5nbHlwaGljb24tcHVzaHBpbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDZcIjsgfSB9XG4uZ2x5cGhpY29uLXVzZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ4XCI7IH0gfVxuLmdseXBoaWNvbi1nYnAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0OVwiOyB9IH1cbi5nbHlwaGljb24tc29ydCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUxXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdCAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MlwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlciAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTNcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU0XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NVwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzLWFsdCB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTZcIjsgfSB9XG4uZ2x5cGhpY29uLXVuY2hlY2tlZCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU3XCI7IH0gfVxuLmdseXBoaWNvbi1leHBhbmQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1OFwiOyB9IH1cbi5nbHlwaGljb24tY29sbGFwc2UtZG93biAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTlcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbGxhcHNlLXVwICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYwXCI7IH0gfVxuLmdseXBoaWNvbi1sb2ctaW4gICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MVwiOyB9IH1cbi5nbHlwaGljb24tZmxhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjJcIjsgfSB9XG4uZ2x5cGhpY29uLWxvZy1vdXQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYzXCI7IH0gfVxuLmdseXBoaWNvbi1uZXctd2luZG93ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NFwiOyB9IH1cbi5nbHlwaGljb24tcmVjb3JkICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNhdmUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY2XCI7IH0gfVxuLmdseXBoaWNvbi1vcGVuICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2N1wiOyB9IH1cbi5nbHlwaGljb24tc2F2ZWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjhcIjsgfSB9XG4uZ2x5cGhpY29uLWltcG9ydCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY5XCI7IH0gfVxuLmdseXBoaWNvbi1leHBvcnQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MFwiOyB9IH1cbi5nbHlwaGljb24tc2VuZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzFcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1kaXNrICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcyXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktc2F2ZWQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3M1wiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXJlbW92ZSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzRcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc1XCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktb3BlbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NlwiOyB9IH1cbi5nbHlwaGljb24tY3JlZGl0LWNhcmQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzdcIjsgfSB9XG4uZ2x5cGhpY29uLXRyYW5zZmVyICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc4XCI7IH0gfVxuLmdseXBoaWNvbi1jdXRsZXJ5ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3OVwiOyB9IH1cbi5nbHlwaGljb24taGVhZGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODBcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbXByZXNzZWQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgxXCI7IH0gfVxuLmdseXBoaWNvbi1lYXJwaG9uZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MlwiOyB9IH1cbi5nbHlwaGljb24tcGhvbmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODNcIjsgfSB9XG4uZ2x5cGhpY29uLXRvd2VyICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg0XCI7IH0gfVxuLmdseXBoaWNvbi1zdGF0cyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NVwiOyB9IH1cbi5nbHlwaGljb24tc2QtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODZcIjsgfSB9XG4uZ2x5cGhpY29uLWhkLXZpZGVvICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg3XCI7IH0gfVxuLmdseXBoaWNvbi1zdWJ0aXRsZXMgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4OFwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtc3RlcmVvICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODlcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLWRvbGJ5ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkwXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC01LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MVwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNi0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTJcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTctMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkzXCI7IH0gfVxuLmdseXBoaWNvbi1jb3B5cmlnaHQtbWFyayAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5NFwiOyB9IH1cbi5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcmsgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTVcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkLWRvd25sb2FkICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk3XCI7IH0gfVxuLmdseXBoaWNvbi1jbG91ZC11cGxvYWQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5OFwiOyB9IH1cbi5nbHlwaGljb24tdHJlZS1jb25pZmVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAwXCI7IH0gfVxuLmdseXBoaWNvbi1jZCAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwMVwiOyB9IH1cbi5nbHlwaGljb24tc2F2ZS1maWxlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDJcIjsgfSB9XG4uZ2x5cGhpY29uLW9wZW4tZmlsZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAzXCI7IH0gfVxuLmdseXBoaWNvbi1sZXZlbC11cCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwNFwiOyB9IH1cbi5nbHlwaGljb24tY29weSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDVcIjsgfSB9XG4uZ2x5cGhpY29uLXBhc3RlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA2XCI7IH0gfVxuLy8gVGhlIGZvbGxvd2luZyAyIEdseXBoaWNvbnMgYXJlIG9taXR0ZWQgZm9yIHRoZSB0aW1lIGJlaW5nIGJlY2F1c2Vcbi8vIHRoZXkgY3VycmVudGx5IHVzZSBVbmljb2RlIGNvZGVwb2ludHMgdGhhdCBhcmUgb3V0c2lkZSB0aGVcbi8vIEJhc2ljIE11bHRpbGluZ3VhbCBQbGFuZSAoQk1QKS4gT2xkZXIgYnVnZ3kgdmVyc2lvbnMgb2YgV2ViS2l0IGNhbid0IGhhbmRsZVxuLy8gbm9uLUJNUCBjb2RlcG9pbnRzIGluIENTUyBzdHJpbmcgZXNjYXBlcywgYW5kIHRodXMgY2FuJ3QgZGlzcGxheSB0aGVzZSB0d28gaWNvbnMuXG4vLyBOb3RhYmx5LCB0aGUgYnVnIGFmZmVjdHMgc29tZSBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgQW5kcm9pZCBCcm93c2VyLlxuLy8gTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEwMTA2XG4vLyAuZ2x5cGhpY29uLWRvb3IgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwxZjZhYVwiOyB9IH1cbi8vIC5nbHlwaGljb24ta2V5ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDFmNTExXCI7IH0gfVxuLmdseXBoaWNvbi1hbGVydCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwOVwiOyB9IH1cbi5nbHlwaGljb24tZXF1YWxpemVyICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTBcIjsgfSB9XG4uZ2x5cGhpY29uLWtpbmcgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjExXCI7IH0gfVxuLmdseXBoaWNvbi1xdWVlbiAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxMlwiOyB9IH1cbi5nbHlwaGljb24tcGF3biAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTNcIjsgfSB9XG4uZ2x5cGhpY29uLWJpc2hvcCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE0XCI7IH0gfVxuLmdseXBoaWNvbi1rbmlnaHQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxNVwiOyB9IH1cbi5nbHlwaGljb24tYmFieS1mb3JtdWxhICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTZcIjsgfSB9XG4uZ2x5cGhpY29uLXRlbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNmZhXCI7IH0gfVxuLmdseXBoaWNvbi1ibGFja2JvYXJkICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxOFwiOyB9IH1cbi5nbHlwaGljb24tYmVkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTlcIjsgfSB9XG4uZ2x5cGhpY29uLWFwcGxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmOGZmXCI7IH0gfVxuLmdseXBoaWNvbi1lcmFzZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyMVwiOyB9IH1cbi5nbHlwaGljb24taG91cmdsYXNzICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIzMWJcIjsgfSB9XG4uZ2x5cGhpY29uLWxhbXAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjIzXCI7IH0gfVxuLmdseXBoaWNvbi1kdXBsaWNhdGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyNFwiOyB9IH1cbi5nbHlwaGljb24tcGlnZ3ktYmFuayAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNjaXNzb3JzICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI2XCI7IH0gfVxuLmdseXBoaWNvbi1iaXRjb2luICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyN1wiOyB9IH1cbi5nbHlwaGljb24tYnRjICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjdcIjsgfSB9XG4uZ2x5cGhpY29uLXhidCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxuLmdseXBoaWNvbi15ZW4gICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMDBhNVwiOyB9IH1cbi5nbHlwaGljb24tanB5ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwYTVcIjsgfSB9XG4uZ2x5cGhpY29uLXJ1YmxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH0gfVxuLmdseXBoaWNvbi1ydWIgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBiZFwiOyB9IH1cbi5nbHlwaGljb24tc2NhbGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzBcIjsgfSB9XG4uZ2x5cGhpY29uLWljZS1sb2xseSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMxXCI7IH0gfVxuLmdseXBoaWNvbi1pY2UtbG9sbHktdGFzdGVkICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzMlwiOyB9IH1cbi5nbHlwaGljb24tZWR1Y2F0aW9uICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzNcIjsgfSB9XG4uZ2x5cGhpY29uLW9wdGlvbi1ob3Jpem9udGFsICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM0XCI7IH0gfVxuLmdseXBoaWNvbi1vcHRpb24tdmVydGljYWwgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzNVwiOyB9IH1cbi5nbHlwaGljb24tbWVudS1oYW1idXJnZXIgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzZcIjsgfSB9XG4uZ2x5cGhpY29uLW1vZGFsLXdpbmRvdyAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM3XCI7IH0gfVxuLmdseXBoaWNvbi1vaWwgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzOFwiOyB9IH1cbi5nbHlwaGljb24tZ3JhaW4gICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzlcIjsgfSB9XG4uZ2x5cGhpY29uLXN1bmdsYXNzZXMgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQwXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LXNpemUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0MVwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1jb2xvciAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDJcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQzXCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdG9wICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0NFwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWJvdHRvbSAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDVcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFseyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ2XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tbGVmdCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0N1wiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXZlcnRpY2FsICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDhcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodCAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ5XCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS1yaWdodCAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1MFwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtbGVmdCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTFcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbSAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUyXCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS10b3AgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1M1wiOyB9IH1cbi5nbHlwaGljb24tY29uc29sZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTRcIjsgfSB9XG4uZ2x5cGhpY29uLXN1cGVyc2NyaXB0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU1XCI7IH0gfVxuLmdseXBoaWNvbi1zdWJzY3JpcHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1NlwiOyB9IH1cbi5nbHlwaGljb24tbWVudS1sZWZ0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTdcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtcmlnaHQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU4XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWRvd24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1OVwiOyB9IH1cbi5nbHlwaGljb24tbWVudS11cCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNjBcIjsgfSB9XG4iLCIvL1xuLy8gU2NhZmZvbGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gUmVzZXQgdGhlIGJveC1zaXppbmdcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLlxuLy8gRm9yIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuLy8gaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyN0aGlyZC1ib3gtc2l6aW5nXG4qIHtcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IEBsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICAudGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgLmltZy1yZXNwb25zaXZlKCk7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiBAdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEB0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgLnRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIC5pbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcbn1cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogICAgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBoci1ib3JkZXI7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudFxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2NC5cblxuLy8gLSBBbmltYXRpb25zXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIC0gQm94IHNoYWRvd1xuLy8gLSBCb3ggc2l6aW5nXG4vLyAtIENvbnRlbnQgY29sdW1uc1xuLy8gLSBIeXBoZW5zXG4vLyAtIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0gVHJhbnNmb3JtYXRpb25zXG4vLyAtIFRyYW5zaXRpb25zXG4vLyAtIFVzZXIgU2VsZWN0XG5cblxuLy8gQW5pbWF0aW9uc1xuLmFuaW1hdGlvbihAYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xuICAgICAgIC1vLWFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbiAgICAgICAgICBhbmltYXRpb246IEBhbmltYXRpb247XG59XG4uYW5pbWF0aW9uLW5hbWUoQG5hbWUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogQG5hbWU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IEBuYW1lO1xufVxuLmFuaW1hdGlvbi1kdXJhdGlvbihAZHVyYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbn1cbi5hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKEB0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG59XG4uYW5pbWF0aW9uLWRlbGF5KEBkZWxheSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogQGRlbGF5O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogQGRlbGF5O1xufVxuLmFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoQGl0ZXJhdGlvbi1jb3VudCkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IEBpdGVyYXRpb24tY291bnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogQGl0ZXJhdGlvbi1jb3VudDtcbn1cbi5hbmltYXRpb24tZGlyZWN0aW9uKEBkaXJlY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG59XG4uYW5pbWF0aW9uLWZpbGwtbW9kZShAZmlsbC1tb2RlKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogQGZpbGwtbW9kZTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBAZmlsbC1tb2RlO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG4uYm94LXNoYWRvdyhAc2hhZG93KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG4uYm94LXNpemluZyhAYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6IEBib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbi1jb3VudDsgQGNvbHVtbi1nYXA6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4uc2NhbGUoQHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnNjYWxlKEByYXRpb1g7IEByYXRpb1kpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZShAcmF0aW9YLCBAcmF0aW9ZKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xufVxuLnNjYWxlWChAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xufVxuLnNjYWxlWShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xufVxuLnNrZXcoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7XG59XG4udHJhbnNsYXRlKEB4OyBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4udHJhbnNsYXRlM2QoQHg7IEB5OyBAeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbn1cbi5yb3RhdGUoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4ucm90YXRlWChAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG59XG4ucm90YXRlWShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG59XG4ucGVyc3BlY3RpdmUoQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG59XG4ucGVyc3BlY3RpdmUtb3JpZ2luKEBwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xufVxuLnRyYW5zZm9ybS1vcmlnaW4oQG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi50cmFuc2l0aW9uLXByb3BlcnR5KEB0cmFuc2l0aW9uLXByb3BlcnR5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihAdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG59XG4udHJhbnNpdGlvbi10cmFuc2Zvcm0oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG4udGFiLWZvY3VzKCkge1xuICAvLyBXZWJLaXQtc3BlY2lmaWMuIE90aGVyIGJyb3dzZXJzIHdpbGwga2VlcCB0aGVpciBkZWZhdWx0IG91dGxpbmUgc3R5bGUuXG4gIC8vIChJbml0aWFsbHkgdHJpZWQgdG8gYWxzbyBmb3JjZSBkZWZhdWx0IHZpYSBgb3V0bGluZTogaW5pdGlhbGAsXG4gIC8vIGJ1dCB0aGF0IHNlZW1zIHRvIGVycm9uZW91c2x5IHJlbW92ZSB0aGUgb3V0bGluZSBpbiBGaXJlZm94IGFsdG9nZXRoZXIuKVxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG4uaW1nLXJlc3BvbnNpdmUoQGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6IEBkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuLmltZy1yZXRpbmEoQGZpbGUtMXg7IEBmaWxlLTJ4OyBAd2lkdGgtMXg7IEBoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTF4fVwiKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMnh9XCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogQHdpZHRoLTF4IEBoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IEBoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IEBoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IEBoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBAaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6IEBmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6IEBmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6IEBmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6IEBmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6IEBmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6IEBmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogQGZvbnQtc2l6ZS1zbWFsbCAvIEBmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6IEB0ZXh0LW11dGVkO1xufVxuLnRleHQtcHJpbWFyeSB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGJyYW5kLXByaW1hcnkpO1xufVxuLnRleHQtc3VjY2VzcyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG59XG4udGV4dC1pbmZvIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtaW5mby10ZXh0KTtcbn1cbi50ZXh0LXdhcm5pbmcge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS13YXJuaW5nLXRleHQpO1xufVxuLnRleHQtZGFuZ2VyIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtZGFuZ2VyLXRleHQpO1xufVxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vLyBGb3Igbm93IHdlJ2xsIGxlYXZlIHRoZXNlIGFsb25nc2lkZSB0aGUgdGV4dCBjbGFzc2VzIHVudGlsIHY0IHdoZW4gd2UgY2FuXG4vLyBzYWZlbHkgc2hpZnQgdGhpbmdzIGFyb3VuZCAocGVyIFNlbVZlciBydWxlcykuXG4uYmctcHJpbWFyeSB7XG4gIC8vIEdpdmVuIHRoZSBjb250cmFzdCBoZXJlLCB0aGlzIGlzIHRoZSBvbmx5IGNsYXNzIHRvIGhhdmUgaXRzIGNvbG9yIGludmVydGVkXG4gIC8vIGF1dG9tYXRpY2FsbHkuXG4gIGNvbG9yOiAjZmZmO1xuICAuYmctdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7XG59XG4uYmctc3VjY2VzcyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5iZy1pbmZvIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWluZm8tYmcpO1xufVxuLmJnLXdhcm5pbmcge1xuICAuYmctdmFyaWFudChAc3RhdGUtd2FybmluZy1iZyk7XG59XG4uYmctZGFuZ2VyIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWRhbmdlci1iZyk7XG59XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgLmxpc3QtdW5zdHlsZWQoKTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xuZGwge1xuICBtYXJnaW4tdG9wOiAwOyAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIERlZmF1bHRzIHRvIGJlaW5nIHN0YWNrZWQgd2l0aG91dCBhbnkgb2YgdGhlIGJlbG93IHN0eWxlcyBhcHBsaWVkLCB1bnRpbCB0aGVcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXG5cbi5kbC1ob3Jpem9udGFsIHtcbiAgZGQge1xuICAgICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpOyAvLyBDbGVhciB0aGUgZmxvYXRlZCBgZHRgIGlmIGFuIGVtcHR5IGBkZGAgaXMgcHJlc2VudFxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcbiAgICBkdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAoQGRsLWhvcml6b250YWwtb2Zmc2V0IC0gMjApO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIC50ZXh0LW92ZXJmbG93KCk7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZGwtaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG4vLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgQGFiYnItYm9yZGVyLWNvbG9yO1xufVxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgLnRleHQtdXBwZXJjYXNlKCk7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luOiAwIDAgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IEBibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBAYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG5cbiAgcCxcbiAgdWwsXG4gIG9sIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBOb3RlOiBEZXByZWNhdGVkIHNtYWxsIGFuZCAuc21hbGwgYXMgb2YgdjMuMS4wXG4gIC8vIENvbnRleHQ6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NjBcbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogQGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDBBMCc7IC8vIGVtIGRhc2gsIG5ic3BcbiAgICB9XG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi8vXG4vLyBIZWFkcyB1cDogYGJsb2NrcXVvdGUucHVsbC1yaWdodGAgaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2My4xLjAuXG4uYmxvY2txdW90ZS1yZXZlcnNlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCBAYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAvLyBBY2NvdW50IGZvciBjaXRhdGlvblxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgICY6YmVmb3JlIHsgY29udGVudDogJyc7IH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwQTAgXFwyMDE0JzsgLy8gbmJzcCwgZW0gZGFzaFxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRyZXNzZXNcbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG4udGV4dC1lbXBoYXNpcy12YXJpYW50KEBjb2xvcikge1xuICBjb2xvcjogQGNvbG9yO1xuICBhJjpob3ZlcixcbiAgYSY6Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oQGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi5iZy12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIGEmOmhvdmVyLFxuICBhJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG4udGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvL1xuLy8gQ29kZSAoaW5saW5lIGFuZCBibG9jaylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSW5saW5lIGFuZCBibG9jayBjb2RlIHN0eWxlc1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbn1cblxuLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IEBjb2RlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29kZS1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogQGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGtiZC1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAtIDEpIC8gMik7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlIC0gMSk7IC8vIDE0cHggdG8gMTNweFxuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogQHByZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByZS1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHByZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6IEBwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIC5jb250YWluZXItZml4ZWQoKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgLmNvbnRhaW5lci1maXhlZCgpO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICAubWFrZS1yb3coKTtcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKTtcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbi5tYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAubWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAubWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gIC5tYWtlLWdyaWQobGcpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICBmbG9vcigoQGd1dHRlciAvIDIpKTtcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoQGd1dHRlciAvIDIpKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG4ubWFrZS1yb3coQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoQGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKEBndXR0ZXIgLyAtMikpO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXhzLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xufVxuLm1ha2UteHMtY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG4ubWFrZS14cy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbn1cbi5tYWtlLXhzLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXNtLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG4ubWFrZS1tZC1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG4ubWFrZS1sZy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYEBncmlkLWNvbHVtbnNgLlxuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKSB7XG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGFsbCBzaXplcyBvZiBncmlkIGNvbHVtbnMsIHdpZHRocyAxLTEyXG4gIC5jb2woQGluZGV4KSB7IC8vIGluaXRpYWxcbiAgICBAaXRlbTogflwiLmNvbC14cy1Ae2luZGV4fSwgLmNvbC1zbS1Ae2luZGV4fSwgLmNvbC1tZC1Ae2luZGV4fSwgLmNvbC1sZy1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCBAaXRlbSk7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsOyBcIj08XCIgaXNuJ3QgYSB0eXBvXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgflwiQHtsaXN0fSwgQHtpdGVtfVwiKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcbiAgICBAe2xpc3R9IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIH1cbiAgfVxuICAuY29sKDEpOyAvLyBraWNrc3RhcnQgaXRcbn1cblxuLmZsb2F0LWdyaWQtY29sdW1ucyhAY2xhc3MpIHtcbiAgLmNvbChAaW5kZXgpIHsgLy8gaW5pdGlhbFxuICAgIEBpdGVtOiB+XCIuY29sLUB7Y2xhc3N9LUB7aW5kZXh9XCI7XG4gICAgLmNvbCgoQGluZGV4ICsgMSksIEBpdGVtKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA9PCBAZ3JpZC1jb2x1bW5zKSB7IC8vIGdlbmVyYWxcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCB+XCJAe2xpc3R9LCBAe2l0ZW19XCIpO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID4gQGdyaWQtY29sdW1ucykgeyAvLyB0ZXJtaW5hbFxuICAgIEB7bGlzdH0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5jb2woMSk7IC8vIGtpY2tzdGFydCBpdFxufVxuXG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gd2lkdGgpIGFuZCAoQGluZGV4ID4gMCkge1xuICAuY29sLUB7Y2xhc3N9LUB7aW5kZXh9IHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC1Ae2luZGV4fSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkgYW5kIChAaW5kZXggPSAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVsbCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVsbC1Ae2luZGV4fSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1bGwpIGFuZCAoQGluZGV4ID0gMCkge1xuICAuY29sLUB7Y2xhc3N9LXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBvZmZzZXQpIHtcbiAgLmNvbC1Ae2NsYXNzfS1vZmZzZXQtQHtpbmRleH0ge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gQmFzaWMgbG9vcGluZyBpbiBMRVNTXG4ubG9vcC1ncmlkLWNvbHVtbnMoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAaW5kZXggPj0gMCkge1xuICAuY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpO1xuICAvLyBuZXh0IGl0ZXJhdGlvblxuICAubG9vcC1ncmlkLWNvbHVtbnMoKEBpbmRleCAtIDEpLCBAY2xhc3MsIEB0eXBlKTtcbn1cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG4ubWFrZS1ncmlkKEBjbGFzcykge1xuICAuZmxvYXQtZ3JpZC1jb2x1bW5zKEBjbGFzcyk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHdpZHRoKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgcHVsbCk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHB1c2gpO1xuICAubG9vcC1ncmlkLWNvbHVtbnMoQGdyaWQtY29sdW1ucywgQGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZS1iZztcbn1cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiBAdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAvLyBDZWxsc1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gUmVtb3ZlIHRvcCBib3JkZXIgZnJvbSB0aGVhZCBieSBkZWZhdWx0XG4gID4gY2FwdGlvbiArIHRoZWFkLFxuICA+IGNvbGdyb3VwICsgdGhlYWQsXG4gID4gdGhlYWQ6Zmlyc3QtY2hpbGQge1xuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgPiB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keS1iZztcbiAgfVxufVxuXG5cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiBAdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0aGVhZCA+IHRyIHtcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmctaG92ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBjZWxsIHNpemluZ1xuLy9cbi8vIFJlc2V0IGRlZmF1bHQgdGFibGUgYmVoYXZpb3JcblxudGFibGUgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjtcbn1cbnRhYmxlIHtcbiAgdGQsXG4gIHRoIHtcbiAgICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbi50YWJsZS1yb3ctdmFyaWFudChhY3RpdmU7IEB0YWJsZS1iZy1hY3RpdmUpO1xuLnRhYmxlLXJvdy12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnKTtcbi50YWJsZS1yb3ctdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZyk7XG4udGFibGUtcm93LXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmcpO1xuLnRhYmxlLXJvdy12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuLnRhYmxlLXJvdy12YXJpYW50KEBzdGF0ZTsgQGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC5Ae3N0YXRlfSxcbiAgICA+IHRoLkB7c3RhdGV9LFxuICAgICYuQHtzdGF0ZX0gPiB0ZCxcbiAgICAmLkB7c3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC5Ae3N0YXRlfTpob3ZlcixcbiAgICA+IHRoLkB7c3RhdGV9OmhvdmVyLFxuICAgICYuQHtzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLkB7c3RhdGV9LFxuICAgICYuQHtzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IEBsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG4vLyBQb3NpdGlvbiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYmV0dGVyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE1ha2UgcmFuZ2UgaW5wdXRzIGJlaGF2ZSBsaWtlIHRleHR1YWwgZm9ybSBjb250cm9sc1xuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb2N1cyBmb3IgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICAudGFiLWZvY3VzKCk7XG59XG5cbi8vIEFkanVzdCBvdXRwdXQgZWxlbWVudFxub3V0cHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xufVxuXG5cbi8vIENvbW1vbiBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzIGZvciBmb3JtIGNvbnRyb2xzLiBBcHBseSBgLmZvcm0tY29udHJvbGAgdG8gYW55XG4vLyBvZiB0aGUgZm9sbG93aW5nIGZvcm0gY29udHJvbHM6XG4vL1xuLy8gc2VsZWN0XG4vLyB0ZXh0YXJlYVxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl1cbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRlXCJdXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl1cbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwid2Vla1wiXVxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXVxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCBAaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICAudHJhbnNpdGlvbih+XCJib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzXCIpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgLmZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIC5wbGFjZWhvbGRlcigpO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1XG4gIH1cblxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbiAgdGV4dGFyZWEmIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuLy9cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4vL1xuLy8gTm90ZSB0aGF0IGFzIG9mIDkuMywgaU9TIGRvZXNuJ3Qgc3VwcG9ydCBgd2Vla2AuXG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgJi5mb3JtLWNvbnRyb2wge1xuICAgICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgICB9XG5cbiAgICAmLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIH1cblxuICAgICYuaW5wdXQtbGcsXG4gICAgLmlucHV0LWdyb3VwLWxnICYge1xuICAgICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IEBmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7XG59XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyAvLyBzcGFjZSBvdXQgY29uc2VjdXRpdmUgaW5saW5lIGNvbnRyb2xzXG59XG5cbi8vIEFwcGx5IHNhbWUgZGlzYWJsZWQgY3Vyc29yIHR3ZWFrIGFzIGZvciBpbnB1dHNcbi8vIFNvbWUgc3BlY2lhbCBjYXJlIGlzIG5lZWRlZCBiZWNhdXNlIDxsYWJlbD5zIGRvbid0IGluaGVyaXQgdGhlaXIgcGFyZW50J3MgYGN1cnNvcmAuXG4vL1xuLy8gTm90ZTogTmVpdGhlciByYWRpb3Mgbm9yIGNoZWNrYm94ZXMgY2FuIGJlIHJlYWRvbmx5LlxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgZGlyZWN0bHkgb24gPGxhYmVsPnNcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBvbiBlbGVtZW50cyB3aXRoIDxsYWJlbD4gZGVzY2VuZGFudHNcbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBsYWJlbCB7XG4gICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhdGljIGZvcm0gY29udHJvbCB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSBgcGAgZWxlbWVudCB0byBtYWtlIGFueSBzdHJpbmcgb2YgdGV4dCBhbGlnbiB3aXRoIGxhYmVscyBpblxuLy8gYSBob3Jpem9udGFsIGZvcm0gbGF5b3V0LlxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIC8vIFNpemUgaXQgYXBwcm9wcmlhdGVseSBuZXh0IHRvIHJlYWwgZm9ybSBjb250cm9sc1xuICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgcGFkZGluZy1ib3R0b206IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGBwYFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgQGZvbnQtc2l6ZS1iYXNlKTtcblxuICAmLmlucHV0LWxnLFxuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG4uaW5wdXQtc20ge1xuICAuaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0LXNtYWxsOyBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uZm9ybS1ncm91cC1zbSB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6IEBpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgQGZvbnQtc2l6ZS1zbWFsbCk7XG4gICAgcGFkZGluZzogKEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSkgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1zbWFsbDtcbiAgfVxufVxuXG4uaW5wdXQtbGcge1xuICAuaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0LWxhcmdlOyBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDsgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1sYXJnZTsgQGxpbmUtaGVpZ2h0LWxhcmdlOyBAaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uZm9ybS1ncm91cC1sZyB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6IEBpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgQGZvbnQtc2l6ZS1sYXJnZSk7XG4gICAgcGFkZGluZzogKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICsgMSkgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1sYXJnZTtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uaGFzLWZlZWRiYWNrIHtcbiAgLy8gRW5hYmxlIGFic29sdXRlIHBvc2l0aW9uaW5nXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBFbnN1cmUgaWNvbnMgZG9uJ3Qgb3ZlcmxhcCB0ZXh0XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IChAaW5wdXQtaGVpZ2h0LWJhc2UgKiAxLjI1KTtcbiAgfVxufVxuLy8gRmVlZGJhY2sgaWNvbiAocmVxdWlyZXMgLmdseXBoaWNvbiBjbGFzc2VzKVxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjsgLy8gRW5zdXJlIGljb24gaXMgYWJvdmUgaW5wdXQgZ3JvdXBzXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogQGlucHV0LWhlaWdodC1iYXNlO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pbnB1dC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbn1cbi5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbn1cblxuLy8gRmVlZGJhY2sgc3RhdGVzXG4uaGFzLXN1Y2Nlc3Mge1xuICAuZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHN0YXRlLXN1Y2Nlc3MtdGV4dDsgQHN0YXRlLXN1Y2Nlc3MtdGV4dDsgQHN0YXRlLXN1Y2Nlc3MtYmcpO1xufVxuLmhhcy13YXJuaW5nIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBzdGF0ZS13YXJuaW5nLXRleHQ7IEBzdGF0ZS13YXJuaW5nLXRleHQ7IEBzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5oYXMtZXJyb3Ige1xuICAuZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHN0YXRlLWRhbmdlci10ZXh0OyBAc3RhdGUtZGFuZ2VyLXRleHQ7IEBzdGF0ZS1kYW5nZXItYmcpO1xufVxuXG4vLyBSZXBvc2l0aW9uIGZlZWRiYWNrIGljb24gaWYgaW5wdXQgaGFzIHZpc2libGUgbGFiZWwgYWJvdmVcbi5oYXMtZmVlZGJhY2sgbGFiZWwge1xuXG4gICYgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbihAdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5yYWRpbyxcbiAgICAuY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbCBmb3Jtc1xuLy9cbi8vIEhvcml6b250YWwgZm9ybXMgYXJlIGJ1aWx0IG9uIGdyaWQgY2xhc3NlcyBhbmQgYWxsb3cgeW91IHRvIGNyZWF0ZSBmb3JtcyB3aXRoXG4vLyBsYWJlbHMgb24gdGhlIGxlZnQgYW5kIGlucHV0cyBvbiB0aGUgcmlnaHQuXG5cbi5mb3JtLWhvcml6b250YWwge1xuXG4gIC8vIENvbnNpc3RlbnQgdmVydGljYWwgYWxpZ25tZW50IG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICAvL1xuICAvLyBMYWJlbHMgYWxzbyBnZXQgc29tZSByZXNldCBzdHlsZXMsIGJ1dCB0aGF0IGlzIHNjb3BlZCB0byBhIG1lZGlhIHF1ZXJ5IGJlbG93LlxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICB9XG4gIC8vIEFjY291bnQgZm9yIHBhZGRpbmcgd2UncmUgYWRkaW5nIHRvIGVuc3VyZSB0aGUgYWxpZ25tZW50IGFuZCBvZiBoZWxwIHRleHRcbiAgLy8gYW5kIG90aGVyIGNvbnRlbnQgYmVsb3cgaXRlbXNcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpKTtcbiAgfVxuXG4gIC8vIE1ha2UgZm9ybSBncm91cHMgYmVoYXZlIGxpa2Ugcm93c1xuICAuZm9ybS1ncm91cCB7XG4gICAgLm1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZXNldCBzcGFjaW5nIGFuZCByaWdodCBhbGlnbiBsYWJlbHMsIGJ1dCBzY29wZSB0byBtZWRpYSBxdWVyaWVzIHNvIHRoYXRcbiAgLy8gbGFiZWxzIG9uIG5hcnJvdyB2aWV3cG9ydHMgc3RhY2sgdGhlIHNhbWUgYXMgYSBkZWZhdWx0IGZvcm0gZXhhbXBsZS5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gICAgfVxuICB9XG5cbiAgLy8gVmFsaWRhdGlvbiBzdGF0ZXNcbiAgLy9cbiAgLy8gUmVwb3NpdGlvbiB0aGUgaWNvbiBiZWNhdXNlIGl0J3Mgbm93IHdpdGhpbiBhIGdyaWQgY29sdW1uIGFuZCBjb2x1bW5zIGhhdmVcbiAgLy8gYHBvc2l0aW9uOiByZWxhdGl2ZTtgIG9uIHRoZW0uIEFsc28gYWNjb3VudHMgZm9yIHRoZSBncmlkIGd1dHRlciBwYWRkaW5nLlxuICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHJpZ2h0OiBmbG9vcigoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKyAxKTtcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1ncm91cC1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKTtcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbi5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAdGV4dC1jb2xvcjogIzU1NTsgQGJvcmRlci1jb2xvcjogI2NjYzsgQGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIEBzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oQGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG4uZm9ybS1jb250cm9sLWZvY3VzKEBjb2xvcjogQGlucHV0LWJvcmRlci1mb2N1cykge1xuICBAY29sb3ItcmdiYTogcmdiYShyZWQoQGNvbG9yKSwgZ3JlZW4oQGNvbG9yKSwgYmx1ZShAY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLmJveC1zaGFkb3coflwiaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggQHtjb2xvci1yZ2JhfVwiKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQ7IEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcblxuICBzZWxlY3QmIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSYsXG4gIHNlbGVjdFttdWx0aXBsZV0mIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtd2VpZ2h0OiBAYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1iYXNlLXZlcnRpY2FsOyBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7IEBmb250LXNpemUtYmFzZTsgQGxpbmUtaGVpZ2h0LWJhc2U7IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgLnVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIC50YWItZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogQGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIC5vcGFjaXR5KC42NSk7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICBhJiB7XG4gICAgJi5kaXNhYmxlZCxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGVmYXVsdC1jb2xvcjsgQGJ0bi1kZWZhdWx0LWJnOyBAYnRuLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXByaW1hcnktY29sb3I7IEBidG4tcHJpbWFyeS1iZzsgQGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXN1Y2Nlc3MtY29sb3I7IEBidG4tc3VjY2Vzcy1iZzsgQGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYmx1ZS1ncmVlblxuLmJ0bi1pbmZvIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4taW5mby1jb2xvcjsgQGJ0bi1pbmZvLWJnOyBAYnRuLWluZm8tYm9yZGVyKTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXdhcm5pbmctY29sb3I7IEBidG4td2FybmluZy1iZzsgQGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGFuZ2VyLWNvbG9yOyBAYnRuLWRhbmdlci1iZzsgQGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuXG4vLyBMaW5rIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogQGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJ1dHRvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmJ0bi14cyB7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy14cy12ZXJ0aWNhbDsgQHBhZGRpbmcteHMtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuXG5cbi8vIEJsb2NrIGJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4uYnV0dG9uLXZhcmlhbnQoQGNvbG9yOyBAYmFja2dyb3VuZDsgQGJvcmRlcikge1xuICBjb2xvcjogQGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCAyNSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogQGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG4uYnV0dG9uLXNpemUoQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vIE9wYWNpdHlcblxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogQG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgQG9wYWNpdHktaWU6IChAb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogflwiYWxwaGEob3BhY2l0eT1Ae29wYWNpdHktaWV9KVwiO1xufVxuIiwiLy9cbi8vIENvbXBvbmVudCBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIZWFkcyB1cCFcbi8vXG4vLyBXZSBkb24ndCB1c2UgdGhlIGAub3BhY2l0eSgpYCBtaXhpbiBoZXJlIHNpbmNlIGl0IGNhdXNlcyBhIGJ1ZyB3aXRoIHRleHRcbi8vIGZpZWxkcyBpbiBJRTctOC4gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zNTUyLlxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIC50cmFuc2l0aW9uKG9wYWNpdHkgLjE1cyBsaW5lYXIpO1xuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiAgICAgIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgdHImLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRib2R5Ji5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAudHJhbnNpdGlvbi1wcm9wZXJ0eSh+XCJoZWlnaHQsIHZpc2liaWxpdHlcIik7XG4gIC50cmFuc2l0aW9uLWR1cmF0aW9uKC4zNXMpO1xuICAudHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZSk7XG59XG4iLCIvL1xuLy8gRHJvcGRvd24gbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogICBAY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XG4gIGJvcmRlci10b3A6ICAgQGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgflwiXFw5XCI7IC8vIElFOFxuICBib3JkZXItcmlnaHQ6IEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogIEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoZGl2KVxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnUgKHVsKVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOyAvLyBJRTggZmFsbGJhY2tcbiAgYm9yZGVyOiAxcHggc29saWQgQGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgLmJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcbiAgLy9cbiAgLy8gRGVwcmVjYXRlZCBhcyBvZiAzLjEuMCBpbiBmYXZvciBvZiBgLmRyb3Bkb3duLW1lbnUtW2Rpcl1gXG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIC5uYXYtZGl2aWRlcihAZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIH1cblxuICAvLyBMaW5rcyB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgfVxufVxuXG4vLyBIb3Zlci9Gb2N1cyBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG4vL1xuLy8gR3JheSBvdXQgdGV4dCBhbmQgZW5zdXJlIHRoZSBob3Zlci9mb2N1cyBzdGF0ZSByZW1haW5zIGdyYXlcblxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50XG4gICAgLnJlc2V0LWZpbHRlcigpO1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgbGVmdDogYXV0bzsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBgLmRyb3Bkb3duLW1lbnVgXG4gIHJpZ2h0OiAwO1xufVxuLy8gV2l0aCB2Mywgd2UgZW5hYmxlZCBhdXRvLWZsaXBwaW5nIGlmIHlvdSBoYXZlIGEgZHJvcGRvd24gd2l0aGluIGEgcmlnaHRcbi8vIGFsaWduZWQgbmF2IGNvbXBvbmVudC4gVG8gZW5hYmxlIHRoZSB1bmRvaW5nIG9mIHRoYXQsIHdlIHByb3ZpZGUgYW4gb3ZlcnJpZGVcbi8vIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgZHJvcGRvd24gbWVudSBhbGlnbm1lbnQuXG4vL1xuLy8gVGhpcyBpcyBvbmx5IGZvciBsZWZ0LWFsaWduaW5nIGEgZHJvcGRvd24gbWVudSB3aXRoaW4gYSBgLm5hdmJhci1yaWdodGAgb3Jcbi8vIGAucHVsbC1yaWdodGAgbmF2IGNvbXBvbmVudC5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEBkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gQmFja2Ryb3AgdG8gY2F0Y2ggYm9keSBjbGlja3Mgb24gbW9iaWxlLCBldGMuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogKEB6aW5kZXgtZHJvcGRvd24gLSAxMCk7XG59XG5cbi8vIFJpZ2h0IGFsaWduZWQgZHJvcGRvd25zXG4ucHVsbC1yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy9cbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldCwgYnJvLlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG5cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogQGNhcmV0LXdpZHRoLWJhc2UgZGFzaGVkO1xuICAgIGJvcmRlci1ib3R0b206IEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIH5cIlxcOVwiOyAvLyBJRThcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlaXRlcmF0ZSBwZXIgbmF2YmFyLmxlc3MgYW5kIHRoZSBtb2RpZmllZCBjb21wb25lbnQgYWxpZ25tZW50IHRoZXJlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAuZHJvcGRvd24tbWVudS1yaWdodCgpO1xuICAgIH1cbiAgICAvLyBOZWNlc3NhcnkgZm9yIG92ZXJyaWRlcyBvZiB0aGUgZGVmYXVsdCByaWdodCBhbGlnbmVkIG1lbnUuXG4gICAgLy8gV2lsbCByZW1vdmUgY29tZSB2NCBpbiBhbGwgbGlrZWxpaG9vZC5cbiAgICAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICAgIC5kcm9wZG93bi1tZW51LWxlZnQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuLm5hdi1kaXZpZGVyKEBjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG5cbi5yZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSlcIikpO1xufVxuIiwiLy9cbi8vIEJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4OyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIC5idG4sXG4gIC5idG4tZ3JvdXAsXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gU2V0IGNvcm5lcnMgaW5kaXZpZHVhbCBiZWNhdXNlIHNvbWV0aW1lcyBhIHNpbmdsZSBidXR0b24gY2FuIGJlIGluIGEgLmJ0bi1ncm91cCBhbmQgd2UgbmVlZCA6Zmlyc3QtY2hpbGQgYW5kIDpsYXN0LWNoaWxkIHRvIGJvdGggbWF0Y2hcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSwgZ2l2ZW4gdGhhdCBhIC5kcm9wZG93bi1tZW51IGlzIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIC5ib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC14cyA+IC5idG4geyAmOmV4dGVuZCguYnRuLXhzKTsgfVxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyAmOmV4dGVuZCguYnRuLXNtKTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyAmOmV4dGVuZCguYnRuLWxnKTsgfVxuXG5cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gUmVwb3NpdGlvbiB0aGUgY2FyZXRcbi5idG4gLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vLyBDYXJldHMgaW4gb3RoZXIgYnV0dG9uIHNpemVzXG4uYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogQGNhcmV0LXdpZHRoLWxhcmdlIEBjYXJldC13aWR0aC1sYXJnZSAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLy8gVXBzaWRlIGRvd24gY2FyZXRzIGZvciAuZHJvcHVwXG4uZHJvcHVwIC5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwIEBjYXJldC13aWR0aC1sYXJnZSBAY2FyZXQtd2lkdGgtbGFyZ2U7XG59XG5cblxuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyIGZsb2F0cyBzbyBkcm9wZG93biBtZW51cyBjYW4gYmUgcHJvcGVybHkgcGxhY2VkXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBKdXN0aWZpZWQgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLWp1c3RpZmllZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gID4gLmJ0bi1ncm91cCAuYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0ge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4uYm9yZGVyLXRvcC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItYm90dG9tLXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItbGVmdC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuIiwiLy9cbi8vIElucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGRyb3Bkb3duc1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgLy8gcHJldmVudCBpbnB1dCBncm91cHMgZnJvbSBpbmhlcml0aW5nIGJvcmRlciBzdHlsZXMgZnJvbSB0YWJsZSBjZWxscyB3aGVuIHBsYWNlZCB3aXRoaW4gYSB0YWJsZVxuXG4gIC8vIFVuZG8gcGFkZGluZyBhbmQgZmxvYXQgb2YgZ3JpZCBjbGFzc2VzXG4gICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaW5wdXQgaXMgYWx3YXlzIGFib3ZlIHRoZSAqYXBwZW5kZWQqIGFkZG9uIGJ1dHRvbiBmb3JcbiAgICAvLyBwcm9wZXIgYm9yZGVyIGNvbG9ycy5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIC8vIElFOSBmdWJhcnMgdGhlIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBpbiB0ZXh0IGlucHV0cyBhbmQgdGhlIGFycm93cyBvblxuICAgIC8vIHNlbGVjdCBlbGVtZW50cyBpbiBpbnB1dCBncm91cHMuIFRvIGZpeCBpdCwgd2UgZmxvYXQgdGhlIGlucHV0LiBEZXRhaWxzOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgLmlucHV0LWxnKCk7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICAuaW5wdXQtc20oKTtcbn1cblxuXG4vLyBEaXNwbGF5IGFzIHRhYmxlLWNlbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4vLyBBZGRvbiBhbmQgYWRkb24gd3JhcHBlciBmb3IgYnV0dG9uc1xuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBpbnB1dC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIFNpemluZ1xuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICAmLmlucHV0LWxnIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgLmJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIDFweCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIE5hdnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1bC9vbFxuICBsaXN0LXN0eWxlOiBub25lO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiBAbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGUgc2V0cyB0ZXh0IHRvIGdyYXkgYW5kIG51a2VzIGhvdmVyL3RhYiBlZmZlY3RzXG4gICAgJi5kaXNhYmxlZCA+IGEge1xuICAgICAgY29sb3I6IEBuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3BlbiBkcm9wZG93bnNcbiAgLm9wZW4gPiBhIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBsaW5rLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hdiBkaXZpZGVycyAoZGVwcmVjYXRlZCB3aXRoIHYzLjAuMSlcbiAgLy9cbiAgLy8gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjMgd2l0aCB0aGUgZHJvcHBpbmcgb2YgYC5uYXYtbGlzdGAsIGJ1dFxuICAvLyB3ZSBtaXNzZWQgaXQuIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgYW55d2hlcmUsIGJ1dCBpbiB0aGUgaW50ZXJlc3RcbiAgLy8gb2YgbWFpbnRhaW5pbmcgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpbiBjYXNlIHlvdSB1c2UgaXQsIGl0J3MgZGVwcmVjYXRlZC5cbiAgLm5hdi1kaXZpZGVyIHtcbiAgICAubmF2LWRpdmlkZXIoKTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXG4gIC8vXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XG4gID4gbGkgPiBhID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBUYWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIHRhYnMgc29tZXRoaW5nIHRvIHNpdCBvblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAvLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4gICAgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZSwgYW5kIGl0cyA6aG92ZXIgdG8gb3ZlcnJpZGUgbm9ybWFsIDpob3ZlclxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHB1bGxpbmcgdGhpcyBpbiBtYWlubHkgZm9yIGxlc3Mgc2hvcnRoYW5kXG4gICYubmF2LWp1c3RpZmllZCB7XG4gICAgLm5hdi1qdXN0aWZpZWQoKTtcbiAgICAubmF2LXRhYnMtanVzdGlmaWVkKCk7XG4gIH1cbn1cblxuXG4vLyBQaWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi1waWxscyB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbiAgICA+IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogQG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YWNrZWQgcGlsbHNcbi5uYXYtc3RhY2tlZCB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG5vIG5lZWQgZm9yIHRoaXMgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IHZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEp1c3RpZmllZCBuYXYgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdi1qdXN0aWZpZWQge1xuICB3aWR0aDogMTAwJTtcblxuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICA+IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgfVxuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdmUgYm9yZGVycyB0byBhbmNob3JzIGluc3RlYWQgb2YgYm90dG9tIG9mIGxpc3Rcbi8vXG4vLyBNaXhpbiBmb3IgYWRkaW5nIG9uIHRvcCB0aGUgc2hhcmVkIGAubmF2LWp1c3RpZmllZGAgc3R5bGVzIGZvciBvdXIgdGFic1xuLm5hdi10YWJzLWp1c3RpZmllZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgPiBsaSA+IGEge1xuICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmcm9tIC5uYXYtdGFic1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3BlY2lmaWMgZHJvcGRvd25zXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAvLyBtYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIE5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBhbmQgYmFzZSBjbGFzc1xuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogQG5hdmJhci1oZWlnaHQ7IC8vIEVuc3VyZSBhIG5hdmJhciBhbHdheXMgc2hvd3MgKGUuZy4sIHdpdGhvdXQgYSAubmF2YmFyLWJyYW5kIGluIGNvbGxhcHNlZCBtb2RlKVxuICBtYXJnaW4tYm90dG9tOiBAbmF2YmFyLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIC8vIFByZXZlbnQgZmxvYXRzIGZyb20gYnJlYWtpbmcgdGhlIG5hdmJhclxuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IEBuYXZiYXItYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBoZWFkaW5nXG4vL1xuLy8gR3JvdXBzIGAubmF2YmFyLWJyYW5kYCBhbmQgYC5uYXZiYXItdG9nZ2xlYCBpbnRvIGEgc2luZ2xlIGNvbXBvbmVudCBmb3IgZWFzeVxuLy8gc3R5bGluZyBvZiByZXNwb25zaXZlIGFzcGVjdHMuXG5cbi5uYXZiYXItaGVhZGVyIHtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBjb2xsYXBzZSAoYm9keSlcbi8vXG4vLyBHcm91cCB5b3VyIG5hdmJhciBjb250ZW50IGludG8gdGhpcyBmb3IgZWFzeSBjb2xsYXBzaW5nIGFuZCBleHBhbmRpbmcgYWNyb3NzXG4vLyB2YXJpb3VzIGRldmljZSBzaXplcy4gQnkgZGVmYXVsdCwgdGhpcyBjb250ZW50IGlzIGNvbGxhcHNlZCB3aGVuIDw3NjhweCwgYnV0XG4vLyB3aWxsIGV4cGFuZCBwYXN0IHRoYXQgZm9yIGEgaG9yaXpvbnRhbCBkaXNwbGF5LlxuLy9cbi8vIFRvIHN0YXJ0IChvbiBtb2JpbGUgZGV2aWNlcykgdGhlIG5hdmJhciBsaW5rcywgZm9ybXMsIGFuZCBidXR0b25zIGFyZSBzdGFja2VkXG4vLyB2ZXJ0aWNhbGx5IGFuZCBpbmNsdWRlIGEgYG1heC1oZWlnaHRgIHRvIG92ZXJmbG93IGluIGNhc2UgeW91IGhhdmUgdG9vIG11Y2hcbi8vIGNvbnRlbnQgZm9yIHRoZSB1c2VyJ3Mgdmlld3BvcnQuXG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBwYWRkaW5nLXJpZ2h0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZy1sZWZ0OiAgQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAmLmluIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHNldHRpbmdcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pbiB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIFVuZG8gdGhlIGNvbGxhcHNlIHNpZGUgcGFkZGluZyBmb3IgbmF2YmFycyB3aXRoIGNvbnRhaW5lcnMgdG8gZW5zdXJlXG4gICAgLy8gYWxpZ25tZW50IG9mIHJpZ2h0LWFsaWduZWQgY29udGVudHMuXG4gICAgLm5hdmJhci1maXhlZC10b3AgJixcbiAgICAubmF2YmFyLXN0YXRpYy10b3AgJixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXgtaGVpZ2h0OiBAbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ7XG5cbiAgICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6IEBzY3JlZW4teHMtbWluKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvdGggbmF2YmFyIGhlYWRlciBhbmQgY29sbGFwc2Vcbi8vXG4vLyBXaGVuIGEgY29udGFpbmVyIGlzIHByZXNlbnQsIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGhlYWRlciBhbmQgY29sbGFwc2UuXG5cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgPiAubmF2YmFyLWhlYWRlcixcbiAgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tbGVmdDogIC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogIDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gU3RhdGljIHRvcCAodW5maXhlZCwgYnV0IDEwMCUgd2lkZSkgbmF2YmFyXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICB6LWluZGV4OiBAemluZGV4LW5hdmJhcjtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbi5uYXZiYXItZml4ZWQtdG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gb3ZlcnJpZGUgLm5hdmJhciBkZWZhdWx0c1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG59XG5cblxuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsIEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGhlaWdodDogQG5hdmJhci1oZWlnaHQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAmLFxuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiA5cHggMTBweDtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKEBuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpIC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICA+IGxpID4gYSB7XG4gICAgcGFkZGluZy10b3A6ICAgIDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICA+IGxpID4gYSxcbiAgICAgIC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDtcbiAgICAgIH1cbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVuY29sbGFwc2UgdGhlIG5hdlxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcblxuICAgID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogICAgQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBmb3JtXG4vL1xuLy8gRXh0ZW5zaW9uIG9mIHRoZSBgLmZvcm0taW5saW5lYCB3aXRoIHNvbWUgZXh0cmEgZmxhdm9yIGZvciBvcHRpbXVtIGRpc3BsYXkgaW5cbi8vIG91ciBuYXZiYXJzLlxuXG4ubmF2YmFyLWZvcm0ge1xuICBtYXJnaW4tbGVmdDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogMTBweCBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBzaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuXG4gIC8vIE1peGluIGJlaGF2aW9yIGZvciBvcHRpbXVtIGRpc3BsYXlcbiAgLmZvcm0taW5saW5lKCk7XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsbHkgY2VudGVyIGluIGV4cGFuZGVkLCBob3Jpem9udGFsIG5hdmJhclxuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gRHJvcGRvd24gbWVudXNcblxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldHNcbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXQgc3VwcG9ydCBmb3IgZHJvcHVwcyB2aWEgZXh0cmEgZHJvcHVwIGNsYXNzXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoQG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xufVxuXG5cbi8vIEJ1dHRvbnMgaW4gbmF2YmFyc1xuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGEgYnV0dG9uIHdpdGhpbiBhIG5hdmJhciAod2hlbiAqbm90KiBpbiBhIGZvcm0pLlxuXG4ubmF2YmFyLWJ0biB7XG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAmLmJ0bi1zbSB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigyMik7XG4gIH1cbn1cblxuXG4vLyBUZXh0IGluIG5hdmJhcnNcbi8vXG4vLyBBZGQgYSBjbGFzcyB0byBtYWtlIGFueSBlbGVtZW50IHByb3Blcmx5IGFsaWduIGl0c2VsZiB2ZXJ0aWNhbGx5IHdpdGhpbiB0aGUgbmF2YmFycy5cblxuLm5hdmJhci10ZXh0IHtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAbGluZS1oZWlnaHQtY29tcHV0ZWQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1yaWdodDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVwdXJwb3NlIHRoZSBwdWxsIHV0aWxpdGllcyBhcyB0aGVpciBvd24gbmF2YmFyIHV0aWxpdGllcyB0byBhdm9pZCBzcGVjaWZpY2l0eVxuLy8gaXNzdWVzIHdpdGggcGFyZW50cyBhbmQgY2hhaW5pbmcuIE9ubHkgZG8gdGhpcyB3aGVuIHRoZSBuYXZiYXIgaXMgdW5jb2xsYXBzZWRcbi8vIHRob3VnaCBzbyB0aGF0IG5hdmJhciBjb250ZW50cyBwcm9wZXJseSBzdGFjayBhbmQgYWxpZ24gaW4gbW9iaWxlLlxuLy9cbi8vIERlY2xhcmVkIGFmdGVyIHRoZSBuYXZiYXIgY29tcG9uZW50cyB0byBlbnN1cmUgbW9yZSBzcGVjaWZpY2l0eSBvbiB0aGUgbWFyZ2lucy5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1sZWZ0ICB7IC5wdWxsLWxlZnQoKTsgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAucHVsbC1yaWdodCgpO1xuICAgIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgfiAubmF2YmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgbmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCBuYXZiYXJcbi5uYXZiYXItZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1iZztcbiAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuICB9XG5cbiAgLy8gRHJvcGRvd24gbWVudSBpdGVtc1xuICAubmF2YmFyLW5hdiB7XG4gICAgLy8gUmVtb3ZlIGJhY2tncm91bmQgY29sb3IgZnJvbSBvcGVuIGRyb3Bkb3duXG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIExpbmtzIGluIG5hdmJhcnNcbiAgLy9cbiAgLy8gQWRkIGEgY2xhc3MgdG8gZW5zdXJlIGxpbmtzIG91dHNpZGUgdGhlIG5hdmJhciBuYXYgYXJlIGNvbG9yZWQgY29ycmVjdGx5LlxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJbnZlcnNlIG5hdmJhclxuXG4ubmF2YmFyLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYmc7XG4gIGJvcmRlci1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIERhcmtlbiB0aGUgcmVzcG9uc2l2ZSBuYXYgdG9nZ2xlXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgNyUpO1xuICB9XG5cbiAgLy8gRHJvcGRvd25zXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5XG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cbiIsIi8vXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRmxvYXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jbGVhcmZpeCB7XG4gIC5jbGVhcmZpeCgpO1xufVxuLmNlbnRlci1ibG9jayB7XG4gIC5jZW50ZXItYmxvY2soKTtcbn1cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuXG4vLyBUb2dnbGluZyBjb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLmhpZGUgaW4gZmF2b3Igb2YgLmhpZGRlbiBvciAuc3Itb25seSAoYXMgYXBwcm9wcmlhdGUpIGluIHYzLjAuMVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIC50ZXh0LWhpZGUoKTtcbn1cblxuXG4vLyBIaWRlIGZyb20gc2NyZWVucmVhZGVycyBhbmQgYnJvd3NlcnNcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gRm9yIEFmZml4IHBsdWdpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWZmaXgge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4iLCIvL1xuLy8gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiBAYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsIEBicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJlYWRjcnVtYi1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICArIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIkB7YnJlYWRjcnVtYi1zZXBhcmF0b3J9XFwwMGEwXCI7IC8vIFVuaWNvZGUgc3BhY2UgYWRkZWQgc2luY2UgaW5saW5lLWJsb2NrIG1lYW5zIG5vbi1jb2xsYXBzaW5nIHdoaXRlLXNwYWNlXG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGNvbG9yOiBAYnJlYWRjcnVtYi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGNvbG9yOiBAYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBQYWdpbmF0aW9uIChtdWx0aXBsZSBwYWdlcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IEBsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgLy8gUmVtb3ZlIGxpc3Qtc3R5bGUgYW5kIGJsb2NrLWxldmVsIGRlZmF1bHRzXG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gQ29sbGFwc2Ugd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6IEBwYWRkaW5nLWJhc2UtdmVydGljYWwgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IEBwYWdpbmF0aW9uLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24tYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAcGFnaW5hdGlvbi1ib3JkZXI7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgLmJvcmRlci1sZWZ0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKEBib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gbGkgPiBhLFxuICA+IGxpID4gc3BhbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IHNwYW4ge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gID4gLmRpc2FibGVkIHtcbiAgICA+IHNwYW4sXG4gICAgPiBzcGFuOmhvdmVyLFxuICAgID4gc3Bhbjpmb2N1cyxcbiAgICA+IGEsXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4ucGFnaW5hdGlvbi1sZyB7XG4gIC5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBsaW5lLWhlaWdodC1sYXJnZTsgQGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuXG4vLyBTbWFsbFxuLnBhZ2luYXRpb24tc20ge1xuICAucGFnaW5hdGlvbi1zaXplKEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2VyIHBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IEBsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAcGFnZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogQHBhZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5leHQge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmV2aW91cyB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzLFxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogQHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2VyLWJnO1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBsYWJlbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXG4gIC8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbiAgYSYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGxhYmVsLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgbGFiZWxzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBsYWJlbHMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWRlZmF1bHQtYmcpO1xufVxuXG4ubGFiZWwtcHJpbWFyeSB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1wcmltYXJ5LWJnKTtcbn1cblxuLmxhYmVsLXN1Y2Nlc3Mge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWluZm8tYmcpO1xufVxuXG4ubGFiZWwtd2FybmluZyB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC13YXJuaW5nLWJnKTtcbn1cblxuLmxhYmVsLWRhbmdlciB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy8gTGFiZWxzXG5cbi5sYWJlbC12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGZvbnQtd2VpZ2h0OiBAYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiBAYmFkZ2UtY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiBAYmFkZ2UtbGluZS1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhZGdlLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYmFkZ2UtYm9yZGVyLXJhZGl1cztcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxuXG4gIC5idG4teHMgJixcbiAgLmJ0bi1ncm91cC14cyA+IC5idG4gJiB7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZSwgYnV0IG9ubHkgZm9yIGxpbmtzXG4gIGEmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBiYWRnZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY291bnQgZm9yIGJhZGdlcyBpbiBuYXZzXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gJixcbiAgLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gJiB7XG4gICAgY29sb3I6IEBiYWRnZS1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhZGdlLWFjdGl2ZS1iZztcbiAgfVxuXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtID4gJiArICYge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG5cbiAgLm5hdi1waWxscyA+IGxpID4gYSA+ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBKdW1ib3Ryb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmctdG9wOiAgICBAanVtYm90cm9uLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiBAanVtYm90cm9uLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6IEBqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBqdW1ib3Ryb24tYmc7XG5cbiAgaDEsXG4gIC5oMSB7XG4gICAgY29sb3I6IEBqdW1ib3Ryb24taGVhZGluZy1jb2xvcjtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IChAanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgICBmb250LXNpemU6IEBqdW1ib3Ryb24tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cblxuICA+IGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oQGp1bWJvdHJvbi1iZywgMTAlKTtcbiAgfVxuXG4gIC5jb250YWluZXIgJixcbiAgLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTsgLy8gT25seSByb3VuZCBjb3JuZXJzIGF0IGhpZ2hlciByZXNvbHV0aW9ucyBpZiBjb250YWluZWQgaW4gYSBjb250YWluZXJcbiAgICBwYWRkaW5nLWxlZnQ6ICAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBwYWRkaW5nLXRvcDogICAgKEBqdW1ib3Ryb24tcGFkZGluZyAqIDEuNik7XG4gICAgcGFkZGluZy1ib3R0b206IChAanVtYm90cm9uLXBhZGRpbmcgKiAxLjYpO1xuXG4gICAgLmNvbnRhaW5lciAmLFxuICAgIC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICAoQGp1bWJvdHJvbi1wYWRkaW5nICogMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoQGp1bWJvdHJvbi1wYWRkaW5nICogMik7XG4gICAgfVxuXG4gICAgaDEsXG4gICAgLmgxIHtcbiAgICAgIGZvbnQtc2l6ZTogQGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBUaHVtYm5haWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1peGluIGFuZCBhZGp1c3QgdGhlIHJlZ3VsYXIgaW1hZ2UgY2xhc3Ncbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogQHRodW1ibmFpbC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEB0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgLnRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgICY6ZXh0ZW5kKC5pbWctcmVzcG9uc2l2ZSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gQWRkIGEgaG92ZXIgc3RhdGUgZm9yIGxpbmtlZCB2ZXJzaW9ucyBvbmx5XG4gIGEmOmhvdmVyLFxuICBhJjpmb2N1cyxcbiAgYSYuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IEBsaW5rLWNvbG9yO1xuICB9XG5cbiAgLy8gSW1hZ2UgY2FwdGlvbnNcbiAgLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6IEB0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiBAdGh1bWJuYWlsLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogQGFsZXJ0LXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBhbGVydC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8vIFNwZWNpZmllZCBmb3IgdGhlIGg0IHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nIEBoZWFkaW5ncy1jb2xvclxuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbiAgLmFsZXJ0LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiBAYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgfVxuXG4gIC8vIEltcHJvdmUgYWxpZ25tZW50IGFuZCBzcGFjaW5nIG9mIGlubmVyIGNvbnRlbnRcbiAgPiBwLFxuICA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgPiBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2FibGUsIC8vIFRoZSBtaXNzcGVsbGVkIC5hbGVydC1kaXNtaXNzYWJsZSB3YXMgZGVwcmVjYXRlZCBpbiAzLjIuMC5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IChAYWxlcnQtcGFkZGluZyArIDIwKTtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IC0yMXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1zdWNjZXNzLWJnOyBAYWxlcnQtc3VjY2Vzcy1ib3JkZXI7IEBhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1pbmZvLWJnOyBAYWxlcnQtaW5mby1ib3JkZXI7IEBhbGVydC1pbmZvLXRleHQpO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC13YXJuaW5nLWJnOyBAYWxlcnQtd2FybmluZy1ib3JkZXI7IEBhbGVydC13YXJuaW5nLXRleHQpO1xufVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LWRhbmdlci1iZzsgQGFsZXJ0LWRhbmdlci1ib3JkZXI7IEBhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuLmFsZXJ0LXZhcmlhbnQoQGJhY2tncm91bmQ7IEBib3JkZXI7IEB0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKEBib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbihAdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFyIGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2ViS2l0XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4vLyBTcGVjIGFuZCBJRTEwK1xuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cblxuLy8gQmFyIGl0c2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBPdXRlciBjb250YWluZXJcbi5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcm9ncmVzcy1iZztcbiAgYm9yZGVyLXJhZGl1czogQHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKSk7XG59XG5cbi8vIEJhciBvZiBwcm9ncmVzc1xuLnByb2dyZXNzLWJhciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBjb2xvcjogQHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHJvZ3Jlc3MtYmFyLWJnO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSkpO1xuICAudHJhbnNpdGlvbih3aWR0aCAuNnMgZWFzZSk7XG59XG5cbi8vIFN0cmlwZWQgYmFyc1xuLy9cbi8vIGAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLXN0cmlwZWRgIGNsYXNzLCB3aGljaCB5b3UganVzdCBhZGQgdG8gYW4gZXhpc3Rpbmdcbi8vIGAucHJvZ3Jlc3MtYmFyYC5cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbn1cblxuLy8gQ2FsbCBhbmltYXRpb24gZm9yIHRoZSBhY3RpdmUgb25lXG4vL1xuLy8gYC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci5hY3RpdmVgIGFwcHJvYWNoLlxuLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci5hY3RpdmUge1xuICAuYW5pbWF0aW9uKHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZSk7XG59XG5cblxuLy8gVmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci1zdWNjZXNzLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmZvIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWRhbmdlciB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZyk7XG59XG4iLCIvLyBHcmFkaWVudHNcblxuI2dyYWRpZW50IHtcblxuICAvLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuICAvL1xuICAvLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuICAvLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuICAudmVydGljYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC5kaXJlY3Rpb25hbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIH1cbiAgLmhvcml6b250YWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAucmFkaWFsKEBpbm5lci1jb2xvcjogIzU1NTsgQG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IEBhbmdsZTogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbi5wcm9ncmVzcy1iYXItdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgpO1xuICB9XG59XG4iLCIubWVkaWEge1xuICAvLyBQcm9wZXIgc3BhY2luZyBiZXR3ZWVuIGluc3RhbmNlcyBvZiAubWVkaWFcbiAgbWFyZ2luLXRvcDogMTVweDtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5tZWRpYSxcbi5tZWRpYS1ib2R5IHtcbiAgem9vbTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lZGlhLWJvZHkge1xuICB3aWR0aDogMTAwMDBweDtcbn1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIEZpeCBjb2xsYXBzZSBpbiB3ZWJraXQgZnJvbSBtYXgtd2lkdGg6IDEwMCUgYW5kIGRpc3BsYXk6IHRhYmxlLWNlbGwuXG4gICYuaW1nLXRodW1ibmFpbCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbi5tZWRpYS1yaWdodCxcbi5tZWRpYSA+IC5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYSA+IC5wdWxsLWxlZnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYS1yaWdodCxcbi5tZWRpYS1ib2R5IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLm1lZGlhLW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZWRpYS1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIGhlYWRpbmdzIGZvciB0aWdodGVyIGRlZmF1bHQgc3BhY2luZ1xuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8vIE1lZGlhIGxpc3QgdmFyaWF0aW9uXG4vL1xuLy8gVW5kbyBkZWZhdWx0IHVsL29sIHN0eWxlc1xuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvL1xuLy8gTGlzdCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBsaXN0LWdyb3VwLWJvcmRlcjtcblxuICAvLyBSb3VuZCB0aGUgZmlyc3QgYW5kIGxhc3QgaXRlbXNcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKEBsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoQGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlIGl0ZW1zLlxuLy8gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzaG93aW5nIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogQGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCxcbiAgJi5kaXNhYmxlZDpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlIGNsYXNzIG9uIGl0ZW0gaXRzZWxmLCBub3QgcGFyZW50XG4gICYuYWN0aXZlLFxuICAmLmFjdGl2ZTpob3ZlcixcbiAgJi5hY3RpdmU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6IEBsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnOyBAc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZzsgQHN0YXRlLWluZm8tdGV4dCk7XG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmc7IEBzdGF0ZS13YXJuaW5nLXRleHQpO1xuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZzsgQHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChAc3RhdGU7IEBiYWNrZ3JvdW5kOyBAY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS1Ae3N0YXRlfSB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcblxuICAgIGEmLFxuICAgIGJ1dHRvbiYge1xuICAgICAgY29sb3I6IEBjb2xvcjtcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFuZWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiBAcGFuZWwtYm9yZGVyLXJhZGl1cztcbiAgLmJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6IEBwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICA+IC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBXaXRoaW4gaGVhZGluZywgc3RyaXAgYW55IGBoKmAgdGFnIG9mIGl0cyBkZWZhdWx0IG1hcmdpbnMgZm9yIHNwYWNpbmcuXG4ucGFuZWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuMTI1KSk7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gID4gYSxcbiAgPiBzbWFsbCxcbiAgPiAuc21hbGwsXG4gID4gc21hbGwgPiBhLFxuICA+IC5zbWFsbCA+IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGZvb3RlciAoc3RheXMgZ3JheSBpbiBldmVyeSBtb2RpZmllciBjbGFzcylcbi5wYW5lbC1mb290ZXIge1xuICBwYWRkaW5nOiBAcGFuZWwtZm9vdGVyLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYW5lbC1mb290ZXItYmc7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAcGFuZWwtaW5uZXItYm9yZGVyO1xuICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xufVxuXG5cbi8vIExpc3QgZ3JvdXBzIGluIHBhbmVsc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIHNwYWNlIG91dCBsaXN0IGdyb3VwIGNvbnRlbnQgZnJvbSBwYW5lbCBoZWFkaW5ncyB0byBhY2NvdW50IGZvclxuLy8gYW55IGtpbmQgb2YgY3VzdG9tIGNvbnRlbnQgYmV0d2VlbiB0aGUgdHdvLlxuXG4ucGFuZWwge1xuICA+IC5saXN0LWdyb3VwLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIC5ib3JkZXItdG9wLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuLy8gQ29sbGFwc2Ugc3BhY2UgYmV0d2VlbiB3aGVuIHRoZXJlJ3Mgbm8gYWRkaXRpb25hbCBjb250ZW50LlxuLnBhbmVsLWhlYWRpbmcgKyAubGlzdC1ncm91cCB7XG4gIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cbi5saXN0LWdyb3VwICsgLnBhbmVsLWZvb3RlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG5cbi8vIFRhYmxlcyBpbiBwYW5lbHNcbi8vXG4vLyBQbGFjZSBhIG5vbi1ib3JkZXJlZCBgLnRhYmxlYCB3aXRoaW4gYSBwYW5lbCAobm90IHdpdGhpbiBhIGAucGFuZWwtYm9keWApIGFuZFxuLy8gd2F0Y2ggaXQgZ28gZnVsbCB3aWR0aC5cblxuLnBhbmVsIHtcbiAgPiAudGFibGUsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUsXG4gID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBAcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICA+IC50YWJsZTpmaXJzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0Ym9keTpsYXN0LWNoaWxkLFxuICAgID4gdGZvb3Q6bGFzdC1jaGlsZCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUsXG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUtcmVzcG9uc2l2ZSxcbiAgPiAudGFibGUgKyAucGFuZWwtYm9keSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSArIC5wYW5lbC1ib2R5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuICA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGgsXG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICA+IC50YWJsZS1ib3JkZXJlZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgID4gdHIge1xuICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8vIENvbGxhcHNpYmxlIHBhbmVscyAoYWthLCBhY2NvcmRpb24pXG4vL1xuLy8gV3JhcCBhIHNlcmllcyBvZiBwYW5lbHMgaW4gYC5wYW5lbC1ncm91cGAgdG8gdHVybiB0aGVtIGludG8gYW4gYWNjb3JkaW9uIHdpdGhcbi8vIHRoZSBoZWxwIG9mIG91ciBjb2xsYXBzZSBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLnBhbmVsLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuXG4gIC8vIFRpZ2h0ZW4gdXAgbWFyZ2luIHNvIGl0J3Mgb25seSBiZXR3ZWVuIHBhbmVsc1xuICAucGFuZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogQHBhbmVsLWJvcmRlci1yYWRpdXM7XG5cbiAgICArIC5wYW5lbCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWhlYWRpbmcge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LFxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBwYW5lbC1pbm5lci1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnNcbi5wYW5lbC1kZWZhdWx0IHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWRlZmF1bHQtYm9yZGVyOyBAcGFuZWwtZGVmYXVsdC10ZXh0OyBAcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOyBAcGFuZWwtZGVmYXVsdC1ib3JkZXIpO1xufVxuLnBhbmVsLXByaW1hcnkge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtcHJpbWFyeS1ib3JkZXI7IEBwYW5lbC1wcmltYXJ5LXRleHQ7IEBwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc7IEBwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1zdWNjZXNzLWJvcmRlcjsgQHBhbmVsLXN1Y2Nlc3MtdGV4dDsgQHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzsgQHBhbmVsLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi5wYW5lbC1pbmZvIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWluZm8tYm9yZGVyOyBAcGFuZWwtaW5mby10ZXh0OyBAcGFuZWwtaW5mby1oZWFkaW5nLWJnOyBAcGFuZWwtaW5mby1ib3JkZXIpO1xufVxuLnBhbmVsLXdhcm5pbmcge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtd2FybmluZy1ib3JkZXI7IEBwYW5lbC13YXJuaW5nLXRleHQ7IEBwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc7IEBwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWRhbmdlci1ib3JkZXI7IEBwYW5lbC1kYW5nZXItdGV4dDsgQHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOyBAcGFuZWwtZGFuZ2VyLWJvcmRlcik7XG59XG4iLCIvLyBQYW5lbHNcblxuLnBhbmVsLXZhcmlhbnQoQGJvcmRlcjsgQGhlYWRpbmctdGV4dC1jb2xvcjsgQGhlYWRpbmctYmctY29sb3I7IEBoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBFbWJlZHMgcmVzcG9uc2l2ZVxuLy9cbi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDE2OjkgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi8vIE1vZGlmaWVyIGNsYXNzIGZvciA0OjMgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cbiIsIi8vXG4vLyBXZWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ud2VsbCB7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDE5cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3ZWxsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAd2VsbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gIH1cbn1cblxuLy8gU2l6ZXNcbi53ZWxsLWxnIHtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG4ud2VsbC1zbSB7XG4gIHBhZGRpbmc6IDlweDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG59XG4iLCIvL1xuLy8gQ2xvc2UgaWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBmb250LXdlaWdodDogQGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBjbG9zZS10ZXh0LXNoYWRvdztcbiAgLm9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAub3BhY2l0eSguNSk7XG4gIH1cblxuICAvLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4gIC8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuICAvLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbiAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG4gIGJ1dHRvbiYge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LW1vZGFsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIC50cmFuc2xhdGUoMCwgLTI1JSk7XG4gICAgLnRyYW5zaXRpb24tdHJhbnNmb3JtKH5cIjAuM3MgZWFzZS1vdXRcIik7XG4gIH1cbiAgJi5pbiAubW9kYWwtZGlhbG9nIHsgLnRyYW5zbGF0ZSgwLCAwKSB9XG59XG4ubW9kYWwtb3BlbiAubW9kYWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjsgLy9vbGQgYnJvd3NlcnMgZmFsbGJhY2sgKGllOCBldGMpXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIC5ib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgLm9wYWNpdHkoMCk7IH1cbiAgJi5pbiB7IC5vcGFjaXR5KEBtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IEBtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xufVxuLy8gQ2xvc2UgaWNvblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IEBtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IEBtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6IEBtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpOyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGFjY291bnQgZm9yIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gd2hpY2ggZ2V0cyB0aGUgYm90dG9tIG1hcmdpbiBsaWtlIGFsbCBvdGhlciBpbnB1dHNcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogQG1vZGFsLW1kO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICAuYm94LXNoYWRvdygwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIE1vZGFsIHNpemVzXG4gIC5tb2RhbC1zbSB7IHdpZHRoOiBAbW9kYWwtc207IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gIC5tb2RhbC1sZyB7IHdpZHRoOiBAbW9kYWwtbGc7IH1cbn1cbiIsIi8vXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogQHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICAucmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG5cbiAgLm9wYWNpdHkoMCk7XG5cbiAgJi5pbiAgICAgeyAub3BhY2l0eShAdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCAgICB7IG1hcmdpbi10b3A6ICAtM3B4OyBwYWRkaW5nOiBAdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogQHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLmxlZnQgICB7IG1hcmdpbi1sZWZ0OiAtM3B4OyBwYWRkaW5nOiAwIEB0b29sdGlwLWFycm93LXdpZHRoOyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiBAdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiBAdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxufVxuIiwiLnJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvL1xuLy8gUG9wb3ZlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IEBwb3BvdmVyLW1heC13aWR0aDtcbiAgcGFkZGluZzogMXB4O1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSBwb3BvdmVycyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIC5yZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCBAcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIC5ib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMikpO1xuXG4gIC8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuICAmLnRvcCAgICAgeyBtYXJnaW4tdG9wOiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbiAgJi5yaWdodCAgIHsgbWFyZ2luLWxlZnQ6IEBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYuYm90dG9tICB7IG1hcmdpbi10b3A6IEBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYubGVmdCAgICB7IG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbn1cblxuLnBvcG92ZXItdGl0bGUge1xuICBtYXJnaW46IDA7IC8vIHJlc2V0IGhlYWRpbmcgbWFyZ2luXG4gIHBhZGRpbmc6IDhweCAxNHB4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBvcG92ZXItdGl0bGUtYmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oQHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcbiAgYm9yZGVyLXJhZGl1czogKEBib3JkZXItcmFkaXVzLWxhcmdlIC0gMSkgKEBib3JkZXItcmFkaXVzLWxhcmdlIC0gMSkgMCAwO1xufVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7XG59XG5cbi8vIEFycm93c1xuLy9cbi8vIC5hcnJvdyBpcyBvdXRlciwgLmFycm93OmFmdGVyIGlzIGlubmVyXG5cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgJixcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgYm9yZGVyLXdpZHRoOiBAcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbn1cbi5wb3BvdmVyID4gLmFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiBAcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnBvcG92ZXIge1xuICAmLnRvcCA+IC5hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgYm90dG9tOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCA+IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5ib3R0b20gPiAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIHRvcDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0ID4gLmFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDYXJvdXNlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRyYW5zaXRpb24oLjZzIGVhc2UtaW4tb3V0IGxlZnQpO1xuXG4gICAgLy8gQWNjb3VudCBmb3IgamFua2l0dWRlIG9uIGltYWdlc1xuICAgID4gaW1nLFxuICAgID4gYSA+IGltZyB7XG4gICAgICAmOmV4dGVuZCguaW1nLXJlc3BvbnNpdmUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gV2ViS2l0IENTUzMgdHJhbnNmb3JtcyBmb3Igc3VwcG9ydGVkIGRldmljZXNcbiAgICBAbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgICAudHJhbnNpdGlvbi10cmFuc2Zvcm0oficwLjZzIGVhc2UtaW4tb3V0Jyk7XG4gICAgICAuYmFja2ZhY2UtdmlzaWJpbGl0eSh+J2hpZGRlbicpO1xuICAgICAgLnBlcnNwZWN0aXZlKDEwMDBweCk7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLm5leHQubGVmdCxcbiAgICAgICYucHJldi5yaWdodCxcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbn1cblxuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogQGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIC5vcGFjaXR5KEBjYXJvdXNlbC1jb250cm9sLW9wYWNpdHkpO1xuICBmb250LXNpemU6IEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTtcbiAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiBAY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIEZpeCBJRTkgY2xpY2stdGhydSBidWdcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgI2dyYWRpZW50ID4gLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC41KTsgQGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSkpO1xuICB9XG4gICYucmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgI2dyYWRpZW50ID4gLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKTsgQGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBjb2xvcjogQGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC5vcGFjaXR5KC45KTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHdpZHRoOiAgMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICB9XG5cblxuICAuaWNvbi1wcmV2IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDM5JzsvLyBTSU5HTEUgTEVGVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDM5KVxuICAgIH1cbiAgfVxuICAuaWNvbi1uZXh0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDNhJzsvLyBTSU5HTEUgUklHSFQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzQSlcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gdW5vcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAgMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOC05IGhhY2sgZm9yIGV2ZW50IGhhbmRsaW5nXG4gICAgLy9cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciA4LTkgZG9lcyBub3Qgc3VwcG9ydCBjbGlja3Mgb24gZWxlbWVudHMgd2l0aG91dCBhIHNldFxuICAgIC8vIGBiYWNrZ3JvdW5kLWNvbG9yYC4gV2UgY2Fubm90IHVzZSBgZmlsdGVyYCBzaW5jZSB0aGF0J3Mgbm90IHZpZXdlZCBhcyBhXG4gICAgLy8gYmFja2dyb3VuZCBjb2xvciBieSB0aGUgYnJvd3Nlci4gVGh1cywgYSBoYWNrIGlzIG5lZWRlZC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgLy9cbiAgICAvLyBGb3IgSUU4LCB3ZSBzZXQgc29saWQgYmxhY2sgYXMgaXQgZG9lc24ndCBzdXBwb3J0IGByZ2JhKClgLiBGb3IgSUU5LCB3ZVxuICAgIC8vIHNldCBhbHBoYSB0cmFuc3BhcmVuY3kgZm9yIHRoZSBiZXN0IHJlc3VsdHMgcG9zc2libGUuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCBcXDk7IC8vIElFOFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IC8vIElFOVxuICB9XG4gIC5hY3RpdmUge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogIDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGlkZGVuIGJ5IGRlZmF1bHQgZm9yIHNtYWxsZXIgdmlld3BvcnRzXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTUlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiBAY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogQGNhcm91c2VsLXRleHQtc2hhZG93O1xuICAmIC5idG4ge1xuICAgIHRleHQtc2hhZG93OiBub25lOyAvLyBObyBzaGFkb3cgZm9yIGJ1dHRvbiBlbGVtZW50cyBpbiBjYXJvdXNlbC1jYXB0aW9uXG4gIH1cbn1cblxuXG4vLyBTY2FsZSB1cCBjb250cm9scyBmb3IgdGFibGV0cyBhbmQgdXBcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG5cbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsXG4gICAgLmljb24tcHJldixcbiAgICAuaWNvbi1uZXh0IHtcbiAgICAgIHdpZHRoOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICAgIGhlaWdodDogKEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAqIDEuNSk7XG4gICAgICBtYXJnaW4tdG9wOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgICAgZm9udC1zaXplOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogKEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAvIC0yKTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcmlnaHQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC8vIE1vdmUgdXAgdGhlIGluZGljYXRvcnNcbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMjBweDtcbiAgfVxufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuLmNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbi5jZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xIChoYXMgYmVlbiByZW1vdmVkIGluIHY0KVxuLmhpZGUtdGV4dCgpIHtcbiAgZm9udDogflwiMC8wXCIgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbi50ZXh0LWhpZGUoKSB7XG4gIC5oaWRlLXRleHQoKTtcbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXhzLFxuLnZpc2libGUtc20sXG4udmlzaWJsZS1tZCxcbi52aXNpYmxlLWxnIHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG59XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZS14cyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtc20ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbGcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4teHMge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuLmhpZGRlbi1zbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi5oaWRkZW4tbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4uaGlkZGVuLWxnIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXByaW50IHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4tcHJpbnQge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi5yZXNwb25zaXZlLXZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHRhYmxlJiAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyJiAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCYsXG4gIHRkJiAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMRVNTIFZBUklBQkxFU1xuKiogICAgICAgICAgICAgICAgVGhpcyBzdHlsZXNoZWV0IHNob3VsZCBvbmx5IGNvbnRhaW4gdmFyaWFibGVzLlxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogICAgICAgICAgICAgICAgICAgICAgICAgIENvbG9yIHBhbGV0dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZ3JlZW46ICAgICAgICAgICAgICAgICAgICAgICAgICAjZGFlMTczO1xuQG1vcmFuZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICNkNjc4MmI7XG5AbWRhcmtibHVlOiAgICAgICAgICAgICAgICAgICAgICAgIzIzMjUyODtcbkBtZ3JleTogICAgICAgICAgICAgICAgICAgICAgICAgICAjY2NjY2NjO1xuQG1saWdodGdyZXk6ICAgICAgICAgICAgICAgICAgICAgICM5OTk5OTk7XG5AbWRhcmtiZzogICAgICAgICAgICAgICAgICAgICAgICAgIzE2MTYxQjtcbkBtYmx1ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAjMzU4ZmRjO1xuQGRhcmtlcmJsdWU6ICAgICAgICAgICAgICAgICAgICAgICMxNjI1MmM7XG5AZGFya2JsdWU6ICAgICAgICAgICAgICAgICAgICAgICAgIzE3MjYyZDtcbkBkYXJrZXJibHVlOiAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oQGRhcmtibHVlLDQlKTtcbkBkYXJrYmx1ZTI6ICAgICAgICAgICAgICAgICAgICAgICAjMjUzMzNhO1xuQG1lZGl1bWJsdWU6ICAgICAgICAgICAgICAgICAgICAgICM2MjZkNmQ7XG5AbGlnaHRibHVlOiAgICAgICAgICAgICAgICAgICAgICAgI2FiYzRjNjtcbkBwaW5rOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZWQxZTc5O1xuQHJlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNGRjAwMDA7XG5cbkBmbHVyb2JsdWU6ICAgICAgICAgICAgICAgICAgICAgICAjMDBlNWYwO1xuQGZsdXJvb3JhbmdlOiAgICAgICAgICAgICAgICAgICAgICNmZjczMDA7XG5AZmx1cmVveWVsbG93OiAgICAgICAgICAgICAgICAgICAgI2ZiZDkyNTtcbkBmbHVyb2dyZWVuOiAgICAgICAgICAgICAgICAgICAgICAjNDdmZjAwO1xuQGZsdXJvcGluazogICAgICAgICAgICAgICAgICAgICAgICNlMDFmNzQ7XG5cbkBkYXJrZ3JlZW46ICAgICAgICAgICAgICAgICAgICAgICAjMzNkMzc1O1xuQGdyZWVuOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNkMWU1NWM7XG5AcHVycGxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgIzk3N2JmMDtcbkBsaWdodGdyYXk6ICAgICAgICAgICAgICAgICAgICAgICAjZTZlZGVlO1xuQGJsdWVncmF5OiAgICAgICAgICAgICAgICAgICAgICAgICNhYmM0YzY7XG5AYmx1ZWdyYXkyOiAgICAgICAgICAgICAgICAgICAgICAgIzM1NDY0YztcblxuQGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgICAgICAgICAgQGZsdXJvYmx1ZTtcbkBicmFuZC13YXJuaW5nOiAgICAgICAgICAgICAgICAgIEBwdXJwbGU7XG5AYnJhbmQtaW5mbzogICAgICAgICAgICAgICAgICAgICBAZmx1cm9ibHVlO1xuQGJyYW5kLWRhbmdlcjogICAgICAgICAgICAgICAgICAgQGZsdXJvcGluaztcbkBicmFuZC1wcmltYXJ5OiAgICAgICAgICAgICAgICAgIEBmbHVyb2JsdWU7XG5cbkBpbXBhYy1wb3NpdGl2ZTogICAgICAgICAgICAgICAgIGdyZWVuO1xuQGltcGFjLW5lZ2F0aXZlOiAgICAgICAgICAgICAgICAgQHBpbms7XG5AaW1wYWMtcG9zaXRpdmUyOiAgICAgICAgICAgICAgICAjM2ZjNGZmOyAgICAgLy8gbGlnaHRlciBjb2xvcnMgdXNlZCBmb3IgcGF5YWJsZXMtcmVjZWl2YWJsZXNcbkBpbXBhYy1uZWdhdGl2ZTI6ICAgICAgICAgICAgICAgICMxZGU5YjY7ICAgICAvLyBsaWdodGVyIGNvbG9yc3VzZWQgZm9yIHBheWFibGVzLXJlY2VpdmFibGVzXG5cbi8vIFNwYWNlcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHRvcC1idWZmZXItaGVpZ2h0OiBAZ3JpZC1ndXR0ZXItd2lkdGgvMjsgLy8gYm9vdHN0cmFwIHZhcmlhYmxlXG4udG9wLWJ1ZmZlci0xIHsgbWFyZ2luLXRvcDogQHRvcC1idWZmZXItaGVpZ2h0OyB9XG4udG9wLWJ1ZmZlci0yIHsgbWFyZ2luLXRvcDogMipAdG9wLWJ1ZmZlci1oZWlnaHQ7IH1cbi50b3AtYnVmZmVyLTMgeyBtYXJnaW4tdG9wOiAzKkB0b3AtYnVmZmVyLWhlaWdodDsgfVxuLnRvcC1idWZmZXItNCB7IG1hcmdpbi10b3A6IDQqQHRvcC1idWZmZXItaGVpZ2h0OyB9XG4udG9wLWJ1ZmZlci01IHsgbWFyZ2luLXRvcDogNSpAdG9wLWJ1ZmZlci1oZWlnaHQ7IH1cbi50b3AtYnVmZmVyLTYgeyBtYXJnaW4tdG9wOiA2KkB0b3AtYnVmZmVyLWhlaWdodDsgfVxuLnRvcC1idWZmZXItNyB7IG1hcmdpbi10b3A6IDcqQHRvcC1idWZmZXItaGVpZ2h0OyB9XG4udG9wLWJ1ZmZlci04IHsgbWFyZ2luLXRvcDogOCpAdG9wLWJ1ZmZlci1oZWlnaHQ7IH1cbi50b3AtYnVmZmVyLTkgeyBtYXJnaW4tdG9wOiA5KkB0b3AtYnVmZmVyLWhlaWdodDsgfVxuLnRvcC1idWZmZXItMTAgeyBtYXJnaW4tdG9wOiAxMCpAdG9wLWJ1ZmZlci1oZWlnaHQ7IH1cblxuLy8gRGFzaGJvYXJkXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wYWMtZGFzaGJvYXJkLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgICAgICA1MHB4O1xuQGltcGFjLWRhc2hib2FyZC1zbS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICAgQGltcGFjLWRhc2hib2FyZC1wYWRkaW5nLXRvcCAqIDM7XG5AaW1wYWMtZGFzaGJvYXJkLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAxMDBweDtcbkBpbXBhYy1kYXNoYm9hcmQtYm9yZGVycy1jb2xvcjogICAgICAgICAgICAgICAgIEBsaWdodGJsdWU7XG5cbi8vIFRpdGxlXG5AaW1wYWMtZGFzaGJvYXJkLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICBAcHVycGxlO1xuQGltcGFjLWRhc2hib2FyZC10aXRsZS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgQGRhcmtibHVlO1xuQGltcGFjLWRhc2hib2FyZC10aXRsZS1sYWJlbC1jcmVhdGUtY29sb3I6ICAgICAgd2hpdGU7XG5AaW1wYWMtZGFzaGJvYXJkLXNvdXJjZS1jb2xvcjogICAgICAgICAgICAgICAgICBAaW1wYWMtZGFzaGJvYXJkLXRpdGxlLWxhYmVsLWNvbG9yO1xuQGltcGFjLWRhc2hib2FyZC1idXR0b25zLWJvcmRlci1yYWRpdXM6ICAgICAgICAgNHB4O1xuXG4vL0luZm8tdGV4dFxuQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgd2hpdGU7XG5AaW1wYWMtZGFzaGJvYXJkLWluZm8tdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAgICByZ2JhKDIzLDM4LDQ1LCAwLjcpO1xuQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgMjVweDtcbkBpbXBhYy1kYXNoYm9hcmQtaW5mby10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgIDMwMDtcblxuLy8gRGFzaGJvYXJkIFNlbGVjdG9yXG4gIC8vIFRhYnNcbkBpbXBhYy1kYXNoYm9hcmQtc2VsZWN0b3ItYm9yZGVyOiAgICAgICAgICAgICAgIDFweCBzb2xpZCBAaW1wYWMtZGFzaGJvYXJkLWJvcmRlcnMtY29sb3I7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtbWFyZ2luOiAgICAgICAgICAwIDJweCAwIDA7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtcGFkZGluZzogICAgICAgICAxMHB4IDhweCAxMHB4IDE1cHg7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtY29sb3I6ICAgICAgICAgICBibGFjaztcbkBpbXBhYy1kYXNoYm9hcmQtc2VsZWN0b3ItdGFicy1hY3RpdmUtY29sb3I6ICAgIEBwdXJwbGU7XG5cbi8vIFdpZGdldCBzZWxlY3RvclxuQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmc6ICAgICAgICAgICAgIzIzMzg0NTtcbkBpbXBhYy1kYXNoYm9hcmQtd2lkZ2V0LXNlbGVjdG9yLXRleHQtY29sb3I6ICAgIHdoaXRlO1xuQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3Itd2lkZ2V0LWl0ZW0tbWluLWhlaWdodDogMHB4O1xuXG4vLyBXaWRnZXRzIGNvbnRhaW5lclxuQGltcGFjLXBsYWNlaG9sZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgMnB4IGRhc2hlZCBAaW1wYWMtZGFzaGJvYXJkLWJvcmRlcnMtY29sb3I7XG5AaW1wYWMtd2lkZ2V0cy1jb250YWluZXItc2lkZS1wYWRkaW5nOiAgICAgICAgICAwcHg7XG5AaW1wYWMtcGFkZGluZy1iZXR3ZWVuLXdpZGdldHM6ICAgICAgICAgICAgICAgICAxMnB4O1xuQGltcGFjLW1pbmltdW0td2lkZ2V0LXNpemU6ICAgICAgICAgICAgICAgICAgICAgMjUwcHg7XG5AaW1wYWMtYmlnLXdpZGdldC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICA1NjVweDtcblxuLy8gQnV0dG9uc1xuQGltcGFjLWJ0bi1zaGFkZGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICBAZGFya2JsdWU7XG5AaW1wYWMtYnRuLXNoYWRkZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIEBtZWRpdW1ibHVlO1xuXG4vLyBEYXNoYm9hcmQgTW9kYWxzXG5AaW1wYWMtZGFzaGJvYXJkLWxvYWRpbmctc3Bpbm5lcjogICAgICAgICAgICAgICB3aGl0ZTtcbkBpbXBhYy1kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMjksIDE5NywgNTcsIDAuNjIpO1xuXG4vLyBXaWRnZXRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHbG9iYWxcbkBpbXBhYy13aWRnZXQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgQHB1cnBsZTtcbkBpbXBhYy13aWRnZXQtYnV0dG9ucy1jb2xvcjogICAgICAgICAgICAgICAgICAgQGltcGFjLXdpZGdldC1saW5rLWNvbG9yO1xuQGltcGFjLXdpZGdldC10aWxlLXNlbGVjdGVkLWNvbG9yOiAgICAgICAgICAgICBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG5AaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgIHdoaXRlO1xuQGltcGFjLXdpZGdldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICBzb2xpZCAxcHggZGFya2VuKEBsaWdodGdyYXksMTAlKTtcbkBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIzVCNjY2NztcbkBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1tZWRpdW06ICAgICAgICAgICAgICAgbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3IsMjUlKTtcbkBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1saWdodDogICAgICAgICAgICAgICAgbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3IsNDAlKTsgLy8jYWNiMGIxXG5AaW1wYWMtd2lkZ2V0LWJvcmRlcnMtY29sb3I6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLWxpZ2h0LDEwJSk7IC8vI2YzZjRmNFxuQGltcGFjLXdpZGdldC1zY3JvbGxiYXItY29sb3I6ICAgICAgICAgICAgICAgICAjMjMzODQ1O1xuQGltcGFjLXdpZGdldC1sb2FkaW5nLXNwaW5uZXI6ICAgICAgICAgICAgICAgICAjNjdCQkU5O1xuQGltcGFjLXdpZGdldC1yZXZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjMUUzMDNCO1xuQGltcGFjLXdpZGdldC1tZW51cy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAjZWNlY2VjO1xuXG4vLyBUaXRsZVxuQGltcGFjLXdpZGdldC10aXRsZS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICBkYXJrZW4oQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLDUlKTtcbkBpbXBhYy13aWRnZXQtdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuQGltcGFjLXdpZGdldC10aXRsZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICBzb2xpZCAxcHggQGltcGFjLXdpZGdldC1ib3JkZXJzLWNvbG9yO1xuQGltcGFjLXdpZGdldC10aXRsZS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICB1cHBlcmNhc2U7XG5AaW1wYWMtd2lkZ2V0LXRpdGxlLXRleHQtc2l6ZTogICAgICAgICAgICAgICAgIDEycHg7XG5AaW1wYWMtd2lkZ2V0LXRpdGxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIDVweCA1cHggMHB4IDBweDtcbkBpbXBhYy13aWRnZXQtdG9wLWJ1dHRvbnMtY29sb3I6ICAgICAgICAgICAgICAgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLWxpZ2h0O1xuXG4vLyBDb250ZW50XG5AaW1wYWMtd2lkZ2V0LWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgIDBweCAwcHggNXB4IDVweDtcbkBpbXBhYy13aWRnZXQtbGluZXMtY29udGFpbmVyLW1heC1oZWlnaHQ6ICAgICAgMjAwcHg7XG5cbi8vIFNldHRpbmdzXG4vLyBQYXJhbSBzZWxlY3RvclxuQGltcGFjLXdpZGdldC1wYXJhbS1zZWxlY3Rvci1jb2xvcjogICAgICAgICAgICBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG4vLyBIaXN0IE1vZGUgQ2hvc2VyXG5AaW1wYWMtd2lkZ2V0LWhpc3QtdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgIHVwcGVyY2FzZTtcbkBpbXBhYy13aWRnZXQtaGlzdC10ZXh0LXNpemU6ICAgICAgICAgICAgICAgICAgMTJweDtcbkBpbXBhYy13aWRnZXQtaGlzdC10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLWxpZ2h0O1xuLy8gUGFyYW1zIHBpY2tlclxuQGltcGFjLXdpZGdldC1wYXJhbXMtcGlja2VyLWJnOiAgICAgICAgICAgICAgICBAaW1wYWMtd2lkZ2V0LXJldmVyc2UtY29sb3I7XG5AaW1wYWMtd2lkZ2V0LXBhcmFtcy1waWNrZXItdW5jaGVja2VkLWJnOiAgICAgICNjMmM0YzQ7XG4vLyBMaW1pdCBlbnRyaWVzXG5AaW1wYWMtd2lkZ2V0LWxpbWl0LWVudHJpZXMtY29sb3I6ICAgICAgICAgICAgIEBpbXBhYy13aWRnZXQtcmV2ZXJzZS1jb2xvcjtcblxuLy8gR2xvYmFscyBhbmQgTWl4aW5zXG5AaW1wYWMtd2lkZ2V0LXNlbGVjdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgIEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcblxuLy8gRWRpdCBzZXR0aW5nc1xuQGltcGFjLXdpZGdldC1zdWItYmctY29sb3I6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yLDYlKTtcbkBpbXBhYy13aWRnZXQtc3ViLWJnLWNvbG9yLWxpZ2h0OiAgICAgICAgICAgICAgbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXN1Yi1iZy1jb2xvciw1JSk7IC8vZjNmNGY0XG5cbi8vIEFjY291bnRzIENvbXBhcmlzb25cbkBpbXBhYy13aWRnZXQtYWNjb3VudHMtY29tcGFyaXNvbi1saW5lcy1jb250YWluZXItbWF4LWhlaWdodDogMjIwcHg7XG5cbi8vIFNhbGVzIGJyZWFrLWV2ZW5cbkBpbXBhYy13aWRnZXQtc2FsZXMtYnJlYWstZXZlbi1iZzogICAgICAgICAgICAgcmdiKDI1LDQwLDQ5KTtcbkBpbXBhYy13aWRnZXQtc2FsZXMtYnJlYWstZXZlbi10ZXh0LWNvbG9yOiAgICAgIzFkZTliNjtcblxuLy8gS1BJc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gS3BpIGJhclxuQGtwaXMtYmFyLWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICB3aGl0ZTtcbkBrcGlzLWJhci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMHB4IDFweCA4cHggLTRweDtcbi8vIEtwaVxuQGtwaS1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTtcbkBrcGktdHJpZ2dlcmVkLWJvcmRlci1ib3R0b206ICAgICAgICAgICAgICAgICAgNHB4IHNvbGlkIEBicmFuZC1kYW5nZXI7XG5Aa3BpLW1heC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk1cHg7XG5Aa3BpLWVkaXRpbmctbWF4LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDkwcHg7IC8vIGhlaWdodCB0byBiZSBhZGRlZCB0byB0aGUgQGtwaS1tYXgtaGVpZ2h0IHdoZW4gaW4gZWRpdGluZyBtb2RlLlxuQGtwaS1jb250ZW50LWVkaXRpbmctaGVpZ2h0LWJ1ZmZlcjogICAgICAgICAgICA1cHg7IC8vIGhlaWdodCB0byBiZSBtaW51c2VkIGZyb20gdGhlIEBrcGktZWRpdGluZy1tYXgtaGVpZ2h0IHRvIGV2ZW4gdGhlIGtwaSBoZWlnaHQgYW5kIHRoZSBrcGkgY29udGVudCBoZWlnaHQuXG4vLyBLcGkgdG9wLWxpbmVcbkBrcGktdG9wLWxpbmUtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICAgICAgZ3JleTtcbkBrcGktdG9wLWxpbmUtdHJpZ2dlcmVkLWJhY2tncm91bmQtY29sb3I6ICAgICAgYmxhY2s7XG5Aa3BpLXRvcC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDdweDtcbkBrcGktdG9wLWxpbmUtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgbm9uZTtcbi8vIGtwaSBjb250ZW50XG5Aa3BpLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZXk7XG5Aa3BpLXRleHQtdHJpZ2dlcmVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIGJsYWNrO1xuQGtwaS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmV5O1xuQGtwaS1pY29uLXRyaWdnZXJlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICBibGFjaztcbi8vIGtwaSBzZXR0aW5nc1xuQGtwaS1zZXR0aW5ncy1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICBAbWJsdWU7XG5Aa3BpLXNldHRpbmdzLWVycm9yLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIEBicmFuZC1kYW5nZXI7XG5Aa3BpLXNldHRpbmdzLXJlbW92ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICM0YzQ3NDk7XG5Aa3BpLXNldHRpbmdzLXJlbW92ZS1iYWNrZ3JvdW5kLWhvdmVyOiAgICAgICAgIGRhcmtlbihAYnJhbmQtZGFuZ2VyLCA1JSk7XG5Aa3BpLXNldHRpbmdzLWFsZXJ0LWNvbmZpZy1iYWNrZ3JvdW5kOiAgICAgICAgICM0YzQ3NDk7XG5Aa3BpLXNldHRpbmdzLWFsZXJ0LWNvbmZpZy1iYWNrZ3JvdW5kLWhvdmVyOiAgIEBtYmx1ZTtcbkBrcGktbmVnYXRpdmUtYWxlcnQtbGFiZWwtYmFja2dyb3VuZC1jb2xvcjogICAgbGlnaHRlbigjZmYwMDAwLCAzMCUpO1xuXG4vLyBXaWRnZXRzIHBvcC11cHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBhYy13aWRnZXQtcG9wdXAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjogICAgIzE5MjgzMTtcbkBpbXBhYy13aWRnZXQtcG9wdXAtbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOiAgcmdiKDI0NCwgMjQ4LCAyNDkpO1xuQGltcGFjLXdpZGdldC1wb3B1cC10aXRsZS10ZXh0LWNvbG9yOiAgICAgICAgICB3aGl0ZTtcbkBpbXBhYy13aWRnZXQtcG9wdXAtbWVzc2FnZS10ZXh0LWNvbG9yOiAgICAgICAgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuXG4vLyBEZW1vIGRhdGEgbW9kZVxuQGltcGFjLXdpZGdldC1kZW1vLWRhdGEtbGluay1jb2xvcjogICAgICAgICAgICBAbWdyZWVuO1xuIiwiLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xPQkFMIFNUWUxFU1xuKiogICAgICAgIFRoaXMgc3R5bGVzaGVldCBzaG91bGQgb25seSBjb250YWluIHN0eWxlcyBhcHBsaWVkIGdsb2JhbCBvciBpblxuKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgMiBvciBtb3JlIGNvbXBvbmVudHMuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLy8gTm90IGlkZWFsOiBpbnRlbmRzIHRvIGZvcmNlIGEgc2Nyb2xsYmFyIG9uIHRoZSB3aW5kb3cgKG5vdCBvbiB0aGUgYm9keSksXG4vLyBzbyB0aGF0IHRoZSB0b29sdGlwcyBhcHBlbmRlZCB0byBib2R5IGFyZSBub3QgbWFraW5nIHRoZSBzY3JlZW4gZmxpY2tlcmluZy5cbi8vIChzZWUgd2hlbiB0aGVyZSBpcyBvbmx5IDEgaW52b2ljZXMgbGlzdCB3aWRnZXQgb24gdGhlIGRhc2hib2FyZClcbi8vIEl0IGlzIGJldHRlciBpZiB0aGUgdG9vbHRpcHMgY2FuIGJlIGFwcGVuZGVkIHRvIGJvZHkgYmVjYXVzZSBvdGhlcndpc2UgaXQnc1xuLy8gbWVzc2luZyB0aGUgYWx0ZXJuYXRlLWJnKCkgbWl4aW5nIChieSBhZGRpbmcgYSBjaGlsZCB0byB0aGUgcGFyZW50IGVsZW1lbnQpXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDElICFpbXBvcnRhbnQ7XG59XG5cbi5hbmFseXRpY3Mge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyAtLS0gVGl0bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3I7XG4gIH1cblxuICBoMyB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgLmxlZnQtdGhpbigpO1xuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLSBDb2xvcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLnBvc2l0aXZlLC5ncmVlbiB7XG4gICAgY29sb3I6IEBpbXBhYy1wb3NpdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm5lZ2F0aXZlLC5yZWQge1xuICAgIGNvbG9yOiBAaW1wYWMtbmVnYXRpdmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wb3NpdGl2ZTIge1xuICAgIGNvbG9yOiBAaW1wYWMtcG9zaXRpdmUyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmVnYXRpdmUyIHtcbiAgICBjb2xvcjogQGltcGFjLW5lZ2F0aXZlMiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLSBCYXNlIGVsZW1lbnRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBoZWlnaHQ6IDMycHg7XG4gIH1cblxuICBwcmUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luOiAxcHggMHB4IDhweCAwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC53aWRnZXQtaXRlbSAuY29udGVudCwga3Bpcy1iYXIgLmtwaSB7XG4gICAgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBpbXBhYy13aWRnZXQtc2Nyb2xsYmFyLWNvbG9yLDM1JSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGltcGFjLXdpZGdldC1zY3JvbGxiYXItY29sb3IsNDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gLS0tIENvbW1vbiBhZGp1c3RtZW50c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLm5vcGFkZGluZyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5ub21hcmdpbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLSBDdXN0b20gZWxlbWVudHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmJ0bi5idG4tc2hhZGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtYnRuLXNoYWRkZWQtYmc7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggZGFya2VuKEBpbXBhYy1idG4tc2hhZGRlZC1iZyw1JSk7XG4gICAgY29sb3I6IEBpbXBhYy1idG4tc2hhZGRlZC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogbGlnaHRlbihAaW1wYWMtYnRuLXNoYWRkZWQtY29sb3IsNSUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtYnRuLXNoYWRkZWQtYmcsNSUpO1xuICAgIH1cbiAgfVxuXG4gIC5wcmljZSB7XG4gICAgLmNlbnRlci1ib2xkKCk7XG4gIH1cblxuICAuY3VycmVuY3kge1xuICAgIC5jZW50ZXItdGhpbigpO1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3ItbWVkaXVtO1xuICB9XG5cbiAgLmxlZ2VuZCB7XG4gICAgLmNlbnRlci1zbWFsbCgpO1xuICAgIC5zY3JvbGxhYmxlKCk7XG4gICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1saWdodDtcbiAgfVxuXG4gIC5sb2FkZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaSB7XG4gICAgICAubG9hZGVyLXN0eWxlKCk7XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH1cblxuICAucmlnaHQtcGFuZWwge1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggI2U2ZTZlNjtcbiAgfVxuXG4gIC5zZWxlY3RvciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IEBtZWRpdW1ibHVlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlclxuICB9XG5cbiAgLnRpbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDcsMjQ3LDI0Nyk7XG4gICAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IC03cHggIzE3MjYyZDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjRjFGOUZGLCAzJSk7XG4gICAgfVxuICAgIC5jb2xvcmVkLWFyZWEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNGQzRGRjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICBtaW4td2lkdGg6IDglO1xuICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtdGlsZS1zZWxlY3RlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLm1haW4tdGV4dCB7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuICAgICAgcGFkZGluZzogMjBweCAwcHggMHB4IDVweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAuc2Nyb2xsYWJsZSgpO1xuICAgIG1heC1oZWlnaHQ6IEBpbXBhYy13aWRnZXQtbGluZXMtY29udGFpbmVyLW1heC1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMHB4IDE1cHg7XG5cbiAgICAucm93LndpZGdldC1saW5lIHtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGNvbG9yOiBAbWVkaXVtYmx1ZTtcblxuICAgICAgJi5oZWFkZXIge1xuICAgICAgICAuZm9udCgxMnB4LDUwMCxAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3ItbWVkaXVtKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcblxuICAgICAgICAmID4gW2NsYXNzKj0nY29sLSddIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaS5mYSB7XG4gICAgICAgIG1pbi13aWR0aDogMTJweDtcbiAgICAgICAgbWluLWhlaWdodDogMTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucm93IC5kYXNoZWQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCBAaW1wYWMtd2lkZ2V0LWJvcmRlcnMtY29sb3I7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC5yb3cubGluZXMtZ3JvdXAge1xuICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IEBsaWdodGdyYXk7XG4gICAgfVxuICB9XG59XG5cbi52ZXJ0aWNhbC1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5ob3Jpem9udGFsLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbn1cblxuLy8gVGhlIHRvb2x0aXBzIHNob3VsZCBiZSBhcHBlbmQgdG8gYm9keVxuLnRvb2x0aXAuaW1wYWMtd2lkZ2V0cy10b29sdGlwIC50b29sdGlwLWlubmVyLm5nLWJpbmRpbmcge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbWRhcmtibHVlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHN0cm9uZyB7XG4gICAgY29sb3I6IEBtZ3JlZW47XG4gIH1cbn1cblxuLnNvcnRhYmxlLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLSBCb290c3RyYXAgb3ZlcnJpZGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhcy1lcnJvciAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiBAYnJhbmQtZGFuZ2VyO1xuICAmOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiBAYnJhbmQtZGFuZ2VyIH1cbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6IEBicmFuZC1zdWNjZXNzO1xuICAmOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiBAYnJhbmQtc3VjY2VzcyB9XG59XG5cbi8vIHJlbW92ZSBndXR0ZXJzIGZyb20gQm9vc3RyYXAgcm93XG4ucm93Lm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLyByZW1vdmUgZ3V0dGVycyBmcm9tIEJvb3N0cmFwIGNvbHVtblxuW2NsYXNzXj1cImNvbC1cIl0ubm8tZ3V0dGVycyxcbltjbGFzcyo9XCIgY29sLVwiXS5uby1ndXR0ZXJzIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuIiwiLmZvbnQoQHNpemUsQHdlaWdodCxAY29sb3IpIHtcbiAgZm9udC13ZWlnaHQ6QHdlaWdodDtcbiAgZm9udC1zaXplOkBzaXplO1xuICBjb2xvcjpAY29sb3I7XG59XG5cbi5jZW50ZXItYm9sZCAoQG1hcmdpbi10b3A6IDMwcHgpIHtcbiAgLmZvbnQoMjJweCwgOTAwLCBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IEBtYXJnaW4tdG9wO1xufVxuXG4uY2VudGVyLXRoaW4gKCkge1xuICAuZm9udCgxNnB4LCAzMDAsIEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNlbnRlci1zbWFsbCAoKSB7XG4gIC5mb250KDEycHgsIDMwMCwgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubGVmdC10aGluIChAbWFyZ2luLXRvcDogMHB4KSB7XG4gIC5mb250KDE0cHgsIDMwMCwgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogQG1hcmdpbi10b3A7XG59XG5cbi53aWRnZXQtaGVpZ2h0IChAaGVpZ2h0OiBAaW1wYWMtbWluaW11bS13aWRnZXQtc2l6ZSkge1xuICBtaW4taGVpZ2h0OiBAaGVpZ2h0O1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBoZWlnaHQ6IEBoZWlnaHQ7XG4gICAgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IEBoZWlnaHQgKyAyMHB4O1xuICAgICAgbWF4LWhlaWdodDogQGhlaWdodCAtIDEyNXB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uc2hvcnQtd2lkZ2V0ICgpIHtcbiAgLndpZGdldC1oZWlnaHQoKTtcbiAgLmVkaXQge1xuICAgIG1heC1oZWlnaHQ6IEBpbXBhYy1taW5pbXVtLXdpZGdldC1zaXplIC0gMjBweDtcbiAgfVxufVxuXG4udGFsbC13aWRnZXQgKCkge1xuICAud2lkZ2V0LWhlaWdodChAaW1wYWMtYmlnLXdpZGdldC1zaXplKTtcbiAgLmVkaXQge1xuICAgIG1heC1oZWlnaHQ6IEBpbXBhYy1iaWctd2lkZ2V0LXNpemUgLSAyMHB4O1xuICAgIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAgIC5zY3JvbGxhYmxlKGhpZGRlbik7XG4gICAgfVxuICB9XG59XG5cbi5zY3JvbGxhYmxlIChAc2Nyb2xsLW1vZGU6IGF1dG8pIHtcbiAgb3ZlcmZsb3cteTogQHNjcm9sbC1tb2RlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5zZWxlY3RhYmxlICgpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCBAaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I7XG4gIC5zZWxlY3Rpb24tdGFnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMHB4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAyOXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBpbXBhYy13aWRnZXQtc2VsZWN0YWJsZS1jb2xvciwgMjIlKTtcbiAgfVxuICAmLm5vLXNlbGVjdCB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgICY6aG92ZXIgeyBjb2xvcjogQG1lZGl1bWJsdWU7IH1cbiAgfVxufVxuXG4uYWx0ZXJuYXRlLWJnIChAZXZlbi1jb2xvcjogQGltcGFjLXdpZGdldC1zdWItYmctY29sb3IpIHtcbiAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBldmVuLWNvbG9yO1xuICB9XG4gICY6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4uZWRpdC1wYW5lbC1zdHlsZSgpIHtcbiAgLnNjcm9sbGFibGUoKTtcbiAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjtcbiAgcGFkZGluZzogMnB4O1xuICBmb250LXNpemU6IDEycHg7XG5cbiAgLmJvdHRvbS1idXR0b25zIHtcbiAgICAuYnRuIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgcGFkZGluZzogM3B4IDEzcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgICAmLmJ0bi1kZWZhdWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggZGFya2VuKCNjMmM0YzQsMTAlKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCBkYXJrZW4oI2MyYzRjNCwyMCUpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjYzJjNGM0LDEwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC5mb250KDEycHgsbm9ybWFsLEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1saWdodCk7XG4gIH1cblxuICAucGFydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtc3ViLWJnLWNvbG9yLWxpZ2h0O1xuICAgIC8vIGNvbG9yOiAjNjI2ZDZkO1xuICAgIGJvcmRlcjogc29saWQgMXB4IEBpbXBhYy13aWRnZXQtYm9yZGVycy1jb2xvcjtcblxuICAgIGg1IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmc6IDBweCAxNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIC5mb250KDEycHgsbm9ybWFsLEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1saWdodCk7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2FjYjBiMTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogIzcyNzI4YjtcbiAgICB9XG4gIH1cbn1cblxuLmxvYWRlci1zdHlsZShAY29sb3I6IEBpbXBhYy13aWRnZXQtbG9hZGluZy1zcGlubmVyKSB7XG4gIGNvbG9yOiBAY29sb3I7XG59XG5cbi5jb2x1bW4tZ3V0dGVyKEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwYWRkaW5nLWxlZnQ6IEBndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IEBndXR0ZXI7XG59XG5cbi53aWRnZXQtcG9wdXAoKSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogQGltcGFjLXdpZGdldC1wb3B1cC1tZXNzYWdlLXRleHQtY29sb3I7XG4gIFxuICAub3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogflwiY2FsYygxMDAlIC0gNHB4KVwiO1xuICAgIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSA0cHgpXCI7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMnB4O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLm1lc3NhZ2Uge1xuICAgIHotaW5kZXg6IDY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHRvcDogNDVweDtcbiAgICBsZWZ0OiA3JTtcbiAgICB3aWR0aDogODYlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtcG9wdXAtbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDI1cHggMHB4O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtcG9wdXAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBvcHVwLXRpdGxlLXRleHQtY29sb3I7XG4gICAgICBtYXJnaW46IC0xcHggLTFweCAxMHB4IC0xcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgYm9keSB7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgLmFuYWx5dGljcyB7XG4gICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgICNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAudGl0bGUtY29udGFpbmVyIHsgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC53aWRnZXQtaXRlbSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAuY29udGVudCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBjYW52YXMge1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yaWdodC1wYW5lbCB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIC5jaGFydC1jb250YWluZXIge1xuICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIGNhbnZhcyB7XG4gICAgICAgICAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAqIHsgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBOT1RFOiBEbyBub3QgYWRkIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgYnV0dG9uIG9yIGN1c3RvbSBpbmplY3RlZCBidXR0b25IdG1sIGhlcmUuXG4vLyAgICAgICB0aGUgcGFyZW50IHN0eWxlc2hlZXQgb2Ygd2hpY2ggdGhpcyBkaXJlY3RpdmUgaXMgZW1iZWRkZWQgd2l0aGluIHNob3VsZFxuLy8gICAgICAgY29udGFpbiB0aGUgc3R5bGVzLlxuXG4vLyBNb2RhbCBrcGlzIGFsZXJ0cyBzZXR0aW5nc1xuLmtwaS1hbGVydHMtc2V0dGluZ3Mge1xuICAubW9kYWwtaGVhZGVyIHsgZm9udC1zaXplOiAyMHB4OyB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuXG4gICAgdWwgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbiAgICB1bCA+IGxpLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogNnB4IDE1cHg7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLW1lZGl1bTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAuYWxlcnQtdG9nZ2xlIHtcbiAgICAgICAgJjpob3ZlciB7IGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBAbWJsdWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzRjYWNhO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mYS5mYS10b2dnbGUtb24sIC5mYS5mYS10b2dnbGUtb2ZmIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuICAgIHVsLnJlY2lwaWVudHMtbGlzdCB7XG4gICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M0Y2FjYTtcblxuICAgICAgbGkge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBpbnB1dC5yZWNpcGllbnQtc2VhcmNoIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHVsLmF2YWlsYWJsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIHtcbiAgcGFkZGluZy10b3A6IEBpbXBhYy1kYXNoYm9hcmQtcGFkZGluZy10b3A7XG4gIG1hcmdpbi1sZWZ0OiBAaW1wYWMtZGFzaGJvYXJkLW1hcmdpbi1sZWZ0O1xuXG4gIC8vIERlZmF1bHQgc21hbGwgc2NyZWVuIGJlaGF2aW91ciB0byBhbGxvdyBmb3IgdGhlIGNvbW1vbiB1c2Ugb2YgdG9wLWJhcnNcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nLXRvcDogQGltcGFjLWRhc2hib2FyZC1zbS1wYWRkaW5nLXRvcDtcbiAgfVxuXG4gICYucGRmLW1vZGUgeyBwYWRkaW5nLXRvcDogMjBweDsgfVxuXG4gICYuc2hvdy1kaGIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAmLmhpZGUtZGhiIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLy8gY29udGFpbnMgY3VzdG9taXNhYmxlIGltcGFjIGxvZ28sIGFuZCBoZWFkaW5nIHRleHQuXG4gICNkYXNoYm9hcmQtaGVhZGluZyB7XG4gICAgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgJi5wZGYtbW9kZTpob3ZlciB7IGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIH1cbiAgICAuY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDVweCAwcHg7XG4gICAgfVxuICB9XG5cbiAgI3N1Yi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgY29sb3I6ICMyMzM4NDU7XG4gICAgfVxuXG4gICAgLmZhLmZhLXRpbWVzIHtcbiAgICAgIG1hcmdpbjogNnB4O1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oIzIzMzg0NSwgMTUlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAjd2lkZ2V0LXNlbGVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci1iZztcbiAgICBjb2xvcjogQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItdGV4dC1jb2xvcjtcbiAgICBwYWRkaW5nOiAwcHggNDVweCAxMHB4IDQ1cHg7XG4gICAgbWFyZ2luOiAxMHB4IC00NXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIENocm9tZS9TYWZhcmkgKi9cbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRTEwKyAqL1xuICAgIC8qIFJ1bGVzIGJlbG93IG5vdCBpbXBsZW1lbnRlZCBpbiBicm93c2VycyB5ZXQgKi9cbiAgICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgcGFkZGluZzogMCAxNXB4IDEwcHggMTVweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgcGFkZGluZzogMTVweCAwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggbGlnaHRlbihAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci1iZyw2JSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgcC5pbnN0cnVjdGlvbiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC53aWRnZXQtYWRkZWQuYmFkZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIC5mYS5jbG9zZS1zZWxlY3RvciB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IEBtbGlnaHRncmV5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1saW5lcyB7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuXG4gICAgICBwIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWQge1xuICAgICAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci10ZXh0LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci1iZywzJSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmcsNiUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3JpZXMtc2VjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmcsNiUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAgICYgPiAuc2VjdGlvbi1saW5lcyB7XG5cbiAgICAgICAgJiA+IFtjbGFzcyo9J2NvbC0nXTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZzogM3B4IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZS1pdGVtOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmcsMyUpO1xuICAgICAgICB9XG4gICAgICAgIC5saW5lLWl0ZW0uc2VsZWN0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAuYm94LXNoYWRvdygtMnB4IDJweCAxMHB4IC00cHggYmxhY2spO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDMzcHg7XG4gICAgICAgIHJpZ2h0OiAtMTFweDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuc3F1YXJlIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICByaWdodDogMTdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpLmZhLmZhLWNhcmV0LXJpZ2h0IHtcbiAgICAgICAgICBmb250LXNpemU6IDUycHg7XG4gICAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTEuNXB4O1xuICAgICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZ2V0cy1zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci1iZywzJSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgJiA+IC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJiA+IC5zZWN0aW9uLWxpbmVzIHtcbiAgICAgICAgcGFkZGluZzogM3B4IDBweDtcblxuICAgICAgICAuZmEuZmEtcGx1cy1jaXJjbGUge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gLmxpbmUtaXRlbXMtZ3JpZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgaGVpZ2h0OiAwJTtcblxuICAgICAgICAgICYgPiAuZ3JpZC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAvLyBBcHBsaWVzIGEgZmxleC1iYXNpcyBvZiAxLzMgZm9yIGVhY2ggZ3JpZCBpdGVtICgzIGNvbHVtbnMgcGVyIHJvdylcbiAgICAgICAgICAgIGZsZXg6IDAgMzEuMzMlO1xuICAgICAgICAgICAgLy8gQ3JlYXRlcyBhIHNtYWxsIGd1dHRlciBhcm91bmQgZWFjaCBncmlkIGl0ZW1cbiAgICAgICAgICAgIG1hcmdpbjogMCAxJTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmc7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci13aWRnZXQtaXRlbS1taW4taGVpZ2h0O1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgICAgICAgICAgICBmbGV4OiAwIDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmcsNiUpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLmxpbmUtaXRlbSB7XG4gICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm90dG9tIHtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICYgPiAuc3VnZ2VzdGlvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICBhIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGZsdXJvYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNkYXNoYm9hcmQtc2V0dGluZ3MtcGFuZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICYgPiAqIHsgbWFyZ2luOiAwcHggM3B4OyB9XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIG5vIHdpZGdldHMgLSBlbXB0eSBkYXNoYm9hcmQuXG4gICNuby13aWRnZXRzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuXG4gICAgLy8gYmFja2dyb3VuZCBpbWFnZSBhc3NldFxuICAgIGltZy5iZyB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBubyB3aWRnZXRzIG1lc3NhZ2UgdGhhdCBzaXRzIGFib3ZlIGltYWdlIGFzc2V0XG4gICAgLmltcGFjLWluZm8tbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmluZm8tdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6MjBweDtcbiAgICAgICAgbWluLWhlaWdodDogMTE1cHg7XG4gICAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLWluZm8tdGV4dC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8vIHBhcmVudCBkaXYgc2VjdGlvbiBmb3Igd2lkZ2V0cyB0byBiZSBob3VzZWQuXG4gICN3aWRnZXRzLXNlY3Rpb24ge1xuICAgIC8vIGNvbnRhaW5lciBmb3Igd2lkZ2V0c1xuICAgICN3aWRnZXRzLWNvbnRhaW5lciB7XG4gICAgICAvLyBRdWljay1maXggdG8gYXZvaWQgc2NyZWVuIGZsb2NrZXJpbmcgd2hlbiB0b29sdGlwcyBhcmUgYXBwZW5kZWQgdG8gYm9keTpcbiAgICAgIC8vIG1pbi1oZWlnaHQgd2lsbCBmb3JjZSBhIHNjcm9sbGJhciB0byBhcHBlYXIuLi5cbiAgICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICAgIH1cblxuICAgIC5wbGFjZUhvbGRlckJveCB7XG4gICAgICBtYXJnaW46IEBpbXBhYy1wYWRkaW5nLWJldHdlZW4td2lkZ2V0cztcbiAgICAgIGhlaWdodDogMjY3cHg7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGJvcmRlcjogQGltcGFjLXBsYWNlaG9sZGVyLWJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIGRhc2hib2FyZCBmYWlsZWQgdG8gbG9hZCBtZXNzYWdlLlxuLmFuYWx5dGljcy5sb2FkLWZhaWxlZCB7XG5cbiAgcCB7IGZvbnQtc2l6ZTogMjJweDsgfVxuXG4gIC5zZWNvbmQtbXNnIHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiBAYnJhbmQtZGFuZ2VyO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBUb29sdGlwcyBhcmUgYXBwZW5kIHRvIGJvZHlcbi50b29sdGlwLmltcGFjLXdpZGdldC1zZWxlY3Rvci10b29sdGlwIC50b29sdGlwLWlubmVyLm5nLWJpbmRpbmcge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5kaGItY3JlYXRlLW1vZGFsIC5kYXNoYm9hcmQtZm9ybSB7XG5cbiAgLy8gQmV0dGVyIGFsaWducyBmb3JtIGxhYmVscyB3aXRoIHRlbXBsYXRlcyBzZWN0aW9uIGxhYmVsXG4gIC5jb2wtc20tMi5jb250cm9sLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5pbXBhYy13aWRnZXQtc3VnZ2VzdGlvbiAubW9kYWwtYm9keSB7XG4gIGlucHV0LHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTUwcHg7XG4gIH1cbiAgLnRoYW5rcy1tZXNzYWdlIHtcbiAgICBjb2xvcjogQG1ncmVlbjtcbiAgfVxufVxuXG4vLyBUaGlzIHN0eWxlIGFwcGxpZXMgdG8gZGFzaGJvYXJkIG1vZGFscywgYW5kIGFsc28gdGhlXG4vLyBgYWNjb3VudHMtY3VzdG9tLWNhbGN1bGF0aW9uL2Zvcm11bGEubW9kYWwuaHRtbGAgbW9kYWwuXG4ubW9kYWwtZm9vdGVyIC5sb2FkZXIge1xuICAubG9hZGVyLXN0eWxlKEBpbXBhYy1kYXNoYm9hcmQtbG9hZGluZy1zcGlubmVyKVxufVxuXG4iLCIjbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3Ige1xuICBhIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG4gIC8vIGRhc2hib2FyZCBzZWxlY3RvciB0ZW1wbGF0ZSB3cmFwcGVyIGRpdlxuICAmID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLWJvcmRlcjtcbiAgfVxuXG4gIC5idXR0b25zLWJhci1yb3cge1xuICAgIG1hcmdpbi10b3A6IDU0cHg7XG4gICAgJi5wZGYtbW9kZSB7IG1hcmdpbi10b3A6IDBweDsgfVxuICB9XG5cbiAgLy8gY29udGFpbmVyIGZvciBkYXNoYm9hcmQgc2VsZWN0b3IgJ2Ryb3Bkb3duJyB0ZW1wbGF0ZVxuICAuYnV0dG9ucy1iYXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmJ0biB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBpbXBhYy1kYXNoYm9hcmQtYnV0dG9ucy1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC50aXRsZS1jb250YWluZXIge1xuICAgICAgaDEge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgICAuZGFzaGJvYXJkLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtdGl0bGUtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogZGFya2VuKEBpbXBhYy1kYXNoYm9hcmQtdGl0bGUtY29sb3IsMTAlKTtcbiAgICAgICAgfVxuICAgICAgICBpLmZhLmZhLXBlbmNpbCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBtZ3JlZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGFzaGJvYXJkLXNlbGVjdCB7XG4gICAgICAgIG1hcmdpbjogNXB4IDBweCAxMHB4IDMwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAaW1wYWMtZGFzaGJvYXJkLXRpdGxlLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGltcGFjLWRhc2hib2FyZC10aXRsZS1jb2xvcjtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRncmF5O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC5vcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXRpdGxlLWxhYmVsLWNvbG9yO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuY3JlYXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtdGl0bGUtY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQGltcGFjLWRhc2hib2FyZC10aXRsZS1sYWJlbC1jcmVhdGUtY29sb3I7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLWRhc2hib2FyZC10aXRsZS1jb2xvciwxMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpLmZhLmZhLXBlbmNpbCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKEBpbXBhYy1kYXNoYm9hcmQtdGl0bGUtY29sb3IsMTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgc3Bhbi5uYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jaGFuZ2UtbmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMsIDM4LCA0NSk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC5ib3gtc2hhZG93KDBweCAwcHggMjVweCA0cHggYmxhY2spO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGF0YS1zb3VyY2UtbGFiZWwge1xuICAgICAgICBjb2xvcjogQGltcGFjLWRhc2hib2FyZC1zb3VyY2UtY29sb3I7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubG9hZGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAubG9hZGluZy1zcGlubmVyIHtcbiAgICAgICAgLmxvYWRlci1zdHlsZSgpO1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gYW5ndWxhciBib290c3RyYXAgdGFicyAmIHBpbGxzXG4gIC5uYXYtdGFicyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAubmF2Lm5hdi10YWJzLFxuICAubmF2Lm5hdi1waWxscyB7XG5cbiAgICAvLyBhZGQgbmV3IHRhYlxuICAgIGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICB0YWItaGVhZGluZyBhIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUQUJTXG4gIC5uYXYubmF2LXRhYnMge1xuICAgIC8vIHRhYlxuICAgIGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtcGFkZGluZztcbiAgICAgIG1hcmdpbjogQGltcGFjLWRhc2hib2FyZC1zZWxlY3Rvci10YWJzLW1hcmdpbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtc2VsZWN0b3ItdGFicy1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLWJvcmRlcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtY29sb3I7XG4gICAgfVxuICAgIC8vIGFjdGl2ZSB0YWJcbiAgICBsaS5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtc2VsZWN0b3ItdGFicy1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgICAvLyBhZGQgbmV3IHRhYlxuICAgIGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgIC8vIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIH1cbiAgICBsaTpsYXN0LWNoaWxkLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLWRhc2hib2FyZC1zZWxlY3Rvci10YWJzLWJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gUElMTFNcbiAgLy8gVE9ETzogQWRkIGxlc3MgdmFyaWFibGVzIGZvciBjdXN0b21pc2F0aW9uLlxuICAubmF2Lm5hdi1waWxscyB7XG4gICAgLy8gdGFiXG4gICAgbGkgPiBhIHtcbiAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIH1cbiAgICAvLyBhZGQgYSBuZXcgdGFiXG4gICAgbGk6bGFzdC1jaGlsZCB0YWItaGVhZGluZyBhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuICAgIC8vIGFkZCBhIG5ldyB0YWJcbiAgICBsaTpsYXN0LWNoaWxkLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgICB9XG4gIH1cbiAgLy8gdGFiIGljb25zXG4gIHRhYi1oZWFkaW5nIGEuY2xvc2UtbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkO1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC05cHg7XG4gICAgcmlnaHQ6IDFweDtcbiAgICBjb2xvcjogQGltcGFjLWRhc2hib2FyZC1zZWxlY3Rvci10YWJzLWNvbG9yO1xuICB9XG4gIC8vLy8vLy8vXG59XG4iLCJkYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yIHtcbiAgLnRlbXBsYXRlcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLnRlbXBsYXRlcy10b2dnbGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBpLmZhIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmLmZhLXRvZ2dsZS1vbiB7XG4gICAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGVtcGxhdGVzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMXB4IDBweCAjY2NjO1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICAgLnRlbXBsYXRlIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWNlY2VjO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtZGFzaGJvYXJkLXRlbXBsYXRlcy1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yLCAyMCUpO1xuICAgICAgfVxuICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAyMjBweDtcbiAgbWluLWhlaWdodDogQGtwaS1tYXgtaGVpZ2h0O1xuICBtYXgtaGVpZ2h0OiBAa3BpLW1heC1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBrcGktYmFja2dyb3VuZC1jb2xvcjtcbiAgbWFyZ2luOiAxMHB4IDAgMTBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGtwaS1iYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLnRyaWdnZXJlZCwgJi5hZGQ6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IEBrcGktdHJpZ2dlcmVkLWJvcmRlci1ib3R0b207XG4gIH1cblxuICAmLmFkZCB7XG4gICAgLmtwaS10ZXh0IHtcbiAgICAgIC5lbXBoYXNpcyB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIH1cbiAgfVxuXG4gICYuYWRkOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLnRvcC1saW5lIHsgYmFja2dyb3VuZC1jb2xvcjogQGtwaS10b3AtbGluZS10cmlnZ2VyZWQtYmFja2dyb3VuZC1jb2xvcjsgfVxuICAgIC5rcGktdGV4dCB7XG4gICAgICBjb2xvcjogQGtwaS10ZXh0LXRyaWdnZXJlZC1jb2xvcjtcbiAgICAgIC5lbXBoYXNpcyB7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICB9XG4gICAgLmtwaS1pY29uIHtcbiAgICAgIGNvbG9yOiBAa3BpLWljb24tdHJpZ2dlcmVkLWNvbG9yO1xuICAgICAgLmZhLXBsdXM6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmVkaXRpbmcge1xuICAgIG1pbi1oZWlnaHQ6IEBrcGktbWF4LWhlaWdodCArIEBrcGktZWRpdGluZy1tYXgtaGVpZ2h0O1xuICB9XG5cbiAgJjpob3ZlciB7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4gICYuc3RhdGljIHtcbiAgICAua3BpLXZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cblxuICAudG9wLWxpbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgcGFkZGluZzogOXB4IDlweCAwcHggMTJweDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IEBrcGktdG9wLWxpbmUtaGVpZ2h0O1xuICAgIGJveC1zaGFkb3c6IEBrcGktdG9wLWxpbmUtYm94LXNoYWRvdztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBrcGktdG9wLWxpbmUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAmLnRyaWdnZXJlZCB7IGJhY2tncm91bmQtY29sb3I6IEBrcGktdG9wLWxpbmUtdHJpZ2dlcmVkLWJhY2tncm91bmQtY29sb3I7IH1cbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLWluO1xuICB9XG5cbiAgLmtwaS1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBAa3BpLW1heC1oZWlnaHQgLSA1cHg7XG4gICAgJi5lZGl0aW5nIHtcbiAgICAgIG1pbi1oZWlnaHQ6IEBrcGktbWF4LWhlaWdodCArIEBrcGktZWRpdGluZy1tYXgtaGVpZ2h0IC0gQGtwaS1jb250ZW50LWVkaXRpbmctaGVpZ2h0LWJ1ZmZlcjtcbiAgICAgIC5zY3JvbGxhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgLmtwaS1zaG93IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgLy8gc21hbGwgZml4IGZvciBpcGhvbmUgNiBhbmQgc21hbGxlclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM4MHB4KSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDNweDtcbiAgICB9XG5cbiAgICAuZW1waGFzaXMge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgLnJlYWwtdmFsdWUgeyBjb2xvcjogIzY3Njc2NzsgfVxuICAgIH1cblxuICAgIC5jYXB0aW9uIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgLmtwaS10ZXh0IHtcbiAgICAgICYgPiBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIHBhZGRpbmc6IDdweCAwO1xuICAgICAgY29sb3I6IEBrcGktdGV4dC1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLWluO1xuICAgICAgJi50cmlnZ2VyZWQgeyBjb2xvcjogQGtwaS10ZXh0LXRyaWdnZXJlZC1jb2xvcjsgfVxuXG4gICAgICAuY2FwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDY1cHgpIHtcbiAgICAgICAgLmNhcHRpb24geyBmb250LXNpemU6IDEwcHg7IH1cbiAgICAgICAgLmVtcGhhc2lzIHsgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmtwaS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIGNvbG9yOiBAa3BpLWljb24tY29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZS1pbjtcbiAgICAgICYudHJpZ2dlcmVkIHsgY29sb3I6IEBrcGktaWNvbi10cmlnZ2VyZWQtY29sb3I7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2NXB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5rcGktZWRpdCB7XG5cbiAgICBhIHsgY29sb3I6IHdoaXRlOyB9XG5cbiAgICAua3BpLW5hbWUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgaDYge1xuICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVhbC12YWx1ZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5hbGVydC1jYXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGJhY2tncm91bmQ6IEBrcGktbmVnYXRpdmUtYWxlcnQtbGFiZWwtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuXG4gICAgLmtwaS10YXJnZXQtd2F0Y2hhYmxlLFxuICAgIC5rcGktdGFyZ2V0LXVuaXQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuXG4gICAgLmtwaS10YXJnZXQtd2F0Y2hhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBjb2xvcjogbGlnaHRlbihAa3BpLXRvcC1saW5lLWJhY2tncm91bmQtY29sb3IsIDUlKTtcbiAgICB9XG5cbiAgICAua3BpLXRhcmdldC11bml0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjb2xvcjogbGlnaHRlbihAa3BpLXRvcC1saW5lLWJhY2tncm91bmQtY29sb3IsIDEwJSk7XG4gICAgfVxuXG4gICAgLnBhcmFtLW5hbWUge1xuICAgICAgLnNtYWxsKCk7XG4gICAgfVxuXG4gICAgLmJ0bi5idG4teHMge1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5rcGktZWRpdCxcbiAgLmtwaS1uby1kYXRhIHtcbiAgICAuaW1wYWMtbWF0ZXJpYWwoQGtwaS1zZXR0aW5ncy1mb2N1cy1jb2xvciwgQGtwaS1zZXR0aW5ncy1lcnJvci1jb2xvcik7XG4gIH1cblxuICBidXR0b24ua3BpLWFsZXJ0cy5pbS1mYWIuaW0tcHJpbWFyeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEycHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBiYWNrZ3JvdW5kOiBAa3BpLXNldHRpbmdzLWFsZXJ0LWNvbmZpZy1iYWNrZ3JvdW5kO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VkOiBAa3BpLXNldHRpbmdzLWFsZXJ0LWNvbmZpZy1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5rcGktcmVtb3ZlLmltLWZhYi5pbS13YXJuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTJweDtcbiAgICByaWdodDogLTExcHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBiYWNrZ3JvdW5kOiBAa3BpLXNldHRpbmdzLXJlbW92ZS1iYWNrZ3JvdW5kO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogQGtwaS1zZXR0aW5ncy1yZW1vdmUtYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAua3BpLWRhdGEtbG9hZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA5NXB4O1xuICB9XG59XG5cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua2V5LXN0YXRzIC5rcGkge1xuICBtaW4taGVpZ2h0OiA4MHB4O1xufVxuIiwiLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1QQUMgTUFURVJJQUxcbi8qICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qKiBNaXhpbiBtYXRlcmlhbCBzdHlsZWQgZm9ybSBpbnB1dHMsIG92ZXJyaWRpbmcgYm9vdHN0cmFwJ3MgdW5nb2RseSByb3VuZC1uZXNzLlxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBERU1PIEhUTUwgLSB1c2UgdGhpcyBodG1sIHRvIHRlc3QgYWxsIGltcGFjIG1hdGVyaWFsIGZlYXR1cmVzLlxuPGZvcm0+XG4gIDxkaXYgY2xhc3M9XCJpbS1mb3JtLWdyb3VwXCI+XG4gICAgPHNlbGVjdD5cbiAgICAgIDxvcHRpb24+VmFsdWUgMTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbj5WYWx1ZSAyPC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gICAgPGxhYmVsIGZvcj1cInNlbGVjdFwiIGNsYXNzPVwiaW0tY29udHJvbC1sYWJlbFwiPlNlbGVjdGJveDwvbGFiZWw+PGkgY2xhc3M9XCJpbS1iYXJcIj48L2k+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tZm9ybS1ncm91cFwiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkLz5cbiAgICA8bGFiZWwgZm9yPVwiaW5wdXRcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5UZXh0ZmllbGQ8L2xhYmVsPjxpIGNsYXNzPVwiaW0tYmFyXCI+PC9pPlxuICAgIDxkaXYgY2xhc3M9XCJpbS1tZXNzYWdlc1wiPlxuICAgICAgPHA+VGhpcyBpcyBhbiBlcnJvciBtZXNzYWdlPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWZvcm0taW5saW5lXCI+XG4gICAgPGRpdiBjbGFzcz1cImltLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkLz5cbiAgICAgIDxsYWJlbCBmb3I9XCJpbnB1dFwiIGNsYXNzPVwiaW0tY29udHJvbC1sYWJlbFwiPklubGluZTwvbGFiZWw+PGkgY2xhc3M9XCJpbS1iYXJcIj48L2k+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImltLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkLz5cbiAgICAgIDxsYWJlbCBmb3I9XCJpbnB1dFwiIGNsYXNzPVwiaW0tY29udHJvbC1sYWJlbFwiPklubGluZTwvbGFiZWw+PGkgY2xhc3M9XCJpbS1iYXJcIj48L2k+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tZm9ybS1ncm91cFwiPlxuICAgIDx0ZXh0YXJlYSByZXF1aXJlZD48L3RleHRhcmVhPlxuICAgIDxsYWJlbCBmb3I9XCJ0ZXh0YXJlYVwiIGNsYXNzPVwiaW0tY29udHJvbC1sYWJlbFwiPlRleHRhcmVhPC9sYWJlbD48aSBjbGFzcz1cImltLWJhclwiPjwvaT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbS1jaGVja2JveFwiPlxuICAgIDxsYWJlbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjaGVja2VkPVwiY2hlY2tlZFwiLz48aSBjbGFzcz1cImltLWhlbHBlclwiPjwvaT5JJ20gdGhlIGxhYmVsIGZyb20gYSBjaGVja2JveFxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tY2hlY2tib3hcIj5cbiAgICA8bGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIvPjxpIGNsYXNzPVwiaW0taGVscGVyXCI+PC9pPkknbSB0aGUgbGFiZWwgZnJvbSBhIGNoZWNrYm94XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbS1mb3JtLXJhZGlvXCI+XG4gICAgPGRpdiBjbGFzcz1cImltLXJhZGlvXCI+XG4gICAgICA8bGFiZWw+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBuYW1lPVwicmFkaW9cIiBjaGVja2VkPVwiY2hlY2tlZFwiLz48aSBjbGFzcz1cImltLWhlbHBlclwiPjwvaT5JJ20gdGhlIGxhYmVsIGZyb20gYSByYWRpbyBidXR0b25cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImltLXJhZGlvXCI+XG4gICAgICA8bGFiZWw+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBuYW1lPVwicmFkaW9cIi8+PGkgY2xhc3M9XCJpbS1oZWxwZXJcIj48L2k+SSdtIHRoZSBsYWJlbCBmcm9tIGEgcmFkaW8gYnV0dG9uXG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWNoZWNrYm94XCI+XG4gICAgPGxhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiLz48aSBjbGFzcz1cImltLWhlbHBlclwiPjwvaT5JJ20gdGhlIGxhYmVsIGZyb20gYSBjaGVja2JveFxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImltLWZhYiBpbS1wcmltYXJ5XCI+PGk+4pmlPC9pPjwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImltLWZhYiBpbS13YXJuXCI+PGk+4pmlPC9pPjwvYnV0dG9uPlxuPC9mb3JtPlxuKi9cblxuQGJvZHktYmc6ICNmZmY7XG5cbi8vIFNoYWRvd3NcbkBzaGFkb3ctaW5zZXQ6IGluc2V0IDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KTtcbkBzaGFkb3ctMDogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xuQHNoYWRvdy0yOiAwIDJweCAycHggMCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMXB4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuQHNoYWRvdy0zOiAwIDNweCA0cHggMCByZ2JhKDAsMCwwLC4xNCksMCAzcHggM3B4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAxcHggOHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuQHNoYWRvdy00OiAwIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKTtcbkBzaGFkb3ctNjogMCA2cHggMTBweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxOHB4IDAgcmdiYSgwLDAsMCwuMTIpLDAgM3B4IDVweCAtMXB4IHJnYmEoMCwwLDAsLjIpO1xuQHNoYWRvdy04OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwuMTIpLDAgNXB4IDVweCAtM3B4IHJnYmEoMCwwLDAsLjIpO1xuXG4vLyBGb250IFNpemVzXG5AaW0tZm9udC1zaXplOiAxLjI1cmVtO1xuQGltLWFjdGl2ZS1mb250LXNpemU6IEBpbS1mb250LXNpemUgKiAwLjg7XG5AaW0tYWN0aXZlLXRvcDogLUBpbS1mb250LXNpemU7XG5cbi8vIE1hcmdpbiAmIFBhZGRpbmdzXG5AaW0tZ2FwOiBAaW0tZm9udC1zaXplICogLjc7XG5AaW0tc3BhY2VyOiBAaW0tZm9udC1zaXplIC8gODtcbkBpbS1maWVsZHNldC1tYXJnaW46IDAgMCBAaW0tZ2FwICogMjtcbkBpbS1jaGVja2JveC1nYXA6IEBpbS1mb250LXNpemUgKiAyO1xuQGltLWNoZWNrYm94LXRvcDogMDtcbkBpbS1yYWRpby1tYXJnaW46IEBpbS1mb250LXNpemUgLyAtNDtcblxuLy8gQ29sb3JzXG5AaW0tYm9yZGVyLWNvbG9yOiAjOTk5O1xuQGltLWxhYmVsLWNvbG9yOiBsaWdodGVuKEBpbS1ib3JkZXItY29sb3IsIDEwJSk7XG5AaW0tYWN0aXZlLWNvbG9yOiBkYXJrZW4oQGltLWJvcmRlci1jb2xvciwgMTAlKTtcblxuLy8gQW5pbWF0aW9uXG5AaW0tdHJhbnNpdGlvbi1zcGVlZDogMC4yOHM7XG5cbi5pbXBhYy1tYXRlcmlhbCAoQGltLWZvY3VzLWNvbG9yOiAjMzM3YWI3LCBAaW0tZXJyb3ItY29sb3I6ICNkOTUzNGYsIEBpbS1pbnB1dC1jb2xvcjogIzMzMykge1xuICAvKiBGbGF0dGVuIGRlciBCb290c3RyYXAgKi9cbiAgLndlbGwsIC5uYXZiYXItaW5uZXIsIC5wb3BvdmVyLCAuYnRuLCAudG9vbHRpcCwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIHByZSwgLnByb2dyZXNzLCAubW9kYWwsIC5hZGQtb24sIC5hbGVydCwgLnRhYmxlLWJvcmRlcmVkLCAubmF2Pi5hY3RpdmU+YSwgLmRyb3Bkb3duLW1lbnUsIC50b29sdGlwLWlubmVyLCAuYmFkZ2UsIC5sYWJlbCwgLmltZy1wb2xhcm9pZCB7XG4gICAgLW1vei1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYm9keSxcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBTdHlsZXMgZm9yIHRoZSBmb3JtXG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IEBpbS1maWVsZHNldC1tYXJnaW47XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAuaW0tZm9ybS1yYWRpbyxcbiAgLmltLWZvcm0tZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAoQGltLWdhcCAqIDEuNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogKEBpbS1nYXAgKiAxLjUpO1xuICB9XG5cbiAgLmltLWZvcm0taW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgID4gLmltLWZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoQGltLWdhcCAqIC4yKTtcbiAgICAgIG1hcmdpbi1yaWdodDogKEBpbS1nYXAgKiAuMik7XG4gICAgfVxuXG4gICAgPiAuYnRuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmltLWZvcm0tZ3JvdXAge1xuICAgIGlucHV0IHtcbiAgICAgIGhlaWdodDogKEBpbS1mb250LXNpemUgKiAxLjkpO1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IEBpbS1mb250LXNpemU7XG4gICAgICBoZWlnaHQ6IChAaW0tZm9udC1zaXplICogMS42KTtcbiAgICAgIHBhZGRpbmc6IEBpbS1zcGFjZXIgQGltLXNwYWNlciAoQGltLXNwYWNlciAvIDIpO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5pbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogKEBpbS1mb250LXNpemUgLyA0KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiBAaW0tc3BhY2VyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGNvbG9yOiBAaW0tbGFiZWwtY29sb3I7XG4gICAgICBmb250LXNpemU6IEBpbS1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIEBpbS10cmFuc2l0aW9uLXNwZWVkIGVhc2U7XG4gICAgfVxuXG4gICAgLmltLWJhciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiAoQGltLWZvbnQtc2l6ZSAvIDE2KSBzb2xpZCBAaW0tYm9yZGVyLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IChAaW0tZm9udC1zaXplIC8gOCk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogKEBpbS1mb250LXNpemUgLyAtMTYpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbS1mb2N1cy1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlLCB3aWR0aCBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IEBpbS1zcGFjZXIgQGltLXNwYWNlciAoQGltLXNwYWNlciAvIDIpO1xuICAgICAgZm9udC1zaXplOiBAaW0tZm9udC1zaXplO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgfiAuaW0tYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3QsXG4gICAgaW5wdXQ6Zm9jdXMsXG4gICAgaW5wdXQ6dmFsaWQsXG4gICAgaW5wdXQuZm9ybS1maWxlLFxuICAgIGlucHV0Lmhhcy12YWx1ZSxcbiAgICB0ZXh0YXJlYTpmb2N1cyxcbiAgICB0ZXh0YXJlYTp2YWxpZCxcbiAgICB0ZXh0YXJlYS5mb3JtLWZpbGUsXG4gICAgdGV4dGFyZWEuaGFzLXZhbHVlIHtcbiAgICAgIGNvbG9yOiBAaW0taW5wdXQtY29sb3I7XG5cbiAgICAgIH4gLmltLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IEBpbS1hY3RpdmUtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogQGltLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgdG9wOiBAaW0tYWN0aXZlLXRvcDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3QsXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgfiAuaW0tY29udHJvbC1sYWJlbCB7XG4gICAgICAgICAgY29sb3I6IEBpbS1mb2N1cy1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIH4gLmltLWJhciB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSYWRpbyAmIENoZWNrYm94XG4gIC5pbS1jaGVja2JveCxcbiAgLmltLWZvcm0tcmFkaW8ge1xuICAgIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogQGltLWNoZWNrYm94LWdhcDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogQGltLWlucHV0LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvcGFjaXR5OiAwLjAwMDAwMDAxO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaW0tcmFkaW8ge1xuICAgIG1hcmdpbi1ib3R0b206IEBpbS1mb250LXNpemU7XG5cbiAgICAuaW0taGVscGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogQGltLXJhZGlvLW1hcmdpbjtcbiAgICAgIGxlZnQ6IEBpbS1yYWRpby1tYXJnaW47XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogQGltLWZvbnQtc2l6ZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY29sb3I6IEBpbS1ib3JkZXItY29sb3I7XG5cbiAgICAgIC8vIFRPRE86IGltcHJvdmUgcmFkaW8gdHJhbnNpdGlvbiAtIHJpcHBsZSBlZmZlY3QgbGlrZSBhbmd1bGFyIG1kIHdvdWxkIGJlIGNvb2wgOilcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtYXJnaW46IChAaW0tc3BhY2VyICogMik7XG4gICAgICAgIHdpZHRoOiBAaW0tZm9udC1zaXplO1xuICAgICAgICBoZWlnaHQ6IEBpbS1mb250LXNpemU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogKEBpbS1mb250LXNpemUgLyA4KSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltLWZvY3VzLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBpbS1mb2N1cy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbDpob3ZlciAuaW0taGVscGVyIHtcbiAgICAgIGNvbG9yOiBAaW0tZm9jdXMtY29sb3I7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCB7XG4gICAgICB+IC5pbS1oZWxwZXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogQGltLWZvY3VzLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmltLWNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiAoQGltLWdhcCAqIDIpO1xuICAgIG1hcmdpbi1ib3R0b206IEBpbS1mb250LXNpemU7XG5cbiAgICAuaW0taGVscGVyIHtcbiAgICAgIGNvbG9yOiBAaW0tYm9yZGVyLWNvbG9yO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBAaW0tY2hlY2tib3gtdG9wO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiBAaW0tZm9udC1zaXplO1xuICAgICAgaGVpZ2h0OiBAaW0tZm9udC1zaXplO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGJvcmRlcjogKEBpbS1mb250LXNpemUgLyA4KSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAoQGltLWZvbnQtc2l6ZSAvIDE2KTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogKEBpbS1mb250LXNpemUgKiAwLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW0tZm9jdXMtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogKEBpbS1mb250LXNpemUgLyA0KTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgQGltLXRyYW5zaXRpb24tc3BlZWQgZWFzZSwgaGVpZ2h0IDBzIGxpbmVhciBAaW0tdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAoQGltLWZvbnQtc2l6ZSAqIDAuNjUpO1xuICAgICAgICBsZWZ0OiAoQGltLWZvbnQtc2l6ZSAqIDAuMzgpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgKEBpbS1mb250LXNpemUgLyAxNikgQGJvZHktYmc7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoQGltLWZvbnQtc2l6ZSAqIDAuMyk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWw6aG92ZXIgLmltLWhlbHBlciB7XG4gICAgICBjb2xvcjogQGltLWZvY3VzLWNvbG9yO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQge1xuICAgICAgfiAuaW0taGVscGVyIHtcbiAgICAgICAgY29sb3I6IEBpbS1mb2N1cy1jb2xvcjtcblxuICAgICAgICAvLyBUT0RPOiBpbXByb3ZlIGNoZWNrZWQgdHJhbnNpdGlvbi5cbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgQGltLXRyYW5zaXRpb24tc3BlZWQgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IChAaW0tZm9udC1zaXplIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogKEBpbS1mb250LXNpemUgKiAxLjIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEBpbS10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmltLXJhZGlvICsgLmltLXJhZGlvLFxuICAuaW0tY2hlY2tib3ggKyAuaW0tY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IEBpbS1mb250LXNpemU7XG4gIH1cblxuICAvLyBBZGQgY2xhc3Mgb250byBuZy1tZXNzYWdlcyBkaXZcbiAgLmltLW1lc3NhZ2VzIHtcbiAgICBmb250LXNpemU6IEBpbS1mb250LXNpemUgLyAxLjI7XG4gICAgY29sb3I6IEBpbS1lcnJvci1jb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCBAaW0tdHJhbnNpdGlvbi1zcGVlZCBjdWJpYy1iZXppZXIoLjU1LDAsLjU1LC4yKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgfVxuXG4gIC5oYXMtZXJyb3Ige1xuICAgIC5sZWdlbmQubGVnZW5kLFxuICAgICYuaW0tZm9ybS1ncm91cCAuaW0tY29udHJvbC1sYWJlbC5pbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiBAaW0tZXJyb3ItY29sb3I7XG4gICAgfVxuXG4gICAgJi5pbS1mb3JtLWdyb3VwLFxuICAgICYuaW0tY2hlY2tib3gsXG4gICAgJi5pbS1yYWRpbyxcbiAgICAmLmltLWZvcm0tcmFkaW8ge1xuICAgICAgLmltLW1lc3NhZ2VzLFxuICAgICAgLmltLWhlbHBlciB7XG4gICAgICAgIGNvbG9yOiBAaW0tZXJyb3ItY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltLWJhciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW0tZXJyb3ItY29sb3I7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKEBpbS1mb2N1cy1jb2xvciwgMTAlKTtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAoQGltLWZvbnQtc2l6ZSAqIDEuMSk7XG4gICAgY29sb3I6IEBpbS1pbnB1dC1jb2xvcjtcbiAgICBtYXJnaW46IChAaW0tZ2FwICogLjgpIDA7XG4gICAgcGFkZGluZzogKEBpbS1nYXAgLyAyKSAoQGltLWdhcCAqIDIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiBAc2hhZG93LTI7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzIGVhc2UtaW47XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oQGltLWZvY3VzLWNvbG9yLCA1JSk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogQHNoYWRvdy1pbnNldDtcbiAgICB9XG5cbiAgICBhOmZvY3VzLFxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICBidXR0b24uaW0tZmFiIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA0NnB4O1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGZsZXg6IDAgMCA1NnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogNHB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGJveC1zaGFkb3c6IEBzaGFkb3ctNDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiBAc2hhZG93LWluc2V0O1xuICAgIH1cbiAgICAmLmltLXByaW1hcnkge1xuICAgICAgYmFja2dyb3VuZDogQGltLWZvY3VzLWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzIGVhc2UtaW47XG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihAaW0tZm9jdXMtY29sb3IsIDUlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pbS13YXJuIHtcbiAgICAgIGJhY2tncm91bmQ6IEBpbS1lcnJvci1jb2xvcjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcyBlYXNlLWluO1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oQGltLWVycm9yLWNvbG9yLCA1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmFjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaW1wYWMtbWF0ZXJpYWwoQGtwaS1zZXR0aW5ncy1mb2N1cy1jb2xvciwgQGtwaS1zZXR0aW5ncy1lcnJvci1jb2xvcik7XG5cbiAgICBhIHsgY29sb3I6IHdoaXRlOyB9XG5cbiAgICBidXR0b24uaW0tZmFiLmFkZC1rcGlzLFxuICAgIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLFxuICAgIGJ1dHRvbi5pbS1mYWIudG9nZ2xlLXNob3ctY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI4cyBlYXNlLWluO1xuICAgICAgJi5pbS1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzRjNDc0OTtcbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2IyYjVjMTtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgIGEgeyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24uaW0tZmFiLnRvZ2dsZS1zaG93LWNvbnRlbnQge1xuICAgICAgdG9wOiAtMTVweDtcbiAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgcmlnaHQ6IC0xNHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLmltLWZhYi5hZGQta3BpcyB7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3NXB4KSB7XG4gICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgIHJpZ2h0OiAzM3B4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLmltLWZhYi5lZGl0LWtwaXMge1xuICAgICAgdG9wOiA3NXB4O1xuICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICAmLmVkaXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAa3BpLXNldHRpbmdzLWZvY3VzLWNvbG9yO1xuICAgICAgICAmOmhvdmVyOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKEBrcGktc2V0dGluZ3MtZm9jdXMtY29sb3IsIDE1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3NXB4KSB7XG4gICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgIHJpZ2h0OiA3OXB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtYnV0dG9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBrcGlzLWJhci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IEBrcGlzLWJhci1ib3gtc2hhZG93O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzI1cHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzVweCkge1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICB9XG5cbiAgICAuaW1wYWMta3BpIHtcbiAgICAgIC5jb2x1bW4tZ3V0dGVyKDVweCk7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5rcGkuYWRkIHtcbiAgICAgICAgLmtwaS1zaG93IC5jYXB0aW9uIHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgLnRpdGxlIHtcbiAgICAgIC50ZXh0LWNlbnRlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzO1xuICAgICAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG4gICAgICAgIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICAgICAgfVxuICAgICAgLmJhZGdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMWU1NWM7XG4gICAgICAgIGNvbG9yOiAjNGY1OTU5O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAtMXB4O1xuICAgICAgfVxuICAgICAgLm5vLWtwaS10ZW1wbGF0ZXMge1xuICAgICAgICBjb2xvcjogI2FmYWRiNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLWJhciB7XG4gICAgICBib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4O1xuICAgIH1cblxuICAgIC5rcGktbG9hZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtaW4taGVpZ2h0OiBAa3BpLW1heC1oZWlnaHQgKyAyMHB4O1xuICAgIH1cblxuICAgIC5kYXRlcy1waWNrZXItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgLnNkcC1mcm9tLWxhYmVsLFxuICAgICAgLnNkcC10by1sYWJlbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hbmFseXRpY3Mga3Bpcy1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rZXktc3RhdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogNXB4IDBweDtcbn1cblxuLmFuYWx5dGljcy5wZGYtbW9kZSBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIHsgZGlzcGxheTogbm9uZTsgfVxuIiwiLndpZGdldC1pdGVtIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgcGFkZGluZzogQGltcGFjLXBhZGRpbmctYmV0d2Vlbi13aWRnZXRzO1xuICAmLnBkZi1tb2RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiB+XCJAe2ltcGFjLXBhZGRpbmctYmV0d2Vlbi13aWRnZXRzfSAwcHhcIjtcbiAgfVxufVxuXG4ud2lkZ2V0LWl0ZW0gLnRvcC1saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IG1vdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtdGl0bGUtYmc7XG4gIHBhZGRpbmc6IDlweCA5cHggMHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IEBpbXBhYy13aWRnZXQtdGl0bGUtYm9yZGVyLXJhZGl1cztcbiAgYm9yZGVyOiBAaW1wYWMtd2lkZ2V0LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbWluLWhlaWdodDogNDFweDtcbiAgLmJveC1zaGFkb3coMHB4IDFweCA4cHggLTRweCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICB6LWluZGV4OiA0O1xufVxuXG4ud2lkZ2V0LWl0ZW0ge1xuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBib3JkZXItcmFkaXVzOiBAaW1wYWMtd2lkZ2V0LWNvbnRlbnQtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXI6IEBpbXBhYy13aWRnZXQtYm9yZGVyO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAuYm94LXNoYWRvdygwcHggMXB4IDhweCAtNHB4KTtcbiAgICAuc2hvcnQtd2lkZ2V0KCk7XG5cbiAgICAuZWRpdCB7XG4gICAgICAuZWRpdC1wYW5lbC1zdHlsZSgpO1xuICAgIH1cblxuICAgICYuYWNjZXNzaWJsZSB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgY29udGVudCB0byBsZWFrIG91dCBvZiB3aWRnZXQncyBib3hcbiAgICAuY29udGVudC10ZW1wbGF0ZS13cmFwcGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gICYucGRmLW1vZGUgLmNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDI1MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIH1cbiAgICAuZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxNDdcIjtcbiAgICB9XG4gICAgLmxlZ2VuZCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jaGFydC1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG4gICAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2Uge1xuICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5pbmNsdWRlLXRvLXBkZntcbiAgJi50aXRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSAyKkB7aW1wYWMtcGFkZGluZy1iZXR3ZWVuLXdpZGdldHN9IClcIjtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcbiAgICBoNiB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzkyODtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgJi50aWNrIHtcbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMzUlO1xuICAgICAgbGVmdDogNDYlO1xuICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gIH1cbiAgLndpZGdldC1ob3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiA5cHg7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIGVhc2UgLjVzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIGVhc2UgLjVzO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC41cztcbiAgICB6LWluZGV4OiAxO1xuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgICBiYWNrZ3JvdW5kOiAjQ0NDRkQwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGaXggb3ZlcmZsb3cgZm9yIGxhcmdlIHN1bXMvdGV4dCBpbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB0YWJsZXNcbi53aWRnZXQtaXRlbSAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmRhdGEtbm90LWZvdW5kLFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogQGltcGFjLXdpZGdldC1wb3B1cC1tZXNzYWdlLXRleHQtY29sb3I7XG5cbiAgLm92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IH5cImNhbGMoMTAwJSAtIDRweClcIjtcbiAgICB3aWR0aDogflwiY2FsYygxMDAlIC0gNHB4KVwiO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDJweDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC5tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMjVweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBvcHVwLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAyNXB4IDBweDtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtcG9wdXAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBvcHVwLXRpdGxlLXRleHQtY29sb3I7XG4gICAgICBtYXJnaW46IC0xcHggLTFweCAxMHB4IC0xcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIC5idG4geyBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgfVxuXG4gIC5leGFtcGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBvcHVwLXRpdGxlLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1wb3B1cC10aXRsZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICB6LWluZGV4OiA2O1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtZGVtby1kYXRhLWxpbmstY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQge1xuICAubWVzc2FnZSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIGJvcmRlcjogc29saWQgMXB4IHNpbHZlcjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHAgeyBtYXJnaW46IDVweDsgfVxuICB9XG4gIC5vdmVybGF5LCAudGl0bGUsIC5idG4sIC5leGFtcGxlIHsgZGlzcGxheTogbm9uZTsgfVxufVxuIiwiI3RyYW5zYWN0aW9ucy1hZGQge1xuICAud2lkZ2V0LXBvcHVwKCk7XG4gIC5tZXNzYWdlIHtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogMzUlO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgLmZvcm0ge1xuICAgICAgcGFkZGluZzogMHB4IDEwcHg7XG4gICAgICA+IGxhYmVsLCAuY29taW5nLXNvb24gPiBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICB9XG4gICAgICBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgICAgLmJ0bi1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiAyMnB4O1xuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29taW5nLXNvb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHNpbHZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xuICAgICAgICB9XG4gICAgICAgIC5idG4tZ3JvdXAge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7IG1hcmdpbi10b3A6IDVweDsgfVxuICAgICAgICAgIHNlbGVjdCB7IGhlaWdodDogMjJweDsgfVxuICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM4ODg4ODg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ib3R0b20ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgY29tbW9uLWRlbGV0ZS13aWRnZXQge1xuICAud2lkZ2V0LXBvcHVwKCk7XG4gIC5tZXNzYWdlIHtcbiAgICAubG9hZGVyIGkuZmEuZmEtc3Bpbm5lciB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuICAgIHAgeyBwYWRkaW5nOiAwcHggMTBweDsgfVxuICAgIGJ1dHRvbi5idG4geyBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIH1cbn1cbiIsIiN0cmFuc2FjdGlvbnMtbGlzdCB7XG4gIC50b3Age1xuICAgIGhlaWdodDogNDBweDtcbiAgICBhLmJhY2stbGluayB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAucGFnaW5hdGlvbiB7IG1hcmdpbjogMHB4OyB9XG4gIH1cblxuICAudGFibGUtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiB+XCJjYWxjKEB7aW1wYWMtYmlnLXdpZGdldC1zaXplfSAtIDYwcHgpXCI7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgXG4gICAgZGl2W3VpYi1kYXRlcGlja2VyLXBvcHVwLXdyYXBdIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBpbnB1dC5idG4uYnRuLXhzIHsgbWFyZ2luLXRvcDogLTJweDsgfVxuICAgIGJ1dHRvbi5idG4ucmVzZXQtZGF0ZSB7IG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgICAuZmEuZmEtdGltZXMge1xuICAgICAgY29sb3I6IEBicmFuZC1kYW5nZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgdHIudG90YWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAmLmludm9pY2VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjOGVhYjcxLCAyMCUpO1xuICAgICAgfVxuICAgICAgJi5iaWxscyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oI2M3NjM3OSwgMjAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5jdXJyZW5jeSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBzZWxlY3Qge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyB7XG4gIC5zaG93LXN0YXR1cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1tZWRpdW07XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgLmZhLmZhLWluZm8geyBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICB9XG4gIC5zdGF0dXMtYnRuIHtcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICYuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUgeyBjb2xvcjogQGZsdXJvb3JhbmdlOyB9XG4gICAgICAmLmZhLWNoZWNrIHsgY29sb3I6IEBncmVlbjsgfVxuICAgIH1cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDVweCA3cHggNXB4IDBweDtcbiAgfVxuXG4gIC5wb3BvdmVyIHtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIC5jb25uZWN0b3Ige1xuICAgICAgcGFkZGluZzogNHB4IDEzcHg7XG4gICAgICAmLmFkZC1zZXBlcmF0b3IgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICAgIH1cbiAgICAucG9wb3Zlci1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5wb3BvdmVyLWZvb3RlciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIHBhZGRpbmc6IDRweCAxM3B4O1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAmLnJlbW92ZS1zZXBlcmF0b3IgeyBib3JkZXI6IDA7IH1cbiAgICB9XG4gIH1cblxuICAuYmFkZ2UgeyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgLnN1Y2Nlc3MgLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQGdyZWVuOyB9XG4gIC5wZW5kaW5nIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBmbHVyb29yYW5nZTsgfVxuICAucnVubmluZyAuYmFkZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAZmx1cm9vcmFuZ2U7IH1cbiAgLmVycm9yIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBwaW5rOyB9XG4gIC5mYWlsZWQgLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQHBpbms7IH1cbiAgLnVua25vd24gLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQHBpbms7IH1cbiAgLmRpc2Nvbm5lY3RlZCAuYmFkZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAcGluazsgfVxufVxuXG4jc3luYy1hcHBzLW1vZGFsIHtcbiAgLm1vZGFsLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDNweCAwcHggI2NjYztcbiAgfVxuICAubW9kYWwtbGlzdCB7XG4gICAgbWF4LWhlaWdodDogMjgwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICAubW9kYWwtbGlzdC1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgLmJhZGdlIHsgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgJi5zdWNjZXNzIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBncmVlbjsgfVxuICAgICYucGVuZGluZyAuYmFkZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAZmx1cm9vcmFuZ2U7IH1cbiAgICAmLnJ1bm5pbmcgLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQGZsdXJvb3JhbmdlOyB9XG4gICAgJi5lcnJvciAuYmFkZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAcGluazsgfVxuICAgICYuZmFpbGVkIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBwaW5rOyB9XG4gICAgJi51bmtub3duIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBwaW5rOyB9XG4gICAgJi5kaXNjb25uZWN0ZWQgLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQHBpbms7IH1cblxuICAgIC5tZXNzYWdlIHtcbiAgICAgIHAgeyBtYXJnaW46IDA7IH1cbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMXB4O1xuICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIH1cblxuICAgICYuc3VjY2VzcyAubWVzc2FnZSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjU1LCA1NSwgMC4wOCk7IH1cbiAgICAmLnBlbmRpbmcgLm1lc3NhZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTE4LCAwLCAwLjA4KTsgfVxuICAgICYucnVubmluZyAubWVzc2FnZSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxMTgsIDAsIDAuMDgpOyB9XG4gICAgJi5lcnJvciAubWVzc2FnZSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjA4KTsgfVxuICAgICYuZmFpbGVkIC5tZXNzYWdlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMDgpOyB9XG4gICAgJi51bmtub3duIC5tZXNzYWdlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMDgpOyB9XG4gICAgJi5kaXNjb25uZWN0ZWQgLm1lc3NhZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMC4wOCk7IH1cblxuICAgICYud2l0aC1tZXNzYWdlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbiAgLmZhIHsgcGFkZGluZzogMHB4IDEwcHg7IH1cbiAgLmZhLmVycm9yIHsgY29sb3I6IEByZWQ7IH1cbiAgLmZhLndhcm4geyBjb2xvcjogQGZsdXJvb3JhbmdlOyB9XG4gIC5mYS5zdWNjZXNzIHsgY29sb3I6IEBmbHVyb2dyZWVuOyB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1hc3NldHMtbGlhYmlsaXR5LXN1bW1hcnkge1xuICAucGFyYW0tc2VsZWN0b3Ige1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGVnZW5kIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC1oZWlnaHQ6IDkwcHg7XG5cbiAgICAudGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCBAaW1wYWMtd2lkZ2V0LWJvcmRlcnMtY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1hc3NldHMtc3VtbWFyeSB7XG4gIC5sZWdlbmQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWF4LWhlaWdodDogMTE1cHg7XG5cbiAgICAudGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCBAaW1wYWMtd2lkZ2V0LWJvcmRlcnMtY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1hc3NldHMtdnMtbGlhYmlsaXRpZXMge1xuICAubGVnZW5kID4gLnRpdGxlIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWJhbGFuY2Uge1xuICBoMyB7XG4gICAgLmxlZnQtdGhpbigzMHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucHJpY2Uge1xuICAgIC5jZW50ZXItYm9sZCgwcHgpO1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IHtcbiAgLnRhbGwtd2lkZ2V0KCk7XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAuc2Nyb2xsYWJsZShzY3JvbGwpO1xuICAgIG1heC1oZWlnaHQ6IDQ5MHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgLnJvdy53aWRnZXQtbGluZSB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7IGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggQGltcGFjLXdpZGdldC1ib3JkZXJzLWNvbG9yOyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5yb3cud2lkZ2V0LWxpbmUuaGVhZGVyID4gW2NsYXNzKj0nY29sLSddIHsgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4gICAgJi5uby1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgLm5vLWRhdGEtYmxvY2sge1xuICAgIC5jZW50ZXItdGhpbigpO1xuICAgIG1hcmdpbjogMTVweCAwcHg7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSB7XG4gIC50YWxsLXdpZGdldCgpO1xuXG4gIC5kYXRhLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiB+XCJjYWxjKEB7aW1wYWMtYmlnLXdpZGdldC1zaXplfSAtIDUwcHgpXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubGVmdC1wYW5lbCB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gICNjYXNoLWJhbGFuY2UtbGVnZW5kIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIC5ncm91cC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luOiAzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LW1lbnVzLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcHhcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHsgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sZWdlbmQtaXRlbS1pY29uIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cblxuICAucmlnaHQtcGFuZWwge1xuICAgIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSAxODBweClcIjtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAvLyBIaWdoY2hhcnQgY29udGFpbmVyXG4gICAgLmNhc2gtYmFsYW5jZS1jaGFydCB7XG4gICAgICBoZWlnaHQ6IH5cImNhbGMoQHtpbXBhYy1iaWctd2lkZ2V0LXNpemV9IC0gNTBweClcIjtcbiAgICB9XG4gIH1cblxuICAuZGF0ZXMtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1wcm9qZWN0aW9uIHtcbiAgLnRhbGwtd2lkZ2V0KCk7XG5cbiAgLmNhc2gtcHJvamVjdGlvbi1jaGFydCB7XG4gICAgaGVpZ2h0OiB+XCJjYWxjKEB7aW1wYWMtYmlnLXdpZGdldC1zaXplfSAtIDUwcHgpXCI7XG4gIH1cblxuICAuaGlnaGNoYXJ0cy1sZWdlbmQtaXRlbSB7XG4gICAgcmVjdC5oaWdoY2hhcnRzLXBvaW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICB3aWR0aDogMTEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBpbWcge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRhdGVzLXBpY2tlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICB0cmFuc2FjdGlvbnMtbGlzdCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkge1xuICAuZHJpbGwtZG93bi13aWRnZXQoKTtcbiAgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMTVweDtcbiAgfVxuXG4gIC5yb3cubGluZXMtZ3JvdXAuY2FzaCB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4O1xuICAgIGJvcmRlci1ib3R0b206IGRvdWJsZTtcbiAgfVxufVxuIiwiLy8gLS0tIFJldXNhYmxlIHdpZGdldCBzdHlsZSBtaXhpbnNcblxuLy8gUGF5cm9sbC1TdW1tYXJ5IC0gUHJvZml0LWFuZC1Mb3NzXG4uZHJpbGwtZG93bi13aWRnZXQgKCkge1xuICAudGFsbC13aWRnZXQoKTtcblxuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNTQwcHg7XG4gICAgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSB7XG4gICAgICAuc2VsZWN0YWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC5yaWdodC1wYW5lbCB7XG4gICAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgICAgLnNjcm9sbGFibGUoYXV0byk7XG4gICAgICBtYXgtaGVpZ2h0OiAyMzVweDtcbiAgICB9XG4gIH1cblxuICAubm8tZWxlbWVudCB7XG4gICAgLmNlbnRlci10aGluKCk7XG4gIH1cbn1cblxuLy8gVG9wIGN1c3RvbWVycyBzdW1tYXJ5IC0gU2FsZXMgY3ljbGUuLi5cbi5zaW1wbGUtc3VtbWFyeS13aWRnZXQoKSB7XG4gIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNDEwcHg7XG4gIH1cbiAgLmxlZ2VuZCB7XG4gICAgbWF4LWhlaWdodDogMjhweDtcbiAgfVxufVxuXG4vLyBJbnZvaWNlcyBsaXN0IC0gc2FsZXMgbGlzdFxuLnNpbXBsZS1saXN0LXdpZGdldCgpIHtcbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIzMHB4O1xuICAgIC53aWRnZXQtbGluZSB7XG4gICAgICAuYWx0ZXJuYXRlLWJnKCk7XG4gICAgICAmLmhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV29ya2ZvcmNlLVN1bW1hcnkgLSBTYWxhcmllcy1TdW1tYXJ5XG4uZXhwYW5kYWJsZS1maWx0ZXJhYmxlLXdpZGdldCgpIHtcbiAgaDMubGVmdCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7IG1hcmdpbi10b3A6IDY5cHg7IH1cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgaDMucmVkdWNlZC1sZWZ0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHsgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBoMy5yaWdodCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnByaWNlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA3NXB4O1xuICAgIC53aWRnZXQtbGluZSB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG4gIC5yaWdodC1wYW5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi14cy1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkgeyBtYXgtd2lkdGg6IDMyMHB4OyB9XG4gIH1cbn1cblxuLy8gTGVhZHMgZnVubmVsIC0gT3Bwb3J0dW5pdGllcyBmdW5uZWxcbi5mdW5uZWwtd2lkZ2V0KCkge1xuICAudGFsbC13aWRnZXQoKTtcbiAgLmZ1bm5lbC1jb250YWluZXIge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBtYXgtaGVpZ2h0OiBAaW1wYWMtYmlnLXdpZGdldC1zaXplIC0gNjBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuICAucmlnaHQtcGFuZWwge1xuICAgIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IEBpbXBhYy1iaWctd2lkZ2V0LXNpemUgLSAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgLndpZGdldC1saW5lIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiB7XG4gIC50YWxsLXdpZGdldCgpO1xuXG4gIC5jaGFydC1jb250YWluZXIge1xuICAgIEBtZWRpYSBwcmludCB7IG1heC13aWR0aDogODAlICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIC5hZGQtYWNjb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIGJvdHRvbTogMzBweDtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBpbXBhYy13aWRnZXQtbGluay1jb2xvciwxMCUpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBpbXBhYy13aWRnZXQtbGluay1jb2xvciwxMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBpbXBhYy13aWRnZXQtbGluay1jb2xvciwxMCUpO1xuICAgICAgfVxuICAgICAgb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBjb2xvcjogbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3IsNDAlKTtcbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYnV0dG9uLmNsb3NlIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbiAgLmxlZ2VuZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXgtaGVpZ2h0OiAxMDNweDtcbiAgfVxuICAucm93IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBtYXgtaGVpZ2h0OiBAaW1wYWMtd2lkZ2V0LWFjY291bnRzLWNvbXBhcmlzb24tbGluZXMtY29udGFpbmVyLW1heC1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNjVweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC5zZXR0aW5ncy5wYXJhbXMtY2hlY2tib3hlcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gIH1cblxuICAuY29tcGFyYWJsZS1lcnJvciBoNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gICAgY29sb3I6IEBpbXBhYy1uZWdhdGl2ZTtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2xhc3MtY29tcGFyaXNvbiB7XG4gIC5wYXJhbS1zZWxlY3RvciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA5NHB4O1xuICAgIGNvbG9yOiAjNjI2ZDZkO1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMge1xuICAudGFsbC13aWRnZXQoKTtcbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIC5zY3JvbGxhYmxlKHNjcm9sbCk7XG4gICAgbWF4LWhlaWdodDogNTQwcHg7XG4gIH1cblxuICAuYWNjb3VudC1jbGFzcy10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMXB4O1xuICB9XG5cbiAgLnRpbWUtcGVyaW9kLWluZm8ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLndpZGdldC1saW5lLmhlYWRlci5zb3J0aW5nICB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIH1cbn1cblxuXG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1leHBlbnNlLXdlaWdodCB7XG4gIC5sZWdlbmQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWF4LWhlaWdodDogMTE1cHg7XG5cbiAgICAudGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY3VzdG9tLWNhbGN1bGF0aW9uIHtcbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IDg1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5sZWdlbmQgeyBtYXgtaGVpZ2h0OiAxMjVweDsgfVxufVxuXG4uYW5hbHl0aWNzLm1vZGFsLWN1c3RvbS1jYWxjdWxhdGlvbiB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG59XG5cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IHtcbiAgLmVkaXQge1xuICAgIC5lZGl0LXBhbmVsLXN0eWxlKCk7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1leHBlbnNlcy1yZXZlbnVlIHtcbiAgLmxlZ2VuZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcGF5YWJsZS1yZWNlaXZhYmxlIHtcbiAgaDMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAucGF5YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICAucHJpY2Uge1xuICAgIC5jZW50ZXItYm9sZCgwcHgpO1xuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIHtcbiAgLmRyaWxsLWRvd24td2lkZ2V0KCk7XG5cbiAgLnJvdy5saW5lcy1ncm91cC5wcm9maXQge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweDtcbiAgICBib3JkZXItYm90dG9tOiBkb3VibGU7XG4gIH1cblxuICAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICB9XG5cbiAgLnJvdy53aWRnZXQtbGluZS5oZWFkZXIgPiBbY2xhc3MqPSdjb2wtJ10geyBwb3NpdGlvbjogc3RhdGljOyB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1yYXRpb3Mge1xuICBcbiAgLmxlZnQtcGFuZWwge1xuICAgIG1heC1oZWlnaHQ6IDIzMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87IFxuXG4gICAgLnNlcGFyYXRvciB7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICB9XG4gICAgLm1lbWJlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAubWVtYmVyIC5wcmljZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIGJ1dHRvbiB7IG91dGxpbmU6IG5vbmU7IH1cbiAgfVxuXG4gIC5sZWZ0LXBhbmVsLnNpbXVsYXRpb24ge1xuICAgIC5tZW1iZXIge1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIC5sZWdlbmQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucHJpY2UgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIH1cbiAgICAuc2VwYXJhdG9yIHsgd2lkdGg6IDEwMCU7IH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItZW1wbG95ZWUtZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgLmRldGFpbHMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHsgbWF4LWhlaWdodDogMjAwcHg7IH1cbiAgICAuc2Nyb2xsYWJsZSgpO1xuICB9XG4gIC5yaWdodC1wYW5lbCB7XG4gICAgLmRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgeyBtYXgtaGVpZ2h0OiAyMjBweDsgfVxuICAgIH1cbiAgICAubGVnZW5kIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cbiAgLnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWVtcGxveWVlcy1saXN0IHtcbiAgLmxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICB9XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLndpZGdldC1saW5lIHtcbiAgICAgIC5hbHRlcm5hdGUtYmcoKTtcbiAgICB9XG4gIH1cbiAgLmVkaXQge1xuICAgIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItbGVhdmVzLWJhbGFuY2V7XG4gIC5lbXBsb3llZS1uYW1lIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmJhbGFuY2Uge1xuICAgIC5jZW50ZXItYm9sZCgwcHgpO1xuICB9XG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAzM3B4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufSIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1zY2hlZHVsZXtcbiAgLmZjLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogQGltcGFjLXdpZGdldC1idXR0b25zLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiBAaW1wYWMtd2lkZ2V0LWJ1dHRvbnMtY29sb3I7XG4gICAgfVxuICB9XG4gIC5mYy10b29sYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLmZjLWRheS1ncmlkLC5mYy13aWRnZXQtaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjtcbiAgfVxufSIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXBheXJvbGwtc3VtbWFyeSB7XG4gIC5kcmlsbC1kb3duLXdpZGdldCgpO1xuICAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogMTQ1cHg7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIHtcbiAgLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSB7XG4gICAgLmV4cGFuZGFibGUtZmlsdGVyYWJsZS13aWRnZXQoKTtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc3VwZXJhbm51YXRpb24tYWNjcnVhbHMge1xuICBoMyB7XG4gICAgbWFyZ2luLXRvcDogNjNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmxlZ2VuZCB7XG4gICAgbWFyZ2luLXRvcDogMjNweDtcbiAgfVxuICAuY3VycmVuY3kge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuICAucHJpY2Uge1xuICAgIC5jZW50ZXItYm9sZCgwcHgpO1xuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItdGltZXNoZWV0cyB7XG4gIC5jdXJyZW5jeSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMTBweDtcbiAgfVxufSIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtICB7XG4gIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IHtcbiAgICAuZXhwYW5kYWJsZS1maWx0ZXJhYmxlLXdpZGdldCgpO1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIHtcbiAgLmRyaWxsLWRvd24td2lkZ2V0KCk7XG5cbiAgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMTVweDtcbiAgfVxuXG4gIC5yb3cuYXN0ZXJpY2tzLWluZm8ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cblxuICAuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1saXN0IHtcbiAgLnNpbXBsZS1saXN0LXdpZGdldCgpO1xuXG4gIC5jdXJyZW5jeS1jb252ZXJzaW9ucyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gIH1cblxuICAuZmEuZmEtaW5mby1jaXJjbGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cblxuICAucmlnaHQtY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLXN1bW1hcnkge1xuICAuc2ltcGxlLXN1bW1hcnktd2lkZ2V0KCk7XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtYWdlZCB7XG4gIC50YWxsLXdpZGdldCgpO1xuXG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMzhweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtYnJlYWstZXZlbiB7XG4gIC5wcmljZSB7XG4gICAgLmNlbnRlci1ib2xkKDBweCk7XG4gIH1cbiAgLmJsb2NrIHtcbiAgICBtYXJnaW46IDVweDtcbiAgICBwYWRkaW5nOiAwcHggMTBweCA1cHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCAtN3B4ICMxNzI2MmQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvcm0uZWRpdGFibGUtd3JhcCAuZWRpdGFibGUtY29udHJvbHMgaW5wdXQge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgICAmLnRvLWRhdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1zdWItYmctY29sb3I7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuICAgIH1cbiAgICAmLnRvLWJyZWFrZXZlbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1zYWxlcy1icmVhay1ldmVuLWJnO1xuICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtc2FsZXMtYnJlYWstZXZlbi10ZXh0LWNvbG9yO1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGxpZ2h0ZW4oQGltcGFjLXdpZGdldC1zYWxlcy1icmVhay1ldmVuLWJnLCAxMCUpO1xuICAgICAgfVxuICAgICAgLmRlZmluZS10ZXh0IHtcbiAgICAgICAgLmNlbnRlci10aGluKCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXNhbGVzLWJyZWFrLWV2ZW4tdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICAgIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXNhbGVzLWJyZWFrLWV2ZW4tdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzO1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IEBsaWdodGdyYXk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbiAgfVxufSIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24ge1xuICAuZHJpbGwtZG93bi13aWRnZXQoKTtcbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDUzMHB4O1xuICB9XG4gIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjUwcHg7XG4gIH1cbiAgLmN1cnJlbmN5LWNvbnZlcnNpb25zIHtcbiAgICBpbWcgeyBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWN1c3RvbWVyLWRldGFpbHMge1xuICAubG9hZGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgZm9udC1zaXplOiAxMnB4O1xuICAuZGV0YWlscy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHsgbWF4LWhlaWdodDogMTk0cHg7IH1cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuICAucmlnaHQtcGFuZWwge1xuICAgIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHsgbWF4LWhlaWdodDogMjMwcHg7IH1cbiAgICB9XG4gICAgLmxlZ2VuZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG4gIC5yb3cudGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5jdXJyZW5jeS1jb252ZXJzaW9ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWN5Y2xlIHtcbiAgLnNpbXBsZS1zdW1tYXJ5LXdpZGdldCgpO1xufSIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IHtcbiAgLnRhbGwtd2lkZ2V0KCk7XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyNzVweDtcbiAgICAud2lkZ2V0LWxpbmUubWFpbiB7XG4gICAgICAuc2VsZWN0YWJsZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZ3Jvd3RoIHtcbiAgLnByaWNlIHtcbiAgICAuY2VudGVyLWJvbGQoMHB4KTtcbiAgfVxuICAubGVnZW5kIHtcbiAgICBtYXgtaGVpZ2h0OiA0OXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1mdW5uZWwge1xuICAuZnVubmVsLXdpZGdldCgpO1xufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtbGlzdCB7XG4gIC5zaW1wbGUtbGlzdC13aWRnZXQoKTtcbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIC5zY3JvbGxhYmxlKHNjcm9sbCk7XG4gIH1cbn0iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1saXN0IHtcbiAgLnNpbXBsZS1saXN0LXdpZGdldCgpO1xuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgLnNjcm9sbGFibGUoc2Nyb2xsKTtcbiAgICBtYXgtaGVpZ2h0OiAxNzBweDtcbiAgICAmLm5vLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbiAgLnNlbGVjdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIH1cbiAgLmN1cnJlbmN5LWNvbnZlcnNpb25zIHtcbiAgICBpbWcgeyBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldC1zYWxlcyB7XG4gIC52YWx1ZS1jb250YWluZXIsIC5vcGVyYXRvciB7XG4gICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA4NXB4O1xuICB9XG5cbiAgLy8gLnZhbHVlLWNvbnRhaW5lciB7XG4gIC8vICAgd2lkdGg6IDI2JTtcbiAgLy8gfVxuXG4gIC52YWx1ZS1jb250YWluZXIgLnRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuICB9XG5cbiAgLnZhbHVlLWNvbnRhaW5lciAudmFsdWUtYm94IHtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLy8gYm9yZGVyOiBzb2xpZCAxcHggI0U0RTRFNDtcbiAgICAvLyBib3gtc2hhZG93OiAxcHggMXB4IDFweCAjQzVDNUM1O1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjQzRDQUNBO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjQzRDQUNBO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAub3BlcmF0b3Ige1xuICAgIC8vIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgeyBwYWRkaW5nLXRvcDogMzhweDsgfVxuICAgIHBhZGRpbmctdG9wOiAzOHB4O1xuICAgIC8vIHdpZHRoOiAxMCU7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgfVxuXG4gIC52YWx1ZXMge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgeyBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMge1xuXG4gIC5zZWxlY3RvciAuc2VsZWN0b3Itd3JhcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cbiAgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuXG4gIC5sZWdlbmQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXgtaGVpZ2h0OiA3N3B4ICFpbXBvcnRhbnQ7XG5cbiAgICAucm93IHsgbWFyZ2luOiAwcHggLTVweDsgJj5kaXYgeyBwYWRkaW5nOiAwcHggNXB4OyB9fVxuXG4gICAgLnRvdGFsIHtcbiAgICAgIGNvbG9yOiAjNUI2NjY3O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbnVtYmVyLW9mLWxlYWRzIHtcbiAgLnN0YXRzIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAuc3RhdCB7XG4gICAgICBtYXJnaW46IDE1cHggMHB4IDEwcHggMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IEBsaWdodGdyYXk7XG4gICAgICBzcGFuLnRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgICBzcGFuLm5vbWluYWwge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgfVxuICAgICAgc3Bhbi52YXJpYXRpb24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbCB7XG4gIC5mdW5uZWwtd2lkZ2V0KCk7XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSB7XG4gIC5kcmlsbC1kb3duLXdpZGdldCgpO1xuICAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBcdCBtYXgtaGVpZ2h0OiAyMTVweDtcbiAgICAud2lkZ2V0LWxpbmUuaGVhZGVyIHtcbiAgICAgIC5zZWxlY3RhYmxlKCk7XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1zZWdtZW50ZWQtdHVybm92ZXIge1xuICBoMy5yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnNlbGVjdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5hbmFseXNpcyB7XG4gICAgLmNlbnRlci1ib2xkKDBweCk7XG4gIH1cbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDc1cHg7XG4gICAgLndpZGdldC1saW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cblxuICAucmlnaHQtcGFuZWwge1xuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMTVweCAxMHB4IDVweCAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5mYS5mYS1pbmZvLWNpcmNsZSB7IGZsb2F0OiBsZWZ0OyB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXN1bW1hcnkge1xuICAuc2ltcGxlLXN1bW1hcnktd2lkZ2V0KCk7XG4gIC5zZWxlY3RvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyB7XG4gIC5zZWxlY3RvciB7XG4gICAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCAjRTZFNkU2O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgYSB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAucGFyYW0tc2VsZWN0b3IgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgfVxuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjM1cHg7XG4gICAgLndpZGdldC1saW5lLnN1Yi1saW5lIHsgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1zdWItYmctY29sb3I7IH1cblxuICAgIC8vIFdpbGwgYWxsb3cgdGhlIHBhcmFtcyBzZWxlY3RvcnMgdG8gYmUgZGlzcGxheWVkIG9uIHRvcCBvZiB0aGUgY29udGFpbmVyICh3aXRob3V0IGJlaW5nIGN1dCBvbiB0aGUgcmlnaHQpXG4gICAgLnJvdyA+IFtjbGFzcyo9J2NvbC0nXSB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgfVxuICAuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICAgIGltZyB7IG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLW9wcG9ydHVuaXRpZXMge1xuICAub3Bwcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDE5NXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAuc2Nyb2xsYWJsZSgpO1xuICAgIC50aWxlIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAuY29sb3JlZC1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB9XG4gICAgICAubWFpbi10ZXh0IHtcbiAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogM3B4IDBweCAwcHggMTBweDtcbiAgICAgIH1cbiAgICAgICYuZmlyc3Qge1xuICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIC5jb2xvcmVkLWFyZWEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxMTAsIDY1KTtcbiAgICAgICAgfVxuICAgICAgICAubWFpbi10ZXh0IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNlY29uZCB7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAuY29sb3JlZC1hcmVhIHtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFkZTliNjtcbiAgICAgICAgfVxuICAgICAgICAubWFpbi10ZXh0IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiY2hhcnQtdGhyZXNob2xkIHtcblxuICAuYXR0YWNoLXBhbmVsIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMTMyLCAyMjgsIDAuMTYpO1xuXG4gICAgPiAuYXR0YWNoLXBhbmVsLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgJiA+ICoge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhbmVsLXRleHQtbGFiZWwge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gICAgLnBhbmVsLXRleHQtaW5wdXQge1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyOiAxcHggd2hpdGU7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgfVxuICAgIC5wYW5lbC10ZXh0LWN1cnJlbmN5IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuICB9XG5cbiAgLmFjdGlvbi1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgJi5sb2FkaW5nIHtcbiAgICAgICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICBpbWcge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICYucG9wb3ZlciAucG9wb3Zlci10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuZWRpdGFibGUtdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAyMnB4O1xuXG4gIC50aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBpbXBhYy13aWRnZXQtdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gICAgLmZvbnQoQGltcGFjLXdpZGdldC10aXRsZS10ZXh0LXNpemUsNjAwLEBpbXBhYy13aWRnZXQtdGl0bGUtdGV4dC1jb2xvcik7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBsaW5lLWhlaWdodDogMS45O1xuICB9XG5cbiAgLmVkaXRhYmxlLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIC8vIG90aGVyd2lzZSwgd2hpdGUtc3BhY2UgaXMgb3ZlcnJpZGVuIGluIG1uby1lbnRlcnByaXNlXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIC5lZGl0YWJsZS1jb250cm9scyB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG5cbiAgICAgIC5lZGl0YWJsZS1pbnB1dCB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogQGltcGFjLXdpZGdldC10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgLy8gNjVweCBpcyAuZWRpdGFibGUtYnV0dG9ucyB3aWR0aFxuICAgICAgICB3aWR0aDogflwiY2FsYygxMDAlIC0gNjVweClcIjtcbiAgICAgICAgcGFkZGluZzogMHB4IDNweDtcbiAgICAgIH1cblxuICAgICAgLmVkaXRhYmxlLWJ1dHRvbnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRpdGxlLWJnO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIG1hcmdpbjogMHB4IDBweCAwcHggNXB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwcHggNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICBsZWZ0OiAxNXB4O1xuICB3aWR0aDogflwiY2FsYygxMDAlIC0gMzBweClcIjtcbiAgbWF4LWhlaWdodDogflwiY2FsYygxMDAlIC0gMzBweClcIjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogZG90dGVkIDFweCAjQjdDRENFO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG8gU2VtaWJvbGRcIiwgXCJMYXRvXCI7XG5cbiAgei1pbmRleDogNDtcblxuICAmOmhvdmVyIHsgb3BhY2l0eTogMTsgfVxuXG4gIC5pLWhlYWRlciB7XG4gICAgLmZhIHsgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgLmZhLWluZm8tY2lyY2xlIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuZmEtdGltZXMtY2lyY2xlIHsgY3Vyc29yOiBwb2ludGVyOyBmbG9hdDogcmlnaHQ7IH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkM5Mjg7XG4gICAgY29sb3I6IEBpbXBhYy13aWRnZXQtcmV2ZXJzZS1jb2xvcjtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJMYXRvIE1lZGl1bVwiLCBcIkxhdG9cIjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAuaS1jb250ZW50IHtcbiAgICAuc2Nyb2xsYWJsZSgpO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIGZsZXg6IDE7XG5cbiAgICAucm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggQGltcGFjLWRhc2hib2FyZC1ib3JkZXJzLWNvbG9yO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmtleSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcztcbiAgICAgIH1cblxuICAgICAgLnZhbHVlIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAudGltZS1wZXJpb2QtaW5mbyB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICNBQkM0QzY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcblxuICAudG9wLWJ1dHRvbnMtd3JhcHBlciB7XG4gICAgLnRvcC1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC10b3AtYnV0dG9ucy1jb2xvcjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgd2lkdGg6IDE3cHg7XG5cbiAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4gICAgICAmLmJ0bi1pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogI0ZGQzkyODsgfVxuICAgICAgfVxuICAgICAgJi5idG4tcmVmcmVzaCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6IEBtYmx1ZTsgfVxuICAgICAgfVxuICAgICAgJi5idG4tZWRpdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgJjpob3ZlciwgJi5lZGl0LW1vZGUgeyBjb2xvcjogZGFya2VuKEBtZ3JlZW4sMTAlKTsgfVxuICAgICAgfVxuICAgICAgJi5idG4tY2xvc2Uge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogQHBpbms7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5zZWxlY3QtYWNjb3VudCB7XG4gIHBhZGRpbmc6IDBweCA1cHg7XG59IiwiLmFuYWx5dGljcyAuc2V0dGluZ3MuYWNjb3VudGluZy1iZWhhdmlvdXIge1xuXG4gIC5idG4uYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGltcGFjLXdpZGdldC1saW5rLWNvbG9yLCAxMCUpO1xuICAgIGJvcmRlcjogc29saWQgMXB4IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAmLmZvY3VzLCAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjsgfVxuICB9XG5cbn1cbiIsIi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIHtcbiAgLmF0dGFjaC1rcGkge1xuICAgIHBhZGRpbmc6IDhweCA1cHg7XG5cbiAgICBmb3JtIC5yb3cge1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAuYXR0YWNoLWtwaS1mb3JtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICB9XG5cbiAgICBmb3JtIC5yb3cua3BpLWRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMnB4O1xuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0uYXR0YWNoLWtwaS1mb3JtIHtcbiAgICAgIGlucHV0LmF0dGFjaC10YXJnZXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lcnJvci1tZXNzYWdlcyB7XG4gICAgICBjb2xvcjogQGJyYW5kLWRhbmdlcjtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICB9XG4gIH1cblxuICAuYXR0YWNoZWQta3BpcyB7XG4gICAgcGFkZGluZzogNXB4O1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hdHRhY2hlZC1rcGkge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuXG4gICAgLmF0dGFjaGVkLWtwaS1uYW1lIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgIC5hbGVydHMtY29uZmlnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgY29sb3I6IEBtYmx1ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IEBtYmx1ZTtcblxuICAgICAgICAmOmhvdmVyIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICB9XG4gICAgICAuZWRpdC1hdHRhY2hlZC1rcGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgY29sb3I6IEBtYmx1ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweCA1cHggNXB4O1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4IEBtYmx1ZTtcbiAgICAgICAgICAmOmhvdmVyIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yZW1vdmUtYXR0YWNoZWQta3BpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICAgIGNvbG9yOiBAYnJhbmQtZGFuZ2VyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4IDVweCA1cHg7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggQGJyYW5kLWRhbmdlcjtcbiAgICAgICAgICAmOmhvdmVyIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5jaGFydC1maWx0ZXJzIHtcbiAgLnJvdyB7XG4gICAgbWFyZ2luOiAwcHg7XG4gIH1cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTNweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLnNldHRpbmdzLmRhdGVzLXBpY2tlciB7XG4gIGg1IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIGJ1dHRvbi5idG4uYnRuLXNtIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAmLmRhdGUtYnV0dG9uIHsgbWFyZ2luOiAwcHggNXB4OyB9XG4gICAgJi5idG4tZGFuZ2VyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICYuYnRuLWluZm8geyBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgfVxuXG4gIC50b29sdGlwLWlubmVyIHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuICAuZHJvcGRvd24tbWVudSA+IGxpID4gZGl2ID4gdGFibGUgeyBvdXRsaW5lOiBub25lOyB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuaGlzdC1tb2RlLWNob3NlciB7XG4gIG1heC1oZWlnaHQ6IDcwcHg7XG5cbiAgW2NvbW1vbi10aW1lLXBlcmlvZC1pbmZvXSB7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgfVxuXG4gIC5vcHRpb25zIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlNmU2ZTY7XG4gICAgLmZvbnQoQGltcGFjLXdpZGdldC1oaXN0LXRleHQtc2l6ZSw1MDAsQGltcGFjLXdpZGdldC1oaXN0LXRleHQtY29sb3IpO1xuICAgIGEge1xuICAgICAgLmZvbnQoQGltcGFjLXdpZGdldC1oaXN0LXRleHQtc2l6ZSw1MDAsQGltcGFjLXdpZGdldC1oaXN0LXRleHQtY29sb3IpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IEBpbXBhYy13aWRnZXQtaGlzdC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFycm93LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xNHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICAmLnJpZ2h0IHtcbiAgICAgIGxlZnQ6IDQ2cHg7XG4gICAgfVxuICAgICYubGVmdCB7XG4gICAgICBsZWZ0OiAtMzBweDtcbiAgICB9XG4gICAgLmFycm93LWJvcmRlciB7XG4gICAgICBib3JkZXItdG9wOiAxNHB4IHNvbGlkICNlNmU2ZTY7XG4gICAgICBib3JkZXItbGVmdDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAwcHg7XG4gICAgICBoZWlnaHQ6IDBweDtcbiAgICB9XG4gICAgLmFycm93IHtcbiAgICAgIGJvcmRlci10b3A6IDE0cHggc29saWQgQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6IDE0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDE0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDEycHg7XG4gICAgICB3aWR0aDogMHB4O1xuICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC5zZXR0aW5ncy5saW1pdC1lbnRyaWVzIHtcbiAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGltaXQtZW50cmllcy1jb2xvcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4ICNFNkU2RTY7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG5cbiAgYS5vcHRpb24ge1xuICAgICYuYmFkZ2Uge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1saW1pdC1lbnRyaWVzLWNvbG9yO1xuICAgIH1cbiAgfVxuXG59XG4iLCIuYW5hbHl0aWNzIC5zZXR0aW5ncy5vZmZzZXRzIHtcbiAgLm9mZnNldC12YWx1ZSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxuXG4gIC5vZmZzZXQtdmFsdWUgLmZhLXRyYXNoLW8ge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBicmFuZC1kYW5nZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG5cbiAgaW5wdXQgeyB3aWR0aDogNzUlOyB9XG4gIGJ1dHRvbiB7IHdpZHRoOiAzMHB4OyB9XG59XG4iLCIuYW5hbHl0aWNzIC5zZXR0aW5ncy5vcmdhbml6YXRpb25zIHtcbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIC53aWRnZXQtbGluZSB7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMThweDtcbiAgICAgIC5hbHRlcm5hdGUtYmcoI2YzZjRmNCk7XG4gICAgICAuZmEge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmLmZhLXRvZ2dsZS1vbiB7XG4gICAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmLmZhLXRvZ2dsZS1vZmYge1xuICAgICAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3ItbWVkaXVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICYuY2xhc3NpYyB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogMHB4IDBweCA1cHggMHB4O1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6IEBpbXBhYy13aWRnZXQtcGFyYW0tc2VsZWN0b3ItY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAub3B0aW9ucy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgei1pbmRleDogOTk5O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIC5ib3gtc2hhZG93KHJnYigwLCAwLCAwKSAwcHggM3B4IDE1cHggLTNweCk7XG5cbiAgICAucGFyYW0tc2VsZWN0b3ItbGFiZWwge1xuICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgIC5mb250KGluaGVyaXQsNTAwLGJsYWNrKTtcbiAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBsaW5lLWhlaWdodDogMS45O1xuICAgIH1cbiAgICAucGFyYW0tc2VsZWN0b3ItbGFiZWw6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1wYXJhbS1zZWxlY3Rvci1jb2xvcjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBsaWdodGdyYXksNSUpO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtcGFyYW0tc2VsZWN0b3ItY29sb3I7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXBhcmFtLXNlbGVjdG9yLWNvbG9yLDUlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLnNldHRpbmdzLnBhcmFtcy1jaGVja2JveGVzIHtcbiAgcGFkZGluZzogMnB4IDBweDtcbiAgaW5wdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbiAgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtcy1waWNrZXIge1xuICBwYWRkaW5nOiAwcHggMTBweDtcbiAgLnBhcmFtZXRlciB7XG4gICAgbWFyZ2luOiAwcHggM3B4IDNweCAwcHg7XG4gICAgcGFkZGluZzogM3B4IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBhcmFtcy1waWNrZXItYmc7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogc29saWQgMXB4IEBpbXBhYy13aWRnZXQtcGFyYW1zLXBpY2tlci1iZztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIG1hcmdpbjogMHB4IC0zcHggMHB4IDNweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yLCA1JSk7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC1wYXJhbXMtcGlja2VyLWJnO1xuICAgICAgcGFkZGluZzogMnB4IDZweDtcbiAgICB9XG5cbiAgICAmLnVuY2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBhcmFtcy1waWNrZXItdW5jaGVja2VkLWJnO1xuICAgICAgLmJhZGdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1wYXJhbXMtcGlja2VyLXVuY2hlY2tlZC1iZztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5hbmFseXRpY3MgLnNldHRpbmdzLnRhZy1maWx0ZXIge1xuICBwYWRkaW5nOiAwcHggNXB4O1xuXG4gIC5idG4uYnRuLWRlZmF1bHQge1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzBweDtcbiAgfVxuXG4gIC50YWctbGluZXMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcblxuICAgIC50YWctbGluZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgIC50YWdzLWNvbCB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuICAgICAgdGFncy1pbnB1dCB7XG4gICAgICAgIC50YWdzIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xuICAgICAgICAgIC50YWctaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzlhMmJiO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaG9zdCB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLnNldHRpbmdzLnRpbWUtcGVyaW9kIHtcbiAgcGFkZGluZzogMHB4IDVweDtcblxuICBzZWxlY3Qge1xuICAgIGhlaWdodDogMjJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgJiA+IC5yb3cge1xuICAgIG1hcmdpbjogMHB4IC01cHggN3B4IC01cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAwcHggNXB4O1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cbiAgICAuc3ViLXNldHRpbmcgeyBwYWRkaW5nOiA1cHg7IH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLndpZHRoIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGkge1xuICAgIGNvbG9yOiBzaWx2ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICYucmVkdWNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gICAgfVxuICAgICYuZXhwYW5kIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTNweDtcbiAgICB9XG4gIH1cbn0iXX0= */ +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltcGFjLWFuZ3VsYXIuY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9ub3JtYWxpemUubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvZ2x5cGhpY29ucy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9zY2FmZm9sZGluZy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvdmVuZG9yLXByZWZpeGVzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy90YWItZm9jdXMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2ltYWdlLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3R5cGUubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3RleHQtZW1waGFzaXMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2JhY2tncm91bmQtdmFyaWFudC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvdGV4dC1vdmVyZmxvdy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9jb2RlLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2dyaWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2dyaWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2dyaWQtZnJhbWV3b3JrLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3RhYmxlcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvdGFibGUtcm93Lmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2Zvcm1zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9mb3Jtcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9idXR0b25zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9idXR0b25zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9vcGFjaXR5Lmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2NvbXBvbmVudC1hbmltYXRpb25zLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2Ryb3Bkb3ducy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvbmF2LWRpdmlkZXIubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3Jlc2V0LWZpbHRlci5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9idXR0b24tZ3JvdXBzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9ib3JkZXItcmFkaXVzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2lucHV0LWdyb3Vwcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9uYXZzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL25hdmJhci5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3V0aWxpdGllcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9icmVhZGNydW1icy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9wYWdpbmF0aW9uLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9wYWdpbmF0aW9uLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3BhZ2VyLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2xhYmVscy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvbGFiZWxzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL2JhZGdlcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9qdW1ib3Ryb24ubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvdGh1bWJuYWlscy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9hbGVydHMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2FsZXJ0cy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9wcm9ncmVzcy1iYXJzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9ncmFkaWVudHMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3Byb2dyZXNzLWJhci5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9tZWRpYS5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9saXN0LWdyb3VwLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9saXN0LWdyb3VwLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3BhbmVscy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvcGFuZWxzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3Jlc3BvbnNpdmUtZW1iZWQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3Mvd2VsbHMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvY2xvc2UubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbW9kYWxzLmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL3Rvb2x0aXAubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3Jlc2V0LXRleHQubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvcG9wb3ZlcnMubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvY2Fyb3VzZWwubGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2NsZWFyZml4Lmxlc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9jZW50ZXItYmxvY2subGVzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2hpZGUtdGV4dC5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9yZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvbGVzcy9taXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5Lmxlc3MiLCJzdHlsZXNoZWV0cy92YXJpYWJsZXMubGVzcyIsInN0eWxlc2hlZXRzL2dsb2JhbHMubGVzcyIsInN0eWxlc2hlZXRzL21peGlucy5sZXNzIiwic3R5bGVzaGVldHMvcHJpbnQubGVzcyIsImNvbXBvbmVudHMvYWxlcnRzLWNvbmZpZy9hbGVydHMtY29uZmlnLmxlc3MiLCJjb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQubGVzcyIsImNvbXBvbmVudHMvZGFzaGJvYXJkLXNlbGVjdG9yL2Rhc2hib2FyZC1zZWxlY3Rvci5sZXNzIiwiY29tcG9uZW50cy9kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yL2Rhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IubGVzcyIsImNvbXBvbmVudHMva3BpL2twaS5sZXNzIiwic3R5bGVzaGVldHMvaW1wYWMtbWF0ZXJpYWwubGVzcyIsImNvbXBvbmVudHMva3Bpcy1iYXIva3Bpcy1iYXIubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0L3dpZGdldC5sZXNzIiwiY29tcG9uZW50cy9jb21tb24vZGF0YS1ub3QtZm91bmQvZGF0YS1ub3QtZm91bmQubGVzcyIsImNvbXBvbmVudHMvY29tbW9uL3RyYW5zYWN0aW9ucy1hZGQvdHJhbnNhY3Rpb25zLWFkZC5sZXNzIiwiY29tcG9uZW50cy9jb21tb24vZGVsZXRlLXdpZGdldC9kZWxldGUtd2lkZ2V0Lmxlc3MiLCJjb21wb25lbnRzL2NvbW1vbi90cmFuc2FjdGlvbnMtbGlzdC90cmFuc2FjdGlvbnMtbGlzdC5sZXNzIiwiY29tcG9uZW50cy9kYXNoYm9hcmQtc2V0dGluZ3MvY3VycmVuY3kvY3VycmVuY3kubGVzcyIsImNvbXBvbmVudHMvZGFzaGJvYXJkLXNldHRpbmdzL3N5bmMtYXBwcy9zeW5jLWFwcHMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1jb21tb24vY2hhcnQtdGhyZXNob2xkL2NoYXJ0LXRocmVzaG9sZC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLWNvbW1vbi9jdXJyZW5jeS1jb252ZXJzaW9ucy9jdXJyZW5jeS1jb252ZXJzaW9ucy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLWNvbW1vbi9lZGl0YWJsZS10aXRsZS9lZGl0YWJsZS10aXRsZS5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLWNvbW1vbi9pbmZvLXBhbmVsL2luZm8tcGFuZWwubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1jb21tb24vdGltZS1wZXJpb2QtaW5mby90aW1lLXBlcmlvZC1pbmZvLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtY29tbW9uL3RvcC1idXR0b25zL3RvcC1idXR0b25zLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3MvYWNjb3VudC9hY2NvdW50Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3MvYWNjb3VudGluZy1iZWhhdmlvdXIvYWNjb3VudGluZy1iZWhhdmlvdXIubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1zZXR0aW5ncy9hdHRhY2gta3Bpcy9hdHRhY2gta3Bpcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL2NoYXJ0LWZpbHRlcnMvY2hhcnQtZmlsdGVycy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL2RhdGVzLXBpY2tlci9kYXRlcy1waWNrZXIubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1zZXR0aW5ncy9oaXN0LW1vZGUvaGlzdC1tb2RlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3MvbGltaXQtZW50cmllcy9saW1pdC1lbnRyaWVzLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3Mvb2Zmc2V0cy9vZmZzZXRzLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3Mvb3JnYW5pemF0aW9ucy9vcmdhbml6YXRpb25zLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3MvcGFyYW0tc2VsZWN0b3IvcGFyYW0tc2VsZWN0b3IubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy1zZXR0aW5ncy9wYXJhbXMtY2hlY2tib3hlcy9wYXJhbXMtY2hlY2tib3hlcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL3BhcmFtcy1waWNrZXIvcGFyYW1zLXBpY2tlci5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL3RhZy1maWx0ZXIvdGFnLWZpbHRlci5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzLXNldHRpbmdzL3RpbWUtcGVyaW9kL3RpbWUtcGVyaW9kLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMtc2V0dGluZ3Mvd2lkdGgvd2lkdGgubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1hc3NldHMtbGlhYmlsaXR5LXN1bW1hcnkvYWNjb3VudHMtYXNzZXRzLWxpYWJpbGl0eS1zdW1tYXJ5Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtYXNzZXRzLXN1bW1hcnkvYWNjb3VudHMtYXNzZXRzLXN1bW1hcnkubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1hc3NldHMtdnMtbGlhYmlsaXRpZXMvYWNjb3VudHMtYXNzZXRzLXZzLWxpYWJpbGl0aWVzLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtYmFsYW5jZS9hY2NvdW50cy1iYWxhbmNlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtY2FzaC1iYWxhbmNlL2FjY291bnRzLWNhc2gtYmFsYW5jZS5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWJhbGFuY2Utc2hlZXQvYWNjb3VudHMtYmFsYW5jZS1zaGVldC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWNhc2gtcHJvamVjdGlvbi9hY2NvdW50cy1jYXNoLXByb2plY3Rpb24ubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1jYXNoLXN1bW1hcnkvYWNjb3VudHMtY2FzaC1zdW1tYXJ5Lmxlc3MiLCJzdHlsZXNoZWV0cy93aWRnZXQtbWFzdGVyLXN0eWxlcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWNsYXNzLWNvbXBhcmlzb24vYWNjb3VudHMtY2xhc3MtY29tcGFyaXNvbi5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWNvbXBhcmlzb24vYWNjb3VudHMtY29tcGFyaXNvbi5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLWN1c3RvbS1jYWxjdWxhdGlvbi9hY2NvdW50cy1jdXN0b20tY2FsY3VsYXRpb24ubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMvYWNjb3VudHMtZGV0YWlsZWQtY2xhc3NpZmljYXRpb25zLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtZXhwZW5zZS13ZWlnaHQvYWNjb3VudHMtZXhwZW5zZS13ZWlnaHQubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1leHBlbnNlcy1yZXZlbnVlL2FjY291bnRzLWV4cGVuc2VzLXJldmVudWUubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9hY2NvdW50cy1wYXlhYmxlLXJlY2VpdmFibGUvYWNjb3VudHMtcGF5YWJsZS1yZWNlaXZhYmxlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzL2FjY291bnRzLXByb2ZpdC1hbmQtbG9zcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2FjY291bnRzLXJhdGlvcy9hY2NvdW50cy1yYXRpb3MubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9oci1lbXBsb3llZS1kZXRhaWxzL2hyLWVtcGxveWVlLWRldGFpbHMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9oci1lbXBsb3llZXMtbGlzdC9oci1lbXBsb3llZXMtbGlzdC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2hyLWxlYXZlcy1iYWxhbmNlL2hyLWxlYXZlcy1iYWxhbmNlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvaHItbGVhdmVzLXNjaGVkdWxlL2hyLWxlYXZlcy1zY2hlZHVsZS5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2hyLXBheXJvbGwtc3VtbWFyeS9oci1wYXlyb2xsLXN1bW1hcnkubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9oci1zYWxhcmllcy1zdW1tYXJ5L2hyLXNhbGFyaWVzLXN1bW1hcnkubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9oci1zdXBlcmFubnVhdGlvbi1hY2NydWFscy9oci1zdXBlcmFubnVhdGlvbi1hY2NydWFscy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2hyLXRpbWVzaGVldHMvaHItdGltZXNoZWV0cy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL2hyLXdvcmtmb3JjZS1zdW1tYXJ5L2hyLXdvcmtmb3JjZS1zdW1tYXJ5Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcy9pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvaW52b2ljZXMtbGlzdC9pbnZvaWNlcy1saXN0Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvaW52b2ljZXMtc3VtbWFyeS9pbnZvaWNlcy1zdW1tYXJ5Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtYWdlZC9zYWxlcy1hZ2VkLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtYnJlYWstZXZlbi9zYWxlcy1icmVhay1ldmVuLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtY29tcGFyaXNvbi9zYWxlcy1jb21wYXJpc29uLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtY3ljbGUvc2FsZXMtY3ljbGUubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9zYWxlcy1jdXN0b21lci1kZXRhaWxzL3NhbGVzLWN1c3RvbWVyLWRldGFpbHMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9zYWxlcy1mb3JlY2FzdC9zYWxlcy1mb3JlY2FzdC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLWdyb3d0aC9zYWxlcy1ncm93dGgubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9zYWxlcy1sZWFkcy1mdW5uZWwvc2FsZXMtbGVhZHMtZnVubmVsLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtbGVhZHMtbGlzdC9zYWxlcy1sZWFkcy1saXN0Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtbGlzdC9zYWxlcy1saXN0Lmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtbmV0LXNhbGVzL3NhbGVzLW5ldC1zYWxlcy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMvc2FsZXMtbmV3LXZzLWV4aXN0aW5nLWN1c3RvbWVycy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLW51bWJlci1vZi1sZWFkcy9zYWxlcy1udW1iZXItb2YtbGVhZHMubGVzcyIsImNvbXBvbmVudHMvd2lkZ2V0cy9zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbC9zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbC5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLXBlcmZvcm1hbmNlL3NhbGVzLXBlcmZvcm1hbmNlLmxlc3MiLCJjb21wb25lbnRzL3dpZGdldHMvc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyL3NhbGVzLXNlZ21lbnRlZC10dXJub3Zlci5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLXN1bW1hcnkvc2FsZXMtc3VtbWFyeS5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLXRvcC1jdXN0b21lcnMvc2FsZXMtdG9wLWN1c3RvbWVycy5sZXNzIiwiY29tcG9uZW50cy93aWRnZXRzL3NhbGVzLXRvcC1vcHBvcnR1bml0aWVzL3NhbGVzLXRvcC1vcHBvcnR1bml0aWVzLmxlc3MiXSwibmFt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O0FFN01tQztFQUFXLGlCQUFBO0NGZ045QztBRS9NbUM7RUFBVyxpQkFBQTtDRmtOOUM7QUVqTm1DO0VBQVcsaUJBQUE7Q0ZvTjlDO0FFbk5tQztFQUFXLGlCQUFBO0NGc045QztBRXJObUM7RUFBVyxpQkFBQTtDRndOOUM7QUV2Tm1DO0VBQVcsaUJBQUE7Q0YwTjlDO0FFek5tQztFQUFXLGlCQUFBO0NGNE45QztBRTNObUM7RUFBVyxpQkFBQTtDRjhOOUM7QUU3Tm1DO0VBQVcsaUJBQUE7Q0ZnTzlDO0FFL05tQztFQUFXLGlCQUFBO0NGa085QztBRWpPbUM7RUFBVyxpQkFBQTtDRm9POUM7QUVuT21DO0VBQVcsaUJBQUE7Q0ZzTzlDO0FFck9tQztFQUFXLGlCQUFBO0NGd085QztBRXZPbUM7RUFBVyxpQkFBQTtDRjBPOUM7QUV6T21DO0VBQVcsaUJBQUE7Q0Y0TzlDO0FFM09tQztFQUFXLGlCQUFBO0NGOE85QztBRTdPbUM7RUFBVyxpQkFBQTtDRmdQOUM7QUUvT21DO0VBQVcsaUJBQUE7Q0ZrUDlDO0FFalBtQztFQUFXLGlCQUFBO0NGb1A5QztBRW5QbUM7RUFBVyxpQkFBQTtDRnNQOUM7QUVyUG1DO0VBQVcsaUJBQUE7Q0Z3UDlDO0FFdlBtQztFQUFXLGlCQUFBO0NGMFA5QztBRXpQbUM7RUFBVyxpQkFBQTtDRjRQOUM7QUUzUG1DO0VBQVcsaUJBQUE7Q0Y4UDlDO0FFN1BtQztFQUFXLGlCQUFBO0NGZ1E5QztBRS9QbUM7RUFBVyxpQkFBQTtDRmtROUM7QUVqUW1DO0VBQVcsaUJBQUE7Q0ZvUTlDO0FFblFtQztFQUFXLGlCQUFBO0NGc1E5QztBRXJRbUM7RUFBVyxpQkFBQTtDRndROUM7QUV2UW1DO0VBQVcsaUJBQUE7Q0YwUTlDO0FFelFtQztFQUFXLGlCQUFBO0NGNFE5QztBRTNRbUM7RUFBVyxpQkFBQTtDRjhROUM7QUU3UW1DO0VBQVcsaUJBQUE7Q0ZnUjlDO0FFL1FtQztFQUFXLGlCQUFBO0NGa1I5QztBRWpSbUM7RUFBVyxpQkFBQTtDRm9SOUM7QUVuUm1DO0VBQVcsaUJBQUE7Q0ZzUjlDO0FFclJtQztFQUFXLGlCQUFBO0NGd1I5QztBRXZSbUM7RUFBVyxpQkFBQTtDRjBSOUM7QUV6Um1DO0VBQVcsaUJBQUE7Q0Y0UjlDO0FFM1JtQztFQUFXLGlCQUFBO0NGOFI5QztBRTdSbUM7RUFBVyxpQkFBQTtDRmdTOUM7QUUvUm1DO0VBQVcsaUJBQUE7Q0ZrUzlDO0FFalNtQztFQUFXLGlCQUFBO0NGb1M5QztBRW5TbUM7RUFBVyxpQkFBQTtDRnNTOUM7QUVyU21DO0VBQVcsaUJBQUE7Q0Z3UzlDO0FFdlNtQztFQUFXLGlCQUFBO0NGMFM5QztBRXpTbUM7RUFBVyxpQkFBQTtDRjRTOUM7QUUzU21DO0VBQVcsaUJBQUE7Q0Y4UzlDO0FFN1NtQztFQUFXLGlCQUFBO0NGZ1Q5QztBRS9TbUM7RUFBVyxpQkFBQTtDRmtUOUM7QUVqVG1DO0VBQVcsaUJBQUE7Q0ZvVDlDO0FFblRtQztFQUFXLGlCQUFBO0NGc1Q5QztBRXJUbUM7RUFBVyxpQkFBQTtDRndUOUM7QUV2VG1DO0VBQVcsaUJBQUE7Q0YwVDlDO0FFelRtQztFQUFXLGlCQUFBO0NGNFQ5QztBRTNUbUM7RUFBVyxpQkFBQTtDRjhUOUM7QUU3VG1DO0VBQVcsaUJBQUE7Q0ZnVTlDO0FFL1RtQztFQUFXLGlCQUFBO0NGa1U5QztBRWpVbUM7RUFBVyxpQkFBQTtDRm9VOUM7QUVuVW1DO0VBQVcsaUJBQUE7Q0ZzVTlDO0FFclVtQztFQUFXLGlCQUFBO0NGd1U5QztBRXZVbUM7RUFBVyxpQkFBQTtDRjBVOUM7QUV6VW1DO0VBQVcsaUJBQUE7Q0Y0VTlDO0FFM1VtQztFQUFXLGlCQUFBO0NGOFU5QztBRTdVbUM7RUFBVyxpQkFBQTtDRmdWOUM7QUUvVW1DO0VBQVcsaUJBQUE7Q0ZrVjlDO0FFalZtQztFQUFXLGlCQUFBO0NGb1Y5QztBRW5WbUM7RUFBVyxpQkFBQTtDRnNWOUM7QUVyVm1DO0VBQVcsaUJBQUE7Q0Z3VjlDO0FFdlZtQztFQUFXLGlCQUFBO0NGMFY5QztBRXpWbUM7RUFBVyxpQkFBQTtDRjRWOUM7QUUzVm1DO0VBQVcsaUJBQUE7Q0Y4VjlDO0FFN1ZtQztFQUFXLGlCQUFBO0NGZ1c5QztBRS9WbUM7RUFBVyxpQkFBQTtDRmtXOUM7QUVqV21DO0VBQVcsaUJBQUE7Q0ZvVzlDO0FFbldtQztFQUFXLGlCQUFBO0NGc1c5QztBRXJXbUM7RUFBVyxpQkFBQTtDRndXOUM7QUV2V21DO0VBQVcsaUJBQUE7Q0YwVzlDO0FFeldtQztFQUFXLGlCQUFBO0NGNFc5QztBRTNXbUM7RUFBVyxpQkFBQTtDRjhXOUM7QUU3V21DO0VBQVcsaUJBQUE7Q0ZnWDlDO0FFL1dtQztFQUFXLGlCQUFBO0NGa1g5QztBRWpYbUM7RUFBVyxpQkFBQTtDRm9YOUM7QUVuWG1DO0VBQVcsaUJBQUE7Q0ZzWDlDO0FFclhtQztFQUFXLGlCQUFBO0NGd1g5QztBRXZYbUM7RUFBVyxpQkFBQTtDRjBYOUM7QUV6WG1DO0VBQVcsaUJBQUE7Q0Y0WDlDO0FFM1htQztFQUFXLGlCQUFBO0NGOFg5QztBRTdYbUM7RUFBVyxpQkFBQTtDRmdZOUM7QUUvWG1DO0VBQVcsaUJBQUE7Q0ZrWTlDO0FFalltQztFQUFXLGlCQUFBO0NGb1k5QztBRW5ZbUM7RUFBVyxpQkFBQTtDRnNZOUM7QUVyWW1DO0VBQVcsaUJBQUE7Q0Z3WTlDO0FFdlltQztFQUFXLGlCQUFBO0NGMFk5QztBRXpZbUM7RUFBVyxpQkFBQTtDRjRZOUM7QUUzWW1DO0VBQVcsaUJBQUE7Q0Y4WTlDO0FFN1ltQztFQUFXLGlCQUFBO0NGZ1o5QztBRS9ZbUM7RUFBVyxpQkFBQTtDRmtaOUM7QUVqWm1DO0VBQVcsaUJBQUE7Q0ZvWjlDO0FFblptQztFQUFXLGlCQUFBO0NGc1o5QztBRXJabUM7RUFBVyxpQkFBQTtDRndaOUM7QUV2Wm1DO0VBQVcsaUJBQUE7Q0YwWjlDO0FFelptQztFQUFXLGlCQUFBO0NGNFo5QztBRTNabUM7RUFBVyxpQkFBQTtDRjhaOUM7QUU3Wm1DO0VBQVcsaUJBQUE7Q0ZnYTlDO0FFL1ptQztFQUFXLGlCQUFBO0NGa2E5QztBRWphbUM7RUFBVyxpQkFBQTtDRm9hOUM7QUVuYW1DO0VBQVcsaUJBQUE7Q0ZzYTlDO0FFcmFtQztFQUFXLGlCQUFBO0NGd2E5QztBRXZhbUM7RUFBVyxpQkFBQTtDRjBhOUM7QUV6YW1DO0VBQVcsaUJBQUE7Q0Y0YTlDO0FFM2FtQztFQUFXLGlCQUFBO0NGOGE5QztBRTdhbUM7RUFBVyxpQkFBQTtDRmdiOUM7QUUvYW1DO0VBQVcsaUJBQUE7Q0ZrYjlDO0FFamJtQztFQUFXLGlCQUFBO0NGb2I5QztBRW5ibUM7RUFBVyxpQkFBQTtDRnNiOUM7QUVyYm1DO0VBQVcsaUJBQUE7Q0Z3YjlDO0FFdmJtQztFQUFXLGlCQUFBO0NGMGI5QztBRXpibUM7RUFBVyxpQkFBQTtDRjRiOUM7QUUzYm1DO0VBQVcsaUJBQUE7Q0Y4YjlDO0FFN2JtQztFQUFXLGlCQUFBO0NGZ2M5QztBRS9ibUM7RUFBVyxpQkFBQTtDRmtjOUM7QUVqY21DO0VBQVcsaUJBQUE7Q0ZvYzlDO0FFbmNtQztFQUFXLGlCQUFBO0NGc2M5QztBRXJjbUM7RUFBVyxpQkFBQTtDRndjOUM7QUV2Y21DO0VBQVcsaUJBQUE7Q0YwYzlDO0FFemNtQztFQUFXLGlCQUFBO0NGNGM5QztBRTNjbUM7RUFBVyxpQkFBQTtDRjhjOUM7QUU3Y21DO0VBQVcsaUJBQUE7Q0ZnZDlDO0FFL2NtQztFQUFXLGlCQUFBO0NGa2Q5QztBRWpkbUM7RUFBVyxpQkFBQTtDRm9kOUM7QUVuZG1DO0VBQVcsaUJBQUE7Q0ZzZDlDO0FFcmRtQztFQUFXLGlCQUFBO0NGd2Q5QztBRXZkbUM7RUFBVyxpQkFBQTtDRjBkOUM7QUV6ZG1DO0VBQVcsaUJBQUE7Q0Y0ZDlDO0FFM2RtQztFQUFXLGlCQUFBO0NGOGQ5QztBRTdkbUM7RUFBVyxpQkFBQTtDRmdlOUM7QUUvZG1DO0VBQVcsaUJBQUE7Q0ZrZTlDO0FFamVtQztFQUFXLGlCQUFBO0NGb2U5QztBRW5lbUM7RUFBVyxpQkFBQTtDRnNlOUM7QUVyZW1DO0VBQVcsaUJBQUE7Q0Z3ZTlDO0FFdmVtQztFQUFXLGlCQUFBO0NGMGU5QztBRXplbUM7RUFBVyxpQkFBQTtDRjRlOUM7QUUzZW1DO0VBQVcsaUJBQUE7Q0Y4ZTlDO0FFN2VtQztFQUFXLGlCQUFBO0NGZ2Y5QztBRS9lbUM7RUFBVyxpQkFBQTtDRmtmOUM7QUVqZm1DO0VBQVcsaUJBQUE7Q0ZvZjlDO0FFbmZtQztFQUFXLGlCQUFBO0NGc2Y5QztBRXJmbUM7RUFBVyxpQkFBQTtDRndmOUM7QUV2Zm1DO0VBQVcsaUJBQUE7Q0YwZjlDO0FFemZtQztFQUFXLGlCQUFBO0NGNGY5QztBRTNmbUM7RUFBVyxpQkFBQTtDRjhmOUM7QUU3Zm1DO0VBQVcsaUJBQUE7Q0ZnZ0I5QztBRS9mbUM7RUFBVyxpQkFBQTtDRmtnQjlDO0FFamdCbUM7RUFBVyxpQkFBQTtDRm9nQjlDO0FFbmdCbUM7RUFBVyxpQkFBQTtDRnNnQjlDO0FFcmdCbUM7RUFBVyxpQkFBQTtDRndnQjlDO0FFdmdCbUM7RUFBVyxpQkFBQTtDRjBnQjlDO0FFemdCbUM7RUFBVyxpQkFBQTtDRjRnQjlDO0FFM2dCbUM7RUFBVyxpQkFBQTtDRjhnQjlDO0FFN2dCbUM7RUFBVyxpQkFBQTtDRmdoQjlDO0FFL2dCbUM7RUFBVyxpQkFBQTtDRmtoQjlDO0FFamhCbUM7RUFBVyxpQkFBQTtDRm9oQjlDO0FFbmhCbUM7RUFBVyxpQkFBQTtDRnNoQjlDO0FFcmhCbUM7RUFBVyxpQkFBQTtDRndoQjlDO0FFdmhCbUM7RUFBVyxpQkFBQTtDRjBoQjlDO0FFemhCbUM7RUFBVyxpQkFBQTtDRjRoQjlDO0FFM2hCbUM7RUFBVyxpQkFBQTtDRjhoQjlDO0FFN2hCbUM7RUFBVyxpQkFBQTtDRmdpQjlDO0FFL2hCbUM7RUFBVyxpQkFBQTtDRmtpQjlDO0FFamlCbUM7RUFBVyxpQkFBQTtDRm9pQjlDO0FFbmlCbUM7RUFBVyxpQkFBQTtDRnNpQjlDO0FFcmlCbUM7RUFBVyxpQkFBQTtDRndpQjlDO0FFdmlCbUM7RUFBVyxpQkFBQTtDRjBpQjlDO0FFemlCbUM7RUFBVyxpQkFBQTtDRjRpQjlDO0FFM2lCbUM7RUFBVyxpQkFBQTtDRjhpQjlDO0FFN2lCbUM7RUFBVyxpQkFBQTtDRmdqQjlDO0FFL2lCbUM7RUFBVyxpQkFBQTtDRmtqQjlDO0FFampCbUM7RUFBVyxpQkFBQTtDRm9qQjlDO0FFbmpCbUM7RUFBVyxpQkFBQTtDRnNqQjlDO0FFcmpCbUM7RUFBVyxpQkFBQTtDRndqQjlDO0FFdmpCbUM7RUFBVyxpQkFBQTtDRjBqQjlDO0FFempCbUM7RUFBVyxpQkFBQTtDRjRqQjlDO0FFM2pCbUM7RUFBVyxpQkFBQTtDRjhqQjlDO0FFN2pCbUM7RUFBVyxpQkFBQTtDRmdrQjlDO0FFL2pCbUM7RUFBVyxpQkFBQTtDRmtrQjlDO0FFamtCbUM7RUFBVyxpQkFBQTtDRm9rQjlDO0FFbmtCbUM7RUFBVyxpQkFBQTtDRnNrQjlDO0FFcmtCbUM7RUFBVyxpQkFBQTtDRndrQjlDO0FFL2pCbUM7RUFBVyxpQkFBQTtDRmtrQjlDO0FFamtCbUM7RUFBVyxpQkFBQTtDRm9rQjlDO0FFbmtCbUM7RUFBVyxpQkFBQTtDRnNrQjlDO0FFcmtCbUM7RUFBVyxpQkFBQTtDRndrQjlDO0FFdmtCbUM7RUFBVyxpQkFBQTtDRjBrQjlDO0FFemtCbUM7RUFBVyxpQkFBQTtDRjRrQjlDO0FFM2tCbUM7RUFBVyxpQkFBQTtDRjhrQjlDO0FFN2tCbUM7RUFBVyxpQkFBQTtDRmdsQjlDO0FFL2tCbUM7RUFBVyxpQkFBQTtDRmtsQjlDO0FFamxCbUM7RUFBVyxpQkFBQTtDRm9sQjlDO0FFbmxCbUM7RUFBVyxpQkFBQTtDRnNsQjlDO0FFcmxCbUM7RUFBVyxpQkFBQTtDRndsQjlDO0FFdmxCbUM7RUFBVyxpQkFBQTtDRjBsQjlDO0FFemxCbUM7RUFBVyxpQkFBQTtDRjRsQjlDO0FFM2xCbUM7RUFBVyxpQkFBQTtDRjhsQjlDO0FFN2xCbUM7RUFBVyxpQkFBQTtDRmdtQjlDO0FFL2xCbUM7RUFBVyxpQkFBQTtDRmttQjlDO0FFam1CbUM7RUFBVyxpQkFBQTtDRm9tQjlDO0FFbm1CbUM7RUFBVyxpQkFBQTtDRnNtQjlDO0FFcm1CbUM7RUFBVyxpQkFBQTtDRndtQjlDO0FFdm1CbUM7RUFBVyxpQkFBQTtDRjBtQjlDO0FFem1CbUM7RUFBVyxpQkFBQTtDRjRtQjlDO0FFM21CbUM7RUFBVyxpQkFBQTtDRjhtQjlDO0FFN21CbUM7RUFBVyxpQkFBQTtDRmduQjlDO0FFL21CbUM7RUFBVyxpQkFBQTtDRmtuQjlDO0FFam5CbUM7RUFBVyxpQkFBQTtDRm9uQjlDO0FFbm5CbUM7RUFBVyxpQkFBQTtDRnNuQjlDO0FFcm5CbUM7RUFBVyxpQkFBQTtDRnduQjlDO0FFdm5CbUM7RUFBVyxpQkFBQTtDRjBuQjlDO0FFem5CbUM7RUFBVyxpQkFBQTtDRjRuQjlDO0FFM25CbUM7RUFBVyxpQkFBQTtDRjhuQjlDO0FFN25CbUM7RUFBVyxpQkFBQTtDRmdvQjlDO0FFL25CbUM7RUFBVyxpQkFBQTtDRmtvQjlDO0FFam9CbUM7RUFBVyxpQkFBQTtDRm9vQjlDO0FFbm9CbUM7RUFBVyxpQkFBQTtDRnNvQjlDO0FFcm9CbUM7RUFBVyxpQkFBQTtDRndvQjlDO0FFdm9CbUM7RUFBVyxpQkFBQTtDRjBvQjlDO0FFem9CbUM7RUFBVyxpQkFBQTtDRjRvQjlDO0FFM29CbUM7RUFBVyxpQkFBQTtDRjhvQjlDO0FFN29CbUM7RUFBVyxpQkFBQTtDRmdwQjlDO0FFL29CbUM7RUFBVyxpQkFBQTtDRmtwQjlDO0FFanBCbUM7RUFBVyxpQkFBQTtDRm9wQjlDO0FFbnBCbUM7RUFBVyxpQkFBQTtDRnNwQjlDO0FFcnBCbUM7RUFBVyxpQkFBQTtDRndwQjlDO0FFdnBCbUM7RUFBVyxpQkFBQTtDRjBwQjlDO0FFenBCbUM7RUFBVyxpQkFBQTtDRjRwQjlDO0FFM3BCbUM7RUFBVyxpQkFBQTtDRjhwQjlDO0FFN3BCbUM7RUFBVyxpQkFBQTtDRmdxQjlDO0FFL3BCbUM7RUFBVyxpQkFBQTtDRmtxQjlDO0FFanFCbUM7RUFBVyxpQkFBQTtDRm9xQjlDO0FFbnFCbUM7RUFBVyxpQkFBQTtDRnNxQjlDO0FFcnFCbUM7RUFBVyxpQkFBQTtDRndxQjlDO0FFdnFCbUM7RUFBVyxpQkFBQTtDRjBxQjlDO0FFenFCbUM7RUFBVyxpQkFBQTtDRjRxQjlDO0FFM3FCbUM7RUFBVyxpQkFBQTtDRjhxQjlDO0FFN3FCbUM7RUFBVyxpQkFBQTtDRmdyQjlDO0FHdDlCRDtFQ2tFVSx1QkFBQTtDSnk1QlQ7QUd4OUJEOztFQytEVSx1QkFBQTtDSis1QlQ7QUd0OUJEO0VBQ0UsZ0JBQUE7RUFDQSw4Q0FBQTtDSHc5QkQ7QUdyOUJEO0VBQ0UsNERBQUE7RUFDQSxnQkFBQTtFQUNBLHdCQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0NIdTlCRDtBR245QkQ7Ozs7RUFJRSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7Q0hxOUJEO0FHLzhCRDtFQUNFLGVBQUE7RUFDQSxzQkFBQTtDSGk5QkQ7QUcvOEJDOztFQUVFLGVBQUE7RUFDQSwyQkFBQTtDSGk5Qkg7QUc5OEJDO0VFbkRBLDJDQUFBO0VBQ0EscUJBQUE7Q0xvZ0NEO0FHdjhCRDtFQUNFLFVBQUE7Q0h5OEJEO0FHbjhCRDtFQUNFLHVCQUFBO0NIcThCRDtBR2o4QkQ7Ozs7O0VHdkVFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7Q04rZ0NEO0FHcjhCRDtFQUNFLG1CQUFBO0NIdThCRDtBR2o4QkQ7RUFDRSxhQUFBO0VBQ0Esd0JBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUM2RkEseUNBQUE7RUFFUSxpQ0FBQTtFRXZMUixzQkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtDTitoQ0Q7QUdqOEJEO0VBQ0UsbUJBQUE7Q0htOEJEO0FHNzdCRDtFQUNFLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxVQUFBO0VBQ0EsOEJBQUE7Q0grN0JEO0FHdjdCRDtFQUNFLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsdUJBQUE7RUFDQSxVQUFBO0NIeTdCRDtBR2o3QkM7O0VBRUUsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7Q0htN0JIO0FHeDZCRDtFQUNFLGdCQUFBO0NIMDZCRDtBT2prQ0Q7Ozs7Ozs7Ozs7OztFQUVFLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7Q1A2a0NEO0FPbGxDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBU0ksb0JBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtDUG1tQ0g7QU8vbENEOzs7Ozs7RUFHRSxpQkFBQTtFQUNBLG9CQUFBO0NQb21DRDtBT3htQ0Q7Ozs7Ozs7Ozs7OztFQVFJLGVBQUE7Q1A4bUNIO0FPM21DRDs7Ozs7O0VBR0UsaUJBQUE7RUFDQSxvQkFBQTtDUGduQ0Q7QU9wbkNEOzs7Ozs7Ozs7Ozs7RUFRSSxlQUFBO0NQMG5DSDtBT3RuQ0Q7O0VBQVUsZ0JBQUE7Q1AwbkNUO0FPem5DRDs7RUFBVSxnQkFBQTtDUDZuQ1Q7QU81bkNEOztFQUFVLGdCQUFBO0NQZ29DVDtBTy9uQ0Q7O0VBQVUsZ0JBQUE7Q1Btb0NUO0FPbG9DRDs7RUFBVSxnQkFBQTtDUHNvQ1Q7QU9yb0NEOztFQUFVLGdCQUFBO0NQeW9DVDtBT25vQ0Q7RUFDRSxpQkFBQTtDUHFvQ0Q7QU9sb0NEO0VBQ0Usb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7Q1Bvb0NEO0FPbG9DQztFQTJPRjtJQTFPSSxnQkFBQTtHUHFvQ0Q7Q0FDRjtBTzduQ0Q7O0VBRUUsZUFBQTtDUCtuQ0Q7QU81bkNEOztFQUVFLDBCQUFBO0VBQ0EsY0FBQTtDUDhuQ0Q7QU8xbkNEO0VBQXVCLGlCQUFBO0NQNm5DdEI7QU81bkNEO0VBQXVCLGtCQUFBO0NQK25DdEI7QU85bkNEO0VBQXVCLG1CQUFBO0NQaW9DdEI7QU9ob0NEO0VBQXVCLG9CQUFBO0NQbW9DdEI7QU9sb0NEO0VBQXVCLG9CQUFBO0NQcW9DdEI7QU9sb0NEO0VBQXVCLDBCQUFBO0NQcW9DdEI7QU9wb0NEO0VBQXVCLDBCQUFBO0NQdW9DdEI7QU90b0NEO0VBQXVCLDJCQUFBO0NQeW9DdEI7QU90b0NEO0VBQ0UsZUFBQTtDUHdvQ0Q7QU90b0NEO0VDckdFLGVBQUE7Q1I4dUNEO0FRN3VDQzs7RUFFRSxlQUFBO0NSK3VDSDtBTzFvQ0Q7RUN4R0UsZUFBQTtDUnF2Q0Q7QVFwdkNDOztFQUVFLGVBQUE7Q1JzdkNIO0FPOW9DRDtFQzNHRSxlQUFBO0NSNHZDRDtBUTN2Q0M7O0VBRUUsZUFBQTtDUjZ2Q0g7QU9scENEO0VDOUdFLGVBQUE7Q1Jtd0NEO0FRbHdDQzs7RUFFRSxlQUFBO0NSb3dDSDtBT3RwQ0Q7RUNqSEUsZUFBQTtDUjB3Q0Q7QVF6d0NDOztFQUVFLGVBQUE7Q1Iyd0NIO0FPdHBDRDtFQUdFLFlBQUE7RUUzSEEsMEJBQUE7Q1RreENEO0FTanhDQzs7RUFFRSwwQkFBQTtDVG14Q0g7QU94cENEO0VFOUhFLDBCQUFBO0NUeXhDRDtBU3h4Q0M7O0VBRUUsMEJBQUE7Q1QweENIO0FPNXBDRDtFRWpJRSwwQkFBQTtDVGd5Q0Q7QVMveENDOztFQUVFLDBCQUFBO0NUaXlDSDtBT2hxQ0Q7RUVwSUUsMEJBQUE7Q1R1eUNEO0FTdHlDQzs7RUFFRSwwQkFBQTtDVHd5Q0g7QU9wcUNEO0VFdklFLDBCQUFBO0NUOHlDRDtBUzd5Q0M7O0VBRUUsMEJBQUE7Q1QreUNIO0FPbnFDRDtFQUNFLG9CQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQ0FBQTtDUHFxQ0Q7QU83cENEOztFQUVFLGNBQUE7RUFDQSxvQkFBQTtDUCtwQ0Q7QU9scUNEOzs7O0VBTUksaUJBQUE7Q1BrcUNIO0FPM3BDRDtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7Q1A2cENEO0FPenBDRDtFQUxFLGdCQUFBO0VBQ0EsaUJBQUE7RUFNQSxrQkFBQTtDUDRwQ0Q7QU85cENEO0VBS0ksc0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0NQNHBDSDtBT3ZwQ0Q7RUFDRSxjQUFBO0VBQ0Esb0JBQUE7Q1B5cENEO0FPdnBDRDs7RUFFRSx3QkFBQTtDUHlwQ0Q7QU92cENEO0VBQ0Usa0JBQUE7Q1B5cENEO0FPdnBDRDtFQUNFLGVBQUE7Q1B5cENEO0FPNW9DQztFQXlGRjtJQXZGTSxZQUFBO0lBQ0EsYUFBQTtJQUNBLFlBQUE7SUFDQSxrQkFBQTtJR3ROSixpQkFBQTtJQUNBLHdCQUFBO0lBQ0Esb0JBQUE7R1ZxMkNDO0VPN2pDSDtJQWhGTSxtQkFBQTtHUGdwQ0g7Q0FDRjtBT3ZvQ0Q7O0VBR0UsYUFBQTtFQUNBLGtDQUFBO0NQd29DRDtBT3RvQ0Q7RUFDRSxlQUFBO0VBOUlxQiwwQkFBQTtDUHV4Q3RCO0FPcG9DRDtFQUNFLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLCtCQUFBO0NQc29DRDtBT2pvQ0c7OztFQUNFLGlCQUFBO0NQcW9DTDtBTy9vQ0Q7OztFQW1CSSxlQUFBO0VBQ0EsZUFBQTtFQUNBLHdCQUFBO0VBQ0EsZUFBQTtDUGlvQ0g7QU8vbkNHOzs7RUFDRSx1QkFBQTtDUG1vQ0w7QU8zbkNEOztFQUVFLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtDUDZuQ0Q7QU92bkNHOzs7Ozs7RUFBVyxZQUFBO0NQK25DZDtBTzluQ0c7Ozs7OztFQUNFLHVCQUFBO0NQcW9DTDtBTy9uQ0Q7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esd0JBQUE7Q1Bpb0NEO0FXdjZDRDs7OztFQUlFLCtEQUFBO0NYeTZDRDtBV3I2Q0Q7RUFDRSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsMEJBQUE7RUFDQSxtQkFBQTtDWHU2Q0Q7QVduNkNEO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSwrQ0FBQTtDWHE2Q0Q7QVczNkNEO0VBU0ksV0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtDWHE2Q0g7QVdoNkNEO0VBQ0UsZUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtDWGs2Q0Q7QVc3NkNEO0VBZUksV0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLHNCQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQkFBQTtDWGk2Q0g7QVc1NUNEO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtDWDg1Q0Q7QVl4OUNEO0VDSEUsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7Q2I4OUNEO0FZMzlDQztFQXdFRjtJQXZFSSxhQUFBO0daODlDRDtDQUNGO0FZNzlDQztFQXFFRjtJQXBFSSxhQUFBO0daZytDRDtDQUNGO0FZLzlDQztFQWtFRjtJQWpFSSxjQUFBO0daaytDRDtDQUNGO0FZejlDRDtFQ3ZCRSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtDYm0vQ0Q7QVl0OUNEO0VDdkJFLG1CQUFBO0VBQ0Esb0JBQUE7Q2JnL0NEO0FjaC9DRztFQUNFLG1CQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NkZy9DTDtBY2grQ0c7RUFDRSxZQUFBO0NkaytDTDtBYzM5Q0M7RUFDRSxZQUFBO0NkNjlDSDtBYzk5Q0M7RUFDRSxvQkFBQTtDZGcrQ0g7QWNqK0NDO0VBQ0Usb0JBQUE7Q2RtK0NIO0FjcCtDQztFQUNFLFdBQUE7Q2RzK0NIO0FjditDQztFQUNFLG9CQUFBO0NkeStDSDtBYzErQ0M7RUFDRSxvQkFBQTtDZDQrQ0g7QWM3K0NDO0VBQ0UsV0FBQTtDZCsrQ0g7QWNoL0NDO0VBQ0Usb0JBQUE7Q2RrL0NIO0Fjbi9DQztFQUNFLG9CQUFBO0NkcS9DSDtBY3QvQ0M7RUFDRSxXQUFBO0Nkdy9DSDtBY3ovQ0M7RUFDRSxvQkFBQTtDZDIvQ0g7QWM1L0NDO0VBQ0UsbUJBQUE7Q2Q4L0NIO0FjaC9DQztFQUNFLFlBQUE7Q2RrL0NIO0Fjbi9DQztFQUNFLG9CQUFBO0NkcS9DSDtBY3QvQ0M7RUFDRSxvQkFBQTtDZHcvQ0g7QWN6L0NDO0VBQ0UsV0FBQTtDZDIvQ0g7QWM1L0NDO0VBQ0Usb0JBQUE7Q2Q4L0NIO0FjLy9DQztFQUNFLG9CQUFBO0NkaWdESDtBY2xnREM7RUFDRSxXQUFBO0Nkb2dESDtBY3JnREM7RUFDRSxvQkFBQTtDZHVnREg7QWN4Z0RDO0VBQ0Usb0JBQUE7Q2QwZ0RIO0FjM2dEQztFQUNFLFdBQUE7Q2Q2Z0RIO0FjOWdEQztFQUNFLG9CQUFBO0NkZ2hESDtBY2poREM7RUFDRSxtQkFBQTtDZG1oREg7QWMvZ0RDO0VBQ0UsWUFBQTtDZGloREg7QWNqaURDO0VBQ0UsV0FBQTtDZG1pREg7QWNwaURDO0VBQ0UsbUJBQUE7Q2RzaURIO0FjdmlEQztFQUNFLG1CQUFBO0NkeWlESDtBYzFpREM7RUFDRSxVQUFBO0NkNGlESDtBYzdpREM7RUFDRSxtQkFBQTtDZCtpREg7QWNoakRDO0VBQ0UsbUJBQUE7Q2RrakRIO0FjbmpEQztFQUNFLFVBQUE7Q2RxakRIO0FjdGpEQztFQUNFLG1CQUFBO0Nkd2pESDtBY3pqREM7RUFDRSxtQkFBQTtDZDJqREg7QWM1akRDO0VBQ0UsVUFBQTtDZDhqREg7QWMvakRDO0VBQ0UsbUJBQUE7Q2Rpa0RIO0FjbGtEQztFQUNFLGtCQUFBO0Nkb2tESDtBY2hrREM7RUFDRSxXQUFBO0Nka2tESDtBY3BqREM7RUFDRSxrQkFBQTtDZHNqREg7QWN2akRDO0VBQ0UsMEJBQUE7Q2R5akRIO0FjMWpEQztFQUNFLDBCQUFBO0NkNGpESDtBYzdqREM7RUFDRSxpQkFBQTtDZCtqREg7QWNoa0RDO0VBQ0UsMEJBQUE7Q2Rra0RIO0FjbmtEQztFQUNFLDBCQUFBO0NkcWtESDtBY3RrREM7RUFDRSxpQkFBQTtDZHdrREg7QWN6a0RDO0VBQ0UsMEJBQUE7Q2Qya0RIO0FjNWtEQztFQUNFLDBCQUFBO0NkOGtESDtBYy9rREM7RUFDRSxpQkFBQTtDZGlsREg7QWNsbERDO0VBQ0UsMEJBQUE7Q2RvbERIO0FjcmxEQztFQUNFLHlCQUFBO0NkdWxESDtBY3hsREM7RUFDRSxnQkFBQTtDZDBsREg7QVlubUREO0VFekJJO0lBQ0UsWUFBQTtHZCtuREg7RWN4bkREO0lBQ0UsWUFBQTtHZDBuREQ7RWMzbkREO0lBQ0Usb0JBQUE7R2Q2bkREO0VjOW5ERDtJQUNFLG9CQUFBO0dkZ29ERDtFY2pvREQ7SUFDRSxXQUFBO0dkbW9ERDtFY3BvREQ7SUFDRSxvQkFBQTtHZHNvREQ7RWN2b0REO0lBQ0Usb0JBQUE7R2R5b0REO0VjMW9ERDtJQUNFLFdBQUE7R2Q0b0REO0VjN29ERDtJQUNFLG9CQUFBO0dkK29ERDtFY2hwREQ7SUFDRSxvQkFBQTtHZGtwREQ7RWNucEREO0lBQ0UsV0FBQTtHZHFwREQ7RWN0cEREO0lBQ0Usb0JBQUE7R2R3cEREO0VjenBERDtJQUNFLG1CQUFBO0dkMnBERDtFYzdvREQ7SUFDRSxZQUFBO0dkK29ERDtFY2hwREQ7SUFDRSxvQkFBQTtHZGtwREQ7RWNucEREO0lBQ0Usb0JBQUE7R2RxcEREO0VjdHBERDtJQUNFLFdBQUE7R2R3cEREO0VjenBERDtJQUNFLG9CQUFBO0dkMnBERDtFYzVwREQ7SUFDRSxvQkFBQTtHZDhwREQ7RWMvcEREO0lBQ0UsV0FBQTtHZGlxREQ7RWNscUREO0lBQ0Usb0JBQUE7R2RvcUREO0VjcnFERDtJQUNFLG9CQUFBO0dkdXFERDtFY3hxREQ7SUFDRSxXQUFBO0dkMHFERDtFYzNxREQ7SUFDRSxvQkFBQTtHZDZxREQ7RWM5cUREO0lBQ0UsbUJBQUE7R2RnckREO0VjNXFERDtJQUNFLFlBQUE7R2Q4cUREO0VjOXJERDtJQUNFLFdBQUE7R2Rnc0REO0VjanNERDtJQUNFLG1CQUFBO0dkbXNERDtFY3BzREQ7SUFDRSxtQkFBQTtHZHNzREQ7RWN2c0REO0lBQ0UsVUFBQTtHZHlzREQ7RWMxc0REO0lBQ0UsbUJBQUE7R2Q0c0REO0VjN3NERDtJQUNFLG1CQUFBO0dkK3NERDtFY2h0REQ7SUFDRSxVQUFBO0dka3RERDtFY250REQ7SUFDRSxtQkFBQTtHZHF0REQ7RWN0dEREO0lBQ0UsbUJBQUE7R2R3dEREO0VjenRERDtJQUNFLFVBQUE7R2QydEREO0VjNXRERDtJQUNFLG1CQUFBO0dkOHRERDtFYy90REQ7SUFDRSxrQkFBQTtHZGl1REQ7RWM3dEREO0lBQ0UsV0FBQTtHZCt0REQ7RWNqdEREO0lBQ0Usa0JBQUE7R2RtdEREO0VjcHRERDtJQUNFLDBCQUFBO0dkc3RERDtFY3Z0REQ7SUFDRSwwQkFBQTtHZHl0REQ7RWMxdEREO0lBQ0UsaUJBQUE7R2Q0dEREO0VjN3RERDtJQUNFLDBCQUFBO0dkK3RERDtFY2h1REQ7SUFDRSwwQkFBQTtHZGt1REQ7RWNudUREO0lBQ0UsaUJBQUE7R2RxdUREO0VjdHVERDtJQUNFLDBCQUFBO0dkd3VERDtFY3p1REQ7SUFDRSwwQkFBQTtHZDJ1REQ7RWM1dUREO0lBQ0UsaUJBQUE7R2Q4dUREO0VjL3VERDtJQUNFLDBCQUFBO0dkaXZERDtFY2x2REQ7SUFDRSx5QkFBQTtHZG92REQ7RWNydkREO0lBQ0UsZ0JBQUE7R2R1dkREO0NBQ0Y7QVl4dkREO0VFbENJO0lBQ0UsWUFBQTtHZDZ4REg7RWN0eEREO0lBQ0UsWUFBQTtHZHd4REQ7RWN6eEREO0lBQ0Usb0JBQUE7R2QyeEREO0VjNXhERDtJQUNFLG9CQUFBO0dkOHhERDtFYy94REQ7SUFDRSxXQUFBO0dkaXlERDtFY2x5REQ7SUFDRSxvQkFBQTtHZG95REQ7RWNyeUREO0lBQ0Usb0JBQUE7R2R1eUREO0VjeHlERDtJQUNFLFdBQUE7R2QweUREO0VjM3lERDtJQUNFLG9CQUFBO0dkNnlERDtFYzl5REQ7SUFDRSxvQkFBQTtHZGd6REQ7RWNqekREO0lBQ0UsV0FBQTtHZG16REQ7RWNwekREO0lBQ0Usb0JBQUE7R2RzekREO0VjdnpERDtJQUNFLG1CQUFBO0dkeXpERDtFYzN5REQ7SUFDRSxZQUFBO0dkNnlERDtFYzl5REQ7SUFDRSxvQkFBQTtHZGd6REQ7RWNqekREO0lBQ0Usb0JBQUE7R2RtekREO0VjcHpERDtJQUNFLFdBQUE7R2RzekREO0VjdnpERDtJQUNFLG9CQUFBO0dkeXpERDtFYzF6REQ7SUFDRSxvQkFBQTtHZDR6REQ7RWM3ekREO0lBQ0UsV0FBQTtHZCt6REQ7RWNoMEREO0lBQ0Usb0JBQUE7R2RrMEREO0VjbjBERDtJQUNFLG9CQUFBO0dkcTBERDtFY3QwREQ7SUFDRSxXQUFBO0dkdzBERDtFY3owREQ7SUFDRSxvQkFBQTtHZDIwREQ7RWM1MEREO0lBQ0UsbUJBQUE7R2Q4MEREO0VjMTBERDtJQUNFLFlBQUE7R2Q0MEREO0VjNTFERDtJQUNFLFdBQUE7R2Q4MUREO0VjLzFERDtJQUNFLG1CQUFBO0dkaTJERDtFY2wyREQ7SUFDRSxtQkFBQTtHZG8yREQ7RWNyMkREO0lBQ0UsVUFBQTtHZHUyREQ7RWN4MkREO0lBQ0UsbUJBQUE7R2QwMkREO0VjMzJERDtJQUNFLG1CQUFBO0dkNjJERDtFYzkyREQ7SUFDRSxVQUFBO0dkZzNERDtFY2ozREQ7SUFDRSxtQkFBQTtHZG0zREQ7RWNwM0REO0lBQ0UsbUJBQUE7R2RzM0REO0VjdjNERDtJQUNFLFVBQUE7R2R5M0REO0VjMTNERDtJQUNFLG1CQUFBO0dkNDNERDtFYzczREQ7SUFDRSxrQkFBQTtHZCszREQ7RWMzM0REO0lBQ0UsV0FBQTtHZDYzREQ7RWMvMkREO0lBQ0Usa0JBQUE7R2RpM0REO0VjbDNERDtJQUNFLDBCQUFBO0dkbzNERDtFY3IzREQ7SUFDRSwwQkFBQTtHZHUzREQ7RWN4M0REO0lBQ0UsaUJBQUE7R2QwM0REO0VjMzNERDtJQUNFLDBCQUFBO0dkNjNERDtFYzkzREQ7SUFDRSwwQkFBQTtHZGc0REQ7RWNqNEREO0lBQ0UsaUJBQUE7R2RtNEREO0VjcDRERDtJQUNFLDBCQUFBO0dkczRERDtFY3Y0REQ7SUFDRSwwQkFBQTtHZHk0REQ7RWMxNEREO0lBQ0UsaUJBQUE7R2Q0NEREO0VjNzRERDtJQUNFLDBCQUFBO0dkKzRERDtFY2g1REQ7SUFDRSx5QkFBQTtHZGs1REQ7RWNuNUREO0lBQ0UsZ0JBQUE7R2RxNUREO0NBQ0Y7QVk3NEREO0VFM0NJO0lBQ0UsWUFBQTtHZDI3REg7RWNwN0REO0lBQ0UsWUFBQTtHZHM3REQ7RWN2N0REO0lBQ0Usb0JBQUE7R2R5N0REO0VjMTdERDtJQUNFLG9CQUFBO0dkNDdERDtFYzc3REQ7SUFDRSxXQUFBO0dkKzdERDtFY2g4REQ7SUFDRSxvQkFBQTtHZGs4REQ7RWNuOEREO0lBQ0Usb0JBQUE7R2RxOEREO0VjdDhERDtJQUNFLFdBQUE7R2R3OEREO0VjejhERDtJQUNFLG9CQUFBO0dkMjhERDtFYzU4REQ7SUFDRSxvQkFBQTtHZDg4REQ7RWMvOEREO0lBQ0UsV0FBQTtHZGk5REQ7RWNsOUREO0lBQ0Usb0JBQUE7R2RvOUREO0VjcjlERDtJQUNFLG1CQUFBO0dkdTlERDtFY3o4REQ7SUFDRSxZQUFBO0dkMjhERDtFYzU4REQ7SUFDRSxvQkFBQTtHZDg4REQ7RWMvOEREO0lBQ0Usb0JBQUE7R2RpOUREO0VjbDlERDtJQUNFLFdBQUE7R2RvOUREO0VjcjlERDtJQUNFLG9CQUFBO0dkdTlERDtFY3g5REQ7SUFDRSxvQkFBQTtHZDA5REQ7RWMzOUREO0lBQ0UsV0FBQTtHZDY5REQ7RWM5OUREO0lBQ0Usb0JBQUE7R2RnK0REO0VjaitERDtJQUNFLG9CQUFBO0dkbStERDtFY3ArREQ7SUFDRSxXQUFBO0dkcytERDtFY3YrREQ7SUFDRSxvQkFBQTtHZHkrREQ7RWMxK0REO0lBQ0UsbUJBQUE7R2Q0K0REO0VjeCtERDtJQUNFLFlBQUE7R2QwK0REO0VjMS9ERDtJQUNFLFdBQUE7R2Q0L0REO0VjNy9ERDtJQUNFLG1CQUFBO0dkKy9ERDtFY2hnRUQ7SUFDRSxtQkFBQTtHZGtnRUQ7RWNuZ0VEO0lBQ0UsVUFBQTtHZHFnRUQ7RWN0Z0VEO0lBQ0UsbUJBQUE7R2R3Z0VEO0VjemdFRDtJQUNFLG1CQUFBO0dkMmdFRDtFYzVnRUQ7SUFDRSxVQUFBO0dkOGdFRDtFYy9nRUQ7SUFDRSxtQkFBQTtHZGloRUQ7RWNsaEVEO0lBQ0UsbUJBQUE7R2RvaEVEO0VjcmhFRDtJQUNFLFVBQUE7R2R1aEVEO0VjeGhFRDtJQUNFLG1CQUFBO0dkMGhFRDtFYzNoRUQ7SUFDRSxrQkFBQTtHZDZoRUQ7RWN6aEVEO0lBQ0UsV0FBQTtHZDJoRUQ7RWM3Z0VEO0lBQ0Usa0JBQUE7R2QrZ0VEO0VjaGhFRDtJQUNFLDBCQUFBO0dka2hFRDtFY25oRUQ7SUFDRSwwQkFBQTtHZHFoRUQ7RWN0aEVEO0lBQ0UsaUJBQUE7R2R3aEVEO0VjemhFRDtJQUNFLDBCQUFBO0dkMmhFRDtFYzVoRUQ7SUFDRSwwQkFBQTtHZDhoRUQ7RWMvaEVEO0lBQ0UsaUJBQUE7R2RpaUVEO0VjbGlFRDtJQUNFLDBCQUFBO0dkb2lFRDtFY3JpRUQ7SUFDRSwwQkFBQTtHZHVpRUQ7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ckp5dld4QjtBc0pqeFdEO0V0QzRCSSxpQkFBQTtDaEh3dldIO0FzSnB4V0Q7RXRDK0JJLGlCQUFBO0NoSHd2V0g7QXNKdnhXRDtFQUdJLG1CQUFBO0N0SnV4V0g7QXVKMXhXRDtFQUVJLGtDQUFBO0VBQ0Esb0JBQUE7Q3ZKMnhXSDtBdUo5eFdEO0VBSVEsb0JBQUE7Q3ZKNnhXUDtBdUpqeVdEO0VBS3NCLHNCQUFBO0N2Sit4V3JCO0F1SnB5V0Q7RUFRSSxrQkFBQTtDdkoreFdIO0F1SnZ5V0Q7RUFTNEIsMEJBQUE7Q3ZKaXlXM0I7QXVKMXlXRDtFQVk2QixpQkFBQTtDdkppeVc1QjtBdUo3eVdEO0VBZVUsaUJBQUE7Q3ZKaXlXVDtBd0poeldEO0VBRUksa0JBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VyRnNERixpQkFBQTtFQUNBLG1CQUFBO0NuRTR2V0Q7QXdKdnpXRDtFQU9NLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0N4Sm16V0w7QXdKNXpXRDtFQVdRLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0N4Sm96V1A7QXdKajBXRDtFQWdCUSxlQUFBO0VBQ0EsMEJBQUE7Q3hKb3pXUDtBd0pseldLO0VBQ0UsYUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7Q3hKb3pXUDtBd0p2eldLO0VBS0ksZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLDBCQUFBO0N4SnF6V1Q7QXdKNXpXSztFQVVJLGlCQUFBO0N4SnF6V1Q7QXdKbHpXSztFQUNFLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0N4Sm96V1A7QXdKdnpXSztFQUtJLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSwwQkFBQTtDeEpxeldUO0F3SjV6V0s7RUFVSSxpQkFBQTtDeEpxeldUO0FBQ0QsZUFBZSIsImZpbGUiOiJpbXBhYy1hbmd1bGFyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4qKiBBbGwgQGltcG9ydCdzIHNob3VsZCBsaXZlIGluIHRoaXMgZmlsZSFcbiovXG4vKipcbiAqICBEbyBub3QgcmVtb3ZlIHRoaXMgY29tbWVudHMgYmVsbG93LiBJdCdzIHRoZSBtYXJrZXJzIHVzZWQgYnkgd2lyZWRlcCB0byBpbmplY3RcbiAqICBsZXNzIGRlcGVuZGVuY2llcyB3aGVuIGRlZmluZWQgaW4gdGhlIGJvd2VyLmpzb24gb2YgeW91ciBkZXBlbmRlbmNpZXNcbiAqL1xuLyohXG4gKiBCb290c3RyYXAgdjMuMy43IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTYgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG59XG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJy4uL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5zdmcjZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbn1cbi5nbHlwaGljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbi5nbHlwaGljb24tYXN0ZXJpc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwMmFcIjtcbn1cbi5nbHlwaGljb24tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMDAyYlwiO1xufVxuLmdseXBoaWNvbi1ldXJvOmJlZm9yZSxcbi5nbHlwaGljb24tZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMGFjXCI7XG59XG4uZ2x5cGhpY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMjEyXCI7XG59XG4uZ2x5cGhpY29uLWNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNjAxXCI7XG59XG4uZ2x5cGhpY29uLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNzA5XCI7XG59XG4uZ2x5cGhpY29uLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjcwZlwiO1xufVxuLmdseXBoaWNvbi1nbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMVwiO1xufVxuLmdseXBoaWNvbi1tdXNpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMlwiO1xufVxuLmdseXBoaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDNcIjtcbn1cbi5nbHlwaGljb24taGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDVcIjtcbn1cbi5nbHlwaGljb24tc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwNlwiO1xufVxuLmdseXBoaWNvbi1zdGFyLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA3XCI7XG59XG4uZ2x5cGhpY29uLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDhcIjtcbn1cbi5nbHlwaGljb24tZmlsbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwOVwiO1xufVxuLmdseXBoaWNvbi10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMFwiO1xufVxuLmdseXBoaWNvbi10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMVwiO1xufVxuLmdseXBoaWNvbi10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEyXCI7XG59XG4uZ2x5cGhpY29uLW9rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEzXCI7XG59XG4uZ2x5cGhpY29uLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxNFwiO1xufVxuLmdseXBoaWNvbi16b29tLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE1XCI7XG59XG4uZ2x5cGhpY29uLXpvb20tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE2XCI7XG59XG4uZ2x5cGhpY29uLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxN1wiO1xufVxuLmdseXBoaWNvbi1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMThcIjtcbn1cbi5nbHlwaGljb24tY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE5XCI7XG59XG4uZ2x5cGhpY29uLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIwXCI7XG59XG4uZ2x5cGhpY29uLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjFcIjtcbn1cbi5nbHlwaGljb24tZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyMlwiO1xufVxuLmdseXBoaWNvbi10aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIzXCI7XG59XG4uZ2x5cGhpY29uLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjRcIjtcbn1cbi5nbHlwaGljb24tZG93bmxvYWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI1XCI7XG59XG4uZ2x5cGhpY29uLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI2XCI7XG59XG4uZ2x5cGhpY29uLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyN1wiO1xufVxuLmdseXBoaWNvbi1pbmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyOFwiO1xufVxuLmdseXBoaWNvbi1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyOVwiO1xufVxuLmdseXBoaWNvbi1yZXBlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzBcIjtcbn1cbi5nbHlwaGljb24tcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzMVwiO1xufVxuLmdseXBoaWNvbi1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzMlwiO1xufVxuLmdseXBoaWNvbi1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMzXCI7XG59XG4uZ2x5cGhpY29uLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzRcIjtcbn1cbi5nbHlwaGljb24taGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzNVwiO1xufVxuLmdseXBoaWNvbi12b2x1bWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM2XCI7XG59XG4uZ2x5cGhpY29uLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM3XCI7XG59XG4uZ2x5cGhpY29uLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzOFwiO1xufVxuLmdseXBoaWNvbi1xcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzlcIjtcbn1cbi5nbHlwaGljb24tYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0MFwiO1xufVxuLmdseXBoaWNvbi10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDFcIjtcbn1cbi5nbHlwaGljb24tdGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0MlwiO1xufVxuLmdseXBoaWNvbi1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQzXCI7XG59XG4uZ2x5cGhpY29uLWJvb2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ0XCI7XG59XG4uZ2x5cGhpY29uLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ1XCI7XG59XG4uZ2x5cGhpY29uLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0NlwiO1xufVxuLmdseXBoaWNvbi1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ3XCI7XG59XG4uZ2x5cGhpY29uLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDhcIjtcbn1cbi5nbHlwaGljb24taXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ5XCI7XG59XG4uZ2x5cGhpY29uLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDUwXCI7XG59XG4uZ2x5cGhpY29uLXRleHQtd2lkdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTFcIjtcbn1cbi5nbHlwaGljb24tYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiO1xufVxuLmdseXBoaWNvbi1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTNcIjtcbn1cbi5nbHlwaGljb24tYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTRcIjtcbn1cbi5nbHlwaGljb24tYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiO1xufVxuLmdseXBoaWNvbi1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU2XCI7XG59XG4uZ2x5cGhpY29uLWluZGVudC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU3XCI7XG59XG4uZ2x5cGhpY29uLWluZGVudC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1OFwiO1xufVxuLmdseXBoaWNvbi1mYWNldGltZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1OVwiO1xufVxuLmdseXBoaWNvbi1waWN0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYwXCI7XG59XG4uZ2x5cGhpY29uLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjJcIjtcbn1cbi5nbHlwaGljb24tYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYzXCI7XG59XG4uZ2x5cGhpY29uLXRpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjRcIjtcbn1cbi5nbHlwaGljb24tZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NVwiO1xufVxuLmdseXBoaWNvbi1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NlwiO1xufVxuLmdseXBoaWNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2N1wiO1xufVxuLmdseXBoaWNvbi1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY4XCI7XG59XG4uZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjlcIjtcbn1cbi5nbHlwaGljb24tZmFzdC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MFwiO1xufVxuLmdseXBoaWNvbi1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MVwiO1xufVxuLmdseXBoaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDcyXCI7XG59XG4uZ2x5cGhpY29uLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDczXCI7XG59XG4uZ2x5cGhpY29uLXN0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzRcIjtcbn1cbi5nbHlwaGljb24tZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NVwiO1xufVxuLmdseXBoaWNvbi1mYXN0LWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzZcIjtcbn1cbi5nbHlwaGljb24tc3RlcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc3XCI7XG59XG4uZ2x5cGhpY29uLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc4XCI7XG59XG4uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OVwiO1xufVxuLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgwXCI7XG59XG4uZ2x5cGhpY29uLXBsdXMtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MVwiO1xufVxuLmdseXBoaWNvbi1taW51cy1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgyXCI7XG59XG4uZ2x5cGhpY29uLXJlbW92ZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7XG59XG4uZ2x5cGhpY29uLW9rLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODRcIjtcbn1cbi5nbHlwaGljb24tcXVlc3Rpb24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NVwiO1xufVxuLmdseXBoaWNvbi1pbmZvLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODZcIjtcbn1cbi5nbHlwaGljb24tc2NyZWVuc2hvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4N1wiO1xufVxuLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg4XCI7XG59XG4uZ2x5cGhpY29uLW9rLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OVwiO1xufVxuLmdseXBoaWNvbi1iYW4tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDkwXCI7XG59XG4uZ2x5cGhpY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTFcIjtcbn1cbi5nbHlwaGljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTJcIjtcbn1cbi5nbHlwaGljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTNcIjtcbn1cbi5nbHlwaGljb24tYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5NFwiO1xufVxuLmdseXBoaWNvbi1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTVcIjtcbn1cbi5nbHlwaGljb24tcmVzaXplLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTZcIjtcbn1cbi5nbHlwaGljb24tcmVzaXplLXNtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk3XCI7XG59XG4uZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDFcIjtcbn1cbi5nbHlwaGljb24tZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwMlwiO1xufVxuLmdseXBoaWNvbi1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTAzXCI7XG59XG4uZ2x5cGhpY29uLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDRcIjtcbn1cbi5nbHlwaGljb24tZXllLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDVcIjtcbn1cbi5nbHlwaGljb24tZXllLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTA2XCI7XG59XG4uZ2x5cGhpY29uLXdhcm5pbmctc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwN1wiO1xufVxuLmdseXBoaWNvbi1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwOFwiO1xufVxuLmdseXBoaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwOVwiO1xufVxuLmdseXBoaWNvbi1yYW5kb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTBcIjtcbn1cbi5nbHlwaGljb24tY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExMVwiO1xufVxuLmdseXBoaWNvbi1tYWduZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTJcIjtcbn1cbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExM1wiO1xufVxuLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTRcIjtcbn1cbi5nbHlwaGljb24tcmV0d2VldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExNVwiO1xufVxuLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTE2XCI7XG59XG4uZ2x5cGhpY29uLWZvbGRlci1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExN1wiO1xufVxuLmdseXBoaWNvbi1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExOFwiO1xufVxuLmdseXBoaWNvbi1yZXNpemUtdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTlcIjtcbn1cbi5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjBcIjtcbn1cbi5nbHlwaGljb24taGRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTIxXCI7XG59XG4uZ2x5cGhpY29uLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTIyXCI7XG59XG4uZ2x5cGhpY29uLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjNcIjtcbn1cbi5nbHlwaGljb24tY2VydGlmaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjRcIjtcbn1cbi5nbHlwaGljb24tdGh1bWJzLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI1XCI7XG59XG4uZ2x5cGhpY29uLXRodW1icy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI2XCI7XG59XG4uZ2x5cGhpY29uLWhhbmQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjdcIjtcbn1cbi5nbHlwaGljb24taGFuZC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI4XCI7XG59XG4uZ2x5cGhpY29uLWhhbmQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjlcIjtcbn1cbi5nbHlwaGljb24taGFuZC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTMwXCI7XG59XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzMVwiO1xufVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzMlwiO1xufVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzNcIjtcbn1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzRcIjtcbn1cbi5nbHlwaGljb24tZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzVcIjtcbn1cbi5nbHlwaGljb24td3JlbmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM2XCI7XG59XG4uZ2x5cGhpY29uLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM3XCI7XG59XG4uZ2x5cGhpY29uLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzOFwiO1xufVxuLmdseXBoaWNvbi1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzlcIjtcbn1cbi5nbHlwaGljb24tZnVsbHNjcmVlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0MFwiO1xufVxuLmdseXBoaWNvbi1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDFcIjtcbn1cbi5nbHlwaGljb24tcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQyXCI7XG59XG4uZ2x5cGhpY29uLWhlYXJ0LWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQzXCI7XG59XG4uZ2x5cGhpY29uLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDRcIjtcbn1cbi5nbHlwaGljb24tcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDVcIjtcbn1cbi5nbHlwaGljb24tcHVzaHBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0NlwiO1xufVxuLmdseXBoaWNvbi11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDhcIjtcbn1cbi5nbHlwaGljb24tZ2JwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQ5XCI7XG59XG4uZ2x5cGhpY29uLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTBcIjtcbn1cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1MVwiO1xufVxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1MlwiO1xufVxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTUzXCI7XG59XG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU0XCI7XG59XG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1NVwiO1xufVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU2XCI7XG59XG4uZ2x5cGhpY29uLXVuY2hlY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1N1wiO1xufVxuLmdseXBoaWNvbi1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNThcIjtcbn1cbi5nbHlwaGljb24tY29sbGFwc2UtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1OVwiO1xufVxuLmdseXBoaWNvbi1jb2xsYXBzZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2MFwiO1xufVxuLmdseXBoaWNvbi1sb2ctaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjFcIjtcbn1cbi5nbHlwaGljb24tZmxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjJcIjtcbn1cbi5nbHlwaGljb24tbG9nLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2M1wiO1xufVxuLmdseXBoaWNvbi1uZXctd2luZG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY0XCI7XG59XG4uZ2x5cGhpY29uLXJlY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2NVwiO1xufVxuLmdseXBoaWNvbi1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY2XCI7XG59XG4uZ2x5cGhpY29uLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjdcIjtcbn1cbi5nbHlwaGljb24tc2F2ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjhcIjtcbn1cbi5nbHlwaGljb24taW1wb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY5XCI7XG59XG4uZ2x5cGhpY29uLWV4cG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3MFwiO1xufVxuLmdseXBoaWNvbi1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTcxXCI7XG59XG4uZ2x5cGhpY29uLWZsb3BweS1kaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTcyXCI7XG59XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3M1wiO1xufVxuLmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc0XCI7XG59XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc1XCI7XG59XG4uZ2x5cGhpY29uLWZsb3BweS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc2XCI7XG59XG4uZ2x5cGhpY29uLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc3XCI7XG59XG4uZ2x5cGhpY29uLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc4XCI7XG59XG4uZ2x5cGhpY29uLWN1dGxlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzlcIjtcbn1cbi5nbHlwaGljb24taGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTgwXCI7XG59XG4uZ2x5cGhpY29uLWNvbXByZXNzZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODFcIjtcbn1cbi5nbHlwaGljb24tZWFycGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODJcIjtcbn1cbi5nbHlwaGljb24tcGhvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTgzXCI7XG59XG4uZ2x5cGhpY29uLXRvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg0XCI7XG59XG4uZ2x5cGhpY29uLXN0YXRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg1XCI7XG59XG4uZ2x5cGhpY29uLXNkLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg2XCI7XG59XG4uZ2x5cGhpY29uLWhkLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg3XCI7XG59XG4uZ2x5cGhpY29uLXN1YnRpdGxlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4OFwiO1xufVxuLmdseXBoaWNvbi1zb3VuZC1zdGVyZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODlcIjtcbn1cbi5nbHlwaGljb24tc291bmQtZG9sYnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTBcIjtcbn1cbi5nbHlwaGljb24tc291bmQtNS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTkxXCI7XG59XG4uZ2x5cGhpY29uLXNvdW5kLTYtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5MlwiO1xufVxuLmdseXBoaWNvbi1zb3VuZC03LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTNcIjtcbn1cbi5nbHlwaGljb24tY29weXJpZ2h0LW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTRcIjtcbn1cbi5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTVcIjtcbn1cbi5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTdcIjtcbn1cbi5nbHlwaGljb24tY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTk4XCI7XG59XG4uZ2x5cGhpY29uLXRyZWUtY29uaWZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5OVwiO1xufVxuLmdseXBoaWNvbi10cmVlLWRlY2lkdW91czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwMFwiO1xufVxuLmdseXBoaWNvbi1jZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwMVwiO1xufVxuLmdseXBoaWNvbi1zYXZlLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDJcIjtcbn1cbi5nbHlwaGljb24tb3Blbi1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjAzXCI7XG59XG4uZ2x5cGhpY29uLWxldmVsLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjA0XCI7XG59XG4uZ2x5cGhpY29uLWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDVcIjtcbn1cbi5nbHlwaGljb24tcGFzdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDZcIjtcbn1cbi5nbHlwaGljb24tYWxlcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDlcIjtcbn1cbi5nbHlwaGljb24tZXF1YWxpemVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjEwXCI7XG59XG4uZ2x5cGhpY29uLWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTFcIjtcbn1cbi5nbHlwaGljb24tcXVlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTJcIjtcbn1cbi5nbHlwaGljb24tcGF3bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxM1wiO1xufVxuLmdseXBoaWNvbi1iaXNob3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTRcIjtcbn1cbi5nbHlwaGljb24ta25pZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE1XCI7XG59XG4uZ2x5cGhpY29uLWJhYnktZm9ybXVsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxNlwiO1xufVxuLmdseXBoaWNvbi10ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNmZhXCI7XG59XG4uZ2x5cGhpY29uLWJsYWNrYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMThcIjtcbn1cbi5nbHlwaGljb24tYmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE5XCI7XG59XG4uZ2x5cGhpY29uLWFwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGZmXCI7XG59XG4uZ2x5cGhpY29uLWVyYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjIxXCI7XG59XG4uZ2x5cGhpY29uLWhvdXJnbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjMxYlwiO1xufVxuLmdseXBoaWNvbi1sYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjIzXCI7XG59XG4uZ2x5cGhpY29uLWR1cGxpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyNFwiO1xufVxuLmdseXBoaWNvbi1waWdneS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI1XCI7XG59XG4uZ2x5cGhpY29uLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI2XCI7XG59XG4uZ2x5cGhpY29uLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjdcIjtcbn1cbi5nbHlwaGljb24tYnRjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI3XCI7XG59XG4uZ2x5cGhpY29uLXhidDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyN1wiO1xufVxuLmdseXBoaWNvbi15ZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwYTVcIjtcbn1cbi5nbHlwaGljb24tanB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMGE1XCI7XG59XG4uZ2x5cGhpY29uLXJ1YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMGJkXCI7XG59XG4uZ2x5cGhpY29uLXJ1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjBiZFwiO1xufVxuLmdseXBoaWNvbi1zY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzMFwiO1xufVxuLmdseXBoaWNvbi1pY2UtbG9sbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzFcIjtcbn1cbi5nbHlwaGljb24taWNlLWxvbGx5LXRhc3RlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzMlwiO1xufVxuLmdseXBoaWNvbi1lZHVjYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzNcIjtcbn1cbi5nbHlwaGljb24tb3B0aW9uLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzRcIjtcbn1cbi5nbHlwaGljb24tb3B0aW9uLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM1XCI7XG59XG4uZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM2XCI7XG59XG4uZ2x5cGhpY29uLW1vZGFsLXdpbmRvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzN1wiO1xufVxuLmdseXBoaWNvbi1vaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzhcIjtcbn1cbi5nbHlwaGljb24tZ3JhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzlcIjtcbn1cbi5nbHlwaGljb24tc3VuZ2xhc3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0MFwiO1xufVxuLmdseXBoaWNvbi10ZXh0LXNpemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDFcIjtcbn1cbi5nbHlwaGljb24tdGV4dC1jb2xvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0MlwiO1xufVxuLmdseXBoaWNvbi10ZXh0LWJhY2tncm91bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDNcIjtcbn1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0NFwiO1xufVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ1XCI7XG59XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ2XCI7XG59XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ3XCI7XG59XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0OFwiO1xufVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDlcIjtcbn1cbi5nbHlwaGljb24tdHJpYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTBcIjtcbn1cbi5nbHlwaGljb24tdHJpYW5nbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1MVwiO1xufVxuLmdseXBoaWNvbi10cmlhbmdsZS1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTJcIjtcbn1cbi5nbHlwaGljb24tdHJpYW5nbGUtdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjUzXCI7XG59XG4uZ2x5cGhpY29uLWNvbnNvbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTRcIjtcbn1cbi5nbHlwaGljb24tc3VwZXJzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTVcIjtcbn1cbi5nbHlwaGljb24tc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU2XCI7XG59XG4uZ2x5cGhpY29uLW1lbnUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1N1wiO1xufVxuLmdseXBoaWNvbi1tZW51LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU4XCI7XG59XG4uZ2x5cGhpY29uLW1lbnUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1OVwiO1xufVxuLmdseXBoaWNvbi1tZW51LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjYwXCI7XG59XG4qIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbmEge1xuICBjb2xvcjogIzAwZTVmMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlcixcbmE6Zm9jdXMge1xuICBjb2xvcjogIzAwOWNhMztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5hOmZvY3VzIHtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uaW1nLXJlc3BvbnNpdmUsXG4udGh1bWJuYWlsID4gaW1nLFxuLnRodW1ibmFpbCBhID4gaW1nLFxuLmNhcm91c2VsLWlubmVyID4gLml0ZW0gPiBpbWcsXG4uY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGEgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IDRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5ociB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7XG59XG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSxcbi5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbmgxIHNtYWxsLFxuaDIgc21hbGwsXG5oMyBzbWFsbCxcbmg0IHNtYWxsLFxuaDUgc21hbGwsXG5oNiBzbWFsbCxcbi5oMSBzbWFsbCxcbi5oMiBzbWFsbCxcbi5oMyBzbWFsbCxcbi5oNCBzbWFsbCxcbi5oNSBzbWFsbCxcbi5oNiBzbWFsbCxcbmgxIC5zbWFsbCxcbmgyIC5zbWFsbCxcbmgzIC5zbWFsbCxcbmg0IC5zbWFsbCxcbmg1IC5zbWFsbCxcbmg2IC5zbWFsbCxcbi5oMSAuc21hbGwsXG4uaDIgLnNtYWxsLFxuLmgzIC5zbWFsbCxcbi5oNCAuc21hbGwsXG4uaDUgLnNtYWxsLFxuLmg2IC5zbWFsbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzc3Nzc3Nztcbn1cbmgxLFxuLmgxLFxuaDIsXG4uaDIsXG5oMyxcbi5oMyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5oMSBzbWFsbCxcbi5oMSBzbWFsbCxcbmgyIHNtYWxsLFxuLmgyIHNtYWxsLFxuaDMgc21hbGwsXG4uaDMgc21hbGwsXG5oMSAuc21hbGwsXG4uaDEgLnNtYWxsLFxuaDIgLnNtYWxsLFxuLmgyIC5zbWFsbCxcbmgzIC5zbWFsbCxcbi5oMyAuc21hbGwge1xuICBmb250LXNpemU6IDY1JTtcbn1cbmg0LFxuLmg0LFxuaDUsXG4uaDUsXG5oNixcbi5oNiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5oNCBzbWFsbCxcbi5oNCBzbWFsbCxcbmg1IHNtYWxsLFxuLmg1IHNtYWxsLFxuaDYgc21hbGwsXG4uaDYgc21hbGwsXG5oNCAuc21hbGwsXG4uaDQgLnNtYWxsLFxuaDUgLnNtYWxsLFxuLmg1IC5zbWFsbCxcbmg2IC5zbWFsbCxcbi5oNiAuc21hbGwge1xuICBmb250LXNpemU6IDc1JTtcbn1cbmgxLFxuLmgxIHtcbiAgZm9udC1zaXplOiAzNnB4O1xufVxuaDIsXG4uaDIge1xuICBmb250LXNpemU6IDMwcHg7XG59XG5oMyxcbi5oMyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cbmg0LFxuLmg0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuaDUsXG4uaDUge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5oNixcbi5oNiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbnAge1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxufVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDg1JTtcbn1cbm1hcmssXG4ubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG4gIHBhZGRpbmc6IC4yZW07XG59XG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cbi50ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG59XG4udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMGU1ZjA7XG59XG5hLnRleHQtcHJpbWFyeTpob3ZlcixcbmEudGV4dC1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICMwMGI0YmQ7XG59XG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG59XG5hLnRleHQtc3VjY2Vzczpob3ZlcixcbmEudGV4dC1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICMyYjU0MmM7XG59XG4udGV4dC1pbmZvIHtcbiAgY29sb3I6ICMzMTcwOGY7XG59XG5hLnRleHQtaW5mbzpob3ZlcixcbmEudGV4dC1pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICMyNDUyNjk7XG59XG4udGV4dC13YXJuaW5nIHtcbiAgY29sb3I6ICM4YTZkM2I7XG59XG5hLnRleHQtd2FybmluZzpob3ZlcixcbmEudGV4dC13YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6ICM2NjUxMmM7XG59XG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbmEudGV4dC1kYW5nZXI6aG92ZXIsXG5hLnRleHQtZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICM4NDM1MzQ7XG59XG4uYmctcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xufVxuYS5iZy1wcmltYXJ5OmhvdmVyLFxuYS5iZy1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbn1cbi5iZy1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbn1cbmEuYmctc3VjY2Vzczpob3ZlcixcbmEuYmctc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMWUyYjM7XG59XG4uYmctaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7XG59XG5hLmJnLWluZm86aG92ZXIsXG5hLmJnLWluZm86Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZkOWVlO1xufVxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xufVxuYS5iZy13YXJuaW5nOmhvdmVyLFxuYS5iZy13YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZWNiNTtcbn1cbi5iZy1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlO1xufVxuYS5iZy1kYW5nZXI6aG92ZXIsXG5hLmJnLWRhbmdlcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGI5Yjk7XG59XG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogOXB4O1xuICBtYXJnaW46IDQwcHggMCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbn1cbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxudWwgdWwsXG5vbCB1bCxcbnVsIG9sLFxub2wgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubGlzdC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xufVxuLmxpc3QtaW5saW5lID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5kdCxcbmRkIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGwtaG9yaXpvbnRhbCBkdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAuZGwtaG9yaXpvbnRhbCBkZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4MHB4O1xuICB9XG59XG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzc3Nzc3Nztcbn1cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IDE3LjVweDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZWVlZWVlO1xufVxuYmxvY2txdW90ZSBwOmxhc3QtY2hpbGQsXG5ibG9ja3F1b3RlIHVsOmxhc3QtY2hpbGQsXG5ibG9ja3F1b3RlIG9sOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuYmxvY2txdW90ZSBmb290ZXIsXG5ibG9ja3F1b3RlIHNtYWxsLFxuYmxvY2txdW90ZSAuc21hbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzc3Nzc3Nztcbn1cbmJsb2NrcXVvdGUgZm9vdGVyOmJlZm9yZSxcbmJsb2NrcXVvdGUgc21hbGw6YmVmb3JlLFxuYmxvY2txdW90ZSAuc21hbGw6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnO1xufVxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgI2VlZWVlZTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YmVmb3JlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjpiZWZvcmUsXG4uYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmJlZm9yZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDpiZWZvcmUsXG4uYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDpiZWZvcmUsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xufVxuLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YWZ0ZXIsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmFmdGVyLFxuLmJsb2NrcXVvdGUtcmV2ZXJzZSBzbWFsbDphZnRlcixcbmJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDphZnRlcixcbi5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmFmdGVyLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwQTAgXFwyMDE0Jztcbn1cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xufVxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xufVxuY29kZSB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogI2M3MjU0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjJmNDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxua2JkIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG5rYmQga2JkIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA5LjVweDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5wcmUgY29kZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAzNDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogNzUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTcwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDExNzBweDtcbiAgfVxufVxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbi5yb3cge1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG59XG4uY29sLXhzLTEsIC5jb2wtc20tMSwgLmNvbC1tZC0xLCAuY29sLWxnLTEsIC5jb2wteHMtMiwgLmNvbC1zbS0yLCAuY29sLW1kLTIsIC5jb2wtbGctMiwgLmNvbC14cy0zLCAuY29sLXNtLTMsIC5jb2wtbWQtMywgLmNvbC1sZy0zLCAuY29sLXhzLTQsIC5jb2wtc20tNCwgLmNvbC1tZC00LCAuY29sLWxnLTQsIC5jb2wteHMtNSwgLmNvbC1zbS01LCAuY29sLW1kLTUsIC5jb2wtbGctNSwgLmNvbC14cy02LCAuY29sLXNtLTYsIC5jb2wtbWQtNiwgLmNvbC1sZy02LCAuY29sLXhzLTcsIC5jb2wtc20tNywgLmNvbC1tZC03LCAuY29sLWxnLTcsIC5jb2wteHMtOCwgLmNvbC1zbS04LCAuY29sLW1kLTgsIC5jb2wtbGctOCwgLmNvbC14cy05LCAuY29sLXNtLTksIC5jb2wtbWQtOSwgLmNvbC1sZy05LCAuY29sLXhzLTEwLCAuY29sLXNtLTEwLCAuY29sLW1kLTEwLCAuY29sLWxnLTEwLCAuY29sLXhzLTExLCAuY29sLXNtLTExLCAuY29sLW1kLTExLCAuY29sLWxnLTExLCAuY29sLXhzLTEyLCAuY29sLXNtLTEyLCAuY29sLW1kLTEyLCAuY29sLWxnLTEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbi5jb2wteHMtMSwgLmNvbC14cy0yLCAuY29sLXhzLTMsIC5jb2wteHMtNCwgLmNvbC14cy01LCAuY29sLXhzLTYsIC5jb2wteHMtNywgLmNvbC14cy04LCAuY29sLXhzLTksIC5jb2wteHMtMTAsIC5jb2wteHMtMTEsIC5jb2wteHMtMTIge1xuICBmbG9hdDogbGVmdDtcbn1cbi5jb2wteHMtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5jb2wteHMtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjclO1xufVxuLmNvbC14cy0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMyU7XG59XG4uY29sLXhzLTkge1xuICB3aWR0aDogNzUlO1xufVxuLmNvbC14cy04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG59XG4uY29sLXhzLTYge1xuICB3aWR0aDogNTAlO1xufVxuLmNvbC14cy01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4uY29sLXhzLTMge1xuICB3aWR0aDogMjUlO1xufVxuLmNvbC14cy0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzJTtcbn1cbi5jb2wteHMtcHVsbC0xMiB7XG4gIHJpZ2h0OiAxMDAlO1xufVxuLmNvbC14cy1wdWxsLTExIHtcbiAgcmlnaHQ6IDkxLjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtcHVsbC0xMCB7XG4gIHJpZ2h0OiA4My4zMzMzMzMzMyU7XG59XG4uY29sLXhzLXB1bGwtOSB7XG4gIHJpZ2h0OiA3NSU7XG59XG4uY29sLXhzLXB1bGwtOCB7XG4gIHJpZ2h0OiA2Ni42NjY2NjY2NyU7XG59XG4uY29sLXhzLXB1bGwtNyB7XG4gIHJpZ2h0OiA1OC4zMzMzMzMzMyU7XG59XG4uY29sLXhzLXB1bGwtNiB7XG4gIHJpZ2h0OiA1MCU7XG59XG4uY29sLXhzLXB1bGwtNSB7XG4gIHJpZ2h0OiA0MS42NjY2NjY2NyU7XG59XG4uY29sLXhzLXB1bGwtNCB7XG4gIHJpZ2h0OiAzMy4zMzMzMzMzMyU7XG59XG4uY29sLXhzLXB1bGwtMyB7XG4gIHJpZ2h0OiAyNSU7XG59XG4uY29sLXhzLXB1bGwtMiB7XG4gIHJpZ2h0OiAxNi42NjY2NjY2NyU7XG59XG4uY29sLXhzLXB1bGwtMSB7XG4gIHJpZ2h0OiA4LjMzMzMzMzMzJTtcbn1cbi5jb2wteHMtcHVsbC0wIHtcbiAgcmlnaHQ6IGF1dG87XG59XG4uY29sLXhzLXB1c2gtMTIge1xuICBsZWZ0OiAxMDAlO1xufVxuLmNvbC14cy1wdXNoLTExIHtcbiAgbGVmdDogOTEuNjY2NjY2NjclO1xufVxuLmNvbC14cy1wdXNoLTEwIHtcbiAgbGVmdDogODMuMzMzMzMzMzMlO1xufVxuLmNvbC14cy1wdXNoLTkge1xuICBsZWZ0OiA3NSU7XG59XG4uY29sLXhzLXB1c2gtOCB7XG4gIGxlZnQ6IDY2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtcHVzaC03IHtcbiAgbGVmdDogNTguMzMzMzMzMzMlO1xufVxuLmNvbC14cy1wdXNoLTYge1xuICBsZWZ0OiA1MCU7XG59XG4uY29sLXhzLXB1c2gtNSB7XG4gIGxlZnQ6IDQxLjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtcHVzaC00IHtcbiAgbGVmdDogMzMuMzMzMzMzMzMlO1xufVxuLmNvbC14cy1wdXNoLTMge1xuICBsZWZ0OiAyNSU7XG59XG4uY29sLXhzLXB1c2gtMiB7XG4gIGxlZnQ6IDE2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtcHVzaC0xIHtcbiAgbGVmdDogOC4zMzMzMzMzMyU7XG59XG4uY29sLXhzLXB1c2gtMCB7XG4gIGxlZnQ6IGF1dG87XG59XG4uY29sLXhzLW9mZnNldC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDAlO1xufVxuLmNvbC14cy1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xufVxuLmNvbC14cy1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xufVxuLmNvbC14cy1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG4uY29sLXhzLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xufVxuLmNvbC14cy1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG4uY29sLXhzLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xufVxuLmNvbC14cy1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG4uY29sLXhzLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbn1cbi5jb2wteHMtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG59XG4uY29sLXhzLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtc20tMSwgLmNvbC1zbS0yLCAuY29sLXNtLTMsIC5jb2wtc20tNCwgLmNvbC1zbS01LCAuY29sLXNtLTYsIC5jb2wtc20tNywgLmNvbC1zbS04LCAuY29sLXNtLTksIC5jb2wtc20tMTAsIC5jb2wtc20tMTEsIC5jb2wtc20tMTIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtc20tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtc20tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1zbS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1zbS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1zbS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0wIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuY29sLXNtLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTkge1xuICAgIGxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuY29sLXNtLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sLW1kLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbWQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbWQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtbWQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTEyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0zIHtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtbGctMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbGctMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1sZy04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1sZy01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1sZy0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0wIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuY29sLWxnLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTkge1xuICAgIGxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLWxnLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuY29sLWxnLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbn1cbnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgcGFkZGluZzogOHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG59XG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDtcbn1cbi50YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4udGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi50YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4udGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbi50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4udGFibGUgPiB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZGQ7XG59XG4udGFibGUgLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGgsXG4udGFibGUtY29uZGVuc2VkID4gdGJvZHkgPiB0ciA+IHRoLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0aCxcbi50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGQsXG4udGFibGUtY29uZGVuc2VkID4gdGJvZHkgPiB0ciA+IHRkLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG59XG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsXG4udGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGgsXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsXG4udGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xufVxuLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoLFxuLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xufVxuLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xufVxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG50YWJsZSBjb2xbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB0ZFtjbGFzcyo9XCJjb2wtXCJdLFxudGFibGUgdGhbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmFjdGl2ZSxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5hY3RpdmUsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuYWN0aXZlLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmFjdGl2ZSxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5hY3RpdmUsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguYWN0aXZlLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGQsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRkLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGgsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5hY3RpdmU6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguYWN0aXZlOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5hY3RpdmU6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuYWN0aXZlLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5hY3RpdmU6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7XG59XG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuc3VjY2Vzcyxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLnN1Y2Nlc3MsXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGguc3VjY2Vzcyxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5zdWNjZXNzLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLnN1Y2Nlc3MsXG4udGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4O1xufVxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLnN1Y2Nlc3M6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguc3VjY2Vzczpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5zdWNjZXNzLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5zdWNjZXNzOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlOWM2O1xufVxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmluZm8sXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGQuaW5mbyxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5pbmZvLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmluZm8sXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGguaW5mbyxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5pbmZvLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGQsXG4udGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0ZCxcbi50YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRkLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGgsXG4udGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0aCxcbi50YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNztcbn1cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5pbmZvOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmluZm86aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuaW5mbyxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuaW5mbzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMztcbn1cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC53YXJuaW5nLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLndhcm5pbmcsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQud2FybmluZyxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC53YXJuaW5nLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmcsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGgud2FybmluZyxcbi50YWJsZSA+IHRoZWFkID4gdHIud2FybmluZyA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGQsXG4udGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0ZCxcbi50YWJsZSA+IHRoZWFkID4gdHIud2FybmluZyA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGgsXG4udGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG59XG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQud2FybmluZzpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC53YXJuaW5nOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci53YXJuaW5nOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gLndhcm5pbmcsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLndhcm5pbmc6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWYyY2M7XG59XG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuZGFuZ2VyLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcixcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5kYW5nZXIsXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGguZGFuZ2VyLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmRhbmdlcixcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5kYW5nZXIsXG4udGFibGUgPiB0aGVhZCA+IHRyLmRhbmdlciA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0ZCxcbi50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLmRhbmdlciA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0aCxcbi50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlO1xufVxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcjpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5kYW5nZXI6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmRhbmdlcjpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5kYW5nZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmRhbmdlcjpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYztcbn1cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWluLWhlaWdodDogMC4wMSU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQ6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4gIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgY29sb3I6ICM1NTU1NTU7XG59XG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzU1NTU1NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG59XG4uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjZhZmU5O1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgMC42KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgxMDIsIDE3NSwgMjMzLCAwLjYpO1xufVxuLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5O1xuICBvcGFjaXR5OiAxO1xufVxuLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbn1cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbn1cbi5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmZvcm0tY29udHJvbFtkaXNhYmxlZF0sXG4uZm9ybS1jb250cm9sW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgb3BhY2l0eTogMTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0uZm9ybS1jb250cm9sLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5mb3JtLWNvbnRyb2wsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5mb3JtLWNvbnRyb2wsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXS5mb3JtLWNvbnRyb2wge1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB9XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LXNtLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5pbnB1dC1zbSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LXNtLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtc20sXG4gIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgLmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5pbnB1dC1sZyxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtbGcsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pbnB1dC1sZyxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLmlucHV0LWxnLFxuICAuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gIH1cbn1cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ucmFkaW8gbGFiZWwsXG4uY2hlY2tib3ggbGFiZWwge1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5O1xufVxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn1cbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuaW5wdXRbdHlwZT1cInJhZGlvXCJdW2Rpc2FibGVkXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtkaXNhYmxlZF0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0uZGlzYWJsZWQsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucmFkaW8taW5saW5lLmRpc2FibGVkLFxuLmNoZWNrYm94LWlubGluZS5kaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8taW5saW5lLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveC1pbmxpbmUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnJhZGlvLmRpc2FibGVkIGxhYmVsLFxuLmNoZWNrYm94LmRpc2FibGVkIGxhYmVsLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3ggbGFiZWwge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAzNHB4O1xufVxuLmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtbGcsXG4uZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1zbSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5pbnB1dC1zbSB7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuc2VsZWN0LmlucHV0LXNtIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cbnRleHRhcmVhLmlucHV0LXNtLFxuc2VsZWN0W211bHRpcGxlXS5pbnB1dC1zbSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5mb3JtLWdyb3VwLXNtIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuLmZvcm0tZ3JvdXAtc20gdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuLmZvcm0tZ3JvdXAtc20gc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIGhlaWdodDogMzBweDtcbiAgbWluLWhlaWdodDogMzJweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5pbnB1dC1sZyB7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbnNlbGVjdC5pbnB1dC1sZyB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG50ZXh0YXJlYS5pbnB1dC1sZyxcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtbGcge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuLmZvcm0tZ3JvdXAtbGcgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG4uZm9ybS1ncm91cC1sZyB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4uZm9ybS1ncm91cC1sZyBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBtaW4taGVpZ2h0OiAzOHB4O1xuICBwYWRkaW5nOiAxMXB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbn1cbi5oYXMtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wge1xuICBwYWRkaW5nLXJpZ2h0OiA0Mi41cHg7XG59XG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG4uaGFzLXN1Y2Nlc3MgLmhlbHAtYmxvY2ssXG4uaGFzLXN1Y2Nlc3MgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLnJhZGlvLFxuLmhhcy1zdWNjZXNzIC5jaGVja2JveCxcbi5oYXMtc3VjY2VzcyAucmFkaW8taW5saW5lLFxuLmhhcy1zdWNjZXNzIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLXN1Y2Nlc3MucmFkaW8gbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXN1Y2Nlc3MucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmNoZWNrYm94LWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjM2M3NjNkO1xufVxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICMzYzc2M2Q7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzJiNTQyYztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggIzY3YjE2ODtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICM2N2IxNjg7XG59XG4uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG4gIGJvcmRlci1jb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbn1cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG59XG4uaGFzLXdhcm5pbmcgLmhlbHAtYmxvY2ssXG4uaGFzLXdhcm5pbmcgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLXdhcm5pbmcgLnJhZGlvLFxuLmhhcy13YXJuaW5nIC5jaGVja2JveCxcbi5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLFxuLmhhcy13YXJuaW5nIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLXdhcm5pbmcucmFkaW8gbGFiZWwsXG4uaGFzLXdhcm5pbmcuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXdhcm5pbmcucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nLmNoZWNrYm94LWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjOGE2ZDNiO1xufVxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICM4YTZkM2I7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY2NTEyYztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggI2MwYTE2YjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICNjMGExNmI7XG59XG4uaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICM4YTZkM2I7XG4gIGJvcmRlci1jb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbn1cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICM4YTZkM2I7XG59XG4uaGFzLWVycm9yIC5oZWxwLWJsb2NrLFxuLmhhcy1lcnJvciAuY29udHJvbC1sYWJlbCxcbi5oYXMtZXJyb3IgLnJhZGlvLFxuLmhhcy1lcnJvciAuY2hlY2tib3gsXG4uaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsXG4uaGFzLWVycm9yIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLWVycm9yLnJhZGlvIGxhYmVsLFxuLmhhcy1lcnJvci5jaGVja2JveCBsYWJlbCxcbi5oYXMtZXJyb3IucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1lcnJvci5jaGVja2JveC1pbmxpbmUgbGFiZWwge1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2E5NDQ0MjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzg0MzUzNDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggI2NlODQ4MztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICNjZTg0ODM7XG59XG4uaGFzLWVycm9yIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjYTk0NDQyO1xuICBib3JkZXItY29sb3I6ICNhOTQ0NDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7XG59XG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbi5oYXMtZmVlZGJhY2sgbGFiZWwgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgdG9wOiAyNXB4O1xufVxuLmhhcy1mZWVkYmFjayBsYWJlbC5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHRvcDogMDtcbn1cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICM3MzczNzM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuLFxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmNvbnRyb2wtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLnJhZGlvLFxuICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5yYWRpbyBsYWJlbCxcbiAgLmZvcm0taW5saW5lIC5jaGVja2JveCBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHRvcDogMDtcbiAgfVxufVxuLmZvcm0taG9yaXpvbnRhbCAucmFkaW8sXG4uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCxcbi5mb3JtLWhvcml6b250YWwgLnJhZGlvLWlubGluZSxcbi5mb3JtLWhvcml6b250YWwgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG59XG4uZm9ybS1ob3Jpem9udGFsIC5yYWRpbyxcbi5mb3JtLWhvcml6b250YWwgLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogMjdweDtcbn1cbi5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogN3B4O1xuICB9XG59XG4uZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHJpZ2h0OiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtbGcgLmNvbnRyb2wtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiAxMXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtc20gLmNvbnRyb2wtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmJ0bjpmb2N1cyxcbi5idG46YWN0aXZlOmZvY3VzLFxuLmJ0bi5hY3RpdmU6Zm9jdXMsXG4uYnRuLmZvY3VzLFxuLmJ0bjphY3RpdmUuZm9jdXMsXG4uYnRuLmFjdGl2ZS5mb2N1cyB7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4uYnRuOmhvdmVyLFxuLmJ0bjpmb2N1cyxcbi5idG4uZm9jdXMge1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bjphY3RpdmUsXG4uYnRuLmFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG4uYnRuLmRpc2FibGVkLFxuLmJ0bltkaXNhYmxlZF0sXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0biB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYnRuLWRlZmF1bHQge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjO1xufVxuLmJ0bi1kZWZhdWx0OmZvY3VzLFxuLmJ0bi1kZWZhdWx0LmZvY3VzIHtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGJvcmRlci1jb2xvcjogIzhjOGM4Yztcbn1cbi5idG4tZGVmYXVsdDpob3ZlciB7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXItY29sb3I6ICNhZGFkYWQ7XG59XG4uYnRuLWRlZmF1bHQ6YWN0aXZlLFxuLmJ0bi1kZWZhdWx0LmFjdGl2ZSxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdCB7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXItY29sb3I6ICNhZGFkYWQ7XG59XG4uYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLFxuLmJ0bi1kZWZhdWx0LmFjdGl2ZTpob3Zlcixcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdDpob3Zlcixcbi5idG4tZGVmYXVsdDphY3RpdmU6Zm9jdXMsXG4uYnRuLWRlZmF1bHQuYWN0aXZlOmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmZvY3VzLFxuLmJ0bi1kZWZhdWx0OmFjdGl2ZS5mb2N1cyxcbi5idG4tZGVmYXVsdC5hY3RpdmUuZm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuZm9jdXMge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDtcbiAgYm9yZGVyLWNvbG9yOiAjOGM4YzhjO1xufVxuLmJ0bi1kZWZhdWx0OmFjdGl2ZSxcbi5idG4tZGVmYXVsdC5hY3RpdmUsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmhvdmVyLFxuLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6aG92ZXIsXG4uYnRuLWRlZmF1bHQuZGlzYWJsZWQ6Zm9jdXMsXG4uYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cyxcbi5idG4tZGVmYXVsdC5kaXNhYmxlZC5mb2N1cyxcbi5idG4tZGVmYXVsdFtkaXNhYmxlZF0uZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjO1xufVxuLmJ0bi1kZWZhdWx0IC5iYWRnZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwY2RkNztcbn1cbi5idG4tcHJpbWFyeTpmb2N1cyxcbi5idG4tcHJpbWFyeS5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGJkO1xuICBib3JkZXItY29sb3I6ICMwMDUzNTc7XG59XG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Mjk5O1xufVxuLmJ0bi1wcmltYXJ5OmFjdGl2ZSxcbi5idG4tcHJpbWFyeS5hY3RpdmUsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Mjk5O1xufVxuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpob3Zlcixcbi5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnk6aG92ZXIsXG4uYnRuLXByaW1hcnk6YWN0aXZlOmZvY3VzLFxuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeTpmb2N1cyxcbi5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsXG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDkyOTk7XG4gIGJvcmRlci1jb2xvcjogIzAwNTM1Nztcbn1cbi5idG4tcHJpbWFyeTphY3RpdmUsXG4uYnRuLXByaW1hcnkuYWN0aXZlLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3Zlcixcbi5idG4tcHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmhvdmVyLFxuLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLFxuLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6Zm9jdXMsXG4uYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsXG4uYnRuLXByaW1hcnlbZGlzYWJsZWRdLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5mb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwY2RkNztcbn1cbi5idG4tcHJpbWFyeSAuYmFkZ2Uge1xuICBjb2xvcjogIzAwZTVmMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5idG4tc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xuICBib3JkZXItY29sb3I6ICMwMGNkZDc7XG59XG4uYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4uYnRuLXN1Y2Nlc3MuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA1MzU3O1xufVxuLmJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0YmQ7XG4gIGJvcmRlci1jb2xvcjogIzAwOTI5OTtcbn1cbi5idG4tc3VjY2VzczphY3RpdmUsXG4uYnRuLXN1Y2Nlc3MuYWN0aXZlLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0YmQ7XG4gIGJvcmRlci1jb2xvcjogIzAwOTI5OTtcbn1cbi5idG4tc3VjY2VzczphY3RpdmU6aG92ZXIsXG4uYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzOmhvdmVyLFxuLmJ0bi1zdWNjZXNzOmFjdGl2ZTpmb2N1cyxcbi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLFxuLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzcy5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Mjk5O1xuICBib3JkZXItY29sb3I6ICMwMDUzNTc7XG59XG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLFxuLmJ0bi1zdWNjZXNzLmFjdGl2ZSxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsXG4uYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpob3Zlcixcbi5idG4tc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cyxcbi5idG4tc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLFxuLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLFxuLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xuICBib3JkZXItY29sb3I6ICMwMGNkZDc7XG59XG4uYnRuLXN1Y2Nlc3MgLmJhZGdlIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uYnRuLWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBjZGQ3O1xufVxuLmJ0bi1pbmZvOmZvY3VzLFxuLmJ0bi1pbmZvLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0YmQ7XG4gIGJvcmRlci1jb2xvcjogIzAwNTM1Nztcbn1cbi5idG4taW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGJkO1xuICBib3JkZXItY29sb3I6ICMwMDkyOTk7XG59XG4uYnRuLWluZm86YWN0aXZlLFxuLmJ0bi1pbmZvLmFjdGl2ZSxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGJkO1xuICBib3JkZXItY29sb3I6ICMwMDkyOTk7XG59XG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLFxuLmJ0bi1pbmZvLmFjdGl2ZTpob3Zlcixcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbzpob3Zlcixcbi5idG4taW5mbzphY3RpdmU6Zm9jdXMsXG4uYnRuLWluZm8uYWN0aXZlOmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmZvY3VzLFxuLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cyxcbi5idG4taW5mby5hY3RpdmUuZm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8uZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTI5OTtcbiAgYm9yZGVyLWNvbG9yOiAjMDA1MzU3O1xufVxuLmJ0bi1pbmZvOmFjdGl2ZSxcbi5idG4taW5mby5hY3RpdmUsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLmJ0bi1pbmZvLmRpc2FibGVkOmhvdmVyLFxuLmJ0bi1pbmZvW2Rpc2FibGVkXTpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86aG92ZXIsXG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsXG4uYnRuLWluZm9bZGlzYWJsZWRdOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cyxcbi5idG4taW5mby5kaXNhYmxlZC5mb2N1cyxcbi5idG4taW5mb1tkaXNhYmxlZF0uZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvLmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBjZGQ3O1xufVxuLmJ0bi1pbmZvIC5iYWRnZSB7XG4gIGNvbG9yOiAjMDBlNWYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzdiZjA7XG4gIGJvcmRlci1jb2xvcjogIzg1NjRlZDtcbn1cbi5idG4td2FybmluZzpmb2N1cyxcbi5idG4td2FybmluZy5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM0ZGViO1xuICBib3JkZXItY29sb3I6ICMzZDE1YmQ7XG59XG4uYnRuLXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNGRlYjtcbiAgYm9yZGVyLWNvbG9yOiAjNWEyZGU3O1xufVxuLmJ0bi13YXJuaW5nOmFjdGl2ZSxcbi5idG4td2FybmluZy5hY3RpdmUsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmcge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNGRlYjtcbiAgYm9yZGVyLWNvbG9yOiAjNWEyZGU3O1xufVxuLmJ0bi13YXJuaW5nOmFjdGl2ZTpob3Zlcixcbi5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmc6aG92ZXIsXG4uYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLFxuLmJ0bi13YXJuaW5nLmFjdGl2ZTpmb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZzpmb2N1cyxcbi5idG4td2FybmluZzphY3RpdmUuZm9jdXMsXG4uYnRuLXdhcm5pbmcuYWN0aXZlLmZvY3VzLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YTJkZTc7XG4gIGJvcmRlci1jb2xvcjogIzNkMTViZDtcbn1cbi5idG4td2FybmluZzphY3RpdmUsXG4uYnRuLXdhcm5pbmcuYWN0aXZlLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5idG4td2FybmluZy5kaXNhYmxlZDpob3Zlcixcbi5idG4td2FybmluZ1tkaXNhYmxlZF06aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmhvdmVyLFxuLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLFxuLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6Zm9jdXMsXG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsXG4uYnRuLXdhcm5pbmdbZGlzYWJsZWRdLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5mb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzdiZjA7XG4gIGJvcmRlci1jb2xvcjogIzg1NjRlZDtcbn1cbi5idG4td2FybmluZyAuYmFkZ2Uge1xuICBjb2xvcjogIzk3N2JmMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5idG4tZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDFmNzQ7XG4gIGJvcmRlci1jb2xvcjogI2NhMWM2ODtcbn1cbi5idG4tZGFuZ2VyOmZvY3VzLFxuLmJ0bi1kYW5nZXIuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTk1ZDtcbiAgYm9yZGVyLWNvbG9yOiAjNWEwYzJlO1xufVxuLmJ0bi1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTk1ZDtcbiAgYm9yZGVyLWNvbG9yOiAjOTQxNDRkO1xufVxuLmJ0bi1kYW5nZXI6YWN0aXZlLFxuLmJ0bi1kYW5nZXIuYWN0aXZlLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTk1ZDtcbiAgYm9yZGVyLWNvbG9yOiAjOTQxNDRkO1xufVxuLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLFxuLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLFxuLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6aG92ZXIsXG4uYnRuLWRhbmdlcjphY3RpdmU6Zm9jdXMsXG4uYnRuLWRhbmdlci5hY3RpdmU6Zm9jdXMsXG4ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlcjpmb2N1cyxcbi5idG4tZGFuZ2VyOmFjdGl2ZS5mb2N1cyxcbi5idG4tZGFuZ2VyLmFjdGl2ZS5mb2N1cyxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NDE0NGQ7XG4gIGJvcmRlci1jb2xvcjogIzVhMGMyZTtcbn1cbi5idG4tZGFuZ2VyOmFjdGl2ZSxcbi5idG4tZGFuZ2VyLmFjdGl2ZSxcbi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5idG4tZGFuZ2VyLmRpc2FibGVkOmhvdmVyLFxuLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmhvdmVyLFxuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsXG4uYnRuLWRhbmdlcltkaXNhYmxlZF06Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsXG4uYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cyxcbi5idG4tZGFuZ2VyW2Rpc2FibGVkXS5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlci5mb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDFmNzQ7XG4gIGJvcmRlci1jb2xvcjogI2NhMWM2ODtcbn1cbi5idG4tZGFuZ2VyIC5iYWRnZSB7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWxpbmssXG4uYnRuLWxpbms6YWN0aXZlLFxuLmJ0bi1saW5rLmFjdGl2ZSxcbi5idG4tbGlua1tkaXNhYmxlZF0sXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG4tbGluayxcbi5idG4tbGluazpob3Zlcixcbi5idG4tbGluazpmb2N1cyxcbi5idG4tbGluazphY3RpdmUge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1saW5rOmhvdmVyLFxuLmJ0bi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICMwMDljYTM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmhvdmVyLFxuLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bi1sZyxcbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5idG4tc20sXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5idG4teHMsXG4uYnRuLWdyb3VwLXhzID4gLmJ0biB7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idG4tYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbn1cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xufVxuLmZhZGUuaW4ge1xuICBvcGFjaXR5OiAxO1xufVxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jb2xsYXBzZS5pbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxudHIuY29sbGFwc2UuaW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG50Ym9keS5jb2xsYXBzZS5pbiB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbn1cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIHZpc2liaWxpdHk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogNHB4IGRhc2hlZDtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIFxcOTtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbn1cbi5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbi5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogOXB4IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG59XG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzMzMzMzMztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMjYyNjI2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSxcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbn1cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSxcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNzc3Nzc3O1xufVxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5vcGVuID4gYSB7XG4gIG91dGxpbmU6IDA7XG59XG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTkwO1xufVxuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyb3B1cCAuY2FyZXQsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmNhcmV0IHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IGRhc2hlZDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIFxcOTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnUsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmJ0bi1ncm91cCA+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpob3Zlcixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmhvdmVyLFxuLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDI7XG59XG4uYnRuLWdyb3VwIC5idG4gKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4sXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDtcbn1cbi5idG4tdG9vbGJhciAuYnRuLFxuLmJ0bi10b29sYmFyIC5idG4tZ3JvdXAsXG4uYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLXRvb2xiYXIgPiAuYnRuLFxuLmJ0bi10b29sYmFyID4gLmJ0bi1ncm91cCxcbi5idG4tdG9vbGJhciA+IC5pbnB1dC1ncm91cCB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xufVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmsge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICBmbG9hdDogbm9uZTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bGFzdC1jaGlsZCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG59XG4uYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4sXG4uYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IDElO1xufVxuLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLWdyb3VwIC5idG4ge1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IGF1dG87XG59XG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0biBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuLmlucHV0LWdyb3VwW2NsYXNzKj1cImNvbC1cIl0ge1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgei1pbmRleDogMztcbn1cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbnNlbGVjdC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG5zZWxlY3QuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG5zZWxlY3QuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7XG59XG50ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG50ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbnRleHRhcmVhLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbnNlbGVjdC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG5zZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG5zZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG50ZXh0YXJlYS5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG50ZXh0YXJlYS5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbnRleHRhcmVhLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICB3aWR0aDogMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LXNtIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LWxnIHtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pbnB1dC1ncm91cC1idG4gPiAuYnRuICsgLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLmlucHV0LWdyb3VwLWJ0biA+IC5idG46aG92ZXIsXG4uaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjpmb2N1cyxcbi5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmFjdGl2ZSB7XG4gIHotaW5kZXg6IDI7XG59XG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAge1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubmF2ID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5hdiA+IGxpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbn1cbi5uYXYgPiBsaSA+IGE6aG92ZXIsXG4ubmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xufVxuLm5hdiA+IGxpLmRpc2FibGVkID4gYSB7XG4gIGNvbG9yOiAjNzc3Nzc3O1xufVxuLm5hdiA+IGxpLmRpc2FibGVkID4gYTpob3Zlcixcbi5uYXYgPiBsaS5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzc3Nzc3NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5uYXYgLm9wZW4gPiBhLFxuLm5hdiAub3BlbiA+IGE6aG92ZXIsXG4ubmF2IC5vcGVuID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGJvcmRlci1jb2xvcjogIzAwZTVmMDtcbn1cbi5uYXYgLm5hdi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogOXB4IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG59XG4ubmF2ID4gbGkgPiBhID4gaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG4ubmF2LXRhYnMgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4ubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlZWVlZWUgI2VlZWVlZSAjZGRkO1xufVxuLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSxcbi5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbi5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gIH1cbiAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbiAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLm5hdi1waWxscyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ubmF2LXBpbGxzID4gbGkgPiBhIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLm5hdi1waWxscyA+IGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogMnB4O1xufVxuLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGEsXG4ubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpob3Zlcixcbi5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG59XG4ubmF2LXN0YWNrZWQgPiBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuLm5hdi1zdGFja2VkID4gbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm5hdi1qdXN0aWZpZWQgPiBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5uYXYtanVzdGlmaWVkID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXYtanVzdGlmaWVkID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gIC5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5uYXYtdGFicy1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbi5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpob3Zlcixcbi5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IGxpID4gYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gIH1cbiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLFxuICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgfVxufVxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci1oZWFkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4ubmF2YmFyLWNvbGxhcHNlLmluIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5uYXZiYXItY29sbGFwc2UuaW4ge1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSB7XG4gIG1heC1oZWlnaHQ6IDM0MHB4O1xufVxuQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiA0ODBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICB9XG59XG4uY29udGFpbmVyID4gLm5hdmJhci1oZWFkZXIsXG4uY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1oZWFkZXIsXG4uY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSxcbi5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIgPiAubmF2YmFyLWhlYWRlcixcbiAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItaGVhZGVyLFxuICAuY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSxcbiAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogMTAwMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItc3RhdGljLXRvcCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci1maXhlZC10b3AsXG4gIC5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbn1cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG59XG4ubmF2YmFyLWJyYW5kOmhvdmVyLFxuLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5uYXZiYXItYnJhbmQgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyID4gLmNvbnRhaW5lciAubmF2YmFyLWJyYW5kLFxuICAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCAubmF2YmFyLWJyYW5kIHtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIH1cbn1cbi5uYXZiYXItdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbn1cbi5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciArIC5pY29uLWJhciB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm5hdmJhci1uYXYge1xuICBtYXJnaW46IDcuNXB4IC0xNXB4O1xufVxuLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEsXG4gIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICB9XG4gIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlcixcbiAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLW5hdiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5uYXZiYXItbmF2ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgfVxufVxuLm5hdmJhci1mb3JtIHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sXG4gIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5uYXZiYXItZm9ybSAuY29udHJvbC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5uYXZiYXItZm9ybSAucmFkaW8sXG4gIC5uYXZiYXItZm9ybSAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAubmF2YmFyLWZvcm0gLnJhZGlvIGxhYmVsLFxuICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWZvcm0ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5uYXZiYXItYnRuIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ubmF2YmFyLWJ0bi5idG4tc20ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLm5hdmJhci1idG4uYnRuLXhzIHtcbiAgbWFyZ2luLXRvcDogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcbn1cbi5uYXZiYXItdGV4dCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci10ZXh0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhci1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IH4gLm5hdmJhci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4ubmF2YmFyLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXItY29sb3I6ICNlN2U3ZTc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZCB7XG4gIGNvbG9yOiAjNzc3O1xufVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQ6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gIGNvbG9yOiAjNWU1ZTVlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRleHQge1xuICBjb2xvcjogIzc3Nztcbn1cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjNzc3O1xufVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUge1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ODg7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1jb2xsYXBzZSxcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWZvcm0ge1xuICBib3JkZXItY29sb3I6ICNlN2U3ZTc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICBjb2xvcjogIzU1NTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjNzc3O1xuICB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlcixcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSxcbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEsXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rIHtcbiAgY29sb3I6ICM3Nzc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMzMzM7XG59XG4ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rIHtcbiAgY29sb3I6ICM3Nzc7XG59XG4ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVyLFxuLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjMzMzO1xufVxuLm5hdmJhci1kZWZhdWx0IC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2NjYztcbn1cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gIGJvcmRlci1jb2xvcjogIzA4MDgwODtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6ICM5ZDlkOWQ7XG59XG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpob3Zlcixcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjOWQ5ZDlkO1xufVxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgY29sb3I6ICM5ZDlkOWQ7XG59XG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSxcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGEsXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNDQ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSB7XG4gIGJvcmRlci1jb2xvcjogIzMzMztcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpob3Zlcixcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG59XG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWNvbGxhcHNlLFxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItZm9ybSB7XG4gIGJvcmRlci1jb2xvcjogIzEwMTAxMDtcbn1cbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSxcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3Zlcixcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwODA4MDg7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kcm9wZG93bi1oZWFkZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzA4MDgwODtcbiAgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwODA4MDg7XG4gIH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogIzlkOWQ5ZDtcbiAgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODtcbiAgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLFxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluayB7XG4gIGNvbG9yOiAjOWQ5ZDlkO1xufVxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci1pbnZlcnNlIC5idG4tbGluayB7XG4gIGNvbG9yOiAjOWQ5ZDlkO1xufVxuLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3Zlcixcbi5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6aG92ZXIsXG4ubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM0NDQ7XG59XG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uYnJlYWRjcnVtYiA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmJyZWFkY3J1bWIgPiBsaSArIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiL1xcMDBhMFwiO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgY29sb3I6ICNjY2M7XG59XG4uYnJlYWRjcnVtYiA+IC5hY3RpdmUge1xuICBjb2xvcjogIzc3Nzc3Nztcbn1cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogMjBweCAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4ucGFnaW5hdGlvbiA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnBhZ2luYXRpb24gPiBsaSA+IGEsXG4ucGFnaW5hdGlvbiA+IGxpID4gc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwZTVmMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4ucGFnaW5hdGlvbiA+IGxpOmZpcnN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xufVxuLnBhZ2luYXRpb24gPiBsaTpsYXN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuLnBhZ2luYXRpb24gPiBsaSA+IGE6aG92ZXIsXG4ucGFnaW5hdGlvbiA+IGxpID4gc3Bhbjpob3Zlcixcbi5wYWdpbmF0aW9uID4gbGkgPiBhOmZvY3VzLFxuLnBhZ2luYXRpb24gPiBsaSA+IHNwYW46Zm9jdXMge1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogIzAwOWNhMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkO1xufVxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSxcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW4sXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3Zlcixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwZTVmMDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuOmZvY3VzLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5wYWdpbmF0aW9uLWxnID4gbGkgPiBhLFxuLnBhZ2luYXRpb24tbGcgPiBsaSA+IHNwYW4ge1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbn1cbi5wYWdpbmF0aW9uLWxnID4gbGk6Zmlyc3QtY2hpbGQgPiBhLFxuLnBhZ2luYXRpb24tbGcgPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbn1cbi5wYWdpbmF0aW9uLWxnID4gbGk6bGFzdC1jaGlsZCA+IGEsXG4ucGFnaW5hdGlvbi1sZyA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbn1cbi5wYWdpbmF0aW9uLXNtID4gbGkgPiBhLFxuLnBhZ2luYXRpb24tc20gPiBsaSA+IHNwYW4ge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuLnBhZ2luYXRpb24tc20gPiBsaTpmaXJzdC1jaGlsZCA+IGEsXG4ucGFnaW5hdGlvbi1zbSA+IGxpOmZpcnN0LWNoaWxkID4gc3BhbiB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xufVxuLnBhZ2luYXRpb24tc20gPiBsaTpsYXN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uLXNtID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xufVxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDIwcHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhZ2VyIGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnBhZ2VyIGxpID4gYSxcbi5wYWdlciBsaSA+IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xufVxuLnBhZ2VyIGxpID4gYTpob3Zlcixcbi5wYWdlciBsaSA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG59XG4ucGFnZXIgLm5leHQgPiBhLFxuLnBhZ2VyIC5uZXh0ID4gc3BhbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5wYWdlciAucHJldmlvdXMgPiBhLFxuLnBhZ2VyIC5wcmV2aW91cyA+IHNwYW4ge1xuICBmbG9hdDogbGVmdDtcbn1cbi5wYWdlciAuZGlzYWJsZWQgPiBhLFxuLnBhZ2VyIC5kaXNhYmxlZCA+IGE6aG92ZXIsXG4ucGFnZXIgLmRpc2FibGVkID4gYTpmb2N1cyxcbi5wYWdlciAuZGlzYWJsZWQgPiBzcGFuIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xufVxuYS5sYWJlbDpob3ZlcixcbmEubGFiZWw6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubGFiZWw6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ0biAubGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbi5sYWJlbC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3Nztcbn1cbi5sYWJlbC1kZWZhdWx0W2hyZWZdOmhvdmVyLFxuLmxhYmVsLWRlZmF1bHRbaHJlZl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xufVxuLmxhYmVsLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xufVxuLmxhYmVsLXByaW1hcnlbaHJlZl06aG92ZXIsXG4ubGFiZWwtcHJpbWFyeVtocmVmXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI0YmQ7XG59XG4ubGFiZWwtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG59XG4ubGFiZWwtc3VjY2Vzc1tocmVmXTpob3Zlcixcbi5sYWJlbC1zdWNjZXNzW2hyZWZdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjRiZDtcbn1cbi5sYWJlbC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbn1cbi5sYWJlbC1pbmZvW2hyZWZdOmhvdmVyLFxuLmxhYmVsLWluZm9baHJlZl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGJkO1xufVxuLmxhYmVsLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xufVxuLmxhYmVsLXdhcm5pbmdbaHJlZl06aG92ZXIsXG4ubGFiZWwtd2FybmluZ1tocmVmXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MzRkZWI7XG59XG4ubGFiZWwtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMWY3NDtcbn1cbi5sYWJlbC1kYW5nZXJbaHJlZl06aG92ZXIsXG4ubGFiZWwtZGFuZ2VyW2hyZWZdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzMTk1ZDtcbn1cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3NztcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cbi5iYWRnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuLmJ0bi14cyAuYmFkZ2UsXG4uYnRuLWdyb3VwLXhzID4gLmJ0biAuYmFkZ2Uge1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG59XG5hLmJhZGdlOmhvdmVyLFxuYS5iYWRnZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gLmJhZGdlLFxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gLmJhZGdlIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ubGlzdC1ncm91cC1pdGVtID4gLmJhZGdlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbSA+IC5iYWRnZSArIC5iYWRnZSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLm5hdi1waWxscyA+IGxpID4gYSA+IC5iYWRnZSB7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbn1cbi5qdW1ib3Ryb24gaDEsXG4uanVtYm90cm9uIC5oMSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmp1bWJvdHJvbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogMjAwO1xufVxuLmp1bWJvdHJvbiA+IGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Q1ZDVkNTtcbn1cbi5jb250YWluZXIgLmp1bWJvdHJvbixcbi5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuLmp1bWJvdHJvbiAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmp1bWJvdHJvbiB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIH1cbiAgLmNvbnRhaW5lciAuanVtYm90cm9uLFxuICAuY29udGFpbmVyLWZsdWlkIC5qdW1ib3Ryb24ge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG4gIC5qdW1ib3Ryb24gaDEsXG4gIC5qdW1ib3Ryb24gLmgxIHtcbiAgICBmb250LXNpemU6IDYzcHg7XG4gIH1cbn1cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4udGh1bWJuYWlsID4gaW1nLFxuLnRodW1ibmFpbCBhID4gaW1nIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbmEudGh1bWJuYWlsOmhvdmVyLFxuYS50aHVtYm5haWw6Zm9jdXMsXG5hLnRodW1ibmFpbC5hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICMwMGU1ZjA7XG59XG4udGh1bWJuYWlsIC5jYXB0aW9uIHtcbiAgcGFkZGluZzogOXB4O1xuICBjb2xvcjogIzMzMzMzMztcbn1cbi5hbGVydCB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uYWxlcnQgaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5hbGVydCAuYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmFsZXJ0ID4gcCxcbi5hbGVydCA+IHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5hbGVydCA+IHAgKyBwIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmFsZXJ0LWRpc21pc3NhYmxlLFxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogMzVweDtcbn1cbi5hbGVydC1kaXNtaXNzYWJsZSAuY2xvc2UsXG4uYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIHJpZ2h0OiAtMjFweDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4uYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZTljNjtcbiAgY29sb3I6ICMzYzc2M2Q7XG59XG4uYWxlcnQtc3VjY2VzcyBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjOWUyYjM7XG59XG4uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjMmI1NDJjO1xufVxuLmFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3O1xuICBib3JkZXItY29sb3I6ICNiY2U4ZjE7XG4gIGNvbG9yOiAjMzE3MDhmO1xufVxuLmFsZXJ0LWluZm8gaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYTZlMWVjO1xufVxuLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzI0NTI2OTtcbn1cbi5hbGVydC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgYm9yZGVyLWNvbG9yOiAjZmFlYmNjO1xuICBjb2xvcjogIzhhNmQzYjtcbn1cbi5hbGVydC13YXJuaW5nIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Y3ZTFiNTtcbn1cbi5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICM2NjUxMmM7XG59XG4uYWxlcnQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxO1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbi5hbGVydC1kYW5nZXIgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZTRiOWMwO1xufVxuLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjODQzNTM0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwO1xuICB9XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5wcm9ncmVzcy1iYXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xufVxuLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG59XG4ucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLmFjdGl2ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gIC1vLWFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG59XG4ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4ucHJvZ3Jlc3MtYmFyLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNWYwO1xufVxuLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1pbmZvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLnByb2dyZXNzLWJhci13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2JmMDtcbn1cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMWY3NDtcbn1cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLm1lZGlhIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbi5tZWRpYTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ubWVkaWEsXG4ubWVkaWEtYm9keSB7XG4gIHpvb206IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubWVkaWEtYm9keSB7XG4gIHdpZHRoOiAxMDAwMHB4O1xufVxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlsIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhID4gLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4ubWVkaWEtbGVmdCxcbi5tZWRpYSA+IC5wdWxsLWxlZnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuLm1lZGlhLWxlZnQsXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEtYm9keSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ubWVkaWEtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5tZWRpYS1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5saXN0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbn1cbi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG59XG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogIzU1NTtcbn1cbmEubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgY29sb3I6ICMzMzM7XG59XG5hLmxpc3QtZ3JvdXAtaXRlbTpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06aG92ZXIsXG5hLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNTU1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCxcbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIsXG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LFxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQsXG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gIGNvbG9yOiAjNzc3Nzc3O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUsXG4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3Zlcixcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIHtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwZTVmMDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LFxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LFxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgY29sb3I6ICNiZGZjZmY7XG59XG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzNjNzYzZDtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwZTljNjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSxcbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M3NjNkO1xuICBib3JkZXItY29sb3I6ICMzYzc2M2Q7XG59XG4ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICBjb2xvcjogIzMxNzA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNztcbn1cbmEubGlzdC1ncm91cC1pdGVtLWluZm8sXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICBjb2xvcjogIzMxNzA4Zjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMge1xuICBjb2xvcjogIzMxNzA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMztcbn1cbmEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSxcbmEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmhvdmVyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmZvY3VzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE3MDhmO1xuICBib3JkZXItY29sb3I6ICMzMTcwOGY7XG59XG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbn1cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogIzhhNmQzYjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjJjYztcbn1cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSxcbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpob3ZlcixcbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE2ZDNiO1xuICBib3JkZXItY29sb3I6ICM4YTZkM2I7XG59XG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XG4gIGNvbG9yOiAjYTk0NDQyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlO1xufVxuYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0Mjtcbn1cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3ZlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLFxuYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogI2E5NDQ0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYztcbn1cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsXG5hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLFxuYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTk0NDQyO1xuICBib3JkZXItY29sb3I6ICNhOTQ0NDI7XG59XG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwtaGVhZGluZyA+IC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ucGFuZWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnBhbmVsLXRpdGxlID4gYSxcbi5wYW5lbC10aXRsZSA+IHNtYWxsLFxuLnBhbmVsLXRpdGxlID4gLnNtYWxsLFxuLnBhbmVsLXRpdGxlID4gc21hbGwgPiBhLFxuLnBhbmVsLXRpdGxlID4gLnNtYWxsID4gYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC5saXN0LWdyb3VwLFxuLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhbmVsID4gLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbSxcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItd2lkdGg6IDFweCAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnBhbmVsID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xufVxuLnBhbmVsID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG4ucGFuZWwtaGVhZGluZyArIC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuLmxpc3QtZ3JvdXAgKyAucGFuZWwtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cbi5wYW5lbCA+IC50YWJsZSxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYW5lbCA+IC50YWJsZSBjYXB0aW9uLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgY2FwdGlvbixcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSBjYXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG59XG4ucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xufVxuLnBhbmVsID4gLnBhbmVsLWJvZHkgKyAudGFibGUsXG4ucGFuZWwgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuLnBhbmVsID4gLnRhYmxlICsgLnBhbmVsLWJvZHksXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSArIC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG59XG4ucGFuZWwgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoLFxuLnBhbmVsID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4ucGFuZWwgPiAudGFibGUtYm9yZGVyZWQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMDtcbn1cbi5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4ucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbi5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxuLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhbmVsLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5wYW5lbC1ncm91cCAucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4ucGFuZWwtZ3JvdXAgLnBhbmVsICsgLnBhbmVsIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LFxuLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbn1cbi5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cbi5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG4ucGFuZWwtZGVmYXVsdCB7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbn1cbi5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkO1xufVxuLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2RkZDtcbn1cbi5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICNmNWY1ZjU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG59XG4ucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGQ7XG59XG4ucGFuZWwtcHJpbWFyeSB7XG4gIGJvcmRlci1jb2xvcjogIzAwZTVmMDtcbn1cbi5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTVmMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBlNWYwO1xufVxuLnBhbmVsLXByaW1hcnkgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwZTVmMDtcbn1cbi5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ucGFuZWwtcHJpbWFyeSA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMGU1ZjA7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZTljNjtcbn1cbi5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbiAgYm9yZGVyLWNvbG9yOiAjZDZlOWM2O1xufVxuLnBhbmVsLXN1Y2Nlc3MgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZTljNjtcbn1cbi5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICNkZmYwZDg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYzc2M2Q7XG59XG4ucGFuZWwtc3VjY2VzcyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNkNmU5YzY7XG59XG4ucGFuZWwtaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogI2JjZThmMTtcbn1cbi5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogIzMxNzA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNztcbiAgYm9yZGVyLWNvbG9yOiAjYmNlOGYxO1xufVxuLnBhbmVsLWluZm8gPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2JjZThmMTtcbn1cbi5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICNkOWVkZjc7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTcwOGY7XG59XG4ucGFuZWwtaW5mbyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiY2U4ZjE7XG59XG4ucGFuZWwtd2FybmluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZhZWJjYztcbn1cbi5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcge1xuICBjb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgYm9yZGVyLWNvbG9yOiAjZmFlYmNjO1xufVxuLnBhbmVsLXdhcm5pbmcgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZhZWJjYztcbn1cbi5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgY29sb3I6ICNmY2Y4ZTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YTZkM2I7XG59XG4ucGFuZWwtd2FybmluZyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmYWViY2M7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxO1xufVxuLnBhbmVsLWRhbmdlciA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgY29sb3I6ICNhOTQ0NDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7XG4gIGJvcmRlci1jb2xvcjogI2ViY2NkMTtcbn1cbi5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ViY2NkMTtcbn1cbi5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyAuYmFkZ2Uge1xuICBjb2xvcjogI2YyZGVkZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E5NDQ0Mjtcbn1cbi5wYW5lbC1kYW5nZXIgPiAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZWJjY2QxO1xufVxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLFxuLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsXG4uZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4uZW1iZWQtcmVzcG9uc2l2ZSB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuLndlbGwge1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAxOXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTNlM2UzO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLndlbGwgYmxvY2txdW90ZSB7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLndlbGwtbGcge1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG4ud2VsbC1zbSB7XG4gIHBhZGRpbmc6IDlweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gIG9wYWNpdHk6IDAuMjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTIwKTtcbn1cbi5jbG9zZTpob3Zlcixcbi5jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC41O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xufVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA1MDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdXRsaW5lOiAwO1xufVxuLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xufVxuLm1vZGFsLmluIC5tb2RhbC1kaWFsb2cge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgb3V0bGluZTogMDtcbn1cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG4ubW9kYWwtYmFja2Ryb3AuaW4ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG59XG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xufVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMTVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuLm1vZGFsLWZvb3RlciAuYnRuICsgLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi5tb2RhbC1mb290ZXIgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxuICAubW9kYWwtY29udGVudCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxuICAubW9kYWwtc20ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tb2RhbC1sZyB7XG4gICAgd2lkdGg6IDkwMHB4O1xuICB9XG59XG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuLnRvb2x0aXAuaW4ge1xuICBvcGFjaXR5OiAwLjk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7XG59XG4udG9vbHRpcC50b3Age1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBwYWRkaW5nOiA1cHggMDtcbn1cbi50b29sdGlwLnJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgcGFkZGluZzogMCA1cHg7XG59XG4udG9vbHRpcC5ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuLnRvb2x0aXAubGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICBwYWRkaW5nOiAwIDVweDtcbn1cbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAudG9wLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7XG59XG4udG9vbHRpcC5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA1cHg7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwO1xufVxuLnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbn1cbi50b29sdGlwLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbn1cbi50b29sdGlwLmJvdHRvbS1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogMDtcbiAgbGVmdDogNXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbn1cbi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNjA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMjc2cHg7XG4gIHBhZGRpbmc6IDFweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4ucG9wb3Zlci50b3Age1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbn1cbi5wb3BvdmVyLnJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4ucG9wb3Zlci5ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLnBvcG92ZXIubGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbn1cbi5wb3BvdmVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG59XG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7XG59XG4ucG9wb3ZlciA+IC5hcnJvdyxcbi5wb3BvdmVyID4gLmFycm93OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgYm9yZGVyLXdpZHRoOiAxMXB4O1xufVxuLnBvcG92ZXIgPiAuYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDEwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4ucG9wb3Zlci50b3AgPiAuYXJyb3cge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzk5OTk5OTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm90dG9tOiAtMTFweDtcbn1cbi5wb3BvdmVyLnRvcCA+IC5hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBib3R0b206IDFweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuLnBvcG92ZXIucmlnaHQgPiAuYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogLTExcHg7XG4gIG1hcmdpbi10b3A6IC0xMXB4O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5OTk5O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4ucG9wb3Zlci5yaWdodCA+IC5hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBsZWZ0OiAxcHg7XG4gIGJvdHRvbTogLTEwcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG59XG4ucG9wb3Zlci5ib3R0b20gPiAuYXJyb3cge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5OTk5OTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdG9wOiAtMTFweDtcbn1cbi5wb3BvdmVyLmJvdHRvbSA+IC5hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB0b3A6IDFweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLnBvcG92ZXIubGVmdCA+IC5hcnJvdyB7XG4gIHRvcDogNTAlO1xuICByaWdodDogLTExcHg7XG4gIG1hcmdpbi10b3A6IC0xMXB4O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjOTk5OTk5O1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5wb3BvdmVyLmxlZnQgPiAuYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcmlnaHQ6IDFweDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcbiAgYm90dG9tOiAtMTBweDtcbn1cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjZzIGVhc2UtaW4tb3V0IGxlZnQ7XG4gIC1vLXRyYW5zaXRpb246IDAuNnMgZWFzZS1pbi1vdXQgbGVmdDtcbiAgdHJhbnNpdGlvbjogMC42cyBlYXNlLWluLW91dCBsZWZ0O1xufVxuLmNhcm91c2VsLWlubmVyID4gLml0ZW0gPiBpbWcsXG4uY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGEgPiBpbWcge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbkBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgICAtbW96LXBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gICAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5uZXh0LFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5hY3RpdmUucmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ucHJldixcbiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0uYWN0aXZlLmxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgbGVmdDogMDtcbiAgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5uZXh0LmxlZnQsXG4gIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLnByZXYucmlnaHQsXG4gIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZSxcbi5jYXJvdXNlbC1pbm5lciA+IC5uZXh0LFxuLmNhcm91c2VsLWlubmVyID4gLnByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUge1xuICBsZWZ0OiAwO1xufVxuLmNhcm91c2VsLWlubmVyID4gLm5leHQsXG4uY2Fyb3VzZWwtaW5uZXIgPiAucHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5jYXJvdXNlbC1pbm5lciA+IC5uZXh0IHtcbiAgbGVmdDogMTAwJTtcbn1cbi5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgbGVmdDogLTEwMCU7XG59XG4uY2Fyb3VzZWwtaW5uZXIgPiAubmV4dC5sZWZ0LFxuLmNhcm91c2VsLWlubmVyID4gLnByZXYucmlnaHQge1xuICBsZWZ0OiAwO1xufVxuLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZS5sZWZ0IHtcbiAgbGVmdDogLTEwMCU7XG59XG4uY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgbGVmdDogMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDE1JTtcbiAgb3BhY2l0eTogMC41O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLmNhcm91c2VsLWNvbnRyb2wubGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjAwMDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMDAwMSkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMDAwMSkgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLnJpZ2h0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjAwMDEpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjAwMDEpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyM4MDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sOmhvdmVyLFxuLmNhcm91c2VsLWNvbnRyb2w6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAwLjk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7XG59XG4uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCxcbi5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCxcbi5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gIHJpZ2h0OiA1MCU7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG4uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogc2VyaWY7XG59XG4uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDIwMzknO1xufVxuLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFwyMDNhJztcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDFweDtcbiAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIFxcOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTUlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLmNhcm91c2VsLWNhcHRpb24gLmJ0biB7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCxcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldixcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCxcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgbGVmdDogMjAlO1xuICAgIHJpZ2h0OiAyMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMjBweDtcbiAgfVxufVxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlcixcbi5kbC1ob3Jpem9udGFsIGRkOmJlZm9yZSxcbi5kbC1ob3Jpem9udGFsIGRkOmFmdGVyLFxuLmNvbnRhaW5lcjpiZWZvcmUsXG4uY29udGFpbmVyOmFmdGVyLFxuLmNvbnRhaW5lci1mbHVpZDpiZWZvcmUsXG4uY29udGFpbmVyLWZsdWlkOmFmdGVyLFxuLnJvdzpiZWZvcmUsXG4ucm93OmFmdGVyLFxuLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDpiZWZvcmUsXG4uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmFmdGVyLFxuLmJ0bi10b29sYmFyOmJlZm9yZSxcbi5idG4tdG9vbGJhcjphZnRlcixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmJlZm9yZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyLFxuLm5hdjpiZWZvcmUsXG4ubmF2OmFmdGVyLFxuLm5hdmJhcjpiZWZvcmUsXG4ubmF2YmFyOmFmdGVyLFxuLm5hdmJhci1oZWFkZXI6YmVmb3JlLFxuLm5hdmJhci1oZWFkZXI6YWZ0ZXIsXG4ubmF2YmFyLWNvbGxhcHNlOmJlZm9yZSxcbi5uYXZiYXItY29sbGFwc2U6YWZ0ZXIsXG4ucGFnZXI6YmVmb3JlLFxuLnBhZ2VyOmFmdGVyLFxuLnBhbmVsLWJvZHk6YmVmb3JlLFxuLnBhbmVsLWJvZHk6YWZ0ZXIsXG4ubW9kYWwtaGVhZGVyOmJlZm9yZSxcbi5tb2RhbC1oZWFkZXI6YWZ0ZXIsXG4ubW9kYWwtZm9vdGVyOmJlZm9yZSxcbi5tb2RhbC1mb290ZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG4uY2xlYXJmaXg6YWZ0ZXIsXG4uZGwtaG9yaXpvbnRhbCBkZDphZnRlcixcbi5jb250YWluZXI6YWZ0ZXIsXG4uY29udGFpbmVyLWZsdWlkOmFmdGVyLFxuLnJvdzphZnRlcixcbi5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIsXG4uYnRuLXRvb2xiYXI6YWZ0ZXIsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDphZnRlcixcbi5uYXY6YWZ0ZXIsXG4ubmF2YmFyOmFmdGVyLFxuLm5hdmJhci1oZWFkZXI6YWZ0ZXIsXG4ubmF2YmFyLWNvbGxhcHNlOmFmdGVyLFxuLnBhZ2VyOmFmdGVyLFxuLnBhbmVsLWJvZHk6YWZ0ZXIsXG4ubW9kYWwtaGVhZGVyOmFmdGVyLFxuLm1vZGFsLWZvb3RlcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmNlbnRlci1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuLnZpc2libGUteHMsXG4udmlzaWJsZS1zbSxcbi52aXNpYmxlLW1kLFxuLnZpc2libGUtbGcge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnZpc2libGUteHMsXG4gIHRkLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGgudmlzaWJsZS1zbSxcbiAgdGQudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudmlzaWJsZS1zbS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20taW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGgudmlzaWJsZS1tZCxcbiAgdGQudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnZpc2libGUtbWQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAudmlzaWJsZS1tZC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnZpc2libGUtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS52aXNpYmxlLWxnIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnZpc2libGUtbGcsXG4gIHRkLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZy1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZy1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5oaWRkZW4tc20ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGlkZGVuLWxnIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnZpc2libGUtcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0ci52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0aC52aXNpYmxlLXByaW50LFxuICB0ZC52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5oaWRkZW4tcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEVTUyBWQVJJQUJMRVNcbioqICAgICAgICAgICAgICAgIFRoaXMgc3R5bGVzaGVldCBzaG91bGQgb25seSBjb250YWluIHZhcmlhYmxlcy5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgQ29sb3IgcGFsZXR0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRvcC1idWZmZXItMSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG4udG9wLWJ1ZmZlci0yIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbi50b3AtYnVmZmVyLTMge1xuICBtYXJnaW4tdG9wOiA0NXB4O1xufVxuLnRvcC1idWZmZXItNCB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG4udG9wLWJ1ZmZlci01IHtcbiAgbWFyZ2luLXRvcDogNzVweDtcbn1cbi50b3AtYnVmZmVyLTYge1xuICBtYXJnaW4tdG9wOiA5MHB4O1xufVxuLnRvcC1idWZmZXItNyB7XG4gIG1hcmdpbi10b3A6IDEwNXB4O1xufVxuLnRvcC1idWZmZXItOCB7XG4gIG1hcmdpbi10b3A6IDEyMHB4O1xufVxuLnRvcC1idWZmZXItOSB7XG4gIG1hcmdpbi10b3A6IDEzNXB4O1xufVxuLnRvcC1idWZmZXItMTAge1xuICBtYXJnaW4tdG9wOiAxNTBweDtcbn1cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElNUEFDIE1BVEVSSUFMXG4vKiAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiogTWl4aW4gbWF0ZXJpYWwgc3R5bGVkIGZvcm0gaW5wdXRzLCBvdmVycmlkaW5nIGJvb3RzdHJhcCdzIHVuZ29kbHkgcm91bmQtbmVzcy5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogREVNTyBIVE1MIC0gdXNlIHRoaXMgaHRtbCB0byB0ZXN0IGFsbCBpbXBhYyBtYXRlcmlhbCBmZWF0dXJlcy5cbjxmb3JtPlxuICA8ZGl2IGNsYXNzPVwiaW0tZm9ybS1ncm91cFwiPlxuICAgIDxzZWxlY3Q+XG4gICAgICA8b3B0aW9uPlZhbHVlIDE8L29wdGlvbj5cbiAgICAgIDxvcHRpb24+VmFsdWUgMjwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICAgIDxsYWJlbCBmb3I9XCJzZWxlY3RcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5TZWxlY3Rib3g8L2xhYmVsPjxpIGNsYXNzPVwiaW0tYmFyXCI+PC9pPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWZvcm0tZ3JvdXBcIj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIiByZXF1aXJlZC8+XG4gICAgPGxhYmVsIGZvcj1cImlucHV0XCIgY2xhc3M9XCJpbS1jb250cm9sLWxhYmVsXCI+VGV4dGZpZWxkPC9sYWJlbD48aSBjbGFzcz1cImltLWJhclwiPjwvaT5cbiAgICA8ZGl2IGNsYXNzPVwiaW0tbWVzc2FnZXNcIj5cbiAgICAgIDxwPlRoaXMgaXMgYW4gZXJyb3IgbWVzc2FnZTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbS1mb3JtLWlubGluZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbS1mb3JtLWdyb3VwXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiByZXF1aXJlZC8+XG4gICAgICA8bGFiZWwgZm9yPVwiaW5wdXRcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5JbmxpbmU8L2xhYmVsPjxpIGNsYXNzPVwiaW0tYmFyXCI+PC9pPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbS1mb3JtLWdyb3VwXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiByZXF1aXJlZC8+XG4gICAgICA8bGFiZWwgZm9yPVwiaW5wdXRcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5JbmxpbmU8L2xhYmVsPjxpIGNsYXNzPVwiaW0tYmFyXCI+PC9pPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWZvcm0tZ3JvdXBcIj5cbiAgICA8dGV4dGFyZWEgcmVxdWlyZWQ+PC90ZXh0YXJlYT5cbiAgICA8bGFiZWwgZm9yPVwidGV4dGFyZWFcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5UZXh0YXJlYTwvbGFiZWw+PGkgY2xhc3M9XCJpbS1iYXJcIj48L2k+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tY2hlY2tib3hcIj5cbiAgICA8bGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2hlY2tlZD1cImNoZWNrZWRcIi8+PGkgY2xhc3M9XCJpbS1oZWxwZXJcIj48L2k+SSdtIHRoZSBsYWJlbCBmcm9tIGEgY2hlY2tib3hcbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWNoZWNrYm94XCI+XG4gICAgPGxhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiLz48aSBjbGFzcz1cImltLWhlbHBlclwiPjwvaT5JJ20gdGhlIGxhYmVsIGZyb20gYSBjaGVja2JveFxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tZm9ybS1yYWRpb1wiPlxuICAgIDxkaXYgY2xhc3M9XCJpbS1yYWRpb1wiPlxuICAgICAgPGxhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cInJhZGlvXCIgY2hlY2tlZD1cImNoZWNrZWRcIi8+PGkgY2xhc3M9XCJpbS1oZWxwZXJcIj48L2k+SSdtIHRoZSBsYWJlbCBmcm9tIGEgcmFkaW8gYnV0dG9uXG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbS1yYWRpb1wiPlxuICAgICAgPGxhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cInJhZGlvXCIvPjxpIGNsYXNzPVwiaW0taGVscGVyXCI+PC9pPkknbSB0aGUgbGFiZWwgZnJvbSBhIHJhZGlvIGJ1dHRvblxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbS1jaGVja2JveFwiPlxuICAgIDxsYWJlbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIi8+PGkgY2xhc3M9XCJpbS1oZWxwZXJcIj48L2k+SSdtIHRoZSBsYWJlbCBmcm9tIGEgY2hlY2tib3hcbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbS1mYWIgaW0tcHJpbWFyeVwiPjxpPuKZpTwvaT48L2J1dHRvbj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbS1mYWIgaW0td2FyblwiPjxpPuKZpTwvaT48L2J1dHRvbj5cbjwvZm9ybT5cbiovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTE9CQUwgU1RZTEVTXG4qKiAgICAgICAgVGhpcyBzdHlsZXNoZWV0IHNob3VsZCBvbmx5IGNvbnRhaW4gc3R5bGVzIGFwcGxpZWQgZ2xvYmFsIG9yIGluXG4qKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyIG9yIG1vcmUgY29tcG9uZW50cy5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuYm9keSB7XG4gIGhlaWdodDogMTAxJSAhaW1wb3J0YW50O1xufVxuLmFuYWx5dGljcyBoMiB7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzVCNjY2Nztcbn1cbi5hbmFseXRpY3MgaDMge1xuICBtYXJnaW46IDBweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuLmFuYWx5dGljcyBoNCB7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uYW5hbHl0aWNzIC5wb3NpdGl2ZSxcbi5hbmFseXRpY3MgLmdyZWVuIHtcbiAgY29sb3I6IGdyZWVuICFpbXBvcnRhbnQ7XG59XG4uYW5hbHl0aWNzIC5uZWdhdGl2ZSxcbi5hbmFseXRpY3MgLnJlZCB7XG4gIGNvbG9yOiAjZWQxZTc5ICFpbXBvcnRhbnQ7XG59XG4uYW5hbHl0aWNzIC5wb3NpdGl2ZTIge1xuICBjb2xvcjogIzNmYzRmZiAhaW1wb3J0YW50O1xufVxuLmFuYWx5dGljcyAubmVnYXRpdmUyIHtcbiAgY29sb3I6ICMxZGU5YjYgIWltcG9ydGFudDtcbn1cbi5hbmFseXRpY3MgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzk3N2JmMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAuaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbmFseXRpY3Mgc2VsZWN0IHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuLmFuYWx5dGljcyBwcmUge1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgbWFyZ2luOiAxcHggMHB4IDhweCAwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCA6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuLmFuYWx5dGljcyBrcGlzLWJhciAua3BpIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyIC5rcGkgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODk2YjI7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLmFuYWx5dGljcyBrcGlzLWJhciAua3BpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzlhMmJiO1xufVxuLmFuYWx5dGljcyAubm9wYWRkaW5nIHtcbiAgcGFkZGluZzogMDtcbn1cbi5hbmFseXRpY3MgLm5vbWFyZ2luIHtcbiAgbWFyZ2luOiAwO1xufVxuLmFuYWx5dGljcyAuYnRuLmJ0bi1zaGFkZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcyNjJkO1xuICBib3JkZXI6IHNvbGlkIDFweCAjMGUxODFjO1xuICBjb2xvcjogIzYyNmQ2ZDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5hbmFseXRpY3MgLmJ0bi5idG4tc2hhZGVkOmhvdmVyIHtcbiAgY29sb3I6ICM2ZTdhN2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDM0M2U7XG59XG4uYW5hbHl0aWNzIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbi5hbmFseXRpY3MgLmN1cnJlbmN5IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzliYTZhNztcbn1cbi5hbmFseXRpY3MgLmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBjb2xvcjogI2M0Y2FjYTtcbn1cbi5hbmFseXRpY3MgLmxvYWRlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC5sb2FkZXIgaSB7XG4gIGNvbG9yOiAjNjdCQkU5O1xufVxuLmFuYWx5dGljcyAubG9hZGVyIHAge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLmFuYWx5dGljcyAucmlnaHQtcGFuZWwge1xuICBib3JkZXItbGVmdDogc29saWQgMXB4ICNlNmU2ZTY7XG59XG4uYW5hbHl0aWNzIC5zZWxlY3RvciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM2MjZkNmQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLnRpbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBib3gtc2hhZG93OiAwcHggN3B4IDEwcHggLTdweCAjMTcyNjJkO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hbmFseXRpY3MgLnRpbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJmMmZmO1xufVxuLmFuYWx5dGljcyAudGlsZSAuY29sb3JlZC1hcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNGQzRGRjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBtaW4td2lkdGg6IDglO1xufVxuLmFuYWx5dGljcyAudGlsZSAuY29sb3JlZC1hcmVhLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2JmMDtcbn1cbi5hbmFseXRpY3MgLnRpbGUgLm1haW4tdGV4dCB7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICBwYWRkaW5nOiAyMHB4IDBweCAwcHggNXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAwcHggMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1saW5lcy1jb250YWluZXIgLnJvdy53aWRnZXQtbGluZSB7XG4gIHBhZGRpbmc6IDVweDtcbiAgY29sb3I6ICM2MjZkNmQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cud2lkZ2V0LWxpbmUuaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzliYTZhNztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cud2lkZ2V0LWxpbmUge1xuICAgIG1hcmdpbjogaW5oZXJpdDtcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XG4gICAgcGFkZGluZzogMnB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1saW5lcy1jb250YWluZXIgLnJvdy53aWRnZXQtbGluZSA+IFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cud2lkZ2V0LWxpbmUgaS5mYSB7XG4gIG1pbi13aWR0aDogMTJweDtcbiAgbWluLWhlaWdodDogMTJweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1saW5lcy1jb250YWluZXIgLnJvdyAuZGFzaGVkIHtcbiAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCAjZGZlMmUyO1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cubGluZXMtZ3JvdXAge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2U2ZWRlZTtcbn1cbi52ZXJ0aWNhbC1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4uaG9yaXpvbnRhbC1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG59XG4udG9vbHRpcC5pbXBhYy13aWRnZXRzLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIubmctYmluZGluZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzI1Mjg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi50b29sdGlwLmltcGFjLXdpZGdldHMtdG9vbHRpcCAudG9vbHRpcC1pbm5lci5uZy1iaW5kaW5nIHN0cm9uZyB7XG4gIGNvbG9yOiAjZGFlMTczO1xufVxuLnNvcnRhYmxlLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNvcnRhYmxlLXRpdGxlIGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2UwMWY3NDtcbn1cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2UwMWY3NDtcbn1cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBlNWYwO1xufVxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwMGU1ZjA7XG59XG4ucm93Lm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuW2NsYXNzXj1cImNvbC1cIl0ubm8tZ3V0dGVycyxcbltjbGFzcyo9XCIgY29sLVwiXS5uby1ndXR0ZXJzIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuQG1lZGlhIHByaW50IHtcbiAgYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxuICAuYW5hbHl0aWNzIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFuYWx5dGljcyAjbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5jaGFydC1jb250YWluZXIgY2FudmFzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5yaWdodC1wYW5lbCB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5yaWdodC1wYW5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAucmlnaHQtcGFuZWwgLmNoYXJ0LWNvbnRhaW5lciBjYW52YXMge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDgwJSAhaW1wb3J0YW50O1xuICB9XG4gICoge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyoqXG4gKiAgRG8gbm90IHJlbW92ZSB0aGlzIGNvbW1lbnRzIGJlbGxvdy4gSXQncyB0aGUgbWFya2VycyB1c2VkIGJ5IGd1bHAtaW5qZWN0IHRvIGluamVjdFxuICogIGFsbCB5b3VyIGxlc3MgZmlsZXMgYXV0b21hdGljYWxseVxuICovXG4vKiBpbmplY3Q6aW1wb3J0cyAqL1xuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5rcGktYWxlcnRzLXNldHRpbmdzIC5tb2RhbC1ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG4ua3BpLWFsZXJ0cy1zZXR0aW5ncyAubW9kYWwtYm9keSB1bCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ua3BpLWFsZXJ0cy1zZXR0aW5ncyAubW9kYWwtYm9keSB1bCA+IGxpLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDZweCAxNXB4O1xuICBjb2xvcjogIzliYTZhNztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ua3BpLWFsZXJ0cy1zZXR0aW5ncyAubW9kYWwtYm9keSB1bCA+IGxpLmxpc3QtZ3JvdXAtaXRlbSAuYWxlcnQtdG9nZ2xlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWJvZHkgdWwgPiBsaS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6ICMzNThmZGM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjYzRjYWNhO1xufVxuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWJvZHkgLmZhLmZhLXRvZ2dsZS1vbixcbi5rcGktYWxlcnRzLXNldHRpbmdzIC5tb2RhbC1ib2R5IC5mYS5mYS10b2dnbGUtb2ZmIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbi5rcGktYWxlcnRzLXNldHRpbmdzIC5tb2RhbC1ib2R5IHVsLnJlY2lwaWVudHMtbGlzdCB7XG4gIGhlaWdodDogNzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzRjYWNhO1xufVxuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWJvZHkgdWwucmVjaXBpZW50cy1saXN0IGxpIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLmtwaS1hbGVydHMtc2V0dGluZ3MgLm1vZGFsLWJvZHkgaW5wdXQucmVjaXBpZW50LXNlYXJjaCB7XG4gIGNvbG9yOiBibGFjaztcbiAgd2lkdGg6IDEwMCU7XG59XG4ua3BpLWFsZXJ0cy1zZXR0aW5ncyAubW9kYWwtYm9keSB1bC5hdmFpbGFibGUge1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3Mge1xuICAgIHBhZGRpbmctdG9wOiAxNTBweDtcbiAgfVxufVxuLmFuYWx5dGljcy5wZGYtbW9kZSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuLmFuYWx5dGljcy5zaG93LWRoYiB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7XG4gIG9wYWNpdHk6IDE7XG59XG4uYW5hbHl0aWNzLmhpZGUtZGhiIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5hbmFseXRpY3MgI2Rhc2hib2FyZC1oZWFkaW5nIGltZyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1heC1oZWlnaHQ6IDE1MHB4O1xufVxuLmFuYWx5dGljcyAjZGFzaGJvYXJkLWhlYWRpbmcgaW1nLnBkZi1tb2RlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAjZGFzaGJvYXJkLWhlYWRpbmcgLmNhcHRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogNXB4IDBweDtcbn1cbi5hbmFseXRpY3MgI3N1Yi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbi5hbmFseXRpY3MgI3N1Yi1tZW51IGgzIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzIzMzg0NTtcbn1cbi5hbmFseXRpY3MgI3N1Yi1tZW51IC5mYS5mYS10aW1lcyB7XG4gIG1hcmdpbjogNnB4O1xuICBjb2xvcjogIzNkNjE3ODtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzODQ1O1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDBweCA0NXB4IDEwcHggNDVweDtcbiAgbWFyZ2luOiAxMHB4IC00NXB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIENocm9tZS9TYWZhcmkgKi9cbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogRmlyZWZveCAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIElFMTArICovXG4gIC8qIFJ1bGVzIGJlbG93IG5vdCBpbXBsZW1lbnRlZCBpbiBicm93c2VycyB5ZXQgKi9cbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciB7XG4gICAgcGFkZGluZzogMCAxNXB4IDEwcHggMTVweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudGl0bGUge1xuICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMyZDQ4NTk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLnRpdGxlIHAuaW5zdHJ1Y3Rpb24ge1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudGl0bGUgcC5pbnN0cnVjdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudGl0bGUgLndpZGdldC1hZGRlZC5iYWRnZSB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgb3BhY2l0eTogMDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudGl0bGUgLmZhLmNsb3NlLXNlbGVjdG9yIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcGFkZGluZzogNnB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC50aXRsZSAuZmEuY2xvc2Utc2VsZWN0b3I6aG92ZXIge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAudG9wLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLnNlY3Rpb24taGVhZGVyIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuc2VjdGlvbi1saW5lcyB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiAyMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuc2VjdGlvbi1saW5lcyBwIHtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW46IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5zZWN0aW9uLWxpbmVzIHA6aG92ZXIsXG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLnNlY3Rpb24tbGluZXMgcC5zZWxlY3RlZCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuc2VjdGlvbi1saW5lczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuc2VjdGlvbi1saW5lczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg0MDRmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5zZWN0aW9uLWxpbmVzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDQ4NTk7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLmNhdGVnb3JpZXMtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTI4MzE7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5jYXRlZ29yaWVzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyA+IFtjbGFzcyo9J2NvbC0nXTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDNweCAxMnB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5jYXRlZ29yaWVzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyAubGluZS1pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMzAzYjtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuY2F0ZWdvcmllcy1zZWN0aW9uID4gLnNlY3Rpb24tbGluZXMgLmxpbmUtaXRlbS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzdiZjA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0ycHggMnB4IDEwcHggLTRweCBibGFjaztcbiAgYm94LXNoYWRvdzogLTJweCAycHggMTBweCAtNHB4IGJsYWNrO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5jYXRlZ29yaWVzLXNlY3Rpb24gLmFycm93LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzNweDtcbiAgcmlnaHQ6IC0xMXB4O1xuICB6LWluZGV4OiAxO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5jYXRlZ29yaWVzLXNlY3Rpb24gLmFycm93LWljb24gLnNxdWFyZSB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2JmMDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuY2F0ZWdvcmllcy1zZWN0aW9uIC5hcnJvdy1pY29uIGkuZmEuZmEtY2FyZXQtcmlnaHQge1xuICBmb250LXNpemU6IDUycHg7XG4gIGNvbG9yOiAjOTc3YmYwO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMS41cHg7XG4gIHJpZ2h0OiAwcHg7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLndpZGdldHMtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTMwM2I7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1oZWFkZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTc3YmYwO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyB7XG4gIHBhZGRpbmc6IDNweCAwcHg7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLndpZGdldHMtc2VjdGlvbiA+IC5zZWN0aW9uLWxpbmVzIC5mYS5mYS1wbHVzLWNpcmNsZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyA+IC5saW5lLWl0ZW1zLWdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBoZWlnaHQ6IDAlO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyA+IC5saW5lLWl0ZW1zLWdyaWQgPiAuZ3JpZC1pdGVtIHtcbiAgcGFkZGluZzogMCAxM3B4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXg6IDAgMzEuMzMlO1xuICBtYXJnaW46IDAgMSU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMjMzODQ1O1xuICBtaW4taGVpZ2h0OiAwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLndpZGdldHMtc2VjdGlvbiA+IC5zZWN0aW9uLWxpbmVzID4gLmxpbmUtaXRlbXMtZ3JpZCA+IC5ncmlkLWl0ZW0ge1xuICAgIGZsZXg6IDAgMTAwJTtcbiAgfVxufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC53aWRnZXRzLXNlY3Rpb24gPiAuc2VjdGlvbi1saW5lcyA+IC5saW5lLWl0ZW1zLWdyaWQgPiAuZ3JpZC1pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MjgzMTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAud2lkZ2V0cy1zZWN0aW9uID4gLnNlY3Rpb24tbGluZXMgPiAubGluZS1pdGVtcy1ncmlkID4gLmdyaWQtaXRlbSBwLmxpbmUtaXRlbSB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5hbmFseXRpY3MgI3dpZGdldC1zZWxlY3RvciAuYm90dG9tIHtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5ib3R0b20gPiAuc3VnZ2VzdGlvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgb3BhY2l0eTogMC43O1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5ib3R0b20gPiAuc3VnZ2VzdGlvbiBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAjd2lkZ2V0LXNlbGVjdG9yIC5ib3R0b20gPiAuc3VnZ2VzdGlvbiBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMGU1ZjA7XG59XG4uYW5hbHl0aWNzICN3aWRnZXQtc2VsZWN0b3IgLmJvdHRvbSA+IC5zdWdnZXN0aW9uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5hbmFseXRpY3MgI2Rhc2hib2FyZC1zZXR0aW5ncy1wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmFuYWx5dGljcyAjZGFzaGJvYXJkLXNldHRpbmdzLXBhbmVsID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5hbmFseXRpY3MgI2Rhc2hib2FyZC1zZXR0aW5ncy1wYW5lbCA+IGRpdiA+ICoge1xuICBtYXJnaW46IDBweCAzcHg7XG59XG4uYW5hbHl0aWNzICNkYXNoYm9hcmQtc2V0dGluZ3MtcGFuZWwgc2VsZWN0IHtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG59XG4uYW5hbHl0aWNzICNuby13aWRnZXRzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTUwcHg7XG59XG4uYW5hbHl0aWNzICNuby13aWRnZXRzLWNvbnRhaW5lciBpbWcuYmcge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5hbmFseXRpY3MgI25vLXdpZGdldHMtY29udGFpbmVyIC5pbXBhYy1pbmZvLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYW5hbHl0aWNzICNuby13aWRnZXRzLWNvbnRhaW5lciAuaW1wYWMtaW5mby1tZXNzYWdlIC5pbmZvLXRleHQge1xuICBmb250LXNpemU6IDI1cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1pbi1oZWlnaHQ6IDExNXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMsIDM4LCA0NSwgMC43KTtcbn1cbi5hbmFseXRpY3MgI3dpZGdldHMtc2VjdGlvbiAjd2lkZ2V0cy1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiA3MDBweDtcbn1cbi5hbmFseXRpY3MgI3dpZGdldHMtc2VjdGlvbiAucGxhY2VIb2xkZXJCb3gge1xuICBtYXJnaW46IDEycHg7XG4gIGhlaWdodDogMjY3cHg7XG4gIHdpZHRoOiAzMDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjYWJjNGM2O1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLmFuYWx5dGljcy5sb2FkLWZhaWxlZCBwIHtcbiAgZm9udC1zaXplOiAyMnB4O1xufVxuLmFuYWx5dGljcy5sb2FkLWZhaWxlZCAuc2Vjb25kLW1zZyBwIHtcbiAgY29sb3I6ICNlMDFmNzQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi50b29sdGlwLmltcGFjLXdpZGdldC1zZWxlY3Rvci10b29sdGlwIC50b29sdGlwLWlubmVyLm5nLWJpbmRpbmcge1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uZGhiLWNyZWF0ZS1tb2RhbCAuZGFzaGJvYXJkLWZvcm0gLmNvbC1zbS0yLmNvbnRyb2wtbGFiZWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmltcGFjLXdpZGdldC1zdWdnZXN0aW9uIC5tb2RhbC1ib2R5IGlucHV0LFxuLmltcGFjLXdpZGdldC1zdWdnZXN0aW9uIC5tb2RhbC1ib2R5IHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5pbXBhYy13aWRnZXQtc3VnZ2VzdGlvbiAubW9kYWwtYm9keSB0ZXh0YXJlYSB7XG4gIGhlaWdodDogMTUwcHg7XG59XG4uaW1wYWMtd2lkZ2V0LXN1Z2dlc3Rpb24gLm1vZGFsLWJvZHkgLnRoYW5rcy1tZXNzYWdlIHtcbiAgY29sb3I6ICNkYWUxNzM7XG59XG4ubW9kYWwtZm9vdGVyIC5sb2FkZXIge1xuICBjb2xvcjogd2hpdGU7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgYSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FiYzRjNjtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXItcm93IHtcbiAgbWFyZ2luLXRvcDogNTRweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXItcm93LnBkZi1tb2RlIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciB7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmJ0biB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLnRpdGxlLWNvbnRhaW5lciBoMSB7XG4gIG1hcmdpbjogMHB4O1xuICBjb2xvcjogYmxhY2s7XG4gIGN1cnNvcjogYXV0bztcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXRpdGxlIHtcbiAgY29sb3I6ICM5NzdiZjA7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciAuZHJvcGRvd24tY29udGFpbmVyIC5kYXNoYm9hcmQtdGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzczNGRlYjtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXRpdGxlIGkuZmEuZmEtcGVuY2lsIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXRpdGxlIGkuZmEuZmEtcGVuY2lsOmhvdmVyIHtcbiAgY29sb3I6ICNkYWUxNzM7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmRhc2hib2FyZC1zZWxlY3Qge1xuICBtYXJnaW46IDVweCAwcHggMTBweCAzMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk3N2JmMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5NzdiZjA7XG4gIHdpZHRoOiAzMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZWRlZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciAuZHJvcGRvd24tY29udGFpbmVyIC5kYXNoYm9hcmQtc2VsZWN0IC5vcHRpb24ge1xuICBjb2xvcjogIzE3MjYyZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXNlbGVjdCAub3B0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmRhc2hib2FyZC1zZWxlY3QgLm9wdGlvbi5jcmVhdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xuICBjb2xvcjogd2hpdGU7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4IDEwcHggNXB4IDEwcHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmRhc2hib2FyZC1zZWxlY3QgLm9wdGlvbi5jcmVhdGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM0ZGViO1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciAuZHJvcGRvd24tY29udGFpbmVyIC5kYXNoYm9hcmQtc2VsZWN0IC5vcHRpb24gaS5mYS5mYS1wZW5jaWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDE1JTtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5idXR0b25zLWJhciAuZHJvcGRvd24tY29udGFpbmVyIC5kYXNoYm9hcmQtc2VsZWN0IC5vcHRpb24gaS5mYS5mYS1wZW5jaWw6aG92ZXIge1xuICBjb2xvcjogIzczNGRlYjtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuZGFzaGJvYXJkLXNlbGVjdCAub3B0aW9uIHNwYW4ubmFtZSB7XG4gIHdpZHRoOiA4NSU7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuY2hhbmdlLW5hbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgbGVmdDogMjBweDtcbiAgd2lkdGg6IDYwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3MjYyZDtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI1cHggNHB4IGJsYWNrO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDI1cHggNHB4IGJsYWNrO1xuICB6LWluZGV4OiA1MDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggd2hpdGU7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmNoYW5nZS1uYW1lIC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5kcm9wZG93bi1jb250YWluZXIgLmRhdGEtc291cmNlLWxhYmVsIHtcbiAgY29sb3I6ICMxNzI2MmQ7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xuICBtYXJnaW46IDBweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAuYnV0dG9ucy1iYXIgLmxvYWRlci1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLmJ1dHRvbnMtYmFyIC5sb2FkZXItY29udGFpbmVyIC5sb2FkaW5nLXNwaW5uZXIge1xuICBjb2xvcjogIzY3QkJFOTtcbiAgZm9udC1zaXplOiA0MHB4O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLm5hdi5uYXYtdGFicyBsaTpsYXN0LWNoaWxkID4gYSxcbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAubmF2Lm5hdi1waWxscyBsaTpsYXN0LWNoaWxkID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLm5hdi5uYXYtdGFicyBsaTpsYXN0LWNoaWxkID4gYSB0YWItaGVhZGluZyBhLFxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5uYXYubmF2LXBpbGxzIGxpOmxhc3QtY2hpbGQgPiBhIHRhYi1oZWFkaW5nIGEge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5uYXYubmF2LXRhYnMgbGkgPiBhIHtcbiAgcGFkZGluZzogMTBweCA4cHggMTBweCAxNXB4O1xuICBtYXJnaW46IDAgMnB4IDAgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYmM0YzY7XG4gIGNvbG9yOiBibGFjaztcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAubmF2Lm5hdi10YWJzIGxpLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzk3N2JmMDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAubmF2Lm5hdi10YWJzIGxpOmxhc3QtY2hpbGQuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIC5uYXYubmF2LXBpbGxzIGxpID4gYSB7XG4gIG1pbi13aWR0aDogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG4jbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3IgLm5hdi5uYXYtcGlsbHMgbGk6bGFzdC1jaGlsZCB0YWItaGVhZGluZyBhIHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cbiNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAubmF2Lm5hdi1waWxscyBsaTpsYXN0LWNoaWxkLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuI21vZHVsZV9fZGFzaGJvYXJkLXNlbGVjdG9yIHRhYi1oZWFkaW5nIGEuY2xvc2UtbGluayB7XG4gIGJvcmRlci1ib3R0b206IDBweCBzb2xpZDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtOXB4O1xuICByaWdodDogMXB4O1xuICBjb2xvcjogYmxhY2s7XG59XG5kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yIC50ZW1wbGF0ZXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbmRhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IgLnRlbXBsYXRlcy1oZWFkZXIgLnRlbXBsYXRlcy10b2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbmRhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IgLnRlbXBsYXRlcy1oZWFkZXIgLnRlbXBsYXRlcy10b2dnbGUgaS5mYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmRhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IgLnRlbXBsYXRlcy1oZWFkZXIgLnRlbXBsYXRlcy10b2dnbGUgaS5mYS5mYS10b2dnbGUtb24ge1xuICBjb2xvcjogIzk3N2JmMDtcbn1cbmRhc2hib2FyZC10ZW1wbGF0ZXMtc2VsZWN0b3IgLnRlbXBsYXRlcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMXB4IDBweCAjY2NjO1xuICBoZWlnaHQ6IDEzMHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuZGFzaGJvYXJkLXRlbXBsYXRlcy1zZWxlY3RvciAudGVtcGxhdGVzIC50ZW1wbGF0ZSB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2VjZWM7XG59XG5kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yIC50ZW1wbGF0ZXMgLnRlbXBsYXRlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk2LCAyMzIsIDExOSwgMC42Mik7XG59XG5kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yIC50ZW1wbGF0ZXMgLnRlbXBsYXRlLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOSwgMTk3LCA1NywgMC42Mik7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAyMjBweDtcbiAgbWluLWhlaWdodDogOTVweDtcbiAgbWF4LWhlaWdodDogOTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG1hcmdpbjogMTBweCAwIDEwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkudHJpZ2dlcmVkLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkuYWRkOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNlMDFmNzQ7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaS5hZGQgLmtwaS10ZXh0IC5lbXBoYXNpcyB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpLmFkZDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpLmFkZDpob3ZlciAudG9wLWxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpLmFkZDpob3ZlciAua3BpLXRleHQge1xuICBjb2xvcjogYmxhY2s7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaS5hZGQ6aG92ZXIgLmtwaS10ZXh0IC5lbXBoYXNpcyB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaS5hZGQ6aG92ZXIgLmtwaS1pY29uIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkuYWRkOmhvdmVyIC5rcGktaWNvbiAuZmEtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkuZWRpdGluZyB7XG4gIG1pbi1oZWlnaHQ6IDE4NXB4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGk6aG92ZXIge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaS5zdGF0aWMgLmtwaS12YWx1ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAudG9wLWxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IG1vdmU7XG4gIHBhZGRpbmc6IDlweCA5cHggMHB4IDEycHg7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDdweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UtaW47XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAudG9wLWxpbmUudHJpZ2dlcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiA5MHB4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1jb250ZW50LmVkaXRpbmcge1xuICBtaW4taGVpZ2h0OiAxODBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1zaG93IHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgcGFkZGluZzogMTBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM4MHB4KSB7XG4gIC5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyB7XG4gICAgcGFkZGluZzogMTBweCAzcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAuZW1waGFzaXMge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAuZW1waGFzaXMgLnJlYWwtdmFsdWUge1xuICBjb2xvcjogIzY3Njc2Nztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAuY2FwdGlvbiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1zaG93IC5rcGktdGV4dCB7XG4gIHBhZGRpbmc6IDdweCAwO1xuICBjb2xvcjogZ3JleTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLWluO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1zaG93IC5rcGktdGV4dCA+IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAua3BpLXRleHQudHJpZ2dlcmVkIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1zaG93IC5rcGktdGV4dCAuY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2NXB4KSB7XG4gIC5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAua3BpLXRleHQgLmNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxuICAuYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLXNob3cgLmtwaS10ZXh0IC5lbXBoYXNpcyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLXNob3cgLmtwaS1pY29uIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiBncmV5O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW47XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLXNob3cgLmtwaS1pY29uLnRyaWdnZXJlZCB7XG4gIGNvbG9yOiBibGFjaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2NXB4KSB7XG4gIC5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktc2hvdyAua3BpLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG4gIH1cbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBhIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktbmFtZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktbmFtZSBoNiB7XG4gIG1hcmdpbjogMCAwIDVweCAwO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5yZWFsLXZhbHVlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmFsZXJ0LWNhcHRpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgYmFja2dyb3VuZDogI2ZmOTk5OTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDJweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktdGFyZ2V0LXdhdGNoYWJsZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAua3BpLXRhcmdldC11bml0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktdGFyZ2V0LXdhdGNoYWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjOGQ4ZDhkO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5rcGktdGFyZ2V0LXVuaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICByaWdodDogMDtcbiAgY29sb3I6ICM5YTlhOWE7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLnBhcmFtLW5hbWUge1xuICBmb250LXNpemU6IDg1JTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuYnRuLmJ0bi14cyB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSB7XG4gIC8qIEZsYXR0ZW4gZGVyIEJvb3RzdHJhcCAqL1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC53ZWxsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC53ZWxsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5uYXZiYXItaW5uZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLm5hdmJhci1pbm5lcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAucG9wb3Zlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAucG9wb3Zlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuYnRuLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5idG4sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLnRvb2x0aXAsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLnRvb2x0aXAsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgc2VsZWN0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIHNlbGVjdCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCB0ZXh0YXJlYSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSB0ZXh0YXJlYSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBwcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgcHJlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5wcm9ncmVzcyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAucHJvZ3Jlc3MsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLm1vZGFsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5tb2RhbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuYWRkLW9uLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5hZGQtb24sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmFsZXJ0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5hbGVydCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAudGFibGUtYm9yZGVyZWQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLnRhYmxlLWJvcmRlcmVkLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5uYXYgPiAuYWN0aXZlID4gYSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAubmF2ID4gLmFjdGl2ZSA+IGEsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmRyb3Bkb3duLW1lbnUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmRyb3Bkb3duLW1lbnUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLnRvb2x0aXAtaW5uZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLnRvb2x0aXAtaW5uZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmJhZGdlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5iYWRnZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAubGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbWctcG9sYXJvaWQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltZy1wb2xhcm9pZCB7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYm9keSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBib2R5LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGlucHV0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGlucHV0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IHNlbGVjdCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBzZWxlY3QsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgdGV4dGFyZWEsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgdGV4dGFyZWEge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGJvZHk6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJvZHk6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGlucHV0OjphZnRlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBpbnB1dDo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgc2VsZWN0OjphZnRlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBzZWxlY3Q6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IHRleHRhcmVhOjphZnRlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSB0ZXh0YXJlYTo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYm9keTo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJvZHk6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBpbnB1dDo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGlucHV0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgc2VsZWN0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgc2VsZWN0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgdGV4dGFyZWE6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSB0ZXh0YXJlYTo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBhOmhvdmVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgZmllbGRzZXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgZmllbGRzZXQge1xuICBtYXJnaW46IDAgMCAxLjc1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tcmFkaW8sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tcmFkaW8sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWlubGluZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWlubGluZSA+IC5pbS1mb3JtLWdyb3VwLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWlubGluZSA+IC5pbS1mb3JtLWdyb3VwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLWxlZnQ6IDAuMTc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTc1cmVtO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWlubGluZSA+IC5idG4sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0taW5saW5lID4gLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBpbnB1dCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBpbnB1dCB7XG4gIGhlaWdodDogMi4zNzVyZW07XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgc2VsZWN0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgcGFkZGluZzogMC4xNTYyNXJlbSAwLjE1NjI1cmVtIDAuMDc4MTI1cmVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgLmltLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC4zMTI1cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwLjE1NjI1cmVtO1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogI2IzYjNiMztcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yOHMgZWFzZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCAuaW0tYmFyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIC5pbS1iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDAuMDc4MTI1cmVtIHNvbGlkICM5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIC5pbS1iYXI6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCAuaW0tYmFyOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwLjE1NjI1cmVtO1xuICB3aWR0aDogMDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IC0wLjA3ODEyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjMzU4ZmRjO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMjhzIGVhc2UsIHdpZHRoIDAuMjhzIGVhc2U7XG4gIHotaW5kZXg6IDI7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMC4xNTYyNXJlbSAwLjE1NjI1cmVtIDAuMDc4MTI1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjhzIGVhc2U7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBpbnB1dFt0eXBlPVwiZmlsZVwiXSB+IC5pbS1iYXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImZpbGVcIl0gfiAuaW0tYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBzZWxlY3QsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgc2VsZWN0LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0OnZhbGlkLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0OnZhbGlkLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0LmZvcm0tZmlsZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBpbnB1dC5mb3JtLWZpbGUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXQuaGFzLXZhbHVlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0Lmhhcy12YWx1ZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTp2YWxpZCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTp2YWxpZCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYS5mb3JtLWZpbGUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhLmhhcy12YWx1ZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYS5oYXMtdmFsdWUge1xuICBjb2xvcjogIzMzMztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBzZWxlY3QgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBzZWxlY3QgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBpbnB1dDpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6dmFsaWQgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBpbnB1dDp2YWxpZCB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0LmZvcm0tZmlsZSB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0LmZvcm0tZmlsZSB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0Lmhhcy12YWx1ZSB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0Lmhhcy12YWx1ZSB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTp2YWxpZCB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOnZhbGlkIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuaGFzLXZhbHVlIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuaGFzLXZhbHVlIH4gLmltLWNvbnRyb2wtbGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjODA4MDgwO1xuICB0b3A6IC0xLjI1cmVtO1xuICBsZWZ0OiAwO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMgfiAuaW0tYmFyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IGxhYmVsLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCBsYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tZm9ybS1yYWRpbyBsYWJlbCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tZm9ybS1yYWRpbyBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1jaGVja2JveCBpbnB1dCxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tY2hlY2tib3ggaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWZvcm0tcmFkaW8gaW5wdXQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWZvcm0tcmFkaW8gaW5wdXQge1xuICB3aWR0aDogYXV0bztcbiAgb3BhY2l0eTogMC4wMDAwMDAwMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tcmFkaW8ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1yYWRpbyAuaW0taGVscGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0wLjMxMjVyZW07XG4gIGxlZnQ6IC0wLjMxMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjOTk5O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLXJhZGlvIC5pbS1oZWxwZXI6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tcmFkaW8gLmltLWhlbHBlcjo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLXJhZGlvIC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDAuMzEyNXJlbTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjhzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAwLjE1NjI1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tcmFkaW8gLmltLWhlbHBlcjo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLXJhZGlvIC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1OGZkYztcbiAgYm9yZGVyLWNvbG9yOiAjMzU4ZmRjO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyBsYWJlbDpob3ZlciAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1yYWRpbyBsYWJlbDpob3ZlciAuaW0taGVscGVyIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLXJhZGlvIGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyOjphZnRlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tcmFkaW8gaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1yYWRpbyBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IC5pbS1oZWxwZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWNoZWNrYm94IC5pbS1oZWxwZXIge1xuICBjb2xvcjogIzk5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIHotaW5kZXg6IDA7XG4gIGJvcmRlcjogMC4xNTYyNXJlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDAuMDc4MTI1cmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yOHMgZWFzZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IC5pbS1oZWxwZXI6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCAuaW0taGVscGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM1OGZkYztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjhzIGVhc2UsIGhlaWdodCAwcyBsaW5lYXIgMC4yOHM7XG4gIG9wYWNpdHk6IDA7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IC5pbS1oZWxwZXI6OmJlZm9yZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgdG9wOiAwLjgxMjVyZW07XG4gIGxlZnQ6IDAuNDc1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4wNzgxMjVyZW0gI2ZmZjtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWNoZWNrYm94IC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgdG9wOiAwLjM3NXJlbTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggbGFiZWw6aG92ZXIgLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tY2hlY2tib3ggbGFiZWw6aG92ZXIgLmltLWhlbHBlciB7XG4gIGNvbG9yOiAjMzU4ZmRjO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXIge1xuICBjb2xvcjogIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YWZ0ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yOHMgZWFzZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmFmdGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuNjI1cmVtO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjhzO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5pbS1yYWRpbyArIC5pbS1yYWRpbyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tcmFkaW8gKyAuaW0tcmFkaW8sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWNoZWNrYm94ICsgLmltLWNoZWNrYm94LFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1jaGVja2JveCArIC5pbS1jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLW1lc3NhZ2VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1tZXNzYWdlcyB7XG4gIGZvbnQtc2l6ZTogMS4wNDE2NjY2N3JlbTtcbiAgY29sb3I6ICNlMDFmNzQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjI4cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKTtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaGFzLWVycm9yIC5sZWdlbmQubGVnZW5kLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IgLmxlZ2VuZC5sZWdlbmQsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1mb3JtLWdyb3VwIC5pbS1jb250cm9sLWxhYmVsLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmhhcy1lcnJvci5pbS1mb3JtLWdyb3VwIC5pbS1jb250cm9sLWxhYmVsLmltLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogI2UwMWY3NDtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaGFzLWVycm9yLmltLWZvcm0tZ3JvdXAgLmltLW1lc3NhZ2VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1jaGVja2JveCAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmhhcy1lcnJvci5pbS1jaGVja2JveCAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1yYWRpbyAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmhhcy1lcnJvci5pbS1yYWRpbyAuaW0tbWVzc2FnZXMsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1mb3JtLXJhZGlvIC5pbS1tZXNzYWdlcyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaGFzLWVycm9yLmltLWZvcm0tcmFkaW8gLmltLW1lc3NhZ2VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5oYXMtZXJyb3IuaW0tY2hlY2tib3ggLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaGFzLWVycm9yLmltLWNoZWNrYm94IC5pbS1oZWxwZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmhhcy1lcnJvci5pbS1yYWRpbyAuaW0taGVscGVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IuaW0tcmFkaW8gLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaGFzLWVycm9yLmltLWZvcm0tcmFkaW8gLmltLWhlbHBlcixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaGFzLWVycm9yLmltLWZvcm0tcmFkaW8gLmltLWhlbHBlciB7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICBvcGFjaXR5OiAxO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IC5oYXMtZXJyb3IgLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5oYXMtZXJyb3IgLmltLWJhcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2UwMWY3NDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWJ1dHRvbixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjNjBhN2U0O1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW46IDAuN3JlbSAwO1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMS43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tYnV0dG9uIHNwYW4sXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgLmltLWJ1dHRvbiBzcGFuIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tYnV0dG9uOmhvdmVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1idXR0b246aG92ZXIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZS1pbjtcbiAgYmFja2dyb3VuZDogIzI1ODNkMztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tYnV0dG9uOmFjdGl2ZSxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSAuaW0tYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCk7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgLmltLWJ1dHRvbiBhOmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1idXR0b24gYTpmb2N1cyxcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCAuaW0tYnV0dG9uOmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIC5pbS1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYnV0dG9uLmltLWZhYixcbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktbm8tZGF0YSBidXR0b24uaW0tZmFiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHdpZHRoOiA0NnB4O1xuICBmbGV4OiAwIDAgNTZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDRweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBidXR0b24uaW0tZmFiOmZvY3VzLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJ1dHRvbi5pbS1mYWI6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1lZGl0IGJ1dHRvbi5pbS1mYWI6YWN0aXZlLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJ1dHRvbi5pbS1mYWI6YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBidXR0b24uaW0tZmFiLmltLXByaW1hcnksXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgYnV0dG9uLmltLWZhYi5pbS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZWRpdCBidXR0b24uaW0tZmFiLmltLXByaW1hcnk6aG92ZXIsXG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLW5vLWRhdGEgYnV0dG9uLmltLWZhYi5pbS1wcmltYXJ5OmhvdmVyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UtaW47XG4gIGJhY2tncm91bmQ6ICMyNTgzZDM7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYnV0dG9uLmltLWZhYi5pbS13YXJuLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJ1dHRvbi5pbS1mYWIuaW0td2FybiB7XG4gIGJhY2tncm91bmQ6ICNlMDFmNzQ7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSAua3BpLWVkaXQgYnV0dG9uLmltLWZhYi5pbS13YXJuOmhvdmVyLFxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgLmtwaS1uby1kYXRhIGJ1dHRvbi5pbS1mYWIuaW0td2Fybjpob3ZlciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLWluO1xuICBiYWNrZ3JvdW5kOiAjY2ExYzY4O1xufVxuLmFuYWx5dGljcyAuaW1wYWMta3BpIC5rcGkgYnV0dG9uLmtwaS1hbGVydHMuaW0tZmFiLmltLXByaW1hcnkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEycHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGJhY2tncm91bmQ6ICM0YzQ3NDk7XG59XG4uYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSBidXR0b24ua3BpLWFsZXJ0cy5pbS1mYWIuaW0tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91ZDogIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIGJ1dHRvbi5rcGktcmVtb3ZlLmltLWZhYi5pbS13YXJuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMnB4O1xuICByaWdodDogLTExcHg7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgYmFja2dyb3VuZDogIzRjNDc0OTtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIGJ1dHRvbi5rcGktcmVtb3ZlLmltLWZhYi5pbS13YXJuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2NhMWM2ODtcbn1cbi5hbmFseXRpY3MgLmltcGFjLWtwaSAua3BpIC5rcGktZGF0YS1sb2FkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogOTVweDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua2V5LXN0YXRzIC5rcGkge1xuICBtaW4taGVpZ2h0OiA4MHB4O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgLyogRmxhdHRlbiBkZXIgQm9vdHN0cmFwICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzVweCkge1xuICAuYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC53ZWxsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5uYXZiYXItaW5uZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLnBvcG92ZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmJ0bixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAudG9vbHRpcCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBpbnB1dCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBzZWxlY3QsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgdGV4dGFyZWEsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgcHJlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5wcm9ncmVzcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAubW9kYWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmFkZC1vbixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuYWxlcnQsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLnRhYmxlLWJvcmRlcmVkLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5uYXYgPiAuYWN0aXZlID4gYSxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuZHJvcGRvd24tbWVudSxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAudG9vbHRpcC1pbm5lcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuYmFkZ2UsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmxhYmVsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbWctcG9sYXJvaWQge1xuICAtbW96LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJvZHksXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgaW5wdXQsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgc2VsZWN0LFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIHRleHRhcmVhIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBib2R5OjphZnRlcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBpbnB1dDo6YWZ0ZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgc2VsZWN0OjphZnRlcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyB0ZXh0YXJlYTo6YWZ0ZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYm9keTo6YmVmb3JlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGlucHV0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgc2VsZWN0OjpiZWZvcmUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgdGV4dGFyZWE6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgZmllbGRzZXQge1xuICBtYXJnaW46IDAgMCAxLjc1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tcmFkaW8sXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0taW5saW5lID4gLmltLWZvcm0tZ3JvdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMC4xNzVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4xNzVyZW07XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0taW5saW5lID4gLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dCB7XG4gIGhlaWdodDogMi4zNzVyZW07XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBwYWRkaW5nOiAwLjE1NjI1cmVtIDAuMTU2MjVyZW0gMC4wNzgxMjVyZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCAuaW0tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjMxMjVyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDAuMTU2MjVyZW07XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjYjNiM2IzO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI4cyBlYXNlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIC5pbS1iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDAuMDc4MTI1cmVtIHNvbGlkICM5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIC5pbS1iYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDAuMTU2MjVyZW07XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogLTAuMDc4MTI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICMzNThmZGM7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4yOHMgZWFzZSwgd2lkdGggMC4yOHMgZWFzZTtcbiAgei1pbmRleDogMjtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwLjE1NjI1cmVtIDAuMTU2MjVyZW0gMC4wNzgxMjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMS45O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yOHMgZWFzZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJmaWxlXCJdIH4gLmltLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgc2VsZWN0LFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0OnZhbGlkLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0LmZvcm0tZmlsZSxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dC5oYXMtdmFsdWUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWE6dmFsaWQsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhLmhhcy12YWx1ZSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHNlbGVjdCB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6dmFsaWQgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dC5mb3JtLWZpbGUgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dC5oYXMtdmFsdWUgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOnZhbGlkIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuZm9ybS1maWxlIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgdGV4dGFyZWEuaGFzLXZhbHVlIH4gLmltLWNvbnRyb2wtbGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjODA4MDgwO1xuICB0b3A6IC0xLjI1cmVtO1xuICBsZWZ0OiAwO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCBpbnB1dDpmb2N1cyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzIH4gLmltLWNvbnRyb2wtbGFiZWwsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMgfiAuaW0tY29udHJvbC1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB+IC5pbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIGlucHV0OmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIH4gLmltLWJhcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IGxhYmVsLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLXJhZGlvIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IGlucHV0LFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1mb3JtLXJhZGlvIGlucHV0IHtcbiAgd2lkdGg6IGF1dG87XG4gIG9wYWNpdHk6IDAuMDAwMDAwMDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tcmFkaW8ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1yYWRpbyAuaW0taGVscGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0wLjMxMjVyZW07XG4gIGxlZnQ6IC0wLjMxMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjOTk5O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1yYWRpbyAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLXJhZGlvIC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDAuMzEyNXJlbTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjhzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAwLjE1NjI1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tcmFkaW8gLmltLWhlbHBlcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU4ZmRjO1xuICBib3JkZXItY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLXJhZGlvIGxhYmVsOmhvdmVyIC5pbS1oZWxwZXIge1xuICBjb2xvcjogIzM1OGZkYztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tcmFkaW8gaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1yYWRpbyBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggLmltLWhlbHBlciB7XG4gIGNvbG9yOiAjOTk5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgei1pbmRleDogMDtcbiAgYm9yZGVyOiAwLjE1NjI1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMC4wNzgxMjVyZW07XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI4cyBlYXNlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1jaGVja2JveCAuaW0taGVscGVyOjpiZWZvcmUsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IC5pbS1oZWxwZXI6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU4ZmRjO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgY29udGVudDogJyc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yOHMgZWFzZSwgaGVpZ2h0IDBzIGxpbmVhciAwLjI4cztcbiAgb3BhY2l0eTogMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgdG9wOiAwLjgxMjVyZW07XG4gIGxlZnQ6IDAuNDc1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4wNzgxMjVyZW0gI2ZmZjtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggLmltLWhlbHBlcjo6YWZ0ZXIge1xuICB0b3A6IDAuMzc1cmVtO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1jaGVja2JveCBsYWJlbDpob3ZlciAuaW0taGVscGVyIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuaW0taGVscGVyOjphZnRlcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5pbS1oZWxwZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjI4cyBlYXNlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuNjI1cmVtO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmltLWhlbHBlcjo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjhzO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1yYWRpbyArIC5pbS1yYWRpbyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tY2hlY2tib3ggKyAuaW0tY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1tZXNzYWdlcyB7XG4gIGZvbnQtc2l6ZTogMS4wNDE2NjY2N3JlbTtcbiAgY29sb3I6ICNlMDFmNzQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjI4cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKTtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yIC5sZWdlbmQubGVnZW5kLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0tY29udHJvbC1sYWJlbC5pbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICNlMDFmNzQ7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmhhcy1lcnJvci5pbS1mb3JtLWdyb3VwIC5pbS1tZXNzYWdlcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yLmltLWNoZWNrYm94IC5pbS1tZXNzYWdlcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yLmltLXJhZGlvIC5pbS1tZXNzYWdlcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yLmltLWZvcm0tcmFkaW8gLmltLW1lc3NhZ2VzLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5oYXMtZXJyb3IuaW0tZm9ybS1ncm91cCAuaW0taGVscGVyLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5oYXMtZXJyb3IuaW0tY2hlY2tib3ggLmltLWhlbHBlcixcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yLmltLXJhZGlvIC5pbS1oZWxwZXIsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmhhcy1lcnJvci5pbS1mb3JtLXJhZGlvIC5pbS1oZWxwZXIge1xuICBjb2xvcjogI2UwMWY3NDtcbiAgb3BhY2l0eTogMTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaGFzLWVycm9yIC5pbS1iYXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNlMDFmNzQ7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICM2MGE3ZTQ7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbjogMC43cmVtIDA7XG4gIHBhZGRpbmc6IDAuNDM3NXJlbSAxLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1idXR0b24gc3BhbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLWluO1xuICBiYWNrZ3JvdW5kOiAjMjU4M2QzO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIC5pbS1idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyAuaW0tYnV0dG9uIGE6Zm9jdXMsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgLmltLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHdpZHRoOiA0NnB4O1xuICBmbGV4OiAwIDAgNTZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDRweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCk7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5pbS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzM1OGZkYztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmltLXByaW1hcnk6aG92ZXIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZS1pbjtcbiAgYmFja2dyb3VuZDogIzI1ODNkMztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmltLXdhcm4ge1xuICBiYWNrZ3JvdW5kOiAjZTAxZjc0O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuaW0td2Fybjpob3ZlciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLWluO1xuICBiYWNrZ3JvdW5kOiAjY2ExYzY4O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGEge1xuICBjb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5hZGQta3Bpcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmVkaXQta3Bpcyxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLnRvZ2dsZS1zaG93LWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjhzIGVhc2UtaW47XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5hZGQta3Bpcy5pbS1wcmltYXJ5LFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLmltLXByaW1hcnksXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi50b2dnbGUtc2hvdy1jb250ZW50LmltLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNGM0NzQ5O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuYWRkLWtwaXMuaW0tcHJpbWFyeS5kaXNhYmxlZCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmVkaXQta3Bpcy5pbS1wcmltYXJ5LmRpc2FibGVkLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIudG9nZ2xlLXNob3ctY29udGVudC5pbS1wcmltYXJ5LmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI2IyYjVjMTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmFkZC1rcGlzLmltLXByaW1hcnkuZGlzYWJsZWQgYSxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmVkaXQta3Bpcy5pbS1wcmltYXJ5LmRpc2FibGVkIGEsXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi50b2dnbGUtc2hvdy1jb250ZW50LmltLXByaW1hcnkuZGlzYWJsZWQgYSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5hZGQta3Bpcy5pbS1wcmltYXJ5OmhvdmVyOm5vdCguZGlzYWJsZWQpLFxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLmltLXByaW1hcnk6aG92ZXI6bm90KC5kaXNhYmxlZCksXG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi50b2dnbGUtc2hvdy1jb250ZW50LmltLXByaW1hcnk6aG92ZXI6bm90KC5kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLnRvZ2dsZS1zaG93LWNvbnRlbnQge1xuICB0b3A6IC0xNXB4O1xuICByaWdodDogLTE1cHg7XG4gIHotaW5kZXg6IDEwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIudG9nZ2xlLXNob3ctY29udGVudCB7XG4gICAgdG9wOiAtMzBweDtcbiAgICByaWdodDogLTE0cHg7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMgYnV0dG9uLmltLWZhYi5hZGQta3BpcyB7XG4gIHRvcDogMzBweDtcbiAgcmlnaHQ6IC0xNXB4O1xuICB6LWluZGV4OiAxMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3NXB4KSB7XG4gIC5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuYWN0aW9ucyBidXR0b24uaW0tZmFiLmFkZC1rcGlzIHtcbiAgICB0b3A6IC0zMHB4O1xuICAgIHJpZ2h0OiAzM3B4O1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzIHtcbiAgdG9wOiA3NXB4O1xuICByaWdodDogLTE1cHg7XG4gIHotaW5kZXg6IDEwO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLmVkaXRpbmcge1xuICBiYWNrZ3JvdW5kOiAjMzU4ZmRjO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLmVkaXRpbmc6aG92ZXI6bm90KC5kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjNzZiM2U3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzIHtcbiAgICB0b3A6IC0zMHB4O1xuICAgIHJpZ2h0OiA3OXB4O1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50LWJ1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG59XG4uYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmNvbnRlbnQge1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCA4cHggLTRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyNXB4KSB7XG4gIC5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCB7XG4gICAgcGFkZGluZzogMCA2MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzVweCkge1xuICAuYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAuaW1wYWMta3BpIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYW5hbHl0aWNzIGtwaXMtYmFyID4gLmtwaXMgLmNvbnRlbnQgLmltcGFjLWtwaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAuaW1wYWMta3BpIC5rcGkuYWRkIC5rcGktc2hvdyAuY2FwdGlvbiB7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50IC50aXRsZSAudGV4dC1jZW50ZXIge1xuICBsaW5lLWhlaWdodDogMztcbiAgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzO1xuICBmb250LXNpemU6IGxhcmdlcjtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAudGl0bGUgLmJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogLTEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMWU1NWM7XG4gIGNvbG9yOiAjNGY1OTU5O1xuICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAtMXB4O1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50IC50aXRsZSAubm8ta3BpLXRlbXBsYXRlcyB7XG4gIGNvbG9yOiAjYWZhZGI1O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50IC5hZGQtYmFyIHtcbiAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAua3BpLWxvYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMTVweDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAuZGF0ZXMtcGlja2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA0MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rcGlzIC5jb250ZW50IC5kYXRlcy1waWNrZXItY29udGFpbmVyIC5zZHAtZnJvbS1sYWJlbCxcbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyAuY29udGVudCAuZGF0ZXMtcGlja2VyLWNvbnRhaW5lciAuc2RwLXRvLWxhYmVsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua2V5LXN0YXRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDVweCAwcHg7XG59XG4uYW5hbHl0aWNzLnBkZi1tb2RlIGtwaXMtYmFyID4gLmtwaXMgLmFjdGlvbnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuLndpZGdldC1pdGVtIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgcGFkZGluZzogMTJweDtcbn1cbi53aWRnZXQtaXRlbS5wZGYtbW9kZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMnB4IDBweDtcbn1cbi53aWRnZXQtaXRlbSAudG9wLWxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogbW92ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDlweCA5cHggMHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMHB4IDBweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2M4ZDdkOTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbWluLWhlaWdodDogNDFweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDhweCAtNHB4O1xuICBib3gtc2hhZG93OiAwcHggMXB4IDhweCAtNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB6LWluZGV4OiA0O1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA5cHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggNXB4IDVweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2M4ZDdkOTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCA4cHggLTRweDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCA4cHggLTRweDtcbiAgbWluLWhlaWdodDogMjUwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLndpZGdldC1pdGVtIC5jb250ZW50IHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICB9XG4gIC53aWRnZXQtaXRlbSAuY29udGVudCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyNXB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5lZGl0IHtcbiAgbWF4LWhlaWdodDogMjMwcHg7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGNvbG9yOiAjNUI2NjY3O1xuICBwYWRkaW5nOiAycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi53aWRnZXQtaXRlbSAuY29udGVudCAuZWRpdCAuYm90dG9tLWJ1dHRvbnMgLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHBhZGRpbmc6IDNweCAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQgLmJvdHRvbS1idXR0b25zIC5idG4uYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjNGM0O1xuICBib3JkZXI6IHNvbGlkIDFweCAjYThhYmFiO1xuICBjb2xvcjogd2hpdGU7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQgLmJvdHRvbS1idXR0b25zIC5idG4uYnRuLWRlZmF1bHQ6aG92ZXIge1xuICBib3JkZXI6IHNvbGlkIDFweCAjOGU5MjkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhYmFiO1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5lZGl0IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQgLnBhcnQge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHggMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZGZlMmUyO1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5lZGl0IC5wYXJ0IGg1IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMHB4IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4ud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmVkaXQgLnBhcnQgbGFiZWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5lZGl0IC5wYXJ0IHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICBtYXJnaW46IDBweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2FjYjBiMTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNzI3MjhiO1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50LmFjY2Vzc2libGUge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLndpZGdldC1pdGVtIC5jb250ZW50IC5jb250ZW50LXRlbXBsYXRlLXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4ud2lkZ2V0LWl0ZW0ucGRmLW1vZGUgLmNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5jb250ZW50IC5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG59XG4ud2lkZ2V0LWl0ZW0ucGRmLW1vZGUgLmNvbnRlbnQgLmZhLXBsdXMtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDdcIjtcbn1cbi53aWRnZXQtaXRlbS5wZGYtbW9kZSAuY29udGVudCAubGVnZW5kIHtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5jb250ZW50IC5jaGFydC1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5jb250ZW50IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAubWVzc2FnZSB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogMTAwJTtcbn1cbi53aWRnZXQtaXRlbS5wZGYtbW9kZSAuaW5jbHVkZS10by1wZGYudGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyKjEycHggKTtcbiAgei1pbmRleDogMztcbiAgcGFkZGluZy1yaWdodDogMXB4O1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5pbmNsdWRlLXRvLXBkZi50aXRsZSBoNiB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkM5Mjg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xufVxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5pbmNsdWRlLXRvLXBkZi50aWNrIGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzUlO1xuICBsZWZ0OiA0NiU7XG4gIGZvbnQtc2l6ZTogMTAwcHg7XG4gIG9wYWNpdHk6IC41O1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogYmxhY2s7XG59XG4ud2lkZ2V0LWl0ZW0ucGRmLW1vZGUgLmluY2x1ZGUtdG8tcGRmIC53aWRnZXQtaG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDlweDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgZWFzZSAuNXM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIGVhc2UgLjVzO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuNXM7XG4gIHotaW5kZXg6IDE7XG59XG4ud2lkZ2V0LWl0ZW0ucGRmLW1vZGUgLmluY2x1ZGUtdG8tcGRmIC53aWRnZXQtaG92ZXI6aG92ZXIge1xuICBvcGFjaXR5OiAuNTtcbiAgYmFja2dyb3VuZDogI0NDQ0ZEMDtcbn1cbi53aWRnZXQtaXRlbSAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmRhdGEtbm90LWZvdW5kLFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzVCNjY2Nztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAub3ZlcmxheSxcbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQgLm92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0cHgpO1xuICB0b3A6IDJweDtcbiAgbGVmdDogMnB4O1xuICBvcGFjaXR5OiAwLjY7XG4gIHotaW5kZXg6IDM7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2UsXG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5tZXNzYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEyNXB4O1xuICBsZWZ0OiA1MCU7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDg1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjhmOTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDI1cHggMHB4O1xuICB6LWluZGV4OiA0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmRhdGEtbm90LWZvdW5kIC5tZXNzYWdlIC50aXRsZSxcbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2UgLnRpdGxlIHtcbiAgcGFkZGluZzogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkyODMxO1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbjogLTFweCAtMXB4IDEwcHggLTFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAubWVzc2FnZSBwLFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCAubWVzc2FnZSBwIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2UgLmJ0bixcbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2UgLmJ0biB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAuZXhhbXBsZSxcbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQgLmV4YW1wbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTI4MzE7XG4gIHBhZGRpbmc6IDNweDtcbiAgei1pbmRleDogNjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5kYXRhLW5vdC1mb3VuZCAuZXhhbXBsZSBhLFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCAuZXhhbXBsZSBhIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICNkYWUxNzM7XG59XG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5tZXNzYWdlIHtcbiAgd2lkdGg6IDkwJTtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggc2lsdmVyO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCAubWVzc2FnZSBwIHtcbiAgbWFyZ2luOiA1cHg7XG59XG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5vdmVybGF5LFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCAudGl0bGUsXG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5idG4sXG4uYW5hbHl0aWNzIC5rcGkgLmRhdGEtbm90LWZvdW5kIC5leGFtcGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0cHgpO1xuICB0b3A6IDJweDtcbiAgbGVmdDogMnB4O1xuICBvcGFjaXR5OiAwLjY7XG4gIHotaW5kZXg6IDU7XG59XG4jdHJhbnNhY3Rpb25zLWFkZCAubWVzc2FnZSB7XG4gIHotaW5kZXg6IDY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWluLWhlaWdodDogMTYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB0b3A6IDQ1cHg7XG4gIGxlZnQ6IDclO1xuICB3aWR0aDogODYlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmOGY5O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMjVweCAwcHg7XG59XG4jdHJhbnNhY3Rpb25zLWFkZCAubWVzc2FnZSAudGl0bGUge1xuICBwYWRkaW5nOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTI4MzE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luOiAtMXB4IC0xcHggMTBweCAtMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2Uge1xuICB0b3A6IDMwcHg7XG4gIGxlZnQ6IDM1JTtcbiAgd2lkdGg6IDMwJTtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIHtcbiAgcGFkZGluZzogMHB4IDEwcHg7XG59XG4jdHJhbnNhY3Rpb25zLWFkZCAubWVzc2FnZSAuZm9ybSA+IGxhYmVsLFxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2UgLmZvcm0gLmNvbWluZy1zb29uID4gbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2UgLmZvcm0gaW5wdXQuZm9ybS1jb250cm9sIHtcbiAgd2lkdGg6IDkwJTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5idG4tZ3JvdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMjJweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5idG4tZ3JvdXAgc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggc2lsdmVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiAuYmFkZ2Uge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2UgLmZvcm0gLmNvbWluZy1zb29uIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiAuYnRuLWdyb3VwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiAuYnRuLWdyb3VwIHNlbGVjdCB7XG4gIGhlaWdodDogMjJweDtcbn1cbiN0cmFuc2FjdGlvbnMtYWRkIC5tZXNzYWdlIC5mb3JtIC5jb21pbmctc29vbiAuYnRuLWdyb3VwIC5idG4ge1xuICBmbG9hdDogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjODg4ODg4O1xufVxuI3RyYW5zYWN0aW9ucy1hZGQgLm1lc3NhZ2UgLmJvdHRvbSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4uYW5hbHl0aWNzIGNvbW1vbi1kZWxldGUtd2lkZ2V0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xufVxuLmFuYWx5dGljcyBjb21tb24tZGVsZXRlLXdpZGdldCAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDRweCk7XG4gIHRvcDogMnB4O1xuICBsZWZ0OiAycHg7XG4gIG9wYWNpdHk6IDAuNjtcbiAgei1pbmRleDogNTtcbn1cbi5hbmFseXRpY3MgY29tbW9uLWRlbGV0ZS13aWRnZXQgLm1lc3NhZ2Uge1xuICB6LWluZGV4OiA2O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgdG9wOiA0NXB4O1xuICBsZWZ0OiA3JTtcbiAgd2lkdGg6IDg2JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjhmOTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDI1cHggMHB4O1xufVxuLmFuYWx5dGljcyBjb21tb24tZGVsZXRlLXdpZGdldCAubWVzc2FnZSAudGl0bGUge1xuICBwYWRkaW5nOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTI4MzE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luOiAtMXB4IC0xcHggMTBweCAtMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmFuYWx5dGljcyBjb21tb24tZGVsZXRlLXdpZGdldCAubWVzc2FnZSAubG9hZGVyIGkuZmEuZmEtc3Bpbm5lciB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cbi5hbmFseXRpY3MgY29tbW9uLWRlbGV0ZS13aWRnZXQgLm1lc3NhZ2UgcCB7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xufVxuLmFuYWx5dGljcyBjb21tb24tZGVsZXRlLXdpZGdldCAubWVzc2FnZSBidXR0b24uYnRuIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudG9wIHtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50b3AgYS5iYWNrLWxpbmsge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50b3AgLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDBweDtcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudGFibGUtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogY2FsYyg1NjVweCAtIDYwcHgpO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudGFibGUtY29udGFpbmVyIGRpdlt1aWItZGF0ZXBpY2tlci1wb3B1cC13cmFwXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudGFibGUtY29udGFpbmVyIGlucHV0LmJ0bi5idG4teHMge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50YWJsZS1jb250YWluZXIgYnV0dG9uLmJ0bi5yZXNldC1kYXRlIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cbiN0cmFuc2FjdGlvbnMtbGlzdCAudGFibGUtY29udGFpbmVyIC5mYS5mYS10aW1lcyB7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jdHJhbnNhY3Rpb25zLWxpc3QgLnRhYmxlLWNvbnRhaW5lciB0ci50b3RhbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50YWJsZS1jb250YWluZXIgdHIudG90YWwuaW52b2ljZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzFkMWIxO1xufVxuI3RyYW5zYWN0aW9ucy1saXN0IC50YWJsZS1jb250YWluZXIgdHIudG90YWwuYmlsbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJhZWI5O1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLmN1cnJlbmN5IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3MuY3VycmVuY3kgc2VsZWN0IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyAuc2hvdy1zdGF0dXMge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgY29sb3I6ICM5YmE2YTc7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5zaG93LXN0YXR1czpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5zaG93LXN0YXR1cyAuZmEuZmEtaW5mbyB7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyAuc3RhdHVzLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA1cHggN3B4IDVweCAwcHg7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5zdGF0dXMtYnRuIGkge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5zdGF0dXMtYnRuIGkuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUge1xuICBjb2xvcjogI2ZmNzMwMDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnN0YXR1cy1idG4gaS5mYS1jaGVjayB7XG4gIGNvbG9yOiAjZDFlNTVjO1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyAucG9wb3ZlciB7XG4gIG1heC13aWR0aDogNTUwcHg7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5wb3BvdmVyIC5jb25uZWN0b3Ige1xuICBwYWRkaW5nOiA0cHggMTNweDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnBvcG92ZXIgLmNvbm5lY3Rvci5hZGQtc2VwZXJhdG9yIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xufVxuLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyAucG9wb3ZlciAucG9wb3Zlci1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogNHB4IDEzcHg7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5wb3BvdmVyIC5wb3BvdmVyLWZvb3RlciBwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnBvcG92ZXIgLnBvcG92ZXItZm9vdGVyLnJlbW92ZS1zZXBlcmF0b3Ige1xuICBib3JkZXI6IDA7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5iYWRnZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnN1Y2Nlc3MgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZTU1Yztcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnBlbmRpbmcgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzMwMDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnJ1bm5pbmcgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzMwMDtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLmVycm9yIC5iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDFlNzk7XG59XG4uYW5hbHl0aWNzIC5kYXNoYm9hcmQtc2V0dGluZ3Muc3luYy1hcHBzIC5mYWlsZWQgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWU3OTtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLnVua25vd24gLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkMWU3OTtcbn1cbi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5zeW5jLWFwcHMgLmRpc2Nvbm5lY3RlZCAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxZTc5O1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IDBweCAjY2NjO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdCB7XG4gIG1heC1oZWlnaHQ6IDI4MHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0gLmJhZGdlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLnN1Y2Nlc3MgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZTU1Yztcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS5wZW5kaW5nIC5iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjczMDA7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0ucnVubmluZyAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3MzAwO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmVycm9yIC5iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDFlNzk7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0uZmFpbGVkIC5iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDFlNzk7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0udW5rbm93biAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxZTc5O1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmRpc2Nvbm5lY3RlZCAuYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxZTc5O1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtIC5tZXNzYWdlIHtcbiAgcGFkZGluZzogM3B4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiAzMXB4O1xuICBtYXJnaW4tdG9wOiA5cHg7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0gLm1lc3NhZ2UgcCB7XG4gIG1hcmdpbjogMDtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS5zdWNjZXNzIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDU1LCAwLjA4KTtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS5wZW5kaW5nIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDExOCwgMCwgMC4wOCk7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0ucnVubmluZyAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxMTgsIDAsIDAuMDgpO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmVycm9yIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMDgpO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmZhaWxlZCAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjA4KTtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS51bmtub3duIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMDgpO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAubW9kYWwtbGlzdC1pdGVtLmRpc2Nvbm5lY3RlZCAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjA4KTtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWxpc3QtaXRlbS53aXRoLW1lc3NhZ2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5tb2RhbC1saXN0LWl0ZW0ud2l0aC1tZXNzYWdlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLm1vZGFsLWZvb3RlciB7XG4gIGJvcmRlcjogMDtcbn1cbiNzeW5jLWFwcHMtbW9kYWwgLmZhIHtcbiAgcGFkZGluZzogMHB4IDEwcHg7XG59XG4jc3luYy1hcHBzLW1vZGFsIC5mYS5lcnJvciB7XG4gIGNvbG9yOiAjRkYwMDAwO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAuZmEud2FybiB7XG4gIGNvbG9yOiAjZmY3MzAwO1xufVxuI3N5bmMtYXBwcy1tb2RhbCAuZmEuc3VjY2VzcyB7XG4gIGNvbG9yOiAjNDdmZjAwO1xufVxuY2hhcnQtdGhyZXNob2xkIC5hdHRhY2gtcGFuZWwge1xuICBwYWRkaW5nOiA1cHggMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDEzMiwgMjI4LCAwLjE2KTtcbn1cbmNoYXJ0LXRocmVzaG9sZCAuYXR0YWNoLXBhbmVsID4gLmF0dGFjaC1wYW5lbC10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuY2hhcnQtdGhyZXNob2xkIC5hdHRhY2gtcGFuZWwgPiAuYXR0YWNoLXBhbmVsLXRleHQgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuY2hhcnQtdGhyZXNob2xkIC5hdHRhY2gtcGFuZWwgLnBhbmVsLXRleHQtbGFiZWwge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbmNoYXJ0LXRocmVzaG9sZCAuYXR0YWNoLXBhbmVsIC5wYW5lbC10ZXh0LWlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDFweCB3aGl0ZTtcbiAgcGFkZGluZzogM3B4O1xufVxuY2hhcnQtdGhyZXNob2xkIC5hdHRhY2gtcGFuZWwgLnBhbmVsLXRleHQtY3VycmVuY3kge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDA7XG59XG5jaGFydC10aHJlc2hvbGQgLmFjdGlvbi1idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5jaGFydC10aHJlc2hvbGQgLmFjdGlvbi1idXR0b25zIGJ1dHRvbiB7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbmNoYXJ0LXRocmVzaG9sZCAuYWN0aW9uLWJ1dHRvbnMgYnV0dG9uLmxvYWRpbmcge1xuICBwYWRkaW5nOiAzcHggMjBweDtcbn1cbi5jdXJyZW5jeS1jb252ZXJzaW9ucyBpbWcge1xuICB3aWR0aDogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmN1cnJlbmN5LWNvbnZlcnNpb25zLnBvcG92ZXIgLnBvcG92ZXItdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmVkaXRhYmxlLXRpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMjJweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5lZGl0YWJsZS10aXRsZSAudGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjNGY1OTU5O1xuICBjdXJzb3I6IHRleHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBsaW5lLWhlaWdodDogMS45O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmVkaXRhYmxlLXRpdGxlIC5lZGl0YWJsZS13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5lZGl0YWJsZS10aXRsZSAuZWRpdGFibGUtd3JhcCAuZWRpdGFibGUtY29udHJvbHMge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuZWRpdGFibGUtdGl0bGUgLmVkaXRhYmxlLXdyYXAgLmVkaXRhYmxlLWNvbnRyb2xzIC5lZGl0YWJsZS1pbnB1dCB7XG4gIGhlaWdodDogMjBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gIHBhZGRpbmc6IDBweCAzcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuZWRpdGFibGUtdGl0bGUgLmVkaXRhYmxlLXdyYXAgLmVkaXRhYmxlLWNvbnRyb2xzIC5lZGl0YWJsZS1idXR0b25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuZWRpdGFibGUtdGl0bGUgLmVkaXRhYmxlLXdyYXAgLmVkaXRhYmxlLWNvbnRyb2xzIC5lZGl0YWJsZS1idXR0b25zIGJ1dHRvbiB7XG4gIG1hcmdpbjogMHB4IDBweCAwcHggNXB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDBweCA1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICBsZWZ0OiAxNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogZG90dGVkIDFweCAjQjdDRENFO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LWZhbWlseTogXCJMYXRvIFNlbWlib2xkXCIsIFwiTGF0b1wiO1xuICB6LWluZGV4OiA0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWw6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzkyODtcbiAgY29sb3I6ICMxRTMwM0I7XG4gIHBhZGRpbmc6IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0byBNZWRpdW1cIiwgXCJMYXRvXCI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5pbmZvLXBhbmVsIC5pLWhlYWRlciAuZmEge1xuICBmb250LXNpemU6IDE4cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCAuaS1oZWFkZXIgLmZhLWluZm8tY2lyY2xlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCAuaS1oZWFkZXIgLmZhLXRpbWVzLWNpcmNsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktY29udGVudCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogNXB4O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBmbGV4OiAxO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktY29udGVudCAucm93IHtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2FiYzRjNjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5pbmZvLXBhbmVsIC5pLWNvbnRlbnQgLnJvdzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuaW5mby1wYW5lbCAuaS1jb250ZW50IC5yb3cgLmtleSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktY29udGVudCAucm93IC5rZXkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmluZm8tcGFuZWwgLmktY29udGVudCAucm93IC52YWx1ZSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG4uYW5hbHl0aWNzIC50aW1lLXBlcmlvZC1pbmZvIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogI0FCQzRDNjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLnRvcC1saW5lIC50b3AtYnV0dG9ucyAudG9wLWJ1dHRvbnMtd3JhcHBlciAudG9wLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjYzRjYWNhO1xuICBwYWRkaW5nOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICB3aWR0aDogMTdweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMgLnRvcC1idXR0b25zLXdyYXBwZXIgLnRvcC1idXR0b246YWN0aXZlLFxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLnRvcC1saW5lIC50b3AtYnV0dG9ucyAudG9wLWJ1dHRvbnMtd3JhcHBlciAudG9wLWJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1pbmZvIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1pbmZvOmhvdmVyIHtcbiAgY29sb3I6ICNGRkM5Mjg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1yZWZyZXNoIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1yZWZyZXNoOmhvdmVyIHtcbiAgY29sb3I6ICMzNThmZGM7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1lZGl0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLnRvcC1saW5lIC50b3AtYnV0dG9ucyAudG9wLWJ1dHRvbnMtd3JhcHBlciAudG9wLWJ1dHRvbi5idG4tZWRpdDpob3Zlcixcbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMgLnRvcC1idXR0b25zLXdyYXBwZXIgLnRvcC1idXR0b24uYnRuLWVkaXQuZWRpdC1tb2RlIHtcbiAgY29sb3I6ICNjZmQ4NDk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAudG9wLWxpbmUgLnRvcC1idXR0b25zIC50b3AtYnV0dG9ucy13cmFwcGVyIC50b3AtYnV0dG9uLmJ0bi1jbG9zZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMgLnRvcC1idXR0b25zLXdyYXBwZXIgLnRvcC1idXR0b24uYnRuLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6ICNlZDFlNzk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3Muc2VsZWN0LWFjY291bnQge1xuICBwYWRkaW5nOiAwcHggNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYWNjb3VudGluZy1iZWhhdmlvdXIgLmJ0bi5idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYmE5ZjU7XG4gIGJvcmRlcjogc29saWQgMXB4ICM5NzdiZjA7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hY2NvdW50aW5nLWJlaGF2aW91ciAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLFxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYWNjb3VudGluZy1iZWhhdmlvdXIgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmF0dGFjaC1rcGkge1xuICBwYWRkaW5nOiA4cHggNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmF0dGFjaC1rcGkgZm9ybSAucm93IHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5hdHRhY2gta3BpIC5hdHRhY2gta3BpLWZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgcGFkZGluZzogNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmF0dGFjaC1rcGkgZm9ybSAucm93LmtwaS1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHggMnB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmF0dGFjaC1rcGkgZm9ybSAucm93LmtwaS1kZXNjcmlwdGlvbiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEzcHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAuYXR0YWNoLWtwaSBmb3JtLmF0dGFjaC1rcGktZm9ybSBpbnB1dC5hdHRhY2gtdGFyZ2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGhlaWdodDogaW5oZXJpdDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5hdHRhY2gta3BpIC5lcnJvci1tZXNzYWdlcyB7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICB3aWR0aDogMTIwcHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAuYXR0YWNoZWQta3BpcyB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5saXN0LWdyb3VwLWl0ZW0uYXR0YWNoZWQta3BpIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYXR0YWNoZWQta3BpLW5hbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogNzUlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYWN0aW9ucyB7XG4gIHBhZGRpbmctdG9wOiAycHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYWN0aW9ucyAuYWxlcnRzLWNvbmZpZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgd2lkdGg6IDIxcHg7XG4gIGNvbG9yOiAjMzU4ZmRjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5saXN0LWdyb3VwLWl0ZW0uYXR0YWNoZWQta3BpIC5hY3Rpb25zIC5hbGVydHMtY29uZmlnOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmxpc3QtZ3JvdXAtaXRlbS5hdHRhY2hlZC1rcGkgLmFjdGlvbnMgLmVkaXQtYXR0YWNoZWQta3BpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmxpc3QtZ3JvdXAtaXRlbS5hdHRhY2hlZC1rcGkgLmFjdGlvbnMgLmVkaXQtYXR0YWNoZWQta3BpIGkge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB3aWR0aDogMjFweDtcbiAgY29sb3I6ICMzNThmZGM7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDNweCA1cHggNXB4IDVweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzM1OGZkYztcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmF0dGFjaC1rcGlzIC5saXN0LWdyb3VwLWl0ZW0uYXR0YWNoZWQta3BpIC5hY3Rpb25zIC5lZGl0LWF0dGFjaGVkLWtwaSBpOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMgLmxpc3QtZ3JvdXAtaXRlbS5hdHRhY2hlZC1rcGkgLmFjdGlvbnMgLnJlbW92ZS1hdHRhY2hlZC1rcGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYWN0aW9ucyAucmVtb3ZlLWF0dGFjaGVkLWtwaSBpIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgd2lkdGg6IDIxcHg7XG4gIGNvbG9yOiAjZTAxZjc0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAzcHggNXB4IDVweCA1cHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNlMDFmNzQ7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5hdHRhY2gta3BpcyAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSAuYWN0aW9ucyAucmVtb3ZlLWF0dGFjaGVkLWtwaSBpOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmNoYXJ0LWZpbHRlcnMgLnJvdyB7XG4gIG1hcmdpbjogMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmNoYXJ0LWZpbHRlcnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuY2hhcnQtZmlsdGVycyBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIGg1IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmRhdGVzLXBpY2tlciBidXR0b24uYnRuLmJ0bi1zbSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIGJ1dHRvbi5idG4uYnRuLXNtLmRhdGUtYnV0dG9uIHtcbiAgbWFyZ2luOiAwcHggNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIGJ1dHRvbi5idG4uYnRuLXNtLmJ0bi1kYW5nZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIGJ1dHRvbi5idG4uYnRuLXNtLmJ0bi1pbmZvIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIC50b29sdGlwLWlubmVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5kYXRlcy1waWNrZXIgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGRpdiA+IHRhYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIHtcbiAgbWF4LWhlaWdodDogNzBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIFtjb21tb24tdGltZS1wZXJpb2QtaW5mb10ge1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmhpc3QtbW9kZS1jaG9zZXIgLm9wdGlvbnMge1xuICB3aWR0aDogMTUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlNmU2ZTY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuaGlzdC1tb2RlLWNob3NlciAub3B0aW9ucyBhIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI2M0Y2FjYTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIC5vcHRpb25zIGEuYWN0aXZlIHtcbiAgY29sb3I6ICM5NzdiZjA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuaGlzdC1tb2RlLWNob3NlciAuYXJyb3ctY29udGFpbmVyIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xNHB4O1xuICBtYXJnaW46IGF1dG87XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MuaGlzdC1tb2RlLWNob3NlciAuYXJyb3ctY29udGFpbmVyLnJpZ2h0IHtcbiAgbGVmdDogNDZweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIC5hcnJvdy1jb250YWluZXIubGVmdCB7XG4gIGxlZnQ6IC0zMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmhpc3QtbW9kZS1jaG9zZXIgLmFycm93LWNvbnRhaW5lciAuYXJyb3ctYm9yZGVyIHtcbiAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIC5hcnJvdy1jb250YWluZXIgLmFycm93IHtcbiAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLWxlZnQ6IDE0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEycHg7XG4gIHdpZHRoOiAwcHg7XG4gIGhlaWdodDogMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MubGltaXQtZW50cmllcyB7XG4gIGNvbG9yOiAjMUUzMDNCO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI0U2RTZFNjtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLmxpbWl0LWVudHJpZXMgYS5vcHRpb24uYmFkZ2Uge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRTMwM0I7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5vZmZzZXRzIC5vZmZzZXQtdmFsdWUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLm9mZnNldHMgLm9mZnNldC12YWx1ZSAuZmEtdHJhc2gtbyB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3Mub2Zmc2V0cyAub2Zmc2V0LXZhbHVlIC5mYS10cmFzaC1vOmhvdmVyIHtcbiAgY29sb3I6ICNlMDFmNzQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLm9mZnNldHMgaW5wdXQge1xuICB3aWR0aDogNzUlO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3Mub2Zmc2V0cyBidXR0b24ge1xuICB3aWR0aDogMzBweDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLm9yZ2FuaXphdGlvbnMgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lIHtcbiAgcGFkZGluZzogNXB4IDEwcHggNXB4IDE4cHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5vcmdhbml6YXRpb25zIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY0O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3Mub3JnYW5pemF0aW9ucyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmU6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLm9yZ2FuaXphdGlvbnMgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lIC5mYSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5vcmdhbml6YXRpb25zIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSAuZmEuZmEtdG9nZ2xlLW9uIHtcbiAgY29sb3I6ICM5NzdiZjA7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy5vcmdhbml6YXRpb25zIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSAuZmEuZmEtdG9nZ2xlLW9mZiB7XG4gIGNvbG9yOiAjOWJhNmE3O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yLmNsYXNzaWMge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5wYXJhbS1zZWxlY3Rvci5jbGFzc2ljIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMHB4IDBweCA1cHggMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIGEge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzk3N2JmMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5wYXJhbS1zZWxlY3RvciAub3B0aW9ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtaW4td2lkdGg6IDE1MHB4O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgei1pbmRleDogOTk5O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC13ZWJraXQtYm94LXNoYWRvdzogIzAwMDAwMCAwcHggM3B4IDE1cHggLTNweDtcbiAgYm94LXNoYWRvdzogIzAwMDAwMCAwcHggM3B4IDE1cHggLTNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5wYXJhbS1zZWxlY3RvciAub3B0aW9ucy1jb250YWluZXIgLnBhcmFtLXNlbGVjdG9yLWxhYmVsIHtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogYmxhY2s7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGxpbmUtaGVpZ2h0OiAxLjk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW0tc2VsZWN0b3IgLm9wdGlvbnMtY29udGFpbmVyIC5wYXJhbS1zZWxlY3Rvci1sYWJlbDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2JmMDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlMmU0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc3YmYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtLXNlbGVjdG9yIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTk5MmYzO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMge1xuICBwYWRkaW5nOiAycHggMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMgaW5wdXQge1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLnBhcmFtcy1jaGVja2JveGVzIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW1zLXBpY2tlciB7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtcy1waWNrZXIgLnBhcmFtZXRlciB7XG4gIG1hcmdpbjogMHB4IDNweCAzcHggMHB4O1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUzMDNCO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogc29saWQgMXB4ICMxRTMwM0I7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBtb3ZlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW1zLXBpY2tlciAucGFyYW1ldGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogMHB4IC0zcHggMHB4IDNweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW1zLXBpY2tlciAucGFyYW1ldGVyIC5iYWRnZSB7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGNvbG9yOiAjMUUzMDNCO1xuICBwYWRkaW5nOiAycHggNnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtcy1waWNrZXIgLnBhcmFtZXRlci51bmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjYzJjNGM0O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnBhcmFtcy1waWNrZXIgLnBhcmFtZXRlci51bmNoZWNrZWQgLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciB7XG4gIHBhZGRpbmc6IDBweCA1cHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy50YWctZmlsdGVyIC5idG4uYnRuLWRlZmF1bHQge1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciAudGFnLWxpbmVzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciAudGFnLWxpbmVzLWNvbnRhaW5lciAudGFnLWxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciAudGFnLWxpbmVzLWNvbnRhaW5lciAudGFnLWxpbmUgLnRhZ3MtY29sIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLnRhZy1maWx0ZXIgLnRhZy1saW5lcy1jb250YWluZXIgLnRhZy1saW5lIHRhZ3MtaW5wdXQgLnRhZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy50YWctZmlsdGVyIC50YWctbGluZXMtY29udGFpbmVyIC50YWctbGluZSB0YWdzLWlucHV0IC50YWdzIC50YWctaXRlbSB7XG4gIGJhY2tncm91bmQ6ICM3OWEyYmI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciAudGFnLWxpbmVzLWNvbnRhaW5lciAudGFnLWxpbmUgLmhvc3Qge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGltZS1wZXJpb2Qge1xuICBwYWRkaW5nOiAwcHggNXB4O1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGltZS1wZXJpb2Qgc2VsZWN0IHtcbiAgaGVpZ2h0OiAyMnB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbmFseXRpY3MgLnNldHRpbmdzLnRpbWUtcGVyaW9kID4gLnJvdyB7XG4gIG1hcmdpbjogMHB4IC01cHggN3B4IC01cHg7XG59XG4uYW5hbHl0aWNzIC5zZXR0aW5ncy50aW1lLXBlcmlvZCA+IC5yb3cgPiBkaXYge1xuICBwYWRkaW5nOiAwcHggNXB4O1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuLmFuYWx5dGljcyAuc2V0dGluZ3MudGltZS1wZXJpb2QgPiAucm93IC5zdWItc2V0dGluZyB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy53aWR0aCB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLndpZHRoIGkge1xuICBjb2xvcjogc2lsdmVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3Mud2lkdGggaS5yZWR1Y2Uge1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLndpZHRoIGkuZXhwYW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAtM3B4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYXNzZXRzLWxpYWJpbGl0eS1zdW1tYXJ5IC5wYXJhbS1zZWxlY3RvciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy1saWFiaWxpdHktc3VtbWFyeSAubGVnZW5kIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LWhlaWdodDogOTBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy1saWFiaWxpdHktc3VtbWFyeSAubGVnZW5kIC50aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCAjZGZlMmUyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYXNzZXRzLXN1bW1hcnkgLmxlZ2VuZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC1oZWlnaHQ6IDExNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYXNzZXRzLXN1bW1hcnkgLmxlZ2VuZCAudGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI2RmZTJlMjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy12cy1saWFiaWxpdGllcyAubGVnZW5kID4gLnRpdGxlIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWJhbGFuY2UgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2Uge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2Uge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2UgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlIC5kYXRhLWNvbnRhaW5lciB7XG4gIGhlaWdodDogY2FsYyg1NjVweCAtIDUwcHgpO1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSAubGVmdC1wYW5lbCB7XG4gIHdpZHRoOiAxODBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSAjY2FzaC1iYWxhbmNlLWxlZ2VuZCAuaGVhZGVyIC5ncm91cC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogNDVweDtcbiAgbWFyZ2luOiAzcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlICNjYXNoLWJhbGFuY2UtbGVnZW5kIC5oZWFkZXIgLmdyb3VwLWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlICNjYXNoLWJhbGFuY2UtbGVnZW5kIC5oZWFkZXIgLmdyb3VwLWl0ZW0gaSB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2UgI2Nhc2gtYmFsYW5jZS1sZWdlbmQgLmhlYWRlciAuZ3JvdXAtaXRlbSBzcGFuIHtcbiAgY29sb3I6ICM1QjY2Njc7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLWJhbGFuY2UgLmxlZ2VuZC1pdGVtLWljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlIC5yaWdodC1wYW5lbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxODBweCk7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSAucmlnaHQtcGFuZWwgLmNhc2gtYmFsYW5jZS1jaGFydCB7XG4gIGhlaWdodDogY2FsYyg1NjVweCAtIDUwcHgpO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1iYWxhbmNlIC5kYXRlcy1waWNrZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZS1zaGVldCB7XG4gIG1pbi1oZWlnaHQ6IDU2NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWJhbGFuY2Utc2hlZXQge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZS1zaGVldCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZS1zaGVldCAuZWRpdCB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZS1zaGVldCAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZS1zaGVldCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiA0OTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cud2lkZ2V0LWxpbmU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCAjZGZlMmUyO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5yb3cud2lkZ2V0LWxpbmUuaGVhZGVyID4gW2NsYXNzKj0nY29sLSddIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWJhbGFuY2Utc2hlZXQgLndpZGdldC1saW5lcy1jb250YWluZXIubm8tc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1iYWxhbmNlLXNoZWV0IC5uby1kYXRhLWJsb2NrIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDE1cHggMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1wcm9qZWN0aW9uIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1wcm9qZWN0aW9uIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtcHJvamVjdGlvbiAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1wcm9qZWN0aW9uIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtcHJvamVjdGlvbiAuY2FzaC1wcm9qZWN0aW9uLWNoYXJ0IHtcbiAgaGVpZ2h0OiBjYWxjKDU2NXB4IC0gNTBweCk7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gLmhpZ2hjaGFydHMtbGVnZW5kLWl0ZW0gcmVjdC5oaWdoY2hhcnRzLXBvaW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtcHJvamVjdGlvbiAuaGlnaGNoYXJ0cy1sZWdlbmQtaXRlbSBzcGFuIHtcbiAgd2lkdGg6IDExMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gLmhpZ2hjaGFydHMtbGVnZW5kLWl0ZW0gc3BhbiBpbWcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA1NXB4O1xuICBoZWlnaHQ6IDI1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gLmRhdGVzLXBpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24gdHJhbnNhY3Rpb25zLWxpc3Qge1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtc3VtbWFyeSAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSAuc2VsZWN0aW9uLXRhZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMHB4O1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAyOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZmI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Qge1xuICBjdXJzb3I6IGF1dG87XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Q6aG92ZXIge1xuICBjb2xvcjogIzYyNmQ2ZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtc3VtbWFyeSAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC5uby1lbGVtZW50IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDIxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2FzaC1zdW1tYXJ5IC5yb3cubGluZXMtZ3JvdXAuY2FzaCB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweDtcbiAgYm9yZGVyLWJvdHRvbTogZG91YmxlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY2xhc3MtY29tcGFyaXNvbiAucGFyYW0tc2VsZWN0b3Ige1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jbGFzcy1jb21wYXJpc29uIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogOTRweDtcbiAgY29sb3I6ICM2MjZkNmQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiB7XG4gICAgaGVpZ2h0OiA1NjVweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5lZGl0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5AbWVkaWEgcHJpbnQge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24gLmFkZC1hY2NvdW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNDBweDtcbiAgYm90dG9tOiAzMHB4O1xuICB3aWR0aDogMTYwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5hZGQtYWNjb3VudCBzZWxlY3Qge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzdiZjA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5hZGQtYWNjb3VudCBzZWxlY3RbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiYTlmNTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24gLmFkZC1hY2NvdW50IHNlbGVjdFtkaXNhYmxlZF06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJhOWY1O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuYWRkLWFjY291bnQgc2VsZWN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNGRlYjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24gLmFkZC1hY2NvdW50IHNlbGVjdCBvcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5hZGQtYWNjb3VudCBzZWxlY3Qgb3B0aW9uW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24gYnV0dG9uLmNsb3NlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAubGVnZW5kIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LWhlaWdodDogMTAzcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5yb3cge1xuICBtYXJnaW46IDA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNjVweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jb21wYXJpc29uIC5zZXR0aW5ncy5wYXJhbXMtY2hlY2tib3hlcyB7XG4gIG1hcmdpbi1sZWZ0OiAxM3B4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtY29tcGFyaXNvbiAuY29tcGFyYWJsZS1lcnJvciBoNSB7XG4gIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICBjb2xvcjogI2VkMWU3OTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWN1c3RvbS1jYWxjdWxhdGlvbiBoMyB7XG4gIG1hcmdpbi10b3A6IDg1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jdXN0b20tY2FsY3VsYXRpb24gLmxlZ2VuZCB7XG4gIG1heC1oZWlnaHQ6IDEyNXB4O1xufVxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24ge1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xufVxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24gLm1vZGFsLWJvZHkgLmVkaXQge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGNvbG9yOiAjNUI2NjY3O1xuICBwYWRkaW5nOiAycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogNXB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IC5lZGl0IC5ib3R0b20tYnV0dG9ucyAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgcGFkZGluZzogM3B4IDEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IC5lZGl0IC5ib3R0b20tYnV0dG9ucyAuYnRuLmJ0bi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2E4YWJhYjtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24gLm1vZGFsLWJvZHkgLmVkaXQgLmJvdHRvbS1idXR0b25zIC5idG4uYnRuLWRlZmF1bHQ6aG92ZXIge1xuICBib3JkZXI6IHNvbGlkIDFweCAjOGU5MjkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhYmFiO1xufVxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24gLm1vZGFsLWJvZHkgLmVkaXQgaDQge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI2M0Y2FjYTtcbn1cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IC5lZGl0IC5wYXJ0IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2RmZTJlMjtcbn1cbi5hbmFseXRpY3MubW9kYWwtY3VzdG9tLWNhbGN1bGF0aW9uIC5tb2RhbC1ib2R5IC5lZGl0IC5wYXJ0IGg1IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMHB4IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNjNGNhY2E7XG59XG4uYW5hbHl0aWNzLm1vZGFsLWN1c3RvbS1jYWxjdWxhdGlvbiAubW9kYWwtYm9keSAuZWRpdCAucGFydCBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4uYW5hbHl0aWNzLm1vZGFsLWN1c3RvbS1jYWxjdWxhdGlvbiAubW9kYWwtYm9keSAuZWRpdCAucGFydCBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgbWFyZ2luOiAwcHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNhY2IwYjE7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzcyNzI4Yjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWRldGFpbGVkLWNsYXNzaWZpY2F0aW9ucyB7XG4gIG1pbi1oZWlnaHQ6IDU2NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWRldGFpbGVkLWNsYXNzaWZpY2F0aW9ucyB7XG4gICAgaGVpZ2h0OiA1NjVweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1ODVweDtcbiAgICBtYXgtaGVpZ2h0OiA0NDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWRldGFpbGVkLWNsYXNzaWZpY2F0aW9ucyAuZWRpdCB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtZGV0YWlsZWQtY2xhc3NpZmljYXRpb25zIC5lZGl0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMgLmFjY291bnQtY2xhc3MtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtZGV0YWlsZWQtY2xhc3NpZmljYXRpb25zIC50aW1lLXBlcmlvZC1pbmZvIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1kZXRhaWxlZC1jbGFzc2lmaWNhdGlvbnMgLndpZGdldC1saW5lLmhlYWRlci5zb3J0aW5nIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1leHBlbnNlLXdlaWdodCAubGVnZW5kIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LWhlaWdodDogMTE1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1leHBlbnNlLXdlaWdodCAubGVnZW5kIC50aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWV4cGVuc2VzLXJldmVudWUgLmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtZXhwZW5zZXMtcmV2ZW51ZSAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXBheWFibGUtcmVjZWl2YWJsZSBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXBheWFibGUtcmVjZWl2YWJsZSAubGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1wYXlhYmxlLXJlY2VpdmFibGUgLnBheWFibGUge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcGF5YWJsZS1yZWNlaXZhYmxlIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXByb2ZpdC1hbmQtbG9zcyAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1wcm9maXQtYW5kLWxvc3MgLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXByb2ZpdC1hbmQtbG9zcyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDU0MHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogc29saWQgMXB4IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUgLnNlbGVjdGlvbi10YWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDBweDtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMjlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlMGZiO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUubm8tc2VsZWN0IHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUubm8tc2VsZWN0OmhvdmVyIHtcbiAgY29sb3I6ICM2MjZkNmQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1wcm9maXQtYW5kLWxvc3MgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAyMzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXByb2ZpdC1hbmQtbG9zcyAubm8tZWxlbWVudCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXByb2ZpdC1hbmQtbG9zcyAucm93LmxpbmVzLWdyb3VwLnByb2ZpdCB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweDtcbiAgYm9yZGVyLWJvdHRvbTogZG91YmxlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDIxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcHJvZml0LWFuZC1sb3NzIC5yb3cud2lkZ2V0LWxpbmUuaGVhZGVyID4gW2NsYXNzKj0nY29sLSddIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyAubGVmdC1wYW5lbCB7XG4gIG1heC1oZWlnaHQ6IDIzMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcmF0aW9zIC5sZWZ0LXBhbmVsIC5zZXBhcmF0b3Ige1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzVCNjY2NztcbiAgd2lkdGg6IDc1JTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyAubGVmdC1wYW5lbCAubWVtYmVyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcmF0aW9zIC5sZWZ0LXBhbmVsIC5tZW1iZXIgLnByaWNlIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1yYXRpb3MgLmxlZnQtcGFuZWwgYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyAubGVmdC1wYW5lbC5zaW11bGF0aW9uIC5tZW1iZXIge1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtcmF0aW9zIC5sZWZ0LXBhbmVsLnNpbXVsYXRpb24gLm1lbWJlciAubGVnZW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyAubGVmdC1wYW5lbC5zaW11bGF0aW9uIC5tZW1iZXIgLnByaWNlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1yYXRpb3MgLmxlZnQtcGFuZWwuc2ltdWxhdGlvbiAuc2VwYXJhdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItZW1wbG95ZWUtZGV0YWlscyAuZGV0YWlscy1jb250YWluZXIge1xuICBwYWRkaW5nOiAwcHg7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIC5yaWdodC1wYW5lbCAuZGV0YWlscy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIC5yaWdodC1wYW5lbCAubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItZW1wbG95ZWUtZGV0YWlscyAudGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWVtcGxveWVlcy1saXN0IC5sZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZXMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWVtcGxveWVlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItZW1wbG95ZWVzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZXMtbGlzdCAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1sZWF2ZXMtYmFsYW5jZSAuZW1wbG95ZWUtbmFtZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1iYWxhbmNlIC5iYWxhbmNlIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1sZWF2ZXMtYmFsYW5jZSBoMyB7XG4gIG1hcmdpbi10b3A6IDMzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1zY2hlZHVsZSAuZmMtYnV0dG9uIHtcbiAgaGVpZ2h0OiAyMnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTc3YmYwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1zY2hlZHVsZSAuZmMtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjOTc3YmYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItbGVhdmVzLXNjaGVkdWxlIC5mYy10b29sYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItbGVhdmVzLXNjaGVkdWxlIC5mYy1kYXktZ3JpZCxcbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLWxlYXZlcy1zY2hlZHVsZSAuZmMtd2lkZ2V0LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXBheXJvbGwtc3VtbWFyeSAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSAuc2VsZWN0aW9uLXRhZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMHB4O1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAyOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZmI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Qge1xuICBjdXJzb3I6IGF1dG87XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1wYXlyb2xsLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Q6aG92ZXIge1xuICBjb2xvcjogIzYyNmQ2ZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXBheXJvbGwtc3VtbWFyeSAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IC5uby1lbGVtZW50IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDE0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSBoMy5sZWZ0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXNhbGFyaWVzLXN1bW1hcnkgaDMubGVmdCB7XG4gICAgbWFyZ2luLXRvcDogNjlweDtcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSBoMy5yZWR1Y2VkLWxlZnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSBoMy5yZWR1Y2VkLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXNhbGFyaWVzLXN1bW1hcnkgaDMucmlnaHQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1zYWxhcmllcy1zdW1tYXJ5IC5wcmljZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1zYWxhcmllcy1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXNhbGFyaWVzLXN1bW1hcnkgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lIHtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc2FsYXJpZXMtc3VtbWFyeSAucmlnaHQtcGFuZWwgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItc3VwZXJhbm51YXRpb24tYWNjcnVhbHMgaDMge1xuICBtYXJnaW4tdG9wOiA2M3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1zdXBlcmFubnVhdGlvbi1hY2NydWFscyAubGVnZW5kIHtcbiAgbWFyZ2luLXRvcDogMjNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXN1cGVyYW5udWF0aW9uLWFjY3J1YWxzIC5jdXJyZW5jeSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXN1cGVyYW5udWF0aW9uLWFjY3J1YWxzIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItdGltZXNoZWV0cyAuY3VycmVuY3kge1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci10aW1lc2hlZXRzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMjEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci13b3JrZm9yY2Utc3VtbWFyeSBoMy5sZWZ0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IGgzLmxlZnQge1xuICAgIG1hcmdpbi10b3A6IDY5cHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IGgzLnJlZHVjZWQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci13b3JrZm9yY2Utc3VtbWFyeSBoMy5yZWR1Y2VkLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IGgzLnJpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItd29ya2ZvcmNlLXN1bW1hcnkgLnByaWNlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmhyLXdvcmtmb3JjZS1zdW1tYXJ5IC5yaWdodC1wYW5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyB7XG4gICAgaGVpZ2h0OiA1NjVweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC5lZGl0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogc29saWQgMXB4IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lIC5zZWxlY3Rpb24tdGFnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwcHg7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWFnZWQtcGF5YWJsZXMtcmVjZWl2YWJsZXMgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZmI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUubm8tc2VsZWN0IHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lLm5vLXNlbGVjdDpob3ZlciB7XG4gIGNvbG9yOiAjNjI2ZDZkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAubm8tZWxlbWVudCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWFnZWQtcGF5YWJsZXMtcmVjZWl2YWJsZXMgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMjE1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1hZ2VkLXBheWFibGVzLXJlY2VpdmFibGVzIC5yb3cuYXN0ZXJpY2tzLWluZm8ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtYWdlZC1wYXlhYmxlcy1yZWNlaXZhYmxlcyAuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMjMwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmU6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtbGlzdCAuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtbGlzdCAuZmEuZmEtaW5mby1jaXJjbGUge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWxpc3QgLnJpZ2h0LWNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5pbnZvaWNlcy1zdW1tYXJ5IC5jaGFydC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDQxMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtc3VtbWFyeSAubGVnZW5kIHtcbiAgbWF4LWhlaWdodDogMjhweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1hZ2VkIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1ODVweDtcbiAgICBtYXgtaGVpZ2h0OiA0NDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQgLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWFnZWQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyMzhweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWJyZWFrLWV2ZW4gLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1icmVhay1ldmVuIC5ibG9jayB7XG4gIG1hcmdpbjogNXB4O1xuICBwYWRkaW5nOiAwcHggMTBweCA1cHggMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IC03cHggIzE3MjYyZDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtYnJlYWstZXZlbiAuYmxvY2sgZm9ybS5lZGl0YWJsZS13cmFwIC5lZGl0YWJsZS1jb250cm9scyBpbnB1dCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgd2lkdGg6IDEwMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtYnJlYWstZXZlbiAuYmxvY2sudG8tZGF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIGNvbG9yOiAjNUI2NjY3O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtYnJlYWstZXZlbiAuYmxvY2sudG8tYnJlYWtldmVuIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MjgzMTtcbiAgY29sb3I6ICMxZGU5YjY7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1icmVhay1ldmVuIC5ibG9jay50by1icmVha2V2ZW4gLnRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMyYTQ0NTM7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1icmVhay1ldmVuIC5ibG9jay50by1icmVha2V2ZW4gLmRlZmluZS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBjb2xvcjogIzFkZTliNjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWJyZWFrLWV2ZW4gLmJsb2NrLnRvLWJyZWFrZXZlbiAucHJpY2Uge1xuICBjb2xvcjogIzFkZTliNjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWJyZWFrLWV2ZW4gLmJsb2NrIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZTZlZGVlO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiB7XG4gIG1pbi1oZWlnaHQ6IDU2NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24ge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAuZWRpdCB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDU0MHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24gLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZSAuc2VsZWN0aW9uLXRhZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMHB4O1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAyOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jb21wYXJpc29uIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlMGZiO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lLm5vLXNlbGVjdCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24gLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZS5uby1zZWxlY3Q6aG92ZXIge1xuICBjb2xvcjogIzYyNmQ2ZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24gLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAyMzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWNvbXBhcmlzb24gLm5vLWVsZW1lbnQge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jb21wYXJpc29uIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTMwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jb21wYXJpc29uIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiAuY3VycmVuY3ktY29udmVyc2lvbnMgaW1nIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWN5Y2xlIC5jaGFydC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDQxMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY3ljbGUgLmxlZ2VuZCB7XG4gIG1heC1oZWlnaHQ6IDI4cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jdXN0b21lci1kZXRhaWxzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY3VzdG9tZXItZGV0YWlscyAubG9hZGVyIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY3VzdG9tZXItZGV0YWlscyAuZGV0YWlscy1jb250YWluZXIge1xuICBwYWRkaW5nOiAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jdXN0b21lci1kZXRhaWxzIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMTk0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jdXN0b21lci1kZXRhaWxzIC5yaWdodC1wYW5lbCAuZGV0YWlscy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIzMHB4O1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jdXN0b21lci1kZXRhaWxzIC5yaWdodC1wYW5lbCAubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY3VzdG9tZXItZGV0YWlscyAucm93LnRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1jdXN0b21lci1kZXRhaWxzIC5jdXJyZW5jeS1jb252ZXJzaW9ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZm9yZWNhc3Qge1xuICAgIGhlaWdodDogNTY1cHg7XG4gIH1cbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZm9yZWNhc3QgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1ODVweDtcbiAgICBtYXgtaGVpZ2h0OiA0NDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1mb3JlY2FzdCAuZWRpdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZm9yZWNhc3QgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyNzVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluIC5zZWxlY3Rpb24tdGFnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwcHg7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTBmYjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluLm5vLXNlbGVjdCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWZvcmVjYXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZS5tYWluLm5vLXNlbGVjdDpob3ZlciB7XG4gIGNvbG9yOiAjNjI2ZDZkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZ3Jvd3RoIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICM1QjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZ3Jvd3RoIC5sZWdlbmQge1xuICBtYXgtaGVpZ2h0OiA0OXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtZnVubmVsIHtcbiAgbWluLWhlaWdodDogNTY1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtZnVubmVsIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWZ1bm5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtZnVubmVsIC5lZGl0IHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1mdW5uZWwgLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWZ1bm5lbCAuZnVubmVsLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA5NSU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWF4LWhlaWdodDogNTA1cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtZnVubmVsIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1mdW5uZWwgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyMzBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGVhZHMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMjMwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1saXN0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmU6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIgLndpZGdldC1saW5lLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbGlzdCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAxNzBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxpc3QgLndpZGdldC1saW5lcy1jb250YWluZXIubm8tc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1saXN0IC5zZWxlY3RvciB7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxpc3QgLmN1cnJlbmN5LWNvbnZlcnNpb25zIGltZyB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1uZXQtc2FsZXMgLnZhbHVlLWNvbnRhaW5lcixcbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldC1zYWxlcyAub3BlcmF0b3Ige1xuICBsaW5lLWhlaWdodDogODVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldC1zYWxlcyAudmFsdWUtY29udGFpbmVyIC50aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDEuMmVtO1xuICBwYWRkaW5nOiAxMHB4IDBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldC1zYWxlcyAudmFsdWUtY29udGFpbmVyIC52YWx1ZS1ib3gge1xuICBmb250LXNpemU6IDEuM2VtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI0M0Q0FDQTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNDNENBQ0E7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1uZXQtc2FsZXMgLm9wZXJhdG9yIHtcbiAgcGFkZGluZy10b3A6IDM4cHg7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbmV0LXNhbGVzIC52YWx1ZXMge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLnNlbGVjdG9yIC5zZWxlY3Rvci13cmFwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbmV3LXZzLWV4aXN0aW5nLWN1c3RvbWVycyAuY2hhcnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLmxlZ2VuZCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1heC1oZWlnaHQ6IDc3cHggIWltcG9ydGFudDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLmxlZ2VuZCAucm93IHtcbiAgbWFyZ2luOiAwcHggLTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLmxlZ2VuZCAucm93ID4gZGl2IHtcbiAgcGFkZGluZzogMHB4IDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW5ldy12cy1leGlzdGluZy1jdXN0b21lcnMgLmxlZ2VuZCAudG90YWwge1xuICBjb2xvcjogIzVCNjY2NztcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbnVtYmVyLW9mLWxlYWRzIC5zdGF0cyB7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW51bWJlci1vZi1sZWFkcyAuc3RhdHMgLnN0YXQge1xuICBtYXJnaW46IDE1cHggMHB4IDEwcHggMHB4O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U2ZWRlZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW51bWJlci1vZi1sZWFkcyAuc3RhdHMgLnN0YXQgc3Bhbi50aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbnVtYmVyLW9mLWxlYWRzIC5zdGF0cyAuc3RhdCBzcGFuLm5vbWluYWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbnVtYmVyLW9mLWxlYWRzIC5zdGF0cyAuc3RhdCBzcGFuLnZhcmlhdGlvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDUwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtb3Bwb3J0dW5pdGllcy1mdW5uZWwge1xuICBtaW4taGVpZ2h0OiA1NjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbCB7XG4gICAgaGVpZ2h0OiA1NjVweDtcbiAgfVxuICAuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDU4NXB4O1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtb3Bwb3J0dW5pdGllcy1mdW5uZWwgLmVkaXQge1xuICBtYXgtaGVpZ2h0OiA1NDVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW9wcG9ydHVuaXRpZXMtZnVubmVsIC5lZGl0IC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1vcHBvcnR1bml0aWVzLWZ1bm5lbCAuZnVubmVsLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA5NSU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWF4LWhlaWdodDogNTA1cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtb3Bwb3J0dW5pdGllcy1mdW5uZWwgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQ1cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW9wcG9ydHVuaXRpZXMtZnVubmVsIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSB7XG4gIG1pbi1oZWlnaHQ6IDU2NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIHtcbiAgICBoZWlnaHQ6IDU2NXB4O1xuICB9XG4gIC5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5jaGFydC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAuZWRpdCB7XG4gIG1heC1oZWlnaHQ6IDU0NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtcGVyZm9ybWFuY2UgLmVkaXQgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUgLnNlbGVjdGlvbi10YWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDBweDtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMjlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtcGVyZm9ybWFuY2UgLndpZGdldC1saW5lcy1jb250YWluZXIgLmxpbmVzLWdyb3VwIC53aWRnZXQtbGluZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZmI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lLm5vLXNlbGVjdCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC5saW5lcy1ncm91cCAud2lkZ2V0LWxpbmUubm8tc2VsZWN0OmhvdmVyIHtcbiAgY29sb3I6ICM2MjZkNmQ7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtcGVyZm9ybWFuY2UgLm5vLWVsZW1lbnQge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNUI2NjY3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1wZXJmb3JtYW5jZSAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyMTVweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyIC5zZWxlY3Rpb24tdGFnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwcHg7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTBmYjtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyLm5vLXNlbGVjdCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuaGVhZGVyLm5vLXNlbGVjdDpob3ZlciB7XG4gIGNvbG9yOiAjNjI2ZDZkO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyIGgzLnJpZ2h0IHtcbiAgbWFyZ2luLXRvcDogNTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyIC5zZWxlY3RvciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1zZWdtZW50ZWQtdHVybm92ZXIgLmFuYWx5c2lzIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNjY2NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1zZWdtZW50ZWQtdHVybm92ZXIgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiA3NXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyIC53aWRnZXQtbGluZXMtY29udGFpbmVyIC53aWRnZXQtbGluZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXNlZ21lbnRlZC10dXJub3ZlciAucmlnaHQtcGFuZWwgaDMge1xuICBtYXJnaW46IDE1cHggMTBweCA1cHggMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc2VnbWVudGVkLXR1cm5vdmVyIC5yaWdodC1wYW5lbCAuZmEuZmEtaW5mby1jaXJjbGUge1xuICBmbG9hdDogbGVmdDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXN1bW1hcnkgLmNoYXJ0LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNDEwcHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1zdW1tYXJ5IC5sZWdlbmQge1xuICBtYXgtaGVpZ2h0OiAyOHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc3VtbWFyeSAuc2VsZWN0b3Ige1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3AtY3VzdG9tZXJzIC5zZWxlY3RvciB7XG4gIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI0U2RTZFNjtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1jdXN0b21lcnMgLnNlbGVjdG9yIGEge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyAuc2VsZWN0b3IgLnBhcmFtLXNlbGVjdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDIzNXB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUuc3ViLWxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLWN1c3RvbWVycyAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAucm93ID4gW2NsYXNzKj0nY29sLSddIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1jdXN0b21lcnMgLmN1cnJlbmN5LWNvbnZlcnNpb25zIGltZyB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3Atb3Bwb3J0dW5pdGllcyAub3Bwcy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAxOTVweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLW9wcG9ydHVuaXRpZXMgLm9wcHMtY29udGFpbmVyIC50aWxlIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3Atb3Bwb3J0dW5pdGllcyAub3Bwcy1jb250YWluZXIgLnRpbGUgLmNvbG9yZWQtYXJlYSB7XG4gIHdpZHRoOiAxMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtdG9wLW9wcG9ydHVuaXRpZXMgLm9wcHMtY29udGFpbmVyIC50aWxlIC5tYWluLXRleHQge1xuICBjb2xvcjogIzVCNjY2NztcbiAgcGFkZGluZzogM3B4IDBweCAwcHggMTBweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5maXJzdCB7XG4gIGhlaWdodDogNTVweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5maXJzdCAuY29sb3JlZC1hcmVhIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmU0MTtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5maXJzdCAubWFpbi10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDhweDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5zZWNvbmQge1xuICBoZWlnaHQ6IDU1cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXRvcC1vcHBvcnR1bml0aWVzIC5vcHBzLWNvbnRhaW5lciAudGlsZS5zZWNvbmQgLmNvbG9yZWQtYXJlYSB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGU5YjY7XG59XG4uYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3Atb3Bwb3J0dW5pdGllcyAub3Bwcy1jb250YWluZXIgLnRpbGUuc2Vjb25kIC5tYWluLXRleHQge1xuICBwYWRkaW5nLXRvcDogOHB4O1xufVxuLyogZW5kaW5qZWN0ICovXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbi8vICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbi8vXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMVxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbi8vIGFuZCBGaXJlZm94LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbi8vXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbi8vIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4vLyBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuLy9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuLy8gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuLy9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vXG4vLyBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4vLyBhY3RpdmUvaG92ZXIgc3RhdGUuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4vLyBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4vLyBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbi8vXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuLy8gMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuLy9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuLy8gTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBUYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vXG4vLyBHbHlwaGljb25zIGZvciBCb290c3RyYXBcbi8vXG4vLyBTaW5jZSBpY29ucyBhcmUgZm9udHMsIHRoZXkgY2FuIGJlIHBsYWNlZCBhbnl3aGVyZSB0ZXh0IGlzIHBsYWNlZCBhbmQgYXJlXG4vLyB0aHVzIGF1dG9tYXRpY2FsbHkgc2l6ZWQgdG8gbWF0Y2ggdGhlIHN1cnJvdW5kaW5nIGNoaWxkLiBUbyB1c2UsIGNyZWF0ZSBhblxuLy8gaW5saW5lIGVsZW1lbnQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgY2xhc3NlcywgbGlrZSBzbzpcbi8vXG4vLyA8YSBocmVmPVwiI1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1zdGFyXCI+PC9zcGFuPiBTdGFyPC9hPlxuXG4vLyBJbXBvcnQgdGhlIGZvbnRzXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIHNyYzogdXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LmVvdCcpO1xuICBzcmM6IHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJ0B7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LnN2ZyNAe2ljb24tZm9udC1zdmctaWR9JykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLy8gQ2F0Y2hhbGwgYmFzZWNsYXNzXG4uZ2x5cGhpY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIEluZGl2aWR1YWwgaWNvbnNcbi5nbHlwaGljb24tYXN0ZXJpc2sgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwMmFcIjsgfSB9XG4uZ2x5cGhpY29uLXBsdXMgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMDJiXCI7IH0gfVxuLmdseXBoaWNvbi1ldXJvLFxuLmdseXBoaWNvbi1ldXIgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBhY1wiOyB9IH1cbi5nbHlwaGljb24tbWludXMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIyMTJcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNjAxXCI7IH0gfVxuLmdseXBoaWNvbi1lbnZlbG9wZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjcwOVwiOyB9IH1cbi5nbHlwaGljb24tcGVuY2lsICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI3MGZcIjsgfSB9XG4uZ2x5cGhpY29uLWdsYXNzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAxXCI7IH0gfVxuLmdseXBoaWNvbi1tdXNpYyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwMlwiOyB9IH1cbi5nbHlwaGljb24tc2VhcmNoICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYXJ0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA1XCI7IH0gfVxuLmdseXBoaWNvbi1zdGFyICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwNlwiOyB9IH1cbi5nbHlwaGljb24tc3Rhci1lbXB0eSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDdcIjsgfSB9XG4uZ2x5cGhpY29uLXVzZXIgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA4XCI7IH0gfVxuLmdseXBoaWNvbi1maWxtICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwOVwiOyB9IH1cbi5nbHlwaGljb24tdGgtbGFyZ2UgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRoICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDExXCI7IH0gfVxuLmdseXBoaWNvbi10aC1saXN0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMlwiOyB9IH1cbi5nbHlwaGljb24tb2sgICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTNcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE0XCI7IH0gfVxuLmdseXBoaWNvbi16b29tLWluICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNVwiOyB9IH1cbi5nbHlwaGljb24tem9vbS1vdXQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTZcIjsgfSB9XG4uZ2x5cGhpY29uLW9mZiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE3XCI7IH0gfVxuLmdseXBoaWNvbi1zaWduYWwgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxOFwiOyB9IH1cbi5nbHlwaGljb24tY29nICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyYXNoICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIwXCI7IH0gfVxuLmdseXBoaWNvbi1ob21lICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMVwiOyB9IH1cbi5nbHlwaGljb24tZmlsZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjJcIjsgfSB9XG4uZ2x5cGhpY29uLXRpbWUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIzXCI7IH0gfVxuLmdseXBoaWNvbi1yb2FkICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNFwiOyB9IH1cbi5nbHlwaGljb24tZG93bmxvYWQtYWx0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjVcIjsgfSB9XG4uZ2x5cGhpY29uLWRvd25sb2FkICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI2XCI7IH0gfVxuLmdseXBoaWNvbi11cGxvYWQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyN1wiOyB9IH1cbi5nbHlwaGljb24taW5ib3ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjhcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYXktY2lyY2xlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI5XCI7IH0gfVxuLmdseXBoaWNvbi1yZXBlYXQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMFwiOyB9IH1cbi5nbHlwaGljb24tcmVmcmVzaCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWxpc3QtYWx0ICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMyXCI7IH0gfVxuLmdseXBoaWNvbi1sb2NrICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzM1wiOyB9IH1cbi5nbHlwaGljb24tZmxhZyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzRcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYWRwaG9uZXMgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM1XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtb2ZmICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNlwiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzdcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS11cCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM4XCI7IH0gfVxuLmdseXBoaWNvbi1xcmNvZGUgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzOVwiOyB9IH1cbi5nbHlwaGljb24tYmFyY29kZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDBcIjsgfSB9XG4uZ2x5cGhpY29uLXRhZyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQxXCI7IH0gfVxuLmdseXBoaWNvbi10YWdzICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MlwiOyB9IH1cbi5nbHlwaGljb24tYm9vayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDNcIjsgfSB9XG4uZ2x5cGhpY29uLWJvb2ttYXJrICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ0XCI7IH0gfVxuLmdseXBoaWNvbi1wcmludCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NVwiOyB9IH1cbi5nbHlwaGljb24tY2FtZXJhICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDZcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ3XCI7IH0gfVxuLmdseXBoaWNvbi1ib2xkICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0OFwiOyB9IH1cbi5nbHlwaGljb24taXRhbGljICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtaGVpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUwXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LXdpZHRoICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MVwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tbGVmdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTJcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLWNlbnRlciAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUzXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1yaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NFwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tanVzdGlmeSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTVcIjsgfSB9XG4uZ2x5cGhpY29uLWxpc3QgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU2XCI7IH0gfVxuLmdseXBoaWNvbi1pbmRlbnQtbGVmdCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1N1wiOyB9IH1cbi5nbHlwaGljb24taW5kZW50LXJpZ2h0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNThcIjsgfSB9XG4uZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU5XCI7IH0gfVxuLmdseXBoaWNvbi1waWN0dXJlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2MFwiOyB9IH1cbi5nbHlwaGljb24tbWFwLW1hcmtlciAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjJcIjsgfSB9XG4uZ2x5cGhpY29uLWFkanVzdCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYzXCI7IH0gfVxuLmdseXBoaWNvbi10aW50ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NFwiOyB9IH1cbi5nbHlwaGljb24tZWRpdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNoYXJlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY2XCI7IH0gfVxuLmdseXBoaWNvbi1jaGVjayAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2N1wiOyB9IH1cbi5nbHlwaGljb24tbW92ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjhcIjsgfSB9XG4uZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY5XCI7IH0gfVxuLmdseXBoaWNvbi1mYXN0LWJhY2t3YXJkICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MFwiOyB9IH1cbi5nbHlwaGljb24tYmFja3dhcmQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzFcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYXkgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcyXCI7IH0gfVxuLmdseXBoaWNvbi1wYXVzZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3M1wiOyB9IH1cbi5nbHlwaGljb24tc3RvcCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzRcIjsgfSB9XG4uZ2x5cGhpY29uLWZvcndhcmQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc1XCI7IH0gfVxuLmdseXBoaWNvbi1mYXN0LWZvcndhcmQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NlwiOyB9IH1cbi5nbHlwaGljb24tc3RlcC1mb3J3YXJkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzdcIjsgfSB9XG4uZ2x5cGhpY29uLWVqZWN0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc4XCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3OVwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1yaWdodCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODBcIjsgfSB9XG4uZ2x5cGhpY29uLXBsdXMtc2lnbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH0gfVxuLmdseXBoaWNvbi1taW51cy1zaWduICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MlwiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlLXNpZ24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODNcIjsgfSB9XG4uZ2x5cGhpY29uLW9rLXNpZ24gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH0gfVxuLmdseXBoaWNvbi1xdWVzdGlvbi1zaWduICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NVwiOyB9IH1cbi5nbHlwaGljb24taW5mby1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODZcIjsgfSB9XG4uZ2x5cGhpY29uLXNjcmVlbnNob3QgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4OFwiOyB9IH1cbi5nbHlwaGljb24tb2stY2lyY2xlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODlcIjsgfSB9XG4uZ2x5cGhpY29uLWJhbi1jaXJjbGUgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkwXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1sZWZ0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MVwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctcmlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTJcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LXVwICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkzXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1kb3duICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NFwiOyB9IH1cbi5nbHlwaGljb24tc2hhcmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTVcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1mdWxsICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk2XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtc21hbGwgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5N1wiOyB9IH1cbi5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDFcIjsgfSB9XG4uZ2x5cGhpY29uLWdpZnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAyXCI7IH0gfVxuLmdseXBoaWNvbi1sZWFmICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwM1wiOyB9IH1cbi5nbHlwaGljb24tZmlyZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDRcIjsgfSB9XG4uZ2x5cGhpY29uLWV5ZS1vcGVuICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA1XCI7IH0gfVxuLmdseXBoaWNvbi1leWUtY2xvc2UgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNlwiOyB9IH1cbi5nbHlwaGljb24td2FybmluZy1zaWduICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDdcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYW5lICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA4XCI7IH0gfVxuLmdseXBoaWNvbi1jYWxlbmRhciAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwOVwiOyB9IH1cbi5nbHlwaGljb24tcmFuZG9tICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTBcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbW1lbnQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTExXCI7IH0gfVxuLmdseXBoaWNvbi1tYWduZXQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMlwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi11cCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tZG93biAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE0XCI7IH0gfVxuLmdseXBoaWNvbi1yZXR3ZWV0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNVwiOyB9IH1cbi5nbHlwaGljb24tc2hvcHBpbmctY2FydCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTZcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbGRlci1jbG9zZSAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE3XCI7IH0gfVxuLmdseXBoaWNvbi1mb2xkZXItb3BlbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExOFwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLXZlcnRpY2FsICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTlcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1ob3Jpem9udGFsICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIwXCI7IH0gfVxuLmdseXBoaWNvbi1oZGQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMVwiOyB9IH1cbi5nbHlwaGljb24tYnVsbGhvcm4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjJcIjsgfSB9XG4uZ2x5cGhpY29uLWJlbGwgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIzXCI7IH0gfVxuLmdseXBoaWNvbi1jZXJ0aWZpY2F0ZSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNFwiOyB9IH1cbi5nbHlwaGljb24tdGh1bWJzLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjVcIjsgfSB9XG4uZ2x5cGhpY29uLXRodW1icy1kb3duICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI2XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLXJpZ2h0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyN1wiOyB9IH1cbi5nbHlwaGljb24taGFuZC1sZWZ0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjhcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtdXAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI5XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLWRvd24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMFwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0ICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMyXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzM1wiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd24gICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzRcIjsgfSB9XG4uZ2x5cGhpY29uLWdsb2JlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM1XCI7IH0gfVxuLmdseXBoaWNvbi13cmVuY2ggICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNlwiOyB9IH1cbi5nbHlwaGljb24tdGFza3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzdcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbHRlciAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM4XCI7IH0gfVxuLmdseXBoaWNvbi1icmllZmNhc2UgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzOVwiOyB9IH1cbi5nbHlwaGljb24tZnVsbHNjcmVlbiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDBcIjsgfSB9XG4uZ2x5cGhpY29uLWRhc2hib2FyZCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQxXCI7IH0gfVxuLmdseXBoaWNvbi1wYXBlcmNsaXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MlwiOyB9IH1cbi5nbHlwaGljb24taGVhcnQtZW1wdHkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDNcIjsgfSB9XG4uZ2x5cGhpY29uLWxpbmsgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ0XCI7IH0gfVxuLmdseXBoaWNvbi1waG9uZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NVwiOyB9IH1cbi5nbHlwaGljb24tcHVzaHBpbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDZcIjsgfSB9XG4uZ2x5cGhpY29uLXVzZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ4XCI7IH0gfVxuLmdseXBoaWNvbi1nYnAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0OVwiOyB9IH1cbi5nbHlwaGljb24tc29ydCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUxXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdCAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MlwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlciAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTNcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU0XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NVwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzLWFsdCB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTZcIjsgfSB9XG4uZ2x5cGhpY29uLXVuY2hlY2tlZCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU3XCI7IH0gfVxuLmdseXBoaWNvbi1leHBhbmQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1OFwiOyB9IH1cbi5nbHlwaGljb24tY29sbGFwc2UtZG93biAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTlcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbGxhcHNlLXVwICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYwXCI7IH0gfVxuLmdseXBoaWNvbi1sb2ctaW4gICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MVwiOyB9IH1cbi5nbHlwaGljb24tZmxhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjJcIjsgfSB9XG4uZ2x5cGhpY29uLWxvZy1vdXQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYzXCI7IH0gfVxuLmdseXBoaWNvbi1uZXctd2luZG93ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NFwiOyB9IH1cbi5nbHlwaGljb24tcmVjb3JkICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNhdmUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY2XCI7IH0gfVxuLmdseXBoaWNvbi1vcGVuICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2N1wiOyB9IH1cbi5nbHlwaGljb24tc2F2ZWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjhcIjsgfSB9XG4uZ2x5cGhpY29uLWltcG9ydCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY5XCI7IH0gfVxuLmdseXBoaWNvbi1leHBvcnQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MFwiOyB9IH1cbi5nbHlwaGljb24tc2VuZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzFcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1kaXNrICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcyXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktc2F2ZWQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3M1wiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXJlbW92ZSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzRcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc1XCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktb3BlbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NlwiOyB9IH1cbi5nbHlwaGljb24tY3JlZGl0LWNhcmQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzdcIjsgfSB9XG4uZ2x5cGhpY29uLXRyYW5zZmVyICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc4XCI7IH0gfVxuLmdseXBoaWNvbi1jdXRsZXJ5ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3OVwiOyB9IH1cbi5nbHlwaGljb24taGVhZGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODBcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbXByZXNzZWQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgxXCI7IH0gfVxuLmdseXBoaWNvbi1lYXJwaG9uZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MlwiOyB9IH1cbi5nbHlwaGljb24tcGhvbmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODNcIjsgfSB9XG4uZ2x5cGhpY29uLXRvd2VyICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg0XCI7IH0gfVxuLmdseXBoaWNvbi1zdGF0cyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NVwiOyB9IH1cbi5nbHlwaGljb24tc2QtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODZcIjsgfSB9XG4uZ2x5cGhpY29uLWhkLXZpZGVvICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg3XCI7IH0gfVxuLmdseXBoaWNvbi1zdWJ0aXRsZXMgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4OFwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtc3RlcmVvICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODlcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLWRvbGJ5ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkwXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC01LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MVwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNi0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTJcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTctMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkzXCI7IH0gfVxuLmdseXBoaWNvbi1jb3B5cmlnaHQtbWFyayAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5NFwiOyB9IH1cbi5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcmsgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTVcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkLWRvd25sb2FkICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk3XCI7IH0gfVxuLmdseXBoaWNvbi1jbG91ZC11cGxvYWQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5OFwiOyB9IH1cbi5nbHlwaGljb24tdHJlZS1jb25pZmVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAwXCI7IH0gfVxuLmdseXBoaWNvbi1jZCAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwMVwiOyB9IH1cbi5nbHlwaGljb24tc2F2ZS1maWxlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDJcIjsgfSB9XG4uZ2x5cGhpY29uLW9wZW4tZmlsZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAzXCI7IH0gfVxuLmdseXBoaWNvbi1sZXZlbC11cCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwNFwiOyB9IH1cbi5nbHlwaGljb24tY29weSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDVcIjsgfSB9XG4uZ2x5cGhpY29uLXBhc3RlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA2XCI7IH0gfVxuLy8gVGhlIGZvbGxvd2luZyAyIEdseXBoaWNvbnMgYXJlIG9taXR0ZWQgZm9yIHRoZSB0aW1lIGJlaW5nIGJlY2F1c2Vcbi8vIHRoZXkgY3VycmVudGx5IHVzZSBVbmljb2RlIGNvZGVwb2ludHMgdGhhdCBhcmUgb3V0c2lkZSB0aGVcbi8vIEJhc2ljIE11bHRpbGluZ3VhbCBQbGFuZSAoQk1QKS4gT2xkZXIgYnVnZ3kgdmVyc2lvbnMgb2YgV2ViS2l0IGNhbid0IGhhbmRsZVxuLy8gbm9uLUJNUCBjb2RlcG9pbnRzIGluIENTUyBzdHJpbmcgZXNjYXBlcywgYW5kIHRodXMgY2FuJ3QgZGlzcGxheSB0aGVzZSB0d28gaWNvbnMuXG4vLyBOb3RhYmx5LCB0aGUgYnVnIGFmZmVjdHMgc29tZSBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgQW5kcm9pZCBCcm93c2VyLlxuLy8gTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEwMTA2XG4vLyAuZ2x5cGhpY29uLWRvb3IgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwxZjZhYVwiOyB9IH1cbi8vIC5nbHlwaGljb24ta2V5ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDFmNTExXCI7IH0gfVxuLmdseXBoaWNvbi1hbGVydCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwOVwiOyB9IH1cbi5nbHlwaGljb24tZXF1YWxpemVyICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTBcIjsgfSB9XG4uZ2x5cGhpY29uLWtpbmcgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjExXCI7IH0gfVxuLmdseXBoaWNvbi1xdWVlbiAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxMlwiOyB9IH1cbi5nbHlwaGljb24tcGF3biAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTNcIjsgfSB9XG4uZ2x5cGhpY29uLWJpc2hvcCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE0XCI7IH0gfVxuLmdseXBoaWNvbi1rbmlnaHQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxNVwiOyB9IH1cbi5nbHlwaGljb24tYmFieS1mb3JtdWxhICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTZcIjsgfSB9XG4uZ2x5cGhpY29uLXRlbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNmZhXCI7IH0gfVxuLmdseXBoaWNvbi1ibGFja2JvYXJkICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxOFwiOyB9IH1cbi5nbHlwaGljb24tYmVkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTlcIjsgfSB9XG4uZ2x5cGhpY29uLWFwcGxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmOGZmXCI7IH0gfVxuLmdseXBoaWNvbi1lcmFzZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyMVwiOyB9IH1cbi5nbHlwaGljb24taG91cmdsYXNzICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIzMWJcIjsgfSB9XG4uZ2x5cGhpY29uLWxhbXAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjIzXCI7IH0gfVxuLmdseXBoaWNvbi1kdXBsaWNhdGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyNFwiOyB9IH1cbi5nbHlwaGljb24tcGlnZ3ktYmFuayAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNjaXNzb3JzICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI2XCI7IH0gfVxuLmdseXBoaWNvbi1iaXRjb2luICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyN1wiOyB9IH1cbi5nbHlwaGljb24tYnRjICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjdcIjsgfSB9XG4uZ2x5cGhpY29uLXhidCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxuLmdseXBoaWNvbi15ZW4gICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMDBhNVwiOyB9IH1cbi5nbHlwaGljb24tanB5ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwYTVcIjsgfSB9XG4uZ2x5cGhpY29uLXJ1YmxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH0gfVxuLmdseXBoaWNvbi1ydWIgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBiZFwiOyB9IH1cbi5nbHlwaGljb24tc2NhbGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzBcIjsgfSB9XG4uZ2x5cGhpY29uLWljZS1sb2xseSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMxXCI7IH0gfVxuLmdseXBoaWNvbi1pY2UtbG9sbHktdGFzdGVkICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzMlwiOyB9IH1cbi5nbHlwaGljb24tZWR1Y2F0aW9uICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzNcIjsgfSB9XG4uZ2x5cGhpY29uLW9wdGlvbi1ob3Jpem9udGFsICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM0XCI7IH0gfVxuLmdseXBoaWNvbi1vcHRpb24tdmVydGljYWwgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzNVwiOyB9IH1cbi5nbHlwaGljb24tbWVudS1oYW1idXJnZXIgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzZcIjsgfSB9XG4uZ2x5cGhpY29uLW1vZGFsLXdpbmRvdyAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM3XCI7IH0gfVxuLmdseXBoaWNvbi1vaWwgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzOFwiOyB9IH1cbi5nbHlwaGljb24tZ3JhaW4gICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzlcIjsgfSB9XG4uZ2x5cGhpY29uLXN1bmdsYXNzZXMgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQwXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LXNpemUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0MVwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1jb2xvciAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDJcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQzXCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdG9wICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0NFwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWJvdHRvbSAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDVcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFseyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ2XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tbGVmdCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0N1wiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXZlcnRpY2FsICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDhcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodCAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ5XCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS1yaWdodCAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1MFwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtbGVmdCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTFcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbSAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUyXCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS10b3AgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1M1wiOyB9IH1cbi5nbHlwaGljb24tY29uc29sZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTRcIjsgfSB9XG4uZ2x5cGhpY29uLXN1cGVyc2NyaXB0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU1XCI7IH0gfVxuLmdseXBoaWNvbi1zdWJzY3JpcHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1NlwiOyB9IH1cbi5nbHlwaGljb24tbWVudS1sZWZ0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTdcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtcmlnaHQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU4XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWRvd24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1OVwiOyB9IH1cbi5nbHlwaGljb24tbWVudS11cCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNjBcIjsgfSB9XG4iLCIvL1xuLy8gU2NhZmZvbGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gUmVzZXQgdGhlIGJveC1zaXppbmdcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLlxuLy8gRm9yIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuLy8gaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyN0aGlyZC1ib3gtc2l6aW5nXG4qIHtcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IEBsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICAudGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgLmltZy1yZXNwb25zaXZlKCk7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiBAdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEB0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgLnRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIC5pbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcbn1cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogICAgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBoci1ib3JkZXI7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudFxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2NC5cblxuLy8gLSBBbmltYXRpb25zXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIC0gQm94IHNoYWRvd1xuLy8gLSBCb3ggc2l6aW5nXG4vLyAtIENvbnRlbnQgY29sdW1uc1xuLy8gLSBIeXBoZW5zXG4vLyAtIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0gVHJhbnNmb3JtYXRpb25zXG4vLyAtIFRyYW5zaXRpb25zXG4vLyAtIFVzZXIgU2VsZWN0XG5cblxuLy8gQW5pbWF0aW9uc1xuLmFuaW1hdGlvbihAYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xuICAgICAgIC1vLWFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbiAgICAgICAgICBhbmltYXRpb246IEBhbmltYXRpb247XG59XG4uYW5pbWF0aW9uLW5hbWUoQG5hbWUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogQG5hbWU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IEBuYW1lO1xufVxuLmFuaW1hdGlvbi1kdXJhdGlvbihAZHVyYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbn1cbi5hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKEB0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG59XG4uYW5pbWF0aW9uLWRlbGF5KEBkZWxheSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogQGRlbGF5O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogQGRlbGF5O1xufVxuLmFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoQGl0ZXJhdGlvbi1jb3VudCkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IEBpdGVyYXRpb24tY291bnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogQGl0ZXJhdGlvbi1jb3VudDtcbn1cbi5hbmltYXRpb24tZGlyZWN0aW9uKEBkaXJlY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG59XG4uYW5pbWF0aW9uLWZpbGwtbW9kZShAZmlsbC1tb2RlKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogQGZpbGwtbW9kZTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBAZmlsbC1tb2RlO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG4uYm94LXNoYWRvdyhAc2hhZG93KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG4uYm94LXNpemluZyhAYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6IEBib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbi1jb3VudDsgQGNvbHVtbi1nYXA6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4uc2NhbGUoQHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnNjYWxlKEByYXRpb1g7IEByYXRpb1kpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZShAcmF0aW9YLCBAcmF0aW9ZKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xufVxuLnNjYWxlWChAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xufVxuLnNjYWxlWShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xufVxuLnNrZXcoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7XG59XG4udHJhbnNsYXRlKEB4OyBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4udHJhbnNsYXRlM2QoQHg7IEB5OyBAeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbn1cbi5yb3RhdGUoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4ucm90YXRlWChAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG59XG4ucm90YXRlWShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG59XG4ucGVyc3BlY3RpdmUoQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG59XG4ucGVyc3BlY3RpdmUtb3JpZ2luKEBwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xufVxuLnRyYW5zZm9ybS1vcmlnaW4oQG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi50cmFuc2l0aW9uLXByb3BlcnR5KEB0cmFuc2l0aW9uLXByb3BlcnR5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihAdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG59XG4udHJhbnNpdGlvbi10cmFuc2Zvcm0oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG4udGFiLWZvY3VzKCkge1xuICAvLyBXZWJLaXQtc3BlY2lmaWMuIE90aGVyIGJyb3dzZXJzIHdpbGwga2VlcCB0aGVpciBkZWZhdWx0IG91dGxpbmUgc3R5bGUuXG4gIC8vIChJbml0aWFsbHkgdHJpZWQgdG8gYWxzbyBmb3JjZSBkZWZhdWx0IHZpYSBgb3V0bGluZTogaW5pdGlhbGAsXG4gIC8vIGJ1dCB0aGF0IHNlZW1zIHRvIGVycm9uZW91c2x5IHJlbW92ZSB0aGUgb3V0bGluZSBpbiBGaXJlZm94IGFsdG9nZXRoZXIuKVxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG4uaW1nLXJlc3BvbnNpdmUoQGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6IEBkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuLmltZy1yZXRpbmEoQGZpbGUtMXg7IEBmaWxlLTJ4OyBAd2lkdGgtMXg7IEBoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTF4fVwiKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMnh9XCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogQHdpZHRoLTF4IEBoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IEBoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IEBoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IEBoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBAaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6IEBmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6IEBmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6IEBmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6IEBmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6IEBmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6IEBmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogQGZvbnQtc2l6ZS1zbWFsbCAvIEBmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6IEB0ZXh0LW11dGVkO1xufVxuLnRleHQtcHJpbWFyeSB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGJyYW5kLXByaW1hcnkpO1xufVxuLnRleHQtc3VjY2VzcyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG59XG4udGV4dC1pbmZvIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtaW5mby10ZXh0KTtcbn1cbi50ZXh0LXdhcm5pbmcge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS13YXJuaW5nLXRleHQpO1xufVxuLnRleHQtZGFuZ2VyIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtZGFuZ2VyLXRleHQpO1xufVxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vLyBGb3Igbm93IHdlJ2xsIGxlYXZlIHRoZXNlIGFsb25nc2lkZSB0aGUgdGV4dCBjbGFzc2VzIHVudGlsIHY0IHdoZW4gd2UgY2FuXG4vLyBzYWZlbHkgc2hpZnQgdGhpbmdzIGFyb3VuZCAocGVyIFNlbVZlciBydWxlcykuXG4uYmctcHJpbWFyeSB7XG4gIC8vIEdpdmVuIHRoZSBjb250cmFzdCBoZXJlLCB0aGlzIGlzIHRoZSBvbmx5IGNsYXNzIHRvIGhhdmUgaXRzIGNvbG9yIGludmVydGVkXG4gIC8vIGF1dG9tYXRpY2FsbHkuXG4gIGNvbG9yOiAjZmZmO1xuICAuYmctdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7XG59XG4uYmctc3VjY2VzcyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5iZy1pbmZvIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWluZm8tYmcpO1xufVxuLmJnLXdhcm5pbmcge1xuICAuYmctdmFyaWFudChAc3RhdGUtd2FybmluZy1iZyk7XG59XG4uYmctZGFuZ2VyIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWRhbmdlci1iZyk7XG59XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgLmxpc3QtdW5zdHlsZWQoKTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xuZGwge1xuICBtYXJnaW4tdG9wOiAwOyAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIERlZmF1bHRzIHRvIGJlaW5nIHN0YWNrZWQgd2l0aG91dCBhbnkgb2YgdGhlIGJlbG93IHN0eWxlcyBhcHBsaWVkLCB1bnRpbCB0aGVcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXG5cbi5kbC1ob3Jpem9udGFsIHtcbiAgZGQge1xuICAgICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpOyAvLyBDbGVhciB0aGUgZmxvYXRlZCBgZHRgIGlmIGFuIGVtcHR5IGBkZGAgaXMgcHJlc2VudFxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcbiAgICBkdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAoQGRsLWhvcml6b250YWwtb2Zmc2V0IC0gMjApO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIC50ZXh0LW92ZXJmbG93KCk7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZGwtaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG4vLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgQGFiYnItYm9yZGVyLWNvbG9yO1xufVxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgLnRleHQtdXBwZXJjYXNlKCk7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luOiAwIDAgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IEBibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBAYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG5cbiAgcCxcbiAgdWwsXG4gIG9sIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBOb3RlOiBEZXByZWNhdGVkIHNtYWxsIGFuZCAuc21hbGwgYXMgb2YgdjMuMS4wXG4gIC8vIENvbnRleHQ6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NjBcbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogQGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDBBMCc7IC8vIGVtIGRhc2gsIG5ic3BcbiAgICB9XG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi8vXG4vLyBIZWFkcyB1cDogYGJsb2NrcXVvdGUucHVsbC1yaWdodGAgaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2My4xLjAuXG4uYmxvY2txdW90ZS1yZXZlcnNlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCBAYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAvLyBBY2NvdW50IGZvciBjaXRhdGlvblxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgICY6YmVmb3JlIHsgY29udGVudDogJyc7IH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwQTAgXFwyMDE0JzsgLy8gbmJzcCwgZW0gZGFzaFxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRyZXNzZXNcbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG4udGV4dC1lbXBoYXNpcy12YXJpYW50KEBjb2xvcikge1xuICBjb2xvcjogQGNvbG9yO1xuICBhJjpob3ZlcixcbiAgYSY6Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oQGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi5iZy12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIGEmOmhvdmVyLFxuICBhJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG4udGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvL1xuLy8gQ29kZSAoaW5saW5lIGFuZCBibG9jaylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSW5saW5lIGFuZCBibG9jayBjb2RlIHN0eWxlc1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbn1cblxuLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IEBjb2RlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29kZS1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogQGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGtiZC1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAtIDEpIC8gMik7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlIC0gMSk7IC8vIDE0cHggdG8gMTNweFxuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogQHByZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByZS1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHByZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6IEBwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIC5jb250YWluZXItZml4ZWQoKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgLmNvbnRhaW5lci1maXhlZCgpO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICAubWFrZS1yb3coKTtcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKTtcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbi5tYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAubWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAubWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gIC5tYWtlLWdyaWQobGcpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICBmbG9vcigoQGd1dHRlciAvIDIpKTtcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoQGd1dHRlciAvIDIpKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG4ubWFrZS1yb3coQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoQGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKEBndXR0ZXIgLyAtMikpO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXhzLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xufVxuLm1ha2UteHMtY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG4ubWFrZS14cy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbn1cbi5tYWtlLXhzLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXNtLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG4ubWFrZS1tZC1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG4ubWFrZS1sZy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYEBncmlkLWNvbHVtbnNgLlxuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKSB7XG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGFsbCBzaXplcyBvZiBncmlkIGNvbHVtbnMsIHdpZHRocyAxLTEyXG4gIC5jb2woQGluZGV4KSB7IC8vIGluaXRpYWxcbiAgICBAaXRlbTogflwiLmNvbC14cy1Ae2luZGV4fSwgLmNvbC1zbS1Ae2luZGV4fSwgLmNvbC1tZC1Ae2luZGV4fSwgLmNvbC1sZy1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCBAaXRlbSk7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsOyBcIj08XCIgaXNuJ3QgYSB0eXBvXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgflwiQHtsaXN0fSwgQHtpdGVtfVwiKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcbiAgICBAe2xpc3R9IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIH1cbiAgfVxuICAuY29sKDEpOyAvLyBraWNrc3RhcnQgaXRcbn1cblxuLmZsb2F0LWdyaWQtY29sdW1ucyhAY2xhc3MpIHtcbiAgLmNvbChAaW5kZXgpIHsgLy8gaW5pdGlhbFxuICAgIEBpdGVtOiB+XCIuY29sLUB7Y2xhc3N9LUB7aW5kZXh9XCI7XG4gICAgLmNvbCgoQGluZGV4ICsgMSksIEBpdGVtKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA9PCBAZ3JpZC1jb2x1bW5zKSB7IC8vIGdlbmVyYWxcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCB+XCJAe2xpc3R9LCBAe2l0ZW19XCIpO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID4gQGdyaWQtY29sdW1ucykgeyAvLyB0ZXJtaW5hbFxuICAgIEB7bGlzdH0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5jb2woMSk7IC8vIGtpY2tzdGFydCBpdFxufVxuXG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gd2lkdGgpIGFuZCAoQGluZGV4ID4gMCkge1xuICAuY29sLUB7Y2xhc3N9LUB7aW5kZXh9IHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC1Ae2luZGV4fSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkgYW5kIChAaW5kZXggPSAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVsbCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVsbC1Ae2luZGV4fSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1bGwpIGFuZCAoQGluZGV4ID0gMCkge1xuICAuY29sLUB7Y2xhc3N9LXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBvZmZzZXQpIHtcbiAgLmNvbC1Ae2NsYXNzfS1vZmZzZXQtQHtpbmRleH0ge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gQmFzaWMgbG9vcGluZyBpbiBMRVNTXG4ubG9vcC1ncmlkLWNvbHVtbnMoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAaW5kZXggPj0gMCkge1xuICAuY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpO1xuICAvLyBuZXh0IGl0ZXJhdGlvblxuICAubG9vcC1ncmlkLWNvbHVtbnMoKEBpbmRleCAtIDEpLCBAY2xhc3MsIEB0eXBlKTtcbn1cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG4ubWFrZS1ncmlkKEBjbGFzcykge1xuICAuZmxvYXQtZ3JpZC1jb2x1bW5zKEBjbGFzcyk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHdpZHRoKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgcHVsbCk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHB1c2gpO1xuICAubG9vcC1ncmlkLWNvbHVtbnMoQGdyaWQtY29sdW1ucywgQGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZS1iZztcbn1cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiBAdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAvLyBDZWxsc1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gUmVtb3ZlIHRvcCBib3JkZXIgZnJvbSB0aGVhZCBieSBkZWZhdWx0XG4gID4gY2FwdGlvbiArIHRoZWFkLFxuICA+IGNvbGdyb3VwICsgdGhlYWQsXG4gID4gdGhlYWQ6Zmlyc3QtY2hpbGQge1xuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgPiB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keS1iZztcbiAgfVxufVxuXG5cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiBAdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0aGVhZCA+IHRyIHtcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmctaG92ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBjZWxsIHNpemluZ1xuLy9cbi8vIFJlc2V0IGRlZmF1bHQgdGFibGUgYmVoYXZpb3JcblxudGFibGUgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjtcbn1cbnRhYmxlIHtcbiAgdGQsXG4gIHRoIHtcbiAgICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbi50YWJsZS1yb3ctdmFyaWFudChhY3RpdmU7IEB0YWJsZS1iZy1hY3RpdmUpO1xuLnRhYmxlLXJvdy12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnKTtcbi50YWJsZS1yb3ctdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZyk7XG4udGFibGUtcm93LXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmcpO1xuLnRhYmxlLXJvdy12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuLnRhYmxlLXJvdy12YXJpYW50KEBzdGF0ZTsgQGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC5Ae3N0YXRlfSxcbiAgICA+IHRoLkB7c3RhdGV9LFxuICAgICYuQHtzdGF0ZX0gPiB0ZCxcbiAgICAmLkB7c3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC5Ae3N0YXRlfTpob3ZlcixcbiAgICA+IHRoLkB7c3RhdGV9OmhvdmVyLFxuICAgICYuQHtzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLkB7c3RhdGV9LFxuICAgICYuQHtzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IEBsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG4vLyBQb3NpdGlvbiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYmV0dGVyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE1ha2UgcmFuZ2UgaW5wdXRzIGJlaGF2ZSBsaWtlIHRleHR1YWwgZm9ybSBjb250cm9sc1xuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb2N1cyBmb3IgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICAudGFiLWZvY3VzKCk7XG59XG5cbi8vIEFkanVzdCBvdXRwdXQgZWxlbWVudFxub3V0cHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xufVxuXG5cbi8vIENvbW1vbiBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzIGZvciBmb3JtIGNvbnRyb2xzLiBBcHBseSBgLmZvcm0tY29udHJvbGAgdG8gYW55XG4vLyBvZiB0aGUgZm9sbG93aW5nIGZvcm0gY29udHJvbHM6XG4vL1xuLy8gc2VsZWN0XG4vLyB0ZXh0YXJlYVxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl1cbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRlXCJdXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl1cbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwid2Vla1wiXVxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXVxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCBAaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICAudHJhbnNpdGlvbih+XCJib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzXCIpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgLmZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIC5wbGFjZWhvbGRlcigpO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1XG4gIH1cblxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbiAgdGV4dGFyZWEmIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuLy9cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4vL1xuLy8gTm90ZSB0aGF0IGFzIG9mIDkuMywgaU9TIGRvZXNuJ3Qgc3VwcG9ydCBgd2Vla2AuXG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgJi5mb3JtLWNvbnRyb2wge1xuICAgICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgICB9XG5cbiAgICAmLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIH1cblxuICAgICYuaW5wdXQtbGcsXG4gICAgLmlucHV0LWdyb3VwLWxnICYge1xuICAgICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IEBmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7XG59XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyAvLyBzcGFjZSBvdXQgY29uc2VjdXRpdmUgaW5saW5lIGNvbnRyb2xzXG59XG5cbi8vIEFwcGx5IHNhbWUgZGlzYWJsZWQgY3Vyc29yIHR3ZWFrIGFzIGZvciBpbnB1dHNcbi8vIFNvbWUgc3BlY2lhbCBjYXJlIGlzIG5lZWRlZCBiZWNhdXNlIDxsYWJlbD5zIGRvbid0IGluaGVyaXQgdGhlaXIgcGFyZW50J3MgYGN1cnNvcmAuXG4vL1xuLy8gTm90ZTogTmVpdGhlciByYWRpb3Mgbm9yIGNoZWNrYm94ZXMgY2FuIGJlIHJlYWRvbmx5LlxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgZGlyZWN0bHkgb24gPGxhYmVsPnNcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBvbiBlbGVtZW50cyB3aXRoIDxsYWJlbD4gZGVzY2VuZGFudHNcbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBsYWJlbCB7XG4gICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhdGljIGZvcm0gY29udHJvbCB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSBgcGAgZWxlbWVudCB0byBtYWtlIGFueSBzdHJpbmcgb2YgdGV4dCBhbGlnbiB3aXRoIGxhYmVscyBpblxuLy8gYSBob3Jpem9udGFsIGZvcm0gbGF5b3V0LlxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIC8vIFNpemUgaXQgYXBwcm9wcmlhdGVseSBuZXh0IHRvIHJlYWwgZm9ybSBjb250cm9sc1xuICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgcGFkZGluZy1ib3R0b206IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGBwYFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgQGZvbnQtc2l6ZS1iYXNlKTtcblxuICAmLmlucHV0LWxnLFxuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG4uaW5wdXQtc20ge1xuICAuaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0LXNtYWxsOyBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uZm9ybS1ncm91cC1zbSB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6IEBpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgQGZvbnQtc2l6ZS1zbWFsbCk7XG4gICAgcGFkZGluZzogKEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSkgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1zbWFsbDtcbiAgfVxufVxuXG4uaW5wdXQtbGcge1xuICAuaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0LWxhcmdlOyBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDsgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1sYXJnZTsgQGxpbmUtaGVpZ2h0LWxhcmdlOyBAaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uZm9ybS1ncm91cC1sZyB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6IEBpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgQGZvbnQtc2l6ZS1sYXJnZSk7XG4gICAgcGFkZGluZzogKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICsgMSkgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1sYXJnZTtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uaGFzLWZlZWRiYWNrIHtcbiAgLy8gRW5hYmxlIGFic29sdXRlIHBvc2l0aW9uaW5nXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBFbnN1cmUgaWNvbnMgZG9uJ3Qgb3ZlcmxhcCB0ZXh0XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IChAaW5wdXQtaGVpZ2h0LWJhc2UgKiAxLjI1KTtcbiAgfVxufVxuLy8gRmVlZGJhY2sgaWNvbiAocmVxdWlyZXMgLmdseXBoaWNvbiBjbGFzc2VzKVxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjsgLy8gRW5zdXJlIGljb24gaXMgYWJvdmUgaW5wdXQgZ3JvdXBzXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogQGlucHV0LWhlaWdodC1iYXNlO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pbnB1dC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbn1cbi5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbn1cblxuLy8gRmVlZGJhY2sgc3RhdGVzXG4uaGFzLXN1Y2Nlc3Mge1xuICAuZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHN0YXRlLXN1Y2Nlc3MtdGV4dDsgQHN0YXRlLXN1Y2Nlc3MtdGV4dDsgQHN0YXRlLXN1Y2Nlc3MtYmcpO1xufVxuLmhhcy13YXJuaW5nIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBzdGF0ZS13YXJuaW5nLXRleHQ7IEBzdGF0ZS13YXJuaW5nLXRleHQ7IEBzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5oYXMtZXJyb3Ige1xuICAuZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHN0YXRlLWRhbmdlci10ZXh0OyBAc3RhdGUtZGFuZ2VyLXRleHQ7IEBzdGF0ZS1kYW5nZXItYmcpO1xufVxuXG4vLyBSZXBvc2l0aW9uIGZlZWRiYWNrIGljb24gaWYgaW5wdXQgaGFzIHZpc2libGUgbGFiZWwgYWJvdmVcbi5oYXMtZmVlZGJhY2sgbGFiZWwge1xuXG4gICYgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbihAdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5yYWRpbyxcbiAgICAuY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbCBmb3Jtc1xuLy9cbi8vIEhvcml6b250YWwgZm9ybXMgYXJlIGJ1aWx0IG9uIGdyaWQgY2xhc3NlcyBhbmQgYWxsb3cgeW91IHRvIGNyZWF0ZSBmb3JtcyB3aXRoXG4vLyBsYWJlbHMgb24gdGhlIGxlZnQgYW5kIGlucHV0cyBvbiB0aGUgcmlnaHQuXG5cbi5mb3JtLWhvcml6b250YWwge1xuXG4gIC8vIENvbnNpc3RlbnQgdmVydGljYWwgYWxpZ25tZW50IG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICAvL1xuICAvLyBMYWJlbHMgYWxzbyBnZXQgc29tZSByZXNldCBzdHlsZXMsIGJ1dCB0aGF0IGlzIHNjb3BlZCB0byBhIG1lZGlhIHF1ZXJ5IGJlbG93LlxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICB9XG4gIC8vIEFjY291bnQgZm9yIHBhZGRpbmcgd2UncmUgYWRkaW5nIHRvIGVuc3VyZSB0aGUgYWxpZ25tZW50IGFuZCBvZiBoZWxwIHRleHRcbiAgLy8gYW5kIG90aGVyIGNvbnRlbnQgYmVsb3cgaXRlbXNcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpKTtcbiAgfVxuXG4gIC8vIE1ha2UgZm9ybSBncm91cHMgYmVoYXZlIGxpa2Ugcm93c1xuICAuZm9ybS1ncm91cCB7XG4gICAgLm1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZXNldCBzcGFjaW5nIGFuZCByaWdodCBhbGlnbiBsYWJlbHMsIGJ1dCBzY29wZSB0byBtZWRpYSBxdWVyaWVzIHNvIHRoYXRcbiAgLy8gbGFiZWxzIG9uIG5hcnJvdyB2aWV3cG9ydHMgc3RhY2sgdGhlIHNhbWUgYXMgYSBkZWZhdWx0IGZvcm0gZXhhbXBsZS5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gICAgfVxuICB9XG5cbiAgLy8gVmFsaWRhdGlvbiBzdGF0ZXNcbiAgLy9cbiAgLy8gUmVwb3NpdGlvbiB0aGUgaWNvbiBiZWNhdXNlIGl0J3Mgbm93IHdpdGhpbiBhIGdyaWQgY29sdW1uIGFuZCBjb2x1bW5zIGhhdmVcbiAgLy8gYHBvc2l0aW9uOiByZWxhdGl2ZTtgIG9uIHRoZW0uIEFsc28gYWNjb3VudHMgZm9yIHRoZSBncmlkIGd1dHRlciBwYWRkaW5nLlxuICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHJpZ2h0OiBmbG9vcigoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKyAxKTtcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1ncm91cC1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKTtcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbi5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAdGV4dC1jb2xvcjogIzU1NTsgQGJvcmRlci1jb2xvcjogI2NjYzsgQGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIEBzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oQGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG4uZm9ybS1jb250cm9sLWZvY3VzKEBjb2xvcjogQGlucHV0LWJvcmRlci1mb2N1cykge1xuICBAY29sb3ItcmdiYTogcmdiYShyZWQoQGNvbG9yKSwgZ3JlZW4oQGNvbG9yKSwgYmx1ZShAY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLmJveC1zaGFkb3coflwiaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggQHtjb2xvci1yZ2JhfVwiKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQ7IEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcblxuICBzZWxlY3QmIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSYsXG4gIHNlbGVjdFttdWx0aXBsZV0mIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtd2VpZ2h0OiBAYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1iYXNlLXZlcnRpY2FsOyBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7IEBmb250LXNpemUtYmFzZTsgQGxpbmUtaGVpZ2h0LWJhc2U7IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgLnVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIC50YWItZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogQGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIC5vcGFjaXR5KC42NSk7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICBhJiB7XG4gICAgJi5kaXNhYmxlZCxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGVmYXVsdC1jb2xvcjsgQGJ0bi1kZWZhdWx0LWJnOyBAYnRuLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXByaW1hcnktY29sb3I7IEBidG4tcHJpbWFyeS1iZzsgQGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXN1Y2Nlc3MtY29sb3I7IEBidG4tc3VjY2Vzcy1iZzsgQGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYmx1ZS1ncmVlblxuLmJ0bi1pbmZvIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4taW5mby1jb2xvcjsgQGJ0bi1pbmZvLWJnOyBAYnRuLWluZm8tYm9yZGVyKTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXdhcm5pbmctY29sb3I7IEBidG4td2FybmluZy1iZzsgQGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGFuZ2VyLWNvbG9yOyBAYnRuLWRhbmdlci1iZzsgQGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuXG4vLyBMaW5rIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogQGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJ1dHRvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmJ0bi14cyB7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy14cy12ZXJ0aWNhbDsgQHBhZGRpbmcteHMtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuXG5cbi8vIEJsb2NrIGJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4uYnV0dG9uLXZhcmlhbnQoQGNvbG9yOyBAYmFja2dyb3VuZDsgQGJvcmRlcikge1xuICBjb2xvcjogQGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCAyNSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogQGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG4uYnV0dG9uLXNpemUoQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vIE9wYWNpdHlcblxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogQG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgQG9wYWNpdHktaWU6IChAb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogflwiYWxwaGEob3BhY2l0eT1Ae29wYWNpdHktaWV9KVwiO1xufVxuIiwiLy9cbi8vIENvbXBvbmVudCBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIZWFkcyB1cCFcbi8vXG4vLyBXZSBkb24ndCB1c2UgdGhlIGAub3BhY2l0eSgpYCBtaXhpbiBoZXJlIHNpbmNlIGl0IGNhdXNlcyBhIGJ1ZyB3aXRoIHRleHRcbi8vIGZpZWxkcyBpbiBJRTctOC4gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zNTUyLlxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIC50cmFuc2l0aW9uKG9wYWNpdHkgLjE1cyBsaW5lYXIpO1xuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiAgICAgIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgdHImLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRib2R5Ji5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAudHJhbnNpdGlvbi1wcm9wZXJ0eSh+XCJoZWlnaHQsIHZpc2liaWxpdHlcIik7XG4gIC50cmFuc2l0aW9uLWR1cmF0aW9uKC4zNXMpO1xuICAudHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZSk7XG59XG4iLCIvL1xuLy8gRHJvcGRvd24gbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogICBAY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XG4gIGJvcmRlci10b3A6ICAgQGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgflwiXFw5XCI7IC8vIElFOFxuICBib3JkZXItcmlnaHQ6IEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogIEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoZGl2KVxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnUgKHVsKVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOyAvLyBJRTggZmFsbGJhY2tcbiAgYm9yZGVyOiAxcHggc29saWQgQGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgLmJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcbiAgLy9cbiAgLy8gRGVwcmVjYXRlZCBhcyBvZiAzLjEuMCBpbiBmYXZvciBvZiBgLmRyb3Bkb3duLW1lbnUtW2Rpcl1gXG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIC5uYXYtZGl2aWRlcihAZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIH1cblxuICAvLyBMaW5rcyB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgfVxufVxuXG4vLyBIb3Zlci9Gb2N1cyBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG4vL1xuLy8gR3JheSBvdXQgdGV4dCBhbmQgZW5zdXJlIHRoZSBob3Zlci9mb2N1cyBzdGF0ZSByZW1haW5zIGdyYXlcblxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50XG4gICAgLnJlc2V0LWZpbHRlcigpO1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgbGVmdDogYXV0bzsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBgLmRyb3Bkb3duLW1lbnVgXG4gIHJpZ2h0OiAwO1xufVxuLy8gV2l0aCB2Mywgd2UgZW5hYmxlZCBhdXRvLWZsaXBwaW5nIGlmIHlvdSBoYXZlIGEgZHJvcGRvd24gd2l0aGluIGEgcmlnaHRcbi8vIGFsaWduZWQgbmF2IGNvbXBvbmVudC4gVG8gZW5hYmxlIHRoZSB1bmRvaW5nIG9mIHRoYXQsIHdlIHByb3ZpZGUgYW4gb3ZlcnJpZGVcbi8vIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgZHJvcGRvd24gbWVudSBhbGlnbm1lbnQuXG4vL1xuLy8gVGhpcyBpcyBvbmx5IGZvciBsZWZ0LWFsaWduaW5nIGEgZHJvcGRvd24gbWVudSB3aXRoaW4gYSBgLm5hdmJhci1yaWdodGAgb3Jcbi8vIGAucHVsbC1yaWdodGAgbmF2IGNvbXBvbmVudC5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEBkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gQmFja2Ryb3AgdG8gY2F0Y2ggYm9keSBjbGlja3Mgb24gbW9iaWxlLCBldGMuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogKEB6aW5kZXgtZHJvcGRvd24gLSAxMCk7XG59XG5cbi8vIFJpZ2h0IGFsaWduZWQgZHJvcGRvd25zXG4ucHVsbC1yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy9cbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldCwgYnJvLlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG5cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogQGNhcmV0LXdpZHRoLWJhc2UgZGFzaGVkO1xuICAgIGJvcmRlci1ib3R0b206IEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIH5cIlxcOVwiOyAvLyBJRThcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlaXRlcmF0ZSBwZXIgbmF2YmFyLmxlc3MgYW5kIHRoZSBtb2RpZmllZCBjb21wb25lbnQgYWxpZ25tZW50IHRoZXJlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAuZHJvcGRvd24tbWVudS1yaWdodCgpO1xuICAgIH1cbiAgICAvLyBOZWNlc3NhcnkgZm9yIG92ZXJyaWRlcyBvZiB0aGUgZGVmYXVsdCByaWdodCBhbGlnbmVkIG1lbnUuXG4gICAgLy8gV2lsbCByZW1vdmUgY29tZSB2NCBpbiBhbGwgbGlrZWxpaG9vZC5cbiAgICAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICAgIC5kcm9wZG93bi1tZW51LWxlZnQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuLm5hdi1kaXZpZGVyKEBjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG5cbi5yZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSlcIikpO1xufVxuIiwiLy9cbi8vIEJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4OyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIC5idG4sXG4gIC5idG4tZ3JvdXAsXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gU2V0IGNvcm5lcnMgaW5kaXZpZHVhbCBiZWNhdXNlIHNvbWV0aW1lcyBhIHNpbmdsZSBidXR0b24gY2FuIGJlIGluIGEgLmJ0bi1ncm91cCBhbmQgd2UgbmVlZCA6Zmlyc3QtY2hpbGQgYW5kIDpsYXN0LWNoaWxkIHRvIGJvdGggbWF0Y2hcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSwgZ2l2ZW4gdGhhdCBhIC5kcm9wZG93bi1tZW51IGlzIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIC5ib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC14cyA+IC5idG4geyAmOmV4dGVuZCguYnRuLXhzKTsgfVxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyAmOmV4dGVuZCguYnRuLXNtKTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyAmOmV4dGVuZCguYnRuLWxnKTsgfVxuXG5cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gUmVwb3NpdGlvbiB0aGUgY2FyZXRcbi5idG4gLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vLyBDYXJldHMgaW4gb3RoZXIgYnV0dG9uIHNpemVzXG4uYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogQGNhcmV0LXdpZHRoLWxhcmdlIEBjYXJldC13aWR0aC1sYXJnZSAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLy8gVXBzaWRlIGRvd24gY2FyZXRzIGZvciAuZHJvcHVwXG4uZHJvcHVwIC5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwIEBjYXJldC13aWR0aC1sYXJnZSBAY2FyZXQtd2lkdGgtbGFyZ2U7XG59XG5cblxuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyIGZsb2F0cyBzbyBkcm9wZG93biBtZW51cyBjYW4gYmUgcHJvcGVybHkgcGxhY2VkXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBKdXN0aWZpZWQgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLWp1c3RpZmllZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gID4gLmJ0bi1ncm91cCAuYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0ge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4uYm9yZGVyLXRvcC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItYm90dG9tLXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItbGVmdC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuIiwiLy9cbi8vIElucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGRyb3Bkb3duc1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgLy8gcHJldmVudCBpbnB1dCBncm91cHMgZnJvbSBpbmhlcml0aW5nIGJvcmRlciBzdHlsZXMgZnJvbSB0YWJsZSBjZWxscyB3aGVuIHBsYWNlZCB3aXRoaW4gYSB0YWJsZVxuXG4gIC8vIFVuZG8gcGFkZGluZyBhbmQgZmxvYXQgb2YgZ3JpZCBjbGFzc2VzXG4gICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaW5wdXQgaXMgYWx3YXlzIGFib3ZlIHRoZSAqYXBwZW5kZWQqIGFkZG9uIGJ1dHRvbiBmb3JcbiAgICAvLyBwcm9wZXIgYm9yZGVyIGNvbG9ycy5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIC8vIElFOSBmdWJhcnMgdGhlIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBpbiB0ZXh0IGlucHV0cyBhbmQgdGhlIGFycm93cyBvblxuICAgIC8vIHNlbGVjdCBlbGVtZW50cyBpbiBpbnB1dCBncm91cHMuIFRvIGZpeCBpdCwgd2UgZmxvYXQgdGhlIGlucHV0LiBEZXRhaWxzOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgLmlucHV0LWxnKCk7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICAuaW5wdXQtc20oKTtcbn1cblxuXG4vLyBEaXNwbGF5IGFzIHRhYmxlLWNlbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4vLyBBZGRvbiBhbmQgYWRkb24gd3JhcHBlciBmb3IgYnV0dG9uc1xuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBpbnB1dC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIFNpemluZ1xuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICAmLmlucHV0LWxnIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgLmJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIDFweCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIE5hdnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1bC9vbFxuICBsaXN0LXN0eWxlOiBub25lO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiBAbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGUgc2V0cyB0ZXh0IHRvIGdyYXkgYW5kIG51a2VzIGhvdmVyL3RhYiBlZmZlY3RzXG4gICAgJi5kaXNhYmxlZCA+IGEge1xuICAgICAgY29sb3I6IEBuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3BlbiBkcm9wZG93bnNcbiAgLm9wZW4gPiBhIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBsaW5rLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hdiBkaXZpZGVycyAoZGVwcmVjYXRlZCB3aXRoIHYzLjAuMSlcbiAgLy9cbiAgLy8gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjMgd2l0aCB0aGUgZHJvcHBpbmcgb2YgYC5uYXYtbGlzdGAsIGJ1dFxuICAvLyB3ZSBtaXNzZWQgaXQuIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgYW55d2hlcmUsIGJ1dCBpbiB0aGUgaW50ZXJlc3RcbiAgLy8gb2YgbWFpbnRhaW5pbmcgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpbiBjYXNlIHlvdSB1c2UgaXQsIGl0J3MgZGVwcmVjYXRlZC5cbiAgLm5hdi1kaXZpZGVyIHtcbiAgICAubmF2LWRpdmlkZXIoKTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXG4gIC8vXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XG4gID4gbGkgPiBhID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBUYWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIHRhYnMgc29tZXRoaW5nIHRvIHNpdCBvblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAvLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4gICAgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZSwgYW5kIGl0cyA6aG92ZXIgdG8gb3ZlcnJpZGUgbm9ybWFsIDpob3ZlclxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHB1bGxpbmcgdGhpcyBpbiBtYWlubHkgZm9yIGxlc3Mgc2hvcnRoYW5kXG4gICYubmF2LWp1c3RpZmllZCB7XG4gICAgLm5hdi1qdXN0aWZpZWQoKTtcbiAgICAubmF2LXRhYnMtanVzdGlmaWVkKCk7XG4gIH1cbn1cblxuXG4vLyBQaWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi1waWxscyB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbiAgICA+IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogQG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YWNrZWQgcGlsbHNcbi5uYXYtc3RhY2tlZCB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG5vIG5lZWQgZm9yIHRoaXMgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IHZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEp1c3RpZmllZCBuYXYgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdi1qdXN0aWZpZWQge1xuICB3aWR0aDogMTAwJTtcblxuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICA+IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgfVxuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdmUgYm9yZGVycyB0byBhbmNob3JzIGluc3RlYWQgb2YgYm90dG9tIG9mIGxpc3Rcbi8vXG4vLyBNaXhpbiBmb3IgYWRkaW5nIG9uIHRvcCB0aGUgc2hhcmVkIGAubmF2LWp1c3RpZmllZGAgc3R5bGVzIGZvciBvdXIgdGFic1xuLm5hdi10YWJzLWp1c3RpZmllZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgPiBsaSA+IGEge1xuICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmcm9tIC5uYXYtdGFic1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3BlY2lmaWMgZHJvcGRvd25zXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAvLyBtYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIE5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBhbmQgYmFzZSBjbGFzc1xuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogQG5hdmJhci1oZWlnaHQ7IC8vIEVuc3VyZSBhIG5hdmJhciBhbHdheXMgc2hvd3MgKGUuZy4sIHdpdGhvdXQgYSAubmF2YmFyLWJyYW5kIGluIGNvbGxhcHNlZCBtb2RlKVxuICBtYXJnaW4tYm90dG9tOiBAbmF2YmFyLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIC8vIFByZXZlbnQgZmxvYXRzIGZyb20gYnJlYWtpbmcgdGhlIG5hdmJhclxuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IEBuYXZiYXItYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBoZWFkaW5nXG4vL1xuLy8gR3JvdXBzIGAubmF2YmFyLWJyYW5kYCBhbmQgYC5uYXZiYXItdG9nZ2xlYCBpbnRvIGEgc2luZ2xlIGNvbXBvbmVudCBmb3IgZWFzeVxuLy8gc3R5bGluZyBvZiByZXNwb25zaXZlIGFzcGVjdHMuXG5cbi5uYXZiYXItaGVhZGVyIHtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBjb2xsYXBzZSAoYm9keSlcbi8vXG4vLyBHcm91cCB5b3VyIG5hdmJhciBjb250ZW50IGludG8gdGhpcyBmb3IgZWFzeSBjb2xsYXBzaW5nIGFuZCBleHBhbmRpbmcgYWNyb3NzXG4vLyB2YXJpb3VzIGRldmljZSBzaXplcy4gQnkgZGVmYXVsdCwgdGhpcyBjb250ZW50IGlzIGNvbGxhcHNlZCB3aGVuIDw3NjhweCwgYnV0XG4vLyB3aWxsIGV4cGFuZCBwYXN0IHRoYXQgZm9yIGEgaG9yaXpvbnRhbCBkaXNwbGF5LlxuLy9cbi8vIFRvIHN0YXJ0IChvbiBtb2JpbGUgZGV2aWNlcykgdGhlIG5hdmJhciBsaW5rcywgZm9ybXMsIGFuZCBidXR0b25zIGFyZSBzdGFja2VkXG4vLyB2ZXJ0aWNhbGx5IGFuZCBpbmNsdWRlIGEgYG1heC1oZWlnaHRgIHRvIG92ZXJmbG93IGluIGNhc2UgeW91IGhhdmUgdG9vIG11Y2hcbi8vIGNvbnRlbnQgZm9yIHRoZSB1c2VyJ3Mgdmlld3BvcnQuXG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBwYWRkaW5nLXJpZ2h0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZy1sZWZ0OiAgQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAmLmluIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHNldHRpbmdcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pbiB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIFVuZG8gdGhlIGNvbGxhcHNlIHNpZGUgcGFkZGluZyBmb3IgbmF2YmFycyB3aXRoIGNvbnRhaW5lcnMgdG8gZW5zdXJlXG4gICAgLy8gYWxpZ25tZW50IG9mIHJpZ2h0LWFsaWduZWQgY29udGVudHMuXG4gICAgLm5hdmJhci1maXhlZC10b3AgJixcbiAgICAubmF2YmFyLXN0YXRpYy10b3AgJixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXgtaGVpZ2h0OiBAbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ7XG5cbiAgICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6IEBzY3JlZW4teHMtbWluKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvdGggbmF2YmFyIGhlYWRlciBhbmQgY29sbGFwc2Vcbi8vXG4vLyBXaGVuIGEgY29udGFpbmVyIGlzIHByZXNlbnQsIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGhlYWRlciBhbmQgY29sbGFwc2UuXG5cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgPiAubmF2YmFyLWhlYWRlcixcbiAgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tbGVmdDogIC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogIDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gU3RhdGljIHRvcCAodW5maXhlZCwgYnV0IDEwMCUgd2lkZSkgbmF2YmFyXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICB6LWluZGV4OiBAemluZGV4LW5hdmJhcjtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbi5uYXZiYXItZml4ZWQtdG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gb3ZlcnJpZGUgLm5hdmJhciBkZWZhdWx0c1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG59XG5cblxuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsIEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGhlaWdodDogQG5hdmJhci1oZWlnaHQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAmLFxuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiA5cHggMTBweDtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKEBuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpIC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICA+IGxpID4gYSB7XG4gICAgcGFkZGluZy10b3A6ICAgIDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICA+IGxpID4gYSxcbiAgICAgIC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDtcbiAgICAgIH1cbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVuY29sbGFwc2UgdGhlIG5hdlxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcblxuICAgID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogICAgQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBmb3JtXG4vL1xuLy8gRXh0ZW5zaW9uIG9mIHRoZSBgLmZvcm0taW5saW5lYCB3aXRoIHNvbWUgZXh0cmEgZmxhdm9yIGZvciBvcHRpbXVtIGRpc3BsYXkgaW5cbi8vIG91ciBuYXZiYXJzLlxuXG4ubmF2YmFyLWZvcm0ge1xuICBtYXJnaW4tbGVmdDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogMTBweCBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBzaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuXG4gIC8vIE1peGluIGJlaGF2aW9yIGZvciBvcHRpbXVtIGRpc3BsYXlcbiAgLmZvcm0taW5saW5lKCk7XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsbHkgY2VudGVyIGluIGV4cGFuZGVkLCBob3Jpem9udGFsIG5hdmJhclxuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gRHJvcGRvd24gbWVudXNcblxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldHNcbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXQgc3VwcG9ydCBmb3IgZHJvcHVwcyB2aWEgZXh0cmEgZHJvcHVwIGNsYXNzXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoQG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xufVxuXG5cbi8vIEJ1dHRvbnMgaW4gbmF2YmFyc1xuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGEgYnV0dG9uIHdpdGhpbiBhIG5hdmJhciAod2hlbiAqbm90KiBpbiBhIGZvcm0pLlxuXG4ubmF2YmFyLWJ0biB7XG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAmLmJ0bi1zbSB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigyMik7XG4gIH1cbn1cblxuXG4vLyBUZXh0IGluIG5hdmJhcnNcbi8vXG4vLyBBZGQgYSBjbGFzcyB0byBtYWtlIGFueSBlbGVtZW50IHByb3Blcmx5IGFsaWduIGl0c2VsZiB2ZXJ0aWNhbGx5IHdpdGhpbiB0aGUgbmF2YmFycy5cblxuLm5hdmJhci10ZXh0IHtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAbGluZS1oZWlnaHQtY29tcHV0ZWQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1yaWdodDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVwdXJwb3NlIHRoZSBwdWxsIHV0aWxpdGllcyBhcyB0aGVpciBvd24gbmF2YmFyIHV0aWxpdGllcyB0byBhdm9pZCBzcGVjaWZpY2l0eVxuLy8gaXNzdWVzIHdpdGggcGFyZW50cyBhbmQgY2hhaW5pbmcuIE9ubHkgZG8gdGhpcyB3aGVuIHRoZSBuYXZiYXIgaXMgdW5jb2xsYXBzZWRcbi8vIHRob3VnaCBzbyB0aGF0IG5hdmJhciBjb250ZW50cyBwcm9wZXJseSBzdGFjayBhbmQgYWxpZ24gaW4gbW9iaWxlLlxuLy9cbi8vIERlY2xhcmVkIGFmdGVyIHRoZSBuYXZiYXIgY29tcG9uZW50cyB0byBlbnN1cmUgbW9yZSBzcGVjaWZpY2l0eSBvbiB0aGUgbWFyZ2lucy5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1sZWZ0ICB7IC5wdWxsLWxlZnQoKTsgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAucHVsbC1yaWdodCgpO1xuICAgIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgfiAubmF2YmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgbmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCBuYXZiYXJcbi5uYXZiYXItZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1iZztcbiAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuICB9XG5cbiAgLy8gRHJvcGRvd24gbWVudSBpdGVtc1xuICAubmF2YmFyLW5hdiB7XG4gICAgLy8gUmVtb3ZlIGJhY2tncm91bmQgY29sb3IgZnJvbSBvcGVuIGRyb3Bkb3duXG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIExpbmtzIGluIG5hdmJhcnNcbiAgLy9cbiAgLy8gQWRkIGEgY2xhc3MgdG8gZW5zdXJlIGxpbmtzIG91dHNpZGUgdGhlIG5hdmJhciBuYXYgYXJlIGNvbG9yZWQgY29ycmVjdGx5LlxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJbnZlcnNlIG5hdmJhclxuXG4ubmF2YmFyLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYmc7XG4gIGJvcmRlci1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIERhcmtlbiB0aGUgcmVzcG9uc2l2ZSBuYXYgdG9nZ2xlXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgNyUpO1xuICB9XG5cbiAgLy8gRHJvcGRvd25zXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5XG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cbiIsIi8vXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRmxvYXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jbGVhcmZpeCB7XG4gIC5jbGVhcmZpeCgpO1xufVxuLmNlbnRlci1ibG9jayB7XG4gIC5jZW50ZXItYmxvY2soKTtcbn1cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuXG4vLyBUb2dnbGluZyBjb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLmhpZGUgaW4gZmF2b3Igb2YgLmhpZGRlbiBvciAuc3Itb25seSAoYXMgYXBwcm9wcmlhdGUpIGluIHYzLjAuMVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIC50ZXh0LWhpZGUoKTtcbn1cblxuXG4vLyBIaWRlIGZyb20gc2NyZWVucmVhZGVycyBhbmQgYnJvd3NlcnNcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gRm9yIEFmZml4IHBsdWdpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWZmaXgge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4iLCIvL1xuLy8gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiBAYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsIEBicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJlYWRjcnVtYi1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICArIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIkB7YnJlYWRjcnVtYi1zZXBhcmF0b3J9XFwwMGEwXCI7IC8vIFVuaWNvZGUgc3BhY2UgYWRkZWQgc2luY2UgaW5saW5lLWJsb2NrIG1lYW5zIG5vbi1jb2xsYXBzaW5nIHdoaXRlLXNwYWNlXG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGNvbG9yOiBAYnJlYWRjcnVtYi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGNvbG9yOiBAYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBQYWdpbmF0aW9uIChtdWx0aXBsZSBwYWdlcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IEBsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgLy8gUmVtb3ZlIGxpc3Qtc3R5bGUgYW5kIGJsb2NrLWxldmVsIGRlZmF1bHRzXG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gQ29sbGFwc2Ugd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6IEBwYWRkaW5nLWJhc2UtdmVydGljYWwgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IEBwYWdpbmF0aW9uLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24tYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAcGFnaW5hdGlvbi1ib3JkZXI7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgLmJvcmRlci1sZWZ0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKEBib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gbGkgPiBhLFxuICA+IGxpID4gc3BhbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IHNwYW4ge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gID4gLmRpc2FibGVkIHtcbiAgICA+IHNwYW4sXG4gICAgPiBzcGFuOmhvdmVyLFxuICAgID4gc3Bhbjpmb2N1cyxcbiAgICA+IGEsXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4ucGFnaW5hdGlvbi1sZyB7XG4gIC5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBsaW5lLWhlaWdodC1sYXJnZTsgQGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuXG4vLyBTbWFsbFxuLnBhZ2luYXRpb24tc20ge1xuICAucGFnaW5hdGlvbi1zaXplKEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2VyIHBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IEBsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAcGFnZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogQHBhZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5leHQge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmV2aW91cyB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzLFxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogQHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2VyLWJnO1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBsYWJlbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXG4gIC8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbiAgYSYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGxhYmVsLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgbGFiZWxzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBsYWJlbHMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWRlZmF1bHQtYmcpO1xufVxuXG4ubGFiZWwtcHJpbWFyeSB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1wcmltYXJ5LWJnKTtcbn1cblxuLmxhYmVsLXN1Y2Nlc3Mge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWluZm8tYmcpO1xufVxuXG4ubGFiZWwtd2FybmluZyB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC13YXJuaW5nLWJnKTtcbn1cblxuLmxhYmVsLWRhbmdlciB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy8gTGFiZWxzXG5cbi5sYWJlbC12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGZvbnQtd2VpZ2h0OiBAYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiBAYmFkZ2UtY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiBAYmFkZ2UtbGluZS1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhZGdlLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYmFkZ2UtYm9yZGVyLXJhZGl1cztcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxuXG4gIC5idG4teHMgJixcbiAgLmJ0bi1ncm91cC14cyA+IC5idG4gJiB7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZSwgYnV0IG9ubHkgZm9yIGxpbmtzXG4gIGEmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBiYWRnZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY291bnQgZm9yIGJhZGdlcyBpbiBuYXZzXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gJixcbiAgLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gJiB7XG4gICAgY29sb3I6IEBiYWRnZS1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhZGdlLWFjdGl2ZS1iZztcbiAgfVxuXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtID4gJiArICYge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG5cbiAgLm5hdi1waWxscyA+IGxpID4gYSA+ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBKdW1ib3Ryb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmctdG9wOiAgICBAanVtYm90cm9uLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiBAanVtYm90cm9uLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6IEBqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBqdW1ib3Ryb24tYmc7XG5cbiAgaDEsXG4gIC5oMSB7XG4gICAgY29sb3I6IEBqdW1ib3Ryb24taGVhZGluZy1jb2xvcjtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IChAanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgICBmb250LXNpemU6IEBqdW1ib3Ryb24tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cblxuICA+IGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oQGp1bWJvdHJvbi1iZywgMTAlKTtcbiAgfVxuXG4gIC5jb250YWluZXIgJixcbiAgLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTsgLy8gT25seSByb3VuZCBjb3JuZXJzIGF0IGhpZ2hlciByZXNvbHV0aW9ucyBpZiBjb250YWluZWQgaW4gYSBjb250YWluZXJcbiAgICBwYWRkaW5nLWxlZnQ6ICAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBwYWRkaW5nLXRvcDogICAgKEBqdW1ib3Ryb24tcGFkZGluZyAqIDEuNik7XG4gICAgcGFkZGluZy1ib3R0b206IChAanVtYm90cm9uLXBhZGRpbmcgKiAxLjYpO1xuXG4gICAgLmNvbnRhaW5lciAmLFxuICAgIC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICAoQGp1bWJvdHJvbi1wYWRkaW5nICogMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoQGp1bWJvdHJvbi1wYWRkaW5nICogMik7XG4gICAgfVxuXG4gICAgaDEsXG4gICAgLmgxIHtcbiAgICAgIGZvbnQtc2l6ZTogQGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBUaHVtYm5haWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1peGluIGFuZCBhZGp1c3QgdGhlIHJlZ3VsYXIgaW1hZ2UgY2xhc3Ncbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogQHRodW1ibmFpbC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEB0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgLnRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgICY6ZXh0ZW5kKC5pbWctcmVzcG9uc2l2ZSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gQWRkIGEgaG92ZXIgc3RhdGUgZm9yIGxpbmtlZCB2ZXJzaW9ucyBvbmx5XG4gIGEmOmhvdmVyLFxuICBhJjpmb2N1cyxcbiAgYSYuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IEBsaW5rLWNvbG9yO1xuICB9XG5cbiAgLy8gSW1hZ2UgY2FwdGlvbnNcbiAgLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6IEB0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiBAdGh1bWJuYWlsLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogQGFsZXJ0LXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBhbGVydC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8vIFNwZWNpZmllZCBmb3IgdGhlIGg0IHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nIEBoZWFkaW5ncy1jb2xvclxuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbiAgLmFsZXJ0LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiBAYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgfVxuXG4gIC8vIEltcHJvdmUgYWxpZ25tZW50IGFuZCBzcGFjaW5nIG9mIGlubmVyIGNvbnRlbnRcbiAgPiBwLFxuICA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgPiBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2FibGUsIC8vIFRoZSBtaXNzcGVsbGVkIC5hbGVydC1kaXNtaXNzYWJsZSB3YXMgZGVwcmVjYXRlZCBpbiAzLjIuMC5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IChAYWxlcnQtcGFkZGluZyArIDIwKTtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IC0yMXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1zdWNjZXNzLWJnOyBAYWxlcnQtc3VjY2Vzcy1ib3JkZXI7IEBhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1pbmZvLWJnOyBAYWxlcnQtaW5mby1ib3JkZXI7IEBhbGVydC1pbmZvLXRleHQpO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC13YXJuaW5nLWJnOyBAYWxlcnQtd2FybmluZy1ib3JkZXI7IEBhbGVydC13YXJuaW5nLXRleHQpO1xufVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LWRhbmdlci1iZzsgQGFsZXJ0LWRhbmdlci1ib3JkZXI7IEBhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuLmFsZXJ0LXZhcmlhbnQoQGJhY2tncm91bmQ7IEBib3JkZXI7IEB0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKEBib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbihAdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFyIGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2ViS2l0XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4vLyBTcGVjIGFuZCBJRTEwK1xuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cblxuLy8gQmFyIGl0c2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBPdXRlciBjb250YWluZXJcbi5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcm9ncmVzcy1iZztcbiAgYm9yZGVyLXJhZGl1czogQHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKSk7XG59XG5cbi8vIEJhciBvZiBwcm9ncmVzc1xuLnByb2dyZXNzLWJhciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBjb2xvcjogQHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHJvZ3Jlc3MtYmFyLWJnO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSkpO1xuICAudHJhbnNpdGlvbih3aWR0aCAuNnMgZWFzZSk7XG59XG5cbi8vIFN0cmlwZWQgYmFyc1xuLy9cbi8vIGAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLXN0cmlwZWRgIGNsYXNzLCB3aGljaCB5b3UganVzdCBhZGQgdG8gYW4gZXhpc3Rpbmdcbi8vIGAucHJvZ3Jlc3MtYmFyYC5cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbn1cblxuLy8gQ2FsbCBhbmltYXRpb24gZm9yIHRoZSBhY3RpdmUgb25lXG4vL1xuLy8gYC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci5hY3RpdmVgIGFwcHJvYWNoLlxuLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci5hY3RpdmUge1xuICAuYW5pbWF0aW9uKHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZSk7XG59XG5cblxuLy8gVmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci1zdWNjZXNzLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmZvIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWRhbmdlciB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZyk7XG59XG4iLCIvLyBHcmFkaWVudHNcblxuI2dyYWRpZW50IHtcblxuICAvLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuICAvL1xuICAvLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuICAvLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuICAudmVydGljYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC5kaXJlY3Rpb25hbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIH1cbiAgLmhvcml6b250YWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAucmFkaWFsKEBpbm5lci1jb2xvcjogIzU1NTsgQG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IEBhbmdsZTogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbi5wcm9ncmVzcy1iYXItdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgpO1xuICB9XG59XG4iLCIubWVkaWEge1xuICAvLyBQcm9wZXIgc3BhY2luZyBiZXR3ZWVuIGluc3RhbmNlcyBvZiAubWVkaWFcbiAgbWFyZ2luLXRvcDogMTVweDtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5tZWRpYSxcbi5tZWRpYS1ib2R5IHtcbiAgem9vbTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lZGlhLWJvZHkge1xuICB3aWR0aDogMTAwMDBweDtcbn1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIEZpeCBjb2xsYXBzZSBpbiB3ZWJraXQgZnJvbSBtYXgtd2lkdGg6IDEwMCUgYW5kIGRpc3BsYXk6IHRhYmxlLWNlbGwuXG4gICYuaW1nLXRodW1ibmFpbCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbi5tZWRpYS1yaWdodCxcbi5tZWRpYSA+IC5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYSA+IC5wdWxsLWxlZnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYS1yaWdodCxcbi5tZWRpYS1ib2R5IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLm1lZGlhLW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZWRpYS1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIGhlYWRpbmdzIGZvciB0aWdodGVyIGRlZmF1bHQgc3BhY2luZ1xuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8vIE1lZGlhIGxpc3QgdmFyaWF0aW9uXG4vL1xuLy8gVW5kbyBkZWZhdWx0IHVsL29sIHN0eWxlc1xuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvL1xuLy8gTGlzdCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBsaXN0LWdyb3VwLWJvcmRlcjtcblxuICAvLyBSb3VuZCB0aGUgZmlyc3QgYW5kIGxhc3QgaXRlbXNcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKEBsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoQGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlIGl0ZW1zLlxuLy8gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzaG93aW5nIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogQGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCxcbiAgJi5kaXNhYmxlZDpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlIGNsYXNzIG9uIGl0ZW0gaXRzZWxmLCBub3QgcGFyZW50XG4gICYuYWN0aXZlLFxuICAmLmFjdGl2ZTpob3ZlcixcbiAgJi5hY3RpdmU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6IEBsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnOyBAc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZzsgQHN0YXRlLWluZm8tdGV4dCk7XG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmc7IEBzdGF0ZS13YXJuaW5nLXRleHQpO1xuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZzsgQHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChAc3RhdGU7IEBiYWNrZ3JvdW5kOyBAY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS1Ae3N0YXRlfSB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcblxuICAgIGEmLFxuICAgIGJ1dHRvbiYge1xuICAgICAgY29sb3I6IEBjb2xvcjtcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFuZWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiBAcGFuZWwtYm9yZGVyLXJhZGl1cztcbiAgLmJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6IEBwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICA+IC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBXaXRoaW4gaGVhZGluZywgc3RyaXAgYW55IGBoKmAgdGFnIG9mIGl0cyBkZWZhdWx0IG1hcmdpbnMgZm9yIHNwYWNpbmcuXG4ucGFuZWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuMTI1KSk7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gID4gYSxcbiAgPiBzbWFsbCxcbiAgPiAuc21hbGwsXG4gID4gc21hbGwgPiBhLFxuICA+IC5zbWFsbCA+IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGZvb3RlciAoc3RheXMgZ3JheSBpbiBldmVyeSBtb2RpZmllciBjbGFzcylcbi5wYW5lbC1mb290ZXIge1xuICBwYWRkaW5nOiBAcGFuZWwtZm9vdGVyLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYW5lbC1mb290ZXItYmc7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAcGFuZWwtaW5uZXItYm9yZGVyO1xuICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xufVxuXG5cbi8vIExpc3QgZ3JvdXBzIGluIHBhbmVsc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIHNwYWNlIG91dCBsaXN0IGdyb3VwIGNvbnRlbnQgZnJvbSBwYW5lbCBoZWFkaW5ncyB0byBhY2NvdW50IGZvclxuLy8gYW55IGtpbmQgb2YgY3VzdG9tIGNvbnRlbnQgYmV0d2VlbiB0aGUgdHdvLlxuXG4ucGFuZWwge1xuICA+IC5saXN0LWdyb3VwLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIC5ib3JkZXItdG9wLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuLy8gQ29sbGFwc2Ugc3BhY2UgYmV0d2VlbiB3aGVuIHRoZXJlJ3Mgbm8gYWRkaXRpb25hbCBjb250ZW50LlxuLnBhbmVsLWhlYWRpbmcgKyAubGlzdC1ncm91cCB7XG4gIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cbi5saXN0LWdyb3VwICsgLnBhbmVsLWZvb3RlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG5cbi8vIFRhYmxlcyBpbiBwYW5lbHNcbi8vXG4vLyBQbGFjZSBhIG5vbi1ib3JkZXJlZCBgLnRhYmxlYCB3aXRoaW4gYSBwYW5lbCAobm90IHdpdGhpbiBhIGAucGFuZWwtYm9keWApIGFuZFxuLy8gd2F0Y2ggaXQgZ28gZnVsbCB3aWR0aC5cblxuLnBhbmVsIHtcbiAgPiAudGFibGUsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUsXG4gID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBAcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICA+IC50YWJsZTpmaXJzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0Ym9keTpsYXN0LWNoaWxkLFxuICAgID4gdGZvb3Q6bGFzdC1jaGlsZCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUsXG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUtcmVzcG9uc2l2ZSxcbiAgPiAudGFibGUgKyAucGFuZWwtYm9keSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSArIC5wYW5lbC1ib2R5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuICA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGgsXG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICA+IC50YWJsZS1ib3JkZXJlZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgID4gdHIge1xuICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8vIENvbGxhcHNpYmxlIHBhbmVscyAoYWthLCBhY2NvcmRpb24pXG4vL1xuLy8gV3JhcCBhIHNlcmllcyBvZiBwYW5lbHMgaW4gYC5wYW5lbC1ncm91cGAgdG8gdHVybiB0aGVtIGludG8gYW4gYWNjb3JkaW9uIHdpdGhcbi8vIHRoZSBoZWxwIG9mIG91ciBjb2xsYXBzZSBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLnBhbmVsLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuXG4gIC8vIFRpZ2h0ZW4gdXAgbWFyZ2luIHNvIGl0J3Mgb25seSBiZXR3ZWVuIHBhbmVsc1xuICAucGFuZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogQHBhbmVsLWJvcmRlci1yYWRpdXM7XG5cbiAgICArIC5wYW5lbCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWhlYWRpbmcge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LFxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBwYW5lbC1pbm5lci1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnNcbi5wYW5lbC1kZWZhdWx0IHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWRlZmF1bHQtYm9yZGVyOyBAcGFuZWwtZGVmYXVsdC10ZXh0OyBAcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOyBAcGFuZWwtZGVmYXVsdC1ib3JkZXIpO1xufVxuLnBhbmVsLXByaW1hcnkge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtcHJpbWFyeS1ib3JkZXI7IEBwYW5lbC1wcmltYXJ5LXRleHQ7IEBwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc7IEBwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1zdWNjZXNzLWJvcmRlcjsgQHBhbmVsLXN1Y2Nlc3MtdGV4dDsgQHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzsgQHBhbmVsLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi5wYW5lbC1pbmZvIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWluZm8tYm9yZGVyOyBAcGFuZWwtaW5mby10ZXh0OyBAcGFuZWwtaW5mby1oZWFkaW5nLWJnOyBAcGFuZWwtaW5mby1ib3JkZXIpO1xufVxuLnBhbmVsLXdhcm5pbmcge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtd2FybmluZy1ib3JkZXI7IEBwYW5lbC13YXJuaW5nLXRleHQ7IEBwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc7IEBwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWRhbmdlci1ib3JkZXI7IEBwYW5lbC1kYW5nZXItdGV4dDsgQHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOyBAcGFuZWwtZGFuZ2VyLWJvcmRlcik7XG59XG4iLCIvLyBQYW5lbHNcblxuLnBhbmVsLXZhcmlhbnQoQGJvcmRlcjsgQGhlYWRpbmctdGV4dC1jb2xvcjsgQGhlYWRpbmctYmctY29sb3I7IEBoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBFbWJlZHMgcmVzcG9uc2l2ZVxuLy9cbi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDE2OjkgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi8vIE1vZGlmaWVyIGNsYXNzIGZvciA0OjMgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cbiIsIi8vXG4vLyBXZWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ud2VsbCB7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDE5cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3ZWxsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAd2VsbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gIH1cbn1cblxuLy8gU2l6ZXNcbi53ZWxsLWxnIHtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG4ud2VsbC1zbSB7XG4gIHBhZGRpbmc6IDlweDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG59XG4iLCIvL1xuLy8gQ2xvc2UgaWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBmb250LXdlaWdodDogQGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBjbG9zZS10ZXh0LXNoYWRvdztcbiAgLm9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAub3BhY2l0eSguNSk7XG4gIH1cblxuICAvLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4gIC8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuICAvLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbiAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG4gIGJ1dHRvbiYge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LW1vZGFsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIC50cmFuc2xhdGUoMCwgLTI1JSk7XG4gICAgLnRyYW5zaXRpb24tdHJhbnNmb3JtKH5cIjAuM3MgZWFzZS1vdXRcIik7XG4gIH1cbiAgJi5pbiAubW9kYWwtZGlhbG9nIHsgLnRyYW5zbGF0ZSgwLCAwKSB9XG59XG4ubW9kYWwtb3BlbiAubW9kYWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjsgLy9vbGQgYnJvd3NlcnMgZmFsbGJhY2sgKGllOCBldGMpXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIC5ib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgLm9wYWNpdHkoMCk7IH1cbiAgJi5pbiB7IC5vcGFjaXR5KEBtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IEBtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xufVxuLy8gQ2xvc2UgaWNvblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IEBtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IEBtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6IEBtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpOyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGFjY291bnQgZm9yIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gd2hpY2ggZ2V0cyB0aGUgYm90dG9tIG1hcmdpbiBsaWtlIGFsbCBvdGhlciBpbnB1dHNcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogQG1vZGFsLW1kO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICAuYm94LXNoYWRvdygwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIE1vZGFsIHNpemVzXG4gIC5tb2RhbC1zbSB7IHdpZHRoOiBAbW9kYWwtc207IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gIC5tb2RhbC1sZyB7IHdpZHRoOiBAbW9kYWwtbGc7IH1cbn1cbiIsIi8vXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogQHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICAucmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG5cbiAgLm9wYWNpdHkoMCk7XG5cbiAgJi5pbiAgICAgeyAub3BhY2l0eShAdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCAgICB7IG1hcmdpbi10b3A6ICAtM3B4OyBwYWRkaW5nOiBAdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogQHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLmxlZnQgICB7IG1hcmdpbi1sZWZ0OiAtM3B4OyBwYWRkaW5nOiAwIEB0b29sdGlwLWFycm93LXdpZHRoOyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiBAdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiBAdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxufVxuIiwiLnJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvL1xuLy8gUG9wb3ZlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IEBwb3BvdmVyLW1heC13aWR0aDtcbiAgcGFkZGluZzogMXB4O1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSBwb3BvdmVycyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIC5yZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCBAcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIC5ib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMikpO1xuXG4gIC8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuICAmLnRvcCAgICAgeyBtYXJnaW4tdG9wOiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbiAgJi5yaWdodCAgIHsgbWFyZ2luLWxlZnQ6IEBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYuYm90dG9tICB7IG1hcmdpbi10b3A6IEBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYubGVmdCAgICB7IG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbn1cblxuLnBvcG92ZXItdGl0bGUge1xuICBtYXJnaW46IDA7IC8vIHJlc2V0IGhlYWRpbmcgbWFyZ2luXG4gIHBhZGRpbmc6IDhweCAxNHB4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBvcG92ZXItdGl0bGUtYmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oQHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcbiAgYm9yZGVyLXJhZGl1czogKEBib3JkZXItcmFkaXVzLWxhcmdlIC0gMSkgKEBib3JkZXItcmFkaXVzLWxhcmdlIC0gMSkgMCAwO1xufVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7XG59XG5cbi8vIEFycm93c1xuLy9cbi8vIC5hcnJvdyBpcyBvdXRlciwgLmFycm93OmFmdGVyIGlzIGlubmVyXG5cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgJixcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgYm9yZGVyLXdpZHRoOiBAcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbn1cbi5wb3BvdmVyID4gLmFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiBAcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnBvcG92ZXIge1xuICAmLnRvcCA+IC5hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgYm90dG9tOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCA+IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5ib3R0b20gPiAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIHRvcDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0ID4gLmFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDYXJvdXNlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRyYW5zaXRpb24oLjZzIGVhc2UtaW4tb3V0IGxlZnQpO1xuXG4gICAgLy8gQWNjb3VudCBmb3IgamFua2l0dWRlIG9uIGltYWdlc1xuICAgID4gaW1nLFxuICAgID4gYSA+IGltZyB7XG4gICAgICAmOmV4dGVuZCguaW1nLXJlc3BvbnNpdmUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gV2ViS2l0IENTUzMgdHJhbnNmb3JtcyBmb3Igc3VwcG9ydGVkIGRldmljZXNcbiAgICBAbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgICAudHJhbnNpdGlvbi10cmFuc2Zvcm0oficwLjZzIGVhc2UtaW4tb3V0Jyk7XG4gICAgICAuYmFja2ZhY2UtdmlzaWJpbGl0eSh+J2hpZGRlbicpO1xuICAgICAgLnBlcnNwZWN0aXZlKDEwMDBweCk7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLm5leHQubGVmdCxcbiAgICAgICYucHJldi5yaWdodCxcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbn1cblxuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogQGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIC5vcGFjaXR5KEBjYXJvdXNlbC1jb250cm9sLW9wYWNpdHkpO1xuICBmb250LXNpemU6IEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTtcbiAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiBAY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIEZpeCBJRTkgY2xpY2stdGhydSBidWdcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgI2dyYWRpZW50ID4gLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC41KTsgQGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSkpO1xuICB9XG4gICYucmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgI2dyYWRpZW50ID4gLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKTsgQGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBjb2xvcjogQGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC5vcGFjaXR5KC45KTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHdpZHRoOiAgMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICB9XG5cblxuICAuaWNvbi1wcmV2IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDM5JzsvLyBTSU5HTEUgTEVGVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDM5KVxuICAgIH1cbiAgfVxuICAuaWNvbi1uZXh0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDNhJzsvLyBTSU5HTEUgUklHSFQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzQSlcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gdW5vcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAgMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOC05IGhhY2sgZm9yIGV2ZW50IGhhbmRsaW5nXG4gICAgLy9cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciA4LTkgZG9lcyBub3Qgc3VwcG9ydCBjbGlja3Mgb24gZWxlbWVudHMgd2l0aG91dCBhIHNldFxuICAgIC8vIGBiYWNrZ3JvdW5kLWNvbG9yYC4gV2UgY2Fubm90IHVzZSBgZmlsdGVyYCBzaW5jZSB0aGF0J3Mgbm90IHZpZXdlZCBhcyBhXG4gICAgLy8gYmFja2dyb3VuZCBjb2xvciBieSB0aGUgYnJvd3Nlci4gVGh1cywgYSBoYWNrIGlzIG5lZWRlZC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgLy9cbiAgICAvLyBGb3IgSUU4LCB3ZSBzZXQgc29saWQgYmxhY2sgYXMgaXQgZG9lc24ndCBzdXBwb3J0IGByZ2JhKClgLiBGb3IgSUU5LCB3ZVxuICAgIC8vIHNldCBhbHBoYSB0cmFuc3BhcmVuY3kgZm9yIHRoZSBiZXN0IHJlc3VsdHMgcG9zc2libGUuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCBcXDk7IC8vIElFOFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IC8vIElFOVxuICB9XG4gIC5hY3RpdmUge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogIDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGlkZGVuIGJ5IGRlZmF1bHQgZm9yIHNtYWxsZXIgdmlld3BvcnRzXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTUlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiBAY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogQGNhcm91c2VsLXRleHQtc2hhZG93O1xuICAmIC5idG4ge1xuICAgIHRleHQtc2hhZG93OiBub25lOyAvLyBObyBzaGFkb3cgZm9yIGJ1dHRvbiBlbGVtZW50cyBpbiBjYXJvdXNlbC1jYXB0aW9uXG4gIH1cbn1cblxuXG4vLyBTY2FsZSB1cCBjb250cm9scyBmb3IgdGFibGV0cyBhbmQgdXBcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG5cbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsXG4gICAgLmljb24tcHJldixcbiAgICAuaWNvbi1uZXh0IHtcbiAgICAgIHdpZHRoOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICAgIGhlaWdodDogKEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAqIDEuNSk7XG4gICAgICBtYXJnaW4tdG9wOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgICAgZm9udC1zaXplOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogKEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAvIC0yKTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcmlnaHQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC8vIE1vdmUgdXAgdGhlIGluZGljYXRvcnNcbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMjBweDtcbiAgfVxufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuLmNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbi5jZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xIChoYXMgYmVlbiByZW1vdmVkIGluIHY0KVxuLmhpZGUtdGV4dCgpIHtcbiAgZm9udDogflwiMC8wXCIgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbi50ZXh0LWhpZGUoKSB7XG4gIC5oaWRlLXRleHQoKTtcbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXhzLFxuLnZpc2libGUtc20sXG4udmlzaWJsZS1tZCxcbi52aXNpYmxlLWxnIHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG59XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZS14cyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtc20ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbGcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4teHMge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuLmhpZGRlbi1zbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi5oaWRkZW4tbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4uaGlkZGVuLWxnIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXByaW50IHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4tcHJpbnQge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi5yZXNwb25zaXZlLXZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHRhYmxlJiAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyJiAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCYsXG4gIHRkJiAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMRVNTIFZBUklBQkxFU1xuKiogICAgICAgICAgICAgICAgVGhpcyBzdHlsZXNoZWV0IHNob3VsZCBvbmx5IGNvbnRhaW4gdmFyaWFibGVzLlxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogICAgICAgICAgICAgICAgICAgICAgICAgIENvbG9yIHBhbGV0dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZ3JlZW46ICAgICAgICAgICAgICAgICAgICAgICAgICAjZGFlMTczO1xuQG1vcmFuZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICNkNjc4MmI7XG5AbWRhcmtibHVlOiAgICAgICAgICAgICAgICAgICAgICAgIzIzMjUyODtcbkBtZ3JleTogICAgICAgICAgICAgICAgICAgICAgICAgICAjY2NjY2NjO1xuQG1saWdodGdyZXk6ICAgICAgICAgICAgICAgICAgICAgICM5OTk5OTk7XG5AbWRhcmtiZzogICAgICAgICAgICAgICAgICAgICAgICAgIzE2MTYxQjtcbkBtYmx1ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAjMzU4ZmRjO1xuQGRhcmtlcmJsdWU6ICAgICAgICAgICAgICAgICAgICAgICMxNjI1MmM7XG5AZGFya2JsdWU6ICAgICAgICAgICAgICAgICAgICAgICAgIzE3MjYyZDtcbkBkYXJrZXJibHVlOiAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oQGRhcmtibHVlLDQlKTtcbkBkYXJrYmx1ZTI6ICAgICAgICAgICAgICAgICAgICAgICAjMjUzMzNhO1xuQG1lZGl1bWJsdWU6ICAgICAgICAgICAgICAgICAgICAgICM2MjZkNmQ7XG5AbGlnaHRibHVlOiAgICAgICAgICAgICAgICAgICAgICAgI2FiYzRjNjtcbkBwaW5rOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZWQxZTc5O1xuQHJlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNGRjAwMDA7XG5cbkBmbHVyb2JsdWU6ICAgICAgICAgICAgICAgICAgICAgICAjMDBlNWYwO1xuQGZsdXJvb3JhbmdlOiAgICAgICAgICAgICAgICAgICAgICNmZjczMDA7XG5AZmx1cmVveWVsbG93OiAgICAgICAgICAgICAgICAgICAgI2ZiZDkyNTtcbkBmbHVyb2dyZWVuOiAgICAgICAgICAgICAgICAgICAgICAjNDdmZjAwO1xuQGZsdXJvcGluazogICAgICAgICAgICAgICAgICAgICAgICNlMDFmNzQ7XG5cbkBkYXJrZ3JlZW46ICAgICAgICAgICAgICAgICAgICAgICAjMzNkMzc1O1xuQGdyZWVuOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNkMWU1NWM7XG5AcHVycGxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgIzk3N2JmMDtcbkBsaWdodGdyYXk6ICAgICAgICAgICAgICAgICAgICAgICAjZTZlZGVlO1xuQGJsdWVncmF5OiAgICAgICAgICAgICAgICAgICAgICAgICNhYmM0YzY7XG5AYmx1ZWdyYXkyOiAgICAgICAgICAgICAgICAgICAgICAgIzM1NDY0YztcblxuQGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgICAgICAgICAgQGZsdXJvYmx1ZTtcbkBicmFuZC13YXJuaW5nOiAgICAgICAgICAgICAgICAgIEBwdXJwbGU7XG5AYnJhbmQtaW5mbzogICAgICAgICAgICAgICAgICAgICBAZmx1cm9ibHVlO1xuQGJyYW5kLWRhbmdlcjogICAgICAgICAgICAgICAgICAgQGZsdXJvcGluaztcbkBicmFuZC1wcmltYXJ5OiAgICAgICAgICAgICAgICAgIEBmbHVyb2JsdWU7XG5cbkBpbXBhYy1wb3NpdGl2ZTogICAgICAgICAgICAgICAgIGdyZWVuO1xuQGltcGFjLW5lZ2F0aXZlOiAgICAgICAgICAgICAgICAgQHBpbms7XG5AaW1wYWMtcG9zaXRpdmUyOiAgICAgICAgICAgICAgICAjM2ZjNGZmOyAgICAgLy8gbGlnaHRlciBjb2xvcnMgdXNlZCBmb3IgcGF5YWJsZXMtcmVjZWl2YWJsZXNcbkBpbXBhYy1uZWdhdGl2ZTI6ICAgICAgICAgICAgICAgICMxZGU5YjY7ICAgICAvLyBsaWdodGVyIGNvbG9yc3VzZWQgZm9yIHBheWFibGVzLXJlY2VpdmFibGVzXG5cbi8vIFNwYWNlcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHRvcC1idWZmZXItaGVpZ2h0OiBAZ3JpZC1ndXR0ZXItd2lkdGgvMjsgLy8gYm9vdHN0cmFwIHZhcmlhYmxlXG4udG9wLWJ1ZmZlci0xIHsgbWFyZ2luLXRvcDogQHRvcC1idWZmZXItaGVpZ2h0OyB9XG4udG9wLWJ1ZmZlci0yIHsgbWFyZ2luLXRvcDogMipAdG9wLWJ1ZmZlci1oZWlnaHQ7IH1cbi50b3AtYnVmZmVyLTMgeyBtYXJnaW4tdG9wOiAzKkB0b3AtYnVmZmVyLWhlaWdodDsgfVxuLnRvcC1idWZmZXItNCB7IG1hcmdpbi10b3A6IDQqQHRvcC1idWZmZXItaGVpZ2h0OyB9XG4udG9wLWJ1ZmZlci01IHsgbWFyZ2luLXRvcDogNSpAdG9wLWJ1ZmZlci1oZWlnaHQ7IH1cbi50b3AtYnVmZmVyLTYgeyBtYXJnaW4tdG9wOiA2KkB0b3AtYnVmZmVyLWhlaWdodDsgfVxuLnRvcC1idWZmZXItNyB7IG1hcmdpbi10b3A6IDcqQHRvcC1idWZmZXItaGVpZ2h0OyB9XG4udG9wLWJ1ZmZlci04IHsgbWFyZ2luLXRvcDogOCpAdG9wLWJ1ZmZlci1oZWlnaHQ7IH1cbi50b3AtYnVmZmVyLTkgeyBtYXJnaW4tdG9wOiA5KkB0b3AtYnVmZmVyLWhlaWdodDsgfVxuLnRvcC1idWZmZXItMTAgeyBtYXJnaW4tdG9wOiAxMCpAdG9wLWJ1ZmZlci1oZWlnaHQ7IH1cblxuLy8gRGFzaGJvYXJkXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wYWMtZGFzaGJvYXJkLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgICAgICA1MHB4O1xuQGltcGFjLWRhc2hib2FyZC1zbS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICAgQGltcGFjLWRhc2hib2FyZC1wYWRkaW5nLXRvcCAqIDM7XG5AaW1wYWMtZGFzaGJvYXJkLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAxMDBweDtcbkBpbXBhYy1kYXNoYm9hcmQtYm9yZGVycy1jb2xvcjogICAgICAgICAgICAgICAgIEBsaWdodGJsdWU7XG5cbi8vIFRpdGxlXG5AaW1wYWMtZGFzaGJvYXJkLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICBAcHVycGxlO1xuQGltcGFjLWRhc2hib2FyZC10aXRsZS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgQGRhcmtibHVlO1xuQGltcGFjLWRhc2hib2FyZC10aXRsZS1sYWJlbC1jcmVhdGUtY29sb3I6ICAgICAgd2hpdGU7XG5AaW1wYWMtZGFzaGJvYXJkLXNvdXJjZS1jb2xvcjogICAgICAgICAgICAgICAgICBAaW1wYWMtZGFzaGJvYXJkLXRpdGxlLWxhYmVsLWNvbG9yO1xuQGltcGFjLWRhc2hib2FyZC1idXR0b25zLWJvcmRlci1yYWRpdXM6ICAgICAgICAgNHB4O1xuXG4vL0luZm8tdGV4dFxuQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgd2hpdGU7XG5AaW1wYWMtZGFzaGJvYXJkLWluZm8tdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAgICByZ2JhKDIzLDM4LDQ1LCAwLjcpO1xuQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgMjVweDtcbkBpbXBhYy1kYXNoYm9hcmQtaW5mby10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgIDMwMDtcblxuLy8gRGFzaGJvYXJkIFNlbGVjdG9yXG4gIC8vIFRhYnNcbkBpbXBhYy1kYXNoYm9hcmQtc2VsZWN0b3ItYm9yZGVyOiAgICAgICAgICAgICAgIDFweCBzb2xpZCBAaW1wYWMtZGFzaGJvYXJkLWJvcmRlcnMtY29sb3I7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtbWFyZ2luOiAgICAgICAgICAwIDJweCAwIDA7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtcGFkZGluZzogICAgICAgICAxMHB4IDhweCAxMHB4IDE1cHg7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5AaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtY29sb3I6ICAgICAgICAgICBibGFjaztcbkBpbXBhYy1kYXNoYm9hcmQtc2VsZWN0b3ItdGFicy1hY3RpdmUtY29sb3I6ICAgIEBwdXJwbGU7XG5cbi8vIFdpZGdldCBzZWxlY3RvclxuQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmc6ICAgICAgICAgICAgIzIzMzg0NTtcbkBpbXBhYy1kYXNoYm9hcmQtd2lkZ2V0LXNlbGVjdG9yLXRleHQtY29sb3I6ICAgIHdoaXRlO1xuQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3Itd2lkZ2V0LWl0ZW0tbWluLWhlaWdodDogMHB4O1xuXG4vLyBXaWRnZXRzIGNvbnRhaW5lclxuQGltcGFjLXBsYWNlaG9sZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgMnB4IGRhc2hlZCBAaW1wYWMtZGFzaGJvYXJkLWJvcmRlcnMtY29sb3I7XG5AaW1wYWMtd2lkZ2V0cy1jb250YWluZXItc2lkZS1wYWRkaW5nOiAgICAgICAgICAwcHg7XG5AaW1wYWMtcGFkZGluZy1iZXR3ZWVuLXdpZGdldHM6ICAgICAgICAgICAgICAgICAxMnB4O1xuQGltcGFjLW1pbmltdW0td2lkZ2V0LXNpemU6ICAgICAgICAgICAgICAgICAgICAgMjUwcHg7XG5AaW1wYWMtYmlnLXdpZGdldC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICA1NjVweDtcblxuLy8gQnV0dG9uc1xuQGltcGFjLWJ0bi1zaGFkZGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICBAZGFya2JsdWU7XG5AaW1wYWMtYnRuLXNoYWRkZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIEBtZWRpdW1ibHVlO1xuXG4vLyBEYXNoYm9hcmQgTW9kYWxzXG5AaW1wYWMtZGFzaGJvYXJkLWxvYWRpbmctc3Bpbm5lcjogICAgICAgICAgICAgICB3aGl0ZTtcbkBpbXBhYy1kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMjksIDE5NywgNTcsIDAuNjIpO1xuXG4vLyBXaWRnZXRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHbG9iYWxcbkBpbXBhYy13aWRnZXQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgQHB1cnBsZTtcbkBpbXBhYy13aWRnZXQtYnV0dG9ucy1jb2xvcjogICAgICAgICAgICAgICAgICAgQGltcGFjLXdpZGdldC1saW5rLWNvbG9yO1xuQGltcGFjLXdpZGdldC10aWxlLXNlbGVjdGVkLWNvbG9yOiAgICAgICAgICAgICBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG5AaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgIHdoaXRlO1xuQGltcGFjLXdpZGdldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICBzb2xpZCAxcHggZGFya2VuKEBsaWdodGdyYXksMTAlKTtcbkBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIzVCNjY2NztcbkBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1tZWRpdW06ICAgICAgICAgICAgICAgbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3IsMjUlKTtcbkBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1saWdodDogICAgICAgICAgICAgICAgbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3IsNDAlKTsgLy8jYWNiMGIxXG5AaW1wYWMtd2lkZ2V0LWJvcmRlcnMtY29sb3I6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLWxpZ2h0LDEwJSk7IC8vI2YzZjRmNFxuQGltcGFjLXdpZGdldC1zY3JvbGxiYXItY29sb3I6ICAgICAgICAgICAgICAgICAjMjMzODQ1O1xuQGltcGFjLXdpZGdldC1sb2FkaW5nLXNwaW5uZXI6ICAgICAgICAgICAgICAgICAjNjdCQkU5O1xuQGltcGFjLXdpZGdldC1yZXZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjMUUzMDNCO1xuQGltcGFjLXdpZGdldC1tZW51cy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAjZWNlY2VjO1xuXG4vLyBUaXRsZVxuQGltcGFjLXdpZGdldC10aXRsZS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICBkYXJrZW4oQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLDUlKTtcbkBpbXBhYy13aWRnZXQtdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuQGltcGFjLXdpZGdldC10aXRsZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICBzb2xpZCAxcHggQGltcGFjLXdpZGdldC1ib3JkZXJzLWNvbG9yO1xuQGltcGFjLXdpZGdldC10aXRsZS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICB1cHBlcmNhc2U7XG5AaW1wYWMtd2lkZ2V0LXRpdGxlLXRleHQtc2l6ZTogICAgICAgICAgICAgICAgIDEycHg7XG5AaW1wYWMtd2lkZ2V0LXRpdGxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIDVweCA1cHggMHB4IDBweDtcbkBpbXBhYy13aWRnZXQtdG9wLWJ1dHRvbnMtY29sb3I6ICAgICAgICAgICAgICAgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLWxpZ2h0O1xuXG4vLyBDb250ZW50XG5AaW1wYWMtd2lkZ2V0LWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgIDBweCAwcHggNXB4IDVweDtcbkBpbXBhYy13aWRnZXQtbGluZXMtY29udGFpbmVyLW1heC1oZWlnaHQ6ICAgICAgMjAwcHg7XG5cbi8vIFNldHRpbmdzXG4vLyBQYXJhbSBzZWxlY3RvclxuQGltcGFjLXdpZGdldC1wYXJhbS1zZWxlY3Rvci1jb2xvcjogICAgICAgICAgICBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG4vLyBIaXN0IE1vZGUgQ2hvc2VyXG5AaW1wYWMtd2lkZ2V0LWhpc3QtdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgIHVwcGVyY2FzZTtcbkBpbXBhYy13aWRnZXQtaGlzdC10ZXh0LXNpemU6ICAgICAgICAgICAgICAgICAgMTJweDtcbkBpbXBhYy13aWRnZXQtaGlzdC10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLWxpZ2h0O1xuLy8gUGFyYW1zIHBpY2tlclxuQGltcGFjLXdpZGdldC1wYXJhbXMtcGlja2VyLWJnOiAgICAgICAgICAgICAgICBAaW1wYWMtd2lkZ2V0LXJldmVyc2UtY29sb3I7XG5AaW1wYWMtd2lkZ2V0LXBhcmFtcy1waWNrZXItdW5jaGVja2VkLWJnOiAgICAgICNjMmM0YzQ7XG4vLyBMaW1pdCBlbnRyaWVzXG5AaW1wYWMtd2lkZ2V0LWxpbWl0LWVudHJpZXMtY29sb3I6ICAgICAgICAgICAgIEBpbXBhYy13aWRnZXQtcmV2ZXJzZS1jb2xvcjtcblxuLy8gR2xvYmFscyBhbmQgTWl4aW5zXG5AaW1wYWMtd2lkZ2V0LXNlbGVjdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgIEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcblxuLy8gRWRpdCBzZXR0aW5nc1xuQGltcGFjLXdpZGdldC1zdWItYmctY29sb3I6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yLDYlKTtcbkBpbXBhYy13aWRnZXQtc3ViLWJnLWNvbG9yLWxpZ2h0OiAgICAgICAgICAgICAgbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXN1Yi1iZy1jb2xvciw1JSk7IC8vZjNmNGY0XG5cbi8vIEFjY291bnRzIENvbXBhcmlzb25cbkBpbXBhYy13aWRnZXQtYWNjb3VudHMtY29tcGFyaXNvbi1saW5lcy1jb250YWluZXItbWF4LWhlaWdodDogMjIwcHg7XG5cbi8vIFNhbGVzIGJyZWFrLWV2ZW5cbkBpbXBhYy13aWRnZXQtc2FsZXMtYnJlYWstZXZlbi1iZzogICAgICAgICAgICAgcmdiKDI1LDQwLDQ5KTtcbkBpbXBhYy13aWRnZXQtc2FsZXMtYnJlYWstZXZlbi10ZXh0LWNvbG9yOiAgICAgIzFkZTliNjtcblxuLy8gS1BJc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gS3BpIGJhclxuQGtwaXMtYmFyLWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICB3aGl0ZTtcbkBrcGlzLWJhci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMHB4IDFweCA4cHggLTRweDtcbi8vIEtwaVxuQGtwaS1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTtcbkBrcGktdHJpZ2dlcmVkLWJvcmRlci1ib3R0b206ICAgICAgICAgICAgICAgICAgNHB4IHNvbGlkIEBicmFuZC1kYW5nZXI7XG5Aa3BpLW1heC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk1cHg7XG5Aa3BpLWVkaXRpbmctbWF4LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDkwcHg7IC8vIGhlaWdodCB0byBiZSBhZGRlZCB0byB0aGUgQGtwaS1tYXgtaGVpZ2h0IHdoZW4gaW4gZWRpdGluZyBtb2RlLlxuQGtwaS1jb250ZW50LWVkaXRpbmctaGVpZ2h0LWJ1ZmZlcjogICAgICAgICAgICA1cHg7IC8vIGhlaWdodCB0byBiZSBtaW51c2VkIGZyb20gdGhlIEBrcGktZWRpdGluZy1tYXgtaGVpZ2h0IHRvIGV2ZW4gdGhlIGtwaSBoZWlnaHQgYW5kIHRoZSBrcGkgY29udGVudCBoZWlnaHQuXG4vLyBLcGkgdG9wLWxpbmVcbkBrcGktdG9wLWxpbmUtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICAgICAgZ3JleTtcbkBrcGktdG9wLWxpbmUtdHJpZ2dlcmVkLWJhY2tncm91bmQtY29sb3I6ICAgICAgYmxhY2s7XG5Aa3BpLXRvcC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDdweDtcbkBrcGktdG9wLWxpbmUtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgbm9uZTtcbi8vIGtwaSBjb250ZW50XG5Aa3BpLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZXk7XG5Aa3BpLXRleHQtdHJpZ2dlcmVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIGJsYWNrO1xuQGtwaS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmV5O1xuQGtwaS1pY29uLXRyaWdnZXJlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICBibGFjaztcbi8vIGtwaSBzZXR0aW5nc1xuQGtwaS1zZXR0aW5ncy1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICBAbWJsdWU7XG5Aa3BpLXNldHRpbmdzLWVycm9yLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIEBicmFuZC1kYW5nZXI7XG5Aa3BpLXNldHRpbmdzLXJlbW92ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICM0YzQ3NDk7XG5Aa3BpLXNldHRpbmdzLXJlbW92ZS1iYWNrZ3JvdW5kLWhvdmVyOiAgICAgICAgIGRhcmtlbihAYnJhbmQtZGFuZ2VyLCA1JSk7XG5Aa3BpLXNldHRpbmdzLWFsZXJ0LWNvbmZpZy1iYWNrZ3JvdW5kOiAgICAgICAgICM0YzQ3NDk7XG5Aa3BpLXNldHRpbmdzLWFsZXJ0LWNvbmZpZy1iYWNrZ3JvdW5kLWhvdmVyOiAgIEBtYmx1ZTtcbkBrcGktbmVnYXRpdmUtYWxlcnQtbGFiZWwtYmFja2dyb3VuZC1jb2xvcjogICAgbGlnaHRlbigjZmYwMDAwLCAzMCUpO1xuXG4vLyBXaWRnZXRzIHBvcC11cHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBhYy13aWRnZXQtcG9wdXAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjogICAgIzE5MjgzMTtcbkBpbXBhYy13aWRnZXQtcG9wdXAtbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOiAgcmdiKDI0NCwgMjQ4LCAyNDkpO1xuQGltcGFjLXdpZGdldC1wb3B1cC10aXRsZS10ZXh0LWNvbG9yOiAgICAgICAgICB3aGl0ZTtcbkBpbXBhYy13aWRnZXQtcG9wdXAtbWVzc2FnZS10ZXh0LWNvbG9yOiAgICAgICAgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuXG4vLyBEZW1vIGRhdGEgbW9kZVxuQGltcGFjLXdpZGdldC1kZW1vLWRhdGEtbGluay1jb2xvcjogICAgICAgICAgICBAbWdyZWVuO1xuIiwiLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xPQkFMIFNUWUxFU1xuKiogICAgICAgIFRoaXMgc3R5bGVzaGVldCBzaG91bGQgb25seSBjb250YWluIHN0eWxlcyBhcHBsaWVkIGdsb2JhbCBvciBpblxuKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgMiBvciBtb3JlIGNvbXBvbmVudHMuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLy8gTm90IGlkZWFsOiBpbnRlbmRzIHRvIGZvcmNlIGEgc2Nyb2xsYmFyIG9uIHRoZSB3aW5kb3cgKG5vdCBvbiB0aGUgYm9keSksXG4vLyBzbyB0aGF0IHRoZSB0b29sdGlwcyBhcHBlbmRlZCB0byBib2R5IGFyZSBub3QgbWFraW5nIHRoZSBzY3JlZW4gZmxpY2tlcmluZy5cbi8vIChzZWUgd2hlbiB0aGVyZSBpcyBvbmx5IDEgaW52b2ljZXMgbGlzdCB3aWRnZXQgb24gdGhlIGRhc2hib2FyZClcbi8vIEl0IGlzIGJldHRlciBpZiB0aGUgdG9vbHRpcHMgY2FuIGJlIGFwcGVuZGVkIHRvIGJvZHkgYmVjYXVzZSBvdGhlcndpc2UgaXQnc1xuLy8gbWVzc2luZyB0aGUgYWx0ZXJuYXRlLWJnKCkgbWl4aW5nIChieSBhZGRpbmcgYSBjaGlsZCB0byB0aGUgcGFyZW50IGVsZW1lbnQpXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDElICFpbXBvcnRhbnQ7XG59XG5cbi5hbmFseXRpY3Mge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyAtLS0gVGl0bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3I7XG4gIH1cblxuICBoMyB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgLmxlZnQtdGhpbigpO1xuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLSBDb2xvcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLnBvc2l0aXZlLC5ncmVlbiB7XG4gICAgY29sb3I6IEBpbXBhYy1wb3NpdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm5lZ2F0aXZlLC5yZWQge1xuICAgIGNvbG9yOiBAaW1wYWMtbmVnYXRpdmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wb3NpdGl2ZTIge1xuICAgIGNvbG9yOiBAaW1wYWMtcG9zaXRpdmUyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmVnYXRpdmUyIHtcbiAgICBjb2xvcjogQGltcGFjLW5lZ2F0aXZlMiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLSBCYXNlIGVsZW1lbnRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBoZWlnaHQ6IDMycHg7XG4gIH1cblxuICBwcmUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luOiAxcHggMHB4IDhweCAwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC53aWRnZXQtaXRlbSAuY29udGVudCwga3Bpcy1iYXIgLmtwaSB7XG4gICAgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBpbXBhYy13aWRnZXQtc2Nyb2xsYmFyLWNvbG9yLDM1JSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGltcGFjLXdpZGdldC1zY3JvbGxiYXItY29sb3IsNDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gLS0tIENvbW1vbiBhZGp1c3RtZW50c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLm5vcGFkZGluZyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5ub21hcmdpbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLSBDdXN0b20gZWxlbWVudHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmJ0bi5idG4tc2hhZGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtYnRuLXNoYWRkZWQtYmc7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggZGFya2VuKEBpbXBhYy1idG4tc2hhZGRlZC1iZyw1JSk7XG4gICAgY29sb3I6IEBpbXBhYy1idG4tc2hhZGRlZC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogbGlnaHRlbihAaW1wYWMtYnRuLXNoYWRkZWQtY29sb3IsNSUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtYnRuLXNoYWRkZWQtYmcsNSUpO1xuICAgIH1cbiAgfVxuXG4gIC5wcmljZSB7XG4gICAgLmNlbnRlci1ib2xkKCk7XG4gIH1cblxuICAuY3VycmVuY3kge1xuICAgIC5jZW50ZXItdGhpbigpO1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3ItbWVkaXVtO1xuICB9XG5cbiAgLmxlZ2VuZCB7XG4gICAgLmNlbnRlci1zbWFsbCgpO1xuICAgIC5zY3JvbGxhYmxlKCk7XG4gICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1saWdodDtcbiAgfVxuXG4gIC5sb2FkZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaSB7XG4gICAgICAubG9hZGVyLXN0eWxlKCk7XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH1cblxuICAucmlnaHQtcGFuZWwge1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggI2U2ZTZlNjtcbiAgfVxuXG4gIC5zZWxlY3RvciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IEBtZWRpdW1ibHVlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlclxuICB9XG5cbiAgLnRpbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDcsMjQ3LDI0Nyk7XG4gICAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IC03cHggIzE3MjYyZDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjRjFGOUZGLCAzJSk7XG4gICAgfVxuICAgIC5jb2xvcmVkLWFyZWEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNGQzRGRjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICBtaW4td2lkdGg6IDglO1xuICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtdGlsZS1zZWxlY3RlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLm1haW4tdGV4dCB7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuICAgICAgcGFkZGluZzogMjBweCAwcHggMHB4IDVweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAuc2Nyb2xsYWJsZSgpO1xuICAgIG1heC1oZWlnaHQ6IEBpbXBhYy13aWRnZXQtbGluZXMtY29udGFpbmVyLW1heC1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMHB4IDE1cHg7XG5cbiAgICAucm93LndpZGdldC1saW5lIHtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGNvbG9yOiBAbWVkaXVtYmx1ZTtcblxuICAgICAgJi5oZWFkZXIge1xuICAgICAgICAuZm9udCgxMnB4LDUwMCxAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3ItbWVkaXVtKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcblxuICAgICAgICAmID4gW2NsYXNzKj0nY29sLSddIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaS5mYSB7XG4gICAgICAgIG1pbi13aWR0aDogMTJweDtcbiAgICAgICAgbWluLWhlaWdodDogMTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucm93IC5kYXNoZWQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCBAaW1wYWMtd2lkZ2V0LWJvcmRlcnMtY29sb3I7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC5yb3cubGluZXMtZ3JvdXAge1xuICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IEBsaWdodGdyYXk7XG4gICAgfVxuICB9XG59XG5cbi52ZXJ0aWNhbC1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5ob3Jpem9udGFsLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbn1cblxuLy8gVGhlIHRvb2x0aXBzIHNob3VsZCBiZSBhcHBlbmQgdG8gYm9keVxuLnRvb2x0aXAuaW1wYWMtd2lkZ2V0cy10b29sdGlwIC50b29sdGlwLWlubmVyLm5nLWJpbmRpbmcge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbWRhcmtibHVlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHN0cm9uZyB7XG4gICAgY29sb3I6IEBtZ3JlZW47XG4gIH1cbn1cblxuLnNvcnRhYmxlLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLSBCb290c3RyYXAgb3ZlcnJpZGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhhcy1lcnJvciAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiBAYnJhbmQtZGFuZ2VyO1xuICAmOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiBAYnJhbmQtZGFuZ2VyIH1cbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6IEBicmFuZC1zdWNjZXNzO1xuICAmOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiBAYnJhbmQtc3VjY2VzcyB9XG59XG5cbi8vIHJlbW92ZSBndXR0ZXJzIGZyb20gQm9vc3RyYXAgcm93XG4ucm93Lm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLyByZW1vdmUgZ3V0dGVycyBmcm9tIEJvb3N0cmFwIGNvbHVtblxuW2NsYXNzXj1cImNvbC1cIl0ubm8tZ3V0dGVycyxcbltjbGFzcyo9XCIgY29sLVwiXS5uby1ndXR0ZXJzIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuIiwiLmZvbnQoQHNpemUsQHdlaWdodCxAY29sb3IpIHtcbiAgZm9udC13ZWlnaHQ6QHdlaWdodDtcbiAgZm9udC1zaXplOkBzaXplO1xuICBjb2xvcjpAY29sb3I7XG59XG5cbi5jZW50ZXItYm9sZCAoQG1hcmdpbi10b3A6IDMwcHgpIHtcbiAgLmZvbnQoMjJweCwgOTAwLCBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IEBtYXJnaW4tdG9wO1xufVxuXG4uY2VudGVyLXRoaW4gKCkge1xuICAuZm9udCgxNnB4LCAzMDAsIEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNlbnRlci1zbWFsbCAoKSB7XG4gIC5mb250KDEycHgsIDMwMCwgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubGVmdC10aGluIChAbWFyZ2luLXRvcDogMHB4KSB7XG4gIC5mb250KDE0cHgsIDMwMCwgQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogQG1hcmdpbi10b3A7XG59XG5cbi53aWRnZXQtaGVpZ2h0IChAaGVpZ2h0OiBAaW1wYWMtbWluaW11bS13aWRnZXQtc2l6ZSkge1xuICBtaW4taGVpZ2h0OiBAaGVpZ2h0O1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBoZWlnaHQ6IEBoZWlnaHQ7XG4gICAgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IEBoZWlnaHQgKyAyMHB4O1xuICAgICAgbWF4LWhlaWdodDogQGhlaWdodCAtIDEyNXB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uc2hvcnQtd2lkZ2V0ICgpIHtcbiAgLndpZGdldC1oZWlnaHQoKTtcbiAgLmVkaXQge1xuICAgIG1heC1oZWlnaHQ6IEBpbXBhYy1taW5pbXVtLXdpZGdldC1zaXplIC0gMjBweDtcbiAgfVxufVxuXG4udGFsbC13aWRnZXQgKCkge1xuICAud2lkZ2V0LWhlaWdodChAaW1wYWMtYmlnLXdpZGdldC1zaXplKTtcbiAgLmVkaXQge1xuICAgIG1heC1oZWlnaHQ6IEBpbXBhYy1iaWctd2lkZ2V0LXNpemUgLSAyMHB4O1xuICAgIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAgIC5zY3JvbGxhYmxlKGhpZGRlbik7XG4gICAgfVxuICB9XG59XG5cbi5zY3JvbGxhYmxlIChAc2Nyb2xsLW1vZGU6IGF1dG8pIHtcbiAgb3ZlcmZsb3cteTogQHNjcm9sbC1tb2RlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5zZWxlY3RhYmxlICgpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCBAaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I7XG4gIC5zZWxlY3Rpb24tdGFnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMHB4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAyOXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBpbXBhYy13aWRnZXQtc2VsZWN0YWJsZS1jb2xvciwgMjIlKTtcbiAgfVxuICAmLm5vLXNlbGVjdCB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgICY6aG92ZXIgeyBjb2xvcjogQG1lZGl1bWJsdWU7IH1cbiAgfVxufVxuXG4uYWx0ZXJuYXRlLWJnIChAZXZlbi1jb2xvcjogQGltcGFjLXdpZGdldC1zdWItYmctY29sb3IpIHtcbiAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBldmVuLWNvbG9yO1xuICB9XG4gICY6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4uZWRpdC1wYW5lbC1zdHlsZSgpIHtcbiAgLnNjcm9sbGFibGUoKTtcbiAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjtcbiAgcGFkZGluZzogMnB4O1xuICBmb250LXNpemU6IDEycHg7XG5cbiAgLmJvdHRvbS1idXR0b25zIHtcbiAgICAuYnRuIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgcGFkZGluZzogM3B4IDEzcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgICAmLmJ0bi1kZWZhdWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggZGFya2VuKCNjMmM0YzQsMTAlKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCBkYXJrZW4oI2MyYzRjNCwyMCUpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjYzJjNGM0LDEwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC5mb250KDEycHgsbm9ybWFsLEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1saWdodCk7XG4gIH1cblxuICAucGFydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtc3ViLWJnLWNvbG9yLWxpZ2h0O1xuICAgIC8vIGNvbG9yOiAjNjI2ZDZkO1xuICAgIGJvcmRlcjogc29saWQgMXB4IEBpbXBhYy13aWRnZXQtYm9yZGVycy1jb2xvcjtcblxuICAgIGg1IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmc6IDBweCAxNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIC5mb250KDEycHgsbm9ybWFsLEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1saWdodCk7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2FjYjBiMTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogIzcyNzI4YjtcbiAgICB9XG4gIH1cbn1cblxuLmxvYWRlci1zdHlsZShAY29sb3I6IEBpbXBhYy13aWRnZXQtbG9hZGluZy1zcGlubmVyKSB7XG4gIGNvbG9yOiBAY29sb3I7XG59XG5cbi5jb2x1bW4tZ3V0dGVyKEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwYWRkaW5nLWxlZnQ6IEBndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IEBndXR0ZXI7XG59XG5cbi53aWRnZXQtcG9wdXAoKSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogQGltcGFjLXdpZGdldC1wb3B1cC1tZXNzYWdlLXRleHQtY29sb3I7XG4gIFxuICAub3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogflwiY2FsYygxMDAlIC0gNHB4KVwiO1xuICAgIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSA0cHgpXCI7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMnB4O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLm1lc3NhZ2Uge1xuICAgIHotaW5kZXg6IDY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHRvcDogNDVweDtcbiAgICBsZWZ0OiA3JTtcbiAgICB3aWR0aDogODYlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtcG9wdXAtbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDI1cHggMHB4O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtcG9wdXAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBvcHVwLXRpdGxlLXRleHQtY29sb3I7XG4gICAgICBtYXJnaW46IC0xcHggLTFweCAxMHB4IC0xcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgYm9keSB7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgLmFuYWx5dGljcyB7XG4gICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgICNtb2R1bGVfX2Rhc2hib2FyZC1zZWxlY3RvciAudGl0bGUtY29udGFpbmVyIHsgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC53aWRnZXQtaXRlbSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAuY29udGVudCAuY2hhcnQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBjYW52YXMge1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yaWdodC1wYW5lbCB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIC5jaGFydC1jb250YWluZXIge1xuICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIGNhbnZhcyB7XG4gICAgICAgICAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAqIHsgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBOT1RFOiBEbyBub3QgYWRkIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgYnV0dG9uIG9yIGN1c3RvbSBpbmplY3RlZCBidXR0b25IdG1sIGhlcmUuXG4vLyAgICAgICB0aGUgcGFyZW50IHN0eWxlc2hlZXQgb2Ygd2hpY2ggdGhpcyBkaXJlY3RpdmUgaXMgZW1iZWRkZWQgd2l0aGluIHNob3VsZFxuLy8gICAgICAgY29udGFpbiB0aGUgc3R5bGVzLlxuXG4vLyBNb2RhbCBrcGlzIGFsZXJ0cyBzZXR0aW5nc1xuLmtwaS1hbGVydHMtc2V0dGluZ3Mge1xuICAubW9kYWwtaGVhZGVyIHsgZm9udC1zaXplOiAyMHB4OyB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuXG4gICAgdWwgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbiAgICB1bCA+IGxpLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogNnB4IDE1cHg7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLW1lZGl1bTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAuYWxlcnQtdG9nZ2xlIHtcbiAgICAgICAgJjpob3ZlciB7IGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBAbWJsdWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzRjYWNhO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mYS5mYS10b2dnbGUtb24sIC5mYS5mYS10b2dnbGUtb2ZmIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuICAgIHVsLnJlY2lwaWVudHMtbGlzdCB7XG4gICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M0Y2FjYTtcblxuICAgICAgbGkge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBpbnB1dC5yZWNpcGllbnQtc2VhcmNoIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHVsLmF2YWlsYWJsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIHtcbiAgcGFkZGluZy10b3A6IEBpbXBhYy1kYXNoYm9hcmQtcGFkZGluZy10b3A7XG4gIG1hcmdpbi1sZWZ0OiBAaW1wYWMtZGFzaGJvYXJkLW1hcmdpbi1sZWZ0O1xuXG4gIC8vIERlZmF1bHQgc21hbGwgc2NyZWVuIGJlaGF2aW91ciB0byBhbGxvdyBmb3IgdGhlIGNvbW1vbiB1c2Ugb2YgdG9wLWJhcnNcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nLXRvcDogQGltcGFjLWRhc2hib2FyZC1zbS1wYWRkaW5nLXRvcDtcbiAgfVxuXG4gICYucGRmLW1vZGUgeyBwYWRkaW5nLXRvcDogMjBweDsgfVxuXG4gICYuc2hvdy1kaGIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAmLmhpZGUtZGhiIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLy8gY29udGFpbnMgY3VzdG9taXNhYmxlIGltcGFjIGxvZ28sIGFuZCBoZWFkaW5nIHRleHQuXG4gICNkYXNoYm9hcmQtaGVhZGluZyB7XG4gICAgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgJi5wZGYtbW9kZTpob3ZlciB7IGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIH1cbiAgICAuY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDVweCAwcHg7XG4gICAgfVxuICB9XG5cbiAgI3N1Yi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgY29sb3I6ICMyMzM4NDU7XG4gICAgfVxuXG4gICAgLmZhLmZhLXRpbWVzIHtcbiAgICAgIG1hcmdpbjogNnB4O1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oIzIzMzg0NSwgMTUlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAjd2lkZ2V0LXNlbGVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci1iZztcbiAgICBjb2xvcjogQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItdGV4dC1jb2xvcjtcbiAgICBwYWRkaW5nOiAwcHggNDVweCAxMHB4IDQ1cHg7XG4gICAgbWFyZ2luOiAxMHB4IC00NXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIENocm9tZS9TYWZhcmkgKi9cbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRTEwKyAqL1xuICAgIC8qIFJ1bGVzIGJlbG93IG5vdCBpbXBsZW1lbnRlZCBpbiBicm93c2VycyB5ZXQgKi9cbiAgICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgICAgcGFkZGluZzogMCAxNXB4IDEwcHggMTVweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgcGFkZGluZzogMTVweCAwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggbGlnaHRlbihAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci1iZyw2JSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgcC5pbnN0cnVjdGlvbiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC53aWRnZXQtYWRkZWQuYmFkZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIC5mYS5jbG9zZS1zZWxlY3RvciB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IEBtbGlnaHRncmV5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1saW5lcyB7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuXG4gICAgICBwIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWQge1xuICAgICAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci10ZXh0LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci1iZywzJSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmcsNiUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3JpZXMtc2VjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmcsNiUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAgICYgPiAuc2VjdGlvbi1saW5lcyB7XG5cbiAgICAgICAgJiA+IFtjbGFzcyo9J2NvbC0nXTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZzogM3B4IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZS1pdGVtOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmcsMyUpO1xuICAgICAgICB9XG4gICAgICAgIC5saW5lLWl0ZW0uc2VsZWN0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAuYm94LXNoYWRvdygtMnB4IDJweCAxMHB4IC00cHggYmxhY2spO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDMzcHg7XG4gICAgICAgIHJpZ2h0OiAtMTFweDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuc3F1YXJlIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICByaWdodDogMTdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpLmZhLmZhLWNhcmV0LXJpZ2h0IHtcbiAgICAgICAgICBmb250LXNpemU6IDUycHg7XG4gICAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTEuNXB4O1xuICAgICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZ2V0cy1zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci1iZywzJSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgJiA+IC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJiA+IC5zZWN0aW9uLWxpbmVzIHtcbiAgICAgICAgcGFkZGluZzogM3B4IDBweDtcblxuICAgICAgICAuZmEuZmEtcGx1cy1jaXJjbGUge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gLmxpbmUtaXRlbXMtZ3JpZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgaGVpZ2h0OiAwJTtcblxuICAgICAgICAgICYgPiAuZ3JpZC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAvLyBBcHBsaWVzIGEgZmxleC1iYXNpcyBvZiAxLzMgZm9yIGVhY2ggZ3JpZCBpdGVtICgzIGNvbHVtbnMgcGVyIHJvdylcbiAgICAgICAgICAgIGZsZXg6IDAgMzEuMzMlO1xuICAgICAgICAgICAgLy8gQ3JlYXRlcyBhIHNtYWxsIGd1dHRlciBhcm91bmQgZWFjaCBncmlkIGl0ZW1cbiAgICAgICAgICAgIG1hcmdpbjogMCAxJTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmc7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBAaW1wYWMtZGFzaGJvYXJkLXdpZGdldC1zZWxlY3Rvci13aWRnZXQtaXRlbS1taW4taGVpZ2h0O1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgICAgICAgICAgICBmbGV4OiAwIDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLWRhc2hib2FyZC13aWRnZXQtc2VsZWN0b3ItYmcsNiUpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLmxpbmUtaXRlbSB7XG4gICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm90dG9tIHtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICYgPiAuc3VnZ2VzdGlvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICBhIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGZsdXJvYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNkYXNoYm9hcmQtc2V0dGluZ3MtcGFuZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICYgPiAqIHsgbWFyZ2luOiAwcHggM3B4OyB9XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIG5vIHdpZGdldHMgLSBlbXB0eSBkYXNoYm9hcmQuXG4gICNuby13aWRnZXRzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuXG4gICAgLy8gYmFja2dyb3VuZCBpbWFnZSBhc3NldFxuICAgIGltZy5iZyB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBubyB3aWRnZXRzIG1lc3NhZ2UgdGhhdCBzaXRzIGFib3ZlIGltYWdlIGFzc2V0XG4gICAgLmltcGFjLWluZm8tbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmluZm8tdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6MjBweDtcbiAgICAgICAgbWluLWhlaWdodDogMTE1cHg7XG4gICAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLWluZm8tdGV4dC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLWRhc2hib2FyZC1pbmZvLXRleHQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8vIHBhcmVudCBkaXYgc2VjdGlvbiBmb3Igd2lkZ2V0cyB0byBiZSBob3VzZWQuXG4gICN3aWRnZXRzLXNlY3Rpb24ge1xuICAgIC8vIGNvbnRhaW5lciBmb3Igd2lkZ2V0c1xuICAgICN3aWRnZXRzLWNvbnRhaW5lciB7XG4gICAgICAvLyBRdWljay1maXggdG8gYXZvaWQgc2NyZWVuIGZsb2NrZXJpbmcgd2hlbiB0b29sdGlwcyBhcmUgYXBwZW5kZWQgdG8gYm9keTpcbiAgICAgIC8vIG1pbi1oZWlnaHQgd2lsbCBmb3JjZSBhIHNjcm9sbGJhciB0byBhcHBlYXIuLi5cbiAgICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICAgIH1cblxuICAgIC5wbGFjZUhvbGRlckJveCB7XG4gICAgICBtYXJnaW46IEBpbXBhYy1wYWRkaW5nLWJldHdlZW4td2lkZ2V0cztcbiAgICAgIGhlaWdodDogMjY3cHg7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGJvcmRlcjogQGltcGFjLXBsYWNlaG9sZGVyLWJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIGRhc2hib2FyZCBmYWlsZWQgdG8gbG9hZCBtZXNzYWdlLlxuLmFuYWx5dGljcy5sb2FkLWZhaWxlZCB7XG5cbiAgcCB7IGZvbnQtc2l6ZTogMjJweDsgfVxuXG4gIC5zZWNvbmQtbXNnIHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiBAYnJhbmQtZGFuZ2VyO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBUb29sdGlwcyBhcmUgYXBwZW5kIHRvIGJvZHlcbi50b29sdGlwLmltcGFjLXdpZGdldC1zZWxlY3Rvci10b29sdGlwIC50b29sdGlwLWlubmVyLm5nLWJpbmRpbmcge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5kaGItY3JlYXRlLW1vZGFsIC5kYXNoYm9hcmQtZm9ybSB7XG5cbiAgLy8gQmV0dGVyIGFsaWducyBmb3JtIGxhYmVscyB3aXRoIHRlbXBsYXRlcyBzZWN0aW9uIGxhYmVsXG4gIC5jb2wtc20tMi5jb250cm9sLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5pbXBhYy13aWRnZXQtc3VnZ2VzdGlvbiAubW9kYWwtYm9keSB7XG4gIGlucHV0LHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTUwcHg7XG4gIH1cbiAgLnRoYW5rcy1tZXNzYWdlIHtcbiAgICBjb2xvcjogQG1ncmVlbjtcbiAgfVxufVxuXG4vLyBUaGlzIHN0eWxlIGFwcGxpZXMgdG8gZGFzaGJvYXJkIG1vZGFscywgYW5kIGFsc28gdGhlXG4vLyBgYWNjb3VudHMtY3VzdG9tLWNhbGN1bGF0aW9uL2Zvcm11bGEubW9kYWwuaHRtbGAgbW9kYWwuXG4ubW9kYWwtZm9vdGVyIC5sb2FkZXIge1xuICAubG9hZGVyLXN0eWxlKEBpbXBhYy1kYXNoYm9hcmQtbG9hZGluZy1zcGlubmVyKVxufVxuXG4iLCIjbW9kdWxlX19kYXNoYm9hcmQtc2VsZWN0b3Ige1xuICBhIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG4gIC8vIGRhc2hib2FyZCBzZWxlY3RvciB0ZW1wbGF0ZSB3cmFwcGVyIGRpdlxuICAmID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLWJvcmRlcjtcbiAgfVxuXG4gIC5idXR0b25zLWJhci1yb3cge1xuICAgIG1hcmdpbi10b3A6IDU0cHg7XG4gICAgJi5wZGYtbW9kZSB7IG1hcmdpbi10b3A6IDBweDsgfVxuICB9XG5cbiAgLy8gY29udGFpbmVyIGZvciBkYXNoYm9hcmQgc2VsZWN0b3IgJ2Ryb3Bkb3duJyB0ZW1wbGF0ZVxuICAuYnV0dG9ucy1iYXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmJ0biB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBpbXBhYy1kYXNoYm9hcmQtYnV0dG9ucy1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC50aXRsZS1jb250YWluZXIge1xuICAgICAgaDEge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgICAuZGFzaGJvYXJkLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtdGl0bGUtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogZGFya2VuKEBpbXBhYy1kYXNoYm9hcmQtdGl0bGUtY29sb3IsMTAlKTtcbiAgICAgICAgfVxuICAgICAgICBpLmZhLmZhLXBlbmNpbCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBtZ3JlZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGFzaGJvYXJkLXNlbGVjdCB7XG4gICAgICAgIG1hcmdpbjogNXB4IDBweCAxMHB4IDMwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAaW1wYWMtZGFzaGJvYXJkLXRpdGxlLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGltcGFjLWRhc2hib2FyZC10aXRsZS1jb2xvcjtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRncmF5O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC5vcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXRpdGxlLWxhYmVsLWNvbG9yO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuY3JlYXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtdGl0bGUtY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQGltcGFjLWRhc2hib2FyZC10aXRsZS1sYWJlbC1jcmVhdGUtY29sb3I7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGltcGFjLWRhc2hib2FyZC10aXRsZS1jb2xvciwxMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpLmZhLmZhLXBlbmNpbCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKEBpbXBhYy1kYXNoYm9hcmQtdGl0bGUtY29sb3IsMTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgc3Bhbi5uYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jaGFuZ2UtbmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMsIDM4LCA0NSk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC5ib3gtc2hhZG93KDBweCAwcHggMjVweCA0cHggYmxhY2spO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGF0YS1zb3VyY2UtbGFiZWwge1xuICAgICAgICBjb2xvcjogQGltcGFjLWRhc2hib2FyZC1zb3VyY2UtY29sb3I7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubG9hZGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAubG9hZGluZy1zcGlubmVyIHtcbiAgICAgICAgLmxvYWRlci1zdHlsZSgpO1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gYW5ndWxhciBib290c3RyYXAgdGFicyAmIHBpbGxzXG4gIC5uYXYtdGFicyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAubmF2Lm5hdi10YWJzLFxuICAubmF2Lm5hdi1waWxscyB7XG5cbiAgICAvLyBhZGQgbmV3IHRhYlxuICAgIGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICB0YWItaGVhZGluZyBhIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUQUJTXG4gIC5uYXYubmF2LXRhYnMge1xuICAgIC8vIHRhYlxuICAgIGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtcGFkZGluZztcbiAgICAgIG1hcmdpbjogQGltcGFjLWRhc2hib2FyZC1zZWxlY3Rvci10YWJzLW1hcmdpbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtc2VsZWN0b3ItdGFicy1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLWJvcmRlcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtY29sb3I7XG4gICAgfVxuICAgIC8vIGFjdGl2ZSB0YWJcbiAgICBsaS5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtc2VsZWN0b3ItdGFicy1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtZGFzaGJvYXJkLXNlbGVjdG9yLXRhYnMtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgICAvLyBhZGQgbmV3IHRhYlxuICAgIGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgIC8vIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIH1cbiAgICBsaTpsYXN0LWNoaWxkLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLWRhc2hib2FyZC1zZWxlY3Rvci10YWJzLWJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gUElMTFNcbiAgLy8gVE9ETzogQWRkIGxlc3MgdmFyaWFibGVzIGZvciBjdXN0b21pc2F0aW9uLlxuICAubmF2Lm5hdi1waWxscyB7XG4gICAgLy8gdGFiXG4gICAgbGkgPiBhIHtcbiAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIH1cbiAgICAvLyBhZGQgYSBuZXcgdGFiXG4gICAgbGk6bGFzdC1jaGlsZCB0YWItaGVhZGluZyBhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuICAgIC8vIGFkZCBhIG5ldyB0YWJcbiAgICBsaTpsYXN0LWNoaWxkLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgICB9XG4gIH1cbiAgLy8gdGFiIGljb25zXG4gIHRhYi1oZWFkaW5nIGEuY2xvc2UtbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkO1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC05cHg7XG4gICAgcmlnaHQ6IDFweDtcbiAgICBjb2xvcjogQGltcGFjLWRhc2hib2FyZC1zZWxlY3Rvci10YWJzLWNvbG9yO1xuICB9XG4gIC8vLy8vLy8vXG59XG4iLCJkYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdG9yIHtcbiAgLnRlbXBsYXRlcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLnRlbXBsYXRlcy10b2dnbGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBpLmZhIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmLmZhLXRvZ2dsZS1vbiB7XG4gICAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtbGluay1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGVtcGxhdGVzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMXB4IDBweCAjY2NjO1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICAgLnRlbXBsYXRlIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWNlY2VjO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtZGFzaGJvYXJkLXRlbXBsYXRlcy1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yLCAyMCUpO1xuICAgICAgfVxuICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy1kYXNoYm9hcmQtdGVtcGxhdGVzLXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC5pbXBhYy1rcGkgLmtwaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAyMjBweDtcbiAgbWluLWhlaWdodDogQGtwaS1tYXgtaGVpZ2h0O1xuICBtYXgtaGVpZ2h0OiBAa3BpLW1heC1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBrcGktYmFja2dyb3VuZC1jb2xvcjtcbiAgbWFyZ2luOiAxMHB4IDAgMTBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGtwaS1iYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLnRyaWdnZXJlZCwgJi5hZGQ6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IEBrcGktdHJpZ2dlcmVkLWJvcmRlci1ib3R0b207XG4gIH1cblxuICAmLmFkZCB7XG4gICAgLmtwaS10ZXh0IHtcbiAgICAgIC5lbXBoYXNpcyB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIH1cbiAgfVxuXG4gICYuYWRkOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLnRvcC1saW5lIHsgYmFja2dyb3VuZC1jb2xvcjogQGtwaS10b3AtbGluZS10cmlnZ2VyZWQtYmFja2dyb3VuZC1jb2xvcjsgfVxuICAgIC5rcGktdGV4dCB7XG4gICAgICBjb2xvcjogQGtwaS10ZXh0LXRyaWdnZXJlZC1jb2xvcjtcbiAgICAgIC5lbXBoYXNpcyB7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICB9XG4gICAgLmtwaS1pY29uIHtcbiAgICAgIGNvbG9yOiBAa3BpLWljb24tdHJpZ2dlcmVkLWNvbG9yO1xuICAgICAgLmZhLXBsdXM6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmVkaXRpbmcge1xuICAgIG1pbi1oZWlnaHQ6IEBrcGktbWF4LWhlaWdodCArIEBrcGktZWRpdGluZy1tYXgtaGVpZ2h0O1xuICB9XG5cbiAgJjpob3ZlciB7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4gICYuc3RhdGljIHtcbiAgICAua3BpLXZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cblxuICAudG9wLWxpbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgcGFkZGluZzogOXB4IDlweCAwcHggMTJweDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IEBrcGktdG9wLWxpbmUtaGVpZ2h0O1xuICAgIGJveC1zaGFkb3c6IEBrcGktdG9wLWxpbmUtYm94LXNoYWRvdztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBrcGktdG9wLWxpbmUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAmLnRyaWdnZXJlZCB7IGJhY2tncm91bmQtY29sb3I6IEBrcGktdG9wLWxpbmUtdHJpZ2dlcmVkLWJhY2tncm91bmQtY29sb3I7IH1cbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLWluO1xuICB9XG5cbiAgLmtwaS1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBAa3BpLW1heC1oZWlnaHQgLSA1cHg7XG4gICAgJi5lZGl0aW5nIHtcbiAgICAgIG1pbi1oZWlnaHQ6IEBrcGktbWF4LWhlaWdodCArIEBrcGktZWRpdGluZy1tYXgtaGVpZ2h0IC0gQGtwaS1jb250ZW50LWVkaXRpbmctaGVpZ2h0LWJ1ZmZlcjtcbiAgICAgIC5zY3JvbGxhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgLmtwaS1zaG93IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgLy8gc21hbGwgZml4IGZvciBpcGhvbmUgNiBhbmQgc21hbGxlclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM4MHB4KSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDNweDtcbiAgICB9XG5cbiAgICAuZW1waGFzaXMge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgLnJlYWwtdmFsdWUgeyBjb2xvcjogIzY3Njc2NzsgfVxuICAgIH1cblxuICAgIC5jYXB0aW9uIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgLmtwaS10ZXh0IHtcbiAgICAgICYgPiBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIHBhZGRpbmc6IDdweCAwO1xuICAgICAgY29sb3I6IEBrcGktdGV4dC1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLWluO1xuICAgICAgJi50cmlnZ2VyZWQgeyBjb2xvcjogQGtwaS10ZXh0LXRyaWdnZXJlZC1jb2xvcjsgfVxuXG4gICAgICAuY2FwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDY1cHgpIHtcbiAgICAgICAgLmNhcHRpb24geyBmb250LXNpemU6IDEwcHg7IH1cbiAgICAgICAgLmVtcGhhc2lzIHsgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmtwaS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIGNvbG9yOiBAa3BpLWljb24tY29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZS1pbjtcbiAgICAgICYudHJpZ2dlcmVkIHsgY29sb3I6IEBrcGktaWNvbi10cmlnZ2VyZWQtY29sb3I7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2NXB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5rcGktZWRpdCB7XG5cbiAgICBhIHsgY29sb3I6IHdoaXRlOyB9XG5cbiAgICAua3BpLW5hbWUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgaDYge1xuICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVhbC12YWx1ZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5hbGVydC1jYXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGJhY2tncm91bmQ6IEBrcGktbmVnYXRpdmUtYWxlcnQtbGFiZWwtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuXG4gICAgLmtwaS10YXJnZXQtd2F0Y2hhYmxlLFxuICAgIC5rcGktdGFyZ2V0LXVuaXQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuXG4gICAgLmtwaS10YXJnZXQtd2F0Y2hhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBjb2xvcjogbGlnaHRlbihAa3BpLXRvcC1saW5lLWJhY2tncm91bmQtY29sb3IsIDUlKTtcbiAgICB9XG5cbiAgICAua3BpLXRhcmdldC11bml0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjb2xvcjogbGlnaHRlbihAa3BpLXRvcC1saW5lLWJhY2tncm91bmQtY29sb3IsIDEwJSk7XG4gICAgfVxuXG4gICAgLnBhcmFtLW5hbWUge1xuICAgICAgLnNtYWxsKCk7XG4gICAgfVxuXG4gICAgLmJ0bi5idG4teHMge1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5rcGktZWRpdCxcbiAgLmtwaS1uby1kYXRhIHtcbiAgICAuaW1wYWMtbWF0ZXJpYWwoQGtwaS1zZXR0aW5ncy1mb2N1cy1jb2xvciwgQGtwaS1zZXR0aW5ncy1lcnJvci1jb2xvcik7XG4gIH1cblxuICBidXR0b24ua3BpLWFsZXJ0cy5pbS1mYWIuaW0tcHJpbWFyeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEycHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBiYWNrZ3JvdW5kOiBAa3BpLXNldHRpbmdzLWFsZXJ0LWNvbmZpZy1iYWNrZ3JvdW5kO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VkOiBAa3BpLXNldHRpbmdzLWFsZXJ0LWNvbmZpZy1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5rcGktcmVtb3ZlLmltLWZhYi5pbS13YXJuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTJweDtcbiAgICByaWdodDogLTExcHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBiYWNrZ3JvdW5kOiBAa3BpLXNldHRpbmdzLXJlbW92ZS1iYWNrZ3JvdW5kO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogQGtwaS1zZXR0aW5ncy1yZW1vdmUtYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAua3BpLWRhdGEtbG9hZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA5NXB4O1xuICB9XG59XG5cbi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua2V5LXN0YXRzIC5rcGkge1xuICBtaW4taGVpZ2h0OiA4MHB4O1xufVxuIiwiLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1QQUMgTUFURVJJQUxcbi8qICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qKiBNaXhpbiBtYXRlcmlhbCBzdHlsZWQgZm9ybSBpbnB1dHMsIG92ZXJyaWRpbmcgYm9vdHN0cmFwJ3MgdW5nb2RseSByb3VuZC1uZXNzLlxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBERU1PIEhUTUwgLSB1c2UgdGhpcyBodG1sIHRvIHRlc3QgYWxsIGltcGFjIG1hdGVyaWFsIGZlYXR1cmVzLlxuPGZvcm0+XG4gIDxkaXYgY2xhc3M9XCJpbS1mb3JtLWdyb3VwXCI+XG4gICAgPHNlbGVjdD5cbiAgICAgIDxvcHRpb24+VmFsdWUgMTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbj5WYWx1ZSAyPC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gICAgPGxhYmVsIGZvcj1cInNlbGVjdFwiIGNsYXNzPVwiaW0tY29udHJvbC1sYWJlbFwiPlNlbGVjdGJveDwvbGFiZWw+PGkgY2xhc3M9XCJpbS1iYXJcIj48L2k+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tZm9ybS1ncm91cFwiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkLz5cbiAgICA8bGFiZWwgZm9yPVwiaW5wdXRcIiBjbGFzcz1cImltLWNvbnRyb2wtbGFiZWxcIj5UZXh0ZmllbGQ8L2xhYmVsPjxpIGNsYXNzPVwiaW0tYmFyXCI+PC9pPlxuICAgIDxkaXYgY2xhc3M9XCJpbS1tZXNzYWdlc1wiPlxuICAgICAgPHA+VGhpcyBpcyBhbiBlcnJvciBtZXNzYWdlPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWZvcm0taW5saW5lXCI+XG4gICAgPGRpdiBjbGFzcz1cImltLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkLz5cbiAgICAgIDxsYWJlbCBmb3I9XCJpbnB1dFwiIGNsYXNzPVwiaW0tY29udHJvbC1sYWJlbFwiPklubGluZTwvbGFiZWw+PGkgY2xhc3M9XCJpbS1iYXJcIj48L2k+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImltLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkLz5cbiAgICAgIDxsYWJlbCBmb3I9XCJpbnB1dFwiIGNsYXNzPVwiaW0tY29udHJvbC1sYWJlbFwiPklubGluZTwvbGFiZWw+PGkgY2xhc3M9XCJpbS1iYXJcIj48L2k+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tZm9ybS1ncm91cFwiPlxuICAgIDx0ZXh0YXJlYSByZXF1aXJlZD48L3RleHRhcmVhPlxuICAgIDxsYWJlbCBmb3I9XCJ0ZXh0YXJlYVwiIGNsYXNzPVwiaW0tY29udHJvbC1sYWJlbFwiPlRleHRhcmVhPC9sYWJlbD48aSBjbGFzcz1cImltLWJhclwiPjwvaT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbS1jaGVja2JveFwiPlxuICAgIDxsYWJlbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjaGVja2VkPVwiY2hlY2tlZFwiLz48aSBjbGFzcz1cImltLWhlbHBlclwiPjwvaT5JJ20gdGhlIGxhYmVsIGZyb20gYSBjaGVja2JveFxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW0tY2hlY2tib3hcIj5cbiAgICA8bGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIvPjxpIGNsYXNzPVwiaW0taGVscGVyXCI+PC9pPkknbSB0aGUgbGFiZWwgZnJvbSBhIGNoZWNrYm94XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbS1mb3JtLXJhZGlvXCI+XG4gICAgPGRpdiBjbGFzcz1cImltLXJhZGlvXCI+XG4gICAgICA8bGFiZWw+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBuYW1lPVwicmFkaW9cIiBjaGVja2VkPVwiY2hlY2tlZFwiLz48aSBjbGFzcz1cImltLWhlbHBlclwiPjwvaT5JJ20gdGhlIGxhYmVsIGZyb20gYSByYWRpbyBidXR0b25cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImltLXJhZGlvXCI+XG4gICAgICA8bGFiZWw+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBuYW1lPVwicmFkaW9cIi8+PGkgY2xhc3M9XCJpbS1oZWxwZXJcIj48L2k+SSdtIHRoZSBsYWJlbCBmcm9tIGEgcmFkaW8gYnV0dG9uXG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImltLWNoZWNrYm94XCI+XG4gICAgPGxhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiLz48aSBjbGFzcz1cImltLWhlbHBlclwiPjwvaT5JJ20gdGhlIGxhYmVsIGZyb20gYSBjaGVja2JveFxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImltLWZhYiBpbS1wcmltYXJ5XCI+PGk+4pmlPC9pPjwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImltLWZhYiBpbS13YXJuXCI+PGk+4pmlPC9pPjwvYnV0dG9uPlxuPC9mb3JtPlxuKi9cblxuQGJvZHktYmc6ICNmZmY7XG5cbi8vIFNoYWRvd3NcbkBzaGFkb3ctaW5zZXQ6IGluc2V0IDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KTtcbkBzaGFkb3ctMDogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xuQHNoYWRvdy0yOiAwIDJweCAycHggMCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMXB4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuQHNoYWRvdy0zOiAwIDNweCA0cHggMCByZ2JhKDAsMCwwLC4xNCksMCAzcHggM3B4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAxcHggOHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuQHNoYWRvdy00OiAwIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKTtcbkBzaGFkb3ctNjogMCA2cHggMTBweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxOHB4IDAgcmdiYSgwLDAsMCwuMTIpLDAgM3B4IDVweCAtMXB4IHJnYmEoMCwwLDAsLjIpO1xuQHNoYWRvdy04OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwuMTIpLDAgNXB4IDVweCAtM3B4IHJnYmEoMCwwLDAsLjIpO1xuXG4vLyBGb250IFNpemVzXG5AaW0tZm9udC1zaXplOiAxLjI1cmVtO1xuQGltLWFjdGl2ZS1mb250LXNpemU6IEBpbS1mb250LXNpemUgKiAwLjg7XG5AaW0tYWN0aXZlLXRvcDogLUBpbS1mb250LXNpemU7XG5cbi8vIE1hcmdpbiAmIFBhZGRpbmdzXG5AaW0tZ2FwOiBAaW0tZm9udC1zaXplICogLjc7XG5AaW0tc3BhY2VyOiBAaW0tZm9udC1zaXplIC8gODtcbkBpbS1maWVsZHNldC1tYXJnaW46IDAgMCBAaW0tZ2FwICogMjtcbkBpbS1jaGVja2JveC1nYXA6IEBpbS1mb250LXNpemUgKiAyO1xuQGltLWNoZWNrYm94LXRvcDogMDtcbkBpbS1yYWRpby1tYXJnaW46IEBpbS1mb250LXNpemUgLyAtNDtcblxuLy8gQ29sb3JzXG5AaW0tYm9yZGVyLWNvbG9yOiAjOTk5O1xuQGltLWxhYmVsLWNvbG9yOiBsaWdodGVuKEBpbS1ib3JkZXItY29sb3IsIDEwJSk7XG5AaW0tYWN0aXZlLWNvbG9yOiBkYXJrZW4oQGltLWJvcmRlci1jb2xvciwgMTAlKTtcblxuLy8gQW5pbWF0aW9uXG5AaW0tdHJhbnNpdGlvbi1zcGVlZDogMC4yOHM7XG5cbi5pbXBhYy1tYXRlcmlhbCAoQGltLWZvY3VzLWNvbG9yOiAjMzM3YWI3LCBAaW0tZXJyb3ItY29sb3I6ICNkOTUzNGYsIEBpbS1pbnB1dC1jb2xvcjogIzMzMykge1xuICAvKiBGbGF0dGVuIGRlciBCb290c3RyYXAgKi9cbiAgLndlbGwsIC5uYXZiYXItaW5uZXIsIC5wb3BvdmVyLCAuYnRuLCAudG9vbHRpcCwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIHByZSwgLnByb2dyZXNzLCAubW9kYWwsIC5hZGQtb24sIC5hbGVydCwgLnRhYmxlLWJvcmRlcmVkLCAubmF2Pi5hY3RpdmU+YSwgLmRyb3Bkb3duLW1lbnUsIC50b29sdGlwLWlubmVyLCAuYmFkZ2UsIC5sYWJlbCwgLmltZy1wb2xhcm9pZCB7XG4gICAgLW1vei1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYm9keSxcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBTdHlsZXMgZm9yIHRoZSBmb3JtXG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IEBpbS1maWVsZHNldC1tYXJnaW47XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAuaW0tZm9ybS1yYWRpbyxcbiAgLmltLWZvcm0tZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAoQGltLWdhcCAqIDEuNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogKEBpbS1nYXAgKiAxLjUpO1xuICB9XG5cbiAgLmltLWZvcm0taW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgID4gLmltLWZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoQGltLWdhcCAqIC4yKTtcbiAgICAgIG1hcmdpbi1yaWdodDogKEBpbS1nYXAgKiAuMik7XG4gICAgfVxuXG4gICAgPiAuYnRuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmltLWZvcm0tZ3JvdXAge1xuICAgIGlucHV0IHtcbiAgICAgIGhlaWdodDogKEBpbS1mb250LXNpemUgKiAxLjkpO1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IEBpbS1mb250LXNpemU7XG4gICAgICBoZWlnaHQ6IChAaW0tZm9udC1zaXplICogMS42KTtcbiAgICAgIHBhZGRpbmc6IEBpbS1zcGFjZXIgQGltLXNwYWNlciAoQGltLXNwYWNlciAvIDIpO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5pbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogKEBpbS1mb250LXNpemUgLyA0KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiBAaW0tc3BhY2VyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGNvbG9yOiBAaW0tbGFiZWwtY29sb3I7XG4gICAgICBmb250LXNpemU6IEBpbS1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIEBpbS10cmFuc2l0aW9uLXNwZWVkIGVhc2U7XG4gICAgfVxuXG4gICAgLmltLWJhciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiAoQGltLWZvbnQtc2l6ZSAvIDE2KSBzb2xpZCBAaW0tYm9yZGVyLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IChAaW0tZm9udC1zaXplIC8gOCk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogKEBpbS1mb250LXNpemUgLyAtMTYpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbS1mb2N1cy1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlLCB3aWR0aCBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IEBpbS1zcGFjZXIgQGltLXNwYWNlciAoQGltLXNwYWNlciAvIDIpO1xuICAgICAgZm9udC1zaXplOiBAaW0tZm9udC1zaXplO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgfiAuaW0tYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3QsXG4gICAgaW5wdXQ6Zm9jdXMsXG4gICAgaW5wdXQ6dmFsaWQsXG4gICAgaW5wdXQuZm9ybS1maWxlLFxuICAgIGlucHV0Lmhhcy12YWx1ZSxcbiAgICB0ZXh0YXJlYTpmb2N1cyxcbiAgICB0ZXh0YXJlYTp2YWxpZCxcbiAgICB0ZXh0YXJlYS5mb3JtLWZpbGUsXG4gICAgdGV4dGFyZWEuaGFzLXZhbHVlIHtcbiAgICAgIGNvbG9yOiBAaW0taW5wdXQtY29sb3I7XG5cbiAgICAgIH4gLmltLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IEBpbS1hY3RpdmUtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogQGltLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgdG9wOiBAaW0tYWN0aXZlLXRvcDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3QsXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgfiAuaW0tY29udHJvbC1sYWJlbCB7XG4gICAgICAgICAgY29sb3I6IEBpbS1mb2N1cy1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIH4gLmltLWJhciB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSYWRpbyAmIENoZWNrYm94XG4gIC5pbS1jaGVja2JveCxcbiAgLmltLWZvcm0tcmFkaW8ge1xuICAgIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogQGltLWNoZWNrYm94LWdhcDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogQGltLWlucHV0LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvcGFjaXR5OiAwLjAwMDAwMDAxO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaW0tcmFkaW8ge1xuICAgIG1hcmdpbi1ib3R0b206IEBpbS1mb250LXNpemU7XG5cbiAgICAuaW0taGVscGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogQGltLXJhZGlvLW1hcmdpbjtcbiAgICAgIGxlZnQ6IEBpbS1yYWRpby1tYXJnaW47XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogQGltLWZvbnQtc2l6ZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY29sb3I6IEBpbS1ib3JkZXItY29sb3I7XG5cbiAgICAgIC8vIFRPRE86IGltcHJvdmUgcmFkaW8gdHJhbnNpdGlvbiAtIHJpcHBsZSBlZmZlY3QgbGlrZSBhbmd1bGFyIG1kIHdvdWxkIGJlIGNvb2wgOilcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtYXJnaW46IChAaW0tc3BhY2VyICogMik7XG4gICAgICAgIHdpZHRoOiBAaW0tZm9udC1zaXplO1xuICAgICAgICBoZWlnaHQ6IEBpbS1mb250LXNpemU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogKEBpbS1mb250LXNpemUgLyA4KSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltLWZvY3VzLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBpbS1mb2N1cy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbDpob3ZlciAuaW0taGVscGVyIHtcbiAgICAgIGNvbG9yOiBAaW0tZm9jdXMtY29sb3I7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCB7XG4gICAgICB+IC5pbS1oZWxwZXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogQGltLWZvY3VzLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmltLWNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiAoQGltLWdhcCAqIDIpO1xuICAgIG1hcmdpbi1ib3R0b206IEBpbS1mb250LXNpemU7XG5cbiAgICAuaW0taGVscGVyIHtcbiAgICAgIGNvbG9yOiBAaW0tYm9yZGVyLWNvbG9yO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBAaW0tY2hlY2tib3gtdG9wO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiBAaW0tZm9udC1zaXplO1xuICAgICAgaGVpZ2h0OiBAaW0tZm9udC1zaXplO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGJvcmRlcjogKEBpbS1mb250LXNpemUgLyA4KSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAoQGltLWZvbnQtc2l6ZSAvIDE2KTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBAaW0tdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogKEBpbS1mb250LXNpemUgKiAwLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW0tZm9jdXMtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogKEBpbS1mb250LXNpemUgLyA0KTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgQGltLXRyYW5zaXRpb24tc3BlZWQgZWFzZSwgaGVpZ2h0IDBzIGxpbmVhciBAaW0tdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAoQGltLWZvbnQtc2l6ZSAqIDAuNjUpO1xuICAgICAgICBsZWZ0OiAoQGltLWZvbnQtc2l6ZSAqIDAuMzgpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgKEBpbS1mb250LXNpemUgLyAxNikgQGJvZHktYmc7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoQGltLWZvbnQtc2l6ZSAqIDAuMyk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWw6aG92ZXIgLmltLWhlbHBlciB7XG4gICAgICBjb2xvcjogQGltLWZvY3VzLWNvbG9yO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQge1xuICAgICAgfiAuaW0taGVscGVyIHtcbiAgICAgICAgY29sb3I6IEBpbS1mb2N1cy1jb2xvcjtcblxuICAgICAgICAvLyBUT0RPOiBpbXByb3ZlIGNoZWNrZWQgdHJhbnNpdGlvbi5cbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgQGltLXRyYW5zaXRpb24tc3BlZWQgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IChAaW0tZm9udC1zaXplIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogKEBpbS1mb250LXNpemUgKiAxLjIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEBpbS10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmltLXJhZGlvICsgLmltLXJhZGlvLFxuICAuaW0tY2hlY2tib3ggKyAuaW0tY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IEBpbS1mb250LXNpemU7XG4gIH1cblxuICAvLyBBZGQgY2xhc3Mgb250byBuZy1tZXNzYWdlcyBkaXZcbiAgLmltLW1lc3NhZ2VzIHtcbiAgICBmb250LXNpemU6IEBpbS1mb250LXNpemUgLyAxLjI7XG4gICAgY29sb3I6IEBpbS1lcnJvci1jb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCBAaW0tdHJhbnNpdGlvbi1zcGVlZCBjdWJpYy1iZXppZXIoLjU1LDAsLjU1LC4yKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgfVxuXG4gIC5oYXMtZXJyb3Ige1xuICAgIC5sZWdlbmQubGVnZW5kLFxuICAgICYuaW0tZm9ybS1ncm91cCAuaW0tY29udHJvbC1sYWJlbC5pbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiBAaW0tZXJyb3ItY29sb3I7XG4gICAgfVxuXG4gICAgJi5pbS1mb3JtLWdyb3VwLFxuICAgICYuaW0tY2hlY2tib3gsXG4gICAgJi5pbS1yYWRpbyxcbiAgICAmLmltLWZvcm0tcmFkaW8ge1xuICAgICAgLmltLW1lc3NhZ2VzLFxuICAgICAgLmltLWhlbHBlciB7XG4gICAgICAgIGNvbG9yOiBAaW0tZXJyb3ItY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltLWJhciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW0tZXJyb3ItY29sb3I7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKEBpbS1mb2N1cy1jb2xvciwgMTAlKTtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAoQGltLWZvbnQtc2l6ZSAqIDEuMSk7XG4gICAgY29sb3I6IEBpbS1pbnB1dC1jb2xvcjtcbiAgICBtYXJnaW46IChAaW0tZ2FwICogLjgpIDA7XG4gICAgcGFkZGluZzogKEBpbS1nYXAgLyAyKSAoQGltLWdhcCAqIDIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiBAc2hhZG93LTI7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzIGVhc2UtaW47XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oQGltLWZvY3VzLWNvbG9yLCA1JSk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogQHNoYWRvdy1pbnNldDtcbiAgICB9XG5cbiAgICBhOmZvY3VzLFxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICBidXR0b24uaW0tZmFiIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA0NnB4O1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGZsZXg6IDAgMCA1NnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogNHB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGJveC1zaGFkb3c6IEBzaGFkb3ctNDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiBAc2hhZG93LWluc2V0O1xuICAgIH1cbiAgICAmLmltLXByaW1hcnkge1xuICAgICAgYmFja2dyb3VuZDogQGltLWZvY3VzLWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzIGVhc2UtaW47XG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihAaW0tZm9jdXMtY29sb3IsIDUlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pbS13YXJuIHtcbiAgICAgIGJhY2tncm91bmQ6IEBpbS1lcnJvci1jb2xvcjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcyBlYXNlLWluO1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oQGltLWVycm9yLWNvbG9yLCA1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5hbmFseXRpY3Mga3Bpcy1iYXIgPiAua3BpcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmFjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaW1wYWMtbWF0ZXJpYWwoQGtwaS1zZXR0aW5ncy1mb2N1cy1jb2xvciwgQGtwaS1zZXR0aW5ncy1lcnJvci1jb2xvcik7XG5cbiAgICBhIHsgY29sb3I6IHdoaXRlOyB9XG5cbiAgICBidXR0b24uaW0tZmFiLmFkZC1rcGlzLFxuICAgIGJ1dHRvbi5pbS1mYWIuZWRpdC1rcGlzLFxuICAgIGJ1dHRvbi5pbS1mYWIudG9nZ2xlLXNob3ctY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI4cyBlYXNlLWluO1xuICAgICAgJi5pbS1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzRjNDc0OTtcbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2IyYjVjMTtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgIGEgeyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24uaW0tZmFiLnRvZ2dsZS1zaG93LWNvbnRlbnQge1xuICAgICAgdG9wOiAtMTVweDtcbiAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc1cHgpIHtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgcmlnaHQ6IC0xNHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLmltLWZhYi5hZGQta3BpcyB7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3NXB4KSB7XG4gICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgIHJpZ2h0OiAzM3B4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLmltLWZhYi5lZGl0LWtwaXMge1xuICAgICAgdG9wOiA3NXB4O1xuICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICAmLmVkaXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAa3BpLXNldHRpbmdzLWZvY3VzLWNvbG9yO1xuICAgICAgICAmOmhvdmVyOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKEBrcGktc2V0dGluZ3MtZm9jdXMtY29sb3IsIDE1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3NXB4KSB7XG4gICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgIHJpZ2h0OiA3OXB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtYnV0dG9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBrcGlzLWJhci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IEBrcGlzLWJhci1ib3gtc2hhZG93O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzI1cHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzVweCkge1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICB9XG5cbiAgICAuaW1wYWMta3BpIHtcbiAgICAgIC5jb2x1bW4tZ3V0dGVyKDVweCk7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5rcGkuYWRkIHtcbiAgICAgICAgLmtwaS1zaG93IC5jYXB0aW9uIHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgLnRpdGxlIHtcbiAgICAgIC50ZXh0LWNlbnRlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzO1xuICAgICAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG4gICAgICAgIGZvbnQtc2l6ZTogbGFyZ2VyO1xuICAgICAgfVxuICAgICAgLmJhZGdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMWU1NWM7XG4gICAgICAgIGNvbG9yOiAjNGY1OTU5O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAtMXB4O1xuICAgICAgfVxuICAgICAgLm5vLWtwaS10ZW1wbGF0ZXMge1xuICAgICAgICBjb2xvcjogI2FmYWRiNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLWJhciB7XG4gICAgICBib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4O1xuICAgIH1cblxuICAgIC5rcGktbG9hZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtaW4taGVpZ2h0OiBAa3BpLW1heC1oZWlnaHQgKyAyMHB4O1xuICAgIH1cblxuICAgIC5kYXRlcy1waWNrZXItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgLnNkcC1mcm9tLWxhYmVsLFxuICAgICAgLnNkcC10by1sYWJlbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hbmFseXRpY3Mga3Bpcy1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmFuYWx5dGljcyBrcGlzLWJhciA+IC5rZXktc3RhdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogNXB4IDBweDtcbn1cblxuLmFuYWx5dGljcy5wZGYtbW9kZSBrcGlzLWJhciA+IC5rcGlzIC5hY3Rpb25zIHsgZGlzcGxheTogbm9uZTsgfVxuIiwiLndpZGdldC1pdGVtIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgcGFkZGluZzogQGltcGFjLXBhZGRpbmctYmV0d2Vlbi13aWRnZXRzO1xuICAmLnBkZi1tb2RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiB+XCJAe2ltcGFjLXBhZGRpbmctYmV0d2Vlbi13aWRnZXRzfSAwcHhcIjtcbiAgfVxufVxuXG4ud2lkZ2V0LWl0ZW0gLnRvcC1saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IG1vdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtdGl0bGUtYmc7XG4gIHBhZGRpbmc6IDlweCA5cHggMHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IEBpbXBhYy13aWRnZXQtdGl0bGUtYm9yZGVyLXJhZGl1cztcbiAgYm9yZGVyOiBAaW1wYWMtd2lkZ2V0LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbWluLWhlaWdodDogNDFweDtcbiAgLmJveC1zaGFkb3coMHB4IDFweCA4cHggLTRweCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICB6LWluZGV4OiA0O1xufVxuXG4ud2lkZ2V0LWl0ZW0ge1xuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBib3JkZXItcmFkaXVzOiBAaW1wYWMtd2lkZ2V0LWNvbnRlbnQtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXI6IEBpbXBhYy13aWRnZXQtYm9yZGVyO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAuYm94LXNoYWRvdygwcHggMXB4IDhweCAtNHB4KTtcbiAgICAuc2hvcnQtd2lkZ2V0KCk7XG5cbiAgICAuZWRpdCB7XG4gICAgICAuZWRpdC1wYW5lbC1zdHlsZSgpO1xuICAgIH1cblxuICAgICYuYWNjZXNzaWJsZSB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgY29udGVudCB0byBsZWFrIG91dCBvZiB3aWRnZXQncyBib3hcbiAgICAuY29udGVudC10ZW1wbGF0ZS13cmFwcGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gICYucGRmLW1vZGUgLmNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDI1MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIH1cbiAgICAuZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxNDdcIjtcbiAgICB9XG4gICAgLmxlZ2VuZCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jaGFydC1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG4gICAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZGF0YS1ub3QtZm91bmQgLm1lc3NhZ2Uge1xuICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLndpZGdldC1pdGVtLnBkZi1tb2RlIC5pbmNsdWRlLXRvLXBkZntcbiAgJi50aXRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSAyKkB7aW1wYWMtcGFkZGluZy1iZXR3ZWVuLXdpZGdldHN9IClcIjtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcbiAgICBoNiB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzkyODtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgJi50aWNrIHtcbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMzUlO1xuICAgICAgbGVmdDogNDYlO1xuICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gIH1cbiAgLndpZGdldC1ob3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiA5cHg7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIGVhc2UgLjVzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIGVhc2UgLjVzO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC41cztcbiAgICB6LWluZGV4OiAxO1xuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgICBiYWNrZ3JvdW5kOiAjQ0NDRkQwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGaXggb3ZlcmZsb3cgZm9yIGxhcmdlIHN1bXMvdGV4dCBpbiAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB0YWJsZXNcbi53aWRnZXQtaXRlbSAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciAud2lkZ2V0LWxpbmUgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLmRhdGEtbm90LWZvdW5kLFxuLmFuYWx5dGljcyAua3BpIC5kYXRhLW5vdC1mb3VuZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogQGltcGFjLXdpZGdldC1wb3B1cC1tZXNzYWdlLXRleHQtY29sb3I7XG5cbiAgLm92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IH5cImNhbGMoMTAwJSAtIDRweClcIjtcbiAgICB3aWR0aDogflwiY2FsYygxMDAlIC0gNHB4KVwiO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDJweDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC5tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMjVweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBvcHVwLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAyNXB4IDBweDtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtcG9wdXAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBvcHVwLXRpdGxlLXRleHQtY29sb3I7XG4gICAgICBtYXJnaW46IC0xcHggLTFweCAxMHB4IC0xcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIC5idG4geyBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgfVxuXG4gIC5leGFtcGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBvcHVwLXRpdGxlLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1wb3B1cC10aXRsZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICB6LWluZGV4OiA2O1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtZGVtby1kYXRhLWxpbmstY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5hbmFseXRpY3MgLmtwaSAuZGF0YS1ub3QtZm91bmQge1xuICAubWVzc2FnZSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIGJvcmRlcjogc29saWQgMXB4IHNpbHZlcjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHAgeyBtYXJnaW46IDVweDsgfVxuICB9XG4gIC5vdmVybGF5LCAudGl0bGUsIC5idG4sIC5leGFtcGxlIHsgZGlzcGxheTogbm9uZTsgfVxufVxuIiwiI3RyYW5zYWN0aW9ucy1hZGQge1xuICAud2lkZ2V0LXBvcHVwKCk7XG4gIC5tZXNzYWdlIHtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogMzUlO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgLmZvcm0ge1xuICAgICAgcGFkZGluZzogMHB4IDEwcHg7XG4gICAgICA+IGxhYmVsLCAuY29taW5nLXNvb24gPiBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICB9XG4gICAgICBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgICAgLmJ0bi1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiAyMnB4O1xuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29taW5nLXNvb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHNpbHZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xuICAgICAgICB9XG4gICAgICAgIC5idG4tZ3JvdXAge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7IG1hcmdpbi10b3A6IDVweDsgfVxuICAgICAgICAgIHNlbGVjdCB7IGhlaWdodDogMjJweDsgfVxuICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM4ODg4ODg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ib3R0b20ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgY29tbW9uLWRlbGV0ZS13aWRnZXQge1xuICAud2lkZ2V0LXBvcHVwKCk7XG4gIC5tZXNzYWdlIHtcbiAgICAubG9hZGVyIGkuZmEuZmEtc3Bpbm5lciB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuICAgIHAgeyBwYWRkaW5nOiAwcHggMTBweDsgfVxuICAgIGJ1dHRvbi5idG4geyBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIH1cbn1cbiIsIiN0cmFuc2FjdGlvbnMtbGlzdCB7XG4gIC50b3Age1xuICAgIGhlaWdodDogNDBweDtcbiAgICBhLmJhY2stbGluayB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAucGFnaW5hdGlvbiB7IG1hcmdpbjogMHB4OyB9XG4gIH1cblxuICAudGFibGUtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiB+XCJjYWxjKEB7aW1wYWMtYmlnLXdpZGdldC1zaXplfSAtIDYwcHgpXCI7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgXG4gICAgZGl2W3VpYi1kYXRlcGlja2VyLXBvcHVwLXdyYXBdIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBpbnB1dC5idG4uYnRuLXhzIHsgbWFyZ2luLXRvcDogLTJweDsgfVxuICAgIGJ1dHRvbi5idG4ucmVzZXQtZGF0ZSB7IG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgICAuZmEuZmEtdGltZXMge1xuICAgICAgY29sb3I6IEBicmFuZC1kYW5nZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgdHIudG90YWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAmLmludm9pY2VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjOGVhYjcxLCAyMCUpO1xuICAgICAgfVxuICAgICAgJi5iaWxscyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oI2M3NjM3OSwgMjAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLmRhc2hib2FyZC1zZXR0aW5ncy5jdXJyZW5jeSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBzZWxlY3Qge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAuZGFzaGJvYXJkLXNldHRpbmdzLnN5bmMtYXBwcyB7XG4gIC5zaG93LXN0YXR1cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1tZWRpdW07XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgLmZhLmZhLWluZm8geyBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICB9XG4gIC5zdGF0dXMtYnRuIHtcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICYuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUgeyBjb2xvcjogQGZsdXJvb3JhbmdlOyB9XG4gICAgICAmLmZhLWNoZWNrIHsgY29sb3I6IEBncmVlbjsgfVxuICAgIH1cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDVweCA3cHggNXB4IDBweDtcbiAgfVxuXG4gIC5wb3BvdmVyIHtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIC5jb25uZWN0b3Ige1xuICAgICAgcGFkZGluZzogNHB4IDEzcHg7XG4gICAgICAmLmFkZC1zZXBlcmF0b3IgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICAgIH1cbiAgICAucG9wb3Zlci1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5wb3BvdmVyLWZvb3RlciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIHBhZGRpbmc6IDRweCAxM3B4O1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAmLnJlbW92ZS1zZXBlcmF0b3IgeyBib3JkZXI6IDA7IH1cbiAgICB9XG4gIH1cblxuICAuYmFkZ2UgeyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgLnN1Y2Nlc3MgLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQGdyZWVuOyB9XG4gIC5wZW5kaW5nIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBmbHVyb29yYW5nZTsgfVxuICAucnVubmluZyAuYmFkZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAZmx1cm9vcmFuZ2U7IH1cbiAgLmVycm9yIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBwaW5rOyB9XG4gIC5mYWlsZWQgLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQHBpbms7IH1cbiAgLnVua25vd24gLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQHBpbms7IH1cbiAgLmRpc2Nvbm5lY3RlZCAuYmFkZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAcGluazsgfVxufVxuXG4jc3luYy1hcHBzLW1vZGFsIHtcbiAgLm1vZGFsLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDNweCAwcHggI2NjYztcbiAgfVxuICAubW9kYWwtbGlzdCB7XG4gICAgbWF4LWhlaWdodDogMjgwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICAubW9kYWwtbGlzdC1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgLmJhZGdlIHsgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgJi5zdWNjZXNzIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBncmVlbjsgfVxuICAgICYucGVuZGluZyAuYmFkZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAZmx1cm9vcmFuZ2U7IH1cbiAgICAmLnJ1bm5pbmcgLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQGZsdXJvb3JhbmdlOyB9XG4gICAgJi5lcnJvciAuYmFkZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAcGluazsgfVxuICAgICYuZmFpbGVkIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBwaW5rOyB9XG4gICAgJi51bmtub3duIC5iYWRnZSB7IGJhY2tncm91bmQtY29sb3I6IEBwaW5rOyB9XG4gICAgJi5kaXNjb25uZWN0ZWQgLmJhZGdlIHsgYmFja2dyb3VuZC1jb2xvcjogQHBpbms7IH1cblxuICAgIC5tZXNzYWdlIHtcbiAgICAgIHAgeyBtYXJnaW46IDA7IH1cbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMXB4O1xuICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIH1cblxuICAgICYuc3VjY2VzcyAubWVzc2FnZSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjU1LCA1NSwgMC4wOCk7IH1cbiAgICAmLnBlbmRpbmcgLm1lc3NhZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTE4LCAwLCAwLjA4KTsgfVxuICAgICYucnVubmluZyAubWVzc2FnZSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxMTgsIDAsIDAuMDgpOyB9XG4gICAgJi5lcnJvciAubWVzc2FnZSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjA4KTsgfVxuICAgICYuZmFpbGVkIC5tZXNzYWdlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMDgpOyB9XG4gICAgJi51bmtub3duIC5tZXNzYWdlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMDgpOyB9XG4gICAgJi5kaXNjb25uZWN0ZWQgLm1lc3NhZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMC4wOCk7IH1cblxuICAgICYud2l0aC1tZXNzYWdlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbiAgLmZhIHsgcGFkZGluZzogMHB4IDEwcHg7IH1cbiAgLmZhLmVycm9yIHsgY29sb3I6IEByZWQ7IH1cbiAgLmZhLndhcm4geyBjb2xvcjogQGZsdXJvb3JhbmdlOyB9XG4gIC5mYS5zdWNjZXNzIHsgY29sb3I6IEBmbHVyb2dyZWVuOyB9XG59XG4iLCJjaGFydC10aHJlc2hvbGQge1xuXG4gIC5hdHRhY2gtcGFuZWwge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAxMzIsIDIyOCwgMC4xNik7XG5cbiAgICA+IC5hdHRhY2gtcGFuZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAmID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFuZWwtdGV4dC1sYWJlbCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgICAucGFuZWwtdGV4dC1pbnB1dCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICB9XG4gICAgLnBhbmVsLXRleHQtY3VycmVuY3kge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4gIH1cblxuICAuYWN0aW9uLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAmLmxvYWRpbmcge1xuICAgICAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jdXJyZW5jeS1jb252ZXJzaW9ucyB7XG4gIGltZyB7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJi5wb3BvdmVyIC5wb3BvdmVyLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5lZGl0YWJsZS10aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDIycHg7XG5cbiAgLnRpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogQGltcGFjLXdpZGdldC10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICAuZm9udChAaW1wYWMtd2lkZ2V0LXRpdGxlLXRleHQtc2l6ZSw2MDAsQGltcGFjLXdpZGdldC10aXRsZS10ZXh0LWNvbG9yKTtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gIH1cblxuICAuZWRpdGFibGUtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgLy8gb3RoZXJ3aXNlLCB3aGl0ZS1zcGFjZSBpcyBvdmVycmlkZW4gaW4gbW5vLWVudGVycHJpc2VcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgLmVkaXRhYmxlLWNvbnRyb2xzIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcblxuICAgICAgLmVkaXRhYmxlLWlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBAaW1wYWMtd2lkZ2V0LXRpdGxlLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAvLyA2NXB4IGlzIC5lZGl0YWJsZS1idXR0b25zIHdpZHRoXG4gICAgICAgIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSA2NXB4KVwiO1xuICAgICAgICBwYWRkaW5nOiAwcHggM3B4O1xuICAgICAgfVxuXG4gICAgICAuZWRpdGFibGUtYnV0dG9ucyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtdGl0bGUtYmc7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwcHggMHB4IDBweCA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDBweCA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5pbmZvLXBhbmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIGxlZnQ6IDE1cHg7XG4gIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSAzMHB4KVwiO1xuICBtYXgtaGVpZ2h0OiB+XCJjYWxjKDEwMCUgLSAzMHB4KVwiO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBkb3R0ZWQgMXB4ICNCN0NEQ0U7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZm9udC1mYW1pbHk6IFwiTGF0byBTZW1pYm9sZFwiLCBcIkxhdG9cIjtcblxuICB6LWluZGV4OiA0O1xuXG4gICY6aG92ZXIgeyBvcGFjaXR5OiAxOyB9XG5cbiAgLmktaGVhZGVyIHtcbiAgICAuZmEgeyBmb250LXNpemU6IDE4cHg7IH1cbiAgICAuZmEtaW5mby1jaXJjbGUgeyBmbG9hdDogbGVmdDsgfVxuICAgIC5mYS10aW1lcy1jaXJjbGUgeyBjdXJzb3I6IHBvaW50ZXI7IGZsb2F0OiByaWdodDsgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzkyODtcbiAgICBjb2xvcjogQGltcGFjLXdpZGdldC1yZXZlcnNlLWNvbG9yO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG8gTWVkaXVtXCIsIFwiTGF0b1wiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gIC5pLWNvbnRlbnQge1xuICAgIC5zY3JvbGxhYmxlKCk7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgZmxleDogMTtcblxuICAgIC5yb3cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCBAaW1wYWMtZGFzaGJvYXJkLWJvcmRlcnMtY29sb3I7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuXG4gICAgICAua2V5IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzO1xuICAgICAgfVxuXG4gICAgICAudmFsdWUgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC50aW1lLXBlcmlvZC1pbmZvIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogI0FCQzRDNjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC50b3AtbGluZSAudG9wLWJ1dHRvbnMge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gIC50b3AtYnV0dG9ucy13cmFwcGVyIHtcbiAgICAudG9wLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRvcC1idXR0b25zLWNvbG9yO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB3aWR0aDogMTdweDtcblxuICAgICAgJjphY3RpdmUsICY6Zm9jdXMgeyBib3gtc2hhZG93OiBub25lOyB9XG5cbiAgICAgICYuYnRuLWluZm8ge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAjRkZDOTI4OyB9XG4gICAgICB9XG4gICAgICAmLmJ0bi1yZWZyZXNoIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogQG1ibHVlOyB9XG4gICAgICB9XG4gICAgICAmLmJ0bi1lZGl0IHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAmOmhvdmVyLCAmLmVkaXQtbW9kZSB7IGNvbG9yOiBkYXJrZW4oQG1ncmVlbiwxMCUpOyB9XG4gICAgICB9XG4gICAgICAmLmJ0bi1jbG9zZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiBAcGluazsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLnNlbGVjdC1hY2NvdW50IHtcbiAgcGFkZGluZzogMHB4IDVweDtcbn0iLCIuYW5hbHl0aWNzIC5zZXR0aW5ncy5hY2NvdW50aW5nLWJlaGF2aW91ciB7XG5cbiAgLmJ0bi5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3IsIDEwJSk7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggQGltcGFjLXdpZGdldC1saW5rLWNvbG9yO1xuICAgICYuZm9jdXMsICYuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1saW5rLWNvbG9yOyB9XG4gIH1cblxufVxuIiwiLmFuYWx5dGljcyAuc2V0dGluZ3MuYXR0YWNoLWtwaXMge1xuICAuYXR0YWNoLWtwaSB7XG4gICAgcGFkZGluZzogOHB4IDVweDtcblxuICAgIGZvcm0gLnJvdyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5hdHRhY2gta3BpLWZvcm0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgIH1cblxuICAgIGZvcm0gLnJvdy5rcGktZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTBweCAycHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybS5hdHRhY2gta3BpLWZvcm0ge1xuICAgICAgaW5wdXQuYXR0YWNoLXRhcmdldCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yLW1lc3NhZ2VzIHtcbiAgICAgIGNvbG9yOiBAYnJhbmQtZGFuZ2VyO1xuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hdHRhY2hlZC1rcGlzIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtLmF0dGFjaGVkLWtwaSB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG5cbiAgICAuYXR0YWNoZWQta3BpLW5hbWUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgICAgLmFsZXJ0cy1jb25maWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICBjb2xvcjogQG1ibHVlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggQG1ibHVlO1xuXG4gICAgICAgICY6aG92ZXIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIH1cbiAgICAgIC5lZGl0LWF0dGFjaGVkLWtwaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgICBjb2xvcjogQG1ibHVlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4IDVweCA1cHg7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggQG1ibHVlO1xuICAgICAgICAgICY6aG92ZXIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlbW92ZS1hdHRhY2hlZC1rcGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgY29sb3I6IEBicmFuZC1kYW5nZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHggNXB4IDVweDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCBAYnJhbmQtZGFuZ2VyO1xuICAgICAgICAgICY6aG92ZXIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQgLnNldHRpbmdzLmNoYXJ0LWZpbHRlcnMge1xuICAucm93IHtcbiAgICBtYXJnaW46IDBweDtcbiAgfVxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAuc2V0dGluZ3MuZGF0ZXMtcGlja2VyIHtcbiAgaDUgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgYnV0dG9uLmJ0bi5idG4tc20ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICYuZGF0ZS1idXR0b24geyBtYXJnaW46IDBweCA1cHg7IH1cbiAgICAmLmJ0bi1kYW5nZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgJi5idG4taW5mbyB7IGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICB9XG5cbiAgLnRvb2x0aXAtaW5uZXIgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4gIC5kcm9wZG93bi1tZW51ID4gbGkgPiBkaXYgPiB0YWJsZSB7IG91dGxpbmU6IG5vbmU7IH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50IC5zZXR0aW5ncy5oaXN0LW1vZGUtY2hvc2VyIHtcbiAgbWF4LWhlaWdodDogNzBweDtcblxuICBbY29tbW9uLXRpbWUtcGVyaW9kLWluZm9dIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICB9XG5cbiAgLm9wdGlvbnMge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U2ZTZlNjtcbiAgICAuZm9udChAaW1wYWMtd2lkZ2V0LWhpc3QtdGV4dC1zaXplLDUwMCxAaW1wYWMtd2lkZ2V0LWhpc3QtdGV4dC1jb2xvcik7XG4gICAgYSB7XG4gICAgICAuZm9udChAaW1wYWMtd2lkZ2V0LWhpc3QtdGV4dC1zaXplLDUwMCxAaW1wYWMtd2lkZ2V0LWhpc3QtdGV4dC1jb2xvcik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogQGltcGFjLXdpZGdldC1oaXN0LXRleHQtdHJhbnNmb3JtO1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogQGltcGFjLXdpZGdldC1saW5rLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXJyb3ctY29udGFpbmVyIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTE0cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgICYucmlnaHQge1xuICAgICAgbGVmdDogNDZweDtcbiAgICB9XG4gICAgJi5sZWZ0IHtcbiAgICAgIGxlZnQ6IC0zMHB4O1xuICAgIH1cbiAgICAuYXJyb3ctYm9yZGVyIHtcbiAgICAgIGJvcmRlci10b3A6IDE0cHggc29saWQgI2U2ZTZlNjtcbiAgICAgIGJvcmRlci1sZWZ0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgd2lkdGg6IDBweDtcbiAgICAgIGhlaWdodDogMHB4O1xuICAgIH1cbiAgICAuYXJyb3cge1xuICAgICAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCBAaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMTJweDtcbiAgICAgIHdpZHRoOiAwcHg7XG4gICAgICBoZWlnaHQ6IDBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLnNldHRpbmdzLmxpbWl0LWVudHJpZXMge1xuICBjb2xvcjogQGltcGFjLXdpZGdldC1saW1pdC1lbnRyaWVzLWNvbG9yO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI0U2RTZFNjtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcblxuICBhLm9wdGlvbiB7XG4gICAgJi5iYWRnZSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LWxpbWl0LWVudHJpZXMtY29sb3I7XG4gICAgfVxuICB9XG5cbn1cbiIsIi5hbmFseXRpY3MgLnNldHRpbmdzLm9mZnNldHMge1xuICAub2Zmc2V0LXZhbHVlIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgLm9mZnNldC12YWx1ZSAuZmEtdHJhc2gtbyB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQGJyYW5kLWRhbmdlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cblxuICBpbnB1dCB7IHdpZHRoOiA3NSU7IH1cbiAgYnV0dG9uIHsgd2lkdGg6IDMwcHg7IH1cbn1cbiIsIi5hbmFseXRpY3MgLnNldHRpbmdzLm9yZ2FuaXphdGlvbnMge1xuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgLndpZGdldC1saW5lIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxOHB4O1xuICAgICAgLmFsdGVybmF0ZS1iZygjZjNmNGY0KTtcbiAgICAgIC5mYSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICYuZmEtdG9nZ2xlLW9uIHtcbiAgICAgICAgICBjb2xvcjogQGltcGFjLXdpZGdldC1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICYuZmEtdG9nZ2xlLW9mZiB7XG4gICAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvci1tZWRpdW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW0tc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJi5jbGFzc2ljIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwcHggMHB4IDVweCAwcHg7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogQGltcGFjLXdpZGdldC1wYXJhbS1zZWxlY3Rvci1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgLmJveC1zaGFkb3cocmdiKDAsIDAsIDApIDBweCAzcHggMTVweCAtM3B4KTtcblxuICAgIC5wYXJhbS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgLmZvbnQoaW5oZXJpdCw1MDAsYmxhY2spO1xuICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgfVxuICAgIC5wYXJhbS1zZWxlY3Rvci1sYWJlbDpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBhcmFtLXNlbGVjdG9yLWNvbG9yO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGxpZ2h0Z3JheSw1JSk7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1wYXJhbS1zZWxlY3Rvci1jb2xvcjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBpbXBhYy13aWRnZXQtcGFyYW0tc2VsZWN0b3ItY29sb3IsNSUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMge1xuICBwYWRkaW5nOiAycHggMHB4O1xuICBpbnB1dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgfVxuICBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3MucGFyYW1zLXBpY2tlciB7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xuICAucGFyYW1ldGVyIHtcbiAgICBtYXJnaW46IDBweCAzcHggM3B4IDBweDtcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtcGFyYW1zLXBpY2tlci1iZztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggQGltcGFjLXdpZGdldC1wYXJhbXMtcGlja2VyLWJnO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgbWFyZ2luOiAwcHggLTNweCAwcHggM3B4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAaW1wYWMtd2lkZ2V0LWJhY2tncm91bmQtY29sb3IsIDUlKTtcbiAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBhcmFtcy1waWNrZXItYmc7XG4gICAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgIH1cblxuICAgICYudW5jaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6IEBpbXBhYy13aWRnZXQtcGFyYW1zLXBpY2tlci11bmNoZWNrZWQtYmc7XG4gICAgICAuYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXBhcmFtcy1waWNrZXItdW5jaGVja2VkLWJnO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmFuYWx5dGljcyAuc2V0dGluZ3MudGFnLWZpbHRlciB7XG4gIHBhZGRpbmc6IDBweCA1cHg7XG5cbiAgLmJ0bi5idG4tZGVmYXVsdCB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICB9XG5cbiAgLnRhZy1saW5lcy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBweCAxMHB4O1xuXG4gICAgLnRhZy1saW5lIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgLnRhZ3MtY29sIHsgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4gICAgICB0YWdzLWlucHV0IHtcbiAgICAgICAgLnRhZ3Mge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XG4gICAgICAgICAgLnRhZy1pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3OWEyYmI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ob3N0IHsgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAuc2V0dGluZ3MudGltZS1wZXJpb2Qge1xuICBwYWRkaW5nOiAwcHggNXB4O1xuXG4gIHNlbGVjdCB7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAmID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwcHggLTVweCA3cHggLTVweDtcbiAgICAmID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDBweCA1cHg7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgIC5zdWItc2V0dGluZyB7IHBhZGRpbmc6IDVweDsgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudCAuc2V0dGluZ3Mud2lkdGgge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgaSB7XG4gICAgY29sb3I6IHNpbHZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJi5yZWR1Y2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICB9XG4gICAgJi5leHBhbmQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtM3B4O1xuICAgIH1cbiAgfVxufSIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy1saWFiaWxpdHktc3VtbWFyeSB7XG4gIC5wYXJhbS1zZWxlY3RvciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sZWdlbmQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWF4LWhlaWdodDogOTBweDtcblxuICAgIC50aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4IEBpbXBhYy13aWRnZXQtYm9yZGVycy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy1zdW1tYXJ5IHtcbiAgLmxlZ2VuZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXgtaGVpZ2h0OiAxMTVweDtcblxuICAgIC50aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4IEBpbXBhYy13aWRnZXQtYm9yZGVycy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWFzc2V0cy12cy1saWFiaWxpdGllcyB7XG4gIC5sZWdlbmQgPiAudGl0bGUgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZSB7XG4gIGgzIHtcbiAgICAubGVmdC10aGluKDMwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wcmljZSB7XG4gICAgLmNlbnRlci1ib2xkKDBweCk7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtYmFsYW5jZSB7XG4gIC50YWxsLXdpZGdldCgpO1xuXG4gIC5kYXRhLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiB+XCJjYWxjKEB7aW1wYWMtYmlnLXdpZGdldC1zaXplfSAtIDUwcHgpXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubGVmdC1wYW5lbCB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gICNjYXNoLWJhbGFuY2UtbGVnZW5kIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIC5ncm91cC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luOiAzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LW1lbnVzLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcHhcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHsgY29sb3I6IEBpbXBhYy13aWRnZXQtdGV4dC1jb2xvcjsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sZWdlbmQtaXRlbS1pY29uIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cblxuICAucmlnaHQtcGFuZWwge1xuICAgIHdpZHRoOiB+XCJjYWxjKDEwMCUgLSAxODBweClcIjtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAvLyBIaWdoY2hhcnQgY29udGFpbmVyXG4gICAgLmNhc2gtYmFsYW5jZS1jaGFydCB7XG4gICAgICBoZWlnaHQ6IH5cImNhbGMoQHtpbXBhYy1iaWctd2lkZ2V0LXNpemV9IC0gNTBweClcIjtcbiAgICB9XG4gIH1cblxuICAuZGF0ZXMtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtYmFsYW5jZS1zaGVldCB7XG4gIC50YWxsLXdpZGdldCgpO1xuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgLnNjcm9sbGFibGUoc2Nyb2xsKTtcbiAgICBtYXgtaGVpZ2h0OiA0OTBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIC5yb3cud2lkZ2V0LWxpbmUge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4IEBpbXBhYy13aWRnZXQtYm9yZGVycy1jb2xvcjsgfVxuICAgICAgfVxuICAgIH1cbiAgICAucm93LndpZGdldC1saW5lLmhlYWRlciA+IFtjbGFzcyo9J2NvbC0nXSB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuICAgICYubm8tc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIC5uby1kYXRhLWJsb2NrIHtcbiAgICAuY2VudGVyLXRoaW4oKTtcbiAgICBtYXJnaW46IDE1cHggMHB4O1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jYXNoLXByb2plY3Rpb24ge1xuICAudGFsbC13aWRnZXQoKTtcblxuICAuY2FzaC1wcm9qZWN0aW9uLWNoYXJ0IHtcbiAgICBoZWlnaHQ6IH5cImNhbGMoQHtpbXBhYy1iaWctd2lkZ2V0LXNpemV9IC0gNTBweClcIjtcbiAgfVxuXG4gIC5oaWdoY2hhcnRzLWxlZ2VuZC1pdGVtIHtcbiAgICByZWN0LmhpZ2hjaGFydHMtcG9pbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGltZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF0ZXMtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gIHRyYW5zYWN0aW9ucy1saXN0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNhc2gtc3VtbWFyeSB7XG4gIC5kcmlsbC1kb3duLXdpZGdldCgpO1xuICAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICB9XG5cbiAgLnJvdy5saW5lcy1ncm91cC5jYXNoIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogZG91YmxlO1xuICB9XG59XG4iLCIvLyAtLS0gUmV1c2FibGUgd2lkZ2V0IHN0eWxlIG1peGluc1xuXG4vLyBQYXlyb2xsLVN1bW1hcnkgLSBQcm9maXQtYW5kLUxvc3Ncbi5kcmlsbC1kb3duLXdpZGdldCAoKSB7XG4gIC50YWxsLXdpZGdldCgpO1xuXG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA1NDBweDtcbiAgICAubGluZXMtZ3JvdXAgLndpZGdldC1saW5lIHtcbiAgICAgIC5zZWxlY3RhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgLnJpZ2h0LXBhbmVsIHtcbiAgICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgICAuc2Nyb2xsYWJsZShhdXRvKTtcbiAgICAgIG1heC1oZWlnaHQ6IDIzNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5uby1lbGVtZW50IHtcbiAgICAuY2VudGVyLXRoaW4oKTtcbiAgfVxufVxuXG4vLyBUb3AgY3VzdG9tZXJzIHN1bW1hcnkgLSBTYWxlcyBjeWNsZS4uLlxuLnNpbXBsZS1zdW1tYXJ5LXdpZGdldCgpIHtcbiAgLmNoYXJ0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA0MTBweDtcbiAgfVxuICAubGVnZW5kIHtcbiAgICBtYXgtaGVpZ2h0OiAyOHB4O1xuICB9XG59XG5cbi8vIEludm9pY2VzIGxpc3QgLSBzYWxlcyBsaXN0XG4uc2ltcGxlLWxpc3Qtd2lkZ2V0KCkge1xuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjMwcHg7XG4gICAgLndpZGdldC1saW5lIHtcbiAgICAgIC5hbHRlcm5hdGUtYmcoKTtcbiAgICAgICYuaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXb3JrZm9yY2UtU3VtbWFyeSAtIFNhbGFyaWVzLVN1bW1hcnlcbi5leHBhbmRhYmxlLWZpbHRlcmFibGUtd2lkZ2V0KCkge1xuICBoMy5sZWZ0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHsgbWFyZ2luLXRvcDogNjlweDsgfVxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBoMy5yZWR1Y2VkLWxlZnQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGgzLnJpZ2h0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucHJpY2Uge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDc1cHg7XG4gICAgLndpZGdldC1saW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cbiAgLnJpZ2h0LXBhbmVsIC5jaGFydC1jb250YWluZXIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXhzLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7IG1heC13aWR0aDogMzIwcHg7IH1cbiAgfVxufVxuXG4vLyBMZWFkcyBmdW5uZWwgLSBPcHBvcnR1bml0aWVzIGZ1bm5lbFxuLmZ1bm5lbC13aWRnZXQoKSB7XG4gIC50YWxsLXdpZGdldCgpO1xuICAuZnVubmVsLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIG1heC1oZWlnaHQ6IEBpbXBhYy1iaWctd2lkZ2V0LXNpemUgLSA2MHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG4gIC5yaWdodC1wYW5lbCB7XG4gICAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogQGltcGFjLWJpZy13aWRnZXQtc2l6ZSAtIDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAud2lkZ2V0LWxpbmUge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1jbGFzcy1jb21wYXJpc29uIHtcbiAgLnBhcmFtLXNlbGVjdG9yIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDk0cHg7XG4gICAgY29sb3I6ICM2MjZkNmQ7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWNvbXBhcmlzb24ge1xuICAudGFsbC13aWRnZXQoKTtcblxuICAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBAbWVkaWEgcHJpbnQgeyBtYXgtd2lkdGg6IDgwJSAhaW1wb3J0YW50OyB9XG4gIH1cblxuICAuYWRkLWFjY291bnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDBweDtcbiAgICBib3R0b206IDMwcHg7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIHNlbGVjdCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3I7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3IsMTAlKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3IsMTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAaW1wYWMtd2lkZ2V0LWxpbmstY29sb3IsMTAlKTtcbiAgICAgIH1cbiAgICAgIG9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbXBhYy13aWRnZXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yLDQwJSk7XG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICBjb2xvcjogQGltcGFjLXdpZGdldC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGJ1dHRvbi5jbG9zZSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG4gIC5sZWdlbmQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWF4LWhlaWdodDogMTAzcHg7XG4gIH1cbiAgLnJvdyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWF4LWhlaWdodDogQGltcGFjLXdpZGdldC1hY2NvdW50cy1jb21wYXJpc29uLWxpbmVzLWNvbnRhaW5lci1tYXgtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDY1cHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAuc2V0dGluZ3MucGFyYW1zLWNoZWNrYm94ZXMge1xuICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICB9XG5cbiAgLmNvbXBhcmFibGUtZXJyb3IgaDUge1xuICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgIGNvbG9yOiBAaW1wYWMtbmVnYXRpdmU7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWN1c3RvbS1jYWxjdWxhdGlvbiB7XG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiA4NXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAubGVnZW5kIHsgbWF4LWhlaWdodDogMTI1cHg7IH1cbn1cblxuLmFuYWx5dGljcy5tb2RhbC1jdXN0b20tY2FsY3VsYXRpb24ge1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xufVxuXG4uYW5hbHl0aWNzLm1vZGFsLWN1c3RvbS1jYWxjdWxhdGlvbiAubW9kYWwtYm9keSB7XG4gIC5lZGl0IHtcbiAgICAuZWRpdC1wYW5lbC1zdHlsZSgpO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtZGV0YWlsZWQtY2xhc3NpZmljYXRpb25zIHtcbiAgLnRhbGwtd2lkZ2V0KCk7XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAuc2Nyb2xsYWJsZShzY3JvbGwpO1xuICAgIG1heC1oZWlnaHQ6IDU0MHB4O1xuICB9XG5cbiAgLmFjY291bnQtY2xhc3MtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgfVxuXG4gIC50aW1lLXBlcmlvZC1pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC53aWRnZXQtbGluZS5oZWFkZXIuc29ydGluZyAge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICB9XG59XG5cblxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuYWNjb3VudHMtZXhwZW5zZS13ZWlnaHQge1xuICAubGVnZW5kIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC1oZWlnaHQ6IDExNXB4O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLWV4cGVuc2VzLXJldmVudWUge1xuICAubGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5zZXR0aW5ncy5wYXJhbXMtY2hlY2tib3hlcyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1wYXlhYmxlLXJlY2VpdmFibGUge1xuICBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5wYXlhYmxlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5wcmljZSB7XG4gICAgLmNlbnRlci1ib2xkKDBweCk7XG4gIH1cbn0iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5hY2NvdW50cy1wcm9maXQtYW5kLWxvc3Mge1xuICAuZHJpbGwtZG93bi13aWRnZXQoKTtcblxuICAucm93LmxpbmVzLWdyb3VwLnByb2ZpdCB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4O1xuICAgIGJvcmRlci1ib3R0b206IGRvdWJsZTtcbiAgfVxuXG4gIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjE1cHg7XG4gIH1cblxuICAucm93LndpZGdldC1saW5lLmhlYWRlciA+IFtjbGFzcyo9J2NvbC0nXSB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LmFjY291bnRzLXJhdGlvcyB7XG4gIFxuICAubGVmdC1wYW5lbCB7XG4gICAgbWF4LWhlaWdodDogMjMwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgXG5cbiAgICAuc2VwYXJhdG9yIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3I7XG4gICAgICB3aWR0aDogNzUlO1xuICAgIH1cbiAgICAubWVtYmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5tZW1iZXIgLnByaWNlIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gICAgYnV0dG9uIHsgb3V0bGluZTogbm9uZTsgfVxuICB9XG5cbiAgLmxlZnQtcGFuZWwuc2ltdWxhdGlvbiB7XG4gICAgLm1lbWJlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgLmxlZ2VuZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wcmljZSB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgfVxuICAgIC5zZXBhcmF0b3IgeyB3aWR0aDogMTAwJTsgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1lbXBsb3llZS1kZXRhaWxzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICAuZGV0YWlscy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgeyBtYXgtaGVpZ2h0OiAyMDBweDsgfVxuICAgIC5zY3JvbGxhYmxlKCk7XG4gIH1cbiAgLnJpZ2h0LXBhbmVsIHtcbiAgICAuZGV0YWlscy1jb250YWluZXIge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7IG1heC1oZWlnaHQ6IDIyMHB4OyB9XG4gICAgfVxuICAgIC5sZWdlbmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgfVxuICAudGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItZW1wbG95ZWVzLWxpc3Qge1xuICAubGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIH1cbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAud2lkZ2V0LWxpbmUge1xuICAgICAgLmFsdGVybmF0ZS1iZygpO1xuICAgIH1cbiAgfVxuICAuZWRpdCB7XG4gICAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn0iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1sZWF2ZXMtYmFsYW5jZXtcbiAgLmVtcGxveWVlLW5hbWUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuYmFsYW5jZSB7XG4gICAgLmNlbnRlci1ib2xkKDBweCk7XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IDMzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItbGVhdmVzLXNjaGVkdWxle1xuICAuZmMtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LWJ1dHRvbnMtY29sb3I7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6IEBpbXBhYy13aWRnZXQtYnV0dG9ucy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgLmZjLXRvb2xiYXIge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxuICAuZmMtZGF5LWdyaWQsLmZjLXdpZGdldC1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaHItcGF5cm9sbC1zdW1tYXJ5IHtcbiAgLmRyaWxsLWRvd24td2lkZ2V0KCk7XG4gIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiAxNDVweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0ge1xuICAuY29udGVudC5oci1zYWxhcmllcy1zdW1tYXJ5IHtcbiAgICAuZXhwYW5kYWJsZS1maWx0ZXJhYmxlLXdpZGdldCgpO1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci1zdXBlcmFubnVhdGlvbi1hY2NydWFscyB7XG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiA2M3B4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGVnZW5kIHtcbiAgICBtYXJnaW4tdG9wOiAyM3B4O1xuICB9XG4gIC5jdXJyZW5jeSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIC5wcmljZSB7XG4gICAgLmNlbnRlci1ib2xkKDBweCk7XG4gIH1cbn0iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5oci10aW1lc2hlZXRzIHtcbiAgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIxMHB4O1xuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gIHtcbiAgLmNvbnRlbnQuaHItd29ya2ZvcmNlLXN1bW1hcnkge1xuICAgIC5leHBhbmRhYmxlLWZpbHRlcmFibGUtd2lkZ2V0KCk7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWFnZWQtcGF5YWJsZXMtcmVjZWl2YWJsZXMge1xuICAuZHJpbGwtZG93bi13aWRnZXQoKTtcblxuICAucmlnaHQtcGFuZWwgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICB9XG5cbiAgLnJvdy5hc3Rlcmlja3MtaW5mbyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuXG4gIC5jdXJyZW5jeS1jb252ZXJzaW9ucyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50Lmludm9pY2VzLWxpc3Qge1xuICAuc2ltcGxlLWxpc3Qtd2lkZ2V0KCk7XG5cbiAgLmN1cnJlbmN5LWNvbnZlcnNpb25zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgfVxuXG4gIC5mYS5mYS1pbmZvLWNpcmNsZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIC5yaWdodC1jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuaW52b2ljZXMtc3VtbWFyeSB7XG4gIC5zaW1wbGUtc3VtbWFyeS13aWRnZXQoKTtcbn0iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1hZ2VkIHtcbiAgLnRhbGwtd2lkZ2V0KCk7XG5cbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIzOHB4O1xuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1icmVhay1ldmVuIHtcbiAgLnByaWNlIHtcbiAgICAuY2VudGVyLWJvbGQoMHB4KTtcbiAgfVxuICAuYmxvY2sge1xuICAgIG1hcmdpbjogNXB4O1xuICAgIHBhZGRpbmc6IDBweCAxMHB4IDVweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IC03cHggIzE3MjYyZDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9ybS5lZGl0YWJsZS13cmFwIC5lZGl0YWJsZS1jb250cm9scyBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuICAgICYudG8tZGF0ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXN1Yi1iZy1jb2xvcjtcbiAgICAgIGNvbG9yOiBAaW1wYWMtd2lkZ2V0LXRleHQtY29sb3I7XG4gICAgfVxuICAgICYudG8tYnJlYWtldmVuIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXNhbGVzLWJyZWFrLWV2ZW4tYmc7XG4gICAgICBjb2xvcjogQGltcGFjLXdpZGdldC1zYWxlcy1icmVhay1ldmVuLXRleHQtY29sb3I7XG4gICAgICAudGl0bGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggbGlnaHRlbihAaW1wYWMtd2lkZ2V0LXNhbGVzLWJyZWFrLWV2ZW4tYmcsIDEwJSk7XG4gICAgICB9XG4gICAgICAuZGVmaW5lLXRleHQge1xuICAgICAgICAuY2VudGVyLXRoaW4oKTtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtc2FsZXMtYnJlYWstZXZlbi10ZXh0LWNvbG9yO1xuICAgICAgfVxuICAgICAgLnByaWNlIHtcbiAgICAgICAgY29sb3I6IEBpbXBhYy13aWRnZXQtc2FsZXMtYnJlYWstZXZlbi10ZXh0LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggQGxpZ2h0Z3JheTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICB9XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY29tcGFyaXNvbiB7XG4gIC5kcmlsbC1kb3duLXdpZGdldCgpO1xuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNTMwcHg7XG4gIH1cbiAgLnJpZ2h0LXBhbmVsIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyNTBweDtcbiAgfVxuICAuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICAgIGltZyB7IG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY3ljbGUge1xuICAuc2ltcGxlLXN1bW1hcnktd2lkZ2V0KCk7XG59IiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtY3VzdG9tZXItZGV0YWlscyB7XG4gIC5sb2FkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuICBmb250LXNpemU6IDEycHg7XG4gIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgeyBtYXgtaGVpZ2h0OiAxOTRweDsgfVxuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG4gIC5yaWdodC1wYW5lbCB7XG4gICAgLmRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgeyBtYXgtaGVpZ2h0OiAyMzBweDsgfVxuICAgIH1cbiAgICAubGVnZW5kIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cbiAgLnJvdy50aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLmN1cnJlbmN5LWNvbnZlcnNpb25zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtZm9yZWNhc3Qge1xuICAudGFsbC13aWRnZXQoKTtcbiAgLndpZGdldC1saW5lcy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDI3NXB4O1xuICAgIC53aWRnZXQtbGluZS5tYWluIHtcbiAgICAgIC5zZWxlY3RhYmxlKCk7XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1ncm93dGgge1xuICAucHJpY2Uge1xuICAgIC5jZW50ZXItYm9sZCgwcHgpO1xuICB9XG4gIC5sZWdlbmQge1xuICAgIG1heC1oZWlnaHQ6IDQ5cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxlYWRzLWZ1bm5lbCB7XG4gIC5mdW5uZWwtd2lkZ2V0KCk7XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1sZWFkcy1saXN0IHtcbiAgLnNpbXBsZS1saXN0LXdpZGdldCgpO1xuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgLnNjcm9sbGFibGUoc2Nyb2xsKTtcbiAgfVxufSIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLWxpc3Qge1xuICAuc2ltcGxlLWxpc3Qtd2lkZ2V0KCk7XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICAuc2Nyb2xsYWJsZShzY3JvbGwpO1xuICAgIG1heC1oZWlnaHQ6IDE3MHB4O1xuICAgICYubm8tc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuICAuc2VsZWN0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgfVxuICAuY3VycmVuY3ktY29udmVyc2lvbnMge1xuICAgIGltZyB7IG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbmV0LXNhbGVzIHtcbiAgLnZhbHVlLWNvbnRhaW5lciwgLm9wZXJhdG9yIHtcbiAgICAvLyBmbG9hdDogbGVmdDtcbiAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDg1cHg7XG4gIH1cblxuICAvLyAudmFsdWUtY29udGFpbmVyIHtcbiAgLy8gICB3aWR0aDogMjYlO1xuICAvLyB9XG5cbiAgLnZhbHVlLWNvbnRhaW5lciAudGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgcGFkZGluZzogMTBweCAwcHg7XG4gIH1cblxuICAudmFsdWUtY29udGFpbmVyIC52YWx1ZS1ib3gge1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAvLyBib3JkZXI6IHNvbGlkIDFweCAjRTRFNEU0O1xuICAgIC8vIGJveC1zaGFkb3c6IDFweCAxcHggMXB4ICNDNUM1QzU7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNDNENBQ0E7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNDNENBQ0E7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5vcGVyYXRvciB7XG4gICAgLy8gQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7IHBhZGRpbmctdG9wOiAzOHB4OyB9XG4gICAgcGFkZGluZy10b3A6IDM4cHg7XG4gICAgLy8gd2lkdGg6IDEwJTtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICB9XG5cbiAgLnZhbHVlcyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7IG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtbmV3LXZzLWV4aXN0aW5nLWN1c3RvbWVycyB7XG5cbiAgLnNlbGVjdG9yIC5zZWxlY3Rvci13cmFwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuICAuY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG5cbiAgLmxlZ2VuZCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1heC1oZWlnaHQ6IDc3cHggIWltcG9ydGFudDtcblxuICAgIC5yb3cgeyBtYXJnaW46IDBweCAtNXB4OyAmPmRpdiB7IHBhZGRpbmc6IDBweCA1cHg7IH19XG5cbiAgICAudG90YWwge1xuICAgICAgY29sb3I6ICM1QjY2Njc7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy1udW1iZXItb2YtbGVhZHMge1xuICAuc3RhdHMge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIC5zdGF0IHtcbiAgICAgIG1hcmdpbjogMTVweCAwcHggMTBweCAwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggQGxpZ2h0Z3JheTtcbiAgICAgIHNwYW4udGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cbiAgICAgIHNwYW4ubm9taW5hbCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG4gICAgICBzcGFuLnZhcmlhdGlvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLW9wcG9ydHVuaXRpZXMtZnVubmVsIHtcbiAgLmZ1bm5lbC13aWRnZXQoKTtcbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXBlcmZvcm1hbmNlIHtcbiAgLmRyaWxsLWRvd24td2lkZ2V0KCk7XG4gIC5yaWdodC1wYW5lbCAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gIFx0IG1heC1oZWlnaHQ6IDIxNXB4O1xuICAgIC53aWRnZXQtbGluZS5oZWFkZXIge1xuICAgICAgLnNlbGVjdGFibGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbmFseXRpY3MgLndpZGdldC1pdGVtIC5jb250ZW50LnNhbGVzLXNlZ21lbnRlZC10dXJub3ZlciB7XG4gIGgzLnJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc2VsZWN0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLmFuYWx5c2lzIHtcbiAgICAuY2VudGVyLWJvbGQoMHB4KTtcbiAgfVxuICAud2lkZ2V0LWxpbmVzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNzVweDtcbiAgICAud2lkZ2V0LWxpbmUge1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgfVxuXG4gIC5yaWdodC1wYW5lbCB7XG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAxNXB4IDEwcHggNXB4IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmZhLmZhLWluZm8tY2lyY2xlIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgfVxufVxuIiwiLmFuYWx5dGljcyAud2lkZ2V0LWl0ZW0gLmNvbnRlbnQuc2FsZXMtc3VtbWFyeSB7XG4gIC5zaW1wbGUtc3VtbWFyeS13aWRnZXQoKTtcbiAgLnNlbGVjdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn0iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3AtY3VzdG9tZXJzIHtcbiAgLnNlbGVjdG9yIHtcbiAgICBib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4ICNFNkU2RTY7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICBhIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5wYXJhbS1zZWxlY3RvciB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB9XG4gIC53aWRnZXQtbGluZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMzVweDtcbiAgICAud2lkZ2V0LWxpbmUuc3ViLWxpbmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAaW1wYWMtd2lkZ2V0LXN1Yi1iZy1jb2xvcjsgfVxuXG4gICAgLy8gV2lsbCBhbGxvdyB0aGUgcGFyYW1zIHNlbGVjdG9ycyB0byBiZSBkaXNwbGF5ZWQgb24gdG9wIG9mIHRoZSBjb250YWluZXIgKHdpdGhvdXQgYmVpbmcgY3V0IG9uIHRoZSByaWdodClcbiAgICAucm93ID4gW2NsYXNzKj0nY29sLSddIHsgcG9zaXRpb246IHN0YXRpYzsgfVxuICB9XG4gIC5jdXJyZW5jeS1jb252ZXJzaW9ucyB7XG4gICAgaW1nIHsgbWFyZ2luLXRvcDogLTJweDsgfVxuICB9XG59XG4iLCIuYW5hbHl0aWNzIC53aWRnZXQtaXRlbSAuY29udGVudC5zYWxlcy10b3Atb3Bwb3J0dW5pdGllcyB7XG4gIC5vcHBzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMTk1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIC5zY3JvbGxhYmxlKCk7XG4gICAgLnRpbGUge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIC5jb2xvcmVkLWFyZWEge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIH1cbiAgICAgIC5tYWluLXRleHQge1xuICAgICAgICBjb2xvcjogQGltcGFjLXdpZGdldC10ZXh0LWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAzcHggMHB4IDBweCAxMHB4O1xuICAgICAgfVxuICAgICAgJi5maXJzdCB7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgLmNvbG9yZWQtYXJlYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDExMCwgNjUpO1xuICAgICAgICB9XG4gICAgICAgIC5tYWluLXRleHQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc2Vjb25kIHtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIC5jb2xvcmVkLWFyZWEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRlOWI2O1xuICAgICAgICB9XG4gICAgICAgIC5tYWluLXRleHQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0= */ diff --git a/dist/impac-angular.js b/dist/impac-angular.js index c310c30d..6abd71a8 100644 --- a/dist/impac-angular.js +++ b/dist/impac-angular.js @@ -1,6 +1,6 @@ /** * impac-angular - Impac! Front-End Library - * @version v1.6.7 + * @version v1.6.8 * @git git://github.com/maestrano/impac-angular.git * @license Copyright 2017 Maestrano Pty Ltd */ @@ -209,23 +209,47 @@ $templateCache.put("common/transactions-add.tmpl.html","
\n
\n
\n
impac.widget.common.top_buttons.delete.title
\n

impac.widget.common.top_buttons.delete.message

\n

impac.widget.common.top_buttons.delete.explanation

\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n"); $templateCache.put("common/transactions-list.tmpl.html","
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n
    \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ $ctrl.resourcesType == \'invoices\' ? \'Customer\' : \'Supplier\' }}CodeTitleStatusTransaction dateDue dateExpected payment dateAmountBalance\n
{{ trx.issuer.name }}{{ trx.transaction_number }}{{ trx.title }}{{ trx.status }}{{ trx.trxDateUTC }}{{ trx.dueDateUTC }}\n \n \n {{ trx.amount | mnoCurrency : trx.currency }}{{ trx.balance | mnoCurrency : trx.currency }}\n \n
TOTAL{{ $ctrl.totalAmount | mnoCurrency : $ctrl.currency }}{{ $ctrl.totalBalance | mnoCurrency : $ctrl.currency }}\n
\n
\n
\n"); $templateCache.put("dashboard-settings/currency.tmpl.html","
\n \n
\n"); +$templateCache.put("dashboard-settings/sync-apps.tmpl.html","\n
\n \n \n impac.components.sync_apps.syncing\n impac.components.sync_apps.show_sync_status\n \n\n
\n \n
\n\n
\n \n
\n\n \n\n
\n\n\n\n\n\n\n"); $templateCache.put("dashboard-settings/pdf-mode.tmpl.html","
\n
\n \n
\n\n
\n \n \n
\n
\n"); -$templateCache.put("dashboard-settings/sync-apps.tmpl.html","\n
\n\n \n \n impac.components.sync_apps.syncing\n impac.components.sync_apps.show_sync_status\n \n\n
\n \n
\n\n
\n \n
\n\n \n\n
\n\n\n\n\n\n\n"); +$templateCache.put("widgets-common/chart-threshold.tmpl.html","
\n
\n {{$ctrl.kpiCreateLabel}}: \n \n \n
\n
\n \n \n \n
\n
\n"); +$templateCache.put("widgets-common/currency-conversions.tmpl.html","\n \n\n\n\n\n"); +$templateCache.put("widgets-common/editable-title.tmpl.html","
\n {{ parentWidget.name }}\n
\n\n
\n {{ parentWidget.name }}\n
\n\n\n
\n {{ parentWidget.name }}\n
\n"); +$templateCache.put("widgets-common/info-panel.tmpl.html","
\n\n
\n \n \n {{\'impac.widget.info_panel.information\' | translate}} {{ getWidgetTemplateName() | titleize }}\n
\n\n
\n
\n\n
\n {{i.key}}\n
\n\n
\n {{i.value}}\n
\n\n
\n
\n\n
\n"); +$templateCache.put("widgets-common/time-period-info.tmpl.html","
\n {{date}}\n
\n"); +$templateCache.put("widgets-common/top-buttons.tmpl.html","
\n
\n\n \n\n \n\n \n\n \n
\n
\n"); +$templateCache.put("widgets-settings/account.tmpl.html","
{{label}}
\n
\n \n
\n
\n \n \n \n
\n impac.widget.settings.attach_kpis.kpi_target_require\n impac.widget.settings.attach_kpis.kpi_target_number\n
\n
\n
\n \n
\n
\n \n \n\n
\n
impac.widget.settings.attach_kpis.attached_alerts
\n
\n
{{\'impac.widget.settings.attach_kpis.keep\' | translate}} {{formatAttachedKpiTitle(kpi) | titleize}}
\n
\n \n
\n \n
\n
\n
\n
\n\n\n"); +$templateCache.put("widgets-settings/chart-filters.tmpl.html","
\n
impac.widget.settings.chart_filters.title
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n"); +$templateCache.put("widgets-settings/dates-picker.tmpl.html","\n
impac.widget.settings.dates_picker.title
\n \n\n"); +$templateCache.put("widgets-settings/hist-mode.tmpl.html","
\n
\n\n \n\n
\n
\n
\n
\n
\n"); +$templateCache.put("widgets-settings/limit-entries.tmpl.html","
\n {{ (entriesLabel ? \'impac.widget.settings.limit_entries.top\' : \'impac.widget.settings.limit_entries.display\') | translate }}\n\n \n {{ $index!=0 ? \' |\' : \'\' }} \n {{ option }}\n \n\n \n | \n {{ max }}\n \n\n {{entriesLabel || (\'impac.widget.settings.limit_entries.entries\' | translate)}}\n
"); +$templateCache.put("widgets-settings/offsets.tmpl.html","
\n
\n \n + {{ intervalsCount }} {{ periodWord }}{{ intervalsCount > 1 ? \'s\' : \'\' }} x {{ offsetValue | mnoCurrency : currency}}\n
\n\n
\n \n \n
\n
\n"); +$templateCache.put("widgets-settings/organizations.tmpl.html","
\n
impac.widget.settings.organizations.select_companies
\n\n
\n
\n {{org.label}}\n \n
\n
\n
\n"); +$templateCache.put("widgets-settings/param-selector-classic.tmpl.html","\n \n\n"); +$templateCache.put("widgets-settings/param-selector.tmpl.html","\n {{((selected.labelTranslate | translate | titleize) || (selected.label | titleize)) | truncate : getTruncateValue() : \"...\" : false}} \n
\n
\n {{(option.labelTranslate | translate | titleize) || (option.label | titleize)}}\n
\n
\n
\n"); +$templateCache.put("widgets-settings/params-checkboxes.tmpl.html","
\n \n
\n"); +$templateCache.put("widgets-settings/params-picker.tmpl.html","
{{formattedParam | titleize}}
\n
\n
{{description}}
\n
\n \n {{$index + 1}}\n {{parameter.label | titleize}}\n \n \n
\n
\n \n
\n
\n"); +$templateCache.put("widgets-settings/tag-filter.tmpl.html","
impac.widget.settings.tag-filter.filter_title
\n
\n\n
\n
\n
\n 0\" translate>impac.widget.settings.tag-filter.add_filter\n AND\n
\n
\n \n \n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n
\n"); +$templateCache.put("widgets-settings/time-period.tmpl.html","
impac.widget.settings.time_period.title
\n
\n\n \n
\n
\n impac.widget.settings.time_period.time_range\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n\n \n
\n
\n impac.widget.settings.time_period.chart_interval\n \n
\n"); +$templateCache.put("widgets-settings/time-slider.tmpl.html","
\n
\n
\n
\n {{fromDate() | momentDate : \'time-slider\'}} - {{toDate() | momentDate : \'time-slider\'}}\n
\n
\n \n
\n
\n
\n"); +$templateCache.put("widgets-settings/width.tmpl.html","\n\n"); $templateCache.put("widgets/accounts-accounting-values.tmpl.html","
\n\n
\n

impac.widget.accounting_values.turnover.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n\n
\n
\n {{ getCurrentPrice() | mnoCurrency : currency_unit : false }}\n
\n
{{currency}}
\n
{{legend}}
\n
\n\n
\n
\n
{{legend}}
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/accounts-assets-liability-summary.tmpl.html","
\n
\n

impac.widget.acc_ass_liab_smry.settings.title

\n\n
\n\n
\n \n \n
\n
\n\n
\n
\n \n
\n \n
\n
\n
{{widget.content.summary[0].company}} {{classification}}
\n
{{classification}} repartition
\n \n {{valuePair.label}}: {{valuePair.total | mnoCurrency : getCurrency()}}\n
\n
\n
\n
\n
\n
\n
\n"); $templateCache.put("widgets/accounts-assets-summary.tmpl.html","
\n\n
\n

impac.widget.acc_ass_smry.settings.title

\n\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n
\n
{{widget.content.summary[0].company}} {{classification}}
\n
{{classification}} repartition
\n \n {{valuePair.label}}: {{valuePair.total | mnoCurrency : getCurrency()}}\n
\n
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/accounts-assets-vs-liabilities.tmpl.html","
\n\n
\n

impac.widget.acc_ass_vs_liab.settings.title

\n\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n
\n
\n |\n \n
\n
\n
1), \'col-md-12\': (widget.content.companies.length == 1)}\">\n {{ data.company }}
\n {{ data.assets | mnoCurrency : data.currency }}
\n {{ data.liabilities | mnoCurrency : data.currency }}\n
\n
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/accounts-balance.tmpl.html","
\n\n
\n

impac.widget.account_balance.settings.title

\n\n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n \n
\n\n \n
\n
\n\n
\n

{{getName()}}

\n
\n {{ getCurrentBalance() | mnoCurrency : getCurrency() : false }}\n
\n
{{getCurrency()}}
\n
\n\n
\n
\n
{{getName()}}
\n
\n
\n\n
\n
\n\n
\n"); -$templateCache.put("widgets/accounts-balance-sheet.tmpl.html","
\n\n
\n

impac.widget.account_balance_sheets.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n {{\'impac.widget.account_balance_sheets.accounts\' | translate}}\n \n
\n
\n
\n
\n {{\'impac.widget.account_balance_sheets.balance\' | translate}}\n \n
\n
\n {{\'impac.widget.account_balance_sheets.balance\' | translate}}\n \n
\n
\n
\n
\n
\n\n
\n \n
\n
\n\n \n
\n
\n \n
\n
\n {{category.label}}\n
\n
\n {{widget.content.summary[category.key].totals[1] | mnoCurrency : widget.content.summary[category.key].currency}}\n
\n
\n {{widget.content.summary[category.key].totals[0] | mnoCurrency : widget.content.summary[category.key].currency}}\n
\n
\n\n \n
\n
\n
\n
\n {{account.name | titleize}}\n
\n
\n {{account.totals[1] | mnoCurrency : account.currency}}\n
\n
\n {{account.totals[0] | mnoCurrency : account.currency}}\n
\n
\n
\n
\n
\n
\n
\n
\n impac.widget.settings.tag-filter.report_filtered\n
\n
\n
\n\n
\n
\n
\n"); $templateCache.put("widgets/accounts-cash-balance.tmpl.html","\n
\n \n
\n

Widget settings

\n\n
\n\n \n
\n \n \n
\n
\n\n \n
\n \n
\n
\n
\n
\n

\n
\n \n
\n \n
 \n \n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n"); +$templateCache.put("widgets/accounts-balance-sheet.tmpl.html","
\n\n
\n

impac.widget.account_balance_sheets.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n {{\'impac.widget.account_balance_sheets.accounts\' | translate}}\n \n
\n
\n
\n
\n {{\'impac.widget.account_balance_sheets.balance\' | translate}}\n \n
\n
\n {{\'impac.widget.account_balance_sheets.balance\' | translate}}\n \n
\n
\n
\n
\n
\n\n
\n \n
\n
\n\n \n
\n
\n \n
\n
\n {{category.label}}\n
\n
\n {{widget.content.summary[category.key].totals[1] | mnoCurrency : widget.content.summary[category.key].currency}}\n
\n
\n {{widget.content.summary[category.key].totals[0] | mnoCurrency : widget.content.summary[category.key].currency}}\n
\n
\n\n \n
\n
\n
\n
\n {{account.name | titleize}}\n
\n
\n {{account.totals[1] | mnoCurrency : account.currency}}\n
\n
\n {{account.totals[0] | mnoCurrency : account.currency}}\n
\n
\n
\n
\n
\n
\n
\n
\n impac.widget.settings.tag-filter.report_filtered\n
\n
\n
\n\n
\n
\n
\n"); $templateCache.put("widgets/accounts-cash-projection.tmpl.html","
\n \n
\n

Widget settings

\n\n
\n\n
\n \n \n
\n
\n\n \n
\n \n\n
\n \n\n \n
\n\n \n
\n \n \n
\n
\n\n
\n
\n\n \n
\n"); $templateCache.put("widgets/accounts-cash-summary.tmpl.html","
\n\n
\n

impac.widget.account_cash_smry.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n
\n\n
\n\n
\n \n
\n
\n {{ impac.widget.account_cash_smry.cash_flow | translate }}\n \n
\n
\n {{getLastDate() | momentDate : widget.metadata.hist_parameters.period}}\n \n
\n
\n {{\'impac.widget.account_cash_smry.vs\' | translate}}{{getPrevDate() | momentDate : widget.metadata.hist_parameters.period}}\n \n
\n
\n\n \n
0}\" >\n
\n\n \n
\n
\n \n
\n
\n {{statement.label | titleize}}\n
\n
\n {{getLastValue(statement) | mnoCurrency : statement.currency : false}}\n
\n
\n {{getLastVariance(statement)}}\n
\n\n
\n
\n\n \n
\n
\n
\n
\n {{account.name}}\n
\n
\n {{getLastValue(account) | mnoCurrency : account.currency : false }}\n
\n
\n {{getLastVariance(account)}}\n
\n\n
\n
\n
\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n

{{(selectedElement.label | titleize) || selectedElement.name}}

\n\n
\n
\n
{{::widget.metadata.hist_parameters.period_translation}}
\n
\n\n
\n\n \n
\n \n \n
0\" class=\"clearfix dashed\">
\n\n
\n \n
\n
\n {{date | momentDate : widget.metadata.hist_parameters.period}}\n
\n
\n \n
\n
\n {{selectedElement.cash_flows[$index] | mnoCurrency : selectedElement.currency }}\n
\n
\n \n
\n
\n {{formatVariance(selectedElement.variances[$index])}}\n
\n
\n
\n
\n
\n\n \n
\n \n
\n {{date | momentDate : widget.metadata.hist_parameters.period}}\n
\n \n
\n {{selectedElement.cash_flows[$index] | mnoCurrency : selectedElement.currency }}\n
\n \n
\n {{formatVariance(selectedElement.variances[$index])}}\n
\n
\n\n
\n
\n\n
\n impac.widget.account_cash_smry.select.description\n
\n
\n\n
\n\n
\n
\n\n
\n"); -$templateCache.put("widgets/accounts-comparison.tmpl.html","
\n
\n\n
\n

impac.widget.account_comp.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n \n
1 && canSelectComparisonMode || isComparisonMode()\">\n
\n
\n \n
\n
\n
impac.widget.account_comp.account.select
\n
\n
\n
\n \n
\n
\n
\n \n
\n
impac.widget.account_comp.account.not_found
\n
\n\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n\n \n
\n
\n
\n \n
\n
\n {{groupedAccount.name}}\n
\n
\n {{formatAmount(groupedAccount)}}\n
\n
\n \n
\n
\n
\n\n \n
\n \n
\n
\n {{account.name}}\n
\n
\n {{formatAmount(account)}}\n
\n
\n \n
\n\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/accounts-class-comparison.tmpl.html","
\n\n
\n

impac.widget.account_class_comp.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n {{entity}}\n
\n
\n {{getAmount($index)}}\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n"); -$templateCache.put("widgets/accounts-detailed-classifications.tmpl.html","
\n\n
\n

impac.widget.account_det_class.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n\n \n
\n
\n\n
\n\n
\n
\n
\n
\n\n \n
\n
\n {{\'impac.widget.account_det_class.account_classifications\' | translate}}\n \n
\n\n
\n {{\'impac.widget.account_det_class.amounts\' | translate}}\n \n
\n
\n\n \n
\n
\n\n \n
\n
\n \n
\n
\n {{source.label | titleize}}\n
\n
\n {{source.value | mnoCurrency : source.currency}}\n
\n
\n\n \n
\n
\n
\n
\n {{entry.label | titleize}}\n
\n
\n {{entry.value | mnoCurrency : entry.currency}}\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n"); -$templateCache.put("widgets/accounts-expense-weight.tmpl.html","
\n\n
\n

impac.widget.account_expense_weight.settings.title

\n\n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n \n
\n\n
\n
\n\n
\n
\n
\n\n
\n
\n {{getName()}} to {{getComparator() | titleize}}\n
{{widget.content.summary[0].ratio | mnoCurrency : \'%\'}}
\n
\n 1\">\n {{sum.company}}: {{sum.ratio | mnoCurrency : \'%\'}}\n
\n
\n
\n
\n \n
\n
\n\n
\n"); +$templateCache.put("widgets/accounts-comparison.tmpl.html","
\n
\n\n
\n

impac.widget.account_comp.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n \n
1 && canSelectComparisonMode || isComparisonMode()\">\n
\n
\n \n
\n
\n
impac.widget.account_comp.account.select
\n
\n
\n
\n \n
\n
\n
\n \n
\n
impac.widget.account_comp.account.not_found
\n
\n\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n\n \n
\n
\n
\n \n
\n
\n {{groupedAccount.name}}\n
\n
\n {{formatAmount(groupedAccount)}}\n
\n
\n \n
\n
\n
\n\n \n
\n \n
\n
\n {{account.name}}\n
\n
\n {{formatAmount(account)}}\n
\n
\n \n
\n\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/accounts-custom-calculation.tmpl.html","
\n\n
\n
\n
\n\n

\n impac.widget.account_cust_calc.title\n

\n\n \n
\n
\n\n
\n
\n {{widget.evaluatedFormulaTranslate}}\n
\n
\n {{widget.legend}}\n
\n
\n\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n"); $templateCache.put("widgets/accounts-custom-calculation/formula.modal.html","
\n
\n
×
\n

impac.widget.account_cust_calc.formula.title

\n
\n\n
\n
\n
\n
\n \n
    \n
  • {{error}}
  • \n
\n
\n
\n
\n\n
\n
\n
\n
\n\n

\n\n
\n
\n
\n \n

impac.widget.account_cust_calc.formula.data_retrieved

\n
\n
\n\n
\n
\n
\n
\n {{$index+1}} - {{account.name}}\n
\n
\n {{account.current_balance | mnoCurrency : account.currency}}\n \n
\n
\n
\n\n
\n \n
\n
\n\n
\n

impac.widget.account_cust_calc.formula.type_here

\n \n\n

\n

\n
\n
\n
\n\n
\n
\n
\n \n \n
\n\n
\n
\n
\n"); +$templateCache.put("widgets/accounts-detailed-classifications.tmpl.html","
\n\n
\n

impac.widget.account_det_class.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n\n \n
\n
\n\n
\n\n
\n
\n
\n
\n\n \n
\n
\n {{\'impac.widget.account_det_class.account_classifications\' | translate}}\n \n
\n\n
\n {{\'impac.widget.account_det_class.amounts\' | translate}}\n \n
\n
\n\n \n
\n
\n\n \n
\n
\n \n
\n
\n {{source.label | titleize}}\n
\n
\n {{source.value | mnoCurrency : source.currency}}\n
\n
\n\n \n
\n
\n
\n
\n {{entry.label | titleize}}\n
\n
\n {{entry.value | mnoCurrency : entry.currency}}\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n"); +$templateCache.put("widgets/accounts-expense-weight.tmpl.html","
\n\n
\n

impac.widget.account_expense_weight.settings.title

\n\n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n \n
\n\n
\n
\n\n
\n
\n
\n\n
\n
\n {{getName()}} to {{getComparator() | titleize}}\n
{{widget.content.summary[0].ratio | mnoCurrency : \'%\'}}
\n
\n 1\">\n {{sum.company}}: {{sum.ratio | mnoCurrency : \'%\'}}\n
\n
\n
\n
\n \n
\n
\n\n
\n"); $templateCache.put("widgets/accounts-expenses-revenue.tmpl.html","
\n\n
\n

impac.widget.accounts_expenses_revenue.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n\n
\n
\n
\n\n
\n \n impac.widget.accounts_expenses_revenue.expenses -\n impac.widget.accounts_expenses_revenue.revenue\n \n \n impac.widget.accounts_expenses_revenue.net_profit\n \n
\n\n
\n\n
\n {{\'impac.widget.accounts_expenses_revenue.expenses\' | translate}}: {{getCurrentExpenses() | mnoCurrency : getCurrency()}}\n
\n {{\'impac.widget.accounts_expenses_revenue.revenue\' | translate}}: {{getCurrentRevenue() | mnoCurrency : getCurrency()}}\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/accounts-payable-receivable.tmpl.html","
\n\n
\n

impac.widget.accounts_payable_receivable.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n\n
\n
\n

impac.widget.accounts_payable_receivable.receivables.title

\n
\n {{getCurrentReceivable() | mnoCurrency : getCurrency() : false}}\n
\n
{{getCurrency()}}
\n
\n\n
\n

impac.widget.accounts_payable_receivable.payables.title

\n
\n {{getCurrentPayable() | mnoCurrency : getCurrency() : false}}\n
\n
{{getCurrency()}}
\n
\n
\n\n
\n
\n
\n impac.widget.accounts_payable_receivable.payable -\n impac.widget.accounts_payable_receivable.receivable\n
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/accounts-profit-and-loss.tmpl.html","
\n\n
\n

impac.widget.accounts_profit_and_loss.settings.title

\n\n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n
\n\n
\n\n
\n \n
\n
\n \n
\n
\n\n \n
\n
\n {{\'impac.widget.accounts_profit_and_loss.accounts\' | translate}}\n \n
\n
\n {{\'impac.widget.accounts_profit_and_loss.prof_loss\' | translate}}\n \n
\n
\n\n \n
0}\">\n
\n\n \n
\n
\n \n
\n
\n {{getName(statement) | titleize}}\n
\n
\n {{getAmount(statement) | mnoCurrency : statement.currency}}\n
\n\n
\n
\n\n \n
\n
\n
\n
\n {{account.name}}\n
\n
\n {{getAmount(account) | mnoCurrency : account.currency}}\n
\n\n
\n
\n
\n
\n\n
\n
\n\n
\n
\n impac.widget.settings.tag-filter.report_filtered\n
\n
\n\n
\n\n
\n\n
\n\n
\n

{{::period_translation}} {{\'impac.widget.accounts_profit_and_loss.prof_and_loss\' | translate}}

\n
{{getName(selectedElements[0]) | titleize}}
\n\n
\n
\n
\n\n
\n\n \n
\n \n \n
0\" class=\"clearfix dashed\">
\n\n
\n \n
\n
\n {{date | momentDate : widget.metadata.hist_parameters.period}}\n
\n
\n \n
\n
\n {{selectedElements[0].totals[$index] | mnoCurrency : selectedElements[0].currency}}\n
\n
\n
\n
\n
\n\n \n
\n \n
\n {{date | momentDate : widget.metadata.hist_parameters.period}}\n
\n \n
\n {{selectedElements[0].totals[$index] | mnoCurrency : selectedElements[0].currency}}\n
\n
\n
\n\n
\n
\n
\n \n {{getName(element) | titleize}}\n
\n
\n \n {{getAmount(element) | mnoCurrency : element.currency}}\n \n
\n
\n
\n
\n\n
\n impac.widget.accounts_profit_and_loss.no_elements_selected\n
\n
\n\n
\n\n
\n
\n\n
\n"); @@ -247,8 +271,8 @@ $templateCache.put("widgets/invoices-summary.tmpl.html","
\n\n
\n

impac.widget.sales_aged.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n
\n
{{\'impac.widget.sales_aged.from\' | translate}} {{widget.content.dates[0] | momentDate : widget.metadata.hist_parameters.period}} {{\'impac.widget.sales_aged.to\' | translate}} {{getLastDate() | momentDate : widget.metadata.hist_parameters.period}}
\n\n
\n\n \n
\n \n \n
0\" class=\"clearfix dashed\">
\n\n
\n \n
\n
\n {{date}}\n
\n
\n \n
\n
\n {{getTotal($index) | mnoCurrency : widget.content.currency}}\n
\n
\n {{getTotal($index)}}\n
\n
\n
\n
\n
\n\n \n
\n \n
\n {{date}}\n
\n \n
\n {{getTotal($index) | mnoCurrency : widget.content.currency}}\n
\n
\n {{getTotal($index)}}\n
\n
\n\n
\n\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/sales-break-even.tmpl.html","
\n\n
\n

impac.widget.sales_break_even.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
{{\'impac.widget.sales_break_even.from\' | translate}} {{widget.content.period.from | momentDate : \"sales/break_even\"}} {{\'impac.widget.sales_break_even.to\' | translate}} {{widget.content.period.to | momentDate : \"sales/break_even\"}}
\n\n
\n
impac.widget.sales_break_even.title.sales
\n
{{widget.content.sales.to_date | mnoCurrency : widget.content.currency : false}}
\n {{\'impac.widget.sales_break_even.target\' | translate}}: \n {{threshold | mnoCurrency : widget.content.currency : false}}\n \n
\n\n
\n
impac.widget.sales_break_even.title.projection
\n impac.widget.sales_break_even.your_sales\n
{{getVariance() | mnoCurrency : widget.content.currency : false}}
\n \n {{\'impac.widget.sales_break_even.projected_date\' | translate}} {{getProjectedDate() | date : \'d-MM-yy\'}}\n
\n {{\'impac.widget.sales_break_even.opportunities_to_close\' | translate}} {{getOpportunitiesToClose()}}\n
\n
\n
{{widget.content.break_even.eligible_opportunities}} {{\'impac.widget.sales_break_even.eligible_opportunities\' | translate}}
\n\n
\n \n
{{\'impac.widget.sales_break_even.click_to_define\' | translate}}
\n
\n
\n\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/sales-comparison.tmpl.html","
\n\n
\n

impac.widget.sales_comparison.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n
\n
\n\n
\n {{\'impac.widget.sales_comparison.legend.compare_by\' | translate}}
\n |\n {{\'impac.widget.sales_comparison.legend.see\' | translate}}
\n
\n\n
\n\n
\n
\n {{\'impac.widget.sales_comparison.total_sales_from\' | translate}} {{widget.content.dates[0] | momentDate : widget.metadata.hist_parameters.period}} {{\'impac.widget.sales_comparison.to\' | translate}} {{getLastDate() | momentDate : widget.metadata.hist_parameters.period}}\n \n
\n
\n {{\'impac.widget.sales_comparison.total\' | translate}}\n \n
\n
\n\n
\n
\n\n
\n
\n \n
\n
\n {{statement.name | titleize}}\n
\n
\n {{getTotalForPeriod(statement)}}\n
\n
\n {{getTotalForPeriod(statement) | mnoCurrency : statement.currency}}\n
\n\n
\n
\n\n
\n
\n
\n
\n {{sale.name}}\n
\n
\n {{getTotalForPeriod(sale)}}\n
\n
\n \n {{getTotalForPeriod(sale) | mnoCurrency : sale.currency}}\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n\n
\n
\n
\n
\n\n
\n\n
\n
\n {{\'impac.widget.sales_comparison.total_sales_from\' | translate}} {{widget.content.dates[0] | momentDate : widget.metadata.hist_parameters.period}} {{\'impac.widget.sales_comparison.to\' | translate}} {{getLastDate() | momentDate : widget.metadata.hist_parameters.period}}\n
\n
\n\n
\n
\n \n
\n
\n {{element.name | titleize}}\n
\n
\n {{getTotalForPeriod(element)}}\n {{getTotalForPeriod(element) | mnoCurrency : element.currency}}\n
\n
\n
\n
\n\n
impac.widget.sales_comparison.select_sales_category
\n\n
\n\n
\n\n
\n
\n\n
\n"); -$templateCache.put("widgets/sales-customer-details.tmpl.html","
\n\n
\n

impac.widget.sales_customer_details.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n
\n
\n
{{selectedCustomer.email || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.phone || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.website || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.contact || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.city || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.country || \'-\'}}
\n
\n
\n
\n\n
\n
\n
\n
\n
{{formatAddress(selectedCustomer.full_address) || \'-\'}}
\n
\n
\n
{{\'impac.widget.sales_customer_details.from\' | translate}} {{getFromDate() | date : \'d MMM yyyy\'}} {{\'impac.widget.sales_customer_details.to\' | translate}} {{getToDate() | date : \'d MMM yyyy\'}}:
\n
\n
\n
\n
\n \n
{{selectedCustomer.total_invoiced | mnoCurrency : selectedCustomer.currency}}
\n
\n
\n
\n
\n
\n \n
{{selectedCustomer.total_paid | mnoCurrency : selectedCustomer.currency}}
\n
\n
\n
\n
\n
\n \n
{{selectedCustomer.total_due | mnoCurrency : selectedCustomer.currency}}
\n
\n
\n
\n
\n\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/sales-cycle.tmpl.html","
\n\n
\n

impac.widget.sales_cycle.settings.title

\n\n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n
\n impac.widget.sales_cycle.your_sales_cycle\n
\n
\n\n
\n
\n\n
\n"); +$templateCache.put("widgets/sales-customer-details.tmpl.html","
\n\n
\n

impac.widget.sales_customer_details.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n
\n
\n
{{selectedCustomer.email || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.phone || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.website || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.contact || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.city || \'-\'}}
\n
\n
\n
\n
{{selectedCustomer.country || \'-\'}}
\n
\n
\n
\n\n
\n
\n
\n
\n
{{formatAddress(selectedCustomer.full_address) || \'-\'}}
\n
\n
\n
{{\'impac.widget.sales_customer_details.from\' | translate}} {{getFromDate() | date : \'d MMM yyyy\'}} {{\'impac.widget.sales_customer_details.to\' | translate}} {{getToDate() | date : \'d MMM yyyy\'}}:
\n
\n
\n
\n
\n \n
{{selectedCustomer.total_invoiced | mnoCurrency : selectedCustomer.currency}}
\n
\n
\n
\n
\n
\n \n
{{selectedCustomer.total_paid | mnoCurrency : selectedCustomer.currency}}
\n
\n
\n
\n
\n
\n \n
{{selectedCustomer.total_due | mnoCurrency : selectedCustomer.currency}}
\n
\n
\n
\n
\n\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/sales-forecast.tmpl.html","
\n\n
\n

impac.widget.sales_forecast.settings.title

\n\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n\n
\n
impac.widget.sales_forecast.projection_on
\n
\n\n
\n
\n\n
0}\" ng-click=\"collapsed = !collapsed\" >\n
\n {{date | momentDate : widget.metadata.hist_parameters.period}}\n
\n
\n {{widget.content.totals.slice(6)[$index] | mnoCurrency : widget.content.currency}}\n
\n
\n\n
\n
\n
\n
\n {{opp.name}}\n
\n
\n {{getOpportunityAmount(opp) | mnoCurrency : getOpportunityCurrency(opp)}}\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/sales-growth.tmpl.html","
\n\n
\n

impac.widget.sales_growth.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
{{getSelectedProduct().displayName}}
\n
{{getCurrentValue() | mnoCurrency : getSelectedProduct().currency}}
\n
{{getCurrentValue()}}
\n\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/sales-leads-funnel.tmpl.html","
\n\n
\n

impac.widget.sales_leads_funnel.settings.title

\n\n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
\n
\n\n
{{\'impac.widget.sales_leads_funnel.legend.your_leads\' | translate}} {{widget.content.from | momentDate : \"sales/leads_funnel\"}} {{\'impac.widget.sales_leads_funnel.legend.to\' | translate}} {{widget.content.to | momentDate : \"sales/leads_funnel\"}}
\n\n
\n
\n
{{elem.number}}
\n
{{elem.status | titleize}}
\n
\n
\n
\n\n
\n\n
impac.widget.sales_leads_funnel.select_a_status
\n\n
\n\n
\n
\n {{lead.first_name | titleize}} {{lead.last_name | titleize}}\n ({{lead.organization}})\n
\n
\n {{lead.lead_status | titleize}}\n
\n
\n
\n
\n\n
\n\n
\n
\n\n
\n"); @@ -263,31 +287,7 @@ $templateCache.put("widgets/sales-performance.tmpl.html","
\n\n
\n

impac.widget.sales_turnover.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n
\n
\n\n
{{\'impac.widget.sales_turnover.filter\' | translate}}
\n
\n
\n
\n\n
\n\n
\n
impac.widget.sales_turnover.average_price
\n
\n\n
\n
\n \n
\n
\n {{getRangeLabel(range.label)}}\n
\n
\n {{range.percentage}}%\n
\n
\n
\n\n
\n\n
\n \n

{{getMaxRange().percentage.toFixed()}}% {{\'impac.widget.sales_turnover.of_your_revenue\' | translate}} {{getMaxRange().label.split(\'-\')[0] | mnoCurrency : widget.content.currency}} {{\'impac.widget.sales_turnover.and\' | translate}} {{getMaxRange().label.split(\'-\')[1] | mnoCurrency : widget.content.currency}}.

\n
{{::analysisTranslate}}
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/sales-summary.tmpl.html","
\n\n
\n

impac.widget.sales_summary.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n \n \n
\n\n
\n
\n
\n\n
\n
\n\n
\n"); $templateCache.put("widgets/sales-top-customers.tmpl.html","
\n
\n

impac.widget.sales_top_customers.settings.title

\n\n
\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n \n\n \n
\n
\n #\n
\n
impac.widget.sales_top_customers.customer_name
\n
\n
\n
\n
\n\n \n
\n
\n\n
\n
\n {{$index + 1}}\n
\n
\n {{entity.name}}\n
\n
\n \n \n {{ getHeaderField().getValue(entity) | mnoCurrency : entity.currency }}\n \n \n {{ getHeaderField().getValue(entity) }}\n \n
\n
\n\n
\n
\n \n {{field.label}}: {{field.getValue(entity) | mnoCurrency : entity.currency}}\n \n \n {{field.label}}: {{field.getValue(entity)}}\n
\n
\n\n
\n
\n\n
\n
\n\n
\n"); -$templateCache.put("widgets/sales-top-opportunities.tmpl.html","
\n\n
\n

impac.widget.sales_opportunities.settings.title

\n\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
\n {{\'impac.widget.sales_opportunities.total_potential\' | translate}} {{widget.content.total_potential | mnoCurrency : widget.content.currency || \"AUD\"}} - {{widget.content.eligible_opportunities}} {{\'impac.widget.sales_opportunities.eligible_opportunities\' | translate}}\n
\n\n
\n
\n
{{$index +1 }}
\n
\n {{opp.name | titleize}}\n
\n {{getOppDetails(opp)}}\n
\n
\n
\n\n
\n\n
\n
\n\n
\n"); -$templateCache.put("widgets-common/chart-threshold.tmpl.html","
\n
\n {{$ctrl.kpiCreateLabel}}: \n \n \n
\n
\n \n \n \n
\n
\n"); -$templateCache.put("widgets-common/currency-conversions.tmpl.html","\n \n\n\n\n\n"); -$templateCache.put("widgets-common/editable-title.tmpl.html","
\n {{ parentWidget.name }}\n
\n\n
\n {{ parentWidget.name }}\n
\n\n\n
\n {{ parentWidget.name }}\n
\n"); -$templateCache.put("widgets-common/info-panel.tmpl.html","
\n\n
\n \n \n {{\'impac.widget.info_panel.information\' | translate}} {{ getWidgetTemplateName() | titleize }}\n
\n\n
\n
\n\n
\n {{i.key}}\n
\n\n
\n {{i.value}}\n
\n\n
\n
\n\n
\n"); -$templateCache.put("widgets-common/time-period-info.tmpl.html","
\n {{date}}\n
\n"); -$templateCache.put("widgets-common/top-buttons.tmpl.html","
\n
\n\n \n\n \n\n \n\n \n
\n
\n"); -$templateCache.put("widgets-settings/account.tmpl.html","
{{label}}
\n
\n \n
\n
\n \n \n \n
\n impac.widget.settings.attach_kpis.kpi_target_require\n impac.widget.settings.attach_kpis.kpi_target_number\n
\n
\n
\n \n
\n
\n \n
\n\n
\n
impac.widget.settings.attach_kpis.attached_alerts
\n
\n
{{\'impac.widget.settings.attach_kpis.keep\' | translate}} {{formatAttachedKpiTitle(kpi) | titleize}}
\n
\n \n
\n \n
\n
\n
\n
\n\n
\n"); -$templateCache.put("widgets-settings/chart-filters.tmpl.html","
\n
impac.widget.settings.chart_filters.title
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n"); -$templateCache.put("widgets-settings/dates-picker.tmpl.html","\n
impac.widget.settings.dates_picker.title
\n \n\n"); -$templateCache.put("widgets-settings/hist-mode.tmpl.html","
\n
\n\n \n\n
\n
\n
\n
\n
\n"); -$templateCache.put("widgets-settings/limit-entries.tmpl.html","
\n {{ (entriesLabel ? \'impac.widget.settings.limit_entries.top\' : \'impac.widget.settings.limit_entries.display\') | translate }}\n\n \n {{ $index!=0 ? \' |\' : \'\' }} \n {{ option }}\n \n\n \n | \n {{ max }}\n \n\n {{entriesLabel || (\'impac.widget.settings.limit_entries.entries\' | translate)}}\n
"); -$templateCache.put("widgets-settings/offsets.tmpl.html","
\n
\n \n + {{ intervalsCount }} {{ periodWord }}{{ intervalsCount > 1 ? \'s\' : \'\' }} x {{ offsetValue | mnoCurrency : currency}}\n
\n\n
\n \n \n
\n
\n"); -$templateCache.put("widgets-settings/organizations.tmpl.html","
\n
impac.widget.settings.organizations.select_companies
\n\n
\n
\n {{org.label}}\n \n
\n
\n
\n"); -$templateCache.put("widgets-settings/param-selector-classic.tmpl.html","\n \n\n"); -$templateCache.put("widgets-settings/param-selector.tmpl.html","\n {{((selected.labelTranslate | translate | titleize) || (selected.label | titleize)) | truncate : getTruncateValue() : \"...\" : false}} \n
\n
\n {{(option.labelTranslate | translate | titleize) || (option.label | titleize)}}\n
\n
\n
\n"); -$templateCache.put("widgets-settings/params-checkboxes.tmpl.html","
\n \n
\n"); -$templateCache.put("widgets-settings/params-picker.tmpl.html","
{{formattedParam | titleize}}
\n
\n
{{description}}
\n
\n \n {{$index + 1}}\n {{parameter.label | titleize}}\n \n \n
\n
\n \n
\n
\n"); -$templateCache.put("widgets-settings/tag-filter.tmpl.html","
impac.widget.settings.tag-filter.filter_title
\n
\n\n
\n
\n
\n 0\" translate>impac.widget.settings.tag-filter.add_filter\n AND\n
\n
\n \n \n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n
\n"); -$templateCache.put("widgets-settings/time-period.tmpl.html","
impac.widget.settings.time_period.title
\n
\n\n \n
\n
\n impac.widget.settings.time_period.time_range\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n\n \n
\n
\n impac.widget.settings.time_period.chart_interval\n \n
\n"); -$templateCache.put("widgets-settings/time-slider.tmpl.html","
\n
\n
\n
\n {{fromDate() | momentDate : \'time-slider\'}} - {{toDate() | momentDate : \'time-slider\'}}\n
\n
\n \n
\n
\n
\n"); -$templateCache.put("widgets-settings/width.tmpl.html","\n\n");}]); +$templateCache.put("widgets/sales-top-opportunities.tmpl.html","
\n\n
\n

impac.widget.sales_opportunities.settings.title

\n\n
\n\n
\n \n \n
\n
\n\n
\n\n
\n\n
\n {{\'impac.widget.sales_opportunities.total_potential\' | translate}} {{widget.content.total_potential | mnoCurrency : widget.content.currency || \"AUD\"}} - {{widget.content.eligible_opportunities}} {{\'impac.widget.sales_opportunities.eligible_opportunities\' | translate}}\n
\n\n
\n
\n
{{$index +1 }}
\n
\n {{opp.name | titleize}}\n
\n {{getOppDetails(opp)}}\n
\n
\n
\n\n
\n\n
\n
\n\n
\n");}]); (function() { var module; @@ -347,7 +347,7 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0 && _.any(scope.connectors, function(c) { return c.status === "PENDING" || c.status === "RUNNING"; @@ -5635,6 +5544,8 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0 && _.any(scope.connectors, function(c) { return isError(c); }); + scope.hasConnectors = scope.connectors.length > 0; + scope.hasApps = scope.hasConnectors || scope.hasRunningCube; ref = scope.connectors; for (i = 0, len = ref.length; i < len; i++) { connector = ref[i]; @@ -5733,6 +5644,49 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 1) { + return $scope.dataSource = w.content.repartition; + } else { + return $scope.dataSource = w.content.summary; + } } }; - formatAmount = function(anAccount) { - var balance; - balance = anAccount.current_balance || anAccount.balance || 0.0; - return $filter('mnoCurrency')(balance, anAccount.currency); + $scope.getCurrency = function() { + if ($scope.isDataFound) { + return w.content.currency; + } }; - $scope.formatLabel = function(anAccount) { - if (anAccount.company != null) { - return anAccount.company + " - " + anAccount.name + " (" + (formatAmount(anAccount)) + ")"; - } else { - return anAccount.name + " (" + (formatAmount(anAccount)) + ")"; + $scope.getAccountColor = function(elem) { + if ($scope.isDataFound) { + return ChartFormatterSvc.getColor(_.indexOf($scope.dataSource, elem)); } }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); + $scope.drawTrigger = $q.defer(); + w.format = function() { + var chartData, pieData, pieOptions; + if ($scope.isDataFound) { + pieData = _.map($scope.dataSource, function(company) { + return { + label: company.label, + value: company.total + }; + }); + pieOptions = { + percentageInnerCutout: 50, + tooltipFontSize: 12 + }; + chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); + return $scope.drawTrigger.notify(chartData); + } + }; + return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('settingAccount', ["$templateCache", "$translate", function($templateCache, $translate) { + module.directive('widgetAccountsAssetsLiabilitySummary', function() { return { restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - label: '@', - showLabel: '=?', - onAccountSelected: '&' - }, - link: function(scope, element) { - if (!scope.label) { - return scope.label = $translate.instant('impac.widget.settings.account.label'); - } - }, - template: $templateCache.get('widgets-settings/account.tmpl.html'), - controller: 'SettingAccountCtrl' + controller: 'WidgetAccountsAssetsLiabilitySummaryCtrl' }; - }]); + }); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets-settings.accounting-behaviour', []); + module = angular.module('impac.components.widgets.accounts-accounting-values', []); - module.directive('settingAccountingBehaviour', ["$templateCache", "$timeout", function($templateCache, $timeout) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - defaultBehaviour: '=?' - }, - template: $templateCache.get('widgets-settings/accounting-behaviour.tmpl.html'), - link: function(scope) { - var setting, w; - w = scope.parentWidget; - setting = {}; - setting.key = "accounting-behaviour"; - setting.initialize = function() { - return $timeout(function() { - if ((scope.defaultBehaviour != null) && scope.defaultBehaviour === 'pnl') { - return scope.selectedBehaviour = 'pnl'; - } else { - return scope.selectedBehaviour = 'bls'; - } + module.controller('WidgetAccountsAccountingValuesCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { + var settingsPromises, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.timePeriodDeferred = $q.defer(); + $scope.histModeDeferred = $q.defer(); + $scope.chartDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.histModeDeferred.promise, $scope.chartDeferred.promise]; + w.initContext = function() { + $scope.isDataFound = (w.content != null) && (w.content.accounting != null); + $scope.getLegend(); + return $scope.getCurrency(); + }; + $scope.getCurrentPrice = function() { + if ($scope.isDataFound) { + return w.content.accounting.total_period; + } + }; + $scope.getCurrency = function() { + if ($scope.isDataFound) { + if (w.content.accounting.currency_key != null) { + return $translate(w.content.accounting.currency_key).then(function(translation) { + $scope.currency = translation; + return $scope.currency_unit = w.content.accounting.currency; + }); + } else { + $scope.currency = w.content.accounting.currency; + return $scope.currency_unit = w.content.accounting.currency; + } + } + }; + $scope.getLegend = function() { + if ($scope.isDataFound) { + if (w.content.accounting.legend_key != null) { + return $translate(w.content.accounting.legend_key).then(function(translation) { + return $scope.legend = translation; }); + } else { + return $scope.legend = w.content.accounting.legend; + } + } + }; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var all_values_are_positive, chartData, data, dates, inputData, options, period; + if ($scope.isDataFound) { + data = angular.copy(w.content.accounting); + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; + } + dates = _.map(data.dates, function(date) { + return $filter('momentDate')(date, period); + }); + inputData = { + labels: dates, + datasets: [ + { + title: data.type, + values: data.values + } + ] }; - setting.toMetadata = function() { - return { - accounting_behaviour: scope.selectedBehaviour - }; + all_values_are_positive = true; + angular.forEach(data.values, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: false, + currency: data.currency }; - w.settings.push(setting); - return scope.deferred.resolve(setting); + chartData = ChartFormatterSvc.combinedBarChart(inputData, options, false); + return $scope.drawTrigger.notify(chartData); } }; + return $scope.widgetDeferred.resolve(settingsPromises); }]); + module.directive('widgetAccountsAccountingValues', function() { + return { + restrict: 'A', + controller: 'WidgetAccountsAccountingValuesCtrl' + }; + }); + }).call(this); (function() { var module; - module = angular.module('impac.components.widgets-settings.accounts-list', []); + module = angular.module('impac.components.widgets.accounts-assets-summary', []); - module.controller('SettingAccountsListCtrl', ["$scope", "$timeout", "ImpacWidgetsSvc", function($scope, $timeout, ImpacWidgetsSvc) { - var restoreSavedAccounts, setting, w; - w = $scope.parentWidget; - w.moveAccountToAnotherList = function(account, src, dst, triggerUpdate) { - if (triggerUpdate == null) { - triggerUpdate = true; + module.controller('WidgetAccountsAssetsSummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$translate", function($scope, $q, ChartFormatterSvc, $translate) { + var settingsPromises, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.chartDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.chartDeferred.promise]; + w.initContext = function() { + $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary); + if ($scope.isDataFound) { + if (w.metadata.organization_ids.length > 1) { + $scope.dataSource = w.content.repartition; + } else { + $scope.dataSource = w.content.summary; + } } - if (_.isEmpty(src) || _.isEmpty(account)) { - return; + if (!w.metadata.classification) { + w.metadata.classification = "ASSET"; } - dst || (dst = []); - _.remove(src, function(acc) { - return account.uid === acc.uid; + return $translate('impac.widget.acc_ass_smry.' + w.metadata.classification.toLowerCase() + ".many").then(function(result) { + return $scope.classification = result; }); - dst.push(account); - if (triggerUpdate) { - ImpacWidgetsSvc.updateWidgetSettings(w, false); - } - return null; }; - setting = {}; - setting.key = "accounts-list"; - setting.initialize = function() { - setting.isInitialized = false; - w.remainingAccounts = []; - w.selectedAccounts = []; - if ((w.content != null) && !_.isEmpty(w.content.complete_list)) { - w.remainingAccounts = angular.copy(w.content.complete_list); - return $timeout(function() { - restoreSavedAccounts(); - return setting.isInitialized = true; - }); + $scope.getCurrency = function() { + if ($scope.isDataFound) { + return w.content.currency; } }; - setting.toMetadata = function() { - if (setting.isInitialized) { - return { - accounts_list: _.map(w.selectedAccounts, (function(acc) { - return acc.uid; - })) - }; + $scope.getAccountColor = function(elem) { + if ($scope.isDataFound) { + return ChartFormatterSvc.getColor(_.indexOf($scope.dataSource, elem)); } }; - restoreSavedAccounts = function() { - var acc, accUid, accountsList, i, len, results; - if (_.isEmpty(w.metadata.accounts_list) && _.isEmpty($scope.accountsList)) { - return; - } - accountsList = _.isEmpty($scope.accountsList) ? w.metadata.accounts_list : $scope.accountsList; - results = []; - for (i = 0, len = accountsList.length; i < len; i++) { - accUid = accountsList[i]; - acc = _.find(w.content.complete_list, function(acc) { - return acc.uid === accUid; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var chartData, pieData, pieOptions; + if ($scope.isDataFound) { + pieData = _.map($scope.dataSource, function(company) { + return { + label: company.label, + value: company.total + }; }); - results.push(w.moveAccountToAnotherList(acc, w.remainingAccounts, w.selectedAccounts, false)); + pieOptions = { + percentageInnerCutout: 50, + tooltipFontSize: 12 + }; + chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); + return $scope.drawTrigger.notify(chartData); } - return results; }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); + return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('settingAccountsList', function() { + module.directive('widgetAccountsAssetsSummary', function() { return { restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - accountsList: '=?' - }, - controller: 'SettingAccountsListCtrl' + controller: 'WidgetAccountsAssetsSummaryCtrl' }; }); }).call(this); - -/* - * Attach KPIs onto widget with a form for picking target mode and value. View widget's - * attached KPIs, manage set targets, alerts and delete. - * **NOTE: this component is not in use, and requires fixes/improvements to be used.** - */ - (function() { var module; - module = angular.module('impac.components.widgets-settings.attach-kpis', []); + module = angular.module('impac.components.widgets.accounts-assets-vs-liabilities', []); - module.directive('settingAttachKpis', ["$templateCache", "ImpacWidgetsSvc", "ImpacKpisSvc", "$translate", function($templateCache, ImpacWidgetsSvc, ImpacKpisSvc, $translate) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - attachedKpis: '=?', - widgetEngine: '=', - widgetId: '=', - extraParams: '=?', - deferred: '=', - showExtraParam: '=?' - }, - template: $templateCache.get('widgets-settings/attach-kpis.tmpl.html'), - controller: ["$scope", function($scope) { - var loadKpisData, settings, w; - w = $scope.parentWidget; - settings = {}; - settings.initialize = function() { - return loadKpisData(); - }; - settings.toMetadata = function() {}; - w.settings.push(settings); - $scope.formatKpiName = function(endpoint) { - return ImpacKpisSvc.formatKpiName(endpoint); - }; - $scope.hasValidTarget = function() { - return ImpacKpisSvc.validateKpiTarget($scope.kpi); - }; - $scope.attachKpi = function() { - var param, paramValues, params, ref, target0; - params = {}; - if (!$scope.hasValidTarget()) { - return; - } - target0 = {}; - target0[$scope.kpi.limit.mode] = $scope.kpi.limit.value; - params.targets = {}; - params.targets[$scope.kpi.watchables[0]] = [target0]; - params.widget_id = $scope.widgetId; - ref = $scope.extraParams; - for (param in ref) { - paramValues = ref[param]; - params.extra_params || (params.extra_params = {}); - params.extra_params[param] = paramValues.uid; - } - console.log('attachKpis: ', $scope.kpi.endpoint, $scope.elementWatched, params); - return ImpacKpisSvc.create('impac', $scope.kpi.endpoint, $scope.elementWatched, params).then(function(kpi) { - console.log('attached KPI: ', kpi); - return $scope.attachedKpis.push(kpi); - }); - }; - $scope.deleteKpi = function(kpi) { - return ImpacKpisSvc["delete"](kpi, { - widget_id: $scope.widgetId - }).then(function() { - return _.remove($scope.attachedKpis, function(k) { - return k.id === kpi.id; - }); - }); - }; - $scope.formatAttachedKpiTitle = function(kpi) { - if (!(kpi.data && kpi.targets && $scope.elementWatched)) { - return ''; + module.controller('WidgetAccountsAssetsVsLiabilitiesCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { + var settingsPromises, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.chartDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.chartDeferred.promise]; + $translate(['impac.widget.acc_ass_vs_liab.asset.one', 'impac.widget.acc_ass_vs_liab.liability.one']).then(function(translation) { + return $scope.classificationTranslation = { + "ASSET": translation['impac.widget.acc_ass_vs_liab.asset.one'].toUpperCase(), + "LIABILITY": translation['impac.widget.acc_ass_vs_liab.liability.one'].toUpperCase() + }; + }); + w.initContext = function() { + var index; + $scope.isDataFound = (w.content != null) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.companies); + if ($scope.isDataFound) { + index = 0; + $scope.companiesList = _.map(w.content.companies, function(company) { + var assetSum, liabilitiesSum, result; + assetSum = _.find(w.content.summary, (function(sum) { + return sum.classification === "ASSET"; + })); + liabilitiesSum = _.find(w.content.summary, (function(sum) { + return sum.classification === "LIABILITY"; + })); + result = { + company: company, + assets: assetSum != null ? assetSum.totals[index] : 0.0, + liabilities: liabilitiesSum != null ? liabilitiesSum.totals[index] : 0.0, + currency: w.content.currency + }; + index++; + return result; + }); + return $scope.titleTranslation; + } + }; + $scope.assetsColor = ChartFormatterSvc.getColor(0); + $scope.liabilitiesColor = ChartFormatterSvc.getColor(1); + $scope.drawTrigger = $q.defer(); + w.format = function() { + var chartData, datasets, inputData, options; + if ($scope.isDataFound) { + datasets = _.map(w.content.summary, function(sum) { + if (_.includes(['ASSET', 'LIABILITY'], sum.classification)) { + return { + title: $scope.classificationTranslation[sum.classification], + values: sum.totals + }; } - return ImpacKpisSvc.formatKpiTarget(kpi.targets[$scope.elementWatched][0], kpi.data[$scope.elementWatched].unit, $scope.possibleTargets); + }); + datasets = _.sortByOrder(datasets, ['title']); + inputData = { + labels: w.content.companies, + datasets: _.compact(datasets) }; - $scope.attachedKpis || ($scope.attachedKpis = []); - $scope.possibleTargets = [ - { - label: $translate.instant('impac.widget.settings.attach_kpis.over'), - mode: 'min' - }, { - label: $translate.instant('impac.widget.settings.attach_kpis.below'), - mode: 'max' - } - ]; - $scope.kpi = { - limit: { - mode: $scope.possibleTargets[0].mode - } + options = { + showTooltips: false, + showXLabels: false, + barValueSpacing: Math.max(8 - w.content.companies.length, 1) }; - ImpacKpisSvc.getAttachableKpis($scope.widgetEngine).then(function(kpiTemplates) { - $scope.availableKpis = angular.copy(kpiTemplates); - angular.extend($scope.kpi, $scope.availableKpis[0]); - $scope.selectedParam = _.keys($scope.extraParams)[0]; - return $scope.elementWatched = ($scope.kpi.watchables != null) && $scope.kpi.watchables[0]; - }); - loadKpisData = function() {}; - loadKpisData(); - return $scope.deferred.resolve($scope.parentWidget); - }] + chartData = ChartFormatterSvc.combinedBarChart(inputData, options); + return $scope.drawTrigger.notify(chartData); + } }; + return $scope.widgetDeferred.resolve(settingsPromises); }]); + module.directive('widgetAccountsAssetsVsLiabilities', function() { + return { + restrict: 'A', + controller: 'WidgetAccountsAssetsVsLiabilitiesCtrl' + }; + }); + }).call(this); (function() { var module; - module = angular.module('impac.components.widgets-settings.chart-filters', []); + module = angular.module('impac.components.widgets.accounts-balance', []); - module.controller('SettingChartFiltersCtrl', ["$scope", function($scope) { - var setting, w; - w = $scope.parentWidget; - setting = {}; - setting.key = "chart-filters"; - setting.isInitialized = false; - setting.initialize = function() { - if ((w.content != null) && (w.content.chart_filter != null) && ($scope.filterCriteria = w.content.chart_filter.criteria)) { - $scope.maxEntities = w.content.chart_filter.max; - $scope.entityType = w.content.chart_filter.entity_type; - $scope.filterLabel = w.content.chart_filter.filter_label.replace(/_/g, " "); - if ($scope.filterCriteria === "number") { - $scope.filterValuePercentage = 80; - $scope.filterValueNumber = w.content.chart_filter.value; - } else { - $scope.filterValuePercentage = w.content.chart_filter.value; - $scope.filterValueNumber = Math.round($scope.maxEntities / 2); - } - return setting.isInitialized = true; + module.controller('WidgetAccountsBalanceCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", function($scope, $q, ChartFormatterSvc, $filter) { + var settingsPromises, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.accountBackDeferred = $q.defer(); + $scope.accountFrontDeferred = $q.defer(); + $scope.timePeriodDeferred = $q.defer(); + $scope.histModeDeferred = $q.defer(); + $scope.chartDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.accountBackDeferred, $scope.accountFrontDeferred, $scope.timePeriodDeferred.promise, $scope.histModeDeferred.promise, $scope.chartDeferred.promise]; + $scope.kpiExtraParams = {}; + $scope.isDataFound = true; + w.initContext = function() { + return $scope.isDataFound = (w.content != null) && !_.isEmpty(w.content.account_list); + }; + $scope.getName = function() { + if (w.selectedAccount != null) { + return w.selectedAccount.name; } }; - setting.toMetadata = function() { - var filterValue; - if ((w.content != null) && (w.content.chart_filter != null)) { - if ($scope.filterCriteria === "percentage") { - filterValue = $scope.filterValuePercentage; + $scope.getBehaviour = function() { + return (w.selectedAccount != null) && w.selectedAccount.accounting_behaviour; + }; + $scope.getCurrentBalance = function() { + if (w.selectedAccount != null) { + if ($scope.getBehaviour() === 'pnl') { + return _.sum(w.selectedAccount.balances); } else { - filterValue = $scope.filterValueNumber; + return _.last(w.selectedAccount.balances); } - return { - chart_filter: { - criteria: $scope.filterCriteria, - value: filterValue - } - }; } else { - return {}; + return 0.0; } }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); + $scope.getCurrency = function() { + if (w.selectedAccount != null) { + return w.selectedAccount.currency; + } + }; + $scope.displayAccount = function() { + return $scope.updateSettings(false).then(function() { + return w.format(); + }); + }; + $scope.updateKpiExtraParams = function(key, value) { + return $scope.kpiExtraParams[key] = angular.copy(value); + }; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var all_values_are_positive, barData, chartData, data, dates, datesSource, lineData, options, period; + if ($scope.isDataFound && (w.selectedAccount != null)) { + data = angular.copy(w.selectedAccount); + datesSource = data.dates || w.content.dates; + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; + } + dates = _.map(datesSource, function(date) { + return $filter('momentDate')(date, period); + }); + lineData = { + title: data.name, + labels: dates, + values: data.balances + }; + barData = { + labels: dates, + datasets: [ + { + title: data.name, + values: data.balances + } + ] + }; + all_values_are_positive = true; + angular.forEach(data.balances, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: false + }; + chartData = ChartFormatterSvc.lineChart([lineData], options); + if ($scope.getBehaviour() === 'pnl') { + chartData = ChartFormatterSvc.combinedBarChart(barData, options, false); + } + return $scope.drawTrigger.notify(chartData); + } + }; + return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('settingChartFilters', ["$templateCache", function($templateCache) { + module.directive('widgetAccountsBalance', function() { return { restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=' - }, - template: $templateCache.get('widgets-settings/chart-filters.tmpl.html'), - controller: 'SettingChartFiltersCtrl' + controller: 'WidgetAccountsBalanceCtrl' }; - }]); + }); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets-settings.formula', []); + module = angular.module('impac.components.widgets.accounts-balance-sheet', []); - module.controller('SettingFormulaCtrl', ["$scope", "$filter", "$timeout", "$translate", function($scope, $filter, $timeout, $translate) { - var AUTHORIZED_REGEXP, evaluateFormula, formatFormula, getFormula, interpolateInFormula, isRatio, prepareFormula, setting, translateEvaluatedFormula, w; - w = $scope.parentWidget; - w.formula = ''; - AUTHORIZED_REGEXP = new RegExp("^(\\{|\\d|\\}|\\/|\\+|-|\\*|\\(|\\)|\\s|\\.)*$"); - setting = {}; - setting.key = "formula"; - setting.isInitialized = false; - setting.initialize = function() { - if ((w.metadata != null) && (w.metadata.formula != null)) { - w.formula = w.metadata.formula; - return $timeout(function() { - prepareFormula(); - return setting.isInitialized = true; - }); - } else { - return w.formula = ''; - } - }; - setting.toMetadata = function() { - prepareFormula(); - if (w.isFormulaCorrect) { - return { - formula: w.formula - }; - } else { - return { - formula: '' - }; - } - }; - getFormula = function() { - return w.formula; - }; - w.formatAmount = function(anAccount) { - return $filter('mnoCurrency')(anAccount.current_balance, anAccount.currency); - }; - $scope.$watch(getFormula, function(e) { - return prepareFormula(); - }); - prepareFormula = function() { - var evaluatedFormula, interpolatedFormula; - interpolatedFormula = interpolateInFormula(w.formula, w.selectedAccounts, 'current_balance'); - if ((evaluatedFormula = evaluateFormula(interpolatedFormula))) { - w.evaluatedFormula = formatFormula(evaluatedFormula, w.formula, w.selectedAccounts); - w.legend = interpolateInFormula(w.formula, w.selectedAccounts, 'name'); - w.isFormulaCorrect = true; - } else { - w.evaluatedFormula = 'invalid expression'; - w.legend = '...'; - w.isFormulaCorrect = false; - } - return w.evaluatedFormulaTranslate = translateEvaluatedFormula(w.evaluatedFormula); + module.controller('WidgetAccountsBalanceSheetCtrl', ["$scope", "$q", "ImpacWidgetsSvc", "ImpacMainSvc", "ImpacUtilities", "$translate", "ImpacTheming", function($scope, $q, ImpacWidgetsSvc, ImpacMainSvc, ImpacUtilities, $translate, ImpacTheming) { + var initDates, settingsPromises, sortAccountsBy, sortData, translateCategories, unCollapsedSetting, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.datesPickerDeferred = $q.defer(); + $scope.tagFilterDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.datesPickerDeferred.promise, $scope.tagFilterDeferred.promise]; + $scope.datesPickerTemplate = "
\n
\n \n
\n
\n \n
\n
"; + $scope.ascending = true; + $scope.sortedColumn = 'account'; + $scope.filterTagsEnabled = ImpacTheming.get().widgetSettings.tagging.enabled; + $scope.isReportFiltered = function() { + return (w.metadata != null) && (w.metadata.filter_query != null) && Object.keys(w.metadata.filter_query).length > 0; }; - w.evaluatedFormula_History = function(index) { - var account, i, interpolation, j, len, pattern, ref; - interpolation = w.formula; - ref = w.selectedAccounts; - for (i = j = 0, len = ref.length; j < len; i = ++j) { - account = ref[i]; - pattern = new RegExp("\\{" + (i + 1) + "\\}", 'g'); - interpolation = interpolation.replace(pattern, " " + account['balances'][index] + " "); - } - return evaluateFormula(interpolation); + initDates = function() { + $scope.fromDate = w.metadata.hist_parameters.from; + $scope.toDate = w.metadata.hist_parameters.to; + return $scope.keepToday = w.metadata.hist_parameters.keep_today; }; - translateEvaluatedFormula = function(formula) { - switch (formula) { - case 'invalid expression': - return $translate.instant('impac.widget.formula.invalid_expression'); - case 'Infinity': - return $translate.instant('impac.widget.formula.infinity'); - case '-Infinity': - return $translate.instant('impac.widget.formula.minus_infinity'); - default: - return formula; + if (!((w.metadata != null) && (w.metadata.hist_parameters != null))) { + w.metadata || (w.metadata = {}); + w.metadata.hist_parameters = { + to: moment().format('YYYY-MM-DD'), + keep_today: true, + period: 'RANGE' + }; + ImpacMainSvc.load().then(function(config) { + var fyEndMonth; + fyEndMonth = parseInt(config.currentOrganization.financial_year_end_month) || 6; + w.metadata.hist_parameters.from = moment(ImpacUtilities.financialYearDates(fyEndMonth).end, 'YYYY-MM-DD').subtract(1, 'year').format('YYYY-MM-DD'); + return initDates(); + }); + } else { + initDates(); + } + w.initContext = function() { + if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.dates)) { + $scope.dates = w.content.dates; + $scope.unCollapsed = w.metadata.unCollapsed || []; + $scope.categories = []; + translateCategories(Object.keys(w.content.summary)); } + initDates(); + return sortData(); }; - interpolateInFormula = function(sourceFormula, selectedAccounts, accountMember) { - var account, i, interpolation, j, len, pattern; - interpolation = sourceFormula; - if (_.isEmpty(selectedAccounts)) { - return interpolation; - } - for (i = j = 0, len = selectedAccounts.length; j < len; i = ++j) { - account = selectedAccounts[i]; - pattern = new RegExp("\\{" + (i + 1) + "\\}", 'g'); - interpolation = interpolation.replace(pattern, " " + account[accountMember] + " "); + $scope.toggleCollapsed = function(categoryName) { + if (categoryName != null) { + if (_.find($scope.unCollapsed, (function(name) { + return categoryName === name; + }))) { + $scope.unCollapsed = _.reject($scope.unCollapsed, function(name) { + return name === categoryName; + }); + } else { + $scope.unCollapsed.push(categoryName); + } + return ImpacWidgetsSvc.updateWidgetSettings(w, false); } - return interpolation; }; - evaluateFormula = function(interpolatedFormula) { - var e, evaluation; - if (!interpolatedFormula.match(AUTHORIZED_REGEXP)) { - return false; - } - try { - evaluation = eval(interpolatedFormula).toFixed(2); - if (isFinite(evaluation)) { - return evaluation; - } else { + $scope.isCollapsed = function(categoryName) { + if (categoryName != null) { + if (_.find($scope.unCollapsed, (function(name) { + return categoryName === name; + }))) { return false; + } else { + return true; } - } catch (error) { - e = error; - return false; } }; - isRatio = function(sourceFormula) { - return sourceFormula.match(/\//g); - }; - formatFormula = function(evaluation, sourceFormula, selectedAccounts) { - var currency, firstAccount; - if (isRatio(sourceFormula) || _.isEmpty(selectedAccounts)) { - return evaluation; - } - firstAccount = selectedAccounts[0]; - if (!(currency = firstAccount.currency)) { - return evaluation; - } - return $filter('mnoCurrency')(evaluation, currency); - }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); - }]); - - module.directive('settingFormula', function() { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=' - }, - controller: 'SettingFormulaCtrl' + translateCategories = function(categories) { + return _.each(categories, function(category) { + $translate('impac.widget.account_balance_sheets.' + category.toLowerCase()).then(function(translation) { + return $scope.categories.push({ + label: translation, + key: category + }); + }, function(translationId) { + return $scope.categories.push({ + label: category.toLowerCase(), + key: category + }); + }); + }); }; - }); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.dates-picker', []); - - module.directive('settingDatesPicker', ["$templateCache", "$filter", "ImpacWidgetsSvc", "$timeout", "$compile", function($templateCache, $filter, ImpacWidgetsSvc, $timeout, $compile) { - return { - restrict: 'A', - scope: { - parentWidget: '=?', - deferred: '=', - fromDate: '=from', - toDate: '=to', - keepToday: '=', - onUse: '&?', - onChangeCb: '&?onChange', - minDate: '=?', - updateOnPick: '=?', - template: '=?', - period: '=?' - }, - template: $templateCache.get('widgets-settings/dates-picker.tmpl.html'), - link: function(scope, element) { - var applyHtml, buildDates, fromDateHtml, isToToday, setting, templatesContainer, toDateHtml, w; - w = scope.parentWidget; - setting = {}; - setting.key = "dates-picker"; - scope.setting = setting; - scope.calendarFrom = { - opened: false, - value: new Date(new Date().getFullYear(), 0, 1), - toggle: function() { - scope.calendarFrom.opened = !scope.calendarFrom.opened; - return scope.calendarTo.opened = false; - } - }; - scope.calendarTo = { - opened: false, - value: new Date(), - toggle: function() { - scope.calendarFrom.opened = false; - return scope.calendarTo.opened = !scope.calendarTo.opened; - } - }; - scope.template || (scope.template = "
\n
\n impac.widget.settings.dates_picker.from \n
\n
\n impac.widget.settings.dates_picker.to \n
\n
"); - fromDateHtml = "
\n \n
"; - toDateHtml = "
\n \n
"; - applyHtml = ""; - scope.template = scope.template.replace(/>/, " ng-click='onUse()'>"); - scope.template = scope.template.replace(/]*)>/g, "" + (fromDateHtml.replace('ATTRS', '$1'))); - scope.template = scope.template.replace(/]*)>/g, "" + (toDateHtml.replace('ATTRS', '$1'))); - scope.template = scope.template.replace(/]*)>/g, "" + (applyHtml.replace('ATTRS', '$1'))); - templatesContainer = element.find('#template-container'); - templatesContainer.html(scope.template).show(); - $compile(templatesContainer.contents())(scope); - setting.initialize = function() { - return $timeout(function() { - var d, m, parsedFrom, parsedTo, y; - scope.changed = false; - if (Date.parse(scope.fromDate)) { - parsedFrom = scope.fromDate.split('-'); - y = parsedFrom[0]; - m = parsedFrom[1] - 1; - d = parsedFrom[2]; - scope.calendarFrom.value = new Date(y, m, d); - } else { - scope.calendarFrom.value = new Date(new Date().getFullYear(), 0, 1); - } - if (Date.parse(scope.toDate) && !scope.keepToday) { - parsedTo = scope.toDate.split('-'); - y = parsedTo[0]; - m = parsedTo[1] - 1; - d = parsedTo[2]; - return scope.calendarTo.value = new Date(y, m, d); - } else { - return scope.calendarTo.value = new Date(); + sortAccountsBy = function(getElem) { + return angular.forEach($scope.categories, function(cat) { + var sElem; + sElem = w.content.summary[cat]; + if (sElem.accounts) { + return sElem.accounts.sort(function(a, b) { + var res; + res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; + if (!$scope.ascending) { + res *= -1; } + return res; }); - }; - isToToday = function() { - return (scope.calendarTo.value.getFullYear() === new Date().getFullYear()) && (scope.calendarTo.value.getMonth() === new Date().getMonth()) && (scope.calendarTo.value.getDate() === new Date().getDate()); - }; - setting.toMetadata = function() { - return { - hist_parameters: { - from: $filter('date')(scope.calendarFrom.value, 'yyyy-MM-dd'), - to: $filter('date')(scope.calendarTo.value, 'yyyy-MM-dd'), - period: scope.period || "RANGE", - keep_today: isToToday() - } - }; - }; - scope.onChange = function() { - scope.showApplyButton(); - if (!_.isUndefined(scope.onChangeCb)) { - return scope.onChangeCb()(buildDates()); - } - }; - buildDates = function() { - return { - from: $filter('date')(scope.calendarFrom.value, 'yyyy-MM-dd'), - to: $filter('date')(scope.calendarTo.value, 'yyyy-MM-dd'), - keepToday: isToToday() - }; - }; - scope.showApplyButton = function() { - if (scope.updateOnPick) { - return scope.applyChanges(); - } else { - return scope.changed = true; - } - }; - scope.applyChanges = function() { - ImpacWidgetsSvc.updateWidgetSettings(w, true); - return scope.changed = false; - }; - scope.showTitle = function() { - return element.hasClass('part'); - }; - if (w) { - w.settings.push(setting); } - return scope.deferred.resolve(setting); + }); + }; + sortData = function() { + if ($scope.sortedColumn === 'account') { + return sortAccountsBy(function(el) { + return el.name; + }); + } else if ($scope.sortedColumn === 'total1') { + return sortAccountsBy(function(el) { + return el.totals[1]; + }); + } else if ($scope.sortedColumn === 'total2') { + return sortAccountsBy(function(el) { + return el.totals[0]; + }); } }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.limit-entries', []); - - module.controller('SettingLimitEntriesCtrl', ["$scope", function($scope) { - var setting; - setting = {}; - setting.key = 'limit-entries'; - setting.initialize = function() { - return true; + $scope.sort = function(col) { + if ($scope.sortedColumn === col) { + $scope.ascending = !$scope.ascending; + } else { + $scope.ascending = true; + $scope.sortedColumn = col; + } + return sortData(); }; - setting.toMetadata = function() { + unCollapsedSetting = {}; + unCollapsedSetting.initialized = false; + unCollapsedSetting.initialize = function() { + return unCollapsedSetting.initialized = true; + }; + unCollapsedSetting.toMetadata = function() { return { - limit_entries: $scope.selected + unCollapsed: $scope.unCollapsed }; }; - $scope.parentWidget.settings.push(setting); - return $scope.deferred.resolve(setting); + w.settings.push(unCollapsedSetting); + return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('settingLimitEntries', ["$templateCache", "ImpacWidgetsSvc", function($templateCache, ImpacWidgetsSvc) { + module.directive('widgetAccountsBalanceSheet', function() { return { restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - selected: '=', - max: '=?', - options: '=?', - entriesLabel: '=?' - }, - link: function(scope, elements, attrs) { - if (!((scope.options != null) && scope.options.length > 0)) { - scope.options = [5, 15, 50]; - } - scope.selectOption = function(anOption) { - scope.selected = anOption; - return ImpacWidgetsSvc.updateWidgetSettings(scope.parentWidget, false); - }; - return scope.isOptionValid = function(anOption) { - return (scope.max == null) || anOption < scope.max; - }; - }, - controller: 'SettingLimitEntriesCtrl', - template: $templateCache.get('widgets-settings/limit-entries.tmpl.html') + controller: 'WidgetAccountsBalanceSheetCtrl' }; - }]); + }); }).call(this); (function() { - var module, - indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + var module; - module = angular.module('impac.components.widgets-settings.hist-mode', []); + module = angular.module('impac.components.widgets.accounts-cash-balance', []); - module.controller('SettingHistModeCtrl', ["$scope", "$translate", "$timeout", "ImpacWidgetsSvc", "ImpacTheming", "ImpacUtilities", function($scope, $translate, $timeout, ImpacWidgetsSvc, ImpacTheming, ImpacUtilities) { - var buildCurrentLabel, setting, w; - w = $scope.parentWidget; - w.isHistoryMode = w.metadata && w.metadata.hist_parameters && w.metadata.hist_parameters.mode === 'history'; - $scope.forwardParams = { - accountingBehaviour: function() { - return $scope.accountingBehaviour; + module.controller('WidgetAccountsCashBalanceCtrl', ["$scope", "$q", "$timeout", "$filter", "ImpacTheming", "ImpacAssets", "ImpacWidgetsSvc", "HighchartsFactory", function($scope, $q, $timeout, $filter, ImpacTheming, ImpacAssets, ImpacWidgetsSvc, HighchartsFactory) { + var getPeriod, getSerieByAccount, onZoom, setSeriesColors, settingsPromises, updateLocked, w, zoomMetadata; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise]; + w.initContext = function() { + var hist; + $scope.isDataFound = w.content.chart != null; + $scope.groupedTable = w.content.grouped_table; + setSeriesColors(w.content.chart.series, { + positive: '#3FC4FF', + negative: '#e50228' + }); + if (hist = w.metadata.hist_parameters) { + $scope.fromDate = hist.from; + return $scope.toDate = hist.to; } }; - $scope.toggleHistMode = function(mode) { - var ref; - if ((w.isHistoryMode && mode === 'history') || (!w.isHistoryMode && mode === 'current')) { + $scope.legendItemOnClick = function(account) { + var serie, visibility; + serie = ($scope.chart != null) && ($scope.chart.hc != null) && getSerieByAccount($scope.chart.hc.series, account); + if (!serie) { return; } - w.isHistoryMode = !w.isHistoryMode; - ImpacWidgetsSvc.updateWidgetSettings(w, false); - return ref = $scope.onToggle(), indexOf.call(angular.isDefined($scope.onToggle), ref) >= 0; + visibility = serie.visible ? false : true; + return serie.setVisible(visibility); }; - buildCurrentLabel = function() { - var label, labels, needPrefix, prefix; - labels = ImpacTheming.get().widgetSettings.histModeChoser.currentLabels; - if (($scope.accountingBehaviour != null) && labels[$scope.accountingBehaviour]) { - needPrefix = !$scope.endDate || ($scope.endDate === moment().format('YYYY-MM-DD')); - label = labels[$scope.accountingBehaviour]; - prefix = labels[$scope.accountingBehaviour] + '.prefix'; - return $translate([prefix, label]).then(function(translations) { - return $scope.currentLabel = needPrefix ? translations[prefix] + " " + translations[label] : translations[label]; - }); + $scope.getLegendItemCheckBox = function(account) { + var serie; + serie = ($scope.chart != null) && ($scope.chart.hc != null) && getSerieByAccount($scope.chart.hc.series, account); + if (!serie) { + return 'fa-check-square-o'; + } + if (serie.visible) { + return 'fa-check-square-o'; } else { - return $translate(labels["default"]).then(function(label) { - return $scope.currentLabel = label; - }); + return 'fa-square-o'; } }; - setting = {}; - setting.key = "hist-mode"; - setting.isInitialized = false; - setting.initialize = function() { - return $timeout(function() { - var mode; - if ((w.metadata != null) && (w.metadata.hist_parameters != null) && (mode = w.metadata.hist_parameters.mode)) { - w.isHistoryMode = mode === 'history' ? true : false; + $scope.getLegendItemIcon = function(account) { + var serie; + serie = ($scope.chart != null) && ($scope.chart.hc != null) && getSerieByAccount($scope.chart.hc.series, account); + if (serie.type === 'area') { + return ImpacAssets.get('areaLegendIcon'); + } else { + return ImpacAssets.get('plotLineLegendIcon'); + } + }; + $scope.getLegendItemColor = function(account) { + var serie; + serie = ($scope.chart != null) && ($scope.chart.hc != null) && getSerieByAccount($scope.chart.hc.series, account); + if (!serie) { + return '#000'; + } + return serie.color; + }; + getPeriod = function() { + return (w.metadata != null) && (w.metadata.hist_parameters != null) && w.metadata.hist_parameters.period || 'MONTHLY'; + }; + getSerieByAccount = function(series, account) { + return _.find(series, function(serie) { + return (serie.id || serie.options && serie.options.id) === account.id; + }); + }; + setSeriesColors = function(series, chartColors) { + var bias, groupedSeries, i, palette, results, serie; + groupedSeries = _.groupBy(series, function(serie) { + return serie.bias; + }); + results = []; + for (bias in groupedSeries) { + series = groupedSeries[bias]; + if (!chartColors[bias]) { + continue; + } + palette = ImpacTheming.color.generateShadesPalette(chartColors[bias], series.length); + results.push((function() { + var j, len, results1; + results1 = []; + for (i = j = 0, len = series.length; j < len; i = ++j) { + serie = series[i]; + results1.push(serie.color = palette[i]); + } + return results1; + })()); + } + return results; + }; + $scope.chartId = function() { + return "cashBalanceChart-" + w.id; + }; + updateLocked = false; + zoomMetadata = {}; + onZoom = function(event) { + zoomMetadata = angular.merge(w.metadata, { + xAxis: { + max: event.max, + min: event.min } - buildCurrentLabel(); - $scope.forwardParams.histParams = w.metadata && w.metadata.hist_parameters; - setting.isInitialized = true; - return $scope; }); + if (!updateLocked) { + updateLocked = true; + return $timeout(function() { + return ImpacWidgetsSvc.update(w, { + metadata: zoomMetadata + }, false)["finally"](function() { + return updateLocked = false; + }); + }, 1000); + } }; - setting.toMetadata = function() { - var mode; - mode = w.isHistoryMode ? 'history' : 'current'; - return { - hist_parameters: { - mode: mode + w.format = function() { + var options; + options = { + chartType: 'line', + currency: w.metadata.currency, + period: getPeriod(), + showToday: true, + showLegend: false, + withZooming: { + defaults: w.metadata.xAxis, + callback: onZoom } }; + return $timeout(function() { + $scope.chart || ($scope.chart = new HighchartsFactory($scope.chartId(), w.content.chart, options)); + return $scope.chart.render(w.content.chart, options); + }); }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); + return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('settingHistMode', ["$templateCache", function($templateCache) { + module.directive('widgetAccountsCashBalance', function() { return { restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - onToggle: '&', - accountingBehaviour: '@?', - endDate: '=?' - }, - template: $templateCache.get('widgets-settings/hist-mode.tmpl.html'), - controller: 'SettingHistModeCtrl' + controller: 'WidgetAccountsCashBalanceCtrl' }; - }]); + }); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets-settings.offsets', []); - - module.directive('settingOffsets', ["$templateCache", "ImpacUtilities", function($templateCache, ImpacUtilities) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - offsetsKey: '@', - initialOffsets: '=', - currency: '=', - intervalsCount: '=', - period: '=', - showIntervalsMult: '=', - textPlaceholder: '@?' - }, - template: $templateCache.get('widgets-settings/offsets.tmpl.html'), - link: function(scope) { - var authorized_regex, computedFormula, placeholder, setting, w; - w = scope.parentWidget; - authorized_regex = new RegExp("^(\\{|\\d|\\}|\\/|\\+|-|\\*|\\(|\\)|\\s|\\.)*$"); - setting = { - key: "offsets-" + scope.offsetsKey - }; - setting.initialize = function() { - var i, len, offsetValue, ref; - scope.offsets = []; - ref = scope.initialOffsets || []; - for (i = 0, len = ref.length; i < len; i++) { - offsetValue = ref[i]; - scope.offsets.push(offsetValue); - } - scope.offsetFormula = ""; - scope.periodWord = ImpacUtilities.getPeriodWord(scope.period); - return scope.placeholder = placeholder(scope.period || 'MONTHLY'); - }; - setting.toMetadata = function() { - var metadata; - metadata = { - offset: {} - }; - metadata.offset[scope.offsetsKey] = scope.offsets; - return metadata; - }; - scope.addOffset = function() { - var result; - result = computedFormula(); - if (result) { - scope.offsets.push(result); - } - return scope.offsetFormula = ""; - }; - scope.removeOffset = function(offsetIndex) { - return scope.offsets.splice(offsetIndex, 1); - }; - scope.addOffsetOnEnter = function(event) { - if (event.keyCode === 13) { - return scope.addOffset(); - } - }; - placeholder = function(inputPeriod) { - var period; - if (scope.textPlaceholder != null) { - return scope.textPlaceholder; - } - period = inputPeriod.charAt(0).toUpperCase() + inputPeriod.slice(1).toLowerCase(); - return period + " adjustment"; - }; - computedFormula = function() { - if (scope.offsetFormula.match(authorized_regex)) { - return eval(scope.offsetFormula); - } - }; - if (w) { - w.settings.push(setting); - } - return scope.deferred.resolve(setting); - } - }; - }]); - -}).call(this); - -(function() { - var module; + module = angular.module('impac.components.widgets.accounts-cash-projection', []); - module = angular.module('impac.components.widgets-settings.organizations', []); - - module.controller('SettingOrganizationsCtrl', ["$scope", "$log", "ImpacDashboardsSvc", function($scope, $log, ImpacDashboardsSvc) { - var setting, w; - w = $scope.parentWidget; - w.selectedOrganizations = {}; - $scope.isOrganizationSelected = function(orgUid) { - return !!w.selectedOrganizations[orgUid]; + module.controller('WidgetAccountsCashProjectionCtrl', ["$scope", "$q", "$filter", "$timeout", "ImpacKpisSvc", "ImpacWidgetsSvc", "ImpacAssets", "HighchartsFactory", "BoltResources", function($scope, $q, $filter, $timeout, ImpacKpisSvc, ImpacWidgetsSvc, ImpacAssets, HighchartsFactory, BoltResources) { + var dateFilter, imgSrc, imgTemplate, legendFormatter, onClickBar, onClickLegend, onZoom, settingsPromises, todayUTC, updateLocked, w, zoomMetadata; + w = $scope.widget; + todayUTC = moment().startOf('day').add(moment().utcOffset(), 'minutes'); + updateLocked = false; + zoomMetadata = {}; + w.metadata.ranges = ['-60d', '-30d']; + dateFilter = function(timestamp) { + var pickedDate; + pickedDate = moment.utc(timestamp); + if (pickedDate <= todayUTC) { + return "lte " + (pickedDate.format('YYYY-MM-DD')); + } else { + return pickedDate.format('YYYY-MM-DD'); + } }; - $scope.toggleSelectOrganization = function(orgUid) { - w.selectedOrganizations[orgUid] = !w.selectedOrganizations[orgUid]; - if (angular.isDefined($scope.onSelect)) { - return $scope.onSelect({ - orgs: w.selectedOrganizations + imgSrc = function(name) { + return ImpacAssets.get(_.camelCase(name + 'LegendIcon')); + }; + imgTemplate = function(src, name) { + return "
" + name; + }; + $scope.chartId = function() { + return "cashProjectionChart-" + w.id; + }; + $scope.orgDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise]; + $scope.trxList = { + display: false, + updated: false, + transactions: [] + }; + $scope.trxList.show = function() { + return $scope.trxList.display = true; + }; + $scope.trxList.hide = function() { + $scope.trxList.display = false; + if ($scope.trxList.updated) { + return ImpacWidgetsSvc.show(w).then(function() { + return $scope.trxList.updated = false; }); } }; - setting = {}; - setting.key = "organizations"; - setting.isInitialized = false; - setting.initialize = function() { - return ImpacDashboardsSvc.load().then(function(config) { - var i, len, org, ref; - $scope.dashboardOrganizations = config.currentDashboard.data_sources; - if ((w.metadata != null) && (w.metadata.organization_ids != null)) { - ref = $scope.dashboardOrganizations; - for (i = 0, len = ref.length; i < len; i++) { - org = ref[i]; - w.selectedOrganizations[org.uid] = _.contains(w.metadata.organization_ids, org.uid); - } - return setting.isInitialized = true; + $scope.trxList.fetch = function(currentPage) { + var params; + if (currentPage == null) { + currentPage = 1; + } + params = angular.merge($scope.trxList.params, { + metadata: _.pick(w.metadata, 'organization_ids'), + page: { + number: currentPage } }); - }; - setting.toMetadata = function() { - var newOrganizations; - newOrganizations = _.compact(_.map(w.selectedOrganizations, function(checked, uid) { - if (checked) { - return uid; + return BoltResources.index(w.metadata.bolt_path, $scope.trxList.resources, params).then(function(response) { + var i, len, ref, trx; + _.remove($scope.trxList.transactions, function() { + return true; + }); + ref = response.data.data; + for (i = 0, len = ref.length; i < len; i++) { + trx = ref[i]; + $scope.trxList.transactions.push(angular.merge(trx.attributes, { + id: trx.id + })); } - })); - if (_.isEmpty(newOrganizations)) { - newOrganizations = [_.first($scope.dashboardOrganizations).uid]; + return $scope.trxList.totalRecords = response.data.meta.record_count; + })["finally"](function() { + return $scope.trxList.show(); + }); + }; + $scope.trxList.updateParams = function(resources, filter) { + $scope.trxList.resources = resources; + return $scope.trxList.params = { + filter: filter + }; + }; + $scope.trxList.showAll = function(resources) { + var filter; + if (resources == null) { + resources = 'invoices'; } - return { - organization_ids: newOrganizations + filter = { + status: ['AUTHORISED', 'APPROVED', 'SUBMITTED', 'FORECAST'] }; + $scope.trxList.updateParams(resources, filter); + return $scope.trxList.fetch(); }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); - }]); - - module.directive('settingOrganizations', ["$templateCache", function($templateCache) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - onSelect: '&?' - }, - template: $templateCache.get('widgets-settings/organizations.tmpl.html'), - controller: 'SettingOrganizationsCtrl' + $scope.trxList.updateExpectedDate = function(trxId, date) { + return BoltResources.update(w.metadata.bolt_path, $scope.trxList.resources, trxId, { + expected_payment_date: moment(date).format('YYYY-MM-DD') + }).then(function() { + return $scope.trxList.updated = true; + }); }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.param-selector', []); - - module.controller('SettingParamSelectorCtrl', ["$scope", "ImpacWidgetsSvc", function($scope, ImpacWidgetsSvc) { - var setting, w; - $scope.showOptions = false; - $scope.toggleShowOptions = function() { - return $scope.showOptions = !$scope.showOptions; + $scope.trxList.changeResourcesType = function(resourcesType) { + if (resourcesType === $scope.trxList.resources) { + return; + } + $scope.trxList.resources = resourcesType; + return $scope.trxList.fetch(); }; - $scope.onInit = function() { - $scope.selectedOption = {}; - return angular.extend($scope.selectedOption, $scope.selected); + $scope.trxList.deleteTransaction = function(resourcesType, trxId) { + _.remove($scope.trxList.transactions, function(trx) { + return trx.id === trxId; + }); + return BoltResources.destroy(w.metadata.bolt_path, resourcesType, trxId).then(function() { + return $scope.trxList.updated = true; + }); }; - $scope.selectOption = function(anOption) { - if (anOption.value !== $scope.selected.value) { - angular.extend($scope.selected, anOption); - ImpacWidgetsSvc.updateWidgetSettings($scope.parentWidget, !$scope.noReload); - if (angular.isDefined($scope.onSelect)) { - $scope.onSelect(); - } + $scope.chartDeferred = $q.defer(); + $scope.chartPromise = $scope.chartDeferred.promise; + $scope.chartThresholdOptions = { + label: 'Get alerted when the cash projection goes below' + }; + $scope.addForecastPopup = { + resourcesType: 'invoices', + display: false, + show: function() { + return this.display = true; + }, + hide: function() { + return this.display = false; } - return $scope.toggleShowOptions(); }; - $scope.getTruncateValue = function() { - return parseInt($scope.truncateNo) || 20; + $scope.addForecastPopup.createTransaction = function(trx) { + return BoltResources.create(w.metadata.bolt_path, this.resourcesType, { + title: trx.name, + transaction_number: "FOR-" + (Math.ceil(Math.random() * 10000)), + amount: trx.amount, + balance: trx.amount, + transaction_date: moment().format('YYYY-MM-DD'), + due_date: moment(trx.datePicker.date).format('YYYY-MM-DD'), + status: 'FORECAST', + currency: w.metadata.currency + }, { + company: { + data: { + type: 'companies', + id: $scope.firstCompanyId + } + } + }).then(function() { + return ImpacWidgetsSvc.show(w); + }); }; - w = $scope.parentWidget; - setting = {}; - setting.key = "param-selector"; - setting.isInitialized = false; - setting.initialize = function() { - if (w.content != null) { - return setting.isInitialized = true; + onClickBar = function(event) { + var filter, resources, series; + series = this; + resources = (function() { + switch (series.userOptions.stack) { + case 'Payables': + return 'bills'; + case 'Receivables': + return 'invoices'; + } + })(); + if (resources == null) { + return; } + filter = { + expected_payment_date: dateFilter(event.point.x), + status: ['AUTHORISED', 'APPROVED', 'SUBMITTED', 'FORECAST'] + }; + $scope.trxList.updateParams(resources, filter); + return $scope.trxList.fetch(); }; - setting.toMetadata = function() { - var param; - param = {}; - if (!_.isEmpty($scope.selected)) { - param[$scope.param] = $scope.selected.value; + legendFormatter = function() { + var name; + name = this.name; + if (name !== 'Projected cash') { + return imgTemplate(imgSrc(name), name); } - return param; + return imgTemplate(imgSrc(name), name) + '
' + imgTemplate(imgSrc('cashFlow'), 'Cash flow'); }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); - }]); - - module.directive('settingParamSelector', ["$templateCache", function($templateCache) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - param: '@', - options: '=', - selected: '=', - truncateNo: '@', - onSelect: '&' - }, - link: function(scope, elements, attrs) { - scope.noReload = typeof attrs.noReload !== 'undefined'; - return scope.truncateNo = attrs.truncateNo || 20; - }, - template: function(elements, attrs) { - return $templateCache.get(attrs.classic ? 'widgets-settings/param-selector-classic.tmpl.html' : 'widgets-settings/param-selector.tmpl.html'); - }, - controller: 'SettingParamSelectorCtrl' - }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.params-checkboxes', []); - - module.controller('SettingParamsCheckboxesCtrl', ["$scope", function($scope) { - var setting, w; - w = $scope.parentWidget; - setting = {}; - setting.key = "params-checkboxes"; - setting.initialize = function() {}; - setting.toMetadata = function() { - var param; - param = {}; - param[$scope.param] = _.map($scope.options, function(opt) { - return { - id: opt.id, - value: opt.value - }; + onZoom = function(event) { + zoomMetadata = angular.merge(w.metadata, { + xAxis: { + max: event.max, + min: event.min + } }); - return param; - }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); - }]); - - module.directive('settingParamsCheckboxes', ["$templateCache", function($templateCache) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - param: '@', - options: '=' - }, - template: $templateCache.get('widgets-settings/params-checkboxes.tmpl.html'), - controller: 'SettingParamsCheckboxesCtrl' + if (!updateLocked) { + updateLocked = true; + return $timeout(function() { + return ImpacWidgetsSvc.update(w, { + metadata: zoomMetadata + }, false)["finally"](function() { + return updateLocked = false; + }); + }, 1000); + } }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.params-picker', []); - - module.controller('SettingParamsPickerCtrl', ["$scope", function($scope) { - var setting, w; - w = $scope.parentWidget; - setting = {}; - setting.key = "params-picker"; - setting.isInitialized = false; - setting.initialize = function() { - $scope.sortableOptions = { - 'ui-floating': true, - tolerance: 'pointer' - }; - $scope.applyToDashboard = w.metadata[$scope.param] && w.metadata[$scope.param].reach === 'dashboard'; - $scope.toggleReach = function() { - return setting.reach = $scope.applyToDashboard ? 'dashboard' : 'widget'; - }; - $scope.toggleReach(); - if (_.isEmpty($scope.options)) { - return setting.isInitialized = true; + onClickLegend = function() { + var i, len, ref, results, s, series; + series = this; + ref = $scope.chart.hc.series; + results = []; + for (i = 0, len = ref.length; i < len; i++) { + s = ref[i]; + if (s.userOptions.linkedTo !== series.name) { + continue; + } + if (series.visible) { + results.push(s.hide()); + } else { + results.push(s.show()); + } } + return results; }; - setting.toMetadata = function() { - var param; - param = {}; - param[$scope.param] = { - values: _.compact(_.map($scope.options, function(statusOption) { - if (statusOption.selected) { - return statusOption.value || statusOption.label; - } - })), - reach: setting.reach + w.initContext = function() { + var cashFlowSerie; + cashFlowSerie = _.find(w.content.chart.series, function(serie) { + return serie.name === "Cash flow"; + }); + cashFlowSerie.data = []; + cashFlowSerie.type = 'area'; + cashFlowSerie.showInLegend = false; + return BoltResources.index(w.metadata.bolt_path, 'companies', { + metadata: _.pick(w.metadata, 'organization_ids') + }).then(function(response) { + return $scope.firstCompanyId = response.data.data[0].id; + }); + }; + w.format = function() { + var options; + options = { + chartType: 'line', + chartOnClickCallbacks: [], + currency: w.metadata.currency, + showToday: true, + showLegend: true, + withZooming: { + defaults: w.metadata.xAxis, + callback: onZoom + } }; - return param; + $scope.chart || ($scope.chart = new HighchartsFactory($scope.chartId(), w.content.chart, options)); + $scope.chart.render(w.content.chart, options); + $scope.chart.addCustomLegend(legendFormatter); + $scope.chart.addSeriesEvent('click', onClickBar); + $scope.chart.addSeriesEvent('legendItemClick', onClickLegend); + return $scope.chartDeferred.notify($scope.chart); }; - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); + return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('settingParamsPicker', ["$templateCache", "$translate", function($templateCache, $translate) { + module.directive('widgetAccountsCashProjection', function() { return { restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - param: '@', - options: '=', - hasReach: '=', - description: '@' - }, - link: function(scope, elements, attrs) { - var paramText; - paramText = $translate.instant('impac.widget.settings.params-picker.' + scope.param); - scope.formattedParam = _.includes(paramText, 'impac.widget.settings.params-picker') ? scope.param.replace(/_/g, ' ') : paramText; - if (scope.description == null) { - return scope.description = $translate.instant('impac.widget.settings.params-picker.description'); - } - }, - template: $templateCache.get('widgets-settings/params-picker.tmpl.html'), - controller: 'SettingParamsPickerCtrl' + controller: 'WidgetAccountsCashProjectionCtrl' }; - }]); + }); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets-settings.tag-filter', ['ngTagsInput']); + module = angular.module('impac.components.widgets.accounts-cash-summary', []); - module.directive('settingTagFilter', ["$templateCache", "$timeout", function($templateCache, $timeout) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=' - }, - template: $templateCache.get('widgets-settings/tag-filter.tmpl.html'), - link: function(scope) { - var filterToSettingTags, initiateAutoComplete, loadRules, setting, w; - w = scope.parentWidget; - setting = {}; - setting.key = "tag-filter"; - scope.settingsTags = []; - setting.initialize = function() { - return $timeout(function() { - loadRules(); - initiateAutoComplete(); - return true; - }); - }; - setting.toMetadata = function() { - var filterQuery, filterQueryRules; - filterQueryRules = []; - filterQuery = { - condition: 'OR', - rules: filterQueryRules - }; - angular.forEach(scope.settingsTags, function(settingsTag) { - var filterQueryCondition; - filterQueryCondition = { - condition: 'AND', - rules: [] - }; - angular.forEach(settingsTag.tags, function(filterItem) { - var ruletag; - ruletag = { - value: filterItem.value - }; - if (filterItem.name != null) { - ruletag.name = filterItem.name; - } - return filterQueryCondition.rules.push(ruletag); + module.controller('WidgetAccountsCashSummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "ImpacWidgetsSvc", "$translate", function($scope, $q, ChartFormatterSvc, $filter, ImpacWidgetsSvc, $translate) { + var fetchElement, getIdentifier, matchElementToSelectedElement, selectedElementSetting, settingsPromises, sortAccountsBy, sortData, unCollapsedSetting, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.timePeriodDeferred = $q.defer(); + $scope.widthDeferred = $q.defer(); + $scope.chartDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.widthDeferred.promise, $scope.chartDeferred.promise]; + $scope.ascending = true; + $scope.sortedColumn = 'account'; + w.initContext = function() { + if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.dates)) { + $scope.dates = w.content.dates; + $scope.unCollapsed = w.metadata.unCollapsed || []; + _.map(w.content.summary, function(statement) { + if (statement.name != null) { + return $translate('impac.widget.account_cash_smry.summary.' + statement.name.toLowerCase()).then(function(translation) { + return statement.label = translation; }); - if (settingsTag.tags.length !== 0) { - return filterQueryRules.push(filterQueryCondition); - } - }); - if (filterQuery.rules.length === 0) { - filterQuery = {}; } - return { - filter_query: filterQuery - }; - }; - filterToSettingTags = function(filterQuery) { - var settingsTags; - if (_.isEmpty(filterQuery)) { - return; - } - settingsTags = []; - angular.forEach(filterQuery.rules, function(filterQueryRule) { - var settingRule; - settingRule = { - operator: 'OR', - tags: [] - }; - angular.forEach(filterQueryRule.rules, function(filterQueryRuleCondition) { - var ruletag, tagtext; - tagtext = _.compact([filterQueryRuleCondition.name, filterQueryRuleCondition.value]).join(":"); - ruletag = { - value: filterQueryRuleCondition.value, - text: tagtext - }; - if (filterQueryRuleCondition.name != null) { - ruletag.name = filterQueryRuleCondition.name; - } - return settingRule.tags.push(ruletag); - }); - return settingsTags.push(settingRule); - }); - return settingsTags; - }; - loadRules = function() { - if (_.isEmpty(w.metadata.filter_query)) { - return; - } - return scope.settingsTags = filterToSettingTags(w.metadata.filter_query); - }; - initiateAutoComplete = function() { - var autotags, org, tag_hash, tags; - tags = w.content.available_tags || []; - autotags = []; - for (org in tags) { - tag_hash = tags[org]; - angular.forEach(tag_hash.tag_references, function(tag_ref) { - return angular.forEach(tag_ref.tag_reference_values, function(tag) { - var ruletag, tagtext; - tagtext = _.compact([tag_ref.name, tag.value]).join(":"); - ruletag = { - text: tagtext, - value: tag.value - }; - if (tag_ref.name != null) { - ruletag.name = tag_ref.name; - } - return autotags.push(ruletag); - }); - }); - } - return scope.loadTagList = function(query) { - return _.filter(autotags, function(e) { - return e.text.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }; - }; - scope.addRule = function() { - return scope.settingsTags.push({ - 'operator': 'OR', - 'tags': [] - }); - }; - scope.delRule = function(index) { - return scope.settingsTags.splice(index, 1); - }; - w.settings.push(setting); - return scope.deferred.resolve(setting); - } - }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.time-period', []); - - module.directive('settingTimePeriod', ["$templateCache", "$q", "$log", "$timeout", "$filter", "ImpacTheming", "$translate", function($templateCache, $q, $log, $timeout, $filter, ImpacTheming, $translate) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - histParams: '=?', - hideChartInterval: '=?', - applyChangesCallback: '&?' - }, - template: $templateCache.get('widgets-settings/time-period.tmpl.html'), - link: function(scope) { - var getPeriod, getSetting, getUsedSettingKey, initPeriod, initUsedSetting, settingsPromises, updateFromDate, updateTimeRangePeriod, w; - w = scope.parentWidget; - scope.timePeriodSetting = { - key: "time-period", - settings: [], - isEditMode: true - }; - scope.timeSliderDeferred = $q.defer(); - scope.datesPickerDeferred = $q.defer(); - scope.timePresetsDeferred = $q.defer(); - settingsPromises = [scope.timeSliderDeferred.promise, scope.datesPickerDeferred.promise, scope.timePresetsDeferred.promise]; - scope.resetPreset = $q.defer(); - $translate(["impac.widget.settings.time_period.period.daily", "impac.widget.settings.time_period.period.weekly", "impac.widget.settings.time_period.period.monthly", "impac.widget.settings.time_period.period.quarterly", "impac.widget.settings.time_period.period.yearly", "impac.widget.settings.time_period.period.days", "impac.widget.settings.time_period.period.weeks", "impac.widget.settings.time_period.period.months", "impac.widget.settings.time_period.period.quarters", "impac.widget.settings.time_period.period.years"]).then(function(translations) { - return scope.periods = [ - { - label: translations["impac.widget.settings.time_period.period.daily"], - plural: "days", - value: "DAILY" - }, { - label: translations["impac.widget.settings.time_period.period.weekly"], - plural: "weeks", - value: "WEEKLY" - }, { - label: translations["impac.widget.settings.time_period.period.monthly"], - plural: "months", - value: "MONTHLY" - }, { - label: translations["impac.widget.settings.time_period.period.quarterly"], - plural: "quarters", - value: "QUARTERLY" - }, { - label: translations["impac.widget.settings.time_period.period.yearly"], - plural: "years", - value: "YEARLY" - } - ]; - }); - scope.maxNumberOfPeriods = 20; - if ((ImpacTheming.get().widgetSettings != null) && (ImpacTheming.get().widgetSettings.timePeriod != null) && !_.isEmpty(ImpacTheming.get().widgetSettings.timePeriod.presets)) { - scope.presets = angular.copy(ImpacTheming.get().widgetSettings.timePeriod.presets); - } - scope.applyPreset = function(histParams) { - initPeriod(histParams); - return initUsedSetting(histParams); - }; - scope.timePeriodSetting.initialize = function() { - return $timeout(function() { - initPeriod(); - getSetting('time-presets').initialize(); - return scope.showApplyButton = angular.isDefined(scope.applyChangesCallback); - }); - }; - scope.timePeriodSetting.toMetadata = function() { - var histParams, metadata, sourceSetting; - sourceSetting = getSetting(getUsedSettingKey()); - if (sourceSetting != null) { - histParams = sourceSetting.toMetadata().hist_parameters; - } - histParams.period = getPeriod(); - if ((scope.histParams != null) && (scope.histParams.mode != null)) { - histParams.mode = scope.histParams.mode; - } - metadata = { - hist_parameters: histParams - }; - return metadata; - }; - scope.titleize = function(word) { - if (word !== "FYEARLY") { - return "" + (word.slice(0, 1).toUpperCase()) + (word.slice(1).toLowerCase()); - } else { - return "Yearly (financial)"; - } - }; - getPeriod = function() { - if (scope.timePeriodSetting.period != null) { - return scope.timePeriodSetting.period; - } else { - return initPeriod(); - } - }; - scope.isTimeSliderUsed = function() { - return getUsedSettingKey() === 'time-slider'; - }; - scope.isDatesPickerUsed = function() { - return getUsedSettingKey() === 'dates-picker'; - }; - getUsedSettingKey = function() { - if (scope.usedSetting != null) { - return scope.usedSetting; - } else { - return initUsedSetting(); - } - }; - getSetting = function(key) { - return _.find(scope.timePeriodSetting.settings, function(set) { - return set.key === key; - }); - }; - initPeriod = function(histParams) { - if (histParams == null) { - histParams = null; - } - if (histParams == null) { - histParams = scope.histParams; - } - if ((histParams != null) && (histParams.period != null) && _.find(scope.periods, function(period) { - return period.value === histParams.period; - })) { - scope.timePeriodSetting.period = angular.copy(histParams.period); - } else { - scope.timePeriodSetting.period = "MONTHLY"; - } - return scope.timePeriodSetting.period; - }; - initUsedSetting = function(histParams) { - var minDate, newLetter, pattern, tr; - if (histParams == null) { - histParams = null; - } - if (histParams == null) { - histParams = scope.histParams; - } - if ((histParams != null) && (histParams.from != null)) { - scope.usedSetting = 'dates-picker'; - scope.toDate = histParams.to; - minDate = scope.getMinDate(scope.toDate); - if (moment(histParams.from, "YYYY-MM-DD").isBefore(minDate)) { - scope.fromDate = minDate; - } else { - scope.fromDate = histParams.from; - } - scope.keepToday = histParams.keep_today; - getSetting('dates-picker').initialize(); - } else { - scope.usedSetting = 'time-slider'; - if ((histParams != null) && (histParams.time_range != null)) { - tr = histParams.time_range; - pattern = /([a-z])/; - newLetter = pattern.exec(tr)[1]; - scope.timePeriodSetting.period = angular.copy(_.find(scope.periods, function(p) { - return p.value.slice(0, 1).toLowerCase() === newLetter; - }).value); - scope.timePeriodSetting.timeRange = tr; - } - getSetting('time-slider').initialize(); - } - return scope.usedSetting; - }; - scope.updateSettings = function() { - if (scope.usedSetting === 'time-slider') { - scope.resetPreset.notify('choose-period'); - } else if (scope.usedSetting === 'dates-picker') { - scope.resetPreset.notify('choose-dates'); - } - updateTimeRangePeriod(); - return updateFromDate(); - }; - updateTimeRangePeriod = function() { - var periodLetter, set, tr; - if (scope.isTimeSliderUsed()) { - set = getSetting('time-slider'); - tr = set.toMetadata().hist_parameters.time_range; - periodLetter = getPeriod().slice(0, 1).toLowerCase(); - scope.timePeriodSetting.timeRange = tr.replace(/[a-z]/, periodLetter); - set.initialize(); - } - return scope.timePeriodSetting.timeRange; - }; - updateFromDate = function() { - var fromDate, minDate, set, toDate; - if (scope.isDatesPickerUsed()) { - set = getSetting('dates-picker'); - fromDate = set.toMetadata().hist_parameters.from; - toDate = set.toMetadata().hist_parameters.to; - minDate = scope.getMinDate(); - if (moment(fromDate, "YYYY-MM-DD").isBefore(minDate)) { - scope.toDate = toDate; - scope.fromDate = minDate; - set.initialize(); - } - } - return scope.fromDate; - }; - scope.useTimeSlider = function() { - scope.usedSetting = 'time-slider'; - return scope.updateSettings(); - }; - scope.useDatesPicker = function() { - scope.usedSetting = 'dates-picker'; - return scope.updateSettings(); - }; - scope.getMinDate = function(toDate) { - var currentPeriod, periodWord, sourceSetting, to; - if (toDate == null) { - toDate = void 0; - } - to = moment(); - if (toDate != null) { - to = moment(toDate, "YYYY-MM-DD"); - } else if ((scope.usedSetting != null) && scope.isDatesPickerUsed()) { - sourceSetting = getSetting('dates-picker'); - to = moment(sourceSetting.toMetadata().hist_parameters.to, "YYYY-MM-DD"); - } - currentPeriod = getPeriod(); - periodWord = _.find(scope.periods, function(period) { - return currentPeriod === period.value; - }).plural; - return to.subtract(scope.maxNumberOfPeriods, periodWord); - }; - scope.formattedMinDate = function(toDate) { - if (toDate == null) { - toDate = void 0; - } - return $filter('momentDate')(scope.getMinDate(toDate), 'time-period'); - }; - w.settings.push(scope.timePeriodSetting); - return $q.all(settingsPromises).then(function() { - return scope.deferred.resolve(scope.timePeriodSetting); - }); - } - }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.time-presets', []); - - module.directive('settingTimePresets', ["$templateCache", "ImpacMainSvc", "$timeout", "ImpacUtilities", "ImpacTheming", "$translate", function($templateCache, ImpacMainSvc, $timeout, ImpacUtilities, ImpacTheming, $translate) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - presets: '=?', - onSelect: '&?', - onChooseDates: '&?', - onChoosePeriod: '&?', - histParams: '=?', - resetPromise: '=?' - }, - template: $templateCache.get('widgets-settings/time-presets.tmpl.html'), - link: function(scope) { - var fyEndMonth, initPreset, showSlider, w; - w = scope.parentWidget; - scope.setting = {}; - scope.setting.key = "time-presets"; - scope.financialYearEndMonth = 6; - fyEndMonth = scope.financialYearEndMonth; - ImpacMainSvc.load().then(function() { - return fyEndMonth = ImpacMainSvc.getFinancialYearEndMonth(); - })["finally"](function() { - var fyStartDate, prevFyEndDate, prevFyStartDate, toDate; - fyStartDate = ImpacUtilities.financialYearDates(fyEndMonth).start; - prevFyStartDate = moment(ImpacUtilities.financialYearDates(fyEndMonth).start, 'YYYY-MM-DD').subtract(1, 'year').format('YYYY-MM-DD'); - prevFyEndDate = moment(ImpacUtilities.financialYearDates(fyEndMonth).end, 'YYYY-MM-DD').subtract(1, 'year').format('YYYY-MM-DD'); - toDate = moment().format('YYYY-MM-DD'); - return $translate(['impac.common.period.preset_in_words.calendar_year_to_date', 'impac.common.period.preset_in_words.financial_year_to_date', 'impac.common.period.preset_in_words.previous_financial_year', 'impac.common.period.preset_in_words.last_6_months', 'impac.common.period.preset_in_words.last_4_quarters', 'impac.common.period.preset_in_words.last_4_weeks', 'impac.common.period.preset_in_words.choose_period', 'impac.common.period.preset_in_words.choose_dates']).then(function(translations) { - scope.presets || (scope.presets = [ - { - label: translations['impac.common.period.preset_in_words.calendar_year_to_date'], - value: { - from: moment().startOf('year').format('YYYY-MM-DD'), - to: toDate, - period: 'MONTHLY' - } - }, { - label: translations['impac.common.period.preset_in_words.financial_year_to_date'], - value: { - from: fyStartDate, - to: toDate, - period: 'MONTHLY' - } - }, { - label: translations['impac.common.period.preset_in_words.previous_financial_year'], - value: { - from: prevFyStartDate, - to: prevFyEndDate, - period: 'MONTHLY' - } - }, { - label: translations['impac.common.period.preset_in_words.last_6_months'], - value: { - time_range: '-6m', - to: toDate - } - }, { - label: translations['impac.common.period.preset_in_words.last_4_quarters'], - value: { - time_range: '-4q', - to: toDate - } - }, { - label: translations['impac.common.period.preset_in_words.last_4_weeks'], - value: { - time_range: '-4w', - to: toDate - } - } - ]); - if (angular.isDefined(scope.onChooseDates) && showSlider()) { - scope.presets.unshift({ - label: translations['impac.common.period.preset_in_words.choose_period'], - value: 'choose-period' - }); - } - if (angular.isDefined(scope.onChooseDates)) { - return scope.presets.unshift({ - label: translations['impac.common.period.preset_in_words.choose_dates'], - value: 'choose-dates' - }); - } - }); - }); - if (scope.resetPromise != null) { - scope.resetPromise.then(null, null, function(key) { - return scope.selectedPreset = _.find(scope.presets, function(p) { - return p.value === key; - }); - }); - } - showSlider = function() { - return (ImpacTheming.get().widgetSettings != null) && (ImpacTheming.get().widgetSettings.timePeriod != null) && ImpacTheming.get().widgetSettings.timePeriod.showSlider; - }; - initPreset = function() { - if (scope.histParams != null) { - scope.selectedPreset = _.find(scope.presets, function(p) { - return _.every(p.value, function(v, k) { - return scope.histParams[k] === (angular.isFunction(v) ? v(fyEndMonth) : v); - }); - }); - if ((scope.selectedPreset == null) && (scope.histParams.time_range != null) && showSlider()) { - scope.selectedPreset = scope.presets[1]; - } - } - if (scope.selectedPreset == null) { - return scope.selectedPreset = scope.presets[0]; - } - }; - scope.presetSelected = function() { - if ((scope.selectedPreset != null) && (scope.selectedPreset.value === "choose-dates")) { - return scope.onChooseDates(); - } else if ((scope.selectedPreset != null) && (scope.selectedPreset.value === "choose-period")) { - return scope.onChoosePeriod(); - } else { - return scope.onSelect({ - histParams: scope.setting.toMetadata().hist_parameters - }); - } - }; - scope.setting.initialize = function() { - initPreset(); - scope.presetSelected(); - return true; - }; - scope.setting.toMetadata = function() { - var result; - result = {}; - if (!_.isEmpty(scope.selectedPreset.value)) { - _.forEach(scope.selectedPreset.value, function(value, key) { - if (angular.isFunction(value)) { - return result[key] = value(fyEndMonth); - } else { - return result[key] = value; - } - }); - } - return { - hist_parameters: result - }; - }; - w.settings.push(scope.setting); - return scope.deferred.resolve(scope.setting); - } - }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.time-slider', []); - - module.directive('settingTimeSlider', ["$templateCache", "$timeout", "ImpacMainSvc", "ImpacUtilities", "ImpacTheming", function($templateCache, $timeout, ImpacMainSvc, ImpacUtilities, ImpacTheming) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - timeRange: '=?', - onUse: '&?' - }, - template: $templateCache.get('widgets-settings/time-slider.tmpl.html'), - link: function(scope) { - var PERIODS, getNumberOfPeriods, getPeriod, getPeriodWord, getTimeRange, initFinancialYearEndMonth, initNumberOfPeriods, initPeriod, setting, w; - w = scope.parentWidget; - setting = {}; - setting.key = "time-slider"; - PERIODS = ['d', 'w', 'm', 'q', 'y', 'f']; - setting.initialize = function() { - return $timeout(function() { - initNumberOfPeriods(); - initPeriod(); - initFinancialYearEndMonth(); - return true; - }); - }; - setting.toMetadata = function() { - var histParams; - histParams = { - to: scope.toDate().format('YYYY-MM-DD'), - time_range: getTimeRange() - }; - if (getPeriod() === 'f') { - histParams.from = scope.fromDate().format('YYYY-MM-DD'); - } - return { - hist_parameters: histParams - }; - }; - initNumberOfPeriods = function() { - var n, nPattern, tr; - tr = scope.timeRange; - scope.numberOfPeriods = moment().month(); - if (tr == null) { - return scope.numberOfPeriods; - } - nPattern = /^-?([0-9]{1,2})[a-z]?$/; - n = nPattern.exec(tr); - if ((n != null) && n[1] && parseInt(n[1])) { - scope.numberOfPeriods = parseInt(n[1]); - } - return scope.numberOfPeriods; - }; - initPeriod = function() { - var p, pPattern, period, tr; - tr = scope.timeRange; - scope.period = "m"; - if (tr == null) { - return "m"; - } - pPattern = /^-?[0-9]{0,2}([a-z])$/; - p = pPattern.exec(tr); - period = _.find(PERIODS, function(authPeriod) { - return (p != null) && (p[1] === authPeriod); - }); - if (period != null) { - scope.period = period; - } - return scope.period; - }; - initFinancialYearEndMonth = function() { - scope.financialYearEndMonth = 6; - return ImpacMainSvc.load().then(function(config) { - if ((config != null) && (config.currentOrganization != null) && parseInt(config.currentOrganization.financial_year_end_month)) { - return scope.financialYearEndMonth = parseInt(config.currentOrganization.financial_year_end_month); - } + }); + $translate('impac.widget.account_cash_smry.cash_flow.' + $scope.widget.metadata.hist_parameters.period.toLowerCase()).then(function(translation) { + return $scope.widget.metadata.hist_parameters.period_translation = translation; + }); + if (w.metadata.selectedElement) { + $scope.selectedElement = _.find(w.content.summary, function(statement) { + return statement.name === w.metadata.selectedElement; }); - }; - getPeriod = function() { - if (scope.period != null) { - return scope.period; - } else { - return initPeriod(); - } - }; - getPeriodWord = function() { - return ImpacUtilities.getPeriodWord(getPeriod()); - }; - getNumberOfPeriods = function() { - if (scope.numberOfPeriods != null) { - return scope.numberOfPeriods; - } else { - return initNumberOfPeriods(); - } - }; - getTimeRange = function() { - var n, p; - n = getNumberOfPeriods(); - p = getPeriod(); - return "-" + n + p; - }; - scope.formatPeriod = function() { - return ImpacUtilities.formatPeriod(getNumberOfPeriods(), getPeriod()); - }; - scope.fromDate = function() { - var financialYearStartYear, n, word; - n = getNumberOfPeriods(); - word = getPeriodWord(); - if (word.slice(0, 1) === "f") { - financialYearStartYear = moment().year() - 1; - if (moment().month() >= 6) { - financialYearStartYear = moment().year(); - } - financialYearStartYear = financialYearStartYear - n; - return moment(financialYearStartYear + "-" + (scope.financialYearEndMonth + 1) + "-01", "YYYY-M-DD"); - } else if (word.slice(0, 1) === "w") { - return moment().subtract(n, word).startOf('isoweek'); - } else { - return moment().subtract(n, word).startOf(word); - } - }; - scope.toDate = function() { - return moment(); - }; - w.settings.push(setting); - return scope.deferred.resolve(setting); + $scope.selectedElement || ($scope.selectedElement = fetchElement(w.content.summary)); + } + return sortData(); } }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets-settings.width', []); - - module.controller('SettingWidthCtrl', ["$scope", "$element", "$timeout", "$log", "ImpacWidgetsSvc", "ImpacDashboardsSvc", function($scope, $element, $timeout, $log, ImpacWidgetsSvc, ImpacDashboardsSvc) { - var elem, hideOnResize, i, len, ref, setting, w; - w = $scope.parentWidget; - setting = {}; - setting.key = "width"; - setting.isInitialized = false; - ref = $element.parents(); - for (i = 0, len = ref.length; i < len; i++) { - elem = ref[i]; - if (angular.element(elem).hasClass('content')) { - $scope.contentElements = angular.element(elem).children(); - break; + $scope.getLastDate = function() { + if ($scope.dates != null) { + return $scope.dates[$scope.dates.length - 1]; } - } - hideOnResize = function(elements) { - var j, len1; - if (!(elements && elements.length > 0)) { - return; + }; + $scope.getPrevDate = function() { + if ($scope.dates != null) { + return $scope.dates[$scope.dates.length - 2]; } - for (j = 0, len1 = elements.length; j < len1; j++) { - elem = elements[j]; - angular.element(elem).animate({ - opacity: 0 - }, 0); + }; + $scope.getLastValue = function(element) { + if (element.cash_flows != null) { + return _.last(element.cash_flows); } - return $timeout(function() { - var k, len2, results; - results = []; - for (k = 0, len2 = elements.length; k < len2; k++) { - elem = elements[k]; - results.push(angular.element(elem).animate({ - opacity: 1 - }, 200)); + }; + $scope.formatVariance = function(aVariance) { + if (aVariance != null) { + if (aVariance > 0) { + return "+" + aVariance + " %"; + } else { + return aVariance + " %"; } - return results; - }, 300); + } else { + return "-"; + } }; - w.toggleExpanded = function(save) { - if (save == null) { - save = true; + $scope.getLastVariance = function(element) { + if ((element.variances != null) && (_.last(element.variances) != null)) { + return $scope.formatVariance(_.last(element.variances)); + } else { + return "-"; } - $scope.expanded = !$scope.expanded; - if (save) { - ImpacWidgetsSvc.updateWidgetSettings(w, false, true); + }; + $scope.getVarianceClassColor = function(aVariance) { + if (parseInt(aVariance) > 0) { + return 'positive'; + } else if (parseInt(aVariance) < 0) { + return 'negative'; + } else { + return null; } - hideOnResize($scope.contentElements); - if ($scope.expanded) { - return w.width = parseInt($scope.max); + }; + $scope.getName = function(element) { + if ((element != null) && (element.name != null)) { + return element.name.replace(/_/g, " "); + } + }; + $scope.sort = function(col) { + if ($scope.sortedColumn === col) { + $scope.ascending = !$scope.ascending; } else { - return w.width = parseInt($scope.min); + $scope.ascending = true; + $scope.sortedColumn = col; + } + return sortData(); + }; + $scope.toggleSelectedElement = function(element, statementName) { + if (statementName == null) { + statementName = null; + } + if ($scope.isSelected(element, statementName)) { + $scope.selectedElement = null; + if (w.isExpanded()) { + return w.toggleExpanded(); + } else { + return ImpacWidgetsSvc.updateWidgetSettings(w, false); + } + } else { + $scope.selectedElement = angular.copy(element); + $scope.selectedElement.category = statementName; + w.format(); + if (!w.isExpanded()) { + return w.toggleExpanded(); + } else { + return ImpacWidgetsSvc.updateWidgetSettings(w, false); + } + } + }; + $scope.isSelected = function(element, statementName) { + if (statementName == null) { + statementName = null; + } + return (element != null) && ($scope.selectedElement != null) && (matchElementToSelectedElement(element, statementName, $scope.selectedElement)); + }; + $scope.toggleCollapsed = function(element) { + if ((element != null) && (element.name != null)) { + if (_.find($scope.unCollapsed, (function(name) { + return element.name === name; + }))) { + $scope.unCollapsed = _.reject($scope.unCollapsed, function(name) { + return name === element.name; + }); + } else { + $scope.unCollapsed.push(element.name); + } + return ImpacWidgetsSvc.updateWidgetSettings(w, false); + } + }; + $scope.isCollapsed = function(element) { + if ((element != null) && (element.name != null)) { + if (_.find($scope.unCollapsed, (function(name) { + return element.name === name; + }))) { + return false; + } else { + return true; + } + if ($scope.selectedElement == null) { + return w.width = 6; + } } }; - w.isExpanded = function() { - return $scope.expanded; + $scope.getSelectLineColor = function(elem) { + return ChartFormatterSvc.getColor(0); }; - setting.initialize = function() { - if (w.width != null) { - $scope.expanded = w.width === parseInt($scope.max); - return setting.isInitialized = true; + fetchElement = function(statements) { + var element, i, len, statement; + for (i = 0, len = statements.length; i < len; i++) { + statement = statements[i]; + if (statement.accounts == null) { + continue; + } + element = _.find(statement.accounts, function(acc) { + return getIdentifier(acc, statement.name) === w.metadata.selectedElement; + }); + if (element != null) { + element = angular.merge(angular.copy(element), { + category: statement.name + }); + return element; + } } }; - setting.toMetadata = function() { - var newWidth; - if ($scope.expanded) { - newWidth = $scope.max; - } else { - newWidth = $scope.min; + matchElementToSelectedElement = function(element, elementCategory, sElem) { + if (elementCategory == null) { + elementCategory = null; } - return { - width: parseInt(newWidth) - }; + return getIdentifier(element, elementCategory) === getIdentifier(sElem); }; - ImpacDashboardsSvc.pdfModeEnabled().then(null, null, function() { - $scope.pdfMode = true; - $scope.initiallyExpanded = !!$scope.expanded; - if (!$scope.initiallyExpanded) { - return w.toggleExpanded(false); - } - }); - ImpacDashboardsSvc.pdfModeCanceled().then(null, null, function() { - $scope.pdfMode = false; - if (!$scope.initiallyExpanded) { - return w.toggleExpanded(false); + getIdentifier = function(element, category) { + var id; + if (category == null) { + category = null; } - }); - w.settings.push(setting); - return $scope.deferred.resolve($scope.parentWidget); - }]); - - module.directive('settingWidth', ["$templateCache", function($templateCache) { - return { - restrict: 'A', - scope: { - parentWidget: '=', - deferred: '=', - min: '@', - max: '@' - }, - template: $templateCache.get('widgets-settings/width.tmpl.html'), - controller: 'SettingWidthCtrl' - }; - }]); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets.accounts-accounting-values', []); - - module.controller('WidgetAccountsAccountingValuesCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { - var settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.timePeriodDeferred = $q.defer(); - $scope.histModeDeferred = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.histModeDeferred.promise, $scope.chartDeferred.promise]; - w.initContext = function() { - $scope.isDataFound = (w.content != null) && (w.content.accounting != null); - $scope.getLegend(); - return $scope.getCurrency(); - }; - $scope.getCurrentPrice = function() { - if ($scope.isDataFound) { - return w.content.accounting.total_period; + id = element.id || element.name; + category || (category = element.category); + if (!category) { + return id; } + return category + "-" + id; }; - $scope.getCurrency = function() { - if ($scope.isDataFound) { - if (w.content.accounting.currency_key != null) { - return $translate(w.content.accounting.currency_key).then(function(translation) { - $scope.currency = translation; - return $scope.currency_unit = w.content.accounting.currency; + sortAccountsBy = function(getElem) { + return angular.forEach(w.content.summary, function(sElem) { + if (sElem.accounts) { + return sElem.accounts.sort(function(a, b) { + var res; + res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; + if (!$scope.ascending) { + res *= -1; + } + return res; }); - } else { - $scope.currency = w.content.accounting.currency; - return $scope.currency_unit = w.content.accounting.currency; } - } + }); }; - $scope.getLegend = function() { - if ($scope.isDataFound) { - if (w.content.accounting.legend_key != null) { - return $translate(w.content.accounting.legend_key).then(function(translation) { - return $scope.legend = translation; - }); - } else { - return $scope.legend = w.content.accounting.legend; - } + sortData = function() { + if ($scope.sortedColumn === 'account') { + return sortAccountsBy(function(el) { + return el.name; + }); + } else if ($scope.sortedColumn === 'total') { + return sortAccountsBy(function(el) { + return $scope.getLastValue(el); + }); + } else if ($scope.sortedColumn === 'variance') { + return sortAccountsBy(function(el) { + return $scope.getLastVariance(el); + }); } }; $scope.drawTrigger = $q.defer(); w.format = function() { var all_values_are_positive, chartData, data, dates, inputData, options, period; - if ($scope.isDataFound) { - data = angular.copy(w.content.accounting); + if ($scope.isDataFound && ($scope.selectedElement != null)) { + data = angular.copy($scope.selectedElement); period = null; if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { period = w.metadata.hist_parameters.period; } - dates = _.map(data.dates, function(date) { + dates = _.map(w.content.dates, function(date) { return $filter('momentDate')(date, period); }); inputData = { labels: dates, datasets: [ { - title: data.type, - values: data.values + title: data.label, + values: data.cash_flows } ] }; all_values_are_positive = true; - angular.forEach(data.values, function(value) { + angular.forEach(data.cash_flows, function(value) { return all_values_are_positive && (all_values_are_positive = value >= 0); }); options = { scaleBeginAtZero: all_values_are_positive, - showXLabels: false, - currency: data.currency + showXLabels: true }; - chartData = ChartFormatterSvc.combinedBarChart(inputData, options, false); + chartData = ChartFormatterSvc.combinedBarChart(inputData, options); return $scope.drawTrigger.notify(chartData); } }; - return $scope.widgetDeferred.resolve(settingsPromises); - }]); - - module.directive('widgetAccountsAccountingValues', function() { - return { - restrict: 'A', - controller: 'WidgetAccountsAccountingValuesCtrl' - }; - }); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets.accounts-assets-liability-summary', []); - - module.controller('WidgetAccountsAssetsLiabilitySummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$translate", function($scope, $q, ChartFormatterSvc, $translate) { - var settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.chartDeferred = $q.defer(); - $scope.paramSelectorDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.chartDeferred.promise, $scope.paramSelectorDeferred.promise]; - w.initContext = function() { - $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary); - if (!w.metadata.classification) { - w.metadata.classification = "ASSET"; - } - $translate('impac.widget.acc_ass_liab_smry.' + w.metadata.classification.toLowerCase() + '.many').then(function(result) { - return $scope.classification = result; - }); - $translate(['impac.widget.acc_ass_liab_smry.accounts.asset', 'impac.widget.acc_ass_liab_smry.accounts.liability']).then(function(translation) { - $scope.accountsOptions = [ - { - label: translation['impac.widget.acc_ass_liab_smry.accounts.asset'], - value: 'ASSET' - }, { - label: translation['impac.widget.acc_ass_liab_smry.accounts.liability'], - value: 'LIABILITY' - } - ]; - if (!$scope.selectedAccountsOption) { - return $scope.selectedAccountsOption = angular.copy(_.find($scope.accountsOptions, { - value: w.metadata.classification - })); - } - }); - if ($scope.isDataFound) { - if (w.metadata.organization_ids.length > 1) { - return $scope.dataSource = w.content.repartition; - } else { - return $scope.dataSource = w.content.summary; - } - } + unCollapsedSetting = {}; + unCollapsedSetting.initialized = false; + unCollapsedSetting.initialize = function() { + return unCollapsedSetting.initialized = true; }; - $scope.getCurrency = function() { - if ($scope.isDataFound) { - return w.content.currency; - } + unCollapsedSetting.toMetadata = function() { + return { + unCollapsed: $scope.unCollapsed + }; }; - $scope.getAccountColor = function(elem) { - if ($scope.isDataFound) { - return ChartFormatterSvc.getColor(_.indexOf($scope.dataSource, elem)); - } + w.settings.push(unCollapsedSetting); + selectedElementSetting = {}; + selectedElementSetting.initialized = false; + selectedElementSetting.initialize = function() { + return selectedElementSetting.initialized = true; }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var chartData, pieData, pieOptions; - if ($scope.isDataFound) { - pieData = _.map($scope.dataSource, function(company) { - return { - label: company.label, - value: company.total - }; - }); - pieOptions = { - percentageInnerCutout: 50, - tooltipFontSize: 12 + selectedElementSetting.toMetadata = function() { + if ($scope.selectedElement == null) { + return { + selectedElement: null }; - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); - return $scope.drawTrigger.notify(chartData); } + return { + selectedElement: getIdentifier($scope.selectedElement) + }; }; + w.settings.push(selectedElementSetting); return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsAssetsLiabilitySummary', function() { + module.directive('widgetAccountsCashSummary', function() { return { restrict: 'A', - controller: 'WidgetAccountsAssetsLiabilitySummaryCtrl' + controller: 'WidgetAccountsCashSummaryCtrl' }; }); @@ -8290,65 +7419,95 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 1) { - $scope.dataSource = w.content.repartition; - } else { - $scope.dataSource = w.content.summary; + $scope.classifications = _.map(w.content.summary, function(summary) { + var klass; + klass = summary.classification; + return { + label: translate(klass), + labelTranslate: summary.classification_key != null ? summary.classification_key : void 0, + value: klass + }; + }); + if (!$scope.selectedClassification) { + return $scope.selectedClassification = angular.copy(_.find($scope.classifications, { + value: w.metadata.classification || $scope.classifications[0].value + })); } } - if (!w.metadata.classification) { - w.metadata.classification = "ASSET"; - } - return $translate('impac.widget.acc_ass_smry.' + w.metadata.classification.toLowerCase() + ".many").then(function(result) { - return $scope.classification = result; - }); }; - $scope.getCurrency = function() { - if ($scope.isDataFound) { - return w.content.currency; + $scope.getTotals = function() { + var amount; + if (!$scope.selectedClassification) { + return []; } + return amount = _.find(w.content.summary, function(sum) { + return sum.classification === $scope.selectedClassification.value; + }).totals; }; - $scope.getAccountColor = function(elem) { - if ($scope.isDataFound) { - return ChartFormatterSvc.getColor(_.indexOf($scope.dataSource, elem)); - } + $scope.getAmount = function(index) { + var amount; + amount = $scope.getTotals()[index]; + return $filter('mnoCurrency')(amount, w.content.currency); + }; + $scope.getAccountColor = function(anEntity) { + return ChartFormatterSvc.getColor(_.indexOf(w.content.companies, anEntity)); }; $scope.drawTrigger = $q.defer(); w.format = function() { - var chartData, pieData, pieOptions; + var chartData, inputData, options; if ($scope.isDataFound) { - pieData = _.map($scope.dataSource, function(company) { - return { - label: company.label, - value: company.total - }; - }); - pieOptions = { - percentageInnerCutout: 50, - tooltipFontSize: 12 + inputData = {}; + inputData.labels = w.content.companies; + inputData.values = $scope.getTotals(); + if (inputData.labels.length > 15) { + inputData.labels.length = 15; + } + if (inputData.values.length > 15) { + inputData.values.length = 15; + } + options = { + showTooltips: false, + showXLabels: false, + barValueSpacing: Math.max(8 - w.content.companies.length, 1) }; - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); + chartData = ChartFormatterSvc.barChart(inputData, options); return $scope.drawTrigger.notify(chartData); } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsAssetsSummary', function() { + module.directive('widgetAccountsClassComparison', function() { return { restrict: 'A', - controller: 'WidgetAccountsAssetsSummaryCtrl' + controller: 'WidgetAccountsClassComparisonCtrl' }; }); @@ -8357,80 +7516,145 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 1) { + angular.merge($scope.comparisonModeOptions, w.metadata.comparison_mode); + } + $scope.savedAccountsList = gatherSavedAccounts(); + $scope.isDataFound = (w.content != null) && !_.isEmpty(w.content.complete_list) || $scope.isComparisonMode(); + $scope.noComparableAccounts = $scope.isComparisonMode() && (w.content != null) && _.isEmpty(w.content.complete_list); + return $scope.canSelectComparisonMode = scanAccountsForMultiOrgData(); + }); + }; + scanAccountsForMultiOrgData = function() { + if (w.content == null) { + return false; + } + return _.uniq(_.pluck(w.content.complete_list, 'org_name')).length > 1; + }; + $scope.isComparisonMode = function() { + return _.result(_.find($scope.comparisonModeOptions, 'id', 'compare_accounts'), 'value') || false; + }; + $scope.hasAccountsSelected = function() { + return w.selectedAccounts && w.selectedAccounts.length > 0; + }; + $scope.getAccountColor = function(anAccount) { + if ($scope.isComparisonMode()) { + return ChartFormatterSvc.getColor(_.indexOf(w.selectedAccounts[0].accounts, anAccount)); + } else { + return ChartFormatterSvc.getColor(_.indexOf(w.selectedAccounts, anAccount)); + } + }; + $scope.addAccount = function(anAccount) { + if (!anAccount) { + return; + } + w.moveAccountToAnotherList(anAccount, w.remainingAccounts, w.selectedAccounts); + $scope.savedAccountsList.push(anAccount.uid); + return w.format(); + }; + $scope.removeAccount = function(anAccount) { + if (!anAccount) { + return; + } + w.moveAccountToAnotherList(anAccount, w.selectedAccounts, w.remainingAccounts); + $scope.savedAccountsList.splice($scope.savedAccountsList.indexOf(anAccount.uid), 1); + return w.format(); + }; + $scope.formatAmount = function(anAccount) { + return $filter('mnoCurrency')(anAccount.current_balance, anAccount.currency); + }; + gatherSavedAccounts = function() { + var areGrouped, group, i, len, savedUids, uid; + savedUids = w.metadata.accounts_list; + if (_.isEmpty(savedUids)) { + return []; + } + areGrouped = savedUids[0].indexOf(':') >= 0; + if (!$scope.isComparisonMode() && areGrouped) { + return _.flatten(_.map(savedUids, function(a) { + return a.split(':'); + })); + } else if ($scope.isComparisonMode() && !areGrouped) { + for (i = 0, len = savedUids.length; i < len; i++) { + uid = savedUids[i]; + group = _.find(w.content.complete_list, function(group) { + return group.uid.indexOf(uid) >= 0; + }); + if (group) { + return [group.uid]; + } + } + return []; + } else { + return savedUids; } }; - $scope.assetsColor = ChartFormatterSvc.getColor(0); - $scope.liabilitiesColor = ChartFormatterSvc.getColor(1); $scope.drawTrigger = $q.defer(); w.format = function() { - var chartData, datasets, inputData, options; - if ($scope.isDataFound) { - datasets = _.map(w.content.summary, function(sum) { - if (_.includes(['ASSET', 'LIABILITY'], sum.classification)) { - return { - title: $scope.classificationTranslation[sum.classification], - values: sum.totals - }; + var inputData; + inputData = { + labels: [], + values: [] + }; + return $timeout(function() { + var account, chartData, groupedAccount, i, j, len, len1, options, ref, ref1; + ref = w.selectedAccounts; + for (i = 0, len = ref.length; i < len; i++) { + account = ref[i]; + if ($scope.isComparisonMode()) { + ref1 = account.accounts; + for (j = 0, len1 = ref1.length; j < len1; j++) { + groupedAccount = ref1[j]; + inputData.labels.push(groupedAccount.name); + inputData.values.push(groupedAccount.current_balance); + } + } else { + inputData.labels.push(account.name); + inputData.values.push(account.current_balance); } - }); - datasets = _.sortByOrder(datasets, ['title']); - inputData = { - labels: w.content.companies, - datasets: _.compact(datasets) - }; + } + while (inputData.values.length < 15) { + inputData.labels.push(""); + inputData.values.push(null); + } options = { showTooltips: false, showXLabels: false, - barValueSpacing: Math.max(8 - w.content.companies.length, 1) + barDatasetSpacing: 9 }; - chartData = ChartFormatterSvc.combinedBarChart(inputData, options); + chartData = ChartFormatterSvc.barChart(inputData, options); return $scope.drawTrigger.notify(chartData); - } + }, 500); }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsAssetsVsLiabilities', function() { + module.directive('widgetAccountsComparison', function() { return { restrict: 'A', - controller: 'WidgetAccountsAssetsVsLiabilitiesCtrl' + controller: 'WidgetAccountsComparisonCtrl' }; }); @@ -8439,104 +7663,145 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); + return value; + }); + inputData.push({ + title: 'Test Data', labels: dates, - datasets: [ - { - title: data.name, - values: data.balances - } - ] - }; - all_values_are_positive = true; - angular.forEach(data.balances, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); + values: data }); options = { scaleBeginAtZero: all_values_are_positive, - showXLabels: false + showXLabels: false, + datasetFill: true, + pointDot: true }; - chartData = ChartFormatterSvc.lineChart([lineData], options); - if ($scope.getBehaviour() === 'pnl') { - chartData = ChartFormatterSvc.combinedBarChart(barData, options, false); - } + chartData = ChartFormatterSvc.lineChart(inputData, options); return $scope.drawTrigger.notify(chartData); + }, 500); + }; + $scope.addAccountToFormula = function(account) { + if (account == null) { + return; + } + if (w.selectedAccounts.length > 0) { + w.formula += " + {" + (w.selectedAccounts.length + 1) + "}"; + } else { + w.formula = "{1}"; + } + return w.moveAccountToAnotherList(account, w.remainingAccounts, w.selectedAccounts, false); + }; + $scope.removeAccountFromFormula = function(account) { + var diffAccountIndex, diffAccountUid, i, indexPattern, newFormula, nextUids, prevUids, removePattern; + prevUids = _.map(w.selectedAccounts, function(e) { + return e.uid; + }); + nextUids = _.reject(prevUids, function(e) { + return e === account.uid; + }); + diffAccountUid = _.first(_.difference(prevUids, nextUids)); + diffAccountIndex = _.indexOf(prevUids, diffAccountUid) + 1; + if (diffAccountIndex === 1) { + removePattern = "{" + diffAccountIndex + "\\}\\s*(-|\\*|\\/|\\+)*\\s*"; + } else { + removePattern = "\\s*(-|\\*|\\/|\\+)*\\s*\\{" + diffAccountIndex + "\\}"; + } + newFormula = angular.copy(w.formula).replace(new RegExp(removePattern, 'g'), ''); + i = diffAccountIndex + 1; + while (i <= prevUids.length) { + indexPattern = "\\{" + i + "\\}"; + newFormula = newFormula.replace(new RegExp(indexPattern, 'g'), "{" + (i - 1) + "}"); + i++; + } + w.formula = angular.copy(newFormula); + return w.moveAccountToAnotherList(account, w.selectedAccounts, w.remainingAccounts, false); + }; + $scope.formulaModal = $scope.$new(); + $scope.formulaModal.config = { + backdrop: 'static', + template: $templateCache.get('widgets/accounts-custom-calculation/formula.modal.html'), + size: 'lg', + scope: $scope.formulaModal, + keyboard: false + }; + $scope.formulaModal.open = function() { + var self; + self = $scope.formulaModal; + self.modalOrgDeferred = $q.defer(); + self.timePeriodDeferred = $q.defer(); + _.remove(w.settings, (function(set) { + return set.key === "organizations"; + })); + self.instance = $uibModal.open(self.config); + return $q.all([self.modalOrgDeferred.promise, self.timePeriodDeferred.promise]).then(function(success) { + return $scope.initSettings(); + }); + }; + $scope.reloadAccountsLists = function(orgs) { + if ((orgs != null) && _.some(_.values(orgs))) { + return $scope.updateWidgetSettings(); } }; + $scope.updateWidgetSettings = function() { + return ImpacWidgetsSvc.updateWidgetSettings(w); + }; + $scope.formulaModal.cancel = function() { + $scope.initSettings(); + return $scope.formulaModal.close(); + }; + $scope.formulaModal.proceed = function() { + ImpacWidgetsSvc.updateWidgetSettings(w); + return $scope.formulaModal.close(); + }; + $scope.formulaModal.close = function() { + return $scope.formulaModal.instance.close(); + }; + $scope.$watch((function() { + return w.isEditMode; + }), function(result, prev) { + if (result && !prev) { + return $scope.formulaModal.open(); + } + }); return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsBalance', function() { + module.directive('widgetAccountsCustomCalculation', function() { return { restrict: 'A', - controller: 'WidgetAccountsBalanceCtrl' + controller: 'WidgetAccountsCustomCalculationCtrl' }; }); @@ -8545,71 +7810,77 @@ $templateCache.put("widgets-settings/width.tmpl.html","\n
\n \n
\n
\n \n
\n
"; + $scope.timePeriodDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise]; + $scope.timePeriodInfoParams = { + accountingBehaviour: 'pnl', + histParams: {} + }; $scope.ascending = true; $scope.sortedColumn = 'account'; - $scope.filterTagsEnabled = ImpacTheming.get().widgetSettings.tagging.enabled; - $scope.isReportFiltered = function() { - return (w.metadata != null) && (w.metadata.filter_query != null) && Object.keys(w.metadata.filter_query).length > 0; - }; - initDates = function() { - $scope.fromDate = w.metadata.hist_parameters.from; - $scope.toDate = w.metadata.hist_parameters.to; - return $scope.keepToday = w.metadata.hist_parameters.keep_today; - }; - if (!((w.metadata != null) && (w.metadata.hist_parameters != null))) { - w.metadata || (w.metadata = {}); - w.metadata.hist_parameters = { - to: moment().format('YYYY-MM-DD'), - keep_today: true, - period: 'RANGE' - }; - ImpacMainSvc.load().then(function(config) { - var fyEndMonth; - fyEndMonth = parseInt(config.currentOrganization.financial_year_end_month) || 6; - w.metadata.hist_parameters.from = moment(ImpacUtilities.financialYearDates(fyEndMonth).end, 'YYYY-MM-DD').subtract(1, 'year').format('YYYY-MM-DD'); - return initDates(); - }); - } else { - initDates(); - } w.initContext = function() { - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.dates)) { - $scope.dates = w.content.dates; + $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.companies); + if ($scope.isDataFound) { + $scope.timePeriodInfoParams.histParams = w.metadata && w.metadata.hist_parameters; $scope.unCollapsed = w.metadata.unCollapsed || []; - $scope.categories = []; - translateCategories(Object.keys(w.content.summary)); + if (w.content.companies.length === 1) { + $scope.multiEntity = false; + $scope.dataSource = _.map(w.content.companies[0].classifications, function(klass) { + return { + label: klass.name, + value: klass.total, + currency: klass.currency, + entries: _.map(klass.accounts, function(acc) { + return { + label: acc.name, + value: acc.balance, + currency: acc.currency + }; + }) + }; + }); + } else { + $scope.multiEntity = true; + $scope.dataSource = _.map(w.content.companies, function(company) { + return { + label: company.name, + entries: _.map(company.classifications, function(klass) { + return { + label: klass.name, + value: klass.total, + currency: klass.currency + }; + }) + }; + }); + } + return sortData(); } - initDates(); - return sortData(); }; - $scope.toggleCollapsed = function(categoryName) { - if (categoryName != null) { + $scope.toggleCollapsed = function(groupName) { + if (groupName != null) { if (_.find($scope.unCollapsed, (function(name) { - return categoryName === name; + return groupName === name; }))) { $scope.unCollapsed = _.reject($scope.unCollapsed, function(name) { - return name === categoryName; + return name === groupName; }); } else { - $scope.unCollapsed.push(categoryName); + $scope.unCollapsed.push(groupName); } return ImpacWidgetsSvc.updateWidgetSettings(w, false); } }; - $scope.isCollapsed = function(categoryName) { - if (categoryName != null) { + $scope.isCollapsed = function(groupName) { + if (groupName != null) { if (_.find($scope.unCollapsed, (function(name) { - return categoryName === name; + return groupName === name; }))) { return false; } else { @@ -8617,27 +7888,10 @@ $templateCache.put("widgets-settings/width.tmpl.html"," getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; if (!$scope.ascending) { @@ -8651,15 +7905,11 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); + }); + }); + lineData = { + labels: dates, + datasets: datasets + }; + lineOptions = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: false, + currency: "(ratio)" + }; + chartData = ChartFormatterSvc.combinedBarChart(lineData, lineOptions, false, true); + } else { + companies = _.map(w.content.summary, function(s) { + return s.company; + }); + ratios = _.map(w.content.summary, function(s) { + return s.ratio; + }); + if (companies.length === 1) { + companies.push(companies[0]); + ratios.push(ratios[0]); + } + inputData = { + labels: companies, + values: ratios + }; + options = { + scales: { + yAxes: [ + { + ticks: { + suggestedMin: 0, + suggestedMax: 100, + maxTicksLimit: 5 + } + } + ] + }, + showXLabels: false, + pointDot: false, + currency: '%' + }; + chartData = ChartFormatterSvc.lineChart([inputData], options); } - }); - if (!updateLocked) { - updateLocked = true; - return $timeout(function() { - return ImpacWidgetsSvc.update(w, { - metadata: zoomMetadata - }, false)["finally"](function() { - return updateLocked = false; - }); - }, 1000); + return $scope.drawTrigger.notify(chartData); } }; - w.format = function() { - var options; - options = { - chartType: 'line', - currency: w.metadata.currency, - period: getPeriod(), - showToday: true, - showLegend: false, - withZooming: { - defaults: w.metadata.xAxis, - callback: onZoom - } - }; - return $timeout(function() { - $scope.chart || ($scope.chart = new HighchartsFactory($scope.chartId(), w.content.chart, options)); - return $scope.chart.render(w.content.chart, options); - }); - }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsCashBalance', function() { + module.directive('widgetAccountsExpenseWeight', function() { return { restrict: 'A', - controller: 'WidgetAccountsCashBalanceCtrl' + controller: 'WidgetAccountsExpenseWeightCtrl' }; }); @@ -8844,260 +8072,219 @@ $templateCache.put("widgets-settings/width.tmpl.html","
" + name; - }; - $scope.chartId = function() { - return "cashProjectionChart-" + w.id; - }; $scope.orgDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise]; - $scope.trxList = { - display: false, - updated: false, - transactions: [] - }; - $scope.trxList.show = function() { - return $scope.trxList.display = true; - }; - $scope.trxList.hide = function() { - $scope.trxList.display = false; - if ($scope.trxList.updated) { - return ImpacWidgetsSvc.show(w).then(function() { - return $scope.trxList.updated = false; - }); + $scope.timePeriodDeferred = $q.defer(); + $scope.histModeDeferred = $q.defer(); + $scope.chartDeferred = $q.defer(); + $scope.paramsCheckboxesDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.histModeDeferred.promise, $scope.chartDeferred.promise, $scope.paramsCheckboxesDeferred.promise]; + w.initContext = function() { + $scope.isDataFound = (w.content != null) && (w.content.values != null); + $scope.displayOptions = [ + { + id: 'show_net_profit', + label: $translate.instant('impac.widget.accounts_expenses_revenue.show_net_profit'), + value: false, + onChangeCallback: $scope.toggleDisplayNetProfit + } + ]; + if (angular.isDefined((w.metadata != null) && (w.metadata.display != null))) { + angular.merge($scope.displayOptions, w.metadata.display); } + return $scope.isNetProfitDisplayed = !!$scope.displayOptions[0].value; }; - $scope.trxList.fetch = function(currentPage) { - var params; - if (currentPage == null) { - currentPage = 1; + $scope.getCurrentRevenue = function() { + if ($scope.isDataFound) { + return _.sum(w.content.values.revenue); } - params = angular.merge($scope.trxList.params, { - metadata: _.pick(w.metadata, 'organization_ids'), - page: { - number: currentPage - } - }); - return BoltResources.index(w.metadata.bolt_path, $scope.trxList.resources, params).then(function(response) { - var i, len, ref, trx; - _.remove($scope.trxList.transactions, function() { - return true; - }); - ref = response.data.data; - for (i = 0, len = ref.length; i < len; i++) { - trx = ref[i]; - $scope.trxList.transactions.push(angular.merge(trx.attributes, { - id: trx.id - })); - } - return $scope.trxList.totalRecords = response.data.meta.record_count; - })["finally"](function() { - return $scope.trxList.show(); - }); }; - $scope.trxList.updateParams = function(resources, filter) { - $scope.trxList.resources = resources; - return $scope.trxList.params = { - filter: filter - }; + $scope.getCurrentExpenses = function() { + if ($scope.isDataFound) { + return _.sum(w.content.values.expenses); + } }; - $scope.trxList.showAll = function(resources) { - var filter; - if (resources == null) { - resources = 'invoices'; + $scope.getCurrency = function() { + if ($scope.isDataFound) { + return w.content.currency; } - filter = { - status: ['AUTHORISED', 'APPROVED', 'SUBMITTED', 'FORECAST'] - }; - $scope.trxList.updateParams(resources, filter); - return $scope.trxList.fetch(); }; - $scope.trxList.updateExpectedDate = function(trxId, date) { - return BoltResources.update(w.metadata.bolt_path, $scope.trxList.resources, trxId, { - expected_payment_date: moment(date).format('YYYY-MM-DD') - }).then(function() { - return $scope.trxList.updated = true; - }); + $scope.toggleDisplayNetProfit = function() { + $scope.isNetProfitDisplayed = !!$scope.displayOptions[0].value; + $scope.updateSettings(false); + return w.format(); }; - $scope.trxList.changeResourcesType = function(resourcesType) { - if (resourcesType === $scope.trxList.resources) { - return; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var all_values_are_positive, chartData, datasets, dates, lineData, lineOptions, period, pieData, pieOptions; + if ($scope.isDataFound) { + if (w.isHistoryMode) { + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; + } + dates = _.map(w.content.dates, function(date) { + return $filter('momentDate')(date, period); + }); + if ($scope.isNetProfitDisplayed) { + datasets = [ + { + title: $translate.instant('impac.widget.accounts_expenses_revenue.net_profit') + (" (" + ($scope.getCurrency()) + ")"), + values: w.content.values.net_profit + } + ]; + all_values_are_positive = true; + angular.forEach(w.content.values.net_profit, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + } else { + datasets = [ + { + title: $translate.instant('impac.widget.accounts_expenses_revenue.expenses') + (" (" + ($scope.getCurrency()) + ")"), + values: w.content.values.expenses + }, { + title: $translate.instant('impac.widget.accounts_expenses_revenue.revenue') + (" (" + ($scope.getCurrency()) + ")"), + values: w.content.values.revenue + } + ]; + all_values_are_positive = true; + angular.forEach(w.content.values.expenses, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + angular.forEach(w.content.values.revenue, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + } + lineData = { + labels: dates, + datasets: datasets + }; + lineOptions = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: false + }; + chartData = ChartFormatterSvc.combinedBarChart(lineData, lineOptions, false, true); + } else { + pieData = [ + { + label: $translate.instant('impac.widget.accounts_expenses_revenue.expenses') + (" (" + ($scope.getCurrency()) + ")"), + value: $scope.getCurrentExpenses() + }, { + label: $translate.instant('impac.widget.accounts_expenses_revenue.revenue') + (" (" + ($scope.getCurrency()) + ")"), + value: $scope.getCurrentRevenue() + } + ]; + pieOptions = { + tooltipFontSize: 12, + percentageInnerCutout: 0 + }; + chartData = ChartFormatterSvc.pieChart(pieData, pieOptions, true); + } + return $scope.drawTrigger.notify(chartData); } - $scope.trxList.resources = resourcesType; - return $scope.trxList.fetch(); }; - $scope.trxList.deleteTransaction = function(resourcesType, trxId) { - _.remove($scope.trxList.transactions, function(trx) { - return trx.id === trxId; - }); - return BoltResources.destroy(w.metadata.bolt_path, resourcesType, trxId).then(function() { - return $scope.trxList.updated = true; - }); + return $scope.widgetDeferred.resolve(settingsPromises); + }]); + + module.directive('widgetAccountsExpensesRevenue', function() { + return { + restrict: 'A', + controller: 'WidgetAccountsExpensesRevenueCtrl' }; + }); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets.accounts-payable-receivable', []); + + module.controller('WidgetAccountsPayableReceivableCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { + var settingsPromises, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.timePeriodDeferred = $q.defer(); + $scope.histModeDeferred = $q.defer(); $scope.chartDeferred = $q.defer(); - $scope.chartPromise = $scope.chartDeferred.promise; - $scope.chartThresholdOptions = { - label: 'Get alerted when the cash projection goes below' + settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.histModeDeferred.promise, $scope.chartDeferred.promise]; + w.initContext = function() { + return $scope.isDataFound = (w.content != null) && (w.content.values != null) && (w.content.live_values != null); }; - $scope.addForecastPopup = { - resourcesType: 'invoices', - display: false, - show: function() { - return this.display = true; - }, - hide: function() { - return this.display = false; + $scope.getCurrentPayable = function() { + if ($scope.isDataFound) { + return _.last(w.content.values.payables); + } else { + return 0.0; } }; - $scope.addForecastPopup.createTransaction = function(trx) { - return BoltResources.create(w.metadata.bolt_path, this.resourcesType, { - title: trx.name, - transaction_number: "FOR-" + (Math.ceil(Math.random() * 10000)), - amount: trx.amount, - balance: trx.amount, - transaction_date: moment().format('YYYY-MM-DD'), - due_date: moment(trx.datePicker.date).format('YYYY-MM-DD'), - status: 'FORECAST', - currency: w.metadata.currency - }, { - company: { - data: { - type: 'companies', - id: $scope.firstCompanyId - } - } - }).then(function() { - return ImpacWidgetsSvc.show(w); - }); - }; - onClickBar = function(event) { - var filter, resources, series; - series = this; - resources = (function() { - switch (series.userOptions.stack) { - case 'Payables': - return 'bills'; - case 'Receivables': - return 'invoices'; - } - })(); - if (resources == null) { - return; + $scope.getCurrentReceivable = function() { + if ($scope.isDataFound) { + return _.last(w.content.values.receivables); + } else { + return 0.0; } - filter = { - expected_payment_date: dateFilter(event.point.x), - status: ['AUTHORISED', 'APPROVED', 'SUBMITTED', 'FORECAST'] - }; - $scope.trxList.updateParams(resources, filter); - return $scope.trxList.fetch(); }; - legendFormatter = function() { - var name; - name = this.name; - if (name !== 'Projected cash') { - return imgTemplate(imgSrc(name), name); + $scope.getCurrency = function() { + if ($scope.isDataFound) { + return w.content.currency; } - return imgTemplate(imgSrc(name), name) + '
' + imgTemplate(imgSrc('cashFlow'), 'Cash flow'); }; - onZoom = function(event) { - zoomMetadata = angular.merge(w.metadata, { - xAxis: { - max: event.max, - min: event.min + $scope.drawTrigger = $q.defer(); + w.format = function() { + var all_values_are_positive, dates, i, j, len, len1, lineOptions, period, ref, ref1, value; + if ($scope.isDataFound) { + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; } - }); - if (!updateLocked) { - updateLocked = true; - return $timeout(function() { - return ImpacWidgetsSvc.update(w, { - metadata: zoomMetadata - }, false)["finally"](function() { - return updateLocked = false; - }); - }, 1000); - } - }; - onClickLegend = function() { - var i, len, ref, results, s, series; - series = this; - ref = $scope.chart.hc.series; - results = []; - for (i = 0, len = ref.length; i < len; i++) { - s = ref[i]; - if (s.userOptions.linkedTo !== series.name) { - continue; + dates = _.map(w.content.dates, function(date) { + return $filter('momentDate')(date, period); + }); + all_values_are_positive = true; + ref = w.content.values.payables; + for (i = 0, len = ref.length; i < len; i++) { + value = ref[i]; + all_values_are_positive && (all_values_are_positive = value >= 0); } - if (series.visible) { - results.push(s.hide()); - } else { - results.push(s.show()); + ref1 = w.content.values.receivables; + for (j = 0, len1 = ref1.length; j < len1; j++) { + value = ref1[j]; + all_values_are_positive && (all_values_are_positive = value >= 0); } + lineOptions = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: false + }; + return $translate(['impac.widget.accounts_payable_receivable.payable', 'impac.widget.accounts_payable_receivable.receivable']).then(function(translation) { + var chartData, lineData; + lineData = [ + { + title: translation['impac.widget.accounts_payable_receivable.payable'], + labels: dates, + values: w.content.values.payables + }, { + title: translation['impac.widget.accounts_payable_receivable.receivable'], + labels: dates, + values: w.content.values.receivables + } + ]; + chartData = ChartFormatterSvc.lineChart(lineData, lineOptions, true); + return $scope.drawTrigger.notify(chartData); + }); } - return results; - }; - w.initContext = function() { - var cashFlowSerie; - cashFlowSerie = _.find(w.content.chart.series, function(serie) { - return serie.name === "Cash flow"; - }); - cashFlowSerie.data = []; - cashFlowSerie.type = 'area'; - cashFlowSerie.showInLegend = false; - return BoltResources.index(w.metadata.bolt_path, 'companies', { - metadata: _.pick(w.metadata, 'organization_ids') - }).then(function(response) { - return $scope.firstCompanyId = response.data.data[0].id; - }); - }; - w.format = function() { - var options; - options = { - chartType: 'line', - chartOnClickCallbacks: [], - currency: w.metadata.currency, - showToday: true, - showLegend: true, - withZooming: { - defaults: w.metadata.xAxis, - callback: onZoom - } - }; - $scope.chart || ($scope.chart = new HighchartsFactory($scope.chartId(), w.content.chart, options)); - $scope.chart.render(w.content.chart, options); - $scope.chart.addCustomLegend(legendFormatter); - $scope.chart.addSeriesEvent('click', onClickBar); - $scope.chart.addSeriesEvent('legendItemClick', onClickLegend); - return $scope.chartDeferred.notify($scope.chart); }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsCashProjection', function() { + module.directive('widgetAccountsPayableReceivable', function() { return { restrict: 'A', - controller: 'WidgetAccountsCashProjectionCtrl' + controller: 'WidgetAccountsPayableReceivableCtrl' }; }); @@ -9106,78 +8293,110 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0; + }; w.initContext = function() { + var dates, firstDate, foundElem, histParams, i, lastDate, len, ref, sElemId; if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.dates)) { $scope.dates = w.content.dates; $scope.unCollapsed = w.metadata.unCollapsed || []; - _.map(w.content.summary, function(statement) { - if (statement.name != null) { - return $translate('impac.widget.account_cash_smry.summary.' + statement.name.toLowerCase()).then(function(translation) { - return statement.label = translation; + if (w.metadata && (histParams = w.metadata.hist_parameters)) { + dates = ImpacUtilities.selectedTimeRange(histParams); + firstDate = $filter('momentDate')(dates.from, getPeriod()); + lastDate = $filter('momentDate')(dates.to, getPeriod()); + $scope.amountDisplayedOptions[1].label = firstDate + " to " + lastDate; + $scope.amountDisplayedOptions[0].label = lastDate; + } + setAmountDisplayed(); + if (!_.isEmpty(w.metadata.selectedElements)) { + $scope.selectedElements = []; + ref = w.metadata.selectedElements; + for (i = 0, len = ref.length; i < len; i++) { + sElemId = ref[i]; + foundElem = _.find(w.content.summary, function(statement) { + return statement.name === sElemId; }); - } - }); - $translate('impac.widget.account_cash_smry.cash_flow.' + $scope.widget.metadata.hist_parameters.period.toLowerCase()).then(function(translation) { - return $scope.widget.metadata.hist_parameters.period_translation = translation; - }); - if (w.metadata.selectedElement) { - $scope.selectedElement = _.find(w.content.summary, function(statement) { - return statement.name === w.metadata.selectedElement; - }); - $scope.selectedElement || ($scope.selectedElement = fetchElement(w.content.summary)); + foundElem || (foundElem = fetchElement(w.content.summary, sElemId)); + if (foundElem) { + $scope.selectedElements.push(foundElem); + } + } + } + if (!_.any($scope.selectedElements)) { + w.width = 6; } return sortData(); } }; - $scope.getLastDate = function() { - if ($scope.dates != null) { - return $scope.dates[$scope.dates.length - 1]; - } + $scope.getElementChartColor = function(index) { + return ChartFormatterSvc.getColor(index); }; - $scope.getPrevDate = function() { - if ($scope.dates != null) { - return $scope.dates[$scope.dates.length - 2]; + getPeriod = function() { + if ((w.metadata != null) && (w.metadata.hist_parameters != null) && (w.metadata.hist_parameters.period != null)) { + return w.metadata.hist_parameters.period; + } else { + return 'MONTHLY'; } }; - $scope.getLastValue = function(element) { - if (element.cash_flows != null) { - return _.last(element.cash_flows); + getLastAmount = function(element) { + if (element.totals != null) { + return _.last(element.totals); } }; - $scope.formatVariance = function(aVariance) { - if (aVariance != null) { - if (aVariance > 0) { - return "+" + aVariance + " %"; - } else { - return aVariance + " %"; - } - } else { - return "-"; + getTotalAmount = function(element) { + if (element.totals != null) { + return _.sum(element.totals); } }; - $scope.getLastVariance = function(element) { - if ((element.variances != null) && (_.last(element.variances) != null)) { - return $scope.formatVariance(_.last(element.variances)); - } else { - return "-"; + $scope.getAmount = function(element) { + switch ($scope.amountDisplayed.value) { + case 'total': + return getTotalAmount(element); + default: + return getLastAmount(element); } }; - $scope.getVarianceClassColor = function(aVariance) { - if (parseInt(aVariance) > 0) { + $scope.getClassColor = function(aTotal) { + if (parseInt(aTotal) > 0) { return 'positive'; - } else if (parseInt(aVariance) < 0) { + } else if (parseInt(aTotal) < 0) { return 'negative'; } else { return null; @@ -9198,19 +8417,25 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0; + }; + matchElementToSelectedElement = function(element, elementCategory, sElem) { + if (elementCategory == null) { + elementCategory = null; + } + return getIdentifier(element, elementCategory) === getIdentifier(sElem); + }; + fetchElement = function(statements, sElemId) { var element, i, len, statement; for (i = 0, len = statements.length; i < len; i++) { statement = statements[i]; if (statement.accounts == null) { continue; } - element = _.find(statement.accounts, function(acc) { - return getIdentifier(acc, statement.name) === w.metadata.selectedElement; + element = _.find(statement.accounts, function(acc) { + return getIdentifier(acc, statement.name) === sElemId; + }); + if (element != null) { + element = angular.merge(angular.copy(element), { + category: statement.name + }); + return element; + } + } + }; + getIdentifier = function(element, category) { + var id; + if (category == null) { + category = null; + } + id = element.id || element.name; + category || (category = element.category); + if (!category) { + return id; + } + return category + "-" + id; + }; + sortAccountsBy = function(getElem) { + return angular.forEach(w.content.summary, function(sElem) { + if (sElem.accounts) { + return sElem.accounts.sort(function(a, b) { + var res; + res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; + if (!$scope.ascending) { + res *= -1; + } + return res; + }); + } + }); + }; + sortData = function() { + if ($scope.sortedColumn === 'account') { + return sortAccountsBy(function(el) { + return el.name; + }); + } else if ($scope.sortedColumn === 'total') { + return sortAccountsBy(function(el) { + return $scope.getAmount(el); + }); + } + }; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var all_values_are_positive, chartData, inputData, options; + if ($scope.isDataFound && ($scope.selectedElements != null) && $scope.selectedElements.length > 0) { + all_values_are_positive = true; + inputData = []; + angular.forEach($scope.selectedElements, function(sElem) { + var data, dates, period; + data = angular.copy(sElem); + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; + } + dates = _.map(w.content.dates, function(date) { + return $filter('momentDate')(date, period); + }); + inputData.push({ + title: data.name, + labels: dates, + values: data.totals + }); + return angular.forEach(data.totals, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: true, + datasetFill: $scope.selectedElements.length === 1, + pointDot: $scope.selectedElements.length === 1 + }; + chartData = ChartFormatterSvc.lineChart(inputData, options); + return $scope.drawTrigger.notify(chartData); + } + }; + unCollapsedSetting = {}; + unCollapsedSetting.initialized = false; + unCollapsedSetting.initialize = function() { + return unCollapsedSetting.initialized = true; + }; + unCollapsedSetting.toMetadata = function() { + return { + unCollapsed: $scope.unCollapsed + }; + }; + w.settings.push(unCollapsedSetting); + selectedElementsSetting = {}; + selectedElementsSetting.initialized = false; + selectedElementsSetting.initialize = function() { + return selectedElementsSetting.initialized = true; + }; + selectedElementsSetting.toMetadata = function() { + var selectedElementsMetadata; + selectedElementsMetadata = _.map($scope.selectedElements, function(element) { + return getIdentifier(element); + }); + return { + selectedElements: selectedElementsMetadata + }; + }; + w.settings.push(selectedElementsSetting); + return $scope.widgetDeferred.resolve(settingsPromises); + }]); + + module.directive('widgetAccountsProfitAndLoss', function() { + return { + restrict: 'A', + controller: 'WidgetAccountsProfitAndLossCtrl' + }; + }); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets.accounts-ratios', []); + + module.controller('WidgetAccountsRatiosCtrl', ["$scope", "$q", "$filter", "$translate", "ChartFormatterSvc", "ImpacTheming", function($scope, $q, $filter, $translate, ChartFormatterSvc, ImpacTheming) { + var getPrefix, settingsPromises, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.chartDeferred = $q.defer(); + $scope.timePeriodDeferred = $q.defer(); + $scope.histModeDeferred = $q.defer(); + $scope.numeratorOffsetsDeferred = $q.defer(); + $scope.denominatorOffsetsDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.chartDeferred.promise, $scope.timePeriodDeferred.promise, $scope.histModeDeferred.promise, $scope.numeratorOffsetsDeferred.promise, $scope.denominatorOffsetsDeferred.promise]; + $scope.totalRatio = 0; + $scope.totalNumerator = 0; + $scope.totalDenominator = 0; + $scope.calculatedNumerator = 0; + $scope.calculatedDenominator = 0; + $scope.simulationMode = false; + $scope.intervalsCount = 0; + $scope.isPnl = false; + $scope.periodInfoContext = {}; + getPrefix = function(behaviour) { + var label, labels, needPrefix, prefix, todayPrefixes; + labels = ImpacTheming.get().widgetSettings.histModeChoser.currentLabels; + todayPrefixes = ImpacTheming.get().widgetSettings.histModeChoser.todayPrefixes; + needPrefix = _.last(w.content.layout.dates) === moment().format('YYYY-MM-DD'); + label = labels[behaviour]; + prefix = todayPrefixes[behaviour]; + return $translate([label, prefix]).then(function(translations) { + if (needPrefix) { + return translations[prefix] + " " + translations[label]; + } else { + return translations[label]; + } + }); + }; + w.initContext = function() { + var behaviour; + $scope.isDataFound = !_.isEmpty(w.content); + if ($scope.isDataFound) { + $scope.intervalsCount = _.size(w.content.layout.dates); + $scope.endDate = _.last(w.content.layout.dates); + behaviour = w.content.layout.accounting_behaviour; + $scope.periodInfoContext.histParams = w.metadata.hist_parameters; + $scope.periodInfoContext.accountingBehaviour = behaviour; + getPrefix(behaviour).then(function(label) { + return $scope.periodInfoContext.injectBefore = label; }); - if (element != null) { - element = angular.merge(angular.copy(element), { - category: statement.name - }); - return element; + if (behaviour === 'pnl') { + $scope.totalRatio = w.content.calculation.ratio.average; + $scope.totalNumerator = _.sum(w.content.calculation.numerator.totals); + $scope.totalDenominator = _.sum(w.content.calculation.denominator.totals); + $scope.calculatedNumerator = _.sum(w.content.calculation.numerator.values); + $scope.calculatedDenominator = _.sum(w.content.calculation.denominator.values); + return $scope.isPnl = true; + } else { + $scope.totalRatio = _.last(w.content.calculation.ratio.totals); + $scope.totalNumerator = _.last(w.content.calculation.numerator.totals); + $scope.totalDenominator = _.last(w.content.calculation.denominator.totals); + $scope.calculatedNumerator = _.last(w.content.calculation.numerator.values); + return $scope.calculatedDenominator = _.last(w.content.calculation.denominator.values); } } }; - matchElementToSelectedElement = function(element, elementCategory, sElem) { - if (elementCategory == null) { - elementCategory = null; - } - return getIdentifier(element, elementCategory) === getIdentifier(sElem); - }; - getIdentifier = function(element, category) { - var id; - if (category == null) { - category = null; + $scope.toggleSimulationMode = function(init) { + if (init == null) { + init = false; } - id = element.id || element.name; - category || (category = element.category); - if (!category) { - return id; + if (init) { + $scope.initSettings(); } - return category + "-" + id; - }; - sortAccountsBy = function(getElem) { - return angular.forEach(w.content.summary, function(sElem) { - if (sElem.accounts) { - return sElem.accounts.sort(function(a, b) { - var res; - res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; - if (!$scope.ascending) { - res *= -1; - } - return res; - }); - } - }); + return $scope.simulationMode = !$scope.simulationMode; }; - sortData = function() { - if ($scope.sortedColumn === 'account') { - return sortAccountsBy(function(el) { - return el.name; - }); - } else if ($scope.sortedColumn === 'total') { - return sortAccountsBy(function(el) { - return $scope.getLastValue(el); - }); - } else if ($scope.sortedColumn === 'variance') { - return sortAccountsBy(function(el) { - return $scope.getLastVariance(el); - }); - } + $scope.saveSimulation = function() { + $scope.updateSettings(); + return $scope.toggleSimulationMode(); }; $scope.drawTrigger = $q.defer(); w.format = function() { - var all_values_are_positive, chartData, data, dates, inputData, options, period; - if ($scope.isDataFound && ($scope.selectedElement != null)) { - data = angular.copy($scope.selectedElement); + var chartData, data, dates, inputData, options, period; + if ($scope.isDataFound) { + data = angular.copy(w.content); period = null; if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { period = w.metadata.hist_parameters.period; } - dates = _.map(w.content.dates, function(date) { + dates = _.map(data.layout.dates, function(date) { return $filter('momentDate')(date, period); }); inputData = { labels: dates, datasets: [ { - title: data.label, - values: data.cash_flows + title: data.layout.ratio, + values: data.calculation.ratio.totals } ] }; - all_values_are_positive = true; - angular.forEach(data.cash_flows, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); - }); options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: true + currency: 'hide' }; - chartData = ChartFormatterSvc.combinedBarChart(inputData, options); + chartData = ChartFormatterSvc.combinedBarChart(inputData, options, false); return $scope.drawTrigger.notify(chartData); } }; - unCollapsedSetting = {}; - unCollapsedSetting.initialized = false; - unCollapsedSetting.initialize = function() { - return unCollapsedSetting.initialized = true; - }; - unCollapsedSetting.toMetadata = function() { - return { - unCollapsed: $scope.unCollapsed - }; - }; - w.settings.push(unCollapsedSetting); - selectedElementSetting = {}; - selectedElementSetting.initialized = false; - selectedElementSetting.initialize = function() { - return selectedElementSetting.initialized = true; - }; - selectedElementSetting.toMetadata = function() { - if ($scope.selectedElement == null) { - return { - selectedElement: null - }; - } - return { - selectedElement: getIdentifier($scope.selectedElement) - }; - }; - w.settings.push(selectedElementSetting); return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsCashSummary', function() { + module.directive('widgetAccountsRatios', function() { return { restrict: 'A', - controller: 'WidgetAccountsCashSummaryCtrl' + controller: 'WidgetAccountsRatiosCtrl' }; }); @@ -9396,95 +8749,130 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 15) { - inputData.labels.length = 15; - } - if (inputData.values.length > 15) { - inputData.values.length = 15; - } - options = { - showTooltips: false, - showXLabels: false, - barValueSpacing: Math.max(8 - w.content.companies.length, 1) - }; - chartData = ChartFormatterSvc.barChart(inputData, options); - return $scope.drawTrigger.notify(chartData); + $scope.formatAddress = function(anAddress) { + if (angular.isDefined(anAddress)) { + return anAddress.replace(/, /g, ',\n'); } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsClassComparison', function() { + module.directive('widgetHrEmployeeDetails', function() { return { restrict: 'A', - controller: 'WidgetAccountsClassComparisonCtrl' + controller: 'WidgetHrEmployeeDetailsCtrl' }; }); @@ -9493,145 +8881,127 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 1) { - angular.merge($scope.comparisonModeOptions, w.metadata.comparison_mode); - } - $scope.savedAccountsList = gatherSavedAccounts(); - $scope.isDataFound = (w.content != null) && !_.isEmpty(w.content.complete_list) || $scope.isComparisonMode(); - $scope.noComparableAccounts = $scope.isComparisonMode() && (w.content != null) && _.isEmpty(w.content.complete_list); - return $scope.canSelectComparisonMode = scanAccountsForMultiOrgData(); - }); - }; - scanAccountsForMultiOrgData = function() { - if (w.content == null) { - return false; + return $scope.period = angular.copy(_.find($scope.periodOptions, function(o) { + return o.value === w.content.total.period.toLowerCase(); + }) || $scope.periodOptions[0]); } - return _.uniq(_.pluck(w.content.complete_list, 'org_name')).length > 1; - }; - $scope.isComparisonMode = function() { - return _.result(_.find($scope.comparisonModeOptions, 'id', 'compare_accounts'), 'value') || false; }; - $scope.hasAccountsSelected = function() { - return w.selectedAccounts && w.selectedAccounts.length > 0; + $scope.getSingleCompanyName = function() { + var org, orgUid; + if (w.content && w.content.organizations) { + orgUid = w.content.organizations[0]; + org = _.find($scope.parentDashboard.data_sources, function(o) { + return o.uid === orgUid; + }); + return org.label; + } }; - $scope.getAccountColor = function(anAccount) { - if ($scope.isComparisonMode()) { - return ChartFormatterSvc.getColor(_.indexOf(w.selectedAccounts[0].accounts, anAccount)); + $scope.getEmployeeEarnings = function(anEmployee) { + if (anEmployee.salary != null) { + return $filter('mnoCurrency')(anEmployee.salary.amount, w.content.total.currency); } else { - return ChartFormatterSvc.getColor(_.indexOf(w.selectedAccounts, anAccount)); + return '-'; } }; - $scope.addAccount = function(anAccount) { - if (!anAccount) { - return; - } - w.moveAccountToAnotherList(anAccount, w.remainingAccounts, w.selectedAccounts); - $scope.savedAccountsList.push(anAccount.uid); - return w.format(); + return $scope.widgetDeferred.resolve(settingsPromises); + }]); + + module.directive('widgetHrEmployeesList', function() { + return { + restrict: 'A', + controller: 'WidgetHrEmployeesListCtrl' }; - $scope.removeAccount = function(anAccount) { - if (!anAccount) { - return; + }); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets.hr-leaves-balance', []); + + module.controller('WidgetHrLeavesBalanceCtrl', ["$scope", "$q", "$translate", function($scope, $q, $translate) { + var employee, name, settingsPromises, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.paramSelectorDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.paramSelectorDeferred.promise]; + w.initContext = function() { + if ($scope.isDataFound = !_.isEmpty(w.content) && !_.isEmpty(w.content.employees)) { + $scope.employeesOptions = _.map(w.content.employees, function(e) { + return { + value: e.uid, + label: e.lastname + " " + e.firstname + }; + }); + return $scope.selectedEmployee = { + value: $scope.getEmployee().uid, + label: ($scope.getEmployee().lastname) + " " + ($scope.getEmployee().firstname) + }; } - w.moveAccountToAnotherList(anAccount, w.selectedAccounts, w.remainingAccounts); - $scope.savedAccountsList.splice($scope.savedAccountsList.indexOf(anAccount.uid), 1); - return w.format(); - }; - $scope.formatAmount = function(anAccount) { - return $filter('mnoCurrency')(anAccount.current_balance, anAccount.currency); }; - gatherSavedAccounts = function() { - var areGrouped, group, i, len, savedUids, uid; - savedUids = w.metadata.accounts_list; - if (_.isEmpty(savedUids)) { - return []; + $scope.getEmployee = function() { + var e; + if (!$scope.isDataFound) { + return false; } - areGrouped = savedUids[0].indexOf(':') >= 0; - if (!$scope.isComparisonMode() && areGrouped) { - return _.flatten(_.map(savedUids, function(a) { - return a.split(':'); - })); - } else if ($scope.isComparisonMode() && !areGrouped) { - for (i = 0, len = savedUids.length; i < len; i++) { - uid = savedUids[i]; - group = _.find(w.content.complete_list, function(group) { - return group.uid.indexOf(uid) >= 0; - }); - if (group) { - return [group.uid]; - } - } - return []; - } else { - return savedUids; + e = w.content.employees[0]; + if (w.metadata && w.metadata.employee_id) { + e = _.find(w.content.employees, function(e) { + return e.uid === w.metadata.employee_id; + }) || w.content.employees[0]; } + return angular.copy(e); }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var inputData; - inputData = { - labels: [], - values: [] - }; - return $timeout(function() { - var account, chartData, groupedAccount, i, j, len, len1, options, ref, ref1; - ref = w.selectedAccounts; - for (i = 0, len = ref.length; i < len; i++) { - account = ref[i]; - if ($scope.isComparisonMode()) { - ref1 = account.accounts; - for (j = 0, len1 = ref1.length; j < len1; j++) { - groupedAccount = ref1[j]; - inputData.labels.push(groupedAccount.name); - inputData.values.push(groupedAccount.current_balance); - } - } else { - inputData.labels.push(account.name); - inputData.values.push(account.current_balance); - } - } - while (inputData.values.length < 15) { - inputData.labels.push(""); - inputData.values.push(null); - } - options = { - showTooltips: false, - showXLabels: false, - barDatasetSpacing: 9 - }; - chartData = ChartFormatterSvc.barChart(inputData, options); - return $scope.drawTrigger.notify(chartData); - }, 500); - }; + employee = $scope.getEmployee(); + name = employee && employee.leaves[0].name; + if (name) { + $scope.vacationLeaves_translation = name; + } else { + $translate('impac.widget.hr_leaves_balance.vacation_leaves').then(function(translation) { + return $scope.vacationLeaves_translation = translation; + }); + } + name = employee && employee.leaves[1].name; + if (name) { + $scope.sickLeaves_translation = name; + } else { + $translate('impac.widget.hr_leaves_balance.sick_leaves').then(function(translation) { + return $scope.sickLeaves_translation = translation; + }); + } return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsComparison', function() { + module.directive('widgetHrLeavesBalance', function() { return { restrict: 'A', - controller: 'WidgetAccountsComparisonCtrl' + controller: 'WidgetHrLeavesBalanceCtrl' }; }); @@ -9640,224 +9010,234 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); - return value; - }); - inputData.push({ - title: 'Test Data', - labels: dates, - values: data + var eventsArray; + if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary)) { + eventsArray = []; + angular.forEach(w.content.summary, function(leave) { + return eventsArray.push({ + title: leave.employee_name + " - " + leave.title, + start: leave.start_date, + end: leave.end_date + }); }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: true, - datasetFill: true, - pointDot: true - }; - chartData = ChartFormatterSvc.lineChart(inputData, options); - return $scope.drawTrigger.notify(chartData); - }, 500); - }; - $scope.addAccountToFormula = function(account) { - if (account == null) { - return; - } - if (w.selectedAccounts.length > 0) { - w.formula += " + {" + (w.selectedAccounts.length + 1) + "}"; - } else { - w.formula = "{1}"; + return $scope.eventSources = angular.copy(eventsArray); } - return w.moveAccountToAnotherList(account, w.remainingAccounts, w.selectedAccounts, false); }; - $scope.removeAccountFromFormula = function(account) { - var diffAccountIndex, diffAccountUid, i, indexPattern, newFormula, nextUids, prevUids, removePattern; - prevUids = _.map(w.selectedAccounts, function(e) { - return e.uid; - }); - nextUids = _.reject(prevUids, function(e) { - return e === account.uid; - }); - diffAccountUid = _.first(_.difference(prevUids, nextUids)); - diffAccountIndex = _.indexOf(prevUids, diffAccountUid) + 1; - if (diffAccountIndex === 1) { - removePattern = "{" + diffAccountIndex + "\\}\\s*(-|\\*|\\/|\\+)*\\s*"; - } else { - removePattern = "\\s*(-|\\*|\\/|\\+)*\\s*\\{" + diffAccountIndex + "\\}"; + return $scope.widgetDeferred.resolve(settingsPromises); + }]); + + module.directive('widgetHrLeavesSchedule', function() { + return { + restrict: 'A', + controller: 'WidgetHrLeavesScheduleCtrl' + }; + }); + + module.directive('widgetComponentCalendar', ["$tranlate", function($tranlate) { + return { + scope: { + events: '=ngModel' + }, + restrict: 'A', + link: function(scope, element) { + var calendarOptions, getEvents; + scope.eventSources = []; + calendarOptions = { + header: { + left: $tranlate.instant('impac.common.action.calendar.left'), + center: $tranlate.instant('impac.common.action.calendar.center'), + right: $tranlate.instant('impac.common.action.calendar.right') + }, + contentHeight: 204 + }; + getEvents = function() { + return scope.events; + }; + return scope.$watch(getEvents, function(events) { + if (events.length > 0) { + element.fullCalendar('destroy'); + angular.extend(calendarOptions, { + events: scope.events + }); + return element.fullCalendar(calendarOptions); + } + }, true); } - newFormula = angular.copy(w.formula).replace(new RegExp(removePattern, 'g'), ''); - i = diffAccountIndex + 1; - while (i <= prevUids.length) { - indexPattern = "\\{" + i + "\\}"; - newFormula = newFormula.replace(new RegExp(indexPattern, 'g'), "{" + (i - 1) + "}"); - i++; + }; + }]); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets.hr-payroll-summary', []); + + module.controller('WidgetHrPayrollSummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "ImpacWidgetsSvc", "$translate", function($scope, $q, ChartFormatterSvc, $filter, ImpacWidgetsSvc, $translate) { + var fetchElement, getIdentifier, h, matchElementToSelectedElement, periodName, selectedElementsSetting, settingsPromises, sortData, sortEmployeesBy, unCollapsedSetting, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.timePeriodDeferred = $q.defer(); + $scope.widthDeferred = $q.defer(); + $scope.histModeDeferred = $q.defer(); + $scope.chartDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.widthDeferred.promise, $scope.histModeDeferred.promise, $scope.chartDeferred.promise]; + $scope.ascending = true; + $scope.sortedColumn = 'employee'; + periodName = (h = $scope.widget.metadata.hist_parameters) && h.period ? h.period.toLowerCase() : 'monthly'; + $scope.periodTranslation = $translate.instant("impac.widget.settings.time_period.period." + periodName); + w.initContext = function() { + var foundElem, i, len, ref, sElemId; + if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.dates)) { + $scope.unCollapsed = w.metadata.unCollapsed || []; + if (!_.isEmpty(w.metadata.selectedElements)) { + $scope.selectedElements = []; + ref = w.metadata.selectedElements; + for (i = 0, len = ref.length; i < len; i++) { + sElemId = ref[i]; + foundElem = _.find(w.content.summary, function(statement) { + return statement.name === sElemId; + }); + foundElem || (foundElem = fetchElement(w.content.summary, sElemId)); + if (foundElem) { + $scope.selectedElements.push(foundElem); + } + } + } + if (!(($scope.selectedElements != null) && $scope.selectedElements.length > 0)) { + w.width = 6; + } + return sortData(); } - w.formula = angular.copy(newFormula); - return w.moveAccountToAnotherList(account, w.selectedAccounts, w.remainingAccounts, false); }; - $scope.formulaModal = $scope.$new(); - $scope.formulaModal.config = { - backdrop: 'static', - template: $templateCache.get('widgets/accounts-custom-calculation/formula.modal.html'), - size: 'lg', - scope: $scope.formulaModal, - keyboard: false + $scope.getElementChartColor = function(index) { + return ChartFormatterSvc.getColor(index); }; - $scope.formulaModal.open = function() { - var self; - self = $scope.formulaModal; - self.modalOrgDeferred = $q.defer(); - self.timePeriodDeferred = $q.defer(); - _.remove(w.settings, (function(set) { - return set.key === "organizations"; - })); - self.instance = $uibModal.open(self.config); - return $q.all([self.modalOrgDeferred.promise, self.timePeriodDeferred.promise]).then(function(success) { - return $scope.initSettings(); - }); + $scope.getLastValue = function(element) { + return (element.totals && element.totals[element.totals.length - 1]) || 0; }; - $scope.reloadAccountsLists = function(orgs) { - if ((orgs != null) && _.some(_.values(orgs))) { - return $scope.updateWidgetSettings(); + $scope.getTotalSum = function(element) { + if (element.totals != null) { + return _.reduce(element.totals, function(memo, num) { + return memo + num; + }, 0); } }; - $scope.updateWidgetSettings = function() { - return ImpacWidgetsSvc.updateWidgetSettings(w); - }; - $scope.formulaModal.cancel = function() { - $scope.initSettings(); - return $scope.formulaModal.close(); - }; - $scope.formulaModal.proceed = function() { - ImpacWidgetsSvc.updateWidgetSettings(w); - return $scope.formulaModal.close(); + $scope.getName = function(element) { + if ((element != null) && (element.name != null)) { + if (element.name === "total_leaves") { + return $translate.instant('impac.widget.hr_payroll_summary.total_leaves'); + } + if (element.name === "total_super") { + return $translate.instant('impac.widget.hr_payroll_summary.total_superannuation'); + } + if (element.name === "total_reimbursement") { + return $translate.instant('impac.widget.hr_payroll_summary.total_reimbursements'); + } + if (element.name === "total_tax") { + return $translate.instant('impac.widget.hr_payroll_summary.total_taxes'); + } + if (element.name === "total_timeoff") { + return $translate.instant('impac.widget.hr_payroll_summary.total_time_off'); + } + return element.name.replace(/_/g, " "); + } }; - $scope.formulaModal.close = function() { - return $scope.formulaModal.instance.close(); + $scope.getTrackedField = function() { + var allFieldsEquals, field; + if (!_.isEmpty($scope.selectedElements) && ($scope.selectedElements[0].id != null)) { + field = $scope.selectedElements[0].id.split('-')[0]; + allFieldsEquals = true; + angular.forEach($scope.selectedElements, function(element) { + return allFieldsEquals && (allFieldsEquals = element.id && field === element.id.split('-')[0]); + }); + if (allFieldsEquals) { + return $scope.getName({ + name: field + }); + } else { + return null; + } + } }; - $scope.$watch((function() { - return w.isEditMode; - }), function(result, prev) { - if (result && !prev) { - return $scope.formulaModal.open(); + $scope.formatDate = function(date) { + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + return $filter('momentDate')(date, w.metadata.hist_parameters.period); + } else { + return $filter('momentDate')(date, 'default'); } - }); - return $scope.widgetDeferred.resolve(settingsPromises); - }]); - - module.directive('widgetAccountsCustomCalculation', function() { - return { - restrict: 'A', - controller: 'WidgetAccountsCustomCalculationCtrl' }; - }); - -}).call(this); - -(function() { - var module; - - module = angular.module('impac.components.widgets.accounts-detailed-classifications', []); - - module.controller('WidgetAccountsDetailedClassificationsCtrl', ["$scope", "$q", "ImpacWidgetsSvc", function($scope, $q, ImpacWidgetsSvc) { - var settingsPromises, sortAccountsBy, sortData, unCollapsedSetting, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.timePeriodDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise]; - $scope.timePeriodInfoParams = { - accountingBehaviour: 'pnl', - histParams: {} + $scope.sort = function(col) { + if ($scope.sortedColumn === col) { + $scope.ascending = !$scope.ascending; + } else { + $scope.ascending = true; + $scope.sortedColumn = col; + } + return sortData(); }; - $scope.ascending = true; - $scope.sortedColumn = 'account'; - w.initContext = function() { - $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.companies); - if ($scope.isDataFound) { - $scope.timePeriodInfoParams.histParams = w.metadata && w.metadata.hist_parameters; - $scope.unCollapsed = w.metadata.unCollapsed || []; - if (w.content.companies.length === 1) { - $scope.multiEntity = false; - $scope.dataSource = _.map(w.content.companies[0].classifications, function(klass) { - return { - label: klass.name, - value: klass.total, - currency: klass.currency, - entries: _.map(klass.accounts, function(acc) { - return { - label: acc.name, - value: acc.balance, - currency: acc.currency - }; - }) - }; - }); + $scope.toggleSelectedElement = function(element, statementName) { + var selectedElement; + if (statementName == null) { + statementName = null; + } + if ($scope.isSelected(element, statementName)) { + $scope.selectedElements = _.reject($scope.selectedElements, function(sElem) { + return matchElementToSelectedElement(element, statementName, sElem); + }); + w.format(); + if (w.isExpanded() && $scope.selectedElements.length === 0) { + return w.toggleExpanded(); } else { - $scope.multiEntity = true; - $scope.dataSource = _.map(w.content.companies, function(company) { - return { - label: company.name, - entries: _.map(company.classifications, function(klass) { - return { - label: klass.name, - value: klass.total, - currency: klass.currency - }; - }) - }; - }); + return ImpacWidgetsSvc.updateWidgetSettings(w, false); + } + } else { + selectedElement = angular.copy(element); + selectedElement.category = statementName; + $scope.selectedElements || ($scope.selectedElements = []); + $scope.selectedElements.push(selectedElement); + w.format(); + if (!w.isExpanded()) { + return w.toggleExpanded(); + } else { + return ImpacWidgetsSvc.updateWidgetSettings(w, false); } - return sortData(); } }; - $scope.toggleCollapsed = function(groupName) { - if (groupName != null) { + $scope.isSelected = function(element, statementName) { + if (statementName == null) { + statementName = null; + } + return (element != null) && _.any($scope.selectedElements, function(sElem) { + return matchElementToSelectedElement(element, statementName, sElem); + }); + }; + $scope.toggleCollapsed = function(element) { + if ((element != null) && (element.name != null)) { if (_.find($scope.unCollapsed, (function(name) { - return groupName === name; + return element.name === name; }))) { $scope.unCollapsed = _.reject($scope.unCollapsed, function(name) { - return name === groupName; + return name === element.name; }); } else { - $scope.unCollapsed.push(groupName); + $scope.unCollapsed.push(element.name); } return ImpacWidgetsSvc.updateWidgetSettings(w, false); } }; - $scope.isCollapsed = function(groupName) { - if (groupName != null) { + $scope.isCollapsed = function(element) { + if ((element != null) && (element.name != null)) { if (_.find($scope.unCollapsed, (function(name) { - return groupName === name; + return element.name === name; }))) { return false; } else { @@ -9865,10 +9245,61 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0; + }; + $scope.getSelectLineColor = function(element, statementName) { + var sElem; + if (statementName == null) { + statementName = null; + } + sElem = _.find($scope.selectedElements, function(sElem) { + return matchElementToSelectedElement(element, statementName, sElem); + }); + if ($scope.hasElements()) { + return ChartFormatterSvc.getColor(_.indexOf($scope.selectedElements, sElem)); + } + }; + matchElementToSelectedElement = function(element, elementCategory, sElem) { + if (elementCategory == null) { + elementCategory = null; + } + return getIdentifier(element, elementCategory) === getIdentifier(sElem); + }; + fetchElement = function(statements, sElemId) { + var element, i, len, statement; + for (i = 0, len = statements.length; i < len; i++) { + statement = statements[i]; + if (statement.employees == null) { + continue; + } + element = _.find(statement.employees, function(e) { + return getIdentifier(e, statement.name) === sElemId; + }); + if (element != null) { + element = angular.merge(angular.copy(element), { + category: statement.name + }); + return element; + } + } + }; + getIdentifier = function(element, category) { + var id; + if (category == null) { + category = null; + } + id = element.id || element.name; + category || (category = element.category); + if (!category) { + return id; + } + return category + "-" + id; + }; + sortEmployeesBy = function(getElem) { + return angular.forEach(w.content.summary, function(sElem) { + if (sElem.employees) { + return sElem.employees.sort(function(a, b) { var res; res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; if (!$scope.ascending) { @@ -9880,24 +9311,77 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); + }); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: true, + datasetFill: $scope.selectedElements.length === 1, + pointDot: $scope.selectedElements.length === 1, + currency: 'hide' + }; + chartData = ChartFormatterSvc.lineChart(inputData, options); + } else { + pieData = _.map($scope.selectedElements, function(elem) { + return { + label: $filter('titleize')($scope.getName({ + name: elem.name + })), + value: $scope.getLastValue(elem) + }; + }); + pieOptions = { + showTooltips: true, + percentageInnerCutout: 50, + tooltipFontSize: 12, + currency: 'hide' + }; + chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); + } + return $scope.drawTrigger.notify(chartData); } - return sortData(); }; unCollapsedSetting = {}; unCollapsedSetting.initialized = false; @@ -9910,13 +9394,28 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: false + }; + chartData = ChartFormatterSvc.lineChart([inputData], options); + return $scope.drawTrigger.notify(chartData); + } + }; + return $scope.widgetDeferred.resolve(settingsPromises); + }]); + + module.directive('widgetHrPayrollTaxes', function() { + return { + restrict: 'A', + controller: 'WidgetHrPayrollTaxesCtrl' + }; + }); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets.hr-salaries-summary', []); + + module.controller('WidgetHrSalariesSummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$translate", function($scope, $q, ChartFormatterSvc, $translate) { + var settingsPromises, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.widthDeferred = $q.defer(); + $scope.paramSelectorDeferred1 = $q.defer(); + $scope.paramSelectorDeferred2 = $q.defer(); + $scope.chartDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.widthDeferred.promise, $scope.paramSelectorDeferred1.promise, $scope.paramSelectorDeferred2.promise, $scope.chartDeferred.promise]; + w.initContext = function() { + $scope.isDataFound = !_.isEmpty(w.content) && (w.content.summary != null) && !_.isEmpty(w.content.summary.data); + if ($scope.isDataFound) { + $scope.periodOptions = [ + { + label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.yearly").toLowerCase()), + value: "yearly" + }, { + label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.monthly").toLowerCase()), + value: "monthly" + }, { + label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.weekly").toLowerCase()), + value: "weekly" + }, { + label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.daily").toLowerCase()), + value: "daily" } - dates = _.map(w.content.dates, function(date) { - return $filter('momentDate')(date, period); - }); - datasets = _.map(w.content.summary, function(s) { - return { - title: s.company, - values: s.ratios - }; - }); - all_values_are_positive = true; - angular.forEach(w.content.summary, function(s) { - return angular.forEach(s.ratios, function(ratio) { - return all_values_are_positive && (all_values_are_positive = ratio >= 0); - }); - }); - lineData = { - labels: dates, - datasets: datasets - }; - lineOptions = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: false, - currency: "(ratio)" - }; - chartData = ChartFormatterSvc.combinedBarChart(lineData, lineOptions, false, true); - } else { - companies = _.map(w.content.summary, function(s) { - return s.company; - }); - ratios = _.map(w.content.summary, function(s) { - return s.ratio; - }); - if (companies.length === 1) { - companies.push(companies[0]); - ratios.push(ratios[0]); + ]; + $scope.filterOptions = [ + { + label: $translate.instant("impac.common.label.gender"), + value: "gender" + }, { + label: $translate.instant("impac.common.label.age_range"), + value: "age_range" + }, { + label: $translate.instant("impac.common.label.job_title"), + value: "job_title" } - inputData = { - labels: companies, - values: ratios + ]; + $scope.period = angular.copy(_.find($scope.periodOptions, function(o) { + return o.value === w.content.total.period.toLowerCase(); + }) || $scope.periodOptions[0]); + return $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { + return o.value === w.content.summary.filter; + }) || $scope.filterOptions[0]); + } + }; + $scope.getColorByIndex = function(index) { + return ChartFormatterSvc.getColor(index); + }; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var barData, barOptions, chartData, lineData, lineOptions; + if ($scope.isDataFound) { + barData = { + labels: _.map(w.content.summary.data, function(elem) { + return elem.label; + }), + values: _.map(w.content.summary.data, function(elem) { + return elem.value; + }) + }; + if ($scope.filter.value === 'gender') { + barOptions = { + showTooltips: false }; - options = { - scales: { - yAxes: [ - { - ticks: { - suggestedMin: 0, - suggestedMax: 100, - maxTicksLimit: 5 - } - } - ] - }, + chartData = ChartFormatterSvc.barChart(barData, barOptions); + } else if ($scope.filter.value === 'job_title') { + barOptions = { + showTooltips: false, showXLabels: false, - pointDot: false, - currency: '%' + barDatasetSpacing: 15 + }; + chartData = ChartFormatterSvc.barChart(barData, barOptions); + } else if ($scope.filter.value === 'age_range') { + if (_.last(barData.labels) === "unknown") { + barData.labels.pop(); + barData.values.pop(); + } + lineData = [ + { + title: "Average salary", + labels: barData.labels, + values: barData.values + } + ]; + lineOptions = { + scaleBeginAtZero: true, + showXLabels: false + }; + chartData = ChartFormatterSvc.lineChart(lineData, lineOptions); + } else { + return { + error: { + message: "wrong filter", + code: 400 + } }; - chartData = ChartFormatterSvc.lineChart([inputData], options); } return $scope.drawTrigger.notify(chartData); } @@ -10037,10 +9608,10 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); - }); - } else { - datasets = [ - { - title: $translate.instant('impac.widget.accounts_expenses_revenue.expenses') + (" (" + ($scope.getCurrency()) + ")"), - values: w.content.values.expenses - }, { - title: $translate.instant('impac.widget.accounts_expenses_revenue.revenue') + (" (" + ($scope.getCurrency()) + ")"), - values: w.content.values.revenue - } - ]; - all_values_are_positive = true; - angular.forEach(w.content.values.expenses, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); - }); - angular.forEach(w.content.values.revenue, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); - }); - } - lineData = { - labels: dates, - datasets: datasets - }; - lineOptions = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: false - }; - chartData = ChartFormatterSvc.combinedBarChart(lineData, lineOptions, false, true); } else { - pieData = [ - { - label: $translate.instant('impac.widget.accounts_expenses_revenue.expenses') + (" (" + ($scope.getCurrency()) + ")"), - value: $scope.getCurrentExpenses() - }, { - label: $translate.instant('impac.widget.accounts_expenses_revenue.revenue') + (" (" + ($scope.getCurrency()) + ")"), - value: $scope.getCurrentRevenue() - } - ]; - pieOptions = { - tooltipFontSize: 12, - percentageInnerCutout: 0 - }; - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions, true); + $scope.unCollapsed.push(categoryName); } - return $scope.drawTrigger.notify(chartData); + return ImpacWidgetsSvc.updateWidgetSettings(w, false); + } + }; + $scope.isCollapsed = function(categoryName) { + if (categoryName != null) { + if (_.find($scope.unCollapsed, (function(name) { + return categoryName === name; + }))) { + return false; + } else { + return true; + } + } + }; + $scope.getEmployee = function() { + if (!$scope.isDataFound) { + return false; + } + if (w.metadata && w.metadata.employee_id) { + return _.find(w.content.employees, function(e) { + return e.id === w.metadata.employee_id; + }) || w.content.employees[0]; + } else { + return w.content.employees[0]; + } + }; + $scope.getEmployeeTimeWorked = function() { + var employee; + if (employee = $scope.getEmployee()) { + return _.find(w.content.employees, function(e) { + return e.id === employee.id; + }).total_time_worked; } }; + $scope.getEmployeeTimeOff = function() { + var employee; + if (employee = $scope.getEmployee()) { + return _.find(w.content.employees, function(e) { + return e.id === employee.id; + }).total_time_off; + } + }; + unCollapsedSetting = {}; + unCollapsedSetting.initialized = false; + unCollapsedSetting.initialize = function() { + return unCollapsedSetting.initialized = true; + }; + unCollapsedSetting.toMetadata = function() { + return { + unCollapsed: $scope.unCollapsed + }; + }; + w.settings.push(unCollapsedSetting); return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsExpensesRevenue', function() { + module.directive('widgetHrTimesheets', function() { return { restrict: 'A', - controller: 'WidgetAccountsExpensesRevenueCtrl' + controller: 'WidgetHrTimesheetsCtrl' }; }); @@ -10179,89 +9773,125 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); - } - ref1 = w.content.values.receivables; - for (j = 0, len1 = ref1.length; j < len1; j++) { - value = ref1[j]; - all_values_are_positive && (all_values_are_positive = value >= 0); + if ($scope.filter.value === 'salary_range') { + barData = { + labels: _.map(w.content.summary.data, function(elem) { + return $scope.formatSalaryRange(elem); + }), + values: _.map(w.content.summary.data, function(elem) { + return elem.value; + }) + }; + barOptions = { + showTooltips: false, + showXLabels: false, + barDatasetSpacing: 15 + }; + chartData = ChartFormatterSvc.barChart(barData, barOptions); + } else { + pieData = _.map(w.content.summary.data, function(elem) { + return { + label: elem.label, + value: elem.value + }; + }); + pieOptions = { + showTooltips: true, + percentageInnerCutout: 50, + tooltipFontSize: 12 + }; + chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); } - lineOptions = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: false - }; - return $translate(['impac.widget.accounts_payable_receivable.payable', 'impac.widget.accounts_payable_receivable.receivable']).then(function(translation) { - var chartData, lineData; - lineData = [ - { - title: translation['impac.widget.accounts_payable_receivable.payable'], - labels: dates, - values: w.content.values.payables - }, { - title: translation['impac.widget.accounts_payable_receivable.receivable'], - labels: dates, - values: w.content.values.receivables - } - ]; - chartData = ChartFormatterSvc.lineChart(lineData, lineOptions, true); - return $scope.drawTrigger.notify(chartData); - }); + return $scope.drawTrigger.notify(chartData); } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetAccountsPayableReceivable', function() { + module.directive('widgetHrWorkforceSummary', function() { return { restrict: 'A', - controller: 'WidgetAccountsPayableReceivableCtrl' + controller: 'WidgetHrWorkforceSummaryCtrl' }; }); @@ -10270,119 +9900,92 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0; - }; w.initContext = function() { - var dates, firstDate, foundElem, histParams, i, lastDate, len, ref, sElemId; - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.dates)) { - $scope.dates = w.content.dates; + var foundElem, i, len, ref, sElemId, statements; + if ($scope.isDataFound = angular.isDefined(w.content) && (!_.isEmpty(w.content.payables) || !_.isEmpty(w.content.receivables)) && !_.isEmpty(w.content.dates)) { + buildFxTotals(); + $scope.ratesDate = moment.now(); + $scope.payables = w.content.payables; + $scope.receivables = w.content.receivables; $scope.unCollapsed = w.metadata.unCollapsed || []; - if (w.metadata && (histParams = w.metadata.hist_parameters)) { - dates = ImpacUtilities.selectedTimeRange(histParams); - firstDate = $filter('momentDate')(dates.from, getPeriod()); - lastDate = $filter('momentDate')(dates.to, getPeriod()); - $scope.amountDisplayedOptions[1].label = firstDate + " to " + lastDate; - $scope.amountDisplayedOptions[0].label = lastDate; - } - setAmountDisplayed(); if (!_.isEmpty(w.metadata.selectedElements)) { $scope.selectedElements = []; ref = w.metadata.selectedElements; for (i = 0, len = ref.length; i < len; i++) { sElemId = ref[i]; - foundElem = _.find(w.content.summary, function(statement) { + statements = [$scope.payables, $scope.receivables]; + foundElem = _.find(statements, function(statement) { return statement.name === sElemId; }); - foundElem || (foundElem = fetchElement(w.content.summary, sElemId)); + foundElem || (foundElem = fetchElement(statements, sElemId)); if (foundElem) { $scope.selectedElements.push(foundElem); } } } - if (!_.any($scope.selectedElements)) { + if (!(($scope.selectedElements != null) && $scope.selectedElements.length > 0)) { w.width = 6; } return sortData(); } }; $scope.getElementChartColor = function(index) { - return ChartFormatterSvc.getColor(index); - }; - getPeriod = function() { - if ((w.metadata != null) && (w.metadata.hist_parameters != null) && (w.metadata.hist_parameters.period != null)) { - return w.metadata.hist_parameters.period; - } else { - return 'MONTHLY'; + if (index != null) { + return ChartFormatterSvc.getColor(index); } }; - getLastAmount = function(element) { - if (element.totals != null) { + $scope.getLastValue = function(element) { + if ((element != null) && (element.totals != null)) { return _.last(element.totals); } }; - getTotalAmount = function(element) { - if (element.totals != null) { - return _.sum(element.totals); + $scope.getTotalSum = function(element) { + if ((element != null) && (element.totals != null)) { + return _.reduce(element.totals, function(memo, num) { + return memo + num; + }, 0); } }; - $scope.getAmount = function(element) { - switch ($scope.amountDisplayed.value) { - case 'total': - return getTotalAmount(element); - default: - return getLastAmount(element); + $scope.getName = function(element) { + if ((element != null) && (element.name != null)) { + return element.name.replace(/_/g, " "); } }; - $scope.getClassColor = function(aTotal) { - if (parseInt(aTotal) > 0) { - return 'positive'; - } else if (parseInt(aTotal) < 0) { - return 'negative'; + $scope.getPeriod = function() { + var period, period_param; + if ($scope.isDataFound && w.metadata && w.metadata.hist_parameters) { + period_param = w.metadata.hist_parameters.period || "MONTHLY"; + period = "day"; + if (period_param !== "DAILY") { + period = period_param.substr(0, period_param.length - 2).toLowerCase(); + } + return "current " + period; } else { - return null; + return "current month"; } }; - $scope.getName = function(element) { - if ((element != null) && (element.name != null)) { - return element.name.replace(/_/g, " "); - } + $scope.getOldestInvoice = function(element) { + var idx; + idx = _.findIndex(element.totals, function(invoice) { + return invoice !== 0; + }); + return w.content.dates[idx] || null; }; $scope.sort = function(col) { if ($scope.sortedColumn === col) { @@ -10394,7 +9997,6 @@ $templateCache.put("widgets-settings/width.tmpl.html"," getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; - if (!$scope.ascending) { - res *= -1; - } - return res; - }); + sortBy = function(data, getElem) { + return data.sort(function(a, b) { + var res; + res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; + if (!$scope.ascending) { + res *= -1; } + return res; }); }; + sortByInvoiceCallback = function(el) { + var date; + date = $scope.getOldestInvoice(el); + if (date && _.isString(date)) { + date = date.match(/[^_\W]+\s?/g).join(''); + } + return new Date(date); + }; sortData = function() { - if ($scope.sortedColumn === 'account') { - return sortAccountsBy(function(el) { + if ($scope.sortedColumn === 'customer') { + sortBy(w.content.payables.suppliers, function(el) { + return el.name; + }); + return sortBy(w.content.receivables.customers, function(el) { return el.name; }); } else if ($scope.sortedColumn === 'total') { - return sortAccountsBy(function(el) { - return $scope.getAmount(el); + sortBy(w.content.payables.suppliers, function(el) { + return $scope.getTotalSum(el); }); + return sortBy(w.content.receivables.customers, function(el) { + return $scope.getTotalSum(el); + }); + } else if ($scope.sortedColumn === 'invoice') { + sortBy(w.content.payables.suppliers, sortByInvoiceCallback); + return sortBy(w.content.receivables.customers, sortByInvoiceCallback); + } + }; + buildFxTotals = function() { + var contact, contactFxTotals, fxTotal, i, j, len, len1, ref, ref1, results; + ref = _.union(w.content.payables.suppliers, w.content.receivables.customers); + results = []; + for (i = 0, len = ref.length; i < len; i++) { + contact = ref[i]; + contactFxTotals = []; + ref1 = contact.fx_totals; + for (j = 0, len1 = ref1.length; j < len1; j++) { + fxTotal = ref1[j]; + if (!_.isEmpty(fxTotal)) { + _.mapKeys(fxTotal, function(total, currency) { + if (currency !== w.metadata.currency) { + return contactFxTotals.push({ + currency: currency, + amount: total.amount, + rate: total.rate + }); + } + }); + } + } + if (!_.isEmpty(contactFxTotals)) { + results.push(contact.formattedFxTotals = contactFxTotals); + } else { + results.push(void 0); + } } + return results; }; $scope.drawTrigger = $q.defer(); w.format = function() { - var all_values_are_positive, chartData, inputData, options; + var all_values_are_positive, chartData, dates, inputData, options, period; if ($scope.isDataFound && ($scope.selectedElements != null) && $scope.selectedElements.length > 0) { all_values_are_positive = true; inputData = []; + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; + } + dates = _.map(w.content.dates, function(date, index) { + return $filter('momentDate')(date, period); + }); angular.forEach($scope.selectedElements, function(sElem) { - var data, dates, period; + var data; data = angular.copy(sElem); - period = null; - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - period = w.metadata.hist_parameters.period; - } - dates = _.map(w.content.dates, function(date) { - return $filter('momentDate')(date, period); - }); inputData.push({ title: data.name, labels: dates, @@ -10556,168 +10203,48 @@ $templateCache.put("widgets-settings/width.tmpl.html","" + entity.name + ""]; + count = 1; + _.each(entity.invoices, function(i) { + var amountDetail, formattedInvoiced, formattedPaid, invCurrency, txn; + txn = i.transaction_no !== "" ? " (" + i.transaction_no + ")" : ""; + invCurrency = Object.keys(i.fx_totals)[0]; + formattedInvoiced = $filter('mnoCurrency')(i.fx_totals[invCurrency].invoiced, invCurrency, true); + if (i.tooltip_status === "partially paid") { + formattedPaid = $filter('mnoCurrency')(i.fx_totals[invCurrency].paid, invCurrency, true); + amountDetail = " (" + formattedPaid + " on " + formattedInvoiced + ")"; + } else { + amountDetail = " (" + formattedInvoiced + ")"; + } + tooltip.push("#" + count + txn + " - " + i.tooltip_status + amountDetail); + return count++; + }); + return $scope.invoiceTooltips[entity.id] = $sce.trustAsHtml(tooltip.join("
")); }); - ref = employee.employee_salaries; + }; + buildFxTotals = function() { + var contact, contactFxTotals, j, len, ref, results; + ref = w.content.entities; results = []; - for (i = 0, len = ref.length; i < len; i++) { - salary = ref[i]; - tooltip = salary.name; - if (salary.hours_per_week) { - tooltip = salary.name + " (" + salary.hours_per_week + "h per week)"; - } - if ((amount = salary.annual_salary)) { - results.push(salariesArray.push({ - amount: amount, - currency: salary.currency, - period: 'Annual', - tooltip: tooltip - })); - } else if ((amount = salary.hourly_rate)) { - results.push(salariesArray.push({ - amount: amount, - currency: salary.currency, - period: 'Hourly', - tooltip: tooltip - })); + for (j = 0, len = ref.length; j < len; j++) { + contact = ref[j]; + contactFxTotals = []; + _.mapKeys(contact.fx_totals, function(total, currency) { + if (currency !== w.metadata.currency) { + return contactFxTotals.push({ + currency: currency, + amount: total.invoiced, + rate: total.rate + }); + } + }); + if (!_.isEmpty(contactFxTotals)) { + results.push(contact.formattedFxTotals = contactFxTotals); } else { results.push(void 0); } } return results; }; - $scope.getSingleCompanyName = function() { - var org, orgUid; - if (w.content && w.content.organizations) { - orgUid = w.content.organizations[0]; - org = _.find($scope.parentDashboard.data_sources, function(o) { - return o.uid === orgUid; - }); - if (org != null) { - return org.label; - } - } - }; - $scope.getEmployee = function() { - var employee; - if (!$scope.isDataFound) { - return false; - } - if (w.metadata && w.metadata.employee_uid) { - employee = angular.copy(_.find(w.content.employees, function(e) { - return e.uid === w.metadata.employee_uid; - }) || w.content.employees[0]); - } else { - employee = angular.copy(w.content.employees[0]); - } - if (employee.salary != null) { - employee.earnings = $filter('mnoCurrency')(employee.salary.amount, employee.salary.currency); - } - return employee; - }; - $scope.formatAddress = function(anAddress) { - if (angular.isDefined(anAddress)) { - return anAddress.replace(/, /g, ',\n'); - } - }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetHrEmployeeDetails', function() { + module.directive('widgetInvoicesList', function() { return { restrict: 'A', - controller: 'WidgetHrEmployeeDetailsCtrl' + controller: 'WidgetInvoicesListCtrl' }; }); @@ -10858,60 +10358,45 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0 && anIndex < w.content.aged_sales[$scope.filter.value].length) { + return w.content.aged_sales[$scope.filter.value][anIndex]; } - e = w.content.employees[0]; - if (w.metadata && w.metadata.employee_id) { - e = _.find(w.content.employees, function(e) { - return e.uid === w.metadata.employee_id; - }) || w.content.employees[0]; + }; + $scope.getLastDate = function() { + if ($scope.isDataFound) { + return _.last(w.content.dates); + } + }; + $scope.getClassColor = function(prev, value) { + if (value < prev) { + return 'negative'; + } else if (value > prev) { + return 'positive'; + } else { + return null; + } + }; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var all_values_are_positive, chartData, inputData, options, period, values; + if ($scope.isDataFound) { + all_values_are_positive = true; + inputData = []; + values = w.content.aged_sales[$scope.filter.value]; + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; + } + $scope.formattedDates = _.map(w.content.dates, function(date) { + return $filter('momentDate')(date, period); + }); + inputData.push({ + title: $scope.filter.label, + labels: $scope.formattedDates, + values: values + }); + angular.forEach(values, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: true, + datasetFill: true, + pointDot: true + }; + if ($scope.filter.value.indexOf('quantity') > -1) { + angular.merge(options, { + currency: 'hide' + }); + } + chartData = ChartFormatterSvc.lineChart(inputData, options); + return $scope.drawTrigger.notify(chartData); } - return angular.copy(e); }; - employee = $scope.getEmployee(); - name = employee && employee.leaves[0].name; - if (name) { - $scope.vacationLeaves_translation = name; - } else { - $translate('impac.widget.hr_leaves_balance.vacation_leaves').then(function(translation) { - return $scope.vacationLeaves_translation = translation; - }); - } - name = employee && employee.leaves[1].name; - if (name) { - $scope.sickLeaves_translation = name; - } else { - $translate('impac.widget.hr_leaves_balance.sick_leaves').then(function(translation) { - return $scope.sickLeaves_translation = translation; - }); - } return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetHrLeavesBalance', function() { + module.directive('widgetSalesAged', function() { return { restrict: 'A', - controller: 'WidgetHrLeavesBalanceCtrl' + controller: 'WidgetSalesAgedCtrl' }; }); @@ -10987,170 +10506,166 @@ $templateCache.put("widgets-settings/width.tmpl.html"," " + ($filter('date')(date, 'd-MM-yy')); + } else { + return w.content.break_even.projected_date; + } + } + }; + $scope.getOpportunitiesToClose = function() { + var opps; + if ($scope.isDataFound && w.content.break_even) { + if (("" + w.content.break_even.opportunities_to_close).match('>')) { + opps = angular.copy(w.content.break_even.opportunities_to_close).replace('>', ''); + return "> " + opps; + } else { + return w.content.break_even.opportunities_to_close; + } + } + }; + $scope.isTargetMet = function() { + if ($scope.isDataFound && w.content.break_even) { + return w.content.break_even.variance < 0; + } + }; + $scope.getVariance = function() { + if ($scope.isDataFound && w.content.break_even) { + return Math.abs(w.content.break_even.variance); } }; + thresholdSetting = {}; + thresholdSetting.initialized = false; + thresholdSetting.initialize = function() { + return thresholdSetting.initialized = true; + }; + thresholdSetting.toMetadata = function() { + return { + threshold: $scope.threshold + }; + }; + w.settings.push(thresholdSetting); return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetHrLeavesSchedule', function() { - return { - restrict: 'A', - controller: 'WidgetHrLeavesScheduleCtrl' - }; - }); - - module.directive('widgetComponentCalendar', ["$tranlate", function($tranlate) { - return { - scope: { - events: '=ngModel' - }, - restrict: 'A', - link: function(scope, element) { - var calendarOptions, getEvents; - scope.eventSources = []; - calendarOptions = { - header: { - left: $tranlate.instant('impac.common.action.calendar.left'), - center: $tranlate.instant('impac.common.action.calendar.center'), - right: $tranlate.instant('impac.common.action.calendar.right') - }, - contentHeight: 204 - }; - getEvents = function() { - return scope.events; - }; - return scope.$watch(getEvents, function(events) { - if (events.length > 0) { - element.fullCalendar('destroy'); - angular.extend(calendarOptions, { - events: scope.events - }); - return element.fullCalendar(calendarOptions); - } - }, true); - } + module.directive('widgetSalesBreakEven', function() { + return { + restrict: 'A', + controller: 'WidgetSalesBreakEvenCtrl' }; - }]); + }); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets.hr-payroll-summary', []); + module = angular.module('impac.components.widgets.sales-comparison', []); - module.controller('WidgetHrPayrollSummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "ImpacWidgetsSvc", "$translate", function($scope, $q, ChartFormatterSvc, $filter, ImpacWidgetsSvc, $translate) { - var fetchElement, getIdentifier, h, matchElementToSelectedElement, periodName, selectedElementsSetting, settingsPromises, sortData, sortEmployeesBy, unCollapsedSetting, w; + module.controller('WidgetSalesComparisonCtrl', ["$scope", "$q", "$filter", "ChartFormatterSvc", "ImpacWidgetsSvc", "$translate", function($scope, $q, $filter, ChartFormatterSvc, ImpacWidgetsSvc, $translate) { + var buildFxTotals, fetchElement, getIdentifier, matchElementToSelectedElement, selectedElementsSetting, settingsPromises, sortAccountsBy, sortData, unCollapsedSetting, w; w = $scope.widget; $scope.orgDeferred = $q.defer(); $scope.timePeriodDeferred = $q.defer(); $scope.widthDeferred = $q.defer(); - $scope.histModeDeferred = $q.defer(); + $scope.paramSelectorDeferred1 = $q.defer(); + $scope.paramSelectorDeferred2 = $q.defer(); $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.widthDeferred.promise, $scope.histModeDeferred.promise, $scope.chartDeferred.promise]; + settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.widthDeferred.promise, $scope.paramSelectorDeferred1, $scope.paramSelectorDeferred2, $scope.chartDeferred.promise]; $scope.ascending = true; - $scope.sortedColumn = 'employee'; - periodName = (h = $scope.widget.metadata.hist_parameters) && h.period ? h.period.toLowerCase() : 'monthly'; - $scope.periodTranslation = $translate.instant("impac.widget.settings.time_period.period." + periodName); + $scope.sortedColumn = 'sales'; w.initContext = function() { var foundElem, i, len, ref, sElemId; - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.dates)) { + $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.sales_comparison) && !_.isEmpty(w.content.dates); + if ($scope.isDataFound) { $scope.unCollapsed = w.metadata.unCollapsed || []; + $scope.filterOptions = [ + { + label: $translate.instant('impac.widget.sales_comparison.value_sold_taxes'), + value: 'gross_value_sold' + }, { + label: $translate.instant('impac.widget.sales_comparison.value_sold_no_taxes'), + value: 'net_value_sold' + }, { + label: $translate.instant('impac.widget.sales_comparison.quantity_sold'), + value: 'quantity_sold' + } + ]; + $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { + return w.metadata && w.metadata.filter === o.value; + }) || $scope.filterOptions[0]); + $scope.criteriaOptions = [ + { + label: $translate.instant('impac.widget.sales_comparison.criteria_options.products'), + value: 'default' + }, { + label: $translate.instant('impac.widget.sales_comparison.criteria_options.locations'), + value: 'location' + }, { + label: $translate.instant('impac.widget.sales_comparison.criteria_options.industries'), + value: 'industry' + }, { + label: $translate.instant('impac.widget.sales_comparison.criteria_options.customers'), + value: 'customer' + } + ]; + $scope.criteria = angular.copy(_.find($scope.criteriaOptions, function(o) { + return w.metadata && w.metadata.criteria === o.value; + }) || $scope.criteriaOptions[0]); + buildFxTotals(); + $scope.ratesDate = moment.now(); if (!_.isEmpty(w.metadata.selectedElements)) { $scope.selectedElements = []; ref = w.metadata.selectedElements; for (i = 0, len = ref.length; i < len; i++) { sElemId = ref[i]; - foundElem = _.find(w.content.summary, function(statement) { + foundElem = _.find(w.content.sales_comparison, function(statement) { return statement.name === sElemId; }); - foundElem || (foundElem = fetchElement(w.content.summary, sElemId)); + foundElem || (foundElem = fetchElement(w.content.sales_comparison, sElemId)); if (foundElem) { $scope.selectedElements.push(foundElem); } } } - if (!(($scope.selectedElements != null) && $scope.selectedElements.length > 0)) { - w.width = 6; - } return sortData(); } }; - $scope.getElementChartColor = function(index) { - return ChartFormatterSvc.getColor(index); - }; - $scope.getLastValue = function(element) { - return (element.totals && element.totals[element.totals.length - 1]) || 0; - }; - $scope.getTotalSum = function(element) { - if (element.totals != null) { - return _.reduce(element.totals, function(memo, num) { - return memo + num; - }, 0); - } - }; - $scope.getName = function(element) { - if ((element != null) && (element.name != null)) { - if (element.name === "total_leaves") { - return $translate.instant('impac.widget.hr_payroll_summary.total_leaves'); - } - if (element.name === "total_super") { - return $translate.instant('impac.widget.hr_payroll_summary.total_superannuation'); - } - if (element.name === "total_reimbursement") { - return $translate.instant('impac.widget.hr_payroll_summary.total_reimbursements'); - } - if (element.name === "total_tax") { - return $translate.instant('impac.widget.hr_payroll_summary.total_taxes'); - } - if (element.name === "total_timeoff") { - return $translate.instant('impac.widget.hr_payroll_summary.total_time_off'); - } - return element.name.replace(/_/g, " "); + $scope.getLastDate = function() { + if ($scope.isDataFound) { + return _.last(w.content.dates); } }; - $scope.getTrackedField = function() { - var allFieldsEquals, field; - if (!_.isEmpty($scope.selectedElements) && ($scope.selectedElements[0].id != null)) { - field = $scope.selectedElements[0].id.split('-')[0]; - allFieldsEquals = true; - angular.forEach($scope.selectedElements, function(element) { - return allFieldsEquals && (allFieldsEquals = element.id && field === element.id.split('-')[0]); - }); - if (allFieldsEquals) { - return $scope.getName({ - name: field - }); - } else { - return null; - } + $scope.getTotalForPeriod = function(element) { + if ((element.totals != null) && $scope.filter) { + return _.reduce(element.totals[$scope.filter.value], function(memo, total) { + return memo + total; + }, 0); } }; - $scope.formatDate = function(date) { - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - return $filter('momentDate')(date, w.metadata.hist_parameters.period); - } else { - return $filter('momentDate')(date, 'default'); - } + $scope.getElementChartColor = function(index) { + return ChartFormatterSvc.getColor(index); }; $scope.sort = function(col) { if ($scope.sortedColumn === col) { @@ -11247,11 +10762,11 @@ $templateCache.put("widgets-settings/width.tmpl.html"," getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; if (!$scope.ascending) { @@ -11288,77 +10803,115 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0) { + all_values_are_positive = true; + inputData = []; + angular.forEach($scope.selectedElements, function(sElem) { + var data, dates, period; + data = angular.copy(sElem); + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; + } + dates = _.map(w.content.dates, function(date) { + return $filter('momentDate')(date, period); + }); + inputData.push({ + title: data.name, + labels: dates, + values: data.totals[$scope.filter.value] + }); + return angular.forEach(data.totals, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: true, + datasetFill: false, + pointDot: false + }; + if ($scope.filter.value.indexOf('quantity') > -1) { + angular.merge(options, { + currency: 'hide' + }); + } + chartData = ChartFormatterSvc.lineChart(inputData, options); + return $scope.drawTrigger.notify(chartData); + } + }; + buildFxTotals = function() { + var grossSaleFxTotals, groupedSales, i, len, netSaleFxTotals, ref, results, sale; + ref = w.content.sales_comparison; + results = []; + for (i = 0, len = ref.length; i < len; i++) { + groupedSales = ref[i]; + results.push((function() { + var j, len1, ref1, results1; + ref1 = groupedSales.sales; + results1 = []; + for (j = 0, len1 = ref1.length; j < len1; j++) { + sale = ref1[j]; + sale.formattedFxTotals = {}; + netSaleFxTotals = []; + grossSaleFxTotals = []; + if (!_.isEmpty(sale.fx_totals)) { + _.mapKeys(sale.fx_totals, function(total, currency) { + var grossAmount, k, l, len2, len3, netAmount, ref2, ref3, results2; + ref2 = total['net_value_sold']; + for (k = 0, len2 = ref2.length; k < len2; k++) { + grossAmount = ref2[k]; + if (!(grossAmount === 0 || currency === w.metadata.currency)) { + netSaleFxTotals.push({ + currency: currency, + amount: grossAmount, + rate: total.rate + }); + } + } + ref3 = total['gross_value_sold']; + results2 = []; + for (l = 0, len3 = ref3.length; l < len3; l++) { + netAmount = ref3[l]; + if (!(netAmount === 0 || currency === w.metadata.currency)) { + results2.push(grossSaleFxTotals.push({ + currency: currency, + amount: netAmount, + rate: total.rate + })); + } else { + results2.push(void 0); + } + } + return results2; + }); + } + if (!_.isEmpty(netSaleFxTotals)) { + sale.formattedFxTotals['net_value_sold'] = netSaleFxTotals; + } + if (!_.isEmpty(grossSaleFxTotals)) { + results1.push(sale.formattedFxTotals['gross_value_sold'] = grossSaleFxTotals); } else { - return $filter('momentDate')(date, 'default'); + results1.push(void 0); } - }); - angular.forEach($scope.selectedElements, function(sElem) { - var data; - data = angular.copy(sElem); - inputData.push({ - title: data.name, - labels: labels, - values: data.totals - }); - return angular.forEach(data.totals, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); - }); - }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: true, - datasetFill: $scope.selectedElements.length === 1, - pointDot: $scope.selectedElements.length === 1, - currency: 'hide' - }; - chartData = ChartFormatterSvc.lineChart(inputData, options); - } else { - pieData = _.map($scope.selectedElements, function(elem) { - return { - label: $filter('titleize')($scope.getName({ - name: elem.name - })), - value: $scope.getLastValue(elem) - }; - }); - pieOptions = { - showTooltips: true, - percentageInnerCutout: 50, - tooltipFontSize: 12, - currency: 'hide' - }; - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); - } - return $scope.drawTrigger.notify(chartData); + } + return results1; + })()); } + return results; }; unCollapsedSetting = {}; unCollapsedSetting.initialized = false; @@ -11378,8 +10931,8 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); + } + customer || (customer = w.content.customers[0]); + $scope.selectedCustomer = angular.copy(customer); + setSelectedCustomerId(); + return buildFxTotals(); + }; + setSelectedCustomerId = function() { + var cust; + if (!(cust = $scope.selectedCustomer)) { + return false; + } + return $scope.selectedCustomerId = { + value: cust.uid, + label: cust.name + }; + }; + buildFxTotals = function() { + var cust, dueFxTotals, invoicedFxTotals, paidFxTotals; + if (!(cust = $scope.selectedCustomer)) { + return false; + } + invoicedFxTotals = []; + dueFxTotals = []; + paidFxTotals = []; + if (_.some(cust.fx_totals, function(total, currency) { + return currency !== w.metadata.currency; + })) { + _.mapKeys(cust.fx_totals, function(total, currency) { + var baseTotal; + baseTotal = { + rate: total.rate, + currency: currency + }; + if (total.invoiced !== 0) { + invoicedFxTotals.push(angular.merge({ + amount: total.invoiced + }, baseTotal)); + } + if (total.paid !== 0) { + paidFxTotals.push(angular.merge({ + amount: total.paid + }, baseTotal)); + } + if (total.due !== 0) { + return dueFxTotals.push(angular.merge({ + amount: total.due + }, baseTotal)); + } }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: false - }; - chartData = ChartFormatterSvc.lineChart([inputData], options); - return $scope.drawTrigger.notify(chartData); + if (!_.isEmpty(invoicedFxTotals)) { + cust.invoicedFxTotals = invoicedFxTotals; + } + if (!_.isEmpty(paidFxTotals)) { + cust.paidFxTotals = paidFxTotals; + } + if (!_.isEmpty(dueFxTotals)) { + return cust.dueFxTotals = dueFxTotals; + } } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetHrPayrollTaxes', function() { + module.directive('widgetSalesCustomerDetails', function() { return { restrict: 'A', - controller: 'WidgetHrPayrollTaxesCtrl' + controller: 'WidgetSalesCustomerDetailsCtrl' }; }); }).call(this); (function() { - var module; + var module, + indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; - module = angular.module('impac.components.widgets.hr-salaries-summary', []); + module = angular.module('impac.components.widgets.sales-cycle', []); - module.controller('WidgetHrSalariesSummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$translate", function($scope, $q, ChartFormatterSvc, $translate) { + module.controller('WidgetSalesCycleCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "ImpacWidgetsSvc", "ImpacDashboardsSvc", function($scope, $q, ChartFormatterSvc, $filter, ImpacWidgetsSvc, ImpacDashboardsSvc) { var settingsPromises, w; w = $scope.widget; $scope.orgDeferred = $q.defer(); - $scope.widthDeferred = $q.defer(); - $scope.paramSelectorDeferred1 = $q.defer(); - $scope.paramSelectorDeferred2 = $q.defer(); + $scope.paramsPickerDeferred = $q.defer(); + $scope.timePeriodDeferred = $q.defer(); $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.widthDeferred.promise, $scope.paramSelectorDeferred1.promise, $scope.paramSelectorDeferred2.promise, $scope.chartDeferred.promise]; + settingsPromises = [$scope.orgDeferred.promise, $scope.paramsPickerDeferred.promise, $scope.timePeriodDeferred.promise, $scope.chartDeferred.promise]; w.initContext = function() { - $scope.isDataFound = !_.isEmpty(w.content) && (w.content.summary != null) && !_.isEmpty(w.content.summary.data); - if ($scope.isDataFound) { - $scope.periodOptions = [ - { - label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.yearly").toLowerCase()), - value: "yearly" - }, { - label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.monthly").toLowerCase()), - value: "monthly" - }, { - label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.weekly").toLowerCase()), - value: "weekly" - }, { - label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.daily").toLowerCase()), - value: "daily" - } - ]; - $scope.filterOptions = [ - { - label: $translate.instant("impac.common.label.gender"), - value: "gender" - }, { - label: $translate.instant("impac.common.label.age_range"), - value: "age_range" - }, { - label: $translate.instant("impac.common.label.job_title"), - value: "job_title" - } - ]; - $scope.period = angular.copy(_.find($scope.periodOptions, function(o) { - return o.value === w.content.total.period.toLowerCase(); - }) || $scope.periodOptions[0]); - return $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { - return o.value === w.content.summary.filter; - }) || $scope.filterOptions[0]); + var dhb, status_selection; + dhb = ImpacDashboardsSvc.getCurrentDashboard(); + status_selection = w.metadata.status_selection || dhb.metadata.status_selection || { + values: [] + }; + if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.status_average_durations)) { + _.remove(status_selection.values, function(status) { + return indexOf.call(_.keys(w.content.status_average_durations), status) < 0; + }); + $scope.hasReach = true; + $scope.statusOptions = []; + return angular.forEach(w.content.status_average_durations, function(value, status) { + var isSelected; + isSelected = _.isEmpty(status_selection.values) || (indexOf.call(status_selection.values, status) >= 0); + return $scope.statusOptions.push({ + label: status, + selected: isSelected + }); + }); } }; - $scope.getColorByIndex = function(index) { - return ChartFormatterSvc.getColor(index); + w.processError = function(error) { + if (error.code === 404) { + return $scope.isDataFound = false; + } }; $scope.drawTrigger = $q.defer(); w.format = function() { - var barData, barOptions, chartData, lineData, lineOptions; + var chartData, pieData, pieOptions; if ($scope.isDataFound) { - barData = { - labels: _.map(w.content.summary.data, function(elem) { - return elem.label; - }), - values: _.map(w.content.summary.data, function(elem) { - return elem.value; - }) - }; - if ($scope.filter.value === 'gender') { - barOptions = { - showTooltips: false - }; - chartData = ChartFormatterSvc.barChart(barData, barOptions); - } else if ($scope.filter.value === 'job_title') { - barOptions = { - showTooltips: false, - showXLabels: false, - barDatasetSpacing: 15 - }; - chartData = ChartFormatterSvc.barChart(barData, barOptions); - } else if ($scope.filter.value === 'age_range') { - if (_.last(barData.labels) === "unknown") { - barData.labels.pop(); - barData.values.pop(); + pieData = _.compact(_.map($scope.statusOptions, function(statusOption) { + var value; + value = w.content.status_average_durations[statusOption.label]; + if (statusOption.selected && angular.isDefined(value)) { + return { + label: ($filter('titleize')(statusOption.label)) + ": " + value + " " + $scope.unit, + value: value + }; } - lineData = [ - { - title: "Average salary", - labels: barData.labels, - values: barData.values - } - ]; - lineOptions = { - scaleBeginAtZero: true, - showXLabels: false - }; - chartData = ChartFormatterSvc.lineChart(lineData, lineOptions); - } else { - return { - error: { - message: "wrong filter", - code: 400 - } - }; - } + })); + pieOptions = { + percentageInnerCutout: 50, + tooltipFontSize: 12, + currency: w.content.unit + }; + chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); return $scope.drawTrigger.notify(chartData); } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetHrSalariesSummary', function() { + module.directive('widgetSalesCycle', function() { return { restrict: 'A', - controller: 'WidgetHrSalariesSummaryCtrl' + controller: 'WidgetSalesCycleCtrl' }; }); @@ -11597,48 +11152,81 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: true, + datasetFill: true, + pointDot: false + }; + chartData = ChartFormatterSvc.lineChart(inputData, options); + return $scope.drawTrigger.notify(chartData); } - return angular.copy(e); }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetHrSuperannuationAccruals', function() { + module.directive('widgetSalesForecast', function() { return { restrict: 'A', - controller: 'WidgetHrSuperannuationAccrualsCtrl' + controller: 'WidgetSalesForecastCtrl' }; }); @@ -11647,228 +11235,325 @@ $templateCache.put("widgets-settings/width.tmpl.html"," threshold) { + return codeName; + } else { + return fullName; + } }; - unCollapsedSetting.toMetadata = function() { - return { - unCollapsed: $scope.unCollapsed - }; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var all_values_are_positive, chartData, data, dates, inputData, options, period; + if ($scope.isDataFound && $scope.product && (data = $scope.getSelectedProduct())) { + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; + } + dates = _.map(w.content.dates, function(date) { + return $filter('momentDate')(date, period); + }); + inputData = { + title: data.name, + labels: dates, + values: data.totals + }; + all_values_are_positive = true; + angular.forEach(data.totals, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: false + }; + if ($scope.filter.value.indexOf('quantity') > -1) { + angular.merge(options, { + currency: 'hide' + }); + } + chartData = ChartFormatterSvc.lineChart([inputData], options); + return $scope.drawTrigger.notify(chartData); + } }; - w.settings.push(unCollapsedSetting); return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetHrTimesheets', function() { + module.directive('widgetSalesGrowth', function() { return { restrict: 'A', - controller: 'WidgetHrTimesheetsCtrl' + controller: 'WidgetSalesGrowthCtrl' }; }); }).call(this); (function() { - var module; + var module, + indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; - module = angular.module('impac.components.widgets.hr-workforce-summary', []); + module = angular.module('impac.components.widgets.sales-leads-funnel', []); - module.controller('WidgetHrWorkforceSummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { - var settingsPromises, w; + module.controller('WidgetSalesLeadsFunnelCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$sce", "ImpacWidgetsSvc", "ImpacDashboardsSvc", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $sce, ImpacWidgetsSvc, ImpacDashboardsSvc, $translate) { + var hasOneLead, selectedStatusSetting, setLeadDescriptionTooltips, settingsPromises, w; w = $scope.widget; $scope.orgDeferred = $q.defer(); + $scope.timePeriodDeferred = $q.defer(); + $scope.paramsPickerDeferred = $q.defer(); $scope.widthDeferred = $q.defer(); - $scope.paramSelectorDeferred1 = $q.defer(); - $scope.paramSelectorDeferred2 = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.widthDeferred.promise, $scope.paramSelectorDeferred1.promise, $scope.paramSelectorDeferred2.promise, $scope.chartDeferred.promise]; + settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.paramsPickerDeferred.promise, $scope.widthDeferred.promise]; + hasOneLead = function(leadsPerStatus) { + var reducedHash, total, totalsArray; + reducedHash = _.mapValues(leadsPerStatus, function(statusHash) { + return statusHash.total; + }); + totalsArray = _.compact(_.values(reducedHash)); + total = _.reduce(totalsArray, function(total, n) { + if (total == null) { + total = 0; + } + return total + n; + }); + return (total != null) && total > 0; + }; w.initContext = function() { - $scope.isDataFound = !_.isEmpty(w.content) && (w.content.summary != null) && !_.isEmpty(w.content.summary.data); - if ($scope.isDataFound) { - $scope.periodOptions = [ - { - label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.yearly").toLowerCase()), - value: "yearly" - }, { - label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.monthly").toLowerCase()), - value: "monthly" - }, { - label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.weekly").toLowerCase()), - value: "weekly" - }, { - label: _.capitalize($translate.instant("impac.widget.settings.time_period.period.daily").toLowerCase()), - value: "daily" - } - ]; - $scope.filterOptions = [ - { - label: $translate.instant("impac.common.label.gender"), - value: "gender" - }, { - label: $translate.instant("impac.common.label.age_range"), - value: "age_range" - }, { - label: $translate.instant("impac.common.label.salary_range"), - value: "salary_range" - }, { - label: $translate.instant("impac.common.label.job_title"), - value: "job_title" - } - ]; - $scope.period = angular.copy(_.find($scope.periodOptions, function(o) { - return o.value === w.content.total.period.toLowerCase(); - }) || $scope.periodOptions[0]); - return $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { - return o.value === w.content.summary.filter; - }) || $scope.filterOptions[0]); + var dhb, status_selection; + dhb = ImpacDashboardsSvc.getCurrentDashboard(); + status_selection = w.metadata.status_selection || dhb.metadata.status_selection || { + values: [] + }; + if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.leads_per_status) && hasOneLead(w.content.leads_per_status)) { + _.remove(status_selection.values, function(status) { + return indexOf.call(_.keys(w.content.leads_per_status), status) < 0; + }); + $scope.hasReach = true; + $scope.statusOptions = []; + return angular.forEach(w.content.leads_per_status, function(value, status) { + var isSelected; + isSelected = _.isEmpty(status_selection.values) || (indexOf.call(status_selection.values, status) >= 0); + return $scope.statusOptions.push({ + label: status, + selected: isSelected + }); + }); } }; - $scope.getTotalWorkforce = function() { - if ($scope.isDataFound) { - return w.content.total.amount; + w.processError = function(error) { + if (error.code === 404) { + return $scope.isDataFound = false; } }; - $scope.getNumberOfEmployees = function() { - if ($scope.isDataFound) { - return w.content.total.employees; + $scope.getImpacColor = function(index) { + return ChartFormatterSvc.getColor(index); + }; + $scope.toggleSelectStatus = function(aStatus) { + if ($scope.selectedStatus && $scope.selectedStatus === aStatus) { + $scope.selectedStatus = null; + } else { + $scope.selectedStatus = aStatus; + $scope.setLeadTooltipsIsLocked = false; + } + if (!w.isExpanded() && $scope.selectedStatus) { + return w.toggleExpanded(); + } else { + return ImpacWidgetsSvc.updateWidgetSettings(w, false, true); } }; - $scope.getCurrency = function() { - if ($scope.isDataFound) { - return w.content.total.currency; + $scope.isSelected = function(aStatus) { + return $scope.selectedStatus && aStatus === $scope.selectedStatus; + }; + $scope.getSelectedLeads = function() { + var leads; + if ($scope.isDataFound && $scope.selectedStatus) { + leads = w.content.leads_per_status[$scope.selectedStatus].leads; + if (!$scope.setLeadTooltipsIsLocked) { + setLeadDescriptionTooltips(leads); + } + return leads; + } + }; + $scope.leadDescriptionTooltips = {}; + setLeadDescriptionTooltips = function(leads) { + $scope.leadDescriptionTooltips = {}; + $scope.setLeadTooltipsIsLocked = true; + return _.each(leads, function(aLead, index) { + var nameLineArray, tooltip; + tooltip = []; + nameLineArray = [""]; + if (aLead.first_name) { + nameLineArray.push($filter('titleize')(aLead.first_name)); + } + if (aLead.last_name) { + nameLineArray.push($filter('titleize')(aLead.last_name)); + } + nameLineArray.push(""); + tooltip.push(nameLineArray.join(' ')); + tooltip.push("Status: " + ($filter('titleize')(aLead.lead_status))); + if (aLead.organization) { + tooltip.push("Organization: " + ($filter('titleize')(aLead.organization))); + } + if (aLead.opportunities) { + tooltip.push("Opportunities:"); + _.each(aLead.opportunities, function(opp) { + var oppLineArray; + oppLineArray = []; + if (opp.code) { + oppLineArray.push("#" + opp.code); + } + if (opp.name) { + oppLineArray.push("" + opp.name); + } + if (opp.amount) { + oppLineArray.push($filter('mnoCurrency')(opp.amount.total_amount, "USD", false)); + } + if (opp.probability) { + oppLineArray.push(opp.probability + "%"); + } + if (opp.sales_stage) { + oppLineArray.push("" + opp.sales_stage); + } + return tooltip.push(oppLineArray.join(' - ')); + }); + } + return $scope.leadDescriptionTooltips[index] = $sce.trustAsHtml(tooltip.join("
")); + }); + }; + selectedStatusSetting = {}; + selectedStatusSetting.initialized = false; + selectedStatusSetting.initialize = function() { + if (!_.isEmpty(w.content) && angular.isDefined(w.content.leads_per_status[w.metadata.selected_status])) { + $scope.selectedStatus = w.metadata.selected_status; } + return selectedStatusSetting.initialized = true; }; - $scope.formatSalaryRange = function(aRange) { - var range1, range2; - range1 = $filter('mnoCurrency')(aRange.label.split('-')[0], aRange.currency, false); - range2 = $filter('mnoCurrency')(aRange.label.split('-')[1], aRange.currency, false); - return [range1, range2].join(" - "); - }; - $scope.getColorByIndex = function(index) { - return ChartFormatterSvc.getColor(index); + selectedStatusSetting.toMetadata = function() { + return { + selected_status: $scope.selectedStatus + }; }; - $scope.drawTrigger = $q.defer(); + w.settings.push(selectedStatusSetting); w.format = function() { - var barData, barOptions, chartData, pieData, pieOptions; + var max; if ($scope.isDataFound) { - if ($scope.filter.value === 'salary_range') { - barData = { - labels: _.map(w.content.summary.data, function(elem) { - return $scope.formatSalaryRange(elem); - }), - values: _.map(w.content.summary.data, function(elem) { - return elem.value; - }) - }; - barOptions = { - showTooltips: false, - showXLabels: false, - barDatasetSpacing: 15 - }; - chartData = ChartFormatterSvc.barChart(barData, barOptions); - } else { - pieData = _.map(w.content.summary.data, function(elem) { - return { - label: elem.label, - value: elem.value - }; - }); - pieOptions = { - showTooltips: true, - percentageInnerCutout: 50, - tooltipFontSize: 12 - }; - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); + max = 0; + angular.forEach($scope.statusOptions, function(statusOption) { + var value; + value = w.content.leads_per_status[statusOption.label].total; + if (statusOption.selected && angular.isDefined(value) && value > max) { + return max = value; + } + }); + if (max > 0) { + return $scope.funnel = _.compact(_.map($scope.statusOptions, function(statusOption, index) { + var coloredWidth, statusWidth, value; + value = w.content.leads_per_status[statusOption.label].total; + coloredWidth = (100 * (value / max) - 10).toFixed(); + if (coloredWidth < 8) { + statusWidth = 92; + } else { + statusWidth = 100 - coloredWidth; + } + if (statusOption.selected && angular.isDefined(value)) { + return { + status: statusOption.label, + number: value, + coloredWidth: { + width: coloredWidth + "%" + }, + statusWidth: { + width: statusWidth + "%" + } + }; + } + })); } - return $scope.drawTrigger.notify(chartData); } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetHrWorkforceSummary', function() { + module.directive('widgetSalesLeadsFunnel', function() { return { restrict: 'A', - controller: 'WidgetHrWorkforceSummaryCtrl' + controller: 'WidgetSalesLeadsFunnelCtrl' }; }); @@ -11877,156 +11562,145 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0)) { - w.width = 6; - } - return sortData(); - } - }; - $scope.getElementChartColor = function(index) { - if (index != null) { - return ChartFormatterSvc.getColor(index); - } - }; - $scope.getLastValue = function(element) { - if ((element != null) && (element.totals != null)) { - return _.last(element.totals); - } - }; - $scope.getTotalSum = function(element) { - if ((element != null) && (element.totals != null)) { - return _.reduce(element.totals, function(memo, num) { - return memo + num; - }, 0); + $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.leads); + if ($scope.isDataFound) { + return initLeadDescriptionTooltips(w.content.leads); } }; - $scope.getName = function(element) { - if ((element != null) && (element.name != null)) { - return element.name.replace(/_/g, " "); + w.processError = function(error) { + if (error.code === 404) { + return $scope.isDataFound = false; } }; - $scope.getPeriod = function() { - var period, period_param; - if ($scope.isDataFound && w.metadata && w.metadata.hist_parameters) { - period_param = w.metadata.hist_parameters.period || "MONTHLY"; - period = "day"; - if (period_param !== "DAILY") { - period = period_param.substr(0, period_param.length - 2).toLowerCase(); + $scope.leadDescriptionTooltips = {}; + initLeadDescriptionTooltips = function(leads) { + return _.each(leads, function(aLead, index) { + var nameLineArray, tooltip; + tooltip = []; + nameLineArray = [""]; + if (aLead.first_name) { + nameLineArray.push($filter('titleize')(aLead.first_name)); } - return "current " + period; - } else { - return "current month"; - } - }; - $scope.getOldestInvoice = function(element) { - var idx; - idx = _.findIndex(element.totals, function(invoice) { - return invoice !== 0; - }); - return w.content.dates[idx] || null; - }; - $scope.sort = function(col) { - if ($scope.sortedColumn === col) { - $scope.ascending = !$scope.ascending; - } else { - $scope.ascending = true; - $scope.sortedColumn = col; - } - return sortData(); - }; - $scope.toggleSelectedElement = function(element, statementName) { - if (statementName == null) { - statementName = null; - } - if ($scope.isSelected(element, statementName)) { - $scope.selectedElements = _.reject($scope.selectedElements, function(sElem) { - return matchElementToSelectedElement(element, statementName, sElem); - }); - w.format(); - if (w.isExpanded() && $scope.selectedElements.length === 0) { - return w.toggleExpanded(); - } else { - return ImpacWidgetsSvc.updateWidgetSettings(w, false); + if (aLead.last_name) { + nameLineArray.push($filter('titleize')(aLead.last_name)); } - } else { - $scope.selectedElements || ($scope.selectedElements = []); - if (statementName) { - element.category = statementName; + nameLineArray.push(""); + tooltip.push(nameLineArray.join(' ')); + tooltip.push("Status: " + ($filter('titleize')(aLead.lead_status))); + if (aLead.organization) { + tooltip.push("Organization: " + ($filter('titleize')(aLead.organization))); } - $scope.selectedElements.push(element); - w.format(); - if (!w.isExpanded()) { - return w.toggleExpanded(); - } else { - return ImpacWidgetsSvc.updateWidgetSettings(w, false); + if (aLead.opportunities) { + tooltip.push("Opportunities:"); + _.each(aLead.opportunities, function(opp) { + var oppLineArray; + oppLineArray = []; + if (opp.code) { + oppLineArray.push("#" + opp.code); + } + if (opp.name) { + oppLineArray.push("" + opp.name); + } + if (opp.amount) { + oppLineArray.push($filter('mnoCurrency')(opp.amount.total_amount, "USD", false)); + } + if (opp.probability) { + oppLineArray.push(opp.probability + "%"); + } + if (opp.sales_stage) { + oppLineArray.push("" + opp.sales_stage); + } + return tooltip.push(oppLineArray.join(' - ')); + }); } - } + return $scope.leadDescriptionTooltips[index] = $sce.trustAsHtml(tooltip.join("
")); + }); }; - $scope.isSelected = function(element, statementName) { - if (statementName == null) { - statementName = null; + return $scope.widgetDeferred.resolve(settingsPromises); + }]); + + module.directive('widgetSalesLeadsList', function() { + return { + restrict: 'A', + controller: 'WidgetSalesLeadsListCtrl' + }; + }); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets.sales-list', []); + + module.controller('WidgetSalesListCtrl', ["$scope", "$q", "ChartFormatterSvc", "ImpacWidgetsSvc", "$translate", function($scope, $q, ChartFormatterSvc, ImpacWidgetsSvc, $translate) { + var buildFxTotals, settingsPromises, sortAccountsBy, sortData, unCollapsedSetting, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.paramSelectorDeferred = $q.defer(); + $scope.datesPickerDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.paramSelectorDeferred.promise, $scope.datesPickerDeferred.promise]; + $scope.ascending = true; + $scope.sortedColumn = 'account'; + $scope.datesPickerTemplate = "" + $translate.instant('impac.widget.sales_list.from') + " " + $translate.instant('impac.widget.sales_list.to') + " "; + w.initContext = function() { + if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary)) { + buildFxTotals(); + $scope.ratesDate = moment.now(); + $scope.filterOptions = [ + { + label: $translate.instant('impac.widget.sales_list.value_sold_taxes'), + value: 'gross_value_sold' + }, { + label: $translate.instant('impac.widget.sales_list.value_sold_no_taxes'), + value: 'net_value_sold' + }, { + label: $translate.instant('impac.widget.sales_list.quantity_sold'), + value: 'quantity_sold' + }, { + label: $translate.instant('impac.widget.sales_list.value_purchased_taxes'), + value: 'gross_value_purchased' + }, { + label: $translate.instant('impac.widget.sales_list.value_purchased_no_taxes'), + value: 'net_value_purchased' + }, { + label: $translate.instant('impac.widget.sales_list.quantity_purchased'), + value: 'quantity_purchased' + } + ]; + $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { + return o.value === w.metadata.filter; + }) || $scope.filterOptions[0]); + $scope.unCollapsed = w.metadata.unCollapsed || []; + return sortData(); } - return (element != null) && _.any($scope.selectedElements, function(sElem) { - return matchElementToSelectedElement(element, statementName, sElem); - }); }; - $scope.toggleCollapsed = function(element) { - if ((element != null) && (element.name != null)) { + $scope.toggleCollapsed = function(categoryName) { + if (categoryName != null) { if (_.find($scope.unCollapsed, (function(name) { - return element.name === name; + return categoryName === name; }))) { $scope.unCollapsed = _.reject($scope.unCollapsed, function(name) { - return name === element.name; + return name === categoryName; }); } else { - $scope.unCollapsed.push(element.name); + $scope.unCollapsed.push(categoryName); } return ImpacWidgetsSvc.updateWidgetSettings(w, false); } }; - $scope.isCollapsed = function(element) { - if ((element != null) && (element.name != null)) { + $scope.isCollapsed = function(categoryName) { + if (categoryName != null) { if (_.find($scope.unCollapsed, (function(name) { - return element.name === name; + return categoryName === name; }))) { return false; } else { @@ -12034,160 +11708,76 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0; - }; - matchElementToSelectedElement = function(element, elementCategory, sElem) { - if (elementCategory == null) { - elementCategory = null; - } - return getIdentifier(element, elementCategory) === getIdentifier(sElem); - }; - fetchElement = function(statements, sElemId) { - var element, elements, i, len, statement; - for (i = 0, len = statements.length; i < len; i++) { - statement = statements[i]; - elements = statement.suppliers || statement.customers; - if (_.isEmpty(elements)) { - continue; - } - element = _.find(elements, function(elem) { - return getIdentifier(elem, statement.name) === sElemId; - }); - if (element != null) { - element = angular.merge(angular.copy(element), { - category: statement.name + sortAccountsBy = function(getElem) { + return angular.forEach(w.content.summary, function(sElem) { + if (sElem.products) { + return sElem.products.sort(function(a, b) { + var res; + res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; + if (!$scope.ascending) { + res *= -1; + } + return res; }); - return element; - } - } - }; - getIdentifier = function(element, category) { - var id; - if (category == null) { - category = null; - } - id = element.id || element.name; - category || (category = element.category); - if (!category) { - return id; - } - return category + "-" + id; - }; - sortBy = function(data, getElem) { - return data.sort(function(a, b) { - var res; - res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; - if (!$scope.ascending) { - res *= -1; } - return res; }); }; - sortByInvoiceCallback = function(el) { - var date; - date = $scope.getOldestInvoice(el); - if (date && _.isString(date)) { - date = date.match(/[^_\W]+\s?/g).join(''); - } - return new Date(date); - }; sortData = function() { - if ($scope.sortedColumn === 'customer') { - sortBy(w.content.payables.suppliers, function(el) { - return el.name; - }); - return sortBy(w.content.receivables.customers, function(el) { + if ($scope.sortedColumn === 'account') { + return sortAccountsBy(function(el) { return el.name; }); } else if ($scope.sortedColumn === 'total') { - sortBy(w.content.payables.suppliers, function(el) { - return $scope.getTotalSum(el); - }); - return sortBy(w.content.receivables.customers, function(el) { - return $scope.getTotalSum(el); + return sortAccountsBy(function(el) { + return el.total; }); - } else if ($scope.sortedColumn === 'invoice') { - sortBy(w.content.payables.suppliers, sortByInvoiceCallback); - return sortBy(w.content.receivables.customers, sortByInvoiceCallback); } }; + $scope.sort = function(col) { + if ($scope.sortedColumn === col) { + $scope.ascending = !$scope.ascending; + } else { + $scope.ascending = true; + $scope.sortedColumn = col; + } + return sortData(); + }; buildFxTotals = function() { - var contact, contactFxTotals, fxTotal, i, j, len, len1, ref, ref1, results; - ref = _.union(w.content.payables.suppliers, w.content.receivables.customers); + var groupedSales, i, len, ref, results, sale, saleFxTotals; + ref = w.content.summary; results = []; for (i = 0, len = ref.length; i < len; i++) { - contact = ref[i]; - contactFxTotals = []; - ref1 = contact.fx_totals; - for (j = 0, len1 = ref1.length; j < len1; j++) { - fxTotal = ref1[j]; - if (!_.isEmpty(fxTotal)) { - _.mapKeys(fxTotal, function(total, currency) { - if (currency !== w.metadata.currency) { - return contactFxTotals.push({ - currency: currency, - amount: total.amount, - rate: total.rate - }); - } - }); + groupedSales = ref[i]; + results.push((function() { + var j, len1, ref1, results1; + ref1 = groupedSales.products; + results1 = []; + for (j = 0, len1 = ref1.length; j < len1; j++) { + sale = ref1[j]; + saleFxTotals = []; + if (!_.isEmpty(sale.fx_totals)) { + _.mapKeys(sale.fx_totals, function(total, currency) { + var amount; + amount = total['amount']; + if (!(amount === 0 || currency === w.metadata.currency)) { + return saleFxTotals.push({ + currency: currency, + amount: amount, + rate: total.rate + }); + } + }); + } + if (!_.isEmpty(saleFxTotals)) { + results1.push(sale.formattedFxTotals = saleFxTotals); + } else { + results1.push(void 0); + } } - } - if (!_.isEmpty(contactFxTotals)) { - results.push(contact.formattedFxTotals = contactFxTotals); - } else { - results.push(void 0); - } - } - return results; - }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var all_values_are_positive, chartData, dates, inputData, options, period; - if ($scope.isDataFound && ($scope.selectedElements != null) && $scope.selectedElements.length > 0) { - all_values_are_positive = true; - inputData = []; - period = null; - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - period = w.metadata.hist_parameters.period; - } - dates = _.map(w.content.dates, function(date, index) { - return $filter('momentDate')(date, period); - }); - angular.forEach($scope.selectedElements, function(sElem) { - var data; - data = angular.copy(sElem); - inputData.push({ - title: data.name, - labels: dates, - values: data.totals - }); - return angular.forEach(data.totals, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); - }); - }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: true, - datasetFill: $scope.selectedElements.length === 1, - pointDot: $scope.selectedElements.length === 1 - }; - chartData = ChartFormatterSvc.lineChart(inputData, options); - return $scope.drawTrigger.notify(chartData); + return results1; + })()); } + return results; }; unCollapsedSetting = {}; unCollapsedSetting.initialized = false; @@ -12200,28 +11790,13 @@ $templateCache.put("widgets-settings/width.tmpl.html","" + entity.name + ""]; - count = 1; - _.each(entity.invoices, function(i) { - var amountDetail, formattedInvoiced, formattedPaid, invCurrency, txn; - txn = i.transaction_no !== "" ? " (" + i.transaction_no + ")" : ""; - invCurrency = Object.keys(i.fx_totals)[0]; - formattedInvoiced = $filter('mnoCurrency')(i.fx_totals[invCurrency].invoiced, invCurrency, true); - if (i.tooltip_status === "partially paid") { - formattedPaid = $filter('mnoCurrency')(i.fx_totals[invCurrency].paid, invCurrency, true); - amountDetail = " (" + formattedPaid + " on " + formattedInvoiced + ")"; - } else { - amountDetail = " (" + formattedInvoiced + ")"; - } - tooltip.push("#" + count + txn + " - " + i.tooltip_status + amountDetail); - return count++; - }); - return $scope.invoiceTooltips[entity.id] = $sce.trustAsHtml(tooltip.join("
")); - }); + $scope.getCurrency = function() { + if ($scope.isDataFound) { + return w.content.currency || "USD"; + } }; - buildFxTotals = function() { - var contact, contactFxTotals, j, len, ref, results; - ref = w.content.entities; - results = []; - for (j = 0, len = ref.length; j < len; j++) { - contact = ref[j]; - contactFxTotals = []; - _.mapKeys(contact.fx_totals, function(total, currency) { - if (currency !== w.metadata.currency) { - return contactFxTotals.push({ - currency: currency, - amount: total.invoiced, - rate: total.rate - }); - } - }); - if (!_.isEmpty(contactFxTotals)) { - results.push(contact.formattedFxTotals = contactFxTotals); + $scope.drawTrigger = $q.defer(); + w.format = function() { + var all_values_are_positive, chartData, dates, inputData, options, period, values; + if ($scope.isDataFound) { + if ((w.metadata != null) && w.metadata.filter === "net_margin") { + values = w.content.margins.net; } else { - results.push(void 0); + values = w.content.margins.gross; + } + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; } + dates = _.map(w.content.dates, function(date) { + return $filter('momentDate')(date, period); + }); + inputData = { + title: $translate.instant('impac.widget.sales_margin.gross_margin'), + labels: dates, + values: values + }; + all_values_are_positive = true; + angular.forEach(values, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: false + }; + chartData = ChartFormatterSvc.lineChart([inputData], options); + return $scope.drawTrigger.notify(chartData); } - return results; }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetInvoicesList', function() { + module.directive('widgetSalesMargin', function() { return { restrict: 'A', - controller: 'WidgetInvoicesListCtrl' + controller: 'WidgetSalesMarginCtrl' }; }); @@ -12335,45 +11901,111 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 0 && (w.content.sales[0].total != null); }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var chartData, pieData, pieOptions; + $scope.getCurrency = function() { if ($scope.isDataFound) { - pieData = _.map(w.content.summary, function(entity) { - return { - label: entity.name, - value: entity.total - }; - }); - pieOptions = { - percentageInnerCutout: 50, - tooltipFontSize: 12 - }; - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); - return $scope.drawTrigger.notify(chartData); + return w.content.currency; + } + }; + $scope.getValue = function(valueType) { + if ((w.content != null) && w.content[valueType]) { + switch ($scope.displayType.value) { + case 'total': + return $filter('mnoCurrency')(w.content[valueType][0].total, $scope.getCurrency(), false); + case 'average': + return $filter('mnoCurrency')(w.content[valueType][0].avg, $scope.getCurrency(), false); + case 'trans_count': + return w.content[valueType][0].trans_count; + } + } else { + return 0; + } + }; + $scope.sign = function(type) { + if ($scope.displayType.value === 'average') { + return { + minus: '~', + equal: '=>' + }[type]; + } else if ($scope.displayType.value === 'trans_count') { + return { + minus: '+', + equal: '=' + }[type]; + } else { + return { + minus: '-', + equal: '=' + }[type]; } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetInvoicesSummary', function() { + module.directive('widgetSalesNetSales', function() { return { restrict: 'A', - controller: 'WidgetInvoicesSummaryCtrl' + controller: 'WidgetSalesNetSalesCtrl' }; }); @@ -12382,99 +12014,125 @@ $templateCache.put("widgets-settings/width.tmpl.html","= 0 && anIndex < w.content.aged_sales[$scope.filter.value].length) { - return w.content.aged_sales[$scope.filter.value][anIndex]; + ]; + $scope.displayType = angular.copy(_.find($scope.displayOptions, function(o) { + return w.metadata && (o.value === w.metadata.display_type); + }) || $scope.displayOptions[0]); + hoursTmpl = $translate.instant('impac.widget.sales_new_vs_existing.tmpl.last_hours'); + daysTmpl = $translate.instant('impac.widget.sales_new_vs_existing.tmpl.last_days'); + $scope.timeRangeOptions = [ + { + label: hoursTmpl.replace(':hours:', 24), + value: '-1d' + }, { + label: daysTmpl.replace(':days:', 5), + value: '-5d' + }, { + label: daysTmpl.replace(':days:', 7), + value: '-7d' + }, { + label: daysTmpl.replace(':days:', 30), + value: '-30d' + }, { + label: daysTmpl.replace(':days:', 45), + value: '-45d' + }, { + label: daysTmpl.replace(':days:', 60), + value: '-60d' + }, { + label: daysTmpl.replace(':days:', 90), + value: '-90d' } + ]; + $scope.timeRange = angular.copy(_.find($scope.timeRangeOptions, function(o) { + return w.metadata && (o.value === w.metadata.time_range); + }) || $scope.timeRangeOptions[6]); + w.initContext = function() { + return $scope.isDataFound = (w.content != null) && (w.content.summary != null) && (w.content.summary.customers_count != null) && (w.content.summary.customers_count.total != null) && w.content.summary.customers_count.total > 0; }; - $scope.getLastDate = function() { + $scope.displayTypeOnClick = function() { + $scope.updateSettings(false); + return w.format(); + }; + $scope.getValue = function(key) { + var result, returnType; if ($scope.isDataFound) { - return _.last(w.content.dates); + returnType = $scope.displayType.value; + result = w.content.summary[returnType][key]; + switch (returnType) { + case 'total_sales': + return $filter('mnoCurrency')(result, w.metadata.currency); + default: + return result; + } } }; - $scope.getClassColor = function(prev, value) { - if (value < prev) { - return 'negative'; - } else if (value > prev) { - return 'positive'; - } else { - return null; - } + $scope.shouldDisplayCurrency = function() { + return $scope.isDataFound && $scope.displayType.value.indexOf('count') < 0; + }; + $scope.calculatePercentage = function(sliceType) { + var values; + values = { + "new": Math.abs(w.content.summary[$scope.displayType.value]["new"]), + existing: Math.abs(w.content.summary[$scope.displayType.value].existing) + }; + values.totals = values["new"] + values.existing; + return Math.round(values[sliceType] / values.totals * 100); }; $scope.drawTrigger = $q.defer(); w.format = function() { - var all_values_are_positive, chartData, inputData, options, period, values; + var chartData, pieData, pieOptions; if ($scope.isDataFound) { - all_values_are_positive = true; - inputData = []; - values = w.content.aged_sales[$scope.filter.value]; - period = null; - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - period = w.metadata.hist_parameters.period; - } - $scope.formattedDates = _.map(w.content.dates, function(date) { - return $filter('momentDate')(date, period); - }); - inputData.push({ - title: $scope.filter.label, - labels: $scope.formattedDates, - values: values - }); - angular.forEach(values, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); - }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: true, - datasetFill: true, - pointDot: true + pieData = [ + { + label: "EXISTING " + ($scope.calculatePercentage('existing')) + "%", + value: w.content.summary[$scope.displayType.value].existing + }, { + label: "NEW " + ($scope.calculatePercentage('new')) + "%", + value: w.content.summary[$scope.displayType.value]["new"] + } + ]; + pieOptions = { + percentageInnerCutout: 50, + tooltipFontSize: 12 }; - if ($scope.filter.value.indexOf('quantity') > -1) { - angular.merge(options, { + if (!$scope.shouldDisplayCurrency()) { + angular.merge(pieOptions, { currency: 'hide' }); } - chartData = ChartFormatterSvc.lineChart(inputData, options); + chartData = ChartFormatterSvc.pieChart(pieData, pieOptions, true); return $scope.drawTrigger.notify(chartData); } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesAged', function() { + module.directive('widgetSalesNewVsExistingCustomers', function() { return { restrict: 'A', - controller: 'WidgetSalesAgedCtrl' + controller: 'WidgetSalesNewVsExistingCustomersCtrl' }; }); @@ -12483,644 +12141,643 @@ $templateCache.put("widgets-settings/width.tmpl.html"," " + ($filter('date')(date, 'd-MM-yy')); - } else { - return w.content.break_even.projected_date; + $scope.formatNumberOfLeads = function(carac) { + var color, formattedNominal, formattedVariation, n_hash, nominal, variation; + formattedNominal = 0; + formattedVariation = "- %"; + if (!$scope.isDataFound) { + return { + nominal: formattedNominal, + variation: formattedVariation, + color: '' + }; + } + n_hash = angular.copy(w.content.number_of_leads); + nominal = 0; + color = ''; + if (carac === "new" && n_hash.total && n_hash.total.length === 2) { + nominal = n_hash.total[1] - n_hash.total[0]; + variation = getVariation(n_hash.total); + if (variation > 0) { + color = 'green'; + } else if (variation < 0) { + color = 'red'; + } + } else if (carac === "converted" && n_hash.converted && n_hash.converted.length === 2) { + nominal = n_hash.converted[1]; + variation = getVariation(n_hash.converted); + if (variation > 0) { + color = 'green'; + } else if (variation < 0) { + color = 'red'; } - } - }; - $scope.getOpportunitiesToClose = function() { - var opps; - if ($scope.isDataFound && w.content.break_even) { - if (("" + w.content.break_even.opportunities_to_close).match('>')) { - opps = angular.copy(w.content.break_even.opportunities_to_close).replace('>', ''); - return "> " + opps; - } else { - return w.content.break_even.opportunities_to_close; + } else if (carac === "lost" && n_hash.lost && n_hash.lost.length === 2) { + nominal = n_hash.lost[1]; + variation = getVariation(n_hash.lost); + if (variation < 0) { + color = 'green'; + } else if (variation > 0) { + color = 'red'; } + } else { + return { + nominal: formattedNominal, + variation: formattedVariation, + color: color + }; } - }; - $scope.isTargetMet = function() { - if ($scope.isDataFound && w.content.break_even) { - return w.content.break_even.variance < 0; + if (nominal > 0) { + formattedNominal = "+" + nominal; + } else if (nominal < 0) { + formattedNominal = nominal; } - }; - $scope.getVariance = function() { - if ($scope.isDataFound && w.content.break_even) { - return Math.abs(w.content.break_even.variance); + if (variation && variation > 0) { + formattedVariation = "+" + (variation.toFixed(0)) + "%"; + } else if (variation && variation < 0) { + formattedVariation = (variation.toFixed(0)) + "%"; } - }; - thresholdSetting = {}; - thresholdSetting.initialized = false; - thresholdSetting.initialize = function() { - return thresholdSetting.initialized = true; - }; - thresholdSetting.toMetadata = function() { return { - threshold: $scope.threshold + nominal: formattedNominal, + variation: formattedVariation, + color: color }; }; - w.settings.push(thresholdSetting); + getVariation = function(v_array) { + var variation; + if (v_array[0] !== 0) { + return variation = 100 * ((v_array[1] / v_array[0]) - 1); + } else { + return variation = "- "; + } + }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesBreakEven', function() { + module.directive('widgetSalesNumberOfLeads', function() { return { restrict: 'A', - controller: 'WidgetSalesBreakEvenCtrl' + controller: 'WidgetSalesNumberOfLeadsCtrl' }; }); }).call(this); (function() { - var module; + var module, + indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; - module = angular.module('impac.components.widgets.sales-comparison', []); + module = angular.module('impac.components.widgets.sales-opportunities-funnel', []); - module.controller('WidgetSalesComparisonCtrl', ["$scope", "$q", "$filter", "ChartFormatterSvc", "ImpacWidgetsSvc", "$translate", function($scope, $q, $filter, ChartFormatterSvc, ImpacWidgetsSvc, $translate) { - var buildFxTotals, fetchElement, getIdentifier, matchElementToSelectedElement, selectedElementsSetting, settingsPromises, sortAccountsBy, sortData, unCollapsedSetting, w; + module.controller('WidgetSalesOpportunitiesFunnelCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "ImpacWidgetsSvc", "ImpacDashboardsSvc", function($scope, $q, ChartFormatterSvc, $filter, ImpacWidgetsSvc, ImpacDashboardsSvc) { + var getFilteredTotal, getOrderedAssigneeIds, hasOneOpportunity, selectedStatusSetting, settingsPromises, sortData, sortOppsBy, w; w = $scope.widget; + $scope.selectedOpportunities = []; + $scope.collapsed = []; $scope.orgDeferred = $q.defer(); - $scope.timePeriodDeferred = $q.defer(); + $scope.paramsPickerDeferred1 = $q.defer(); + $scope.paramsPickerDeferred2 = $q.defer(); $scope.widthDeferred = $q.defer(); - $scope.paramSelectorDeferred1 = $q.defer(); - $scope.paramSelectorDeferred2 = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.widthDeferred.promise, $scope.paramSelectorDeferred1, $scope.paramSelectorDeferred2, $scope.chartDeferred.promise]; + settingsPromises = [$scope.orgDeferred.promise, $scope.paramsPickerDeferred1.promise, $scope.paramsPickerDeferred2.promise, $scope.widthDeferred.promise]; $scope.ascending = true; - $scope.sortedColumn = 'sales'; - w.initContext = function() { - var foundElem, i, len, ref, sElemId; - $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.sales_comparison) && !_.isEmpty(w.content.dates); - if ($scope.isDataFound) { - $scope.unCollapsed = w.metadata.unCollapsed || []; - $scope.filterOptions = [ - { - label: $translate.instant('impac.widget.sales_comparison.value_sold_taxes'), - value: 'gross_value_sold' - }, { - label: $translate.instant('impac.widget.sales_comparison.value_sold_no_taxes'), - value: 'net_value_sold' - }, { - label: $translate.instant('impac.widget.sales_comparison.quantity_sold'), - value: 'quantity_sold' - } - ]; - $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { - return w.metadata && w.metadata.filter === o.value; - }) || $scope.filterOptions[0]); - $scope.criteriaOptions = [ - { - label: $translate.instant('impac.widget.sales_comparison.criteria_options.products'), - value: 'default' - }, { - label: $translate.instant('impac.widget.sales_comparison.criteria_options.locations'), - value: 'location' - }, { - label: $translate.instant('impac.widget.sales_comparison.criteria_options.industries'), - value: 'industry' - }, { - label: $translate.instant('impac.widget.sales_comparison.criteria_options.customers'), - value: 'customer' - } - ]; - $scope.criteria = angular.copy(_.find($scope.criteriaOptions, function(o) { - return w.metadata && w.metadata.criteria === o.value; - }) || $scope.criteriaOptions[0]); - buildFxTotals(); - $scope.ratesDate = moment.now(); - if (!_.isEmpty(w.metadata.selectedElements)) { - $scope.selectedElements = []; - ref = w.metadata.selectedElements; - for (i = 0, len = ref.length; i < len; i++) { - sElemId = ref[i]; - foundElem = _.find(w.content.sales_comparison, function(statement) { - return statement.name === sElemId; - }); - foundElem || (foundElem = fetchElement(w.content.sales_comparison, sElemId)); - if (foundElem) { - $scope.selectedElements.push(foundElem); - } - } + $scope.sortedColumn = 'group'; + hasOneOpportunity = function(oppsPerSalesStage) { + var reducedHash, total, totalsArray; + reducedHash = _.mapValues(oppsPerSalesStage, function(statusHash) { + return statusHash.total; + }); + totalsArray = _.compact(_.values(reducedHash)); + total = _.reduce(totalsArray, function(total, n) { + if (total == null) { + total = 0; } - return sortData(); - } - }; - $scope.getLastDate = function() { - if ($scope.isDataFound) { - return _.last(w.content.dates); - } - }; - $scope.getTotalForPeriod = function(element) { - if ((element.totals != null) && $scope.filter) { - return _.reduce(element.totals[$scope.filter.value], function(memo, total) { - return memo + total; - }, 0); - } + return total + n; + }); + return (total != null) && total > 0; }; - $scope.getElementChartColor = function(index) { - return ChartFormatterSvc.getColor(index); + getFilteredTotal = function(opps, assignees) { + return _.reduce(opps, function(total, opp) { + var ref; + if (total == null) { + total = 0; + } + if (ref = opp.assignee_id, indexOf.call(assignees, ref) >= 0) { + return total + 1; + } else { + return total; + } + }, 0); }; - $scope.sort = function(col) { - if ($scope.sortedColumn === col) { - $scope.ascending = !$scope.ascending; - } else { - $scope.ascending = true; - $scope.sortedColumn = col; - } - return sortData(); + getOrderedAssigneeIds = function(assigneesOptions) { + return _.map(_.filter(assigneesOptions, function(assigneeOption) { + return assigneeOption.selected; + }), 'value'); }; - $scope.toggleSelectedElement = function(element, statementName) { - var selectedElement; - if (statementName == null) { - statementName = null; - } - if ($scope.isSelected(element, statementName)) { - $scope.selectedElements = _.reject($scope.selectedElements, function(sElem) { - return matchElementToSelectedElement(element, statementName, sElem); + w.initContext = function() { + var assignees_selection, dhb, sales_stage_selection; + dhb = ImpacDashboardsSvc.getCurrentDashboard(); + sales_stage_selection = w.metadata.sales_stage_selection || dhb.metadata.sales_stage_selection || { + values: [] + }; + assignees_selection = w.metadata.assignees_selection || dhb.metadata.assignees_selection || { + values: [] + }; + if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.opps_per_sales_stage) && hasOneOpportunity(w.content.opps_per_sales_stage)) { + _.remove(sales_stage_selection.values, function(status) { + return indexOf.call(_.keys(w.content.opps_per_sales_stage), status) < 0; }); - w.format(); - if (w.isExpanded() && $scope.selectedElements.length === 0) { - return w.toggleExpanded(); - } else { - return ImpacWidgetsSvc.updateWidgetSettings(w, false); + $scope.hasReach = true; + $scope.statusOptions = []; + angular.forEach(w.content.opps_per_sales_stage, function(value, status) { + var isSelected; + isSelected = _.isEmpty(sales_stage_selection.values) || (indexOf.call(sales_stage_selection.values, status) >= 0); + return $scope.statusOptions.push({ + label: status, + selected: isSelected + }); + }); + if ($scope.statusOptions[0] && !_.any($scope.statusOptions, 'selected') && !_.isEmpty(w.content.opps_per_sales_stage)) { + $scope.statusOptions[0].selected = true; } - } else { - selectedElement = angular.copy(element); - selectedElement.category = statementName; - $scope.selectedElements || ($scope.selectedElements = []); - $scope.selectedElements.push(selectedElement); - w.format(); - if (!w.isExpanded()) { - return w.toggleExpanded(); - } else { - return ImpacWidgetsSvc.updateWidgetSettings(w, false); + $scope.assigneesOptions = []; + angular.forEach(w.content.assignees, function(obj, index) { + var isSelected, ref; + isSelected = _.isEmpty(assignees_selection.values) || (ref = obj.id, indexOf.call(assignees_selection.values, ref) >= 0); + return $scope.assigneesOptions.push({ + label: obj.name, + selected: isSelected, + value: obj.id + }); + }); + if ($scope.assigneesOptions[0] && !_.any($scope.assigneesOptions, 'selected') && !_.isEmpty(w.content.assignees)) { + return $scope.assigneesOptions[0].selected = true; } } }; - $scope.isSelected = function(element, statementName) { - if (statementName == null) { - statementName = null; + w.processError = function(error) { + if (error.code === 404) { + return $scope.isDataFound = false; + } + }; + $scope.getImpacColor = function(index) { + return ChartFormatterSvc.getColor(index); + }; + $scope.toggleSelectStatus = function(aStatus) { + if ($scope.selectedStatus && $scope.selectedStatus === aStatus) { + $scope.selectedStatus = null; + } else { + $scope.selectedStatus = aStatus; + } + $scope.updateRightView(); + if (!w.isExpanded() && $scope.selectedStatus) { + return w.toggleExpanded(); + } else { + return ImpacWidgetsSvc.updateWidgetSettings(w, false, true); } - return (element != null) && _.any($scope.selectedElements, function(sElem) { - return matchElementToSelectedElement(element, statementName, sElem); - }); + }; + $scope.isSelected = function(aStatus) { + return $scope.selectedStatus && aStatus === $scope.selectedStatus; }; $scope.toggleCollapsed = function(element) { - if ((element != null) && (element.name != null)) { - if (_.find($scope.unCollapsed, (function(name) { - return element.name === name; + if ((element != null) && (element.assigneeName != null)) { + if (_.find($scope.collapsed, (function(name) { + return element.assigneeName === name; }))) { - $scope.unCollapsed = _.reject($scope.unCollapsed, function(name) { - return name === element.name; + return $scope.collapsed = _.reject($scope.collapsed, function(name) { + return name === element.assigneeName; }); } else { - $scope.unCollapsed.push(element.name); + return $scope.collapsed.push(element.assigneeName); } - return ImpacWidgetsSvc.updateWidgetSettings(w, false); } }; $scope.isCollapsed = function(element) { - if ((element != null) && (element.name != null)) { - if (_.find($scope.unCollapsed, (function(name) { - return element.name === name; + if ((element != null) && (element.assigneeName != null)) { + if (_.find($scope.collapsed, (function(name) { + return element.assigneeName === name; }))) { - return false; - } else { return true; + } else { + return false; } } }; - $scope.hasElements = function() { - return ($scope.selectedElements != null) && $scope.selectedElements.length > 0; - }; - $scope.getSelectLineColor = function(element, statementName) { - var sElem; - if (statementName == null) { - statementName = null; - } - sElem = _.find($scope.selectedElements, function(sElem) { - return matchElementToSelectedElement(element, statementName, sElem); - }); - if ($scope.hasElements()) { - return ChartFormatterSvc.getColor(_.indexOf($scope.selectedElements, sElem)); + $scope.getSelectedOpportunities = function() { + var assignees, filteredOpps, oppGroups, sortedOppGroups; + if ($scope.isDataFound && $scope.selectedStatus && w.content.opps_per_sales_stage[$scope.selectedStatus]) { + assignees = getOrderedAssigneeIds($scope.assigneesOptions); + filteredOpps = _.filter(w.content.opps_per_sales_stage[$scope.selectedStatus].opps, function(opportunity) { + var ref; + return ref = opportunity.assignee_id, indexOf.call(assignees, ref) >= 0; + }); + oppGroups = _.groupBy(filteredOpps, 'assignee_id'); + sortedOppGroups = []; + angular.forEach($scope.assigneesOptions, function(assigneeOption) { + var assigneeId; + assigneeId = assigneeOption.value; + if (oppGroups[assigneeId]) { + return sortedOppGroups.push({ + assigneeName: assigneeOption.label, + opps: oppGroups[assigneeId] + }); + } + }); + return sortedOppGroups; + } else { + return []; } }; - matchElementToSelectedElement = function(element, elementCategory, sElem) { - if (elementCategory == null) { - elementCategory = null; + $scope.getOppDetails = function(anOpp) { + var oppDetails; + oppDetails = []; + if (anOpp.amount) { + oppDetails.push($filter('mnoCurrency')(anOpp.amount.amount, anOpp.amount.currency || 'AUD')); } - return getIdentifier(element, elementCategory) === getIdentifier(sElem); - }; - fetchElement = function(statements, sElemId) { - var element, i, len, statement; - for (i = 0, len = statements.length; i < len; i++) { - statement = statements[i]; - if (statement.sales == null) { - continue; - } - element = _.find(statement.sales, function(sale) { - return getIdentifier(sale, statement.name) === sElemId; - }); - if (element != null) { - element = angular.merge(angular.copy(element), { - category: statement.name - }); - return element; - } + if (anOpp.probability) { + oppDetails.push("prob. " + anOpp.probability + "%"); } + return oppDetails.join(' / '); }; - getIdentifier = function(element, category) { - var id; - if (category == null) { - category = null; - } - id = element.id || element.name; - category || (category = element.category); - if (!category) { - return id; + $scope.getTotal = function(oppsGroup) { + var currency, total; + if (!(oppsGroup.length > 0)) { + return ""; } - return category + "-" + id; + total = _.sum(oppsGroup, function(o) { + var amount, proba; + amount = o.amount.amount || 0.0; + proba = o.probability || 0.0; + return amount * (proba / 100); + }); + currency = oppsGroup[0].amount.currency || 'AUD'; + return $filter('mnoCurrency')(total, currency); }; - sortAccountsBy = function(getElem) { - return angular.forEach(w.content.sales_comparison, function(sElem) { - if (sElem.sales) { - return sElem.sales.sort(function(a, b) { + sortOppsBy = function(getElem) { + return angular.forEach($scope.selectedOpportunities, function(sElem) { + if (sElem.opps) { + return sElem.opps.sort(function(a, b) { var res; res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; if (!$scope.ascending) { - res *= -1; - } - return res; - }); - } - }); - }; - sortData = function() { - if ($scope.sortedColumn === 'sales') { - return sortAccountsBy(function(el) { - return el.name; - }); - } else if ($scope.sortedColumn === 'total') { - return sortAccountsBy(function(el) { - return $scope.getTotalForPeriod(el); - }); - } - }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var all_values_are_positive, chartData, inputData, options; - if ($scope.isDataFound && ($scope.selectedElements != null) && $scope.selectedElements.length > 0) { - all_values_are_positive = true; - inputData = []; - angular.forEach($scope.selectedElements, function(sElem) { - var data, dates, period; - data = angular.copy(sElem); - period = null; - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - period = w.metadata.hist_parameters.period; - } - dates = _.map(w.content.dates, function(date) { - return $filter('momentDate')(date, period); - }); - inputData.push({ - title: data.name, - labels: dates, - values: data.totals[$scope.filter.value] - }); - return angular.forEach(data.totals, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); - }); - }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: true, - datasetFill: false, - pointDot: false - }; - if ($scope.filter.value.indexOf('quantity') > -1) { - angular.merge(options, { - currency: 'hide' - }); - } - chartData = ChartFormatterSvc.lineChart(inputData, options); - return $scope.drawTrigger.notify(chartData); - } - }; - buildFxTotals = function() { - var grossSaleFxTotals, groupedSales, i, len, netSaleFxTotals, ref, results, sale; - ref = w.content.sales_comparison; - results = []; - for (i = 0, len = ref.length; i < len; i++) { - groupedSales = ref[i]; - results.push((function() { - var j, len1, ref1, results1; - ref1 = groupedSales.sales; - results1 = []; - for (j = 0, len1 = ref1.length; j < len1; j++) { - sale = ref1[j]; - sale.formattedFxTotals = {}; - netSaleFxTotals = []; - grossSaleFxTotals = []; - if (!_.isEmpty(sale.fx_totals)) { - _.mapKeys(sale.fx_totals, function(total, currency) { - var grossAmount, k, l, len2, len3, netAmount, ref2, ref3, results2; - ref2 = total['net_value_sold']; - for (k = 0, len2 = ref2.length; k < len2; k++) { - grossAmount = ref2[k]; - if (!(grossAmount === 0 || currency === w.metadata.currency)) { - netSaleFxTotals.push({ - currency: currency, - amount: grossAmount, - rate: total.rate - }); - } - } - ref3 = total['gross_value_sold']; - results2 = []; - for (l = 0, len3 = ref3.length; l < len3; l++) { - netAmount = ref3[l]; - if (!(netAmount === 0 || currency === w.metadata.currency)) { - results2.push(grossSaleFxTotals.push({ - currency: currency, - amount: netAmount, - rate: total.rate - })); - } else { - results2.push(void 0); - } - } - return results2; - }); - } - if (!_.isEmpty(netSaleFxTotals)) { - sale.formattedFxTotals['net_value_sold'] = netSaleFxTotals; - } - if (!_.isEmpty(grossSaleFxTotals)) { - results1.push(sale.formattedFxTotals['gross_value_sold'] = grossSaleFxTotals); - } else { - results1.push(void 0); - } - } - return results1; - })()); + res *= -1; + } + return res; + }); + } + }); + }; + sortData = function() { + if ($scope.sortedColumn === 'group') { + return sortOppsBy(function(el) { + return el.name; + }); + } else if ($scope.sortedColumn === 'total') { + return sortOppsBy(function(el) { + return el.amount.amount; + }); } - return results; }; - unCollapsedSetting = {}; - unCollapsedSetting.initialized = false; - unCollapsedSetting.initialize = function() { - return unCollapsedSetting.initialized = true; + $scope.sort = function(col) { + if ($scope.sortedColumn === col) { + $scope.ascending = !$scope.ascending; + } else { + $scope.ascending = true; + $scope.sortedColumn = col; + } + return sortData(); }; - unCollapsedSetting.toMetadata = function() { - return { - unCollapsed: $scope.unCollapsed - }; + $scope.updateRightView = function() { + $scope.selectedOpportunities = $scope.getSelectedOpportunities(); + $scope.collapsed = []; + return sortData(); }; - w.settings.push(unCollapsedSetting); - selectedElementsSetting = {}; - selectedElementsSetting.initialized = false; - selectedElementsSetting.initialize = function() { - return selectedElementsSetting.initialized = true; + selectedStatusSetting = {}; + selectedStatusSetting.initialized = false; + selectedStatusSetting.initialize = function() { + if (!_.isEmpty(w.content) && angular.isDefined(w.content.opps_per_sales_stage[w.metadata.selected_status])) { + $scope.selectedStatus = w.metadata.selected_status; + } + selectedStatusSetting.initialized = true; + return $scope.updateRightView(); }; - selectedElementsSetting.toMetadata = function() { - var selectedElementsMetadata; - selectedElementsMetadata = _.map($scope.selectedElements, function(sElem) { - return getIdentifier(sElem); - }); + selectedStatusSetting.toMetadata = function() { return { - selectedElements: selectedElementsMetadata + selected_status: $scope.selectedStatus }; }; - w.settings.push(selectedElementsSetting); + w.settings.push(selectedStatusSetting); + w.format = function() { + var assignees, max; + if ($scope.isDataFound) { + max = 0; + assignees = getOrderedAssigneeIds($scope.assigneesOptions); + angular.forEach($scope.statusOptions, function(statusOption) { + var value; + value = getFilteredTotal(w.content.opps_per_sales_stage[statusOption.label].opps, assignees); + if (statusOption.selected && angular.isDefined(value) && value > max) { + return max = value; + } + }); + if (max > 0) { + return $scope.funnel = _.compact(_.map($scope.statusOptions, function(statusOption, index) { + var coloredWidth, statusWidth, value; + value = getFilteredTotal(w.content.opps_per_sales_stage[statusOption.label].opps, assignees); + coloredWidth = (100 * (value / max) - 10).toFixed(); + if (coloredWidth < 8) { + statusWidth = 92; + } else { + statusWidth = 100 - coloredWidth; + } + if (statusOption.selected && angular.isDefined(value) && value > 0) { + return { + status: statusOption.label, + number: value, + coloredWidth: { + width: coloredWidth + "%" + }, + statusWidth: { + width: statusWidth + "%" + } + }; + } + })); + } else { + return $scope.isDataFound = false; + } + } + }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesComparison', function() { + module.directive('widgetSalesOpportunitiesFunnel', function() { return { restrict: 'A', - controller: 'WidgetSalesComparisonCtrl' + controller: 'WidgetSalesOpportunitiesFunnelCtrl' }; }); }).call(this); (function() { - var module; + var module, + indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; - module = angular.module('impac.components.widgets.sales-customer-details', []); + module = angular.module('impac.components.widgets.sales-performance', []); - module.controller('WidgetSalesCustomerDetailsCtrl', ["$scope", "$q", function($scope, $q) { - var buildFxTotals, setSelectedCustomer, setSelectedCustomerId, settingsPromises, w; + module.controller('WidgetSalesPerformanceCtrl', ["$scope", "$q", "$filter", "ChartFormatterSvc", "ImpacWidgetsSvc", function($scope, $q, $filter, ChartFormatterSvc, ImpacWidgetsSvc) { + var formatDate, getIdentifier, matchElementToSelectedElement, selectedElementsSetting, settingsPromises, w; w = $scope.widget; $scope.orgDeferred = $q.defer(); + $scope.paramsWinsPickerDeferred = $q.defer(); + $scope.paramsLostsPickerDeferred = $q.defer(); $scope.timePeriodDeferred = $q.defer(); $scope.widthDeferred = $q.defer(); - $scope.paramSelectorDeferred = $q.defer(); - $scope.ratesDate = moment.now(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.widthDeferred.promise, $scope.paramSelectorDeferred.promise]; + $scope.chartDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.paramsWinsPickerDeferred, $scope.paramsLostsPickerDeferred, $scope.timePeriodDeferred, $scope.widthDeferred.promise, $scope.chartDeferred.promise]; w.initContext = function() { - $scope.isDataFound = (w.content != null) && !_.isEmpty(w.content.customers); + var foundElem, i, len, ref, sElemId; + $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.assignees); if ($scope.isDataFound) { - setSelectedCustomer(); - return $scope.customersOptions = _.map(w.content.customers, function(e) { + if (!_.isEmpty(w.metadata.selectedElements)) { + $scope.selectedElements = []; + ref = w.metadata.selectedElements; + for (i = 0, len = ref.length; i < len; i++) { + sElemId = ref[i]; + foundElem = _.find(w.content.assignees, function(assignee) { + return getIdentifier(assignee) === sElemId; + }); + if (foundElem) { + $scope.selectedElements.push(foundElem); + } + } + } + $scope.hasReach = true; + $scope.closedWonOptions = _.compact(_.map(w.content.sales_stages.won, function(stage) { return { - value: e.uid, - label: e.name + label: stage, + selected: true }; + })); + angular.forEach(w.content.sales_stages.all, function(stage) { + if (!(indexOf.call(w.content.sales_stages.won, stage) >= 0)) { + return $scope.closedWonOptions.push({ + label: stage, + selected: false + }); + } + }); + $scope.closedLostOptions = _.compact(_.map(w.content.sales_stages.lost, function(stage) { + return { + label: stage, + selected: true + }; + })); + return angular.forEach(w.content.sales_stages.all, function(stage) { + if (!(indexOf.call(w.content.sales_stages.lost, stage) >= 0)) { + return $scope.closedLostOptions.push({ + label: stage, + selected: false + }); + } }); } }; - $scope.formatAddress = function(anAddress) { - if (angular.isDefined(anAddress)) { - return anAddress.replace(/, /g, ',\n'); - } - }; - $scope.getFromDate = function() { - if ($scope.isDataFound) { - return w.content.from; + w.processError = function(error) { + if (error.code === 404) { + return $scope.isDataFound = false; } }; - $scope.getToDate = function() { - if ($scope.isDataFound) { - return w.content.to; + $scope.getChartTitle = function(el) { + if ($scope.selectedElements) { + return $scope.selectedElements.map(function(el) { + return el.name; + }).join(', '); } }; - setSelectedCustomer = function() { - var customer; - if (!$scope.isDataFound) { - return false; - } - if (w.metadata && w.metadata.customer_uid) { - customer = _.find(w.content.customers, function(c) { - return c.uid === w.metadata.customer_uid; - }); + $scope.getTotalWon = function(el) { + if ($scope.selectedElements) { + return $scope.selectedElements.reduce((function(t, e) { + return t + e.total_won; + }), 0); + } else { + return 0; } - customer || (customer = w.content.customers[0]); - $scope.selectedCustomer = angular.copy(customer); - setSelectedCustomerId(); - return buildFxTotals(); }; - setSelectedCustomerId = function() { - var cust; - if (!(cust = $scope.selectedCustomer)) { - return false; - } - return $scope.selectedCustomerId = { - value: cust.uid, - label: cust.name - }; + formatDate = function(date) { + var period; + period = (w.metadata != null) && (w.metadata.hist_parameters != null) ? w.metadata.hist_parameters.period : null; + return $filter('momentDate')(date, period); }; - buildFxTotals = function() { - var cust, dueFxTotals, invoicedFxTotals, paidFxTotals; - if (!(cust = $scope.selectedCustomer)) { - return false; - } - invoicedFxTotals = []; - dueFxTotals = []; - paidFxTotals = []; - if (_.some(cust.fx_totals, function(total, currency) { - return currency !== w.metadata.currency; - })) { - _.mapKeys(cust.fx_totals, function(total, currency) { - var baseTotal; - baseTotal = { - rate: total.rate, - currency: currency - }; - if (total.invoiced !== 0) { - invoicedFxTotals.push(angular.merge({ - amount: total.invoiced - }, baseTotal)); - } - if (total.paid !== 0) { - paidFxTotals.push(angular.merge({ - amount: total.paid - }, baseTotal)); - } - if (total.due !== 0) { - return dueFxTotals.push(angular.merge({ - amount: total.due - }, baseTotal)); - } - }); - if (!_.isEmpty(invoicedFxTotals)) { - cust.invoicedFxTotals = invoicedFxTotals; - } - if (!_.isEmpty(paidFxTotals)) { - cust.paidFxTotals = paidFxTotals; + $scope.getCloseDate = function(anOpp) { + var theDate; + if ((anOpp != null) && (anOpp.sales_stage_changes != null) && anOpp.sales_stage_changes.length > 0) { + theDate = anOpp.sales_stage_changes[anOpp.sales_stage_changes.length - 1].updated_at; + if (theDate.split(' ').length > 0) { + theDate = theDate.split(' ')[0]; + return formatDate(theDate); } - if (!_.isEmpty(dueFxTotals)) { - return cust.dueFxTotals = dueFxTotals; + } + }; + $scope.getForecastCloseDate = function(anOpp) { + var theDate; + if ((anOpp != null) && anOpp.expected_close_date) { + theDate = anOpp.expected_close_date; + if (theDate.split(' ').length > 0) { + theDate = theDate.split(' ')[0]; + return formatDate(theDate); } } }; - return $scope.widgetDeferred.resolve(settingsPromises); - }]); - - module.directive('widgetSalesCustomerDetails', function() { - return { - restrict: 'A', - controller: 'WidgetSalesCustomerDetailsCtrl' + $scope.getElementChartColor = function(index) { + return ChartFormatterSvc.getColor(index); }; - }); - -}).call(this); - -(function() { - var module, - indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; - - module = angular.module('impac.components.widgets.sales-cycle', []); - - module.controller('WidgetSalesCycleCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "ImpacWidgetsSvc", "ImpacDashboardsSvc", function($scope, $q, ChartFormatterSvc, $filter, ImpacWidgetsSvc, ImpacDashboardsSvc) { - var settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.paramsPickerDeferred = $q.defer(); - $scope.timePeriodDeferred = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.paramsPickerDeferred.promise, $scope.timePeriodDeferred.promise, $scope.chartDeferred.promise]; - w.initContext = function() { - var dhb, status_selection; - dhb = ImpacDashboardsSvc.getCurrentDashboard(); - status_selection = w.metadata.status_selection || dhb.metadata.status_selection || { - values: [] - }; - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.status_average_durations)) { - _.remove(status_selection.values, function(status) { - return indexOf.call(_.keys(w.content.status_average_durations), status) < 0; - }); - $scope.hasReach = true; - $scope.statusOptions = []; - return angular.forEach(w.content.status_average_durations, function(value, status) { - var isSelected; - isSelected = _.isEmpty(status_selection.values) || (indexOf.call(status_selection.values, status) >= 0); - return $scope.statusOptions.push({ - label: status, - selected: isSelected - }); + $scope.no_sales_stages_selected = function() { + return w.content && w.content.sales_stages && w.content.sales_stages.won.length === 0 && w.content.sales_stages.lost.length === 0; + }; + $scope.toggleSelectedElement = function(element) { + var selectedElement; + if ($scope.isSelected(element)) { + $scope.selectedElements = _.reject($scope.selectedElements, function(sElem) { + return matchElementToSelectedElement(element, sElem); }); + w.format(); + if (w.isExpanded() && $scope.selectedElements.length === 0) { + return w.toggleExpanded(); + } else { + return ImpacWidgetsSvc.updateWidgetSettings(w, false, true); + } + } else { + selectedElement = angular.copy(element); + $scope.selectedElements || ($scope.selectedElements = []); + $scope.selectedElements.push(selectedElement); + w.format(); + if (!w.isExpanded()) { + return w.toggleExpanded(); + } else { + return ImpacWidgetsSvc.updateWidgetSettings(w, false, true); + } } }; - w.processError = function(error) { - if (error.code === 404) { - return $scope.isDataFound = false; + $scope.isSelected = function(element) { + return (element != null) && _.any($scope.selectedElements, function(sElem) { + return matchElementToSelectedElement(element, sElem); + }); + }; + $scope.hasElements = function() { + return ($scope.selectedElements != null) && $scope.selectedElements.length > 0; + }; + $scope.getSelectLineColor = function(element) { + var sElem; + sElem = _.find($scope.selectedElements, function(sElem) { + return matchElementToSelectedElement(element, sElem); + }); + if ($scope.hasElements()) { + return ChartFormatterSvc.getColor(_.indexOf($scope.selectedElements, sElem)); } }; + matchElementToSelectedElement = function(element, sElem) { + return getIdentifier(element) === getIdentifier(sElem); + }; + getIdentifier = function(element) { + return element.id || element.name; + }; $scope.drawTrigger = $q.defer(); w.format = function() { - var chartData, pieData, pieOptions; - if ($scope.isDataFound) { - pieData = _.compact(_.map($scope.statusOptions, function(statusOption) { - var value; - value = w.content.status_average_durations[statusOption.label]; - if (statusOption.selected && angular.isDefined(value)) { - return { - label: ($filter('titleize')(statusOption.label)) + ": " + value + " " + $scope.unit, - value: value - }; + var all_values_are_positive, chartData, inputData, options; + if ($scope.isDataFound && ($scope.selectedElements != null) && $scope.selectedElements.length > 0) { + inputData = []; + all_values_are_positive = true; + angular.forEach($scope.selectedElements, function(sElem) { + var data, dates, period; + data = angular.copy(sElem); + period = null; + if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { + period = w.metadata.hist_parameters.period; } - })); - pieOptions = { - percentageInnerCutout: 50, - tooltipFontSize: 12, - currency: w.content.unit + dates = _.map(w.content.dates, function(date) { + return $filter('momentDate')(date, period); + }); + inputData.push({ + title: data.name, + labels: dates, + values: data.totals + }); + return angular.forEach(data.totals, function(value) { + return all_values_are_positive && (all_values_are_positive = value >= 0); + }); + }); + options = { + scaleBeginAtZero: all_values_are_positive, + showXLabels: true, + datasetFill: $scope.selectedElements.length === 1, + pointDot: $scope.selectedElements.length === 1 }; - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); + chartData = ChartFormatterSvc.lineChart(inputData, options); return $scope.drawTrigger.notify(chartData); } }; + selectedElementsSetting = { + initialized: false + }; + selectedElementsSetting.initialize = function() { + return selectedElementsSetting.initialized = true; + }; + selectedElementsSetting.toMetadata = function() { + var selectedElementsMetadata; + selectedElementsMetadata = _.map($scope.selectedElements, function(sElem) { + return getIdentifier(sElem); + }); + return { + selectedElements: selectedElementsMetadata + }; + }; + w.settings.push(selectedElementsSetting); return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesCycle', function() { + module.directive('widgetSalesPerformance', function() { return { restrict: 'A', - controller: 'WidgetSalesCycleCtrl' + controller: 'WidgetSalesPerformanceCtrl' }; }); @@ -13129,81 +12786,95 @@ $templateCache.put("widgets-settings/width.tmpl.html"," 50) { + return $scope.analysisTranslate = $translate.instant('impac.widget.sales_turnover.analysis.least'); + } else if (w.content.ranges[3].percentage + w.content.ranges[4].percentage > 50) { + return $scope.analysisTranslate = $translate.instant('impac.widget.sales_turnover.analysis.most'); } else { - return '-'; + return $scope.analysisTranslate = $translate.instant('impac.widget.sales_turnover.analysis.balanced'); } } }; - $scope.getOpportunityCurrency = function(anOpp) { - if ($scope.isDataFound && !_.isEmpty(anOpp)) { - if (anOpp.amount && anOpp.amount.currency) { - return anOpp.amount.currency; - } else if (w.content.currency) { - return w.content.currency; - } else { - return 'AUD'; - } + $scope.getColorByIndex = function(index) { + return ChartFormatterSvc.getColor(index); + }; + $scope.getRangeLabel = function(aLabel, ISOmode) { + var prices; + if (ISOmode == null) { + ISOmode = false; } + prices = aLabel.split('-'); + return _.map(prices, function(price) { + return $filter('mnoCurrency')(price, w.content.currency, ISOmode); + }).join(' - '); }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var all_values_are_positive, chartData, formattedDates, inputData, options, period; + $scope.getMaxRange = function() { + var max, maxRange; if ($scope.isDataFound) { - all_values_are_positive = true; - period = null; - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - period = w.metadata.hist_parameters.period; - } - formattedDates = _.map(w.content.dates, function(aDate) { - return $filter('momentDate')(aDate, period); - }); - inputData = [ - { - title: $translate.instant('impac.widget.sales_forecast.sales_performance'), - labels: formattedDates, - values: w.content.totals + max = 0; + maxRange = w.content.ranges[0]; + angular.forEach(w.content.ranges, function(range) { + if (range.percentage > max) { + maxRange = angular.copy(range); } - ]; - angular.forEach(w.content.totals, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); + return max = Math.max(max, range.percentage); }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: true, - datasetFill: true, - pointDot: false + return maxRange; + } + }; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var barData, barOptions, chartData; + if ($scope.isDataFound) { + barData = { + labels: _.map(w.content.ranges, function(elem) { + return $scope.getRangeLabel(elem.label, true); + }), + values: _.map(w.content.ranges, function(elem) { + return elem.value; + }) }; - chartData = ChartFormatterSvc.lineChart(inputData, options); + barOptions = { + showTooltips: false, + showXLabels: false, + barDatasetSpacing: 15 + }; + chartData = ChartFormatterSvc.barChart(barData, barOptions); return $scope.drawTrigger.notify(chartData); } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesForecast', function() { + module.directive('widgetSalesSegmentedTurnover', function() { return { restrict: 'A', - controller: 'WidgetSalesForecastCtrl' + controller: 'WidgetSalesSegmentedTurnoverCtrl' }; }); @@ -13212,325 +12883,317 @@ $templateCache.put("widgets-settings/width.tmpl.html"," "; w.initContext = function() { - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary) && !_.isEmpty(w.content.dates)) { - $scope.productOptions = _.flatten(_.map(w.content.summary, function(product) { - return { - label: $scope.getDisplayName(product, productOptionThreshold), - value: product.id - }; - })); - $scope.product = angular.copy(_.find($scope.productOptions, function(o) { - return o.value === w.content.product; - }) || { - label: $translate.instant('impac.widget.sales_growth.select_product'), - value: -1 - }); + $scope.isDataFound = !_.isEmpty(w.content) && !_.isEmpty(w.content.summary) && (_.sum(_.map(w.content.summary, function(s) { + return s.total; + })) > 0); + if ($scope.isDataFound) { $scope.filterOptions = [ { - label: $translate.instant('impac.widget.sales_growth.value_sold_taxes'), + label: $translate.instant('impac.widget.sales_summary.value_sold_taxes'), value: 'gross_value_sold' }, { - label: $translate.instant('impac.widget.sales_growth.value_sold_no_taxes'), + label: $translate.instant('impac.widget.sales_summary.value_sold_no_taxes'), value: 'net_value_sold' }, { - label: $translate.instant('impac.widget.sales_growth.quantity_sold'), + label: $translate.instant('impac.widget.sales_summary.quantity_sold'), value: 'quantity_sold' }, { - label: $translate.instant('impac.widget.sales_growth.value_purchased_taxes'), + label: $translate.instant('impac.widget.sales_summary.value_purchased_taxes'), value: 'gross_value_purchased' }, { - label: $translate.instant('impac.widget.sales_growth.value_purchased_no_taxes'), + label: $translate.instant('impac.widget.sales_summary.value_purchased_no_taxes'), value: 'net_value_purchased' }, { - label: $translate.instant('impac.widget.sales_growth.quantity_purchased'), + label: $translate.instant('impac.widget.sales_summary.quantity_purchased'), value: 'quantity_purchased' } ]; - $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { - return o.value === w.content.filter; + if (w.metadata.criteria === "customer") { + $scope.filterOptions = [$scope.filterOptions[0], $scope.filterOptions[1], $scope.filterOptions[2]]; + } + return $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { + return o.value === w.metadata.filter; }) || $scope.filterOptions[0]); - return $scope.isDataQuantity = $scope.filter.value.match('quantity'); } }; - $scope.getSelectedProduct = function() { - var product; + $scope.drawTrigger = $q.defer(); + w.format = function() { + var chartData, pieData, pieOptions; if ($scope.isDataFound) { - product = _.find(w.content.summary, function(product) { - return product.id === $scope.product.value; - }) || w.content.summary[0]; - return _.extend(product, { - displayName: $scope.getDisplayName(product, productLineThreshold) + pieData = _.map(w.content.summary, function(entity) { + var label; + if (entity.company) { + label = (entity.code || entity.name || entity.location || entity.industry || entity.customer) + " (" + entity.company + ")"; + } else { + label = entity.code || entity.name || entity.location || entity.industry || entity.customer; + } + return { + label: label, + value: entity.total + }; }); + pieOptions = { + percentageInnerCutout: 50, + tooltipFontSize: 12 + }; + if ($scope.filter.value.indexOf('quantity') > -1) { + angular.merge(pieOptions, { + currency: 'hide' + }); + } + chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); + return $scope.drawTrigger.notify(chartData); } }; - $scope.getCurrentValue = function() { - if ($scope.getSelectedProduct() != null) { - return _.last($scope.getSelectedProduct().totals); + return $scope.widgetDeferred.resolve(settingsPromises); + }]); + + module.directive('widgetSalesSummary', function() { + return { + restrict: 'A', + controller: 'WidgetSalesSummaryCtrl' + }; + }); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets.sales-top-customers', []); + + module.controller('WidgetSalesTopCustomersCtrl', ["$scope", "$q", "$filter", "ImpacUtilities", "$translate", function($scope, $q, $filter, ImpacUtilities, $translate) { + var buildFxTotals, fields, settingsPromises, topTmpl, w; + w = $scope.widget; + $scope.orgDeferred = $q.defer(); + $scope.datesPickerDeferred = $q.defer(); + $scope.paramSelectorDeferred = $q.defer(); + settingsPromises = [$scope.orgDeferred.promise, $scope.datesPickerDeferred.promise, $scope.paramSelectorDeferred.promise]; + topTmpl = $translate.instant('impac.widget.sales_top_customers.top'); + $scope.limitEntriesOptions = [ + { + label: topTmpl.replace(':number:', 5), + value: 5 + }, { + label: topTmpl.replace(':number:', 10), + value: 10 + }, { + label: topTmpl.replace(':number:', 25), + value: 25 + }, { + label: topTmpl.replace(':number:', 50), + value: 50 + }, { + label: topTmpl.replace(':number:', 100), + value: 100 + } + ]; + $scope.limitEntriesSelected = angular.copy(_.find($scope.limitEntriesOptions, function(o) { + return (w.metadata != null) && (o.value === w.metadata.limit_entries); + }) || $scope.limitEntriesOptions[3]); + $scope.headerOptions = [ + { + label: $translate.instant('impac.widget.sales_top_customers.total_sales'), + value: 'total_sales', + minified: 'total' + }, { + label: $translate.instant('impac.widget.sales_top_customers.transactions'), + value: 'transactions', + minified: '# tr' + }, { + label: $translate.instant('impac.widget.sales_top_customers.avg_sales'), + value: 'avg_sales', + minified: 'avg' + }, { + label: $translate.instant('impac.widget.sales_top_customers.last_sale'), + value: 'last_sale', + minified: 'last' + } + ]; + $scope.headerSelected = angular.copy(_.find($scope.headerOptions, function(o) { + return (w.metadata != null) && (w.metadata.header === o.value); + }) || $scope.headerOptions[0]); + w.initContext = function() { + var dates, datesRange; + if ($scope.isDataFound = !_.isEmpty(w.content) && !_.isEmpty(w.content.entities)) { + dates = _.flatten(_.map(w.content.entities, (function(e) { + return _.map(e.invoices, (function(i) { + return i.invoice_date; + })); + }))); + datesRange = ImpacUtilities.getDatesRange(dates); + $scope.defaultFrom = $filter('date')(datesRange[0], 'yyyy-MM-dd'); + $scope.defaultTo = $filter('date')(datesRange[1], 'yyyy-MM-dd'); + buildFxTotals(); + return $scope.ratesDate = moment.now(); } }; - $scope.getCurrentDate = function() { - if ($scope.isDataFound) { - return _.last(w.content.dates); + fields = [ + { + label: 'total', + showCurrency: true, + getValue: function(entity) { + return entity.total_invoiced; + }, + getFormattedFxTotals: function(entity) { + return entity.formattedFxTotals; + } + }, { + label: '# tr', + showCurrency: false, + getValue: function(entity) { + return entity.invoices.length; + } + }, { + label: 'avg', + showCurrency: true, + getValue: function(entity) { + var total; + total = entity.invoices.length; + if (total > 0) { + return entity.total_invoiced / entity.invoices.length; + } else { + return 0; + } + } + }, { + label: 'last', + showCurrency: true, + getValue: function(entity) { + var total; + total = entity.invoices.length; + if (total > 0) { + return entity.invoices[entity.invoices.length - 1].invoiced; + } else { + return 0; + } + } } + ]; + $scope.getHeaderField = function() { + return _.find(fields, function(f) { + return f.label === $scope.headerSelected.minified; + }); + }; + $scope.getRemainingFields = function() { + return _.reject(fields, function(f) { + return f.label === $scope.headerSelected.minified; + }); }; - $scope.getDisplayName = function(product, threshold) { - var codeName, fullName; - fullName = w.content.organizations.length === 1 ? product.name : product.company + ' - ' + product.name; - codeName = w.content.organizations.length === 1 ? product.code : product.company + ' - ' + product.code; - if (fullName.length > threshold) { - return codeName; - } else { - return fullName; + $scope.getEntities = function() { + if (!$scope.isDataFound) { + return []; } + return $filter('orderBy')(w.content.entities, (function(entity) { + return $scope.getHeaderField().getValue(entity); + }), true); }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var all_values_are_positive, chartData, data, dates, inputData, options, period; - if ($scope.isDataFound && $scope.product && (data = $scope.getSelectedProduct())) { - period = null; - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - period = w.metadata.hist_parameters.period; - } - dates = _.map(w.content.dates, function(date) { - return $filter('momentDate')(date, period); - }); - inputData = { - title: data.name, - labels: dates, - values: data.totals - }; - all_values_are_positive = true; - angular.forEach(data.totals, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); + buildFxTotals = function() { + var contact, contactFxTotals, j, len, ref, results; + ref = w.content.entities; + results = []; + for (j = 0, len = ref.length; j < len; j++) { + contact = ref[j]; + contactFxTotals = []; + _.mapKeys(contact.fx_totals, function(total, currency) { + if (currency !== w.metadata.currency) { + return contactFxTotals.push({ + currency: currency, + amount: total.invoiced, + rate: total.rate + }); + } }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: false - }; - if ($scope.filter.value.indexOf('quantity') > -1) { - angular.merge(options, { - currency: 'hide' - }); + if (!_.isEmpty(contactFxTotals)) { + results.push(contact.formattedFxTotals = contactFxTotals); + } else { + results.push(void 0); } - chartData = ChartFormatterSvc.lineChart([inputData], options); - return $scope.drawTrigger.notify(chartData); } + return results; }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesGrowth', function() { + module.directive('widgetSalesTopCustomers', function() { return { restrict: 'A', - controller: 'WidgetSalesGrowthCtrl' + controller: 'WidgetSalesTopCustomersCtrl', + link: function(scope) { + scope.transactionsCollapsed = false; + return scope.toggleTransactions = function() { + return scope.transactionsCollapsed = !scope.transactionsCollapsed; + }; + } }; }); }).call(this); (function() { - var module, - indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + var module; - module = angular.module('impac.components.widgets.sales-leads-funnel', []); + module = angular.module('impac.components.widgets.sales-top-opportunities', []); - module.controller('WidgetSalesLeadsFunnelCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$sce", "ImpacWidgetsSvc", "ImpacDashboardsSvc", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $sce, ImpacWidgetsSvc, ImpacDashboardsSvc, $translate) { - var hasOneLead, selectedStatusSetting, setLeadDescriptionTooltips, settingsPromises, w; + module.controller('WidgetSalesTopOpportunitiesCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { + var settingsPromises, w; w = $scope.widget; $scope.orgDeferred = $q.defer(); - $scope.timePeriodDeferred = $q.defer(); - $scope.paramsPickerDeferred = $q.defer(); - $scope.widthDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.paramsPickerDeferred.promise, $scope.widthDeferred.promise]; - hasOneLead = function(leadsPerStatus) { - var reducedHash, total, totalsArray; - reducedHash = _.mapValues(leadsPerStatus, function(statusHash) { - return statusHash.total; - }); - totalsArray = _.compact(_.values(reducedHash)); - total = _.reduce(totalsArray, function(total, n) { - if (total == null) { - total = 0; - } - return total + n; - }); - return (total != null) && total > 0; - }; + settingsPromises = [$scope.orgDeferred.promise]; w.initContext = function() { - var dhb, status_selection; - dhb = ImpacDashboardsSvc.getCurrentDashboard(); - status_selection = w.metadata.status_selection || dhb.metadata.status_selection || { - values: [] - }; - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.leads_per_status) && hasOneLead(w.content.leads_per_status)) { - _.remove(status_selection.values, function(status) { - return indexOf.call(_.keys(w.content.leads_per_status), status) < 0; - }); - $scope.hasReach = true; - $scope.statusOptions = []; - return angular.forEach(w.content.leads_per_status, function(value, status) { - var isSelected; - isSelected = _.isEmpty(status_selection.values) || (indexOf.call(status_selection.values, status) >= 0); - return $scope.statusOptions.push({ - label: status, - selected: isSelected - }); - }); - } + return $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.opportunities); }; w.processError = function(error) { if (error.code === 404) { return $scope.isDataFound = false; } }; - $scope.getImpacColor = function(index) { - return ChartFormatterSvc.getColor(index); - }; - $scope.toggleSelectStatus = function(aStatus) { - if ($scope.selectedStatus && $scope.selectedStatus === aStatus) { - $scope.selectedStatus = null; - } else { - $scope.selectedStatus = aStatus; - $scope.setLeadTooltipsIsLocked = false; - } - if (!w.isExpanded() && $scope.selectedStatus) { - return w.toggleExpanded(); - } else { - return ImpacWidgetsSvc.updateWidgetSettings(w, false, true); - } - }; - $scope.isSelected = function(aStatus) { - return $scope.selectedStatus && aStatus === $scope.selectedStatus; - }; - $scope.getSelectedLeads = function() { - var leads; - if ($scope.isDataFound && $scope.selectedStatus) { - leads = w.content.leads_per_status[$scope.selectedStatus].leads; - if (!$scope.setLeadTooltipsIsLocked) { - setLeadDescriptionTooltips(leads); - } - return leads; - } - }; - $scope.leadDescriptionTooltips = {}; - setLeadDescriptionTooltips = function(leads) { - $scope.leadDescriptionTooltips = {}; - $scope.setLeadTooltipsIsLocked = true; - return _.each(leads, function(aLead, index) { - var nameLineArray, tooltip; - tooltip = []; - nameLineArray = [""]; - if (aLead.first_name) { - nameLineArray.push($filter('titleize')(aLead.first_name)); - } - if (aLead.last_name) { - nameLineArray.push($filter('titleize')(aLead.last_name)); - } - nameLineArray.push(""); - tooltip.push(nameLineArray.join(' ')); - tooltip.push("Status: " + ($filter('titleize')(aLead.lead_status))); - if (aLead.organization) { - tooltip.push("Organization: " + ($filter('titleize')(aLead.organization))); - } - if (aLead.opportunities) { - tooltip.push("Opportunities:"); - _.each(aLead.opportunities, function(opp) { - var oppLineArray; - oppLineArray = []; - if (opp.code) { - oppLineArray.push("#" + opp.code); - } - if (opp.name) { - oppLineArray.push("" + opp.name); - } - if (opp.amount) { - oppLineArray.push($filter('mnoCurrency')(opp.amount.total_amount, "USD", false)); - } - if (opp.probability) { - oppLineArray.push(opp.probability + "%"); - } - if (opp.sales_stage) { - oppLineArray.push("" + opp.sales_stage); - } - return tooltip.push(oppLineArray.join(' - ')); - }); - } - return $scope.leadDescriptionTooltips[index] = $sce.trustAsHtml(tooltip.join("
")); - }); - }; - selectedStatusSetting = {}; - selectedStatusSetting.initialized = false; - selectedStatusSetting.initialize = function() { - if (!_.isEmpty(w.content) && angular.isDefined(w.content.leads_per_status[w.metadata.selected_status])) { - $scope.selectedStatus = w.metadata.selected_status; + $scope.getOppDetails = function(anOpp) { + var oppDetails; + oppDetails = []; + if (anOpp.amount) { + oppDetails.push($filter('mnoCurrency')(anOpp.amount.amount, anOpp.amount.currency || 'AUD')); } - return selectedStatusSetting.initialized = true; - }; - selectedStatusSetting.toMetadata = function() { - return { - selected_status: $scope.selectedStatus - }; - }; - w.settings.push(selectedStatusSetting); - w.format = function() { - var max; - if ($scope.isDataFound) { - max = 0; - angular.forEach($scope.statusOptions, function(statusOption) { - var value; - value = w.content.leads_per_status[statusOption.label].total; - if (statusOption.selected && angular.isDefined(value) && value > max) { - return max = value; - } - }); - if (max > 0) { - return $scope.funnel = _.compact(_.map($scope.statusOptions, function(statusOption, index) { - var coloredWidth, statusWidth, value; - value = w.content.leads_per_status[statusOption.label].total; - coloredWidth = (100 * (value / max) - 10).toFixed(); - if (coloredWidth < 8) { - statusWidth = 92; - } else { - statusWidth = 100 - coloredWidth; - } - if (statusOption.selected && angular.isDefined(value)) { - return { - status: statusOption.label, - number: value, - coloredWidth: { - width: coloredWidth + "%" - }, - statusWidth: { - width: statusWidth + "%" - } - }; - } - })); - } + if (anOpp.probability) { + oppDetails.push($translate.instant('impac.widget.sales_opportunities.proba') + (" " + anOpp.probability + "%")); + } + if (anOpp.sales_stage) { + oppDetails.push(anOpp.sales_stage); + } + return oppDetails.join(' / '); + }; + $scope.getOppClass = function(index) { + switch (index) { + case 0: + return 'first'; + case 1: + return 'second'; + case 2: + return 'second'; + default: + return ''; } }; return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesLeadsFunnel', function() { + module.directive('widgetSalesTopOpportunities', function() { return { restrict: 'A', - controller: 'WidgetSalesLeadsFunnelCtrl' + controller: 'WidgetSalesTopOpportunitiesCtrl' }; }); @@ -13539,1640 +13202,1888 @@ $templateCache.put("widgets-settings/width.tmpl.html",""]; - if (aLead.first_name) { - nameLineArray.push($filter('titleize')(aLead.first_name)); - } - if (aLead.last_name) { - nameLineArray.push($filter('titleize')(aLead.last_name)); - } - nameLineArray.push(""); - tooltip.push(nameLineArray.join(' ')); - tooltip.push("Status: " + ($filter('titleize')(aLead.lead_status))); - if (aLead.organization) { - tooltip.push("Organization: " + ($filter('titleize')(aLead.organization))); - } - if (aLead.opportunities) { - tooltip.push("Opportunities:"); - _.each(aLead.opportunities, function(opp) { - var oppLineArray; - oppLineArray = []; - if (opp.code) { - oppLineArray.push("#" + opp.code); - } - if (opp.name) { - oppLineArray.push("" + opp.name); - } - if (opp.amount) { - oppLineArray.push($filter('mnoCurrency')(opp.amount.total_amount, "USD", false)); - } - if (opp.probability) { - oppLineArray.push(opp.probability + "%"); - } - if (opp.sales_stage) { - oppLineArray.push("" + opp.sales_stage); - } - return tooltip.push(oppLineArray.join(' - ')); - }); - } - return $scope.leadDescriptionTooltips[index] = $sce.trustAsHtml(tooltip.join("
")); - }); + formatAmount = function(anAccount) { + var balance; + balance = anAccount.current_balance || anAccount.balance || 0.0; + return $filter('mnoCurrency')(balance, anAccount.currency); }; - return $scope.widgetDeferred.resolve(settingsPromises); + $scope.formatLabel = function(anAccount) { + if (anAccount.company != null) { + return anAccount.company + " - " + anAccount.name + " (" + (formatAmount(anAccount)) + ")"; + } else { + return anAccount.name + " (" + (formatAmount(anAccount)) + ")"; + } + }; + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); }]); - module.directive('widgetSalesLeadsList', function() { + module.directive('settingAccount', ["$templateCache", "$translate", function($templateCache, $translate) { return { restrict: 'A', - controller: 'WidgetSalesLeadsListCtrl' + scope: { + parentWidget: '=', + deferred: '=', + label: '@', + showLabel: '=?', + onAccountSelected: '&' + }, + link: function(scope, element) { + if (!scope.label) { + return scope.label = $translate.instant('impac.widget.settings.account.label'); + } + }, + template: $templateCache.get('widgets-settings/account.tmpl.html'), + controller: 'SettingAccountCtrl' }; - }); + }]); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets.sales-list', []); + module = angular.module('impac.components.widgets-settings.accounting-behaviour', []); - module.controller('WidgetSalesListCtrl', ["$scope", "$q", "ChartFormatterSvc", "ImpacWidgetsSvc", "$translate", function($scope, $q, ChartFormatterSvc, ImpacWidgetsSvc, $translate) { - var buildFxTotals, settingsPromises, sortAccountsBy, sortData, unCollapsedSetting, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.paramSelectorDeferred = $q.defer(); - $scope.datesPickerDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.paramSelectorDeferred.promise, $scope.datesPickerDeferred.promise]; - $scope.ascending = true; - $scope.sortedColumn = 'account'; - $scope.datesPickerTemplate = "" + $translate.instant('impac.widget.sales_list.from') + " " + $translate.instant('impac.widget.sales_list.to') + " "; - w.initContext = function() { - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.summary)) { - buildFxTotals(); - $scope.ratesDate = moment.now(); - $scope.filterOptions = [ - { - label: $translate.instant('impac.widget.sales_list.value_sold_taxes'), - value: 'gross_value_sold' - }, { - label: $translate.instant('impac.widget.sales_list.value_sold_no_taxes'), - value: 'net_value_sold' - }, { - label: $translate.instant('impac.widget.sales_list.quantity_sold'), - value: 'quantity_sold' - }, { - label: $translate.instant('impac.widget.sales_list.value_purchased_taxes'), - value: 'gross_value_purchased' - }, { - label: $translate.instant('impac.widget.sales_list.value_purchased_no_taxes'), - value: 'net_value_purchased' - }, { - label: $translate.instant('impac.widget.sales_list.quantity_purchased'), - value: 'quantity_purchased' - } - ]; - $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { - return o.value === w.metadata.filter; - }) || $scope.filterOptions[0]); - $scope.unCollapsed = w.metadata.unCollapsed || []; - return sortData(); - } - }; - $scope.toggleCollapsed = function(categoryName) { - if (categoryName != null) { - if (_.find($scope.unCollapsed, (function(name) { - return categoryName === name; - }))) { - $scope.unCollapsed = _.reject($scope.unCollapsed, function(name) { - return name === categoryName; + module.directive('settingAccountingBehaviour', ["$templateCache", "$timeout", function($templateCache, $timeout) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + defaultBehaviour: '=?' + }, + template: $templateCache.get('widgets-settings/accounting-behaviour.tmpl.html'), + link: function(scope) { + var setting, w; + w = scope.parentWidget; + setting = {}; + setting.key = "accounting-behaviour"; + setting.initialize = function() { + return $timeout(function() { + if ((scope.defaultBehaviour != null) && scope.defaultBehaviour === 'pnl') { + return scope.selectedBehaviour = 'pnl'; + } else { + return scope.selectedBehaviour = 'bls'; + } }); - } else { - $scope.unCollapsed.push(categoryName); - } - return ImpacWidgetsSvc.updateWidgetSettings(w, false); + }; + setting.toMetadata = function() { + return { + accounting_behaviour: scope.selectedBehaviour + }; + }; + w.settings.push(setting); + return scope.deferred.resolve(setting); } }; - $scope.isCollapsed = function(categoryName) { - if (categoryName != null) { - if (_.find($scope.unCollapsed, (function(name) { - return categoryName === name; - }))) { - return false; - } else { - return true; - } + }]); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets-settings.accounts-list', []); + + module.controller('SettingAccountsListCtrl', ["$scope", "$timeout", "ImpacWidgetsSvc", function($scope, $timeout, ImpacWidgetsSvc) { + var restoreSavedAccounts, setting, w; + w = $scope.parentWidget; + w.moveAccountToAnotherList = function(account, src, dst, triggerUpdate) { + if (triggerUpdate == null) { + triggerUpdate = true; } - }; - sortAccountsBy = function(getElem) { - return angular.forEach(w.content.summary, function(sElem) { - if (sElem.products) { - return sElem.products.sort(function(a, b) { - var res; - res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; - if (!$scope.ascending) { - res *= -1; - } - return res; - }); - } + if (_.isEmpty(src) || _.isEmpty(account)) { + return; + } + dst || (dst = []); + _.remove(src, function(acc) { + return account.uid === acc.uid; }); + dst.push(account); + if (triggerUpdate) { + ImpacWidgetsSvc.updateWidgetSettings(w, false); + } + return null; }; - sortData = function() { - if ($scope.sortedColumn === 'account') { - return sortAccountsBy(function(el) { - return el.name; - }); - } else if ($scope.sortedColumn === 'total') { - return sortAccountsBy(function(el) { - return el.total; + setting = {}; + setting.key = "accounts-list"; + setting.initialize = function() { + setting.isInitialized = false; + w.remainingAccounts = []; + w.selectedAccounts = []; + if ((w.content != null) && !_.isEmpty(w.content.complete_list)) { + w.remainingAccounts = angular.copy(w.content.complete_list); + return $timeout(function() { + restoreSavedAccounts(); + return setting.isInitialized = true; }); } }; - $scope.sort = function(col) { - if ($scope.sortedColumn === col) { - $scope.ascending = !$scope.ascending; - } else { - $scope.ascending = true; - $scope.sortedColumn = col; + setting.toMetadata = function() { + if (setting.isInitialized) { + return { + accounts_list: _.map(w.selectedAccounts, (function(acc) { + return acc.uid; + })) + }; } - return sortData(); }; - buildFxTotals = function() { - var groupedSales, i, len, ref, results, sale, saleFxTotals; - ref = w.content.summary; + restoreSavedAccounts = function() { + var acc, accUid, accountsList, i, len, results; + if (_.isEmpty(w.metadata.accounts_list) && _.isEmpty($scope.accountsList)) { + return; + } + accountsList = _.isEmpty($scope.accountsList) ? w.metadata.accounts_list : $scope.accountsList; results = []; - for (i = 0, len = ref.length; i < len; i++) { - groupedSales = ref[i]; - results.push((function() { - var j, len1, ref1, results1; - ref1 = groupedSales.products; - results1 = []; - for (j = 0, len1 = ref1.length; j < len1; j++) { - sale = ref1[j]; - saleFxTotals = []; - if (!_.isEmpty(sale.fx_totals)) { - _.mapKeys(sale.fx_totals, function(total, currency) { - var amount; - amount = total['amount']; - if (!(amount === 0 || currency === w.metadata.currency)) { - return saleFxTotals.push({ - currency: currency, - amount: amount, - rate: total.rate - }); - } - }); - } - if (!_.isEmpty(saleFxTotals)) { - results1.push(sale.formattedFxTotals = saleFxTotals); - } else { - results1.push(void 0); - } - } - return results1; - })()); + for (i = 0, len = accountsList.length; i < len; i++) { + accUid = accountsList[i]; + acc = _.find(w.content.complete_list, function(acc) { + return acc.uid === accUid; + }); + results.push(w.moveAccountToAnotherList(acc, w.remainingAccounts, w.selectedAccounts, false)); } return results; }; - unCollapsedSetting = {}; - unCollapsedSetting.initialized = false; - unCollapsedSetting.initialize = function() { - return unCollapsedSetting.initialized = true; - }; - unCollapsedSetting.toMetadata = function() { - return { - unCollapsed: $scope.unCollapsed - }; - }; - w.settings.push(unCollapsedSetting); - return $scope.widgetDeferred.resolve(settingsPromises); + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); }]); - module.directive('widgetSalesList', function() { + module.directive('settingAccountsList', function() { return { restrict: 'A', - controller: 'WidgetSalesListCtrl' + scope: { + parentWidget: '=', + deferred: '=', + accountsList: '=?' + }, + controller: 'SettingAccountsListCtrl' }; }); }).call(this); + +/* + * Attach KPIs onto widget with a form for picking target mode and value. View widget's + * attached KPIs, manage set targets, alerts and delete. + * **NOTE: this component is not in use, and requires fixes/improvements to be used.** + */ + (function() { var module; - module = angular.module('impac.components.widgets.sales-margin', []); + module = angular.module('impac.components.widgets-settings.attach-kpis', []); - module.controller('WidgetSalesMarginCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { - var settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.timePeriodDeferred = $q.defer(); - $scope.histModeDeferred = $q.defer(); - $scope.paramSelectorDeferred = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.histModeDeferred.promise, $scope.paramSelectorDeferred.promise, $scope.chartDeferred.promise]; - w.initContext = function() { - $scope.isDataFound = (w.content != null) && (w.content.margins != null) && (w.content.dates != null); - if ($scope.isDataFound) { - $scope.filterOptions = [ + module.directive('settingAttachKpis', ["$templateCache", "ImpacWidgetsSvc", "ImpacKpisSvc", "$translate", function($templateCache, ImpacWidgetsSvc, ImpacKpisSvc, $translate) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + attachedKpis: '=?', + widgetEngine: '=', + widgetId: '=', + extraParams: '=?', + deferred: '=', + showExtraParam: '=?' + }, + template: $templateCache.get('widgets-settings/attach-kpis.tmpl.html'), + controller: ["$scope", function($scope) { + var loadKpisData, settings, w; + w = $scope.parentWidget; + settings = {}; + settings.initialize = function() { + return loadKpisData(); + }; + settings.toMetadata = function() {}; + w.settings.push(settings); + $scope.formatKpiName = function(endpoint) { + return ImpacKpisSvc.formatKpiName(endpoint); + }; + $scope.hasValidTarget = function() { + return ImpacKpisSvc.validateKpiTarget($scope.kpi); + }; + $scope.attachKpi = function() { + var param, paramValues, params, ref, target0; + params = {}; + if (!$scope.hasValidTarget()) { + return; + } + target0 = {}; + target0[$scope.kpi.limit.mode] = $scope.kpi.limit.value; + params.targets = {}; + params.targets[$scope.kpi.watchables[0]] = [target0]; + params.widget_id = $scope.widgetId; + ref = $scope.extraParams; + for (param in ref) { + paramValues = ref[param]; + params.extra_params || (params.extra_params = {}); + params.extra_params[param] = paramValues.uid; + } + console.log('attachKpis: ', $scope.kpi.endpoint, $scope.elementWatched, params); + return ImpacKpisSvc.create('impac', $scope.kpi.endpoint, $scope.elementWatched, params).then(function(kpi) { + console.log('attached KPI: ', kpi); + return $scope.attachedKpis.push(kpi); + }); + }; + $scope.deleteKpi = function(kpi) { + return ImpacKpisSvc["delete"](kpi, { + widget_id: $scope.widgetId + }).then(function() { + return _.remove($scope.attachedKpis, function(k) { + return k.id === kpi.id; + }); + }); + }; + $scope.formatAttachedKpiTitle = function(kpi) { + if (!(kpi.data && kpi.targets && $scope.elementWatched)) { + return ''; + } + return ImpacKpisSvc.formatKpiTarget(kpi.targets[$scope.elementWatched][0], kpi.data[$scope.elementWatched].unit, $scope.possibleTargets); + }; + $scope.attachedKpis || ($scope.attachedKpis = []); + $scope.possibleTargets = [ { - label: $translate.instant('impac.widget.sales_margin.including_taxes'), - value: 'gross_margin' + label: $translate.instant('impac.widget.settings.attach_kpis.over'), + mode: 'min' }, { - label: $translate.instant('impac.widget.sales_margin.excluding_taxes'), - value: 'net_margin' + label: $translate.instant('impac.widget.settings.attach_kpis.below'), + mode: 'max' } ]; - if ((w.metadata != null) && w.metadata.filter === "net_margin") { - return $scope.filter = angular.copy($scope.filterOptions[1]); - } else { - return $scope.filter = angular.copy($scope.filterOptions[0]); - } - } + $scope.kpi = { + limit: { + mode: $scope.possibleTargets[0].mode + } + }; + ImpacKpisSvc.getAttachableKpis($scope.widgetEngine).then(function(kpiTemplates) { + $scope.availableKpis = angular.copy(kpiTemplates); + angular.extend($scope.kpi, $scope.availableKpis[0]); + $scope.selectedParam = _.keys($scope.extraParams)[0]; + return $scope.elementWatched = ($scope.kpi.watchables != null) && $scope.kpi.watchables[0]; + }); + loadKpisData = function() {}; + loadKpisData(); + return $scope.deferred.resolve($scope.parentWidget); + }] }; - $scope.getTotalMargin = function() { - if ($scope.isDataFound) { - if ((w.metadata != null) && w.metadata.filter === "net_margin") { - return _.reduce(w.content.margins.net, function(memo, margin) { - return memo + margin; - }, 0); - } else { - return _.reduce(w.content.margins.gross, function(memo, margin) { - return memo + margin; - }, 0); + }]); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets-settings.chart-filters', []); + + module.controller('SettingChartFiltersCtrl', ["$scope", function($scope) { + var setting, w; + w = $scope.parentWidget; + setting = {}; + setting.key = "chart-filters"; + setting.isInitialized = false; + setting.initialize = function() { + if ((w.content != null) && (w.content.chart_filter != null) && ($scope.filterCriteria = w.content.chart_filter.criteria)) { + $scope.maxEntities = w.content.chart_filter.max; + $scope.entityType = w.content.chart_filter.entity_type; + $scope.filterLabel = w.content.chart_filter.filter_label.replace(/_/g, " "); + if ($scope.filterCriteria === "number") { + $scope.filterValuePercentage = 80; + $scope.filterValueNumber = w.content.chart_filter.value; + } else { + $scope.filterValuePercentage = w.content.chart_filter.value; + $scope.filterValueNumber = Math.round($scope.maxEntities / 2); } + return setting.isInitialized = true; } }; - $scope.getCurrency = function() { - if ($scope.isDataFound) { - return w.content.currency || "USD"; - } - }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var all_values_are_positive, chartData, dates, inputData, options, period, values; - if ($scope.isDataFound) { - if ((w.metadata != null) && w.metadata.filter === "net_margin") { - values = w.content.margins.net; + setting.toMetadata = function() { + var filterValue; + if ((w.content != null) && (w.content.chart_filter != null)) { + if ($scope.filterCriteria === "percentage") { + filterValue = $scope.filterValuePercentage; } else { - values = w.content.margins.gross; - } - period = null; - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - period = w.metadata.hist_parameters.period; + filterValue = $scope.filterValueNumber; } - dates = _.map(w.content.dates, function(date) { - return $filter('momentDate')(date, period); - }); - inputData = { - title: $translate.instant('impac.widget.sales_margin.gross_margin'), - labels: dates, - values: values - }; - all_values_are_positive = true; - angular.forEach(values, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); - }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: false + return { + chart_filter: { + criteria: $scope.filterCriteria, + value: filterValue + } }; - chartData = ChartFormatterSvc.lineChart([inputData], options); - return $scope.drawTrigger.notify(chartData); + } else { + return {}; } }; - return $scope.widgetDeferred.resolve(settingsPromises); + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); }]); - module.directive('widgetSalesMargin', function() { + module.directive('settingChartFilters', ["$templateCache", function($templateCache) { return { restrict: 'A', - controller: 'WidgetSalesMarginCtrl' + scope: { + parentWidget: '=', + deferred: '=' + }, + template: $templateCache.get('widgets-settings/chart-filters.tmpl.html'), + controller: 'SettingChartFiltersCtrl' }; - }); + }]); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets.sales-net-sales', []); + module = angular.module('impac.components.widgets-settings.dates-picker', []); - module.controller('WidgetSalesNetSalesCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { - var settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.paramSelector1Deferred = $q.defer(); - $scope.paramSelector2Deferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.paramSelector1Deferred.promise, $scope.paramSelector2Deferred.promise]; - $translate(['impac.widget.sales_net_sales.total_amount', 'impac.widget.sales_net_sales.average_amount', 'impac.widget.sales_net_sales.volume']).then(function(translations) { - $scope.displayOptions = [ - { - label: translations['impac.widget.sales_net_sales.total_amount'], - value: 'total' - }, { - label: translations['impac.widget.sales_net_sales.average_amount'], - value: 'average' - }, { - label: translations['impac.widget.sales_net_sales.volume'], - value: 'trans_count' - } - ]; - return $scope.displayType = angular.copy(_.find($scope.displayOptions, function(o) { - return w.metadata && o.value === w.metadata.display_type; - }) || $scope.displayOptions[0]); - }); - $translate(['impac.widget.sales_net_sales.tmpl.last_hours', 'impac.widget.sales_net_sales.tmpl.last_days']).then(function(translations) { - var daysTmpl, hoursTmpl; - hoursTmpl = translations['impac.widget.sales_net_sales.tmpl.last_hours']; - daysTmpl = translations['impac.widget.sales_net_sales.tmpl.last_days']; - $scope.timeRangeOptions = [ - { - label: hoursTmpl.replace(':hours:', 24), - value: '-1d' - }, { - label: daysTmpl.replace(':days:', 5), - value: '-5d' - }, { - label: daysTmpl.replace(':days:', 7), - value: '-7d' - }, { - label: daysTmpl.replace(':days:', 30), - value: '-30d' - }, { - label: daysTmpl.replace(':days:', 45), - value: '-45d' - }, { - label: daysTmpl.replace(':days:', 60), - value: '-60d' - }, { - label: daysTmpl.replace(':days:', 90), - value: '-90d' - } - ]; - return $scope.timeRange = angular.copy(_.find($scope.timeRangeOptions, function(o) { - return w.metadata && o.value === w.metadata.time_range; - }) || $scope.timeRangeOptions[6]); - }); - w.initContext = function() { - return $scope.isDataFound = (w.content != null) && (w.content.sales != null) && w.content.sales.length > 0 && (w.content.sales[0].total != null); - }; - $scope.getCurrency = function() { - if ($scope.isDataFound) { - return w.content.currency; - } - }; - $scope.getValue = function(valueType) { - if ((w.content != null) && w.content[valueType]) { - switch ($scope.displayType.value) { - case 'total': - return $filter('mnoCurrency')(w.content[valueType][0].total, $scope.getCurrency(), false); - case 'average': - return $filter('mnoCurrency')(w.content[valueType][0].avg, $scope.getCurrency(), false); - case 'trans_count': - return w.content[valueType][0].trans_count; + module.directive('settingDatesPicker', ["$templateCache", "$filter", "ImpacWidgetsSvc", "$timeout", "$compile", function($templateCache, $filter, ImpacWidgetsSvc, $timeout, $compile) { + return { + restrict: 'A', + scope: { + parentWidget: '=?', + deferred: '=', + fromDate: '=from', + toDate: '=to', + keepToday: '=', + onUse: '&?', + onChangeCb: '&?onChange', + minDate: '=?', + updateOnPick: '=?', + template: '=?', + period: '=?' + }, + template: $templateCache.get('widgets-settings/dates-picker.tmpl.html'), + link: function(scope, element) { + var applyHtml, buildDates, fromDateHtml, isToToday, setting, templatesContainer, toDateHtml, w; + w = scope.parentWidget; + setting = {}; + setting.key = "dates-picker"; + scope.setting = setting; + scope.calendarFrom = { + opened: false, + value: new Date(new Date().getFullYear(), 0, 1), + toggle: function() { + scope.calendarFrom.opened = !scope.calendarFrom.opened; + return scope.calendarTo.opened = false; + } + }; + scope.calendarTo = { + opened: false, + value: new Date(), + toggle: function() { + scope.calendarFrom.opened = false; + return scope.calendarTo.opened = !scope.calendarTo.opened; + } + }; + scope.template || (scope.template = "
\n
\n impac.widget.settings.dates_picker.from \n
\n
\n impac.widget.settings.dates_picker.to \n
\n
"); + fromDateHtml = "
\n \n
"; + toDateHtml = "
\n \n
"; + applyHtml = ""; + scope.template = scope.template.replace(/>/, " ng-click='onUse()'>"); + scope.template = scope.template.replace(/]*)>/g, "" + (fromDateHtml.replace('ATTRS', '$1'))); + scope.template = scope.template.replace(/]*)>/g, "" + (toDateHtml.replace('ATTRS', '$1'))); + scope.template = scope.template.replace(/]*)>/g, "" + (applyHtml.replace('ATTRS', '$1'))); + templatesContainer = element.find('#template-container'); + templatesContainer.html(scope.template).show(); + $compile(templatesContainer.contents())(scope); + setting.initialize = function() { + return $timeout(function() { + var d, m, parsedFrom, parsedTo, y; + scope.changed = false; + if (Date.parse(scope.fromDate)) { + parsedFrom = scope.fromDate.split('-'); + y = parsedFrom[0]; + m = parsedFrom[1] - 1; + d = parsedFrom[2]; + scope.calendarFrom.value = new Date(y, m, d); + } else { + scope.calendarFrom.value = new Date(new Date().getFullYear(), 0, 1); + } + if (Date.parse(scope.toDate) && !scope.keepToday) { + parsedTo = scope.toDate.split('-'); + y = parsedTo[0]; + m = parsedTo[1] - 1; + d = parsedTo[2]; + return scope.calendarTo.value = new Date(y, m, d); + } else { + return scope.calendarTo.value = new Date(); + } + }); + }; + isToToday = function() { + return (scope.calendarTo.value.getFullYear() === new Date().getFullYear()) && (scope.calendarTo.value.getMonth() === new Date().getMonth()) && (scope.calendarTo.value.getDate() === new Date().getDate()); + }; + setting.toMetadata = function() { + return { + hist_parameters: { + from: $filter('date')(scope.calendarFrom.value, 'yyyy-MM-dd'), + to: $filter('date')(scope.calendarTo.value, 'yyyy-MM-dd'), + period: scope.period || "RANGE", + keep_today: isToToday() + } + }; + }; + scope.onChange = function() { + scope.showApplyButton(); + if (!_.isUndefined(scope.onChangeCb)) { + return scope.onChangeCb()(buildDates()); + } + }; + buildDates = function() { + return { + from: $filter('date')(scope.calendarFrom.value, 'yyyy-MM-dd'), + to: $filter('date')(scope.calendarTo.value, 'yyyy-MM-dd'), + keepToday: isToToday() + }; + }; + scope.showApplyButton = function() { + if (scope.updateOnPick) { + return scope.applyChanges(); + } else { + return scope.changed = true; + } + }; + scope.applyChanges = function() { + ImpacWidgetsSvc.updateWidgetSettings(w, true); + return scope.changed = false; + }; + scope.showTitle = function() { + return element.hasClass('part'); + }; + if (w) { + w.settings.push(setting); } + return scope.deferred.resolve(setting); + } + }; + }]); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets-settings.formula', []); + + module.controller('SettingFormulaCtrl', ["$scope", "$filter", "$timeout", "$translate", function($scope, $filter, $timeout, $translate) { + var AUTHORIZED_REGEXP, evaluateFormula, formatFormula, getFormula, interpolateInFormula, isRatio, prepareFormula, setting, translateEvaluatedFormula, w; + w = $scope.parentWidget; + w.formula = ''; + AUTHORIZED_REGEXP = new RegExp("^(\\{|\\d|\\}|\\/|\\+|-|\\*|\\(|\\)|\\s|\\.)*$"); + setting = {}; + setting.key = "formula"; + setting.isInitialized = false; + setting.initialize = function() { + if ((w.metadata != null) && (w.metadata.formula != null)) { + w.formula = w.metadata.formula; + return $timeout(function() { + prepareFormula(); + return setting.isInitialized = true; + }); } else { - return 0; + return w.formula = ''; } }; - $scope.sign = function(type) { - if ($scope.displayType.value === 'average') { - return { - minus: '~', - equal: '=>' - }[type]; - } else if ($scope.displayType.value === 'trans_count') { + setting.toMetadata = function() { + prepareFormula(); + if (w.isFormulaCorrect) { return { - minus: '+', - equal: '=' - }[type]; + formula: w.formula + }; } else { return { - minus: '-', - equal: '=' - }[type]; + formula: '' + }; } }; - return $scope.widgetDeferred.resolve(settingsPromises); + getFormula = function() { + return w.formula; + }; + w.formatAmount = function(anAccount) { + return $filter('mnoCurrency')(anAccount.current_balance, anAccount.currency); + }; + $scope.$watch(getFormula, function(e) { + return prepareFormula(); + }); + prepareFormula = function() { + var evaluatedFormula, interpolatedFormula; + interpolatedFormula = interpolateInFormula(w.formula, w.selectedAccounts, 'current_balance'); + if ((evaluatedFormula = evaluateFormula(interpolatedFormula))) { + w.evaluatedFormula = formatFormula(evaluatedFormula, w.formula, w.selectedAccounts); + w.legend = interpolateInFormula(w.formula, w.selectedAccounts, 'name'); + w.isFormulaCorrect = true; + } else { + w.evaluatedFormula = 'invalid expression'; + w.legend = '...'; + w.isFormulaCorrect = false; + } + return w.evaluatedFormulaTranslate = translateEvaluatedFormula(w.evaluatedFormula); + }; + w.evaluatedFormula_History = function(index) { + var account, i, interpolation, j, len, pattern, ref; + interpolation = w.formula; + ref = w.selectedAccounts; + for (i = j = 0, len = ref.length; j < len; i = ++j) { + account = ref[i]; + pattern = new RegExp("\\{" + (i + 1) + "\\}", 'g'); + interpolation = interpolation.replace(pattern, " " + account['balances'][index] + " "); + } + return evaluateFormula(interpolation); + }; + translateEvaluatedFormula = function(formula) { + switch (formula) { + case 'invalid expression': + return $translate.instant('impac.widget.formula.invalid_expression'); + case 'Infinity': + return $translate.instant('impac.widget.formula.infinity'); + case '-Infinity': + return $translate.instant('impac.widget.formula.minus_infinity'); + default: + return formula; + } + }; + interpolateInFormula = function(sourceFormula, selectedAccounts, accountMember) { + var account, i, interpolation, j, len, pattern; + interpolation = sourceFormula; + if (_.isEmpty(selectedAccounts)) { + return interpolation; + } + for (i = j = 0, len = selectedAccounts.length; j < len; i = ++j) { + account = selectedAccounts[i]; + pattern = new RegExp("\\{" + (i + 1) + "\\}", 'g'); + interpolation = interpolation.replace(pattern, " " + account[accountMember] + " "); + } + return interpolation; + }; + evaluateFormula = function(interpolatedFormula) { + var e, evaluation; + if (!interpolatedFormula.match(AUTHORIZED_REGEXP)) { + return false; + } + try { + evaluation = eval(interpolatedFormula).toFixed(2); + if (isFinite(evaluation)) { + return evaluation; + } else { + return false; + } + } catch (error) { + e = error; + return false; + } + }; + isRatio = function(sourceFormula) { + return sourceFormula.match(/\//g); + }; + formatFormula = function(evaluation, sourceFormula, selectedAccounts) { + var currency, firstAccount; + if (isRatio(sourceFormula) || _.isEmpty(selectedAccounts)) { + return evaluation; + } + firstAccount = selectedAccounts[0]; + if (!(currency = firstAccount.currency)) { + return evaluation; + } + return $filter('mnoCurrency')(evaluation, currency); + }; + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); }]); - module.directive('widgetSalesNetSales', function() { + module.directive('settingFormula', function() { return { restrict: 'A', - controller: 'WidgetSalesNetSalesCtrl' + scope: { + parentWidget: '=', + deferred: '=' + }, + controller: 'SettingFormulaCtrl' }; }); }).call(this); (function() { - var module; + var module, + indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; - module = angular.module('impac.components.widgets.sales-new-vs-existing-customers', []); + module = angular.module('impac.components.widgets-settings.hist-mode', []); - module.controller('WidgetSalesNewVsExistingCustomersCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { - var daysTmpl, hoursTmpl, settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.timeRangeParamSelectorDeferred = $q.defer(); - $scope.displayTypeParamSelectorDeferred = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timeRangeParamSelectorDeferred.promise, $scope.displayTypeParamSelectorDeferred.promise, $scope.chartDeferred.promise]; - $scope.displayOptions = [ - { - label: $translate.instant('impac.widget.sales_new_vs_existing.customers'), - value: 'customers_count' - }, { - label: $translate.instant('impac.widget.sales_new_vs_existing.total_sales'), - value: 'total_sales' - }, { - label: $translate.instant('impac.widget.sales_new_vs_existing.transactions'), - value: 'transactions_count' + module.controller('SettingHistModeCtrl', ["$scope", "$translate", "$timeout", "ImpacWidgetsSvc", "ImpacTheming", "ImpacUtilities", function($scope, $translate, $timeout, ImpacWidgetsSvc, ImpacTheming, ImpacUtilities) { + var buildCurrentLabel, setting, w; + w = $scope.parentWidget; + w.isHistoryMode = w.metadata && w.metadata.hist_parameters && w.metadata.hist_parameters.mode === 'history'; + $scope.forwardParams = { + accountingBehaviour: function() { + return $scope.accountingBehaviour; } - ]; - $scope.displayType = angular.copy(_.find($scope.displayOptions, function(o) { - return w.metadata && (o.value === w.metadata.display_type); - }) || $scope.displayOptions[0]); - hoursTmpl = $translate.instant('impac.widget.sales_new_vs_existing.tmpl.last_hours'); - daysTmpl = $translate.instant('impac.widget.sales_new_vs_existing.tmpl.last_days'); - $scope.timeRangeOptions = [ - { - label: hoursTmpl.replace(':hours:', 24), - value: '-1d' - }, { - label: daysTmpl.replace(':days:', 5), - value: '-5d' - }, { - label: daysTmpl.replace(':days:', 7), - value: '-7d' - }, { - label: daysTmpl.replace(':days:', 30), - value: '-30d' - }, { - label: daysTmpl.replace(':days:', 45), - value: '-45d' - }, { - label: daysTmpl.replace(':days:', 60), - value: '-60d' - }, { - label: daysTmpl.replace(':days:', 90), - value: '-90d' + }; + $scope.toggleHistMode = function(mode) { + var ref; + if ((w.isHistoryMode && mode === 'history') || (!w.isHistoryMode && mode === 'current')) { + return; } - ]; - $scope.timeRange = angular.copy(_.find($scope.timeRangeOptions, function(o) { - return w.metadata && (o.value === w.metadata.time_range); - }) || $scope.timeRangeOptions[6]); - w.initContext = function() { - return $scope.isDataFound = (w.content != null) && (w.content.summary != null) && (w.content.summary.customers_count != null) && (w.content.summary.customers_count.total != null) && w.content.summary.customers_count.total > 0; + w.isHistoryMode = !w.isHistoryMode; + ImpacWidgetsSvc.updateWidgetSettings(w, false); + return ref = $scope.onToggle(), indexOf.call(angular.isDefined($scope.onToggle), ref) >= 0; }; - $scope.displayTypeOnClick = function() { - $scope.updateSettings(false); - return w.format(); + buildCurrentLabel = function() { + var label, labels, needPrefix, prefix; + labels = ImpacTheming.get().widgetSettings.histModeChoser.currentLabels; + if (($scope.accountingBehaviour != null) && labels[$scope.accountingBehaviour]) { + needPrefix = !$scope.endDate || ($scope.endDate === moment().format('YYYY-MM-DD')); + label = labels[$scope.accountingBehaviour]; + prefix = labels[$scope.accountingBehaviour] + '.prefix'; + return $translate([prefix, label]).then(function(translations) { + return $scope.currentLabel = needPrefix ? translations[prefix] + " " + translations[label] : translations[label]; + }); + } else { + return $translate(labels["default"]).then(function(label) { + return $scope.currentLabel = label; + }); + } }; - $scope.getValue = function(key) { - var result, returnType; - if ($scope.isDataFound) { - returnType = $scope.displayType.value; - result = w.content.summary[returnType][key]; - switch (returnType) { - case 'total_sales': - return $filter('mnoCurrency')(result, w.metadata.currency); - default: - return result; + setting = {}; + setting.key = "hist-mode"; + setting.isInitialized = false; + setting.initialize = function() { + return $timeout(function() { + var mode; + if ((w.metadata != null) && (w.metadata.hist_parameters != null) && (mode = w.metadata.hist_parameters.mode)) { + w.isHistoryMode = mode === 'history' ? true : false; } - } - }; - $scope.shouldDisplayCurrency = function() { - return $scope.isDataFound && $scope.displayType.value.indexOf('count') < 0; - }; - $scope.calculatePercentage = function(sliceType) { - var values; - values = { - "new": Math.abs(w.content.summary[$scope.displayType.value]["new"]), - existing: Math.abs(w.content.summary[$scope.displayType.value].existing) - }; - values.totals = values["new"] + values.existing; - return Math.round(values[sliceType] / values.totals * 100); + buildCurrentLabel(); + $scope.forwardParams.histParams = w.metadata && w.metadata.hist_parameters; + setting.isInitialized = true; + return $scope; + }); }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var chartData, pieData, pieOptions; - if ($scope.isDataFound) { - pieData = [ - { - label: "EXISTING " + ($scope.calculatePercentage('existing')) + "%", - value: w.content.summary[$scope.displayType.value].existing - }, { - label: "NEW " + ($scope.calculatePercentage('new')) + "%", - value: w.content.summary[$scope.displayType.value]["new"] - } - ]; - pieOptions = { - percentageInnerCutout: 50, - tooltipFontSize: 12 - }; - if (!$scope.shouldDisplayCurrency()) { - angular.merge(pieOptions, { - currency: 'hide' - }); + setting.toMetadata = function() { + var mode; + mode = w.isHistoryMode ? 'history' : 'current'; + return { + hist_parameters: { + mode: mode } - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions, true); - return $scope.drawTrigger.notify(chartData); - } + }; }; - return $scope.widgetDeferred.resolve(settingsPromises); + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); }]); - module.directive('widgetSalesNewVsExistingCustomers', function() { + module.directive('settingHistMode', ["$templateCache", function($templateCache) { return { restrict: 'A', - controller: 'WidgetSalesNewVsExistingCustomersCtrl' + scope: { + parentWidget: '=', + deferred: '=', + onToggle: '&', + accountingBehaviour: '@?', + endDate: '=?' + }, + template: $templateCache.get('widgets-settings/hist-mode.tmpl.html'), + controller: 'SettingHistModeCtrl' }; - }); + }]); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets.sales-number-of-leads', []); + module = angular.module('impac.components.widgets-settings.limit-entries', []); - module.controller('WidgetSalesNumberOfLeadsCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { - var getVariation, settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.paramSelectorDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.paramSelectorDeferred.promise]; - w.initContext = function() { - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.number_of_leads)) { - return $translate(['impac.widget.settings.time_period.period.year', 'impac.widget.settings.time_period.period.quarter', 'impac.widget.settings.time_period.period.month', 'impac.widget.settings.time_period.period.week', 'impac.widget.settings.time_period.period.day']).then(function(translations) { - $scope.periodOptions = [ - { - label: translations['impac.widget.settings.time_period.period.year'], - value: 'YEARLY' - }, { - label: translations['impac.widget.settings.time_period.period.quarter'], - value: 'QUARTERLY' - }, { - label: translations['impac.widget.settings.time_period.period.month'], - value: 'monthly' - }, { - label: translations['impac.widget.settings.time_period.period.week'], - value: 'WEEKLY' - }, { - label: translations['impac.widget.settings.time_period.period.day'], - value: 'DAILY' - } - ]; - return $scope.period = angular.copy(_.find($scope.periodOptions, function(o) { - return o.value === w.metadata.period; - }) || $scope.periodOptions[3]); - }); - } + module.controller('SettingLimitEntriesCtrl', ["$scope", function($scope) { + var setting; + setting = {}; + setting.key = 'limit-entries'; + setting.initialize = function() { + return true; }; - w.processError = function(error) { - if (error.code === 404) { - return $scope.isDataFound = false; - } + setting.toMetadata = function() { + return { + limit_entries: $scope.selected + }; }; - $scope.formatNumberOfLeads = function(carac) { - var color, formattedNominal, formattedVariation, n_hash, nominal, variation; - formattedNominal = 0; - formattedVariation = "- %"; - if (!$scope.isDataFound) { - return { - nominal: formattedNominal, - variation: formattedVariation, - color: '' - }; - } - n_hash = angular.copy(w.content.number_of_leads); - nominal = 0; - color = ''; - if (carac === "new" && n_hash.total && n_hash.total.length === 2) { - nominal = n_hash.total[1] - n_hash.total[0]; - variation = getVariation(n_hash.total); - if (variation > 0) { - color = 'green'; - } else if (variation < 0) { - color = 'red'; - } - } else if (carac === "converted" && n_hash.converted && n_hash.converted.length === 2) { - nominal = n_hash.converted[1]; - variation = getVariation(n_hash.converted); - if (variation > 0) { - color = 'green'; - } else if (variation < 0) { - color = 'red'; - } - } else if (carac === "lost" && n_hash.lost && n_hash.lost.length === 2) { - nominal = n_hash.lost[1]; - variation = getVariation(n_hash.lost); - if (variation < 0) { - color = 'green'; - } else if (variation > 0) { - color = 'red'; + $scope.parentWidget.settings.push(setting); + return $scope.deferred.resolve(setting); + }]); + + module.directive('settingLimitEntries', ["$templateCache", "ImpacWidgetsSvc", function($templateCache, ImpacWidgetsSvc) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + selected: '=', + max: '=?', + options: '=?', + entriesLabel: '=?' + }, + link: function(scope, elements, attrs) { + if (!((scope.options != null) && scope.options.length > 0)) { + scope.options = [5, 15, 50]; } - } else { - return { - nominal: formattedNominal, - variation: formattedVariation, - color: color + scope.selectOption = function(anOption) { + scope.selected = anOption; + return ImpacWidgetsSvc.updateWidgetSettings(scope.parentWidget, false); + }; + return scope.isOptionValid = function(anOption) { + return (scope.max == null) || anOption < scope.max; + }; + }, + controller: 'SettingLimitEntriesCtrl', + template: $templateCache.get('widgets-settings/limit-entries.tmpl.html') + }; + }]); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets-settings.offsets', []); + + module.directive('settingOffsets', ["$templateCache", "ImpacUtilities", function($templateCache, ImpacUtilities) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + offsetsKey: '@', + initialOffsets: '=', + currency: '=', + intervalsCount: '=', + period: '=', + showIntervalsMult: '=', + textPlaceholder: '@?' + }, + template: $templateCache.get('widgets-settings/offsets.tmpl.html'), + link: function(scope) { + var authorized_regex, computedFormula, placeholder, setting, w; + w = scope.parentWidget; + authorized_regex = new RegExp("^(\\{|\\d|\\}|\\/|\\+|-|\\*|\\(|\\)|\\s|\\.)*$"); + setting = { + key: "offsets-" + scope.offsetsKey + }; + setting.initialize = function() { + var i, len, offsetValue, ref; + scope.offsets = []; + ref = scope.initialOffsets || []; + for (i = 0, len = ref.length; i < len; i++) { + offsetValue = ref[i]; + scope.offsets.push(offsetValue); + } + scope.offsetFormula = ""; + scope.periodWord = ImpacUtilities.getPeriodWord(scope.period); + return scope.placeholder = placeholder(scope.period || 'MONTHLY'); + }; + setting.toMetadata = function() { + var metadata; + metadata = { + offset: {} + }; + metadata.offset[scope.offsetsKey] = scope.offsets; + return metadata; + }; + scope.addOffset = function() { + var result; + result = computedFormula(); + if (result) { + scope.offsets.push(result); + } + return scope.offsetFormula = ""; + }; + scope.removeOffset = function(offsetIndex) { + return scope.offsets.splice(offsetIndex, 1); + }; + scope.addOffsetOnEnter = function(event) { + if (event.keyCode === 13) { + return scope.addOffset(); + } + }; + placeholder = function(inputPeriod) { + var period; + if (scope.textPlaceholder != null) { + return scope.textPlaceholder; + } + period = inputPeriod.charAt(0).toUpperCase() + inputPeriod.slice(1).toLowerCase(); + return period + " adjustment"; }; - } - if (nominal > 0) { - formattedNominal = "+" + nominal; - } else if (nominal < 0) { - formattedNominal = nominal; - } - if (variation && variation > 0) { - formattedVariation = "+" + (variation.toFixed(0)) + "%"; - } else if (variation && variation < 0) { - formattedVariation = (variation.toFixed(0)) + "%"; - } - return { - nominal: formattedNominal, - variation: formattedVariation, - color: color - }; - }; - getVariation = function(v_array) { - var variation; - if (v_array[0] !== 0) { - return variation = 100 * ((v_array[1] / v_array[0]) - 1); - } else { - return variation = "- "; + computedFormula = function() { + if (scope.offsetFormula.match(authorized_regex)) { + return eval(scope.offsetFormula); + } + }; + if (w) { + w.settings.push(setting); + } + return scope.deferred.resolve(setting); } }; - return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesNumberOfLeads', function() { - return { - restrict: 'A', - controller: 'WidgetSalesNumberOfLeadsCtrl' - }; - }); - }).call(this); (function() { - var module, - indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + var module; - module = angular.module('impac.components.widgets.sales-opportunities-funnel', []); + module = angular.module('impac.components.widgets-settings.organizations', []); - module.controller('WidgetSalesOpportunitiesFunnelCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "ImpacWidgetsSvc", "ImpacDashboardsSvc", function($scope, $q, ChartFormatterSvc, $filter, ImpacWidgetsSvc, ImpacDashboardsSvc) { - var getFilteredTotal, getOrderedAssigneeIds, hasOneOpportunity, selectedStatusSetting, settingsPromises, sortData, sortOppsBy, w; - w = $scope.widget; - $scope.selectedOpportunities = []; - $scope.collapsed = []; - $scope.orgDeferred = $q.defer(); - $scope.paramsPickerDeferred1 = $q.defer(); - $scope.paramsPickerDeferred2 = $q.defer(); - $scope.widthDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.paramsPickerDeferred1.promise, $scope.paramsPickerDeferred2.promise, $scope.widthDeferred.promise]; - $scope.ascending = true; - $scope.sortedColumn = 'group'; - hasOneOpportunity = function(oppsPerSalesStage) { - var reducedHash, total, totalsArray; - reducedHash = _.mapValues(oppsPerSalesStage, function(statusHash) { - return statusHash.total; - }); - totalsArray = _.compact(_.values(reducedHash)); - total = _.reduce(totalsArray, function(total, n) { - if (total == null) { - total = 0; - } - return total + n; - }); - return (total != null) && total > 0; - }; - getFilteredTotal = function(opps, assignees) { - return _.reduce(opps, function(total, opp) { - var ref; - if (total == null) { - total = 0; - } - if (ref = opp.assignee_id, indexOf.call(assignees, ref) >= 0) { - return total + 1; - } else { - return total; - } - }, 0); - }; - getOrderedAssigneeIds = function(assigneesOptions) { - return _.map(_.filter(assigneesOptions, function(assigneeOption) { - return assigneeOption.selected; - }), 'value'); + module.controller('SettingOrganizationsCtrl', ["$scope", "$log", "ImpacDashboardsSvc", function($scope, $log, ImpacDashboardsSvc) { + var setting, w; + w = $scope.parentWidget; + w.selectedOrganizations = {}; + $scope.isOrganizationSelected = function(orgUid) { + return !!w.selectedOrganizations[orgUid]; }; - w.initContext = function() { - var assignees_selection, dhb, sales_stage_selection; - dhb = ImpacDashboardsSvc.getCurrentDashboard(); - sales_stage_selection = w.metadata.sales_stage_selection || dhb.metadata.sales_stage_selection || { - values: [] - }; - assignees_selection = w.metadata.assignees_selection || dhb.metadata.assignees_selection || { - values: [] - }; - if ($scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.opps_per_sales_stage) && hasOneOpportunity(w.content.opps_per_sales_stage)) { - _.remove(sales_stage_selection.values, function(status) { - return indexOf.call(_.keys(w.content.opps_per_sales_stage), status) < 0; - }); - $scope.hasReach = true; - $scope.statusOptions = []; - angular.forEach(w.content.opps_per_sales_stage, function(value, status) { - var isSelected; - isSelected = _.isEmpty(sales_stage_selection.values) || (indexOf.call(sales_stage_selection.values, status) >= 0); - return $scope.statusOptions.push({ - label: status, - selected: isSelected - }); - }); - if ($scope.statusOptions[0] && !_.any($scope.statusOptions, 'selected') && !_.isEmpty(w.content.opps_per_sales_stage)) { - $scope.statusOptions[0].selected = true; - } - $scope.assigneesOptions = []; - angular.forEach(w.content.assignees, function(obj, index) { - var isSelected, ref; - isSelected = _.isEmpty(assignees_selection.values) || (ref = obj.id, indexOf.call(assignees_selection.values, ref) >= 0); - return $scope.assigneesOptions.push({ - label: obj.name, - selected: isSelected, - value: obj.id - }); + $scope.toggleSelectOrganization = function(orgUid) { + w.selectedOrganizations[orgUid] = !w.selectedOrganizations[orgUid]; + if (angular.isDefined($scope.onSelect)) { + return $scope.onSelect({ + orgs: w.selectedOrganizations }); - if ($scope.assigneesOptions[0] && !_.any($scope.assigneesOptions, 'selected') && !_.isEmpty(w.content.assignees)) { - return $scope.assigneesOptions[0].selected = true; - } - } - }; - w.processError = function(error) { - if (error.code === 404) { - return $scope.isDataFound = false; - } - }; - $scope.getImpacColor = function(index) { - return ChartFormatterSvc.getColor(index); - }; - $scope.toggleSelectStatus = function(aStatus) { - if ($scope.selectedStatus && $scope.selectedStatus === aStatus) { - $scope.selectedStatus = null; - } else { - $scope.selectedStatus = aStatus; - } - $scope.updateRightView(); - if (!w.isExpanded() && $scope.selectedStatus) { - return w.toggleExpanded(); - } else { - return ImpacWidgetsSvc.updateWidgetSettings(w, false, true); } }; - $scope.isSelected = function(aStatus) { - return $scope.selectedStatus && aStatus === $scope.selectedStatus; - }; - $scope.toggleCollapsed = function(element) { - if ((element != null) && (element.assigneeName != null)) { - if (_.find($scope.collapsed, (function(name) { - return element.assigneeName === name; - }))) { - return $scope.collapsed = _.reject($scope.collapsed, function(name) { - return name === element.assigneeName; - }); - } else { - return $scope.collapsed.push(element.assigneeName); + setting = {}; + setting.key = "organizations"; + setting.isInitialized = false; + setting.initialize = function() { + return ImpacDashboardsSvc.load().then(function(config) { + var i, len, org, ref; + $scope.dashboardOrganizations = config.currentDashboard.data_sources; + if ((w.metadata != null) && (w.metadata.organization_ids != null)) { + ref = $scope.dashboardOrganizations; + for (i = 0, len = ref.length; i < len; i++) { + org = ref[i]; + w.selectedOrganizations[org.uid] = _.contains(w.metadata.organization_ids, org.uid); + } + return setting.isInitialized = true; } - } + }); }; - $scope.isCollapsed = function(element) { - if ((element != null) && (element.assigneeName != null)) { - if (_.find($scope.collapsed, (function(name) { - return element.assigneeName === name; - }))) { - return true; - } else { - return false; + setting.toMetadata = function() { + var newOrganizations; + newOrganizations = _.compact(_.map(w.selectedOrganizations, function(checked, uid) { + if (checked) { + return uid; } + })); + if (_.isEmpty(newOrganizations)) { + newOrganizations = [_.first($scope.dashboardOrganizations).uid]; } + return { + organization_ids: newOrganizations + }; }; - $scope.getSelectedOpportunities = function() { - var assignees, filteredOpps, oppGroups, sortedOppGroups; - if ($scope.isDataFound && $scope.selectedStatus && w.content.opps_per_sales_stage[$scope.selectedStatus]) { - assignees = getOrderedAssigneeIds($scope.assigneesOptions); - filteredOpps = _.filter(w.content.opps_per_sales_stage[$scope.selectedStatus].opps, function(opportunity) { - var ref; - return ref = opportunity.assignee_id, indexOf.call(assignees, ref) >= 0; - }); - oppGroups = _.groupBy(filteredOpps, 'assignee_id'); - sortedOppGroups = []; - angular.forEach($scope.assigneesOptions, function(assigneeOption) { - var assigneeId; - assigneeId = assigneeOption.value; - if (oppGroups[assigneeId]) { - return sortedOppGroups.push({ - assigneeName: assigneeOption.label, - opps: oppGroups[assigneeId] - }); - } - }); - return sortedOppGroups; - } else { - return []; - } + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); + }]); + + module.directive('settingOrganizations', ["$templateCache", function($templateCache) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + onSelect: '&?' + }, + template: $templateCache.get('widgets-settings/organizations.tmpl.html'), + controller: 'SettingOrganizationsCtrl' + }; + }]); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets-settings.param-selector', []); + + module.controller('SettingParamSelectorCtrl', ["$scope", "ImpacWidgetsSvc", function($scope, ImpacWidgetsSvc) { + var setting, w; + $scope.showOptions = false; + $scope.toggleShowOptions = function() { + return $scope.showOptions = !$scope.showOptions; }; - $scope.getOppDetails = function(anOpp) { - var oppDetails; - oppDetails = []; - if (anOpp.amount) { - oppDetails.push($filter('mnoCurrency')(anOpp.amount.amount, anOpp.amount.currency || 'AUD')); - } - if (anOpp.probability) { - oppDetails.push("prob. " + anOpp.probability + "%"); - } - return oppDetails.join(' / '); + $scope.onInit = function() { + $scope.selectedOption = {}; + return angular.extend($scope.selectedOption, $scope.selected); }; - $scope.getTotal = function(oppsGroup) { - var currency, total; - if (!(oppsGroup.length > 0)) { - return ""; + $scope.selectOption = function(anOption) { + if (anOption.value !== $scope.selected.value) { + angular.extend($scope.selected, anOption); + ImpacWidgetsSvc.updateWidgetSettings($scope.parentWidget, !$scope.noReload); + if (angular.isDefined($scope.onSelect)) { + $scope.onSelect(); + } } - total = _.sum(oppsGroup, function(o) { - var amount, proba; - amount = o.amount.amount || 0.0; - proba = o.probability || 0.0; - return amount * (proba / 100); - }); - currency = oppsGroup[0].amount.currency || 'AUD'; - return $filter('mnoCurrency')(total, currency); + return $scope.toggleShowOptions(); }; - sortOppsBy = function(getElem) { - return angular.forEach($scope.selectedOpportunities, function(sElem) { - if (sElem.opps) { - return sElem.opps.sort(function(a, b) { - var res; - res = getElem(a) > getElem(b) ? 1 : getElem(a) < getElem(b) ? -1 : 0; - if (!$scope.ascending) { - res *= -1; - } - return res; - }); - } - }); + $scope.getTruncateValue = function() { + return parseInt($scope.truncateNo) || 20; }; - sortData = function() { - if ($scope.sortedColumn === 'group') { - return sortOppsBy(function(el) { - return el.name; - }); - } else if ($scope.sortedColumn === 'total') { - return sortOppsBy(function(el) { - return el.amount.amount; - }); + w = $scope.parentWidget; + setting = {}; + setting.key = "param-selector"; + setting.isInitialized = false; + setting.initialize = function() { + if (w.content != null) { + return setting.isInitialized = true; } }; - $scope.sort = function(col) { - if ($scope.sortedColumn === col) { - $scope.ascending = !$scope.ascending; - } else { - $scope.ascending = true; - $scope.sortedColumn = col; + setting.toMetadata = function() { + var param; + param = {}; + if (!_.isEmpty($scope.selected)) { + param[$scope.param] = $scope.selected.value; } - return sortData(); + return param; }; - $scope.updateRightView = function() { - $scope.selectedOpportunities = $scope.getSelectedOpportunities(); - $scope.collapsed = []; - return sortData(); + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); + }]); + + module.directive('settingParamSelector', ["$templateCache", function($templateCache) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + param: '@', + options: '=', + selected: '=', + truncateNo: '@', + onSelect: '&' + }, + link: function(scope, elements, attrs) { + scope.noReload = typeof attrs.noReload !== 'undefined'; + return scope.truncateNo = attrs.truncateNo || 20; + }, + template: function(elements, attrs) { + return $templateCache.get(attrs.classic ? 'widgets-settings/param-selector-classic.tmpl.html' : 'widgets-settings/param-selector.tmpl.html'); + }, + controller: 'SettingParamSelectorCtrl' }; - selectedStatusSetting = {}; - selectedStatusSetting.initialized = false; - selectedStatusSetting.initialize = function() { - if (!_.isEmpty(w.content) && angular.isDefined(w.content.opps_per_sales_stage[w.metadata.selected_status])) { - $scope.selectedStatus = w.metadata.selected_status; - } - selectedStatusSetting.initialized = true; - return $scope.updateRightView(); + }]); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets-settings.params-checkboxes', []); + + module.controller('SettingParamsCheckboxesCtrl', ["$scope", function($scope) { + var setting, w; + w = $scope.parentWidget; + setting = {}; + setting.key = "params-checkboxes"; + setting.initialize = function() {}; + setting.toMetadata = function() { + var param; + param = {}; + param[$scope.param] = _.map($scope.options, function(opt) { + return { + id: opt.id, + value: opt.value + }; + }); + return param; }; - selectedStatusSetting.toMetadata = function() { - return { - selected_status: $scope.selectedStatus + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); + }]); + + module.directive('settingParamsCheckboxes', ["$templateCache", function($templateCache) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + param: '@', + options: '=' + }, + template: $templateCache.get('widgets-settings/params-checkboxes.tmpl.html'), + controller: 'SettingParamsCheckboxesCtrl' + }; + }]); + +}).call(this); + +(function() { + var module; + + module = angular.module('impac.components.widgets-settings.params-picker', []); + + module.controller('SettingParamsPickerCtrl', ["$scope", function($scope) { + var setting, w; + w = $scope.parentWidget; + setting = {}; + setting.key = "params-picker"; + setting.isInitialized = false; + setting.initialize = function() { + $scope.sortableOptions = { + 'ui-floating': true, + tolerance: 'pointer' }; + $scope.applyToDashboard = w.metadata[$scope.param] && w.metadata[$scope.param].reach === 'dashboard'; + $scope.toggleReach = function() { + return setting.reach = $scope.applyToDashboard ? 'dashboard' : 'widget'; + }; + $scope.toggleReach(); + if (_.isEmpty($scope.options)) { + return setting.isInitialized = true; + } }; - w.settings.push(selectedStatusSetting); - w.format = function() { - var assignees, max; - if ($scope.isDataFound) { - max = 0; - assignees = getOrderedAssigneeIds($scope.assigneesOptions); - angular.forEach($scope.statusOptions, function(statusOption) { - var value; - value = getFilteredTotal(w.content.opps_per_sales_stage[statusOption.label].opps, assignees); - if (statusOption.selected && angular.isDefined(value) && value > max) { - return max = value; + setting.toMetadata = function() { + var param; + param = {}; + param[$scope.param] = { + values: _.compact(_.map($scope.options, function(statusOption) { + if (statusOption.selected) { + return statusOption.value || statusOption.label; } - }); - if (max > 0) { - return $scope.funnel = _.compact(_.map($scope.statusOptions, function(statusOption, index) { - var coloredWidth, statusWidth, value; - value = getFilteredTotal(w.content.opps_per_sales_stage[statusOption.label].opps, assignees); - coloredWidth = (100 * (value / max) - 10).toFixed(); - if (coloredWidth < 8) { - statusWidth = 92; - } else { - statusWidth = 100 - coloredWidth; - } - if (statusOption.selected && angular.isDefined(value) && value > 0) { - return { - status: statusOption.label, - number: value, - coloredWidth: { - width: coloredWidth + "%" - }, - statusWidth: { - width: statusWidth + "%" - } - }; - } - })); - } else { - return $scope.isDataFound = false; + })), + reach: setting.reach + }; + return param; + }; + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); + }]); + + module.directive('settingParamsPicker', ["$templateCache", "$translate", function($templateCache, $translate) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + param: '@', + options: '=', + hasReach: '=', + description: '@' + }, + link: function(scope, elements, attrs) { + var paramText; + paramText = $translate.instant('impac.widget.settings.params-picker.' + scope.param); + scope.formattedParam = _.includes(paramText, 'impac.widget.settings.params-picker') ? scope.param.replace(/_/g, ' ') : paramText; + if (scope.description == null) { + return scope.description = $translate.instant('impac.widget.settings.params-picker.description'); } - } + }, + template: $templateCache.get('widgets-settings/params-picker.tmpl.html'), + controller: 'SettingParamsPickerCtrl' }; - return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesOpportunitiesFunnel', function() { - return { - restrict: 'A', - controller: 'WidgetSalesOpportunitiesFunnelCtrl' - }; - }); - }).call(this); (function() { - var module, - indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + var module; - module = angular.module('impac.components.widgets.sales-performance', []); + module = angular.module('impac.components.widgets-settings.tag-filter', ['ngTagsInput']); - module.controller('WidgetSalesPerformanceCtrl', ["$scope", "$q", "$filter", "ChartFormatterSvc", "ImpacWidgetsSvc", function($scope, $q, $filter, ChartFormatterSvc, ImpacWidgetsSvc) { - var formatDate, getIdentifier, matchElementToSelectedElement, selectedElementsSetting, settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.paramsWinsPickerDeferred = $q.defer(); - $scope.paramsLostsPickerDeferred = $q.defer(); - $scope.timePeriodDeferred = $q.defer(); - $scope.widthDeferred = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.paramsWinsPickerDeferred, $scope.paramsLostsPickerDeferred, $scope.timePeriodDeferred, $scope.widthDeferred.promise, $scope.chartDeferred.promise]; - w.initContext = function() { - var foundElem, i, len, ref, sElemId; - $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.assignees); - if ($scope.isDataFound) { - if (!_.isEmpty(w.metadata.selectedElements)) { - $scope.selectedElements = []; - ref = w.metadata.selectedElements; - for (i = 0, len = ref.length; i < len; i++) { - sElemId = ref[i]; - foundElem = _.find(w.content.assignees, function(assignee) { - return getIdentifier(assignee) === sElemId; - }); - if (foundElem) { - $scope.selectedElements.push(foundElem); - } - } - } - $scope.hasReach = true; - $scope.closedWonOptions = _.compact(_.map(w.content.sales_stages.won, function(stage) { - return { - label: stage, - selected: true + module.directive('settingTagFilter', ["$templateCache", "$timeout", function($templateCache, $timeout) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=' + }, + template: $templateCache.get('widgets-settings/tag-filter.tmpl.html'), + link: function(scope) { + var filterToSettingTags, initiateAutoComplete, loadRules, setting, w; + w = scope.parentWidget; + setting = {}; + setting.key = "tag-filter"; + scope.settingsTags = []; + setting.initialize = function() { + return $timeout(function() { + loadRules(); + initiateAutoComplete(); + return true; + }); + }; + setting.toMetadata = function() { + var filterQuery, filterQueryRules; + filterQueryRules = []; + filterQuery = { + condition: 'OR', + rules: filterQueryRules }; - })); - angular.forEach(w.content.sales_stages.all, function(stage) { - if (!(indexOf.call(w.content.sales_stages.won, stage) >= 0)) { - return $scope.closedWonOptions.push({ - label: stage, - selected: false + angular.forEach(scope.settingsTags, function(settingsTag) { + var filterQueryCondition; + filterQueryCondition = { + condition: 'AND', + rules: [] + }; + angular.forEach(settingsTag.tags, function(filterItem) { + var ruletag; + ruletag = { + value: filterItem.value + }; + if (filterItem.name != null) { + ruletag.name = filterItem.name; + } + return filterQueryCondition.rules.push(ruletag); }); + if (settingsTag.tags.length !== 0) { + return filterQueryRules.push(filterQueryCondition); + } + }); + if (filterQuery.rules.length === 0) { + filterQuery = {}; } - }); - $scope.closedLostOptions = _.compact(_.map(w.content.sales_stages.lost, function(stage) { return { - label: stage, - selected: true + filter_query: filterQuery }; - })); - return angular.forEach(w.content.sales_stages.all, function(stage) { - if (!(indexOf.call(w.content.sales_stages.lost, stage) >= 0)) { - return $scope.closedLostOptions.push({ - label: stage, - selected: false - }); - } - }); - } - }; - w.processError = function(error) { - if (error.code === 404) { - return $scope.isDataFound = false; - } - }; - $scope.getChartTitle = function(el) { - if ($scope.selectedElements) { - return $scope.selectedElements.map(function(el) { - return el.name; - }).join(', '); - } - }; - $scope.getTotalWon = function(el) { - if ($scope.selectedElements) { - return $scope.selectedElements.reduce((function(t, e) { - return t + e.total_won; - }), 0); - } else { - return 0; - } - }; - formatDate = function(date) { - var period; - period = (w.metadata != null) && (w.metadata.hist_parameters != null) ? w.metadata.hist_parameters.period : null; - return $filter('momentDate')(date, period); - }; - $scope.getCloseDate = function(anOpp) { - var theDate; - if ((anOpp != null) && (anOpp.sales_stage_changes != null) && anOpp.sales_stage_changes.length > 0) { - theDate = anOpp.sales_stage_changes[anOpp.sales_stage_changes.length - 1].updated_at; - if (theDate.split(' ').length > 0) { - theDate = theDate.split(' ')[0]; - return formatDate(theDate); - } - } - }; - $scope.getForecastCloseDate = function(anOpp) { - var theDate; - if ((anOpp != null) && anOpp.expected_close_date) { - theDate = anOpp.expected_close_date; - if (theDate.split(' ').length > 0) { - theDate = theDate.split(' ')[0]; - return formatDate(theDate); - } - } - }; - $scope.getElementChartColor = function(index) { - return ChartFormatterSvc.getColor(index); - }; - $scope.no_sales_stages_selected = function() { - return w.content && w.content.sales_stages && w.content.sales_stages.won.length === 0 && w.content.sales_stages.lost.length === 0; - }; - $scope.toggleSelectedElement = function(element) { - var selectedElement; - if ($scope.isSelected(element)) { - $scope.selectedElements = _.reject($scope.selectedElements, function(sElem) { - return matchElementToSelectedElement(element, sElem); - }); - w.format(); - if (w.isExpanded() && $scope.selectedElements.length === 0) { - return w.toggleExpanded(); - } else { - return ImpacWidgetsSvc.updateWidgetSettings(w, false, true); - } - } else { - selectedElement = angular.copy(element); - $scope.selectedElements || ($scope.selectedElements = []); - $scope.selectedElements.push(selectedElement); - w.format(); - if (!w.isExpanded()) { - return w.toggleExpanded(); - } else { - return ImpacWidgetsSvc.updateWidgetSettings(w, false, true); - } - } - }; - $scope.isSelected = function(element) { - return (element != null) && _.any($scope.selectedElements, function(sElem) { - return matchElementToSelectedElement(element, sElem); - }); - }; - $scope.hasElements = function() { - return ($scope.selectedElements != null) && $scope.selectedElements.length > 0; - }; - $scope.getSelectLineColor = function(element) { - var sElem; - sElem = _.find($scope.selectedElements, function(sElem) { - return matchElementToSelectedElement(element, sElem); - }); - if ($scope.hasElements()) { - return ChartFormatterSvc.getColor(_.indexOf($scope.selectedElements, sElem)); - } - }; - matchElementToSelectedElement = function(element, sElem) { - return getIdentifier(element) === getIdentifier(sElem); - }; - getIdentifier = function(element) { - return element.id || element.name; - }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var all_values_are_positive, chartData, inputData, options; - if ($scope.isDataFound && ($scope.selectedElements != null) && $scope.selectedElements.length > 0) { - inputData = []; - all_values_are_positive = true; - angular.forEach($scope.selectedElements, function(sElem) { - var data, dates, period; - data = angular.copy(sElem); - period = null; - if ((w.metadata != null) && (w.metadata.hist_parameters != null)) { - period = w.metadata.hist_parameters.period; + }; + filterToSettingTags = function(filterQuery) { + var settingsTags; + if (_.isEmpty(filterQuery)) { + return; } - dates = _.map(w.content.dates, function(date) { - return $filter('momentDate')(date, period); - }); - inputData.push({ - title: data.name, - labels: dates, - values: data.totals + settingsTags = []; + angular.forEach(filterQuery.rules, function(filterQueryRule) { + var settingRule; + settingRule = { + operator: 'OR', + tags: [] + }; + angular.forEach(filterQueryRule.rules, function(filterQueryRuleCondition) { + var ruletag, tagtext; + tagtext = _.compact([filterQueryRuleCondition.name, filterQueryRuleCondition.value]).join(":"); + ruletag = { + value: filterQueryRuleCondition.value, + text: tagtext + }; + if (filterQueryRuleCondition.name != null) { + ruletag.name = filterQueryRuleCondition.name; + } + return settingRule.tags.push(ruletag); + }); + return settingsTags.push(settingRule); }); - return angular.forEach(data.totals, function(value) { - return all_values_are_positive && (all_values_are_positive = value >= 0); + return settingsTags; + }; + loadRules = function() { + if (_.isEmpty(w.metadata.filter_query)) { + return; + } + return scope.settingsTags = filterToSettingTags(w.metadata.filter_query); + }; + initiateAutoComplete = function() { + var autotags, org, tag_hash, tags; + tags = w.content.available_tags || []; + autotags = []; + for (org in tags) { + tag_hash = tags[org]; + angular.forEach(tag_hash.tag_references, function(tag_ref) { + return angular.forEach(tag_ref.tag_reference_values, function(tag) { + var ruletag, tagtext; + tagtext = _.compact([tag_ref.name, tag.value]).join(":"); + ruletag = { + text: tagtext, + value: tag.value + }; + if (tag_ref.name != null) { + ruletag.name = tag_ref.name; + } + return autotags.push(ruletag); + }); + }); + } + return scope.loadTagList = function(query) { + return _.filter(autotags, function(e) { + return e.text.toLowerCase().indexOf(query.toLowerCase()) > -1; + }); + }; + }; + scope.addRule = function() { + return scope.settingsTags.push({ + 'operator': 'OR', + 'tags': [] }); - }); - options = { - scaleBeginAtZero: all_values_are_positive, - showXLabels: true, - datasetFill: $scope.selectedElements.length === 1, - pointDot: $scope.selectedElements.length === 1 }; - chartData = ChartFormatterSvc.lineChart(inputData, options); - return $scope.drawTrigger.notify(chartData); + scope.delRule = function(index) { + return scope.settingsTags.splice(index, 1); + }; + w.settings.push(setting); + return scope.deferred.resolve(setting); } }; - selectedElementsSetting = { - initialized: false - }; - selectedElementsSetting.initialize = function() { - return selectedElementsSetting.initialized = true; - }; - selectedElementsSetting.toMetadata = function() { - var selectedElementsMetadata; - selectedElementsMetadata = _.map($scope.selectedElements, function(sElem) { - return getIdentifier(sElem); - }); - return { - selectedElements: selectedElementsMetadata - }; - }; - w.settings.push(selectedElementsSetting); - return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesPerformance', function() { - return { - restrict: 'A', - controller: 'WidgetSalesPerformanceCtrl' - }; - }); - }).call(this); (function() { var module; - module = angular.module('impac.components.widgets.sales-summary', []); + module = angular.module('impac.components.widgets-settings.time-period', []); - module.controller('WidgetSalesSummaryCtrl', ["$scope", "$q", "ChartFormatterSvc", "$translate", function($scope, $q, ChartFormatterSvc, $translate) { - var settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.chartFiltersDeferred = $q.defer(); - $scope.paramSelectorDeferred = $q.defer(); - $scope.datesPickerDeferred = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.chartFiltersDeferred.promise, $scope.paramSelectorDeferred.promise, $scope.datesPickerDeferred.promise, $scope.chartDeferred.promise]; - $scope.datesPickerTemplate = "" + $translate.instant('impac.widget.sales_summary.to') + " "; - w.initContext = function() { - $scope.isDataFound = !_.isEmpty(w.content) && !_.isEmpty(w.content.summary) && (_.sum(_.map(w.content.summary, function(s) { - return s.total; - })) > 0); - if ($scope.isDataFound) { - $scope.filterOptions = [ - { - label: $translate.instant('impac.widget.sales_summary.value_sold_taxes'), - value: 'gross_value_sold' - }, { - label: $translate.instant('impac.widget.sales_summary.value_sold_no_taxes'), - value: 'net_value_sold' - }, { - label: $translate.instant('impac.widget.sales_summary.quantity_sold'), - value: 'quantity_sold' - }, { - label: $translate.instant('impac.widget.sales_summary.value_purchased_taxes'), - value: 'gross_value_purchased' - }, { - label: $translate.instant('impac.widget.sales_summary.value_purchased_no_taxes'), - value: 'net_value_purchased' - }, { - label: $translate.instant('impac.widget.sales_summary.quantity_purchased'), - value: 'quantity_purchased' + module.directive('settingTimePeriod', ["$templateCache", "$q", "$log", "$timeout", "$filter", "ImpacTheming", "$translate", function($templateCache, $q, $log, $timeout, $filter, ImpacTheming, $translate) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + histParams: '=?', + hideChartInterval: '=?', + applyChangesCallback: '&?' + }, + template: $templateCache.get('widgets-settings/time-period.tmpl.html'), + link: function(scope) { + var getPeriod, getSetting, getUsedSettingKey, initPeriod, initUsedSetting, settingsPromises, updateFromDate, updateTimeRangePeriod, w; + w = scope.parentWidget; + scope.timePeriodSetting = { + key: "time-period", + settings: [], + isEditMode: true + }; + scope.timeSliderDeferred = $q.defer(); + scope.datesPickerDeferred = $q.defer(); + scope.timePresetsDeferred = $q.defer(); + settingsPromises = [scope.timeSliderDeferred.promise, scope.datesPickerDeferred.promise, scope.timePresetsDeferred.promise]; + scope.resetPreset = $q.defer(); + $translate(["impac.widget.settings.time_period.period.daily", "impac.widget.settings.time_period.period.weekly", "impac.widget.settings.time_period.period.monthly", "impac.widget.settings.time_period.period.quarterly", "impac.widget.settings.time_period.period.yearly", "impac.widget.settings.time_period.period.days", "impac.widget.settings.time_period.period.weeks", "impac.widget.settings.time_period.period.months", "impac.widget.settings.time_period.period.quarters", "impac.widget.settings.time_period.period.years"]).then(function(translations) { + return scope.periods = [ + { + label: translations["impac.widget.settings.time_period.period.daily"], + plural: "days", + value: "DAILY" + }, { + label: translations["impac.widget.settings.time_period.period.weekly"], + plural: "weeks", + value: "WEEKLY" + }, { + label: translations["impac.widget.settings.time_period.period.monthly"], + plural: "months", + value: "MONTHLY" + }, { + label: translations["impac.widget.settings.time_period.period.quarterly"], + plural: "quarters", + value: "QUARTERLY" + }, { + label: translations["impac.widget.settings.time_period.period.yearly"], + plural: "years", + value: "YEARLY" + } + ]; + }); + scope.maxNumberOfPeriods = 20; + if ((ImpacTheming.get().widgetSettings != null) && (ImpacTheming.get().widgetSettings.timePeriod != null) && !_.isEmpty(ImpacTheming.get().widgetSettings.timePeriod.presets)) { + scope.presets = angular.copy(ImpacTheming.get().widgetSettings.timePeriod.presets); + } + scope.applyPreset = function(histParams) { + initPeriod(histParams); + return initUsedSetting(histParams); + }; + scope.timePeriodSetting.initialize = function() { + return $timeout(function() { + initPeriod(); + getSetting('time-presets').initialize(); + return scope.showApplyButton = angular.isDefined(scope.applyChangesCallback); + }); + }; + scope.timePeriodSetting.toMetadata = function() { + var histParams, metadata, sourceSetting; + sourceSetting = getSetting(getUsedSettingKey()); + if (sourceSetting != null) { + histParams = sourceSetting.toMetadata().hist_parameters; + } + histParams.period = getPeriod(); + if ((scope.histParams != null) && (scope.histParams.mode != null)) { + histParams.mode = scope.histParams.mode; + } + metadata = { + hist_parameters: histParams + }; + return metadata; + }; + scope.titleize = function(word) { + if (word !== "FYEARLY") { + return "" + (word.slice(0, 1).toUpperCase()) + (word.slice(1).toLowerCase()); + } else { + return "Yearly (financial)"; + } + }; + getPeriod = function() { + if (scope.timePeriodSetting.period != null) { + return scope.timePeriodSetting.period; + } else { + return initPeriod(); + } + }; + scope.isTimeSliderUsed = function() { + return getUsedSettingKey() === 'time-slider'; + }; + scope.isDatesPickerUsed = function() { + return getUsedSettingKey() === 'dates-picker'; + }; + getUsedSettingKey = function() { + if (scope.usedSetting != null) { + return scope.usedSetting; + } else { + return initUsedSetting(); + } + }; + getSetting = function(key) { + return _.find(scope.timePeriodSetting.settings, function(set) { + return set.key === key; + }); + }; + initPeriod = function(histParams) { + if (histParams == null) { + histParams = null; + } + if (histParams == null) { + histParams = scope.histParams; + } + if ((histParams != null) && (histParams.period != null) && _.find(scope.periods, function(period) { + return period.value === histParams.period; + })) { + scope.timePeriodSetting.period = angular.copy(histParams.period); + } else { + scope.timePeriodSetting.period = "MONTHLY"; + } + return scope.timePeriodSetting.period; + }; + initUsedSetting = function(histParams) { + var minDate, newLetter, pattern, tr; + if (histParams == null) { + histParams = null; } - ]; - if (w.metadata.criteria === "customer") { - $scope.filterOptions = [$scope.filterOptions[0], $scope.filterOptions[1], $scope.filterOptions[2]]; - } - return $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { - return o.value === w.metadata.filter; - }) || $scope.filterOptions[0]); - } - }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var chartData, pieData, pieOptions; - if ($scope.isDataFound) { - pieData = _.map(w.content.summary, function(entity) { - var label; - if (entity.company) { - label = (entity.code || entity.name || entity.location || entity.industry || entity.customer) + " (" + entity.company + ")"; + if (histParams == null) { + histParams = scope.histParams; + } + if ((histParams != null) && (histParams.from != null)) { + scope.usedSetting = 'dates-picker'; + scope.toDate = histParams.to; + minDate = scope.getMinDate(scope.toDate); + if (moment(histParams.from, "YYYY-MM-DD").isBefore(minDate)) { + scope.fromDate = minDate; + } else { + scope.fromDate = histParams.from; + } + scope.keepToday = histParams.keep_today; + getSetting('dates-picker').initialize(); } else { - label = entity.code || entity.name || entity.location || entity.industry || entity.customer; + scope.usedSetting = 'time-slider'; + if ((histParams != null) && (histParams.time_range != null)) { + tr = histParams.time_range; + pattern = /([a-z])/; + newLetter = pattern.exec(tr)[1]; + scope.timePeriodSetting.period = angular.copy(_.find(scope.periods, function(p) { + return p.value.slice(0, 1).toLowerCase() === newLetter; + }).value); + scope.timePeriodSetting.timeRange = tr; + } + getSetting('time-slider').initialize(); } - return { - label: label, - value: entity.total - }; - }); - pieOptions = { - percentageInnerCutout: 50, - tooltipFontSize: 12 + return scope.usedSetting; }; - if ($scope.filter.value.indexOf('quantity') > -1) { - angular.merge(pieOptions, { - currency: 'hide' - }); - } - chartData = ChartFormatterSvc.pieChart(pieData, pieOptions); - return $scope.drawTrigger.notify(chartData); + scope.updateSettings = function() { + if (scope.usedSetting === 'time-slider') { + scope.resetPreset.notify('choose-period'); + } else if (scope.usedSetting === 'dates-picker') { + scope.resetPreset.notify('choose-dates'); + } + updateTimeRangePeriod(); + return updateFromDate(); + }; + updateTimeRangePeriod = function() { + var periodLetter, set, tr; + if (scope.isTimeSliderUsed()) { + set = getSetting('time-slider'); + tr = set.toMetadata().hist_parameters.time_range; + periodLetter = getPeriod().slice(0, 1).toLowerCase(); + scope.timePeriodSetting.timeRange = tr.replace(/[a-z]/, periodLetter); + set.initialize(); + } + return scope.timePeriodSetting.timeRange; + }; + updateFromDate = function() { + var fromDate, minDate, set, toDate; + if (scope.isDatesPickerUsed()) { + set = getSetting('dates-picker'); + fromDate = set.toMetadata().hist_parameters.from; + toDate = set.toMetadata().hist_parameters.to; + minDate = scope.getMinDate(); + if (moment(fromDate, "YYYY-MM-DD").isBefore(minDate)) { + scope.toDate = toDate; + scope.fromDate = minDate; + set.initialize(); + } + } + return scope.fromDate; + }; + scope.useTimeSlider = function() { + scope.usedSetting = 'time-slider'; + return scope.updateSettings(); + }; + scope.useDatesPicker = function() { + scope.usedSetting = 'dates-picker'; + return scope.updateSettings(); + }; + scope.getMinDate = function(toDate) { + var currentPeriod, periodWord, sourceSetting, to; + if (toDate == null) { + toDate = void 0; + } + to = moment(); + if (toDate != null) { + to = moment(toDate, "YYYY-MM-DD"); + } else if ((scope.usedSetting != null) && scope.isDatesPickerUsed()) { + sourceSetting = getSetting('dates-picker'); + to = moment(sourceSetting.toMetadata().hist_parameters.to, "YYYY-MM-DD"); + } + currentPeriod = getPeriod(); + periodWord = _.find(scope.periods, function(period) { + return currentPeriod === period.value; + }).plural; + return to.subtract(scope.maxNumberOfPeriods, periodWord); + }; + scope.formattedMinDate = function(toDate) { + if (toDate == null) { + toDate = void 0; + } + return $filter('momentDate')(scope.getMinDate(toDate), 'time-period'); + }; + w.settings.push(scope.timePeriodSetting); + return $q.all(settingsPromises).then(function() { + return scope.deferred.resolve(scope.timePeriodSetting); + }); } }; - return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesSummary', function() { - return { - restrict: 'A', - controller: 'WidgetSalesSummaryCtrl' - }; - }); - }).call(this); (function() { var module; - module = angular.module('impac.components.widgets.sales-segmented-turnover', []); + module = angular.module('impac.components.widgets-settings.time-presets', []); - module.controller('WidgetSalesSegmentedTurnoverCtrl', ["$scope", "$q", "$filter", "ChartFormatterSvc", "$translate", function($scope, $q, $filter, ChartFormatterSvc, $translate) { - var settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.timePeriodDeferred = $q.defer(); - $scope.widthDeferred = $q.defer(); - $scope.paramSelectorDeferred = $q.defer(); - $scope.chartDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.timePeriodDeferred.promise, $scope.widthDeferred.promise, $scope.paramSelectorDeferred.promise, $scope.chartDeferred.promise]; - w.initContext = function() { - if ($scope.isDataFound = !_.isEmpty(w.content) && !_.isEmpty(w.content.dates) && !_.isEmpty(w.content.ranges)) { - $scope.filterOptions = [ - { - label: $translate.instant('impac.widget.sales_turnover.gross_revenue'), - value: 'gross' - }, { - label: $translate.instant('impac.widget.sales_turnover.net_revenue'), - value: 'net' - } - ]; - $scope.filter = angular.copy(_.find($scope.filterOptions, function(o) { - return o.value === w.content.filter; - }) || $scope.filterOptions[0]); - if (w.content.ranges[0].percentage + w.content.ranges[1].percentage > 50) { - return $scope.analysisTranslate = $translate.instant('impac.widget.sales_turnover.analysis.least'); - } else if (w.content.ranges[3].percentage + w.content.ranges[4].percentage > 50) { - return $scope.analysisTranslate = $translate.instant('impac.widget.sales_turnover.analysis.most'); - } else { - return $scope.analysisTranslate = $translate.instant('impac.widget.sales_turnover.analysis.balanced'); + module.directive('settingTimePresets', ["$templateCache", "ImpacMainSvc", "$timeout", "ImpacUtilities", "ImpacTheming", "$translate", function($templateCache, ImpacMainSvc, $timeout, ImpacUtilities, ImpacTheming, $translate) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + presets: '=?', + onSelect: '&?', + onChooseDates: '&?', + onChoosePeriod: '&?', + histParams: '=?', + resetPromise: '=?' + }, + template: $templateCache.get('widgets-settings/time-presets.tmpl.html'), + link: function(scope) { + var fyEndMonth, initPreset, showSlider, w; + w = scope.parentWidget; + scope.setting = {}; + scope.setting.key = "time-presets"; + scope.financialYearEndMonth = 6; + fyEndMonth = scope.financialYearEndMonth; + ImpacMainSvc.load().then(function() { + return fyEndMonth = ImpacMainSvc.getFinancialYearEndMonth(); + })["finally"](function() { + var fyStartDate, prevFyEndDate, prevFyStartDate, toDate; + fyStartDate = ImpacUtilities.financialYearDates(fyEndMonth).start; + prevFyStartDate = moment(ImpacUtilities.financialYearDates(fyEndMonth).start, 'YYYY-MM-DD').subtract(1, 'year').format('YYYY-MM-DD'); + prevFyEndDate = moment(ImpacUtilities.financialYearDates(fyEndMonth).end, 'YYYY-MM-DD').subtract(1, 'year').format('YYYY-MM-DD'); + toDate = moment().format('YYYY-MM-DD'); + return $translate(['impac.common.period.preset_in_words.calendar_year_to_date', 'impac.common.period.preset_in_words.financial_year_to_date', 'impac.common.period.preset_in_words.previous_financial_year', 'impac.common.period.preset_in_words.last_6_months', 'impac.common.period.preset_in_words.last_4_quarters', 'impac.common.period.preset_in_words.last_4_weeks', 'impac.common.period.preset_in_words.choose_period', 'impac.common.period.preset_in_words.choose_dates']).then(function(translations) { + scope.presets || (scope.presets = [ + { + label: translations['impac.common.period.preset_in_words.calendar_year_to_date'], + value: { + from: moment().startOf('year').format('YYYY-MM-DD'), + to: toDate, + period: 'MONTHLY' + } + }, { + label: translations['impac.common.period.preset_in_words.financial_year_to_date'], + value: { + from: fyStartDate, + to: toDate, + period: 'MONTHLY' + } + }, { + label: translations['impac.common.period.preset_in_words.previous_financial_year'], + value: { + from: prevFyStartDate, + to: prevFyEndDate, + period: 'MONTHLY' + } + }, { + label: translations['impac.common.period.preset_in_words.last_6_months'], + value: { + time_range: '-6m', + to: toDate + } + }, { + label: translations['impac.common.period.preset_in_words.last_4_quarters'], + value: { + time_range: '-4q', + to: toDate + } + }, { + label: translations['impac.common.period.preset_in_words.last_4_weeks'], + value: { + time_range: '-4w', + to: toDate + } + } + ]); + if (angular.isDefined(scope.onChooseDates) && showSlider()) { + scope.presets.unshift({ + label: translations['impac.common.period.preset_in_words.choose_period'], + value: 'choose-period' + }); + } + if (angular.isDefined(scope.onChooseDates)) { + return scope.presets.unshift({ + label: translations['impac.common.period.preset_in_words.choose_dates'], + value: 'choose-dates' + }); + } + }); + }); + if (scope.resetPromise != null) { + scope.resetPromise.then(null, null, function(key) { + return scope.selectedPreset = _.find(scope.presets, function(p) { + return p.value === key; + }); + }); } - } - }; - $scope.getColorByIndex = function(index) { - return ChartFormatterSvc.getColor(index); - }; - $scope.getRangeLabel = function(aLabel, ISOmode) { - var prices; - if (ISOmode == null) { - ISOmode = false; - } - prices = aLabel.split('-'); - return _.map(prices, function(price) { - return $filter('mnoCurrency')(price, w.content.currency, ISOmode); - }).join(' - '); - }; - $scope.getMaxRange = function() { - var max, maxRange; - if ($scope.isDataFound) { - max = 0; - maxRange = w.content.ranges[0]; - angular.forEach(w.content.ranges, function(range) { - if (range.percentage > max) { - maxRange = angular.copy(range); + showSlider = function() { + return (ImpacTheming.get().widgetSettings != null) && (ImpacTheming.get().widgetSettings.timePeriod != null) && ImpacTheming.get().widgetSettings.timePeriod.showSlider; + }; + initPreset = function() { + if (scope.histParams != null) { + scope.selectedPreset = _.find(scope.presets, function(p) { + return _.every(p.value, function(v, k) { + return scope.histParams[k] === (angular.isFunction(v) ? v(fyEndMonth) : v); + }); + }); + if ((scope.selectedPreset == null) && (scope.histParams.time_range != null) && showSlider()) { + scope.selectedPreset = scope.presets[1]; + } + } + if (scope.selectedPreset == null) { + return scope.selectedPreset = scope.presets[0]; } - return max = Math.max(max, range.percentage); - }); - return maxRange; - } - }; - $scope.drawTrigger = $q.defer(); - w.format = function() { - var barData, barOptions, chartData; - if ($scope.isDataFound) { - barData = { - labels: _.map(w.content.ranges, function(elem) { - return $scope.getRangeLabel(elem.label, true); - }), - values: _.map(w.content.ranges, function(elem) { - return elem.value; - }) }; - barOptions = { - showTooltips: false, - showXLabels: false, - barDatasetSpacing: 15 + scope.presetSelected = function() { + if ((scope.selectedPreset != null) && (scope.selectedPreset.value === "choose-dates")) { + return scope.onChooseDates(); + } else if ((scope.selectedPreset != null) && (scope.selectedPreset.value === "choose-period")) { + return scope.onChoosePeriod(); + } else { + return scope.onSelect({ + histParams: scope.setting.toMetadata().hist_parameters + }); + } }; - chartData = ChartFormatterSvc.barChart(barData, barOptions); - return $scope.drawTrigger.notify(chartData); + scope.setting.initialize = function() { + initPreset(); + scope.presetSelected(); + return true; + }; + scope.setting.toMetadata = function() { + var result; + result = {}; + if (!_.isEmpty(scope.selectedPreset.value)) { + _.forEach(scope.selectedPreset.value, function(value, key) { + if (angular.isFunction(value)) { + return result[key] = value(fyEndMonth); + } else { + return result[key] = value; + } + }); + } + return { + hist_parameters: result + }; + }; + w.settings.push(scope.setting); + return scope.deferred.resolve(scope.setting); } }; - return $scope.widgetDeferred.resolve(settingsPromises); }]); - module.directive('widgetSalesSegmentedTurnover', function() { - return { - restrict: 'A', - controller: 'WidgetSalesSegmentedTurnoverCtrl' - }; - }); - }).call(this); (function() { var module; - module = angular.module('impac.components.widgets.sales-top-customers', []); + module = angular.module('impac.components.widgets-settings.time-slider', []); - module.controller('WidgetSalesTopCustomersCtrl', ["$scope", "$q", "$filter", "ImpacUtilities", "$translate", function($scope, $q, $filter, ImpacUtilities, $translate) { - var buildFxTotals, fields, settingsPromises, topTmpl, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - $scope.datesPickerDeferred = $q.defer(); - $scope.paramSelectorDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise, $scope.datesPickerDeferred.promise, $scope.paramSelectorDeferred.promise]; - topTmpl = $translate.instant('impac.widget.sales_top_customers.top'); - $scope.limitEntriesOptions = [ - { - label: topTmpl.replace(':number:', 5), - value: 5 - }, { - label: topTmpl.replace(':number:', 10), - value: 10 - }, { - label: topTmpl.replace(':number:', 25), - value: 25 - }, { - label: topTmpl.replace(':number:', 50), - value: 50 - }, { - label: topTmpl.replace(':number:', 100), - value: 100 - } - ]; - $scope.limitEntriesSelected = angular.copy(_.find($scope.limitEntriesOptions, function(o) { - return (w.metadata != null) && (o.value === w.metadata.limit_entries); - }) || $scope.limitEntriesOptions[3]); - $scope.headerOptions = [ - { - label: $translate.instant('impac.widget.sales_top_customers.total_sales'), - value: 'total_sales', - minified: 'total' - }, { - label: $translate.instant('impac.widget.sales_top_customers.transactions'), - value: 'transactions', - minified: '# tr' - }, { - label: $translate.instant('impac.widget.sales_top_customers.avg_sales'), - value: 'avg_sales', - minified: 'avg' - }, { - label: $translate.instant('impac.widget.sales_top_customers.last_sale'), - value: 'last_sale', - minified: 'last' - } - ]; - $scope.headerSelected = angular.copy(_.find($scope.headerOptions, function(o) { - return (w.metadata != null) && (w.metadata.header === o.value); - }) || $scope.headerOptions[0]); - w.initContext = function() { - var dates, datesRange; - if ($scope.isDataFound = !_.isEmpty(w.content) && !_.isEmpty(w.content.entities)) { - dates = _.flatten(_.map(w.content.entities, (function(e) { - return _.map(e.invoices, (function(i) { - return i.invoice_date; - })); - }))); - datesRange = ImpacUtilities.getDatesRange(dates); - $scope.defaultFrom = $filter('date')(datesRange[0], 'yyyy-MM-dd'); - $scope.defaultTo = $filter('date')(datesRange[1], 'yyyy-MM-dd'); - buildFxTotals(); - return $scope.ratesDate = moment.now(); - } - }; - fields = [ - { - label: 'total', - showCurrency: true, - getValue: function(entity) { - return entity.total_invoiced; - }, - getFormattedFxTotals: function(entity) { - return entity.formattedFxTotals; - } - }, { - label: '# tr', - showCurrency: false, - getValue: function(entity) { - return entity.invoices.length; - } - }, { - label: 'avg', - showCurrency: true, - getValue: function(entity) { - var total; - total = entity.invoices.length; - if (total > 0) { - return entity.total_invoiced / entity.invoices.length; + module.directive('settingTimeSlider', ["$templateCache", "$timeout", "ImpacMainSvc", "ImpacUtilities", "ImpacTheming", function($templateCache, $timeout, ImpacMainSvc, ImpacUtilities, ImpacTheming) { + return { + restrict: 'A', + scope: { + parentWidget: '=', + deferred: '=', + timeRange: '=?', + onUse: '&?' + }, + template: $templateCache.get('widgets-settings/time-slider.tmpl.html'), + link: function(scope) { + var PERIODS, getNumberOfPeriods, getPeriod, getPeriodWord, getTimeRange, initFinancialYearEndMonth, initNumberOfPeriods, initPeriod, setting, w; + w = scope.parentWidget; + setting = {}; + setting.key = "time-slider"; + PERIODS = ['d', 'w', 'm', 'q', 'y', 'f']; + setting.initialize = function() { + return $timeout(function() { + initNumberOfPeriods(); + initPeriod(); + initFinancialYearEndMonth(); + return true; + }); + }; + setting.toMetadata = function() { + var histParams; + histParams = { + to: scope.toDate().format('YYYY-MM-DD'), + time_range: getTimeRange() + }; + if (getPeriod() === 'f') { + histParams.from = scope.fromDate().format('YYYY-MM-DD'); + } + return { + hist_parameters: histParams + }; + }; + initNumberOfPeriods = function() { + var n, nPattern, tr; + tr = scope.timeRange; + scope.numberOfPeriods = moment().month(); + if (tr == null) { + return scope.numberOfPeriods; + } + nPattern = /^-?([0-9]{1,2})[a-z]?$/; + n = nPattern.exec(tr); + if ((n != null) && n[1] && parseInt(n[1])) { + scope.numberOfPeriods = parseInt(n[1]); + } + return scope.numberOfPeriods; + }; + initPeriod = function() { + var p, pPattern, period, tr; + tr = scope.timeRange; + scope.period = "m"; + if (tr == null) { + return "m"; + } + pPattern = /^-?[0-9]{0,2}([a-z])$/; + p = pPattern.exec(tr); + period = _.find(PERIODS, function(authPeriod) { + return (p != null) && (p[1] === authPeriod); + }); + if (period != null) { + scope.period = period; + } + return scope.period; + }; + initFinancialYearEndMonth = function() { + scope.financialYearEndMonth = 6; + return ImpacMainSvc.load().then(function(config) { + if ((config != null) && (config.currentOrganization != null) && parseInt(config.currentOrganization.financial_year_end_month)) { + return scope.financialYearEndMonth = parseInt(config.currentOrganization.financial_year_end_month); + } + }); + }; + getPeriod = function() { + if (scope.period != null) { + return scope.period; } else { - return 0; + return initPeriod(); } - } - }, { - label: 'last', - showCurrency: true, - getValue: function(entity) { - var total; - total = entity.invoices.length; - if (total > 0) { - return entity.invoices[entity.invoices.length - 1].invoiced; + }; + getPeriodWord = function() { + return ImpacUtilities.getPeriodWord(getPeriod()); + }; + getNumberOfPeriods = function() { + if (scope.numberOfPeriods != null) { + return scope.numberOfPeriods; } else { - return 0; + return initNumberOfPeriods(); } - } - } - ]; - $scope.getHeaderField = function() { - return _.find(fields, function(f) { - return f.label === $scope.headerSelected.minified; - }); - }; - $scope.getRemainingFields = function() { - return _.reject(fields, function(f) { - return f.label === $scope.headerSelected.minified; - }); - }; - $scope.getEntities = function() { - if (!$scope.isDataFound) { - return []; - } - return $filter('orderBy')(w.content.entities, (function(entity) { - return $scope.getHeaderField().getValue(entity); - }), true); - }; - buildFxTotals = function() { - var contact, contactFxTotals, j, len, ref, results; - ref = w.content.entities; - results = []; - for (j = 0, len = ref.length; j < len; j++) { - contact = ref[j]; - contactFxTotals = []; - _.mapKeys(contact.fx_totals, function(total, currency) { - if (currency !== w.metadata.currency) { - return contactFxTotals.push({ - currency: currency, - amount: total.invoiced, - rate: total.rate - }); + }; + getTimeRange = function() { + var n, p; + n = getNumberOfPeriods(); + p = getPeriod(); + return "-" + n + p; + }; + scope.formatPeriod = function() { + return ImpacUtilities.formatPeriod(getNumberOfPeriods(), getPeriod()); + }; + scope.fromDate = function() { + var financialYearStartYear, n, word; + n = getNumberOfPeriods(); + word = getPeriodWord(); + if (word.slice(0, 1) === "f") { + financialYearStartYear = moment().year() - 1; + if (moment().month() >= 6) { + financialYearStartYear = moment().year(); + } + financialYearStartYear = financialYearStartYear - n; + return moment(financialYearStartYear + "-" + (scope.financialYearEndMonth + 1) + "-01", "YYYY-M-DD"); + } else if (word.slice(0, 1) === "w") { + return moment().subtract(n, word).startOf('isoweek'); + } else { + return moment().subtract(n, word).startOf(word); } - }); - if (!_.isEmpty(contactFxTotals)) { - results.push(contact.formattedFxTotals = contactFxTotals); - } else { - results.push(void 0); - } - } - return results; - }; - return $scope.widgetDeferred.resolve(settingsPromises); - }]); - - module.directive('widgetSalesTopCustomers', function() { - return { - restrict: 'A', - controller: 'WidgetSalesTopCustomersCtrl', - link: function(scope) { - scope.transactionsCollapsed = false; - return scope.toggleTransactions = function() { - return scope.transactionsCollapsed = !scope.transactionsCollapsed; }; + scope.toDate = function() { + return moment(); + }; + w.settings.push(setting); + return scope.deferred.resolve(setting); } }; - }); + }]); }).call(this); (function() { var module; - module = angular.module('impac.components.widgets.sales-top-opportunities', []); + module = angular.module('impac.components.widgets-settings.width', []); - module.controller('WidgetSalesTopOpportunitiesCtrl', ["$scope", "$q", "ChartFormatterSvc", "$filter", "$translate", function($scope, $q, ChartFormatterSvc, $filter, $translate) { - var settingsPromises, w; - w = $scope.widget; - $scope.orgDeferred = $q.defer(); - settingsPromises = [$scope.orgDeferred.promise]; - w.initContext = function() { - return $scope.isDataFound = angular.isDefined(w.content) && !_.isEmpty(w.content.opportunities); - }; - w.processError = function(error) { - if (error.code === 404) { - return $scope.isDataFound = false; + module.controller('SettingWidthCtrl', ["$scope", "$element", "$timeout", "$log", "ImpacWidgetsSvc", "ImpacDashboardsSvc", function($scope, $element, $timeout, $log, ImpacWidgetsSvc, ImpacDashboardsSvc) { + var elem, hideOnResize, i, len, ref, setting, w; + w = $scope.parentWidget; + setting = {}; + setting.key = "width"; + setting.isInitialized = false; + ref = $element.parents(); + for (i = 0, len = ref.length; i < len; i++) { + elem = ref[i]; + if (angular.element(elem).hasClass('content')) { + $scope.contentElements = angular.element(elem).children(); + break; + } + } + hideOnResize = function(elements) { + var j, len1; + if (!(elements && elements.length > 0)) { + return; + } + for (j = 0, len1 = elements.length; j < len1; j++) { + elem = elements[j]; + angular.element(elem).animate({ + opacity: 0 + }, 0); } + return $timeout(function() { + var k, len2, results; + results = []; + for (k = 0, len2 = elements.length; k < len2; k++) { + elem = elements[k]; + results.push(angular.element(elem).animate({ + opacity: 1 + }, 200)); + } + return results; + }, 300); }; - $scope.getOppDetails = function(anOpp) { - var oppDetails; - oppDetails = []; - if (anOpp.amount) { - oppDetails.push($filter('mnoCurrency')(anOpp.amount.amount, anOpp.amount.currency || 'AUD')); + w.toggleExpanded = function(save) { + if (save == null) { + save = true; } - if (anOpp.probability) { - oppDetails.push($translate.instant('impac.widget.sales_opportunities.proba') + (" " + anOpp.probability + "%")); + $scope.expanded = !$scope.expanded; + if (save) { + ImpacWidgetsSvc.updateWidgetSettings(w, false, true); } - if (anOpp.sales_stage) { - oppDetails.push(anOpp.sales_stage); + hideOnResize($scope.contentElements); + if ($scope.expanded) { + return w.width = parseInt($scope.max); + } else { + return w.width = parseInt($scope.min); } - return oppDetails.join(' / '); }; - $scope.getOppClass = function(index) { - switch (index) { - case 0: - return 'first'; - case 1: - return 'second'; - case 2: - return 'second'; - default: - return ''; + w.isExpanded = function() { + return $scope.expanded; + }; + setting.initialize = function() { + if (w.width != null) { + $scope.expanded = w.width === parseInt($scope.max); + return setting.isInitialized = true; } }; - return $scope.widgetDeferred.resolve(settingsPromises); + setting.toMetadata = function() { + var newWidth; + if ($scope.expanded) { + newWidth = $scope.max; + } else { + newWidth = $scope.min; + } + return { + width: parseInt(newWidth) + }; + }; + ImpacDashboardsSvc.pdfModeEnabled().then(null, null, function() { + $scope.pdfMode = true; + $scope.initiallyExpanded = !!$scope.expanded; + if (!$scope.initiallyExpanded) { + return w.toggleExpanded(false); + } + }); + ImpacDashboardsSvc.pdfModeCanceled().then(null, null, function() { + $scope.pdfMode = false; + if (!$scope.initiallyExpanded) { + return w.toggleExpanded(false); + } + }); + w.settings.push(setting); + return $scope.deferred.resolve($scope.parentWidget); }]); - module.directive('widgetSalesTopOpportunities', function() { + module.directive('settingWidth', ["$templateCache", function($templateCache) { return { restrict: 'A', - controller: 'WidgetSalesTopOpportunitiesCtrl' + scope: { + parentWidget: '=', + deferred: '=', + min: '@', + max: '@' + }, + template: $templateCache.get('widgets-settings/width.tmpl.html'), + controller: 'SettingWidthCtrl' }; - }); + }]); }).call(this); diff --git a/dist/impac-angular.less b/dist/impac-angular.less index 7689e81f..035ee64e 100644 --- a/dist/impac-angular.less +++ b/dist/impac-angular.less @@ -2752,9 +2752,6 @@ dashboard-templates-selector { } } -.analytics .dashboard-settings.pdf-mode { -} - .analytics .dashboard-settings.sync-apps { .show-status { margin-right: 5px; @@ -2861,1543 +2858,1546 @@ dashboard-templates-selector { .fa.success { color: @flurogreen; } } -.analytics .widget-item .content.accounts-accounting-values { - // Nothing particular yet for this template... +.analytics .dashboard-settings.pdf-mode { } -.analytics .widget-item .content.accounts-assets-liability-summary { - .param-selector { - text-align: center; - } - .legend { - text-align: left; - max-height: 90px; - .title { - text-align: center; - border-bottom: dashed 1px @impac-widget-borders-color; - } - } -} +chart-threshold { -.analytics .widget-item .content.accounts-assets-summary { - .legend { - text-align: left; - max-height: 115px; + .attach-panel { + padding: 5px 0; + display: flex; + justify-content: center; + align-items: center; + background-color: rgba(20, 132, 228, 0.16); - .title { - text-align: center; - border-bottom: dashed 1px @impac-widget-borders-color; + > .attach-panel-text { + display: inline-block; + & > * { + display: inline-block; + } + } + + .panel-text-label { + text-transform: uppercase; + font-weight: bold; + color: @impac-widget-text-color; + font-size: 13px; + } + .panel-text-input { + border-radius: 3px; + border: 1px white; + padding: 3px; + } + .panel-text-currency { + font-weight: bold; + color: #000; } } -} -.analytics .widget-item .content.accounts-assets-vs-liabilities { - .legend > .title span { - margin-left: 3px; + .action-buttons { + display: inline-block; + padding: 0 10px; + button { + padding: 3px 6px; + display: inline-block; + &.loading { + padding: 3px 20px; + } + } } } -.analytics .widget-item .content.accounts-balance { - h3 { - .left-thin(30px); - text-align: center; +.currency-conversions { + img { + width: 15px; + cursor: pointer; } - .price { - .center-bold(0px); + &.popover .popover-title { + background-color: black; + color: white; } } -.analytics .widget-item .content.accounts-balance-sheet { - .tall-widget(); - .widget-lines-container { - .scrollable(scroll); - max-height: 490px; - @media (max-width: @screen-xs-max) { - .row.widget-line { - &:not(:last-child) { border-bottom: dashed 1px @impac-widget-borders-color; } - } - } - .row.widget-line.header > [class*='col-'] { position: static; } - - &.no-scroll { - overflow: visible; - } - } +.analytics .widget-item .editable-title { + width: 100%; + flex: 1; + overflow: hidden; + height: 22px; - .no-data-block { - .center-thin(); - margin: 15px 0px; + .title { + text-transform: @impac-widget-title-text-transform; + .font(@impac-widget-title-text-size,600,@impac-widget-title-text-color); + cursor: text; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + line-height: 1.9; } -} -.analytics .widget-item .content.accounts-cash-balance { - .tall-widget(); + .editable-wrap { + position: relative; + height: 20px; + min-width: 100%; + // otherwise, white-space is overriden in mno-enterprise + white-space: nowrap; - .data-container { - height: ~"calc(@{impac-big-widget-size} - 50px)"; - width: 100%; - } + .editable-controls { + min-width: 100%; - .left-panel { - width: 180px; - display: inline-block; - overflow: auto; - } + .editable-input { + height: 20px; + font-size: 12px; + text-transform: @impac-widget-title-text-transform; + // 65px is .editable-buttons width + width: ~"calc(100% - 65px)"; + padding: 0px 3px; + } - #cash-balance-legend { - .header { - .group-item { - display: flex; - align-items: center; - min-height: 45px; - margin: 3px; - font-size: 13px; - padding: 3px; - cursor: pointer; - user-select: none; - &:hover { - background-color: @impac-widget-menus-hover-background-color; - } - i { - font-size: 19px; - padding: 4px; - margin-top: 1px + .editable-buttons { + background-color: @impac-widget-title-bg; + button { + margin: 0px 0px 0px 5px; + height: 20px; + padding: 0px 5px; } - span { color: @impac-widget-text-color; } } } } +} - .legend-item-icon { - width: 16px; - height: 16px; - } +.analytics .widget-item .info-panel { + position: absolute; + top: 15px; + left: 15px; + width: ~"calc(100% - 30px)"; + max-height: ~"calc(100% - 30px)"; + height: 100%; + z-index: 100; - .right-panel { - width: ~"calc(100% - 180px)"; - float: right; + background-color: white; + border: dotted 1px #B7CDCE; - // Highchart container - .cash-balance-chart { - height: ~"calc(@{impac-big-widget-size} - 50px)"; - } - } + display: flex; + flex-direction: column; + font-family: "Lato Semibold", "Lato"; - .dates-picker { - display: inline-block; - float: right; - font-size: 12px; - } -} + z-index: 4; -.analytics .widget-item .content.accounts-cash-projection { - .tall-widget(); + &:hover { opacity: 1; } - .cash-projection-chart { - height: ~"calc(@{impac-big-widget-size} - 50px)"; + .i-header { + .fa { font-size: 18px; } + .fa-info-circle { float: left; } + .fa-times-circle { cursor: pointer; float: right; } + + background-color: #FFC928; + color: @impac-widget-reverse-color; + padding: 8px; + text-transform: uppercase; + font-family: "Lato Medium", "Lato"; + font-size: 12px; } - .highcharts-legend-item { - rect.highcharts-point { - display: none; - } + .i-content { + .scrollable(); + padding: 5px; + text-align: justify; + flex: 1; - span { - width: 110px; - text-align: center; - img { - text-align: center; - width: 55px; - height: 25px; + .row { + margin-bottom: 6px; + padding-bottom: 6px; + border-bottom: solid 1px @impac-dashboard-borders-color; + + &:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; } - } - } - .dates-picker { - display: inline-block; - float: right; - font-size: 12px; - } + .key { + @media (max-width: @screen-sm-max) { text-align: center; } + text-align: right; + font-variant: small-caps; + } - transactions-list { - font-size: 12px; + .value { text-align: justify; } + } } } -.analytics .widget-item .content.accounts-cash-summary { - .drill-down-widget(); - .right-panel .widget-lines-container { - max-height: 215px; - } - - .row.lines-group.cash { - border-top: solid 1px; - border-bottom: double; - } +.analytics .time-period-info { + font-size: 11px; + color: #ABC4C6; + text-transform: uppercase; } -.analytics .widget-item .content.accounts-comparison { - .tall-widget(); - - .chart-container { - @media print { max-width: 80% !important; } - } +.analytics .widget-item .top-line .top-buttons { + text-align: right; + margin-top: -1px; + white-space: nowrap; + padding-left: 10px; - .add-account { - position: absolute; - right: 40px; - bottom: 30px; - width: 160px; - select { - font-size: 13px; - background-color: @impac-widget-link-color; - color: @impac-widget-background-color; - outline: none; + .top-buttons-wrapper { + .top-button { + background: transparent; border: none; - cursor: pointer; - &[disabled] { - cursor: not-allowed; - background-color: lighten(@impac-widget-link-color,10%); - &:hover { - background-color: lighten(@impac-widget-link-color,10%); - } + color: @impac-widget-top-buttons-color; + padding: 0; + outline: none; + width: 17px; + + &:active, &:focus { box-shadow: none; } + + &.btn-info { + font-size: 17px; + margin-top: 1px; + &:hover { color: #FFC928; } } - &:hover { - background-color: darken(@impac-widget-link-color,10%); + &.btn-refresh { + font-size: 17px; + margin-top: 1px; + &:hover { color: @mblue; } } - option { - background-color: @impac-widget-background-color; - color: lighten(@impac-widget-text-color,40%); - &[disabled] { - color: @impac-widget-background-color; - } + &.btn-edit { + font-size: 13px; + &:hover, &.edit-mode { color: darken(@mgreen,10%); } + } + &.btn-close { + font-size: 13px; + &:hover { color: @pink; } } } } - button.close { - font-size: 15px; - } - .legend { - text-align: left; - max-height: 103px; - } - .row { - margin: 0; - } - .widget-lines-container { - font-size: 11px; - max-height: @impac-widget-accounts-comparison-lines-container-max-height; - margin-bottom: 65px; - overflow: auto; - } - - .settings.params-checkboxes { - margin-left: 13px; - } - - .comparable-error h5 { - margin-left: 13px; - color: @impac-negative; - } } -.analytics .widget-item .content.accounts-class-comparison { - .param-selector { - text-align: center; - } - .widget-lines-container { - max-height: 94px; - color: #626d6d; - } +.analytics .widget-item .content .settings.select-account { + padding: 0px 5px; } +.analytics .settings.accounting-behaviour { -.analytics .widget-item .content.accounts-detailed-classifications { - .tall-widget(); - .widget-lines-container { - .scrollable(scroll); - max-height: 540px; + .btn.btn-primary { + background-color: lighten(@impac-widget-link-color, 10%); + border: solid 1px @impac-widget-link-color; + &.focus, &.active { background-color: @impac-widget-link-color; } } - .account-class-title { - margin-bottom: 8px; - margin-left: 11px; - } +} - .time-period-info { - text-align: right; - } +.analytics .settings.attach-kpis { + .attach-kpi { + padding: 8px 5px; - .widget-line.header.sorting { - border-bottom: 1px solid #ccc; - } -} + form .row { + padding-bottom: 5px; + } + .attach-kpi-form { + background-color: white; + border: 1px solid #ddd; + padding: 5px; + } + form .row.kpi-description { + padding: 10px 2px; + span { + display: block; + font-weight: bold; + font-size: 13px; + } + } -.analytics .widget-item .content.accounts-expense-weight { - .legend { - text-align: left; - max-height: 115px; + form.attach-kpi-form { + input.attach-target { + background-color: white; + height: inherit; + } + } - .title { - text-align: center; + .error-messages { + color: @brand-danger; + width: 120px; } } -} -.analytics .widget-item .content.accounts-custom-calculation { - h3 { - margin-top: 85px; - text-align: center; - font-weight: bold; + .attached-kpis { + padding: 5px; } - .legend { max-height: 125px; } -} -.analytics.modal-custom-calculation { - margin: 0px; - padding: 0px; -} + .list-group-item.attached-kpi { + padding: 5px 10px; -.analytics.modal-custom-calculation .modal-body { - .edit { - .edit-panel-style(); - padding: 5px; - overflow: visible; - } -} + .attached-kpi-name { + overflow: hidden; + width: 75%; + display: inline-block; + white-space: nowrap; + text-overflow: ellipsis; + margin-top: 3px; + font-size: 13px; + font-weight: bold; + } -.analytics .widget-item .content.accounts-expenses-revenue { - .legend { - font-weight: bold; - } + .actions { + padding-top: 2px; + .alerts-config { + display: inline-block; + text-align: left; + padding-left: 4px; + height: 20px; + border-radius: 40px; + width: 21px; + color: @mblue; + background-color: white; + border: solid 1px @mblue; - .settings.params-checkboxes { - font-size: 12px; - margin-left: 0px; - text-align: center; + &:hover { cursor: pointer; } + } + .edit-attached-kpi { + display: inline-block; + i { + border-radius: 10px; + width: 21px; + color: @mblue; + background-color: white; + height: 20px; + padding: 3px 5px 5px 5px; + border: solid 1px @mblue; + &:hover { cursor: pointer; } + } + } + .remove-attached-kpi { + display: inline-block; + i { + border-radius: 10px; + width: 21px; + color: @brand-danger; + background-color: white; + height: 20px; + padding: 3px 5px 5px 5px; + border: solid 1px @brand-danger; + &:hover { cursor: pointer; } + } + } + } } } -.analytics .widget-item .content.accounts-payable-receivable { - h3 { - text-align: center; +.analytics .widget-item .content .settings.chart-filters { + .row { + margin: 0px; } - .legend { - font-weight: bold; - } - .payable { - margin-top: 15px; + input[type="radio"] { + margin: 0; + margin-right: 3px; + padding: 0; + width: 13px; + height: 13px; + vertical-align: middle; + position: relative; + top: -1px; + outline: none; } - .price { - .center-bold(0px); + input[type="range"] { + height: auto; + width: 100%; } } -.analytics .widget-item .content.accounts-profit-and-loss { - .drill-down-widget(); - .row.lines-group.profit { - border-top: solid 1px; - border-bottom: double; - } +.analytics .settings.dates-picker { + h5 { display: none; } - .right-panel .widget-lines-container { - max-height: 215px; + button.btn.btn-sm { + line-height: 1; + &.date-button { margin: 0px 5px; } + &.btn-danger { display: none; } + &.btn-info { border-radius: 3px; } } - .row.widget-line.header > [class*='col-'] { position: static; } + .tooltip-inner { text-transform: none; } + + .dropdown-menu > li > div > table { outline: none; } } -.analytics .widget-item .content.accounts-ratios { - - .left-panel { - max-height: 230px; - overflow-y: auto; +.analytics .widget-item .content .settings.hist-mode-choser { + max-height: 70px; - .separator { - border-bottom: solid 1px @impac-widget-text-color; - width: 75%; + [common-time-period-info] { + padding-bottom: 8px; + } + + .options { + width: 150px; + margin: auto; + padding-bottom: 8px; + border-bottom: solid 1px #e6e6e6; + .font(@impac-widget-hist-text-size,500,@impac-widget-hist-text-color); + a { + .font(@impac-widget-hist-text-size,500,@impac-widget-hist-text-color); + text-transform: @impac-widget-hist-text-transform; + &.active { + color: @impac-widget-link-color; + } } - .member { - padding-top: 20px; - padding-bottom: 20px; + } + .arrow-container { + width: 28px; + height: 28px; + position: relative; + top: -14px; + margin: auto; + &.right { + left: 46px; } - .member .price { - margin-top: 0px; - font-size: 18px; + &.left { + left: -30px; + } + .arrow-border { + border-top: 14px solid #e6e6e6; + border-left: 14px solid transparent; + border-right: 14px solid transparent; + width: 0px; + height: 0px; + } + .arrow { + border-top: 14px solid @impac-widget-background-color; + border-left: 14px solid transparent; + border-right: 14px solid transparent; + position: relative; + top: 12px; + width: 0px; + height: 0px; } - button { outline: none; } } +} - .left-panel.simulation { - .member { - padding-top: 5px; - .legend { display: none; } - .price { text-align: right; } +.analytics .settings.limit-entries { + color: @impac-widget-limit-entries-color; + text-transform: uppercase; + text-align: center; + border-bottom: dashed 1px #E6E6E6; + padding-bottom: 8px; + + a.option { + &.badge { + color: white; + background-color: @impac-widget-limit-entries-color; } - .separator { width: 100%; } } + } -.analytics .widget-item .content.hr-employee-details { - font-size: 12px; - .details-container { - padding: 0px; - max-height: none; - @media (min-width: @screen-md-min) { max-height: 200px; } - .scrollable(); +.analytics .settings.offsets { + .offset-value { + font-style: italic; + font-size: 13px; } - .right-panel { - .details-container { - @media (min-width: @screen-md-min) { max-height: 220px; } - } - .legend { - margin-bottom: 5px; + + .offset-value .fa-trash-o { + &:hover { + color: @brand-danger; + cursor: pointer; } + margin-left: 10px; } - .title { - text-align: center; - margin-bottom: 10px; - font-size: 14px; - } + + input { width: 75%; } + button { width: 30px; } } -.analytics .widget-item .content.hr-employees-list { - .legend { - margin-bottom: 9px; - } +.analytics .settings.organizations { .widget-lines-container { - text-align: center; .widget-line { - .alternate-bg(); - } - } - .edit { - .widget-lines-container { - text-align: left; + padding: 5px 10px 5px 18px; + .alternate-bg(#f3f4f4); + .fa { + float: right; + font-size: 20px; + cursor: pointer; + &.fa-toggle-on { + color: @impac-widget-link-color; + } + &.fa-toggle-off { + color: @impac-widget-text-color-medium; + } + } } } } -.analytics .widget-item .content.hr-leaves-balance{ - .employee-name { - text-align: center; - } - .balance { - .center-bold(0px); +.analytics .widget-item .content .settings.param-selector { + display: inline-block; + + &.classic { + width: 100%; + + select { + width: 100%; + height: 25px; + border: 1px solid #ccc; + text-transform: uppercase; + margin: 0px 0px 5px 0px; + } } - h3 { - margin-top: 33px; - text-align: center; + + a { + font-weight: normal; + color: @impac-widget-param-selector-color; + white-space: nowrap; } -} -.analytics .widget-item .content.hr-leaves-schedule{ - .fc-button { - height: 22px; - font-size: 12px; - color: @impac-widget-buttons-color; - background: white; - outline: none; - &:hover { + .options-container { + position: absolute; + background-color: white; + text-align: left; + min-width: 150px; + max-height: 200px; + z-index: 999; + overflow-y: auto; + overflow-x: hidden; + .box-shadow(rgb(0, 0, 0) 0px 3px 15px -3px); + + .param-selector-label { + padding: 3px 5px; + .font(inherit,500,black); + cursor: text; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + line-height: 1.9; + } + .param-selector-label:hover { + cursor: pointer; + background-color: @impac-widget-param-selector-color; color: white; - background: @impac-widget-buttons-color; } - } - .fc-toolbar { - margin-bottom: 5px; - } - .fc-day-grid,.fc-widget-header { - font-size: 12px; - color: @impac-widget-text-color; - } -} -.analytics .widget-item .content.hr-payroll-summary { - .drill-down-widget(); - .right-panel .widget-lines-container { - max-height: 145px; - } -} - -.analytics .widget-item .content.hr-payroll-taxes { - // Nothing special yet for this template -} -.analytics .widget-item { - .content.hr-salaries-summary { - .expandable-filterable-widget(); + + &::-webkit-scrollbar { + width: 8px; + background-color: darken(@lightgray,5%); + } + + &::-webkit-scrollbar-thumb { + background-color: @impac-widget-param-selector-color; + &:hover { + background-color: lighten(@impac-widget-param-selector-color,5%); + } + } } } -.analytics .widget-item .content.hr-superannuation-accruals { - h3 { - margin-top: 63px; - text-align: center; - } - .legend { - margin-top: 23px; +.analytics .settings.params-checkboxes { + padding: 2px 0px; + input { + margin: 0; + height: inherit; } - .currency { - font-size: 14px; + span { + margin-left: 5px; } - .price { - .center-bold(0px); + label { + display: flex; + justify-content: center; + line-height: 14px; } } -.analytics .widget-item .content.hr-timesheets { - .currency { - font-size: 14px; - } - .widget-lines-container { - max-height: 210px; + +.analytics .widget-item .content .settings.params-picker { + padding: 0px 10px; + .parameter { + margin: 0px 3px 3px 0px; + padding: 3px 5px; + background-color: @impac-widget-params-picker-bg; + color: white; + border: solid 1px @impac-widget-params-picker-bg; + border-radius: 4px; + cursor: move; + font-weight: bold; + white-space: nowrap; + float: left; + input[type="checkbox"] { + margin: 0px -3px 0px 3px; + vertical-align: middle; + height: inherit; + outline: none; + cursor: pointer; + } + .badge { + margin-right: 3px; + font-size: 10px; + background-color: darken(@impac-widget-background-color, 5%); + color: @impac-widget-params-picker-bg; + padding: 2px 6px; + } + + &.unchecked { + background-color: inherit; + font-weight: normal; + color: inherit; + border-color: @impac-widget-params-picker-unchecked-bg; + .badge { + background-color: @impac-widget-params-picker-unchecked-bg; + color: white; + } + } } } -.analytics .widget-item { - .content.hr-workforce-summary { - .expandable-filterable-widget(); +.analytics .settings.tag-filter { + padding: 0px 5px; + + .btn.btn-default { + height: 32px; + width: 30px; } -} -.analytics .widget-item .content.invoices-aged-payables-receivables { - .drill-down-widget(); + .tag-lines-container { + padding: 0px 10px; - .right-panel .widget-lines-container { - max-height: 215px; - } + .tag-line { + display: flex; + align-items: center; + justify-content: flex-end; - .row.astericks-info { - margin-top: 15px; - } + .tags-col { position: static; } - .currency-conversions { - float: right; - margin-left: 3px; + tags-input { + .tags { + display: flex; + border-radius: 4px; + border: solid 1px #ccc; + .tag-item { + background: #79a2bb; + border-radius: 4px; + color: white; + } + } + } + + .host { position: static; } + } } } -.analytics .widget-item .content.invoices-list { - .simple-list-widget(); +.analytics .settings.time-period { + padding: 0px 5px; - .currency-conversions { - float: right; - margin-right: 3px; - margin-top: -2px; + select { + height: 22px; + width: 100%; } + + & > .row { + margin: 0px -5px 7px -5px; + & > div { + padding: 0px 5px; + position: static; + } - .fa.fa-info-circle { - float: right; - font-size: 15px; + .sub-setting { padding: 5px; } } +} - .right-column { - padding-left: 0px; - padding-right: 0px; +.analytics .widget-item .content .settings.width { + float: right; + font-size: 14px; + i { + color: silver; + cursor: pointer; + &.reduce { + margin-right: -10px; + } + &.expand { + margin-right: -3px; + } } } - -.analytics .widget-item .content.invoices-summary { - .simple-summary-widget(); +.analytics .widget-item .content.accounts-accounting-values { + // Nothing particular yet for this template... } -.analytics .widget-item .content.sales-aged { - .tall-widget(); +.analytics .widget-item .content.accounts-assets-liability-summary { + .param-selector { + text-align: center; + } + .legend { + text-align: left; + max-height: 90px; - .widget-lines-container { - max-height: 238px; + .title { + text-align: center; + border-bottom: dashed 1px @impac-widget-borders-color; + } } } -.analytics .widget-item .content.sales-break-even { - .price { - .center-bold(0px); - } - .block { - margin: 5px; - padding: 0px 10px 5px 10px; +.analytics .widget-item .content.accounts-assets-summary { + .legend { text-align: left; - box-shadow: 0px 7px 10px -7px #17262d; - font-size: 12px; - form.editable-wrap .editable-controls input { - margin-top: 5px; - width: 100px; - } - &.to-date { - background-color: @impac-widget-sub-bg-color; - color: @impac-widget-text-color; - } - &.to-breakeven { - margin-top: 10px; - background-color: @impac-widget-sales-break-even-bg; - color: @impac-widget-sales-break-even-text-color; - .title { - border-bottom: solid 1px lighten(@impac-widget-sales-break-even-bg, 10%); - } - .define-text { - .center-thin(); - padding-top: 5px; - color: @impac-widget-sales-break-even-text-color; - } - .price { - color: @impac-widget-sales-break-even-text-color; - } - } + max-height: 115px; .title { - font-size: 13px; text-align: center; - font-variant: small-caps; - border-bottom: solid 1px @lightgray; - font-weight: 300; + border-bottom: dashed 1px @impac-widget-borders-color; } } } -.analytics .widget-item .content.sales-comparison { - .drill-down-widget(); - .widget-lines-container { - max-height: 530px; + +.analytics .widget-item .content.accounts-assets-vs-liabilities { + .legend > .title span { + margin-left: 3px; } - .right-panel .widget-lines-container { - max-height: 250px; +} + +.analytics .widget-item .content.accounts-balance { + h3 { + .left-thin(30px); + text-align: center; } - .currency-conversions { - img { margin-top: -2px; } + + .price { + .center-bold(0px); } } -.analytics .widget-item .content.sales-customer-details { - .loader { - font-size: 14px; - } - font-size: 12px; - .details-container { - padding: 0px; - @media (min-width: @screen-md-min) { max-height: 194px; } - overflow-y: auto; - overflow-x: hidden; - } - .right-panel { - .details-container { - @media (min-width: @screen-md-min) { max-height: 230px; } - } - .legend { - margin-bottom: 5px; - } - } - .row.title { - text-align: center; - margin-bottom: 10px; - font-size: 14px; +.analytics .widget-item .content.accounts-cash-balance { + .tall-widget(); + + .data-container { + height: ~"calc(@{impac-big-widget-size} - 50px)"; + width: 100%; } - .currency-conversions { - float: left; - margin-right: 3px; + .left-panel { + width: 180px; + display: inline-block; + overflow: auto; } -} -.analytics .widget-item .content.sales-cycle { - .simple-summary-widget(); -} -.analytics .widget-item .content.sales-forecast { - .tall-widget(); - .widget-lines-container { - max-height: 275px; - .widget-line.main { - .selectable(); + #cash-balance-legend { + .header { + .group-item { + display: flex; + align-items: center; + min-height: 45px; + margin: 3px; + font-size: 13px; + padding: 3px; + cursor: pointer; + user-select: none; + &:hover { + background-color: @impac-widget-menus-hover-background-color; + } + i { + font-size: 19px; + padding: 4px; + margin-top: 1px + } + span { color: @impac-widget-text-color; } + } } } -} -.analytics .widget-item .content.sales-growth { - .price { - .center-bold(0px); - } - .legend { - max-height: 49px; - font-size: 14px; - text-overflow: ellipsis; - white-space: nowrap; + .legend-item-icon { + width: 16px; + height: 16px; } -} -.analytics .widget-item .content.sales-leads-funnel { - .funnel-widget(); -} + .right-panel { + width: ~"calc(100% - 180px)"; + float: right; -.analytics .widget-item .content.sales-leads-list { - .simple-list-widget(); - .widget-lines-container { - .scrollable(scroll); + // Highchart container + .cash-balance-chart { + height: ~"calc(@{impac-big-widget-size} - 50px)"; + } + } + + .dates-picker { + display: inline-block; + float: right; + font-size: 12px; } } -.analytics .widget-item .content.sales-list { - .simple-list-widget(); + +.analytics .widget-item .content.accounts-balance-sheet { + .tall-widget(); .widget-lines-container { .scrollable(scroll); - max-height: 170px; + max-height: 490px; + @media (max-width: @screen-xs-max) { + .row.widget-line { + &:not(:last-child) { border-bottom: dashed 1px @impac-widget-borders-color; } + } + } + .row.widget-line.header > [class*='col-'] { position: static; } + &.no-scroll { overflow: visible; } } - .selector { - margin-bottom: 4px; - } - .currency-conversions { - img { margin-top: -2px; } - } -} -.analytics .widget-item .content.sales-margin { - // Nothing special yet for this template -} -.analytics .widget-item .content.sales-net-sales { - .value-container, .operator { - // float: left; - // text-align: center; - line-height: 85px; + .no-data-block { + .center-thin(); + margin: 15px 0px; } +} - // .value-container { - // width: 26%; - // } - - .value-container .title { - line-height: 20px; - font-size: 1.2em; - padding: 10px 0px; - } +.analytics .widget-item .content.accounts-cash-projection { + .tall-widget(); - .value-container .value-box { - font-size: 1.3em; - border-radius: 10px; - // border: solid 1px #E4E4E4; - // box-shadow: 1px 1px 1px #C5C5C5; - border-top: solid 1px #C4CACA; - border-bottom: solid 1px #C4CACA; - white-space: nowrap; + .cash-projection-chart { + height: ~"calc(@{impac-big-widget-size} - 50px)"; } - .operator { - // @media (min-width: @screen-md-min) { padding-top: 38px; } - padding-top: 38px; - // width: 10%; - font-size: 1.3em; - } + .highcharts-legend-item { + rect.highcharts-point { + display: none; + } - .values { - @media (min-width: @screen-md-min) { margin-top: 25px; } + span { + width: 110px; + text-align: center; + img { + text-align: center; + width: 55px; + height: 25px; + } + } } -} - -.analytics .widget-item .content.sales-new-vs-existing-customers { - .selector .selector-wrap { + .dates-picker { display: inline-block; - margin: 0 5px; - } - .chart-container { - margin-top: 15px; - } - - .legend { - margin-top: 5px; - font-weight: bold; - max-height: 77px !important; - - .row { margin: 0px -5px; &>div { padding: 0px 5px; }} - - .total { - color: #5B6667; - font-size: 14px; - } + float: right; + font-size: 12px; } -} -.analytics .widget-item .content.sales-number-of-leads { - .stats { - margin-top: 35px; - font-size: 18px; - .stat { - margin: 15px 0px 10px 0px; - border-bottom: solid 1px @lightgray; - span.title { - font-weight: bold; - } - span.nominal { - float: right; - text-align: right; - font-weight: 300; - } - span.variation { - float: right; - width: 50px; - text-align: right; - font-style: italic; - font-size: 14px; - font-weight: 300; - margin-top: 2px; - } - } + transactions-list { + font-size: 12px; } } -.analytics .widget-item .content.sales-opportunities-funnel { - .funnel-widget(); -} -.analytics .widget-item .content.sales-performance { +.analytics .widget-item .content.accounts-cash-summary { .drill-down-widget(); .right-panel .widget-lines-container { - max-height: 215px; - .widget-line.header { - .selectable(); - } + max-height: 215px; + } + + .row.lines-group.cash { + border-top: solid 1px; + border-bottom: double; } } -.analytics .widget-item .content.sales-segmented-turnover { - h3.right { - margin-top: 55px; +.analytics .widget-item .content.accounts-class-comparison { + .param-selector { text-align: center; } - .selector { - margin-bottom: 10px; - } - .analysis { - .center-bold(0px); - } .widget-lines-container { - max-height: 75px; - .widget-line { - font-size: 11px; - } + max-height: 94px; + color: #626d6d; } +} - .right-panel { - h3 { - margin: 15px 10px 5px 10px; - text-align: center; - } +.analytics .widget-item .content.accounts-comparison { + .tall-widget(); - .fa.fa-info-circle { float: left; } + .chart-container { + @media print { max-width: 80% !important; } } -} -.analytics .widget-item .content.sales-summary { - .simple-summary-widget(); - .selector { - margin-bottom: 5px; - } -} -.analytics .widget-item .content.sales-top-customers { - .selector { - border-bottom: dashed 1px #E6E6E6; - padding-bottom: 3px; - a { font-weight: normal; } - .param-selector { display: inline-block; } - } - .widget-lines-container { - max-height: 235px; - .widget-line.sub-line { background-color: @impac-widget-sub-bg-color; } - - // Will allow the params selectors to be displayed on top of the container (without being cut on the right) - .row > [class*='col-'] { position: static; } - } - .currency-conversions { - img { margin-top: -2px; } - } -} - -.analytics .widget-item .content.sales-top-opportunities { - .opps-container { - max-height: 195px; - margin-top: 10px; - padding-right: 10px; - .scrollable(); - .tile { - height: 40px; + .add-account { + position: absolute; + right: 40px; + bottom: 30px; + width: 160px; + select { font-size: 13px; - font-weight: 300; - .colored-area { - width: 10%; - text-align: center; - font-size: 20px; - } - .main-text { - color: @impac-widget-text-color; - padding: 3px 0px 0px 10px; - } - &.first { - height: 55px; - font-size: 15px; - font-weight: bold; - .colored-area { - font-size: 26px; - padding-top: 10px; - background-color: rgb(255, 110, 65); - } - .main-text { - padding-top: 8px; + background-color: @impac-widget-link-color; + color: @impac-widget-background-color; + outline: none; + border: none; + cursor: pointer; + &[disabled] { + cursor: not-allowed; + background-color: lighten(@impac-widget-link-color,10%); + &:hover { + background-color: lighten(@impac-widget-link-color,10%); } } - &.second { - height: 55px; - font-size: 15px; - font-weight: 500; - .colored-area { - font-size: 26px; - padding-top: 10px; - background-color: #1de9b6; - } - .main-text { - padding-top: 8px; + &:hover { + background-color: darken(@impac-widget-link-color,10%); + } + option { + background-color: @impac-widget-background-color; + color: lighten(@impac-widget-text-color,40%); + &[disabled] { + color: @impac-widget-background-color; } } } } -} -chart-threshold { + button.close { + font-size: 15px; + } + .legend { + text-align: left; + max-height: 103px; + } + .row { + margin: 0; + } + .widget-lines-container { + font-size: 11px; + max-height: @impac-widget-accounts-comparison-lines-container-max-height; + margin-bottom: 65px; + overflow: auto; + } - .attach-panel { - padding: 5px 0; - display: flex; - justify-content: center; - align-items: center; - background-color: rgba(20, 132, 228, 0.16); + .settings.params-checkboxes { + margin-left: 13px; + } - > .attach-panel-text { - display: inline-block; - & > * { - display: inline-block; - } - } + .comparable-error h5 { + margin-left: 13px; + color: @impac-negative; + } +} - .panel-text-label { - text-transform: uppercase; - font-weight: bold; - color: @impac-widget-text-color; - font-size: 13px; - } - .panel-text-input { - border-radius: 3px; - border: 1px white; - padding: 3px; - } - .panel-text-currency { - font-weight: bold; - color: #000; - } +.analytics .widget-item .content.accounts-custom-calculation { + h3 { + margin-top: 85px; + text-align: center; + font-weight: bold; } + .legend { max-height: 125px; } +} - .action-buttons { - display: inline-block; - padding: 0 10px; - button { - padding: 3px 6px; - display: inline-block; - &.loading { - padding: 3px 20px; - } - } +.analytics.modal-custom-calculation { + margin: 0px; + padding: 0px; +} + +.analytics.modal-custom-calculation .modal-body { + .edit { + .edit-panel-style(); + padding: 5px; + overflow: visible; } } -.currency-conversions { - img { - width: 15px; - cursor: pointer; +.analytics .widget-item .content.accounts-detailed-classifications { + .tall-widget(); + .widget-lines-container { + .scrollable(scroll); + max-height: 540px; } - &.popover .popover-title { - background-color: black; - color: white; + .account-class-title { + margin-bottom: 8px; + margin-left: 11px; } -} -.analytics .widget-item .editable-title { - width: 100%; - flex: 1; - overflow: hidden; - height: 22px; + .time-period-info { + text-align: right; + } - .title { - text-transform: @impac-widget-title-text-transform; - .font(@impac-widget-title-text-size,600,@impac-widget-title-text-color); - cursor: text; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - line-height: 1.9; + .widget-line.header.sorting { + border-bottom: 1px solid #ccc; } +} - .editable-wrap { - position: relative; - height: 20px; - min-width: 100%; - // otherwise, white-space is overriden in mno-enterprise - white-space: nowrap; - .editable-controls { - min-width: 100%; - .editable-input { - height: 20px; - font-size: 12px; - text-transform: @impac-widget-title-text-transform; - // 65px is .editable-buttons width - width: ~"calc(100% - 65px)"; - padding: 0px 3px; - } +.analytics .widget-item .content.accounts-expense-weight { + .legend { + text-align: left; + max-height: 115px; - .editable-buttons { - background-color: @impac-widget-title-bg; - button { - margin: 0px 0px 0px 5px; - height: 20px; - padding: 0px 5px; - } - } + .title { + text-align: center; } } } -.analytics .widget-item .info-panel { - position: absolute; - top: 15px; - left: 15px; - width: ~"calc(100% - 30px)"; - max-height: ~"calc(100% - 30px)"; - height: 100%; - z-index: 100; +.analytics .widget-item .content.accounts-expenses-revenue { + .legend { + font-weight: bold; + } - background-color: white; - border: dotted 1px #B7CDCE; + .settings.params-checkboxes { + font-size: 12px; + margin-left: 0px; + text-align: center; + } +} - display: flex; - flex-direction: column; - font-family: "Lato Semibold", "Lato"; - - z-index: 4; - - &:hover { opacity: 1; } - - .i-header { - .fa { font-size: 18px; } - .fa-info-circle { float: left; } - .fa-times-circle { cursor: pointer; float: right; } +.analytics .widget-item .content.accounts-payable-receivable { + h3 { + text-align: center; + } + .legend { + font-weight: bold; + } + .payable { + margin-top: 15px; + } + .price { + .center-bold(0px); + } +} +.analytics .widget-item .content.accounts-profit-and-loss { + .drill-down-widget(); - background-color: #FFC928; - color: @impac-widget-reverse-color; - padding: 8px; - text-transform: uppercase; - font-family: "Lato Medium", "Lato"; - font-size: 12px; + .row.lines-group.profit { + border-top: solid 1px; + border-bottom: double; } - .i-content { - .scrollable(); - padding: 5px; - text-align: justify; - flex: 1; + .right-panel .widget-lines-container { + max-height: 215px; + } - .row { - margin-bottom: 6px; - padding-bottom: 6px; - border-bottom: solid 1px @impac-dashboard-borders-color; + .row.widget-line.header > [class*='col-'] { position: static; } +} - &:last-child { - margin-bottom: 0; - padding-bottom: 0; - border-bottom: none; - } +.analytics .widget-item .content.accounts-ratios { + + .left-panel { + max-height: 230px; + overflow-y: auto; - .key { - @media (max-width: @screen-sm-max) { text-align: center; } - text-align: right; - font-variant: small-caps; - } + .separator { + border-bottom: solid 1px @impac-widget-text-color; + width: 75%; + } + .member { + padding-top: 20px; + padding-bottom: 20px; + } + .member .price { + margin-top: 0px; + font-size: 18px; + } + button { outline: none; } + } - .value { text-align: justify; } + .left-panel.simulation { + .member { + padding-top: 5px; + .legend { display: none; } + .price { text-align: right; } } + .separator { width: 100%; } } } -.analytics .time-period-info { - font-size: 11px; - color: #ABC4C6; - text-transform: uppercase; +.analytics .widget-item .content.hr-employee-details { + font-size: 12px; + .details-container { + padding: 0px; + max-height: none; + @media (min-width: @screen-md-min) { max-height: 200px; } + .scrollable(); + } + .right-panel { + .details-container { + @media (min-width: @screen-md-min) { max-height: 220px; } + } + .legend { + margin-bottom: 5px; + } + } + .title { + text-align: center; + margin-bottom: 10px; + font-size: 14px; + } } -.analytics .widget-item .top-line .top-buttons { - text-align: right; - margin-top: -1px; - white-space: nowrap; - padding-left: 10px; - - .top-buttons-wrapper { - .top-button { - background: transparent; - border: none; - color: @impac-widget-top-buttons-color; - padding: 0; - outline: none; - width: 17px; - - &:active, &:focus { box-shadow: none; } - - &.btn-info { - font-size: 17px; - margin-top: 1px; - &:hover { color: #FFC928; } - } - &.btn-refresh { - font-size: 17px; - margin-top: 1px; - &:hover { color: @mblue; } - } - &.btn-edit { - font-size: 13px; - &:hover, &.edit-mode { color: darken(@mgreen,10%); } - } - &.btn-close { - font-size: 13px; - &:hover { color: @pink; } - } +.analytics .widget-item .content.hr-employees-list { + .legend { + margin-bottom: 9px; + } + .widget-lines-container { + text-align: center; + .widget-line { + .alternate-bg(); + } + } + .edit { + .widget-lines-container { + text-align: left; } } } - -.analytics .widget-item .content .settings.select-account { - padding: 0px 5px; +.analytics .widget-item .content.hr-leaves-balance{ + .employee-name { + text-align: center; + } + .balance { + .center-bold(0px); + } + h3 { + margin-top: 33px; + text-align: center; + } +} +.analytics .widget-item .content.hr-leaves-schedule{ + .fc-button { + height: 22px; + font-size: 12px; + color: @impac-widget-buttons-color; + background: white; + outline: none; + &:hover { + color: white; + background: @impac-widget-buttons-color; + } + } + .fc-toolbar { + margin-bottom: 5px; + } + .fc-day-grid,.fc-widget-header { + font-size: 12px; + color: @impac-widget-text-color; + } +} +.analytics .widget-item .content.hr-payroll-summary { + .drill-down-widget(); + .right-panel .widget-lines-container { + max-height: 145px; + } } -.analytics .settings.accounting-behaviour { - .btn.btn-primary { - background-color: lighten(@impac-widget-link-color, 10%); - border: solid 1px @impac-widget-link-color; - &.focus, &.active { background-color: @impac-widget-link-color; } +.analytics .widget-item .content.hr-payroll-taxes { + // Nothing special yet for this template +} +.analytics .widget-item { + .content.hr-salaries-summary { + .expandable-filterable-widget(); } +} +.analytics .widget-item .content.hr-superannuation-accruals { + h3 { + margin-top: 63px; + text-align: center; + } + .legend { + margin-top: 23px; + } + .currency { + font-size: 14px; + } + .price { + .center-bold(0px); + } +} +.analytics .widget-item .content.hr-timesheets { + .currency { + font-size: 14px; + } + .widget-lines-container { + max-height: 210px; + } +} +.analytics .widget-item { + .content.hr-workforce-summary { + .expandable-filterable-widget(); + } } -.analytics .settings.attach-kpis { - .attach-kpi { - padding: 8px 5px; +.analytics .widget-item .content.invoices-aged-payables-receivables { + .drill-down-widget(); - form .row { - padding-bottom: 5px; - } + .right-panel .widget-lines-container { + max-height: 215px; + } - .attach-kpi-form { - background-color: white; - border: 1px solid #ddd; - padding: 5px; - } + .row.astericks-info { + margin-top: 15px; + } - form .row.kpi-description { - padding: 10px 2px; - span { - display: block; - font-weight: bold; - font-size: 13px; - } - } + .currency-conversions { + float: right; + margin-left: 3px; + } +} - form.attach-kpi-form { - input.attach-target { - background-color: white; - height: inherit; - } - } +.analytics .widget-item .content.invoices-list { + .simple-list-widget(); - .error-messages { - color: @brand-danger; - width: 120px; - } + .currency-conversions { + float: right; + margin-right: 3px; + margin-top: -2px; } - .attached-kpis { - padding: 5px; + .fa.fa-info-circle { + float: right; + font-size: 15px; } - .list-group-item.attached-kpi { - padding: 5px 10px; + .right-column { + padding-left: 0px; + padding-right: 0px; + } +} - .attached-kpi-name { - overflow: hidden; - width: 75%; - display: inline-block; - white-space: nowrap; - text-overflow: ellipsis; - margin-top: 3px; - font-size: 13px; - font-weight: bold; - } +.analytics .widget-item .content.invoices-summary { + .simple-summary-widget(); +} +.analytics .widget-item .content.sales-aged { + .tall-widget(); - .actions { - padding-top: 2px; - .alerts-config { - display: inline-block; - text-align: left; - padding-left: 4px; - height: 20px; - border-radius: 40px; - width: 21px; - color: @mblue; - background-color: white; - border: solid 1px @mblue; + .widget-lines-container { + max-height: 238px; + } +} - &:hover { cursor: pointer; } +.analytics .widget-item .content.sales-break-even { + .price { + .center-bold(0px); + } + .block { + margin: 5px; + padding: 0px 10px 5px 10px; + text-align: left; + box-shadow: 0px 7px 10px -7px #17262d; + font-size: 12px; + form.editable-wrap .editable-controls input { + margin-top: 5px; + width: 100px; + } + &.to-date { + background-color: @impac-widget-sub-bg-color; + color: @impac-widget-text-color; + } + &.to-breakeven { + margin-top: 10px; + background-color: @impac-widget-sales-break-even-bg; + color: @impac-widget-sales-break-even-text-color; + .title { + border-bottom: solid 1px lighten(@impac-widget-sales-break-even-bg, 10%); } - .edit-attached-kpi { - display: inline-block; - i { - border-radius: 10px; - width: 21px; - color: @mblue; - background-color: white; - height: 20px; - padding: 3px 5px 5px 5px; - border: solid 1px @mblue; - &:hover { cursor: pointer; } - } + .define-text { + .center-thin(); + padding-top: 5px; + color: @impac-widget-sales-break-even-text-color; } - .remove-attached-kpi { - display: inline-block; - i { - border-radius: 10px; - width: 21px; - color: @brand-danger; - background-color: white; - height: 20px; - padding: 3px 5px 5px 5px; - border: solid 1px @brand-danger; - &:hover { cursor: pointer; } - } + .price { + color: @impac-widget-sales-break-even-text-color; } } + + .title { + font-size: 13px; + text-align: center; + font-variant: small-caps; + border-bottom: solid 1px @lightgray; + font-weight: 300; + } } } - -.analytics .widget-item .content .settings.chart-filters { - .row { - margin: 0px; +.analytics .widget-item .content.sales-comparison { + .drill-down-widget(); + .widget-lines-container { + max-height: 530px; } - input[type="radio"] { - margin: 0; - margin-right: 3px; - padding: 0; - width: 13px; - height: 13px; - vertical-align: middle; - position: relative; - top: -1px; - outline: none; + .right-panel .widget-lines-container { + max-height: 250px; } - input[type="range"] { - height: auto; - width: 100%; + .currency-conversions { + img { margin-top: -2px; } } } -.analytics .settings.dates-picker { - h5 { display: none; } - - button.btn.btn-sm { - line-height: 1; - &.date-button { margin: 0px 5px; } - &.btn-danger { display: none; } - &.btn-info { border-radius: 3px; } - } - - .tooltip-inner { text-transform: none; } - - .dropdown-menu > li > div > table { outline: none; } +.analytics .widget-item .content.sales-cycle { + .simple-summary-widget(); } - -.analytics .widget-item .content .settings.hist-mode-choser { - max-height: 70px; - - [common-time-period-info] { - padding-bottom: 8px; +.analytics .widget-item .content.sales-customer-details { + .loader { + font-size: 14px; } - - .options { - width: 150px; - margin: auto; - padding-bottom: 8px; - border-bottom: solid 1px #e6e6e6; - .font(@impac-widget-hist-text-size,500,@impac-widget-hist-text-color); - a { - .font(@impac-widget-hist-text-size,500,@impac-widget-hist-text-color); - text-transform: @impac-widget-hist-text-transform; - &.active { - color: @impac-widget-link-color; - } - } + font-size: 12px; + .details-container { + padding: 0px; + @media (min-width: @screen-md-min) { max-height: 194px; } + overflow-y: auto; + overflow-x: hidden; } - .arrow-container { - width: 28px; - height: 28px; - position: relative; - top: -14px; - margin: auto; - &.right { - left: 46px; - } - &.left { - left: -30px; - } - .arrow-border { - border-top: 14px solid #e6e6e6; - border-left: 14px solid transparent; - border-right: 14px solid transparent; - width: 0px; - height: 0px; + .right-panel { + .details-container { + @media (min-width: @screen-md-min) { max-height: 230px; } } - .arrow { - border-top: 14px solid @impac-widget-background-color; - border-left: 14px solid transparent; - border-right: 14px solid transparent; - position: relative; - top: 12px; - width: 0px; - height: 0px; + .legend { + margin-bottom: 5px; } } -} + .row.title { + text-align: center; + margin-bottom: 10px; + font-size: 14px; + } -.analytics .settings.limit-entries { - color: @impac-widget-limit-entries-color; - text-transform: uppercase; - text-align: center; - border-bottom: dashed 1px #E6E6E6; - padding-bottom: 8px; + .currency-conversions { + float: left; + margin-right: 3px; + } +} - a.option { - &.badge { - color: white; - background-color: @impac-widget-limit-entries-color; +.analytics .widget-item .content.sales-forecast { + .tall-widget(); + .widget-lines-container { + max-height: 275px; + .widget-line.main { + .selectable(); } } - } -.analytics .settings.offsets { - .offset-value { - font-style: italic; - font-size: 13px; +.analytics .widget-item .content.sales-growth { + .price { + .center-bold(0px); } - - .offset-value .fa-trash-o { - &:hover { - color: @brand-danger; - cursor: pointer; - } - margin-left: 10px; + .legend { + max-height: 49px; + font-size: 14px; + text-overflow: ellipsis; + white-space: nowrap; } +} - input { width: 75%; } - button { width: 30px; } +.analytics .widget-item .content.sales-leads-funnel { + .funnel-widget(); } -.analytics .settings.organizations { +.analytics .widget-item .content.sales-leads-list { + .simple-list-widget(); .widget-lines-container { - .widget-line { - padding: 5px 10px 5px 18px; - .alternate-bg(#f3f4f4); - .fa { - float: right; - font-size: 20px; - cursor: pointer; - &.fa-toggle-on { - color: @impac-widget-link-color; - } - &.fa-toggle-off { - color: @impac-widget-text-color-medium; - } - } - } + .scrollable(scroll); } } -.analytics .widget-item .content .settings.param-selector { - display: inline-block; - - &.classic { - width: 100%; - - select { - width: 100%; - height: 25px; - border: 1px solid #ccc; - text-transform: uppercase; - margin: 0px 0px 5px 0px; +.analytics .widget-item .content.sales-list { + .simple-list-widget(); + .widget-lines-container { + .scrollable(scroll); + max-height: 170px; + &.no-scroll { + overflow: visible; } } + .selector { + margin-bottom: 4px; + } + .currency-conversions { + img { margin-top: -2px; } + } +} - a { - font-weight: normal; - color: @impac-widget-param-selector-color; - white-space: nowrap; +.analytics .widget-item .content.sales-margin { + // Nothing special yet for this template +} +.analytics .widget-item .content.sales-net-sales { + .value-container, .operator { + // float: left; + // text-align: center; + line-height: 85px; } - .options-container { - position: absolute; - background-color: white; - text-align: left; - min-width: 150px; - max-height: 200px; - z-index: 999; - overflow-y: auto; - overflow-x: hidden; - .box-shadow(rgb(0, 0, 0) 0px 3px 15px -3px); - .param-selector-label { - padding: 3px 5px; - .font(inherit,500,black); - cursor: text; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - line-height: 1.9; - } - .param-selector-label:hover { - cursor: pointer; - background-color: @impac-widget-param-selector-color; - color: white; - } + // .value-container { + // width: 26%; + // } - &::-webkit-scrollbar { - width: 8px; - background-color: darken(@lightgray,5%); - } + .value-container .title { + line-height: 20px; + font-size: 1.2em; + padding: 10px 0px; + } + + .value-container .value-box { + font-size: 1.3em; + border-radius: 10px; + // border: solid 1px #E4E4E4; + // box-shadow: 1px 1px 1px #C5C5C5; + border-top: solid 1px #C4CACA; + border-bottom: solid 1px #C4CACA; + white-space: nowrap; + } - &::-webkit-scrollbar-thumb { - background-color: @impac-widget-param-selector-color; - &:hover { - background-color: lighten(@impac-widget-param-selector-color,5%); - } - } + .operator { + // @media (min-width: @screen-md-min) { padding-top: 38px; } + padding-top: 38px; + // width: 10%; + font-size: 1.3em; } -} -.analytics .settings.params-checkboxes { - padding: 2px 0px; - input { - margin: 0; - height: inherit; + .values { + @media (min-width: @screen-md-min) { margin-top: 25px; } } - span { - margin-left: 5px; +} + +.analytics .widget-item .content.sales-new-vs-existing-customers { + + .selector .selector-wrap { + display: inline-block; + margin: 0 5px; } - label { - display: flex; - justify-content: center; - line-height: 14px; + .chart-container { + margin-top: 15px; } -} -.analytics .widget-item .content .settings.params-picker { - padding: 0px 10px; - .parameter { - margin: 0px 3px 3px 0px; - padding: 3px 5px; - background-color: @impac-widget-params-picker-bg; - color: white; - border: solid 1px @impac-widget-params-picker-bg; - border-radius: 4px; - cursor: move; + .legend { + margin-top: 5px; font-weight: bold; - white-space: nowrap; - float: left; - input[type="checkbox"] { - margin: 0px -3px 0px 3px; - vertical-align: middle; - height: inherit; - outline: none; - cursor: pointer; - } - .badge { - margin-right: 3px; - font-size: 10px; - background-color: darken(@impac-widget-background-color, 5%); - color: @impac-widget-params-picker-bg; - padding: 2px 6px; + max-height: 77px !important; + + .row { margin: 0px -5px; &>div { padding: 0px 5px; }} + + .total { + color: #5B6667; + font-size: 14px; } + } +} - &.unchecked { - background-color: inherit; - font-weight: normal; - color: inherit; - border-color: @impac-widget-params-picker-unchecked-bg; - .badge { - background-color: @impac-widget-params-picker-unchecked-bg; - color: white; +.analytics .widget-item .content.sales-number-of-leads { + .stats { + margin-top: 35px; + font-size: 18px; + .stat { + margin: 15px 0px 10px 0px; + border-bottom: solid 1px @lightgray; + span.title { + font-weight: bold; + } + span.nominal { + float: right; + text-align: right; + font-weight: 300; + } + span.variation { + float: right; + width: 50px; + text-align: right; + font-style: italic; + font-size: 14px; + font-weight: 300; + margin-top: 2px; } } } } -.analytics .settings.tag-filter { - padding: 0px 5px; +.analytics .widget-item .content.sales-opportunities-funnel { + .funnel-widget(); +} - .btn.btn-default { - height: 32px; - width: 30px; +.analytics .widget-item .content.sales-performance { + .drill-down-widget(); + .right-panel .widget-lines-container { + max-height: 215px; + .widget-line.header { + .selectable(); + } } +} - .tag-lines-container { - padding: 0px 10px; - - .tag-line { - display: flex; - align-items: center; - justify-content: flex-end; - - .tags-col { position: static; } - - tags-input { - .tags { - display: flex; - border-radius: 4px; - border: solid 1px #ccc; - .tag-item { - background: #79a2bb; - border-radius: 4px; - color: white; - } - } - } +.analytics .widget-item .content.sales-segmented-turnover { + h3.right { + margin-top: 55px; + text-align: center; + } + .selector { + margin-bottom: 10px; + } + .analysis { + .center-bold(0px); + } + .widget-lines-container { + max-height: 75px; + .widget-line { + font-size: 11px; + } + } - .host { position: static; } + .right-panel { + h3 { + margin: 15px 10px 5px 10px; + text-align: center; } + + .fa.fa-info-circle { float: left; } } } -.analytics .settings.time-period { - padding: 0px 5px; - - select { - height: 22px; - width: 100%; +.analytics .widget-item .content.sales-summary { + .simple-summary-widget(); + .selector { + margin-bottom: 5px; } - - & > .row { - margin: 0px -5px 7px -5px; - & > div { - padding: 0px 5px; - position: static; - } +} +.analytics .widget-item .content.sales-top-customers { + .selector { + border-bottom: dashed 1px #E6E6E6; + padding-bottom: 3px; + a { font-weight: normal; } + .param-selector { display: inline-block; } + } + .widget-lines-container { + max-height: 235px; + .widget-line.sub-line { background-color: @impac-widget-sub-bg-color; } - .sub-setting { padding: 5px; } + // Will allow the params selectors to be displayed on top of the container (without being cut on the right) + .row > [class*='col-'] { position: static; } + } + .currency-conversions { + img { margin-top: -2px; } } } -.analytics .widget-item .content .settings.width { - float: right; - font-size: 14px; - i { - color: silver; - cursor: pointer; - &.reduce { - margin-right: -10px; - } - &.expand { - margin-right: -3px; +.analytics .widget-item .content.sales-top-opportunities { + .opps-container { + max-height: 195px; + margin-top: 10px; + padding-right: 10px; + .scrollable(); + .tile { + height: 40px; + font-size: 13px; + font-weight: 300; + .colored-area { + width: 10%; + text-align: center; + font-size: 20px; + } + .main-text { + color: @impac-widget-text-color; + padding: 3px 0px 0px 10px; + } + &.first { + height: 55px; + font-size: 15px; + font-weight: bold; + .colored-area { + font-size: 26px; + padding-top: 10px; + background-color: rgb(255, 110, 65); + } + .main-text { + padding-top: 8px; + } + } + &.second { + height: 55px; + font-size: 15px; + font-weight: 500; + .colored-area { + font-size: 26px; + padding-top: 10px; + background-color: #1de9b6; + } + .main-text { + padding-top: 8px; + } + } } } } \ No newline at end of file diff --git a/dist/impac-angular.min.css b/dist/impac-angular.min.css index 46da5ec7..235694db 100644 --- a/dist/impac-angular.min.css +++ b/dist/impac-angular.min.css @@ -2,4 +2,4 @@ * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}hr,img{border:0}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.btn,.kpi-alerts-settings .modal-body ul>li.list-group-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.analytics .impac-kpi .kpi .top-line,.analytics kpis-bar>.kpis .actions .im-form-inline,.widget-item .top-line{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea,.analytics kpis-bar>.kpis .actions .im-form-group textarea{resize:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent;color:#00e5f0;text-decoration:none}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}.img-thumbnail,body{background-color:#fff}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}td,th{padding:0}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a:focus,a:hover{color:#009ca3;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#00e5f0}a.text-primary:focus,a.text-primary:hover{color:#00b4bd}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#00e5f0}a.bg-primary:focus,a.bg-primary:hover{background-color:#00b4bd}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{border-collapse:collapse;border-spacing:0}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}.input-sm{height:30px;line-height:1.5}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;line-height:1.5}.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;line-height:1.3333333}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;line-height:1.3333333}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#00e5f0;border-color:#00cdd7}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#00b4bd;border-color:#005357}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#00b4bd;border-color:#009299}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#009299;border-color:#005357}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#00e5f0;border-color:#00cdd7}.btn-primary .badge{color:#00e5f0;background-color:#fff}.btn-success{color:#fff;background-color:#00e5f0;border-color:#00cdd7}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#00b4bd;border-color:#005357}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#00b4bd;border-color:#009299}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#009299;border-color:#005357}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00e5f0;border-color:#00cdd7}.btn-success .badge{color:#00e5f0;background-color:#fff}.btn-info{color:#fff;background-color:#00e5f0;border-color:#00cdd7}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#00b4bd;border-color:#005357}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#00b4bd;border-color:#009299}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#009299;border-color:#005357}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#00e5f0;border-color:#00cdd7}.btn-info .badge{color:#00e5f0;background-color:#fff}.btn-warning{color:#fff;background-color:#977bf0;border-color:#8564ed}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#734deb;border-color:#3d15bd}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#734deb;border-color:#5a2de7}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#5a2de7;border-color:#3d15bd}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#977bf0;border-color:#8564ed}.btn-warning .badge{color:#977bf0;background-color:#fff}.btn-danger{color:#fff;background-color:#e01f74;border-color:#ca1c68}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#b3195d;border-color:#5a0c2e}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#b3195d;border-color:#94144d}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#94144d;border-color:#5a0c2e}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#e01f74;border-color:#ca1c68}.btn-danger .badge{color:#e01f74;background-color:#fff}.btn-link{color:#00e5f0;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#009ca3;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#00e5f0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#00e5f0}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#00e5f0}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.analytics pre,.carousel-inner,.embed-responsive,.media,.media-body,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#00e5f0;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#009ca3;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#00e5f0;border-color:#00e5f0;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}a.badge:focus,a.badge:hover,a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#00e5f0}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#00b4bd}.label-success{background-color:#00e5f0}.label-success[href]:focus,.label-success[href]:hover{background-color:#00b4bd}.label-info{background-color:#00e5f0}.label-info[href]:focus,.label-info[href]:hover{background-color:#00b4bd}.label-warning{background-color:#977bf0}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#734deb}.label-danger{background-color:#e01f74}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#b3195d}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#00e5f0;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#00e5f0}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar,.progress-bar-info,.progress-bar-success{background-color:#00e5f0}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#977bf0}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#e01f74}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#00e5f0;border-color:#00e5f0}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#bdfcff}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#00e5f0}.panel-primary>.panel-heading{color:#fff;background-color:#00e5f0;border-color:#00e5f0}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#00e5f0}.panel-primary>.panel-heading .badge{color:#00e5f0;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#00e5f0}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover{background-clip:padding-box}.modal{display:none;position:fixed;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-weight:400;text-align:left;text-align:start;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px;margin-bottom:-5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-weight:400;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.analytics h2,.analytics h3{font-size:14px;color:#5B6667}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.top-buffer-1{margin-top:15px}.top-buffer-2{margin-top:30px}.top-buffer-3{margin-top:45px}.top-buffer-4{margin-top:60px}.top-buffer-5{margin-top:75px}.top-buffer-6{margin-top:90px}.top-buffer-7{margin-top:105px}.top-buffer-8{margin-top:120px}.top-buffer-9{margin-top:135px}.top-buffer-10{margin-top:150px}body{height:101%!important}.analytics h2{margin-top:2px}.analytics h3{margin:0;font-weight:300;text-align:left}.analytics h4{color:#5B6667;font-size:16px}.analytics .green,.analytics .positive{color:green!important}.analytics .negative,.analytics .red{color:#ed1e79!important}.analytics .positive2{color:#3fc4ff!important}.analytics .negative2{color:#1de9b6!important}.analytics a{font-weight:700;color:#977bf0;cursor:pointer}.analytics .input-group{width:100%}.analytics select{margin-top:5px;background-color:#fff;height:32px}.analytics pre{font-size:12px;padding:0;margin:1px 0 8px;border:none;white-space:pre-wrap;word-wrap:break-word}.analytics .widget-item .content ::-webkit-scrollbar,.analytics kpis-bar .kpi ::-webkit-scrollbar{width:6px;background-color:transparent}.analytics .widget-item .content ::-webkit-scrollbar-thumb,.analytics kpis-bar .kpi ::-webkit-scrollbar-thumb{background-color:#6896b2;border-radius:10px}.analytics .widget-item .content ::-webkit-scrollbar-thumb:hover,.analytics kpis-bar .kpi ::-webkit-scrollbar-thumb:hover{background-color:#79a2bb}.analytics .nopadding{padding:0}.analytics .nomargin{margin:0}.analytics .btn.btn-shaded{background-color:#17262d;border:1px solid #0e181c;color:#626d6d;font-weight:400}.analytics .btn.btn-shaded:hover{color:#6e7a7a;background-color:#20343e}.analytics .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:30px}.analytics .currency{font-weight:300;font-size:16px;text-align:center;color:#9ba6a7}.analytics .legend{font-weight:300;font-size:12px;text-align:center;overflow-y:auto;overflow-x:hidden;color:#c4caca}.analytics .loader{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.analytics .loader i{color:#67BBE9}.analytics .loader p{margin-top:10px}.analytics .right-panel{border-left:solid 1px #e6e6e6}.analytics .selector{text-transform:uppercase;font-size:12px;color:#626d6d;text-align:center}.analytics .tile{background-color:#f7f7f7;box-shadow:0 7px 10px -7px #17262d;height:45px;margin-bottom:10px;white-space:nowrap;cursor:pointer}.analytics .tile:hover{background-color:#e2f2ff}.analytics .tile .colored-area{background-color:#3FC4FF;height:100%;float:right;color:#fff;text-align:right;padding:5px 10px;min-width:8%}.analytics .tile .colored-area.selected{background-color:#977bf0}.analytics .tile .main-text{color:#5B6667;padding:20px 0 0 5px;height:100%;font-style:italic;font-weight:700}.analytics .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:200px;text-align:left;font-size:12px;padding:0 15px}.analytics .widget-lines-container .row.widget-line{padding:5px;color:#626d6d}.analytics .widget-lines-container .row.widget-line.header{font-weight:500;font-size:12px;color:#9ba6a7;text-transform:uppercase}@media (max-width:767px){.analytics .widget-lines-container .row.widget-line{margin:inherit;margin-left:-3px;margin-right:-3px;padding:2px}.analytics .widget-lines-container .row.widget-line>[class*=col-]{padding-left:3px;padding-right:3px}}.analytics .widget-lines-container .row.widget-line i.fa{min-width:12px;min-height:12px}.analytics .widget-lines-container .row .dashed{border-bottom:dashed 1px #dfe2e2;padding-bottom:3px;margin-bottom:3px}.analytics .widget-lines-container .row.lines-group{border-top:solid 1px #e6edee}.vertical-scroll{overflow-y:scroll}.horizontal-scroll{overflow-x:scroll}.tooltip.impac-widgets-tooltip .tooltip-inner.ng-binding{text-align:left;background-color:#232528;max-width:100%;white-space:nowrap}.tooltip.impac-widgets-tooltip .tooltip-inner.ng-binding strong{color:#dae173}.sortable-title{cursor:pointer}.sortable-title div{display:inline-block}.has-error .form-control,.has-error .form-control:focus{border-color:#e01f74}.has-success .form-control,.has-success .form-control:focus{border-color:#00e5f0}.row.no-gutters{margin-right:0;margin-left:0}[class*=" col-"].no-gutters,[class^=col-].no-gutters{padding-right:0;padding-left:0}@media print{body{background-color:#fff!important}.analytics{padding-top:0!important}.analytics #module__dashboard-selector .title-container{margin-top:20px}.analytics .widget-item{page-break-inside:avoid}.analytics .widget-item .content .chart-container{max-width:270px;margin:auto}.analytics .widget-item .content .chart-container canvas{width:100%!important;height:100%!important}.analytics .widget-item .right-panel{page-break-inside:avoid;border-left:0}.analytics .widget-item .right-panel .chart-container{max-width:inherit;max-height:inherit}.analytics .widget-item .right-panel .chart-container canvas{width:80%!important;height:80%!important}*{-webkit-transition:none!important;transition:none!important}}.kpi-alerts-settings .modal-header{font-size:20px}.kpi-alerts-settings .modal-body{line-height:2}.kpi-alerts-settings .modal-body ul{margin-top:10px}.kpi-alerts-settings .modal-body ul>li.list-group-item{list-style:none;padding:6px 15px;color:#9ba6a7;user-select:none}.kpi-alerts-settings .modal-body ul>li.list-group-item .alert-toggle:hover{cursor:pointer}.kpi-alerts-settings .modal-body ul>li.list-group-item.active{color:#358fdc;font-weight:700;background-color:transparent;border-color:#c4caca}.kpi-alerts-settings .modal-body .fa.fa-toggle-off,.kpi-alerts-settings .modal-body .fa.fa-toggle-on{font-size:17px;margin-right:8px}.kpi-alerts-settings .modal-body ul.recipients-list{height:75px;overflow:hidden;overflow-y:scroll;border:1px solid #c4caca}.kpi-alerts-settings .modal-body ul.recipients-list li{border:none}.kpi-alerts-settings .modal-body input.recipient-search{color:#000;width:100%}.kpi-alerts-settings .modal-body ul.available{margin-top:0}.analytics{padding-top:50px;margin-left:100px}@media screen and (max-width:992px){.analytics{padding-top:150px}}.analytics.pdf-mode{padding-top:20px}.analytics.show-dhb{-webkit-transition:opacity 1s;transition:opacity 1s;opacity:1}.analytics.hide-dhb{opacity:0}.analytics #dashboard-heading img{float:left;margin-right:15px;max-width:200px;max-height:150px}.analytics #dashboard-heading img.pdf-mode:hover{cursor:pointer}.analytics #dashboard-heading .caption{font-size:14px;margin:5px 0}.analytics #sub-menu{margin-top:15px}.analytics #sub-menu h3{font-size:26px;font-weight:400;margin-bottom:10px;color:#233845}.analytics #sub-menu .fa.fa-times{margin:6px;color:#3d6178;cursor:pointer;float:right}.analytics #widget-selector{background-color:#233845;color:#fff;padding:0 45px 10px;margin:10px -45px;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}@media (max-width:767px){.analytics #widget-selector{padding:0 15px 10px;margin:0}}.analytics #widget-selector .title{padding:15px 0;border-bottom:solid 1px #2d4859;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.analytics #widget-selector .title p.instruction{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0}@media screen and (max-width:768px){.analytics #widget-selector .title p.instruction{width:50%;font-size:13px}}.analytics #widget-selector .title .widget-added.badge{margin-right:10px;opacity:0}.analytics #widget-selector .title .fa.close-selector{float:right;cursor:pointer;font-size:20px;padding:6px}.analytics #widget-selector .title .fa.close-selector:hover{color:#999}.analytics #widget-selector .top-container{margin:15px 0;background-color:transparent;border-radius:3px}.analytics #widget-selector .section-header{padding:10px 20px;font-weight:700;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.analytics #widget-selector .section-lines{overflow-x:hidden;overflow-y:auto;height:200px;margin-right:-10px;margin-left:0}.analytics #widget-selector .section-lines p{padding:5px;margin:0;cursor:pointer}.analytics #widget-selector .section-lines p.selected,.analytics #widget-selector .section-lines p:hover{color:#fff}.analytics #widget-selector .section-lines::-webkit-scrollbar{width:6px;background-color:transparent}.analytics #widget-selector .section-lines::-webkit-scrollbar-thumb{background-color:#28404f;border-radius:10px}.analytics #widget-selector .section-lines::-webkit-scrollbar-thumb:hover{background-color:#2d4859}.analytics #widget-selector .categories-section{background-color:#192831;padding-bottom:15px}.analytics #widget-selector .categories-section>.section-lines>[class*=col-]:first-child{padding:3px 12px}.analytics #widget-selector .categories-section>.section-lines .line-item:hover{background-color:#1e303b}.analytics #widget-selector .categories-section>.section-lines .line-item.selected{background-color:#977bf0;font-weight:700;box-shadow:-2px 2px 10px -4px #000}.analytics #widget-selector .categories-section .arrow-icon{position:absolute;top:33px;right:-11px;z-index:1}.analytics #widget-selector .categories-section .arrow-icon .square{width:50px;height:30px;position:absolute;top:10px;right:17px;background-color:#977bf0}.analytics #widget-selector .categories-section .arrow-icon i.fa.fa-caret-right{font-size:52px;color:#977bf0;float:right;position:absolute;top:-1.5px;right:0}.analytics #widget-selector .widgets-section{background-color:#1e303b;padding-bottom:15px}.analytics #widget-selector .widgets-section>.section-header{text-transform:uppercase;font-size:12px;color:#977bf0}.analytics #widget-selector .widgets-section>.section-lines{padding:3px 0}.analytics #widget-selector .widgets-section>.section-lines .fa.fa-plus-circle{float:right;margin-top:3px}.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;height:0%}.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid>.grid-item{padding:0 13px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex:0 31.33%;flex:0 31.33%;margin:0 1%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:solid 1px #233845;min-height:0}@media screen and (max-width:992px){.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid>.grid-item{-webkit-box-flex:0;-ms-flex:0 100%;flex:0 100%}}.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid>.grid-item:hover{background-color:#192831;font-weight:400}.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid>.grid-item p.line-item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.analytics #widget-selector .bottom{height:20px}.analytics #widget-selector .bottom>.suggestion{float:right;opacity:.7}.analytics #widget-selector .bottom>.suggestion a{cursor:pointer}.analytics #widget-selector .bottom>.suggestion a:hover{color:#00e5f0}.analytics #widget-selector .bottom>.suggestion:hover{opacity:1}.analytics #dashboard-settings-panel{position:relative;margin-top:5px}.analytics #dashboard-settings-panel>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.analytics #dashboard-settings-panel>div>*{margin:0 3px}.analytics #dashboard-settings-panel select{margin:0;height:34px;padding-top:1px}.analytics #no-widgets-container{position:relative;min-height:150px}.analytics #no-widgets-container img.bg{left:0;top:0;min-width:100%;min-height:100%}.analytics #no-widgets-container .impac-info-message{position:absolute;top:0;width:100%}.analytics #no-widgets-container .impac-info-message .info-text{font-size:25px;font-weight:300;padding:20px;min-height:115px;color:#fff;border-radius:10px;background-color:rgba(23,38,45,.7)}.analytics #widgets-section #widgets-container{min-height:700px}.analytics #widgets-section .placeHolderBox{margin:12px;height:267px;width:300px;float:left;border:2px dashed #abc4c6;background:0 0}.analytics.load-failed p{font-size:22px}.analytics.load-failed .second-msg p{color:#e01f74;font-size:14px}.tooltip.impac-widget-selector-tooltip .tooltip-inner.ng-binding{font-size:14px}.dhb-create-modal .dashboard-form .col-sm-2.control-label{text-align:left}.impac-widget-suggestion .modal-body input,.impac-widget-suggestion .modal-body textarea{width:100%;color:#000}.impac-widget-suggestion .modal-body textarea{height:150px}.impac-widget-suggestion .modal-body .thanks-message{color:#dae173}.modal-footer .loader{color:#fff}#module__dashboard-selector a{font-weight:400}#module__dashboard-selector>div:first-child{border-bottom:1px solid #abc4c6}#module__dashboard-selector .buttons-bar-row{margin-top:54px}#module__dashboard-selector .buttons-bar-row.pdf-mode{margin-top:0}#module__dashboard-selector .buttons-bar{padding:0;position:relative}#module__dashboard-selector .buttons-bar .btn{float:right;margin:3px;border-radius:4px}#module__dashboard-selector .buttons-bar .title-container h1{margin:0;color:#000;cursor:auto}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-title{color:#977bf0;display:inline;cursor:pointer}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-title:hover{color:#734deb}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-title i.fa.fa-pencil{margin-left:20px;font-size:14px}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-title i.fa.fa-pencil:hover{color:#dae173}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select{margin:5px 0 10px 30px;height:auto;border-left:1px solid #977bf0;border-bottom:1px solid #977bf0;width:300px;background-color:#e6edee;cursor:pointer}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option{color:#17262d;white-space:nowrap}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option:hover{background-color:#fff}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option.create{background-color:#977bf0;color:#fff;height:30px;padding:5px 10px}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option.create:hover{background-color:#734deb}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option i.fa.fa-pencil{float:right;padding-top:7px;text-align:center;width:15%;height:30px}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option i.fa.fa-pencil:hover{color:#734deb}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option span.name{width:85%;height:30px;display:inline-block;padding:5px 10px}#module__dashboard-selector .buttons-bar .dropdown-container .change-name{position:absolute;top:30px;left:20px;width:60%;background-color:#17262d;color:#fff;padding:10px;border-radius:4px;text-align:center;box-shadow:0 0 25px 4px #000;z-index:50;border:1px solid #fff}#module__dashboard-selector .buttons-bar .dropdown-container .change-name .form-control{height:25px;margin-bottom:10px}#module__dashboard-selector .buttons-bar .dropdown-container .data-source-label{color:#17262d;padding-left:3px;margin:0}#module__dashboard-selector .buttons-bar .loader-container{padding-left:10px}#module__dashboard-selector .buttons-bar .loader-container .loading-spinner{color:#67BBE9;font-size:40px}#module__dashboard-selector .nav-tabs{border-bottom:0}#module__dashboard-selector .nav.nav-pills li:last-child>a,#module__dashboard-selector .nav.nav-tabs li:last-child>a{padding-right:15px}#module__dashboard-selector .nav.nav-pills li:last-child>a tab-heading a,#module__dashboard-selector .nav.nav-tabs li:last-child>a tab-heading a{position:static}#module__dashboard-selector .nav.nav-tabs li>a{padding:10px 8px 10px 15px;margin:0 2px 0 0;background-color:transparent;border:1px solid #abc4c6;color:#000}#module__dashboard-selector .nav.nav-tabs li.active>a{background-color:#fff;color:#977bf0}#module__dashboard-selector .nav.nav-tabs li:last-child.active>a{background-color:transparent}#module__dashboard-selector .nav.nav-pills li>a{min-width:0;padding-right:8px}#module__dashboard-selector .nav.nav-pills li:last-child tab-heading a{margin-left:2px}#module__dashboard-selector .nav.nav-pills li:last-child.active>a{background-color:#f4f4f4}#module__dashboard-selector tab-heading a.close-link{border-bottom:0 solid;margin-left:12px;position:relative;top:-9px;right:1px;color:#000}dashboard-templates-selector .templates-header{display:-webkit-box;display:-ms-flexbox;display:flex}dashboard-templates-selector .templates-header .templates-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;font-size:20px}dashboard-templates-selector .templates-header .templates-toggle i.fa{cursor:pointer}dashboard-templates-selector .templates-header .templates-toggle i.fa.fa-toggle-on{color:#977bf0}dashboard-templates-selector .templates{border:1px solid #ccc;box-shadow:inset 0 0 1px 0 #ccc;height:130px;overflow:auto;border-radius:2px}dashboard-templates-selector .templates .template{padding:5px 10px;color:#5B6667;border-bottom:1px solid #ececec}.analytics .impac-kpi .kpi.add:hover .kpi-icon,.analytics .impac-kpi .kpi.add:hover .kpi-text{color:#000}dashboard-templates-selector .templates .template:hover{cursor:pointer;background-color:rgba(96,232,119,.62)}dashboard-templates-selector .templates .template.selected{background-color:rgba(29,197,57,.62)}.analytics .impac-kpi .kpi{position:relative;max-width:220px;min-height:95px;max-height:95px;background-color:#fff;margin:10px 0;border-bottom:1px solid #fff;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}@media screen and (max-width:768px){.analytics .impac-kpi .kpi{margin-left:auto;margin-right:auto}}.analytics .impac-kpi .kpi.add:hover,.analytics .impac-kpi .kpi.triggered{border-bottom:4px solid #e01f74}.analytics .impac-kpi .kpi.add .kpi-text .emphasis{visibility:hidden}.analytics .impac-kpi .kpi.add:hover{cursor:pointer}.analytics .impac-kpi .kpi.add:hover .top-line{background-color:#000}.analytics .impac-kpi .kpi.add:hover .kpi-text .emphasis{visibility:visible}.analytics .impac-kpi .kpi.add:hover .kpi-icon .fa-plus:before{content:"\f00c"}.analytics .impac-kpi .kpi.editing{min-height:185px}.analytics .impac-kpi .kpi:hover{cursor:default}.analytics .impac-kpi .kpi.static .kpi-value{display:block;font-size:14px;font-weight:700}.analytics .impac-kpi .kpi .top-line{width:100%;position:relative;cursor:move;padding:9px 9px 0 12px;border-bottom:none;min-height:7px;box-shadow:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin-bottom:5px;background-color:grey;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.analytics .impac-kpi .kpi .top-line.triggered{background-color:#000}.analytics .impac-kpi .kpi .kpi-content{max-height:90px}.analytics .impac-kpi .kpi .kpi-content.editing{min-height:180px;overflow-y:auto;overflow-x:hidden}.analytics .impac-kpi .kpi .kpi-show{white-space:normal;padding:10px}@media screen and (max-width:380px){.analytics .impac-kpi .kpi .kpi-show{padding:10px 3px}}.analytics .impac-kpi .kpi .kpi-show .emphasis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics .impac-kpi .kpi .kpi-show .emphasis .real-value{color:#676767}.analytics .impac-kpi .kpi .kpi-show .caption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics .impac-kpi .kpi .kpi-show .kpi-text{padding:7px 0;color:grey;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.analytics .impac-kpi .kpi .kpi-show .kpi-text>span{display:block}.analytics .impac-kpi .kpi .kpi-show .kpi-text.triggered{color:#000}.analytics .impac-kpi .kpi .kpi-show .kpi-text .caption{font-size:11px;padding-bottom:2px}@media screen and (max-width:465px){.analytics .impac-kpi .kpi .kpi-show .kpi-text .caption{font-size:10px}.analytics .impac-kpi .kpi .kpi-show .kpi-text .emphasis{font-size:11px}}.analytics .impac-kpi .kpi .kpi-show .kpi-icon{font-size:16px;padding:10px 0;color:grey;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.analytics .impac-kpi .kpi .kpi-show .kpi-icon.triggered{color:#000}@media screen and (max-width:465px){.analytics .impac-kpi .kpi .kpi-show .kpi-icon{font-size:12px;padding:16px 0}}.analytics .impac-kpi .kpi .kpi-edit a{color:#fff}.analytics .impac-kpi .kpi .kpi-edit .kpi-name{text-align:center;margin-bottom:5px}.analytics .impac-kpi .kpi .kpi-edit .kpi-name h6{margin:0 0 5px}.analytics .impac-kpi .kpi .kpi-edit .real-value{text-transform:uppercase;font-size:10px;text-align:center}.analytics .impac-kpi .kpi .kpi-edit .alert-caption{text-align:center;font-size:11px;background:#f99;border-radius:3px;width:100%;margin:0 auto 5px;box-shadow:none;padding:2px;color:#fff}.analytics .impac-kpi .kpi .kpi-edit .kpi-target-unit,.analytics .impac-kpi .kpi .kpi-edit .kpi-target-watchable{text-transform:uppercase;font-weight:500;font-size:11px}.analytics .impac-kpi .kpi .kpi-edit .kpi-target-watchable{margin-bottom:20px;color:#8d8d8d}.analytics .impac-kpi .kpi .kpi-edit .kpi-target-unit{position:absolute;top:6px;right:0;color:#9a9a9a}.analytics .impac-kpi .kpi .kpi-edit .param-name{font-size:85%}.analytics .impac-kpi .kpi .kpi-edit .btn.btn-xs{margin-top:4px}.analytics .impac-kpi .kpi .kpi-edit .add-on,.analytics .impac-kpi .kpi .kpi-edit .alert,.analytics .impac-kpi .kpi .kpi-edit .badge,.analytics .impac-kpi .kpi .kpi-edit .btn,.analytics .impac-kpi .kpi .kpi-edit .dropdown-menu,.analytics .impac-kpi .kpi .kpi-edit .img-polaroid,.analytics .impac-kpi .kpi .kpi-edit .label,.analytics .impac-kpi .kpi .kpi-edit .modal,.analytics .impac-kpi .kpi .kpi-edit .nav>.active>a,.analytics .impac-kpi .kpi .kpi-edit .navbar-inner,.analytics .impac-kpi .kpi .kpi-edit .popover,.analytics .impac-kpi .kpi .kpi-edit .progress,.analytics .impac-kpi .kpi .kpi-edit .table-bordered,.analytics .impac-kpi .kpi .kpi-edit .tooltip,.analytics .impac-kpi .kpi .kpi-edit .tooltip-inner,.analytics .impac-kpi .kpi .kpi-edit .well,.analytics .impac-kpi .kpi .kpi-edit input,.analytics .impac-kpi .kpi .kpi-edit pre,.analytics .impac-kpi .kpi .kpi-edit select,.analytics .impac-kpi .kpi .kpi-edit textarea,.analytics .impac-kpi .kpi .kpi-no-data .add-on,.analytics .impac-kpi .kpi .kpi-no-data .alert,.analytics .impac-kpi .kpi .kpi-no-data .badge,.analytics .impac-kpi .kpi .kpi-no-data .btn,.analytics .impac-kpi .kpi .kpi-no-data .dropdown-menu,.analytics .impac-kpi .kpi .kpi-no-data .img-polaroid,.analytics .impac-kpi .kpi .kpi-no-data .label,.analytics .impac-kpi .kpi .kpi-no-data .modal,.analytics .impac-kpi .kpi .kpi-no-data .nav>.active>a,.analytics .impac-kpi .kpi .kpi-no-data .navbar-inner,.analytics .impac-kpi .kpi .kpi-no-data .popover,.analytics .impac-kpi .kpi .kpi-no-data .progress,.analytics .impac-kpi .kpi .kpi-no-data .table-bordered,.analytics .impac-kpi .kpi .kpi-no-data .tooltip,.analytics .impac-kpi .kpi .kpi-no-data .tooltip-inner,.analytics .impac-kpi .kpi .kpi-no-data .well,.analytics .impac-kpi .kpi .kpi-no-data input,.analytics .impac-kpi .kpi .kpi-no-data pre,.analytics .impac-kpi .kpi .kpi-no-data select,.analytics .impac-kpi .kpi .kpi-no-data textarea{box-shadow:none!important;border-radius:0!important;border-collapse:collapse!important;background-image:none!important}.analytics .impac-kpi .kpi .kpi-edit body,.analytics .impac-kpi .kpi .kpi-edit body::after,.analytics .impac-kpi .kpi .kpi-edit body::before,.analytics .impac-kpi .kpi .kpi-edit input,.analytics .impac-kpi .kpi .kpi-edit input::after,.analytics .impac-kpi .kpi .kpi-edit input::before,.analytics .impac-kpi .kpi .kpi-edit select,.analytics .impac-kpi .kpi .kpi-edit select::after,.analytics .impac-kpi .kpi .kpi-edit select::before,.analytics .impac-kpi .kpi .kpi-edit textarea,.analytics .impac-kpi .kpi .kpi-edit textarea::after,.analytics .impac-kpi .kpi .kpi-edit textarea::before,.analytics .impac-kpi .kpi .kpi-no-data body,.analytics .impac-kpi .kpi .kpi-no-data body::after,.analytics .impac-kpi .kpi .kpi-no-data body::before,.analytics .impac-kpi .kpi .kpi-no-data input,.analytics .impac-kpi .kpi .kpi-no-data input::after,.analytics .impac-kpi .kpi .kpi-no-data input::before,.analytics .impac-kpi .kpi .kpi-no-data select,.analytics .impac-kpi .kpi .kpi-no-data select::after,.analytics .impac-kpi .kpi .kpi-no-data select::before,.analytics .impac-kpi .kpi .kpi-no-data textarea,.analytics .impac-kpi .kpi .kpi-no-data textarea::after,.analytics .impac-kpi .kpi .kpi-no-data textarea::before{box-sizing:border-box}.analytics .impac-kpi .kpi .kpi-edit input[type=number]::-webkit-inner-spin-button,.analytics .impac-kpi .kpi .kpi-edit input[type=number]::-webkit-outer-spin-button,.analytics .impac-kpi .kpi .kpi-no-data input[type=number]::-webkit-inner-spin-button,.analytics .impac-kpi .kpi .kpi-no-data input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.analytics .impac-kpi .kpi .kpi-edit a:hover,.analytics .impac-kpi .kpi .kpi-no-data a:hover{text-decoration:none}.analytics .impac-kpi .kpi .kpi-edit fieldset,.analytics .impac-kpi .kpi .kpi-no-data fieldset{margin:0 0 1.75rem;padding:0;border:none}.analytics .impac-kpi .kpi .kpi-edit .im-form-group,.analytics .impac-kpi .kpi .kpi-edit .im-form-radio,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group,.analytics .impac-kpi .kpi .kpi-no-data .im-form-radio{position:relative;margin-top:1.3125rem;margin-bottom:1.3125rem}.analytics .impac-kpi .kpi .kpi-edit .im-form-inline,.analytics .impac-kpi .kpi .kpi-no-data .im-form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;box-sizing:border-box}.analytics .impac-kpi .kpi .kpi-edit .im-form-inline>.im-form-group,.analytics .impac-kpi .kpi .kpi-no-data .im-form-inline>.im-form-group{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;vertical-align:middle;margin-left:.175rem;margin-right:.175rem}.analytics .impac-kpi .kpi .kpi-edit .im-form-inline>.btn,.analytics .impac-kpi .kpi .kpi-no-data .im-form-inline>.btn{display:inline-block;margin-bottom:0}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input{height:2.375rem}.analytics .impac-kpi .kpi .kpi-edit .im-form-group select,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select{width:100%;font-size:1.25rem;height:2rem;padding:.15625rem .15625rem .078125rem;background:0 0;border:none;line-height:1.6;box-shadow:none}.analytics .impac-kpi .kpi .kpi-edit .im-form-group .im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group .im-control-label{position:absolute;top:.3125rem;pointer-events:none;padding-left:.15625rem;z-index:1;color:#b3b3b3;font-size:1.25rem;font-weight:400;-webkit-transition:all .28s ease;transition:all .28s ease}.analytics .impac-kpi .kpi .kpi-edit .im-form-group .im-bar,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group .im-bar{position:relative;border-bottom:.078125rem solid #999;display:block}.analytics .impac-kpi .kpi .kpi-edit .im-form-group .im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group .im-bar::before{content:'';height:.15625rem;width:0;left:50%;bottom:-.078125rem;position:absolute;background:#358fdc;-webkit-transition:left .28s ease,width .28s ease;transition:left .28s ease,width .28s ease;z-index:2}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea{display:block;background:0 0;padding:.15625rem .15625rem .078125rem;font-size:1.25rem;border-width:0;border-color:transparent;line-height:1.9;width:100%;color:transparent;-webkit-transition:all .28s ease;transition:all .28s ease;box-shadow:none}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input[type=file],.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input[type=file]{line-height:1}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input[type=file]~.im-bar,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input[type=file]~.im-bar{display:none}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input.form-file,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input.has-value,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:valid,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea.form-file,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea.has-value,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:valid,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input.form-file,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input.has-value,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:valid,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea.form-file,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea.has-value,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:valid{color:#333}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input.form-file~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input.has-value~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:valid~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea.form-file~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea.has-value~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:valid~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input.form-file~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input.has-value~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:valid~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea.form-file~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea.has-value~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:valid~.im-control-label{font-size:1rem;color:grey;top:-1.25rem;left:0}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select:focus,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus{outline:0}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus~.im-control-label{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus~.im-bar::before{width:100%;left:0}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox label,.analytics .impac-kpi .kpi .kpi-edit .im-form-radio label,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-radio label{position:relative;cursor:pointer;padding-left:2.5rem;text-align:left;color:#333;display:block}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input,.analytics .impac-kpi .kpi .kpi-edit .im-form-radio input,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input,.analytics .impac-kpi .kpi .kpi-no-data .im-form-radio input{width:auto;opacity:.00000001;position:absolute;left:0}.analytics .impac-kpi .kpi .kpi-edit .im-radio,.analytics .impac-kpi .kpi .kpi-no-data .im-radio{margin-bottom:1.25rem}.analytics .impac-kpi .kpi .kpi-edit .im-radio .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-radio .im-helper{position:absolute;top:-.3125rem;left:-.3125rem;cursor:pointer;display:block;font-size:1.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.analytics .impac-kpi .kpi .kpi-edit .im-radio .im-helper::after,.analytics .impac-kpi .kpi .kpi-edit .im-radio .im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-radio .im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-radio .im-helper::before{content:'';position:absolute;left:0;top:0;margin:.3125rem;width:1.25rem;height:1.25rem;-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;border-radius:50%;border:.15625rem solid currentColor}.analytics .impac-kpi .kpi .kpi-edit .im-radio .im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-radio .im-helper::after{-webkit-transform:scale(0);transform:scale(0);background-color:#358fdc;border-color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-radio label:hover .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-radio label:hover .im-helper{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-radio input:checked~.im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-radio input:checked~.im-helper::after{-webkit-transform:scale(.5);transform:scale(.5)}.analytics .impac-kpi .kpi .kpi-edit .im-radio input:checked~.im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-radio input:checked~.im-helper::before{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox{margin-top:1.75rem;margin-bottom:1.25rem}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper{color:#999;position:absolute;top:0;left:0;width:1.25rem;height:1.25rem;z-index:0;border:.15625rem solid currentColor;border-radius:.078125rem;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper::after,.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper::before{position:absolute;height:0;width:.25rem;background-color:#358fdc;display:block;-webkit-transform-origin:left top;transform-origin:left top;border-radius:.3125rem;content:'';-webkit-transition:opacity .28s ease,height 0s linear .28s;transition:opacity .28s ease,height 0s linear .28s;opacity:0}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper::before{top:.8125rem;left:.475rem;-webkit-transform:rotate(-135deg);transform:rotate(-135deg);box-shadow:0 0 0 .078125rem #fff}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper::after{top:.375rem;left:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox label:hover .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox label:hover .im-helper{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper::after,.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper::before{opacity:1;-webkit-transition:height .28s ease;transition:height .28s ease}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper::after{height:.625rem}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper::before{height:1.5rem;-webkit-transition-delay:.28s;transition-delay:.28s}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox+.im-checkbox,.analytics .impac-kpi .kpi .kpi-edit .im-radio+.im-radio,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox+.im-checkbox,.analytics .impac-kpi .kpi .kpi-no-data .im-radio+.im-radio{margin-top:1.25rem}.analytics .impac-kpi .kpi .kpi-edit .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .im-messages{font-size:1.04166667rem;color:#e01f74;overflow:hidden;-webkit-transition:all .28s cubic-bezier(.55,0,.55,.2);transition:all .28s cubic-bezier(.55,0,.55,.2);opacity:0;margin-top:0;padding-top:5px}.analytics .impac-kpi .kpi .kpi-edit .has-error .legend.legend,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-group .im-control-label.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .has-error .legend.legend,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-group .im-control-label.im-control-label{color:#e01f74}.analytics .impac-kpi .kpi .kpi-edit .has-error.im-checkbox .im-helper,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-checkbox .im-messages,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-group .im-helper,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-group .im-messages,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-radio .im-helper,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-radio .im-messages,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-radio .im-helper,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-radio .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-checkbox .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-checkbox .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-group .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-group .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-radio .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-radio .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-radio .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-radio .im-messages{color:#e01f74;opacity:1}.analytics .impac-kpi .kpi .kpi-edit .has-error .im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .has-error .im-bar::before{background:#e01f74;left:0;width:100%}.analytics .impac-kpi .kpi .kpi-edit .im-button,.analytics .impac-kpi .kpi .kpi-no-data .im-button{position:relative;background:#60a7e4;border:0;font-size:1.375rem;color:#333;margin:.7rem 0;padding:.4375rem 1.75rem;border-radius:3px;cursor:pointer;overflow:hidden;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.analytics .impac-kpi .kpi .kpi-edit .im-button span,.analytics .impac-kpi .kpi .kpi-no-data .im-button span{color:#fff;position:relative;z-index:1}.analytics .impac-kpi .kpi .kpi-edit .im-button:hover,.analytics .impac-kpi .kpi .kpi-no-data .im-button:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#2583d3}.analytics .impac-kpi .kpi .kpi-edit .im-button:active,.analytics .impac-kpi .kpi .kpi-no-data .im-button:active{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.14)}.analytics .impac-kpi .kpi .kpi-edit .im-button a:focus,.analytics .impac-kpi .kpi .kpi-edit .im-button:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-button a:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-button:focus{outline:0;text-decoration:none}.analytics .impac-kpi .kpi .kpi-edit button.im-fab,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab{position:relative;height:46px;width:46px;-webkit-box-flex:0;-ms-flex:0 0 56px;flex:0 0 56px;display:inline-block;padding:0;margin:4px;border:0;border-radius:100%;overflow:hidden;font-size:20px;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);color:#fff}.analytics .impac-kpi .kpi .kpi-edit button.im-fab:focus,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab:focus{outline:0}.analytics .impac-kpi .kpi .kpi-edit button.im-fab:active,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab:active{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.14)}.analytics .impac-kpi .kpi .kpi-edit button.im-fab.im-primary,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab.im-primary{background:#358fdc}.analytics .impac-kpi .kpi .kpi-edit button.im-fab.im-primary:hover,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab.im-primary:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#2583d3}.analytics .impac-kpi .kpi .kpi-edit button.im-fab.im-warn,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab.im-warn{background:#e01f74}.analytics .impac-kpi .kpi .kpi-edit button.im-fab.im-warn:hover,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab.im-warn:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#ca1c68}.analytics .impac-kpi .kpi button.kpi-alerts.im-fab.im-primary{position:absolute;top:-12px;right:15px;width:22px;height:22px;font-size:13px;background:#4c4749}.analytics .impac-kpi .kpi button.kpi-alerts.im-fab.im-primary:hover{backgroud:#358fdc}.analytics .impac-kpi .kpi button.kpi-remove.im-fab.im-warn{position:absolute;top:-12px;right:-11px;width:22px;height:22px;font-size:13px;background:#4c4749}.analytics .impac-kpi .kpi button.kpi-remove.im-fab.im-warn:hover{background:#ca1c68}.analytics .impac-kpi .kpi .kpi-data-loader{width:100%;min-height:95px}.analytics kpis-bar>.key-stats .kpi{min-height:80px}.analytics kpis-bar>.kpis{position:relative}.analytics kpis-bar>.kpis .actions{margin-bottom:12px}@media screen and (max-width:675px){.analytics kpis-bar>.kpis .actions{position:relative}}.analytics kpis-bar>.kpis .actions .add-on,.analytics kpis-bar>.kpis .actions .alert,.analytics kpis-bar>.kpis .actions .badge,.analytics kpis-bar>.kpis .actions .btn,.analytics kpis-bar>.kpis .actions .dropdown-menu,.analytics kpis-bar>.kpis .actions .img-polaroid,.analytics kpis-bar>.kpis .actions .label,.analytics kpis-bar>.kpis .actions .modal,.analytics kpis-bar>.kpis .actions .nav>.active>a,.analytics kpis-bar>.kpis .actions .navbar-inner,.analytics kpis-bar>.kpis .actions .popover,.analytics kpis-bar>.kpis .actions .progress,.analytics kpis-bar>.kpis .actions .table-bordered,.analytics kpis-bar>.kpis .actions .tooltip,.analytics kpis-bar>.kpis .actions .tooltip-inner,.analytics kpis-bar>.kpis .actions .well,.analytics kpis-bar>.kpis .actions input,.analytics kpis-bar>.kpis .actions pre,.analytics kpis-bar>.kpis .actions select,.analytics kpis-bar>.kpis .actions textarea{box-shadow:none!important;border-radius:0!important;border-collapse:collapse!important;background-image:none!important}.analytics kpis-bar>.kpis .actions body,.analytics kpis-bar>.kpis .actions body::after,.analytics kpis-bar>.kpis .actions body::before,.analytics kpis-bar>.kpis .actions input,.analytics kpis-bar>.kpis .actions input::after,.analytics kpis-bar>.kpis .actions input::before,.analytics kpis-bar>.kpis .actions select,.analytics kpis-bar>.kpis .actions select::after,.analytics kpis-bar>.kpis .actions select::before,.analytics kpis-bar>.kpis .actions textarea,.analytics kpis-bar>.kpis .actions textarea::after,.analytics kpis-bar>.kpis .actions textarea::before{box-sizing:border-box}.analytics kpis-bar>.kpis .actions input[type=number]::-webkit-inner-spin-button,.analytics kpis-bar>.kpis .actions input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.analytics kpis-bar>.kpis .actions a:hover{text-decoration:none}.analytics kpis-bar>.kpis .actions fieldset{margin:0 0 1.75rem;padding:0;border:none}.analytics kpis-bar>.kpis .actions .im-form-group,.analytics kpis-bar>.kpis .actions .im-form-radio{position:relative;margin-top:1.3125rem;margin-bottom:1.3125rem}.analytics kpis-bar>.kpis .actions .im-form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;box-sizing:border-box}.analytics kpis-bar>.kpis .actions .im-form-inline>.im-form-group{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;vertical-align:middle;margin-left:.175rem;margin-right:.175rem}.analytics kpis-bar>.kpis .actions .im-form-inline>.btn{display:inline-block;margin-bottom:0}.analytics kpis-bar>.kpis .actions .im-form-group input{height:2.375rem}.analytics kpis-bar>.kpis .actions .im-form-group select{width:100%;font-size:1.25rem;height:2rem;padding:.15625rem .15625rem .078125rem;background:0 0;border:none;line-height:1.6;box-shadow:none}.analytics kpis-bar>.kpis .actions .im-form-group .im-control-label{position:absolute;top:.3125rem;pointer-events:none;padding-left:.15625rem;z-index:1;color:#b3b3b3;font-size:1.25rem;font-weight:400;-webkit-transition:all .28s ease;transition:all .28s ease}.analytics kpis-bar>.kpis .actions .im-form-group .im-bar{position:relative;border-bottom:.078125rem solid #999;display:block}.analytics kpis-bar>.kpis .actions .im-form-group .im-bar::before{content:'';height:.15625rem;width:0;left:50%;bottom:-.078125rem;position:absolute;background:#358fdc;-webkit-transition:left .28s ease,width .28s ease;transition:left .28s ease,width .28s ease;z-index:2}.analytics kpis-bar>.kpis .actions .im-form-group input,.analytics kpis-bar>.kpis .actions .im-form-group textarea{display:block;background:0 0;padding:.15625rem .15625rem .078125rem;font-size:1.25rem;border-width:0;border-color:transparent;line-height:1.9;width:100%;color:transparent;-webkit-transition:all .28s ease;transition:all .28s ease;box-shadow:none}.analytics .settings.dates-picker button.btn.btn-sm,.analytics kpis-bar>.kpis .actions .im-form-group input[type=file]{line-height:1}.analytics kpis-bar>.kpis .actions .im-form-group input[type=file]~.im-bar{display:none}.analytics kpis-bar>.kpis .actions .im-form-group input.form-file,.analytics kpis-bar>.kpis .actions .im-form-group input.has-value,.analytics kpis-bar>.kpis .actions .im-form-group input:focus,.analytics kpis-bar>.kpis .actions .im-form-group input:valid,.analytics kpis-bar>.kpis .actions .im-form-group select,.analytics kpis-bar>.kpis .actions .im-form-group textarea.form-file,.analytics kpis-bar>.kpis .actions .im-form-group textarea.has-value,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus,.analytics kpis-bar>.kpis .actions .im-form-group textarea:valid{color:#333}.analytics kpis-bar>.kpis .actions .im-form-group input.form-file~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group input.has-value~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group input:focus~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group input:valid~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group select~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea.form-file~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea.has-value~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea:valid~.im-control-label{font-size:1rem;color:grey;top:-1.25rem;left:0}.analytics kpis-bar>.kpis .actions .im-form-group input:focus,.analytics kpis-bar>.kpis .actions .im-form-group select:focus,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus{outline:0}.analytics kpis-bar>.kpis .actions .im-form-group input:focus~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group select:focus~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus~.im-control-label{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-form-group input:focus~.im-bar::before,.analytics kpis-bar>.kpis .actions .im-form-group select:focus~.im-bar::before,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus~.im-bar::before{width:100%;left:0}.analytics kpis-bar>.kpis .actions .im-checkbox label,.analytics kpis-bar>.kpis .actions .im-form-radio label{position:relative;cursor:pointer;padding-left:2.5rem;text-align:left;color:#333;display:block}.analytics kpis-bar>.kpis .actions .im-checkbox input,.analytics kpis-bar>.kpis .actions .im-form-radio input{width:auto;opacity:.00000001;position:absolute;left:0}.analytics kpis-bar>.kpis .actions .im-radio{margin-bottom:1.25rem}.analytics kpis-bar>.kpis .actions .im-radio .im-helper{position:absolute;top:-.3125rem;left:-.3125rem;cursor:pointer;display:block;font-size:1.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.analytics kpis-bar>.kpis .actions .im-radio .im-helper::after,.analytics kpis-bar>.kpis .actions .im-radio .im-helper::before{content:'';position:absolute;left:0;top:0;margin:.3125rem;width:1.25rem;height:1.25rem;-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;border-radius:50%;border:.15625rem solid currentColor}.analytics kpis-bar>.kpis .actions .im-radio .im-helper::after{-webkit-transform:scale(0);transform:scale(0);background-color:#358fdc;border-color:#358fdc}.analytics kpis-bar>.kpis .actions .im-radio label:hover .im-helper{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-radio input:checked~.im-helper::after{-webkit-transform:scale(.5);transform:scale(.5)}.analytics kpis-bar>.kpis .actions .im-radio input:checked~.im-helper::before{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-checkbox{margin-top:1.75rem;margin-bottom:1.25rem}.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper{color:#999;position:absolute;top:0;left:0;width:1.25rem;height:1.25rem;z-index:0;border:.15625rem solid currentColor;border-radius:.078125rem;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper::after,.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper::before{position:absolute;height:0;width:.25rem;background-color:#358fdc;display:block;-webkit-transform-origin:left top;transform-origin:left top;border-radius:.3125rem;content:'';-webkit-transition:opacity .28s ease,height 0s linear .28s;transition:opacity .28s ease,height 0s linear .28s;opacity:0}.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper::before{top:.8125rem;left:.475rem;-webkit-transform:rotate(-135deg);transform:rotate(-135deg);box-shadow:0 0 0 .078125rem #fff}.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper::after{top:.375rem;left:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.analytics kpis-bar>.kpis .actions .im-checkbox label:hover .im-helper{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper::after,.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper::before{opacity:1;-webkit-transition:height .28s ease;transition:height .28s ease}.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper::after{height:.625rem}.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper::before{height:1.5rem;-webkit-transition-delay:.28s;transition-delay:.28s}.analytics kpis-bar>.kpis .actions .im-checkbox+.im-checkbox,.analytics kpis-bar>.kpis .actions .im-radio+.im-radio{margin-top:1.25rem}.analytics kpis-bar>.kpis .actions .im-messages{font-size:1.04166667rem;color:#e01f74;overflow:hidden;-webkit-transition:all .28s cubic-bezier(.55,0,.55,.2);transition:all .28s cubic-bezier(.55,0,.55,.2);opacity:0;margin-top:0;padding-top:5px}.analytics kpis-bar>.kpis .actions .has-error .legend.legend,.analytics kpis-bar>.kpis .actions .has-error.im-form-group .im-control-label.im-control-label{color:#e01f74}.analytics kpis-bar>.kpis .actions .has-error.im-checkbox .im-helper,.analytics kpis-bar>.kpis .actions .has-error.im-checkbox .im-messages,.analytics kpis-bar>.kpis .actions .has-error.im-form-group .im-helper,.analytics kpis-bar>.kpis .actions .has-error.im-form-group .im-messages,.analytics kpis-bar>.kpis .actions .has-error.im-form-radio .im-helper,.analytics kpis-bar>.kpis .actions .has-error.im-form-radio .im-messages,.analytics kpis-bar>.kpis .actions .has-error.im-radio .im-helper,.analytics kpis-bar>.kpis .actions .has-error.im-radio .im-messages{color:#e01f74;opacity:1}.analytics kpis-bar>.kpis .actions .has-error .im-bar::before{background:#e01f74;left:0;width:100%}.analytics kpis-bar>.kpis .actions .im-button{position:relative;background:#60a7e4;border:0;font-size:1.375rem;color:#333;margin:.7rem 0;padding:.4375rem 1.75rem;border-radius:3px;cursor:pointer;overflow:hidden;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.analytics kpis-bar>.kpis .actions .im-button span{color:#fff;position:relative;z-index:1}.analytics kpis-bar>.kpis .actions .im-button:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#2583d3}.analytics kpis-bar>.kpis .actions .im-button:active{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.14)}.analytics kpis-bar>.kpis .actions .im-button a:focus,.analytics kpis-bar>.kpis .actions .im-button:focus{outline:0;text-decoration:none}.analytics kpis-bar>.kpis .actions button.im-fab{position:relative;height:46px;width:46px;-webkit-box-flex:0;-ms-flex:0 0 56px;flex:0 0 56px;display:inline-block;padding:0;margin:4px;border:0;border-radius:100%;overflow:hidden;font-size:20px;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);color:#fff}.analytics kpis-bar>.kpis .actions button.im-fab:focus{outline:0}.analytics kpis-bar>.kpis .actions button.im-fab:active{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.14)}.analytics kpis-bar>.kpis .actions button.im-fab.im-primary{background:#358fdc}.analytics kpis-bar>.kpis .actions button.im-fab.im-primary:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#2583d3}.analytics kpis-bar>.kpis .actions button.im-fab.im-warn{background:#e01f74}.analytics kpis-bar>.kpis .actions button.im-fab.im-warn:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#ca1c68}.analytics kpis-bar>.kpis .actions a{color:#fff}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis,.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis,.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content{position:absolute;width:40px;height:40px;font-size:18px;-webkit-transition:all .28s ease-in;transition:all .28s ease-in}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis.im-primary,.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.im-primary,.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content.im-primary{background:#4c4749}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis.im-primary.disabled,.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.im-primary.disabled,.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content.im-primary.disabled{background:#b2b5c1;cursor:not-allowed}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis.im-primary.disabled a,.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.im-primary.disabled a,.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content.im-primary.disabled a{cursor:not-allowed}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis.im-primary:hover:not(.disabled),.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.im-primary:hover:not(.disabled),.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content.im-primary:hover:not(.disabled){background:#000}.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content{top:-15px;right:-15px;z-index:10}@media screen and (max-width:675px){.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content{top:-30px;right:-14px;bottom:0}}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis{top:30px;right:-15px;z-index:10}@media screen and (max-width:675px){.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis{top:-30px;right:33px;bottom:0}}.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis{top:75px;right:-15px;z-index:10}.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.editing{background:#358fdc}.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.editing:hover:not(.disabled){background:#76b3e7}@media screen and (max-width:675px){.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis{top:-30px;right:79px;bottom:0}.analytics kpis-bar>.kpis .content{margin-top:25px}}.analytics kpis-bar>.kpis .content-buttons{position:absolute;top:0;right:0}.analytics kpis-bar>.kpis .content{padding:15px;background-color:#fff;box-shadow:0 1px 8px -4px}@media screen and (min-width:725px){.analytics kpis-bar>.kpis .content{padding:0 60px}}.analytics kpis-bar>.kpis .content .impac-kpi{padding-left:5px;padding-right:5px}@media screen and (min-width:1200px){.analytics kpis-bar>.kpis .content .impac-kpi{padding-left:20px;padding-right:20px}}.analytics kpis-bar>.kpis .content .impac-kpi .kpi.add .kpi-show .caption{white-space:inherit}.analytics kpis-bar>.kpis .content .title .text-center{line-height:3;font-variant:small-caps;font-size:larger}.analytics kpis-bar>.kpis .content .title .badge{position:absolute;top:8px;left:-10px;background-color:#d1e55c;color:#4f5959;box-shadow:0 1px 3px -1px}.widget-item .content,.widget-item .top-line{position:relative;background-color:#fff;box-shadow:0 1px 8px -4px}.analytics kpis-bar>.kpis .content .title .no-kpi-templates{color:#afadb5;font-weight:500}.analytics kpis-bar>.kpis .content .add-bar{border-bottom:dashed 1px}.analytics kpis-bar>.kpis .content .kpi-loader{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:115px}.analytics kpis-bar>.kpis .content .dates-picker-container{width:40%;margin:0 auto}.analytics kpis-bar>.kpis .content .dates-picker-container .sdp-from-label,.analytics kpis-bar>.kpis .content .dates-picker-container .sdp-to-label{text-transform:uppercase;font-weight:400}.analytics kpis-bar{display:block}.analytics kpis-bar>.key-stats{background-color:#fff;padding:5px 0}.analytics.pdf-mode kpis-bar>.kpis .actions{display:none}.widget-item{-webkit-transition:width .3s;transition:width .3s;padding:12px}.widget-item.pdf-mode{width:100%;padding:12px 0}.widget-item .top-line{cursor:move;padding:9px 9px 0 12px;border-radius:5px 5px 0 0;border:1px solid #c8d7d9;border-bottom:none;min-height:41px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;z-index:4}.widget-item .content{padding:9px;border-radius:0 0 5px 5px;border:1px solid #c8d7d9;border-top:none;vertical-align:top;min-height:250px}@media (min-width:992px){.widget-item .content{height:250px}.widget-item .content .chart-container{max-width:270px;max-height:125px;margin:auto}}.widget-item .content .edit{max-height:230px;overflow-y:auto;overflow-x:hidden;color:#5B6667;padding:2px;font-size:12px}.widget-item .content .edit .bottom-buttons .btn{border-radius:2px;margin-right:5px;padding:3px 13px;text-transform:uppercase;font-size:12px}.widget-item .content .edit .bottom-buttons .btn.btn-default{background-color:#c2c4c4;border:1px solid #a8abab;color:#fff}.widget-item .content .edit .bottom-buttons .btn.btn-default:hover{border:1px solid #8e9292;background-color:#a8abab}.widget-item .content .edit h4{margin:0 0 8px;text-align:left;font-weight:400;font-size:12px;color:#c4caca}.widget-item .content .edit .part{margin-bottom:8px;padding:10px 0;background-color:#fcfcfc;border:1px solid #dfe2e2}.widget-item .content .edit .part h5{display:block;margin:0 0 10px;padding:0 15px;text-transform:uppercase;font-weight:400;font-size:12px;color:#c4caca}.widget-item .content .edit .part label{font-weight:400}.widget-item .content .edit .part select.form-control{margin:0;border:1px solid #acb0b1;outline:0;-webkit-box-shadow:none;font-size:13px;color:#72728b}.widget-item .content.accessible{height:auto!important;min-height:250px!important;max-height:auto!important}.widget-item .content .content-template-wrapper{height:100%;overflow:auto;overflow-x:hidden}.widget-item.pdf-mode .content{height:100%!important;min-height:250px!important;max-height:none!important}.widget-item.pdf-mode .content .collapse{display:inherit}.widget-item.pdf-mode .content .fa-plus-square-o:before{content:"\f147"}.widget-item.pdf-mode .content .legend{max-height:none!important}.widget-item.pdf-mode .content .chart-container{max-height:none}.widget-item.pdf-mode .content .widget-lines-container{max-height:none!important}.widget-item.pdf-mode .content .data-not-found .message{position:inherit;width:100%}.widget-item.pdf-mode .include-to-pdf.title{position:absolute;width:calc(100% - 2*12px);z-index:3;padding-right:1px}.widget-item.pdf-mode .include-to-pdf.title h6{padding:10px;background-color:#FFC928;text-align:center;margin:0}.widget-item.pdf-mode .include-to-pdf.tick i{position:absolute;top:35%;left:46%;font-size:100px;opacity:.5;z-index:2;color:#000}.widget-item.pdf-mode .include-to-pdf .widget-hover{position:absolute;width:100%;height:100%;padding:9px;top:0;right:0;-webkit-transition:all ease .5s;transition:all ease .5s;z-index:1}.widget-item.pdf-mode .include-to-pdf .widget-hover:hover{opacity:.5;background:#CCCFD0}.widget-item .widget-lines-container .widget-line>[class*=col-]{overflow-wrap:break-word}.analytics .kpi .data-not-found,.analytics .widget-item .content .data-not-found{text-align:center;font-size:13px;color:#5B6667}.analytics .kpi .data-not-found .overlay,.analytics .widget-item .content .data-not-found .overlay{background-color:#fff;position:absolute;height:calc(100% - 4px);width:calc(100% - 4px);top:2px;left:2px;opacity:.6;z-index:3}.analytics .kpi .data-not-found .message,.analytics .widget-item .content .data-not-found .message{position:absolute;top:125px;left:50%;padding-bottom:10px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:85%;background-color:#f4f8f9;border-radius:4px;box-shadow:0 0 25px 0;z-index:4}.analytics .kpi .data-not-found .message .title,.analytics .widget-item .content .data-not-found .message .title{padding:2px;background-color:#192831;color:#fff;margin:-1px -1px 10px;text-transform:uppercase}.analytics .kpi .data-not-found .message p,.analytics .widget-item .content .data-not-found .message p{margin-left:5px;margin-right:5px}.analytics .kpi .data-not-found .message .btn,.analytics .widget-item .content .data-not-found .message .btn{margin-top:5px}.analytics .kpi .data-not-found .example,.analytics .widget-item .content .data-not-found .example{position:absolute;bottom:0;left:0;width:100%;color:#fff;background-color:#192831;padding:3px;z-index:6}.analytics .kpi .data-not-found .example a,.analytics .widget-item .content .data-not-found .example a{font-weight:400;color:#dae173}.analytics .kpi .data-not-found .message{width:90%;padding-bottom:0;border:1px solid silver;box-shadow:none}.analytics .kpi .data-not-found .message p{margin:5px}.analytics .kpi .data-not-found .btn,.analytics .kpi .data-not-found .example,.analytics .kpi .data-not-found .overlay,.analytics .kpi .data-not-found .title{display:none}#transactions-add{text-align:center;font-size:13px;color:#5B6667}#transactions-add .overlay{background-color:#fff;position:absolute;height:calc(100% - 4px);width:calc(100% - 4px);top:2px;left:2px;opacity:.6;z-index:5}#transactions-add .message{z-index:6;position:absolute;min-height:160px;padding-bottom:10px;background-color:#f4f8f9;border-radius:4px;box-shadow:0 0 25px 0;top:30px;left:35%;width:30%}#transactions-add .message .title{padding:2px;background-color:#192831;color:#fff;margin:-1px -1px 10px;text-transform:uppercase}#transactions-add .message .form{padding:0 10px}#transactions-add .message .form .coming-soon>label,#transactions-add .message .form>label{padding-top:10px;font-weight:400;margin-bottom:3px}#transactions-add .message .form input.form-control{width:90%;border-radius:2px;height:28px;font-size:13px}#transactions-add .message .form .btn-group{display:block;min-height:22px}#transactions-add .message .form .btn-group select{border-radius:2px;height:28px;margin-top:0}#transactions-add .message .form .coming-soon{margin-top:15px;padding:5px;border:1px solid silver;background-color:#fff;color:#888;font-style:italic}#transactions-add .message .form .coming-soon .badge{font-weight:400;background-color:#888}#transactions-add .message .form .coming-soon .btn-group{margin-left:10px}#transactions-add .message .form .coming-soon .btn-group input[type=radio]{margin-top:5px}#transactions-add .message .form .coming-soon .btn-group select{height:22px}#transactions-add .message .form .coming-soon .btn-group .btn{float:none;border-color:#888}#transactions-add .message .bottom{margin-top:20px}.analytics common-delete-widget{text-align:center;font-size:13px;color:#5B6667}.analytics common-delete-widget .overlay{background-color:#fff;position:absolute;height:calc(100% - 4px);width:calc(100% - 4px);top:2px;left:2px;opacity:.6;z-index:5}.analytics common-delete-widget .message{z-index:6;position:absolute;min-height:160px;padding-bottom:10px;top:45px;left:7%;width:86%;background-color:#f4f8f9;border-radius:4px;box-shadow:0 0 25px 0}.analytics .widget-item .content.accounts-balance-sheet,.analytics .widget-item .content.accounts-cash-balance{min-height:565px}.analytics common-delete-widget .message .title{padding:2px;background-color:#192831;color:#fff;margin:-1px -1px 10px;text-transform:uppercase}.analytics common-delete-widget .message .loader i.fa.fa-spinner{font-size:26px}.analytics common-delete-widget .message p{padding:0 10px}.analytics common-delete-widget .message button.btn{margin-top:20px}#transactions-list .top{height:40px}#transactions-list .top a.back-link{font-weight:400}#transactions-list .top .pagination{margin:0}#transactions-list .table-container{max-height:calc(565px - 60px);overflow:auto}#transactions-list .table-container div[uib-datepicker-popup-wrap]{display:inline-block}#transactions-list .table-container button.btn.reset-date,#transactions-list .table-container input.btn.btn-xs{margin-top:-2px}#transactions-list .table-container .fa.fa-times{color:#e01f74;cursor:pointer}#transactions-list .table-container tr.total{font-weight:700}#transactions-list .table-container tr.total.invoices{background-color:#c1d1b1}#transactions-list .table-container tr.total.bills{background-color:#e2aeb9}.analytics .dashboard-settings.currency{text-align:right}.analytics .dashboard-settings.currency select{margin-top:4px}.analytics .dashboard-settings.sync-apps .show-status{margin-right:5px;color:#9ba6a7}.analytics .dashboard-settings.sync-apps .show-status:hover{cursor:pointer;text-decoration:underline}.analytics .dashboard-settings.sync-apps .show-status .fa.fa-info{margin-right:2px}.analytics .dashboard-settings.sync-apps .status-btn{display:inline-block;cursor:pointer;padding:5px 7px 5px 0}.analytics .dashboard-settings.sync-apps .status-btn i{font-size:16px}.analytics .dashboard-settings.sync-apps .status-btn i.fa-exclamation-triangle{color:#ff7300}.analytics .dashboard-settings.sync-apps .status-btn i.fa-check{color:#d1e55c}.analytics .dashboard-settings.sync-apps .popover{max-width:550px}.analytics .dashboard-settings.sync-apps .popover .connector{padding:4px 13px}.analytics .dashboard-settings.sync-apps .popover .connector.add-seperator{border-bottom:1px solid #ccc}.analytics .dashboard-settings.sync-apps .popover .popover-content{padding:0}.analytics .dashboard-settings.sync-apps .popover .popover-footer{border-top:1px solid #ccc;padding:4px 13px}.analytics .dashboard-settings.sync-apps .popover .popover-footer p{font-weight:700;margin:0}.analytics .dashboard-settings.sync-apps .popover .popover-footer.remove-seperator{border:0}.analytics .dashboard-settings.sync-apps .badge{float:right;margin-left:8px}.analytics .dashboard-settings.sync-apps .success .badge{background-color:#d1e55c}.analytics .dashboard-settings.sync-apps .pending .badge,.analytics .dashboard-settings.sync-apps .running .badge{background-color:#ff7300}.analytics .dashboard-settings.sync-apps .disconnected .badge,.analytics .dashboard-settings.sync-apps .error .badge,.analytics .dashboard-settings.sync-apps .failed .badge,.analytics .dashboard-settings.sync-apps .unknown .badge{background-color:#ed1e79}#sync-apps-modal .modal-header{text-align:center;border:0;box-shadow:0 2px 3px 0 #ccc}#sync-apps-modal .modal-list{max-height:280px;overflow-y:auto}#sync-apps-modal .modal-list-item{border-bottom:1px solid #ccc;padding:10px}#sync-apps-modal .modal-list-item .badge{float:right}#sync-apps-modal .modal-list-item.success .badge{background-color:#d1e55c}#sync-apps-modal .modal-list-item.pending .badge,#sync-apps-modal .modal-list-item.running .badge{background-color:#ff7300}#sync-apps-modal .modal-list-item.disconnected .badge,#sync-apps-modal .modal-list-item.error .badge,#sync-apps-modal .modal-list-item.failed .badge,#sync-apps-modal .modal-list-item.unknown .badge{background-color:#ed1e79}#sync-apps-modal .modal-list-item .message{padding:3px;border-radius:2px;margin-left:31px;margin-top:9px}#sync-apps-modal .modal-list-item .message p{margin:0}#sync-apps-modal .modal-list-item.success .message{background-color:rgba(0,255,55,.08)}#sync-apps-modal .modal-list-item.pending .message,#sync-apps-modal .modal-list-item.running .message{background-color:rgba(255,118,0,.08)}#sync-apps-modal .modal-list-item.disconnected .message,#sync-apps-modal .modal-list-item.error .message,#sync-apps-modal .modal-list-item.failed .message,#sync-apps-modal .modal-list-item.unknown .message{background-color:rgba(255,0,0,.08)}#sync-apps-modal .modal-list-item.with-message{cursor:pointer}#sync-apps-modal .modal-list-item.with-message:hover{background-color:#ccc}#sync-apps-modal .modal-footer{border:0}#sync-apps-modal .fa{padding:0 10px}#sync-apps-modal .fa.error{color:red}#sync-apps-modal .fa.warn{color:#ff7300}#sync-apps-modal .fa.success{color:#47ff00}.analytics .widget-item .content.accounts-assets-liability-summary .param-selector{text-align:center}.analytics .widget-item .content.accounts-assets-liability-summary .legend{text-align:left;max-height:90px}.analytics .widget-item .content.accounts-assets-liability-summary .legend .title{text-align:center;border-bottom:dashed 1px #dfe2e2}.analytics .widget-item .content.accounts-assets-summary .legend{text-align:left;max-height:115px}.analytics .widget-item .content.accounts-assets-summary .legend .title{text-align:center;border-bottom:dashed 1px #dfe2e2}.analytics .widget-item .content.accounts-assets-vs-liabilities .legend>.title span{margin-left:3px}.analytics .widget-item .content.accounts-balance h3{font-weight:300;font-size:14px;color:#5B6667;margin-top:30px;text-align:center}.analytics .widget-item .content.accounts-balance .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}@media (min-width:992px){.analytics .widget-item .content.accounts-balance-sheet{height:565px}.analytics .widget-item .content.accounts-balance-sheet .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-balance-sheet .edit{max-height:545px}.analytics .widget-item .content.accounts-balance-sheet .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container{overflow-y:scroll;overflow-x:hidden;max-height:490px}@media (max-width:767px){.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container .row.widget-line:not(:last-child){border-bottom:dashed 1px #dfe2e2}}.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container .row.widget-line.header>[class*=col-]{position:static}.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container.no-scroll{overflow:visible}.analytics .widget-item .content.accounts-balance-sheet .no-data-block{font-weight:300;font-size:16px;color:#5B6667;text-align:center;margin:15px 0}@media (min-width:992px){.analytics .widget-item .content.accounts-cash-balance{height:565px}.analytics .widget-item .content.accounts-cash-balance .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-cash-balance .edit{max-height:545px}.analytics .widget-item .content.accounts-cash-balance .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-cash-balance .data-container{height:calc(565px - 50px);width:100%}.analytics .widget-item .content.accounts-cash-balance .left-panel{width:180px;display:inline-block;overflow:auto}.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:45px;margin:3px;font-size:13px;padding:3px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.analytics .widget-item .content.accounts-cash-projection,.analytics .widget-item .content.accounts-cash-summary,.analytics .widget-item .content.accounts-comparison,.analytics .widget-item .content.accounts-detailed-classifications,.analytics .widget-item .content.accounts-profit-and-loss,.analytics .widget-item .content.hr-payroll-summary,.analytics .widget-item .content.sales-aged,.analytics .widget-item .content.sales-comparison,.analytics .widget-item .content.sales-forecast,.analytics .widget-item .content.sales-leads-funnel,.analytics .widget-item .content.sales-opportunities-funnel,.analytics .widget-item .content.sales-performance{min-height:565px}.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item:hover{background-color:#ececec}.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item i{font-size:19px;padding:4px;margin-top:1px}.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item span{color:#5B6667}.analytics .widget-item .content.accounts-cash-balance .legend-item-icon{width:16px;height:16px}.analytics .widget-item .content.accounts-cash-balance .right-panel{width:calc(100% - 180px);float:right}.analytics .widget-item .content.accounts-cash-balance .right-panel .cash-balance-chart{height:calc(565px - 50px)}.analytics .widget-item .content.accounts-cash-balance .dates-picker{display:inline-block;float:right;font-size:12px}@media (min-width:992px){.analytics .widget-item .content.accounts-cash-projection{height:565px}.analytics .widget-item .content.accounts-cash-projection .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-cash-projection .edit{max-height:545px}.analytics .widget-item .content.accounts-cash-projection .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-cash-projection .cash-projection-chart{height:calc(565px - 50px)}.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item rect.highcharts-point{display:none}.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item span{width:110px;text-align:center}.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item span img{text-align:center;width:55px;height:25px}.analytics .widget-item .content.accounts-cash-projection .dates-picker{display:inline-block;float:right;font-size:12px}.analytics .widget-item .content.accounts-cash-projection transactions-list{font-size:12px}@media (min-width:992px){.analytics .widget-item .content.accounts-cash-summary{height:565px}.analytics .widget-item .content.accounts-cash-summary .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-cash-summary .edit{max-height:545px}.analytics .widget-item .content.accounts-cash-summary .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container{max-height:540px}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line:hover{background-color:#e6e0fb}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.accounts-cash-summary .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:215px}.analytics .widget-item .content.accounts-cash-summary .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.accounts-cash-summary .row.lines-group.cash{border-top:solid 1px;border-bottom:double}@media (min-width:992px){.analytics .widget-item .content.accounts-comparison{height:565px}.analytics .widget-item .content.accounts-comparison .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-comparison .edit{max-height:545px}.analytics .widget-item .content.accounts-comparison .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}@media print{.analytics .widget-item .content.accounts-comparison .chart-container{max-width:80%!important}}.analytics .widget-item .content.accounts-comparison .add-account{position:absolute;right:40px;bottom:30px;width:160px}.analytics .widget-item .content.accounts-comparison .add-account select{font-size:13px;background-color:#977bf0;color:#fff;outline:0;border:none;cursor:pointer}.analytics .widget-item .content.accounts-comparison .add-account select[disabled]{cursor:not-allowed;background-color:#bba9f5}.analytics .widget-item .content.accounts-comparison .add-account select[disabled]:hover{background-color:#bba9f5}.analytics .widget-item .content.accounts-comparison .add-account select:hover{background-color:#734deb}.analytics .widget-item .content.accounts-comparison .add-account select option{background-color:#fff;color:#c4caca}.analytics .widget-item .content.accounts-comparison .add-account select option[disabled]{color:#fff}.analytics .widget-item .content.accounts-comparison button.close{font-size:15px}.analytics .widget-item .content.accounts-comparison .legend{text-align:left;max-height:103px}.analytics .widget-item .content.accounts-comparison .row{margin:0}.analytics .widget-item .content.accounts-comparison .widget-lines-container{font-size:11px;max-height:220px;margin-bottom:65px;overflow:auto}.analytics .widget-item .content.accounts-comparison .settings.params-checkboxes{margin-left:13px}.analytics .widget-item .content.accounts-comparison .comparable-error h5{margin-left:13px;color:#ed1e79}.analytics .widget-item .content.accounts-class-comparison .param-selector{text-align:center}.analytics .widget-item .content.accounts-class-comparison .widget-lines-container{max-height:94px;color:#626d6d}@media (min-width:992px){.analytics .widget-item .content.accounts-detailed-classifications{height:565px}.analytics .widget-item .content.accounts-detailed-classifications .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-detailed-classifications .edit{max-height:545px}.analytics .widget-item .content.accounts-detailed-classifications .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-detailed-classifications .widget-lines-container{overflow-y:scroll;overflow-x:hidden;max-height:540px}.analytics .widget-item .content.accounts-detailed-classifications .account-class-title{margin-bottom:8px;margin-left:11px}.analytics .widget-item .content.accounts-detailed-classifications .time-period-info{text-align:right}.analytics .widget-item .content.accounts-detailed-classifications .widget-line.header.sorting{border-bottom:1px solid #ccc}.analytics .widget-item .content.accounts-expense-weight .legend{text-align:left;max-height:115px}.analytics .widget-item .content.accounts-expense-weight .legend .title{text-align:center}.analytics .widget-item .content.accounts-custom-calculation h3{margin-top:85px;text-align:center;font-weight:700}.analytics .widget-item .content.accounts-custom-calculation .legend{max-height:125px}.analytics.modal-custom-calculation{margin:0;padding:0}.analytics.modal-custom-calculation .modal-body .edit{overflow-y:auto;overflow-x:hidden;color:#5B6667;font-size:12px;padding:5px;overflow:visible}.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn{border-radius:2px;margin-right:5px;padding:3px 13px;text-transform:uppercase;font-size:12px}.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn.btn-default{background-color:#c2c4c4;border:1px solid #a8abab;color:#fff}.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn.btn-default:hover{border:1px solid #8e9292;background-color:#a8abab}.analytics.modal-custom-calculation .modal-body .edit h4{margin:0 0 8px;text-align:left;font-weight:400;font-size:12px;color:#c4caca}.analytics.modal-custom-calculation .modal-body .edit .part{margin-bottom:8px;padding:10px 0;background-color:#fcfcfc;border:1px solid #dfe2e2}.analytics.modal-custom-calculation .modal-body .edit .part h5{display:block;margin:0 0 10px;padding:0 15px;text-transform:uppercase;font-weight:400;font-size:12px;color:#c4caca}.analytics.modal-custom-calculation .modal-body .edit .part label{font-weight:400}.analytics .widget-item .content.accounts-expenses-revenue .legend,.analytics .widget-item .content.accounts-payable-receivable .legend{font-weight:700}.analytics.modal-custom-calculation .modal-body .edit .part select.form-control{margin:0;border:1px solid #acb0b1;outline:0;-webkit-box-shadow:none;font-size:13px;color:#72728b}.analytics .widget-item .content.accounts-expenses-revenue .settings.params-checkboxes{font-size:12px;margin-left:0;text-align:center}.analytics .widget-item .content.accounts-payable-receivable h3{text-align:center}.analytics .widget-item .content.accounts-payable-receivable .payable{margin-top:15px}.analytics .widget-item .content.accounts-payable-receivable .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}@media (min-width:992px){.analytics .widget-item .content.accounts-profit-and-loss{height:565px}.analytics .widget-item .content.accounts-profit-and-loss .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-profit-and-loss .edit{max-height:545px}.analytics .widget-item .content.accounts-profit-and-loss .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container{max-height:540px}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line:hover{background-color:#e6e0fb}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.accounts-profit-and-loss .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:215px}.analytics .widget-item .content.accounts-profit-and-loss .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.accounts-profit-and-loss .row.lines-group.profit{border-top:solid 1px;border-bottom:double}.analytics .widget-item .content.accounts-profit-and-loss .row.widget-line.header>[class*=col-]{position:static}.analytics .widget-item .content.accounts-ratios .left-panel{max-height:230px;overflow-y:auto}.analytics .widget-item .content.accounts-ratios .left-panel .separator{border-bottom:solid 1px #5B6667;width:75%}.analytics .widget-item .content.accounts-ratios .left-panel .member{padding-top:20px;padding-bottom:20px}.analytics .widget-item .content.accounts-ratios .left-panel .member .price{margin-top:0;font-size:18px}.analytics .widget-item .content.accounts-ratios .left-panel button{outline:0}.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member{padding-top:5px}.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member .legend{display:none}.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member .price{text-align:right}.analytics .widget-item .content.accounts-ratios .left-panel.simulation .separator{width:100%}.analytics .widget-item .content.hr-employee-details{font-size:12px}.analytics .widget-item .content.hr-employee-details .details-container{padding:0;max-height:none;overflow-y:auto;overflow-x:hidden}.analytics .widget-item .content.hr-employee-details .right-panel .legend{margin-bottom:5px}.analytics .widget-item .content.hr-employee-details .title{text-align:center;margin-bottom:10px;font-size:14px}.analytics .widget-item .content.hr-employees-list .legend{margin-bottom:9px}.analytics .widget-item .content.hr-employees-list .widget-lines-container{text-align:center}.analytics .widget-item .content.hr-employees-list .widget-lines-container .widget-line:nth-child(even){background-color:#f0f0f0}.analytics .widget-item .content.hr-employees-list .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .widget-item .content.hr-employees-list .edit .widget-lines-container{text-align:left}.analytics .widget-item .content.hr-leaves-balance .employee-name{text-align:center}.analytics .widget-item .content.hr-leaves-balance .balance{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.hr-leaves-balance h3{margin-top:33px;text-align:center}.analytics .widget-item .content.hr-leaves-schedule .fc-button{height:22px;font-size:12px;color:#977bf0;background:#fff;outline:0}.analytics .widget-item .content.hr-leaves-schedule .fc-button:hover{color:#fff;background:#977bf0}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line:hover,.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line:hover{background-color:#e6e0fb}.analytics .widget-item .content.hr-leaves-schedule .fc-toolbar{margin-bottom:5px}.analytics .widget-item .content.hr-leaves-schedule .fc-day-grid,.analytics .widget-item .content.hr-leaves-schedule .fc-widget-header{font-size:12px;color:#5B6667}@media (min-width:992px){.analytics .widget-item .content.hr-employee-details .details-container{max-height:200px}.analytics .widget-item .content.hr-employee-details .right-panel .details-container{max-height:220px}.analytics .widget-item .content.hr-payroll-summary{height:565px}.analytics .widget-item .content.hr-payroll-summary .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.hr-salaries-summary h3.right,.analytics .widget-item .content.hr-workforce-summary h3.right{margin-bottom:10px;text-align:center}.analytics .widget-item .content.hr-payroll-summary .edit{max-height:545px}.analytics .widget-item .content.hr-payroll-summary .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container{max-height:540px}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.hr-payroll-summary .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:145px}.analytics .widget-item .content.hr-payroll-summary .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.hr-salaries-summary h3.left{text-align:center}.analytics .widget-item .content.hr-salaries-summary h3.reduced-left{text-align:center}@media (min-width:992px){.analytics .widget-item .content.hr-salaries-summary h3.left{margin-top:69px}.analytics .widget-item .content.hr-salaries-summary h3.reduced-left{margin-top:10px}}.analytics .widget-item .content.hr-salaries-summary .price{margin-top:0}.analytics .widget-item .content.hr-salaries-summary .widget-lines-container{max-height:75px}.analytics .widget-item .content.hr-salaries-summary .widget-lines-container .widget-line{font-size:11px}.analytics .widget-item .content.hr-superannuation-accruals h3{margin-top:63px;text-align:center}.analytics .widget-item .content.hr-superannuation-accruals .legend{margin-top:23px}.analytics .widget-item .content.hr-superannuation-accruals .currency{font-size:14px}.analytics .widget-item .content.hr-superannuation-accruals .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.hr-timesheets .currency{font-size:14px}.analytics .widget-item .content.hr-timesheets .widget-lines-container{max-height:210px}.analytics .widget-item .content.hr-workforce-summary h3.left{text-align:center}.analytics .widget-item .content.hr-workforce-summary h3.reduced-left{text-align:center}@media (min-width:992px){.analytics .widget-item .content.hr-workforce-summary h3.left{margin-top:69px}.analytics .widget-item .content.hr-workforce-summary h3.reduced-left{margin-top:10px}}.analytics .widget-item .content.hr-workforce-summary .price{margin-top:0}.analytics .widget-item .content.hr-workforce-summary .widget-lines-container{max-height:75px}.analytics .widget-item .content.hr-workforce-summary .widget-lines-container .widget-line{font-size:11px}@media (min-width:480px) and (max-width:991px){.analytics .widget-item .content.hr-salaries-summary .right-panel .chart-container,.analytics .widget-item .content.hr-workforce-summary .right-panel .chart-container{max-width:320px}}.analytics .widget-item .content.invoices-aged-payables-receivables{min-height:565px}@media (min-width:992px){.analytics .widget-item .content.invoices-aged-payables-receivables{height:565px}.analytics .widget-item .content.invoices-aged-payables-receivables .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.invoices-aged-payables-receivables .edit{max-height:545px}.analytics .widget-item .content.invoices-aged-payables-receivables .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container{max-height:540px}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.invoices-aged-payables-receivables .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:215px}.analytics .widget-item .content.sales-aged .edit .widget-lines-container,.analytics .widget-item .content.sales-comparison .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.invoices-aged-payables-receivables .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.invoices-aged-payables-receivables .row.astericks-info{margin-top:15px}.analytics .widget-item .content.invoices-aged-payables-receivables .currency-conversions{float:right;margin-left:3px}.analytics .widget-item .content.invoices-list .widget-lines-container{max-height:230px}.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line:nth-child(even){background-color:#f0f0f0}.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line.header{background-color:#fff}.analytics .widget-item .content.invoices-list .currency-conversions{float:right;margin-right:3px;margin-top:-2px}.analytics .widget-item .content.invoices-list .fa.fa-info-circle{float:right;font-size:15px}.analytics .widget-item .content.invoices-list .right-column{padding-left:0;padding-right:0}.analytics .widget-item .content.invoices-summary .chart-container{max-width:410px}.analytics .widget-item .content.invoices-summary .legend{max-height:28px}@media (min-width:992px){.analytics .widget-item .content.sales-aged{height:565px}.analytics .widget-item .content.sales-aged .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-aged .edit{max-height:545px}.analytics .widget-item .content.sales-aged .widget-lines-container{max-height:238px}.analytics .widget-item .content.sales-break-even .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.sales-break-even .block{margin:5px;padding:0 10px 5px;text-align:left;box-shadow:0 7px 10px -7px #17262d;font-size:12px}.analytics .widget-item .content.sales-break-even .block form.editable-wrap .editable-controls input{margin-top:5px;width:100px}.analytics .widget-item .content.sales-break-even .block.to-date{background-color:#f0f0f0;color:#5B6667}.analytics .widget-item .content.sales-break-even .block.to-breakeven{margin-top:10px;background-color:#192831;color:#1de9b6}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line:hover,.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main:hover{background-color:#e6e0fb}.analytics .widget-item .content.sales-break-even .block.to-breakeven .title{border-bottom:solid 1px #2a4453}.analytics .widget-item .content.sales-break-even .block.to-breakeven .define-text{font-weight:300;font-size:16px;text-align:center;padding-top:5px;color:#1de9b6}.analytics .widget-item .content.sales-break-even .block.to-breakeven .price{color:#1de9b6}.analytics .widget-item .content.sales-break-even .block .title{font-size:13px;text-align:center;font-variant:small-caps;border-bottom:solid 1px #e6edee;font-weight:300}@media (min-width:992px){.analytics .widget-item .content.sales-comparison{height:565px}.analytics .widget-item .content.sales-comparison .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-comparison .edit{max-height:545px}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.sales-comparison .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.sales-comparison .widget-lines-container{max-height:530px}.analytics .widget-item .content.sales-comparison .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:250px}.analytics .widget-item .content.sales-comparison .currency-conversions img{margin-top:-2px}.analytics .widget-item .content.sales-customer-details{font-size:12px}.analytics .widget-item .content.sales-customer-details .loader{font-size:14px}.analytics .widget-item .content.sales-customer-details .details-container{padding:0;overflow-y:auto;overflow-x:hidden}.analytics .widget-item .content.sales-forecast .edit .widget-lines-container,.analytics .widget-item .content.sales-leads-funnel .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}@media (min-width:992px){.analytics .widget-item .content.sales-customer-details .details-container{max-height:194px}.analytics .widget-item .content.sales-customer-details .right-panel .details-container{max-height:230px}}.analytics .widget-item .content.sales-customer-details .right-panel .legend{margin-bottom:5px}.analytics .widget-item .content.sales-customer-details .row.title{text-align:center;margin-bottom:10px;font-size:14px}.analytics .widget-item .content.sales-customer-details .currency-conversions{float:left;margin-right:3px}.analytics .widget-item .content.sales-cycle .chart-container{max-width:410px}.analytics .widget-item .content.sales-cycle .legend{max-height:28px}@media (min-width:992px){.analytics .widget-item .content.sales-forecast{height:565px}.analytics .widget-item .content.sales-forecast .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-forecast .edit{max-height:545px}.analytics .widget-item .content.sales-forecast .widget-lines-container{max-height:275px}.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main.no-select{cursor:auto}.analytics .widget-item .content.sales-leads-funnel .right-panel .widget-lines-container .widget-line,.analytics .widget-item .content.sales-opportunities-funnel .right-panel .widget-lines-container .widget-line{cursor:default}.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main.no-select:hover{color:#626d6d}.analytics .widget-item .content.sales-growth .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.sales-growth .legend{max-height:49px;font-size:14px;text-overflow:ellipsis;white-space:nowrap}@media (min-width:992px){.analytics .widget-item .content.sales-leads-funnel{height:565px}.analytics .widget-item .content.sales-leads-funnel .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-leads-funnel .edit{max-height:545px}.analytics .widget-item .content.sales-leads-funnel .funnel-container{width:95%;margin:15px auto auto;padding-right:10px;max-height:505px;overflow:auto}.analytics .widget-item .content.sales-leads-funnel .right-panel .widget-lines-container{max-height:545px;margin-right:10px}.analytics .widget-item .content.sales-leads-list .widget-lines-container{max-height:230px;overflow-y:scroll;overflow-x:hidden}.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line:nth-child(even){background-color:#f0f0f0}.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line.header{background-color:#fff}.analytics .widget-item .content.sales-list .widget-lines-container .widget-line:nth-child(even){background-color:#f0f0f0}.analytics .widget-item .content.sales-list .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .widget-item .content.sales-list .widget-lines-container .widget-line.header{background-color:#fff}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header:hover,.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line:hover{background-color:#e6e0fb}.analytics .widget-item .content.sales-list .widget-lines-container{overflow-y:scroll;overflow-x:hidden;max-height:170px}.analytics .widget-item .content.sales-list .widget-lines-container.no-scroll{overflow:visible}.analytics .widget-item .content.sales-list .selector{margin-bottom:4px}.analytics .widget-item .content.sales-list .currency-conversions img{margin-top:-2px}.analytics .widget-item .content.sales-net-sales .operator,.analytics .widget-item .content.sales-net-sales .value-container{line-height:85px}.analytics .widget-item .content.sales-net-sales .value-container .title{line-height:20px;font-size:1.2em;padding:10px 0}.analytics .widget-item .content.sales-net-sales .value-container .value-box{font-size:1.3em;border-radius:10px;border-top:solid 1px #C4CACA;border-bottom:solid 1px #C4CACA;white-space:nowrap}.analytics .widget-item .content.sales-net-sales .operator{padding-top:38px;font-size:1.3em}@media (min-width:992px){.analytics .widget-item .content.sales-net-sales .values{margin-top:25px}}.analytics .widget-item .content.sales-new-vs-existing-customers .selector .selector-wrap{display:inline-block;margin:0 5px}.analytics .widget-item .content.sales-new-vs-existing-customers .chart-container{margin-top:15px}.analytics .widget-item .content.sales-new-vs-existing-customers .legend{margin-top:5px;font-weight:700;max-height:77px!important}.analytics .widget-item .content.sales-new-vs-existing-customers .legend .row{margin:0 -5px}.analytics .widget-item .content.sales-new-vs-existing-customers .legend .row>div{padding:0 5px}.analytics .widget-item .content.sales-new-vs-existing-customers .legend .total{color:#5B6667;font-size:14px}.analytics .widget-item .content.sales-number-of-leads .stats{margin-top:35px;font-size:18px}.analytics .widget-item .content.sales-number-of-leads .stats .stat{margin:15px 0 10px;border-bottom:solid 1px #e6edee}.analytics .widget-item .content.sales-number-of-leads .stats .stat span.title{font-weight:700}.analytics .widget-item .content.sales-number-of-leads .stats .stat span.nominal{float:right;text-align:right;font-weight:300}.analytics .widget-item .content.sales-number-of-leads .stats .stat span.variation{float:right;width:50px;text-align:right;font-style:italic;font-size:14px;font-weight:300;margin-top:2px}.analytics .widget-item .content.sales-segmented-turnover .right-panel .fa.fa-info-circle,.analytics .widget-item .info-panel .i-header .fa-info-circle{float:left}@media (min-width:992px){.analytics .widget-item .content.sales-opportunities-funnel{height:565px}.analytics .widget-item .content.sales-opportunities-funnel .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-opportunities-funnel .edit{max-height:545px}.analytics .widget-item .content.sales-opportunities-funnel .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.sales-opportunities-funnel .funnel-container{width:95%;margin:15px auto auto;padding-right:10px;max-height:505px;overflow:auto}.analytics .widget-item .content.sales-opportunities-funnel .right-panel .widget-lines-container{max-height:545px;margin-right:10px}@media (min-width:992px){.analytics .widget-item .content.sales-performance{height:565px}.analytics .widget-item .content.sales-performance .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header .selection-tag,.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.sales-performance .edit{max-height:545px}.analytics .widget-item .content.sales-performance .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.sales-performance .widget-lines-container{max-height:540px}.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:215px}.analytics .widget-item .content.sales-performance .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header.no-select{cursor:auto}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header.no-select:hover{color:#626d6d}.analytics .widget-item .content.sales-segmented-turnover h3.right{margin-top:55px;text-align:center}.analytics .widget-item .content.sales-segmented-turnover .selector{margin-bottom:10px}.analytics .widget-item .content.sales-segmented-turnover .analysis{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.sales-segmented-turnover .widget-lines-container{max-height:75px}.analytics .widget-item .content.sales-segmented-turnover .widget-lines-container .widget-line{font-size:11px}.analytics .widget-item .content.sales-segmented-turnover .right-panel h3{margin:15px 10px 5px;text-align:center}.analytics .widget-item .content.sales-summary .chart-container{max-width:410px}.analytics .widget-item .content.sales-summary .legend{max-height:28px}.analytics .widget-item .content.sales-summary .selector{margin-bottom:5px}.analytics .widget-item .content.sales-top-customers .selector{border-bottom:dashed 1px #E6E6E6;padding-bottom:3px}.analytics .widget-item .content.sales-top-customers .selector a{font-weight:400}.analytics .widget-item .content.sales-top-customers .selector .param-selector{display:inline-block}.analytics .widget-item .content.sales-top-customers .widget-lines-container{max-height:235px}.analytics .widget-item .content.sales-top-customers .widget-lines-container .widget-line.sub-line{background-color:#f0f0f0}.analytics .widget-item .content.sales-top-customers .widget-lines-container .row>[class*=col-]{position:static}.analytics .widget-item .content.sales-top-customers .currency-conversions img{margin-top:-2px}.analytics .widget-item .content.sales-top-opportunities .opps-container{max-height:195px;margin-top:10px;padding-right:10px;overflow-y:auto;overflow-x:hidden}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile{height:40px;font-size:13px;font-weight:300}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile .colored-area{width:10%;text-align:center;font-size:20px}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile .main-text{color:#5B6667;padding:3px 0 0 10px}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first{height:55px;font-size:15px;font-weight:700}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first .colored-area{font-size:26px;padding-top:10px;background-color:#ff6e41}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first .main-text{padding-top:8px}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second{height:55px;font-size:15px;font-weight:500}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second .colored-area{font-size:26px;padding-top:10px;background-color:#1de9b6}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second .main-text{padding-top:8px}chart-threshold .attach-panel{padding:5px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:rgba(20,132,228,.16)}chart-threshold .attach-panel>.attach-panel-text,chart-threshold .attach-panel>.attach-panel-text>*{display:inline-block}chart-threshold .attach-panel .panel-text-label{text-transform:uppercase;font-weight:700;color:#5B6667;font-size:13px}chart-threshold .attach-panel .panel-text-input{border-radius:3px;border:1px #fff;padding:3px}chart-threshold .attach-panel .panel-text-currency{font-weight:700;color:#000}chart-threshold .action-buttons{display:inline-block;padding:0 10px}chart-threshold .action-buttons button{padding:3px 6px;display:inline-block}chart-threshold .action-buttons button.loading{padding:3px 20px}.currency-conversions img{width:15px;cursor:pointer}.currency-conversions.popover .popover-title{background-color:#000;color:#fff}.analytics .widget-item .editable-title{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;height:22px}.analytics .widget-item .editable-title .title{text-transform:uppercase;font-weight:600;font-size:12px;color:#4f5959;cursor:text;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.9}.analytics .widget-item .editable-title .editable-wrap{position:relative;height:20px;min-width:100%;white-space:nowrap}.analytics .widget-item .editable-title .editable-wrap .editable-controls{min-width:100%}.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-input{height:20px;font-size:12px;text-transform:uppercase;width:calc(100% - 65px);padding:0 3px}.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-buttons{background-color:#fff}.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-buttons button{margin:0 0 0 5px;height:20px;padding:0 5px}.analytics .widget-item .info-panel{position:absolute;top:15px;left:15px;width:calc(100% - 30px);max-height:calc(100% - 30px);height:100%;background-color:#fff;border:1px dotted #B7CDCE;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-family:"Lato Semibold",Lato;z-index:4}.analytics .widget-item .info-panel:hover{opacity:1}.analytics .widget-item .info-panel .i-header{background-color:#FFC928;color:#1E303B;padding:8px;text-transform:uppercase;font-family:"Lato Medium",Lato;font-size:12px}.analytics .widget-item .info-panel .i-header .fa{font-size:18px}.analytics .widget-item .info-panel .i-header .fa-times-circle{cursor:pointer;float:right}.analytics .widget-item .info-panel .i-content{overflow-y:auto;overflow-x:hidden;padding:5px;text-align:justify;-webkit-box-flex:1;-ms-flex:1;flex:1}.analytics .widget-item .info-panel .i-content .row{margin-bottom:6px;padding-bottom:6px;border-bottom:solid 1px #abc4c6}.analytics .widget-item .info-panel .i-content .row:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.analytics .widget-item .info-panel .i-content .row .key{text-align:right;font-variant:small-caps}@media (max-width:991px){.analytics .widget-item .info-panel .i-content .row .key{text-align:center}}.analytics .widget-item .info-panel .i-content .row .value{text-align:justify}.analytics .time-period-info{font-size:11px;color:#ABC4C6;text-transform:uppercase}.analytics .widget-item .top-line .top-buttons{text-align:right;margin-top:-1px;white-space:nowrap;padding-left:10px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-info,.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-refresh{font-size:17px;margin-top:1px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button{background:0 0;border:none;color:#c4caca;padding:0;outline:0;width:17px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button:active,.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button:focus{box-shadow:none}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-info:hover{color:#FFC928}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-refresh:hover{color:#358fdc}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit{font-size:13px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit.edit-mode,.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit:hover{color:#cfd849}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-close{font-size:13px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-close:hover{color:#ed1e79}.analytics .widget-item .content .settings.select-account{padding:0 5px}.analytics .settings.accounting-behaviour .btn.btn-primary{background-color:#bba9f5;border:1px solid #977bf0}.analytics .settings.accounting-behaviour .btn.btn-primary.active,.analytics .settings.accounting-behaviour .btn.btn-primary.focus{background-color:#977bf0}.analytics .settings.attach-kpis .attach-kpi{padding:8px 5px}.analytics .settings.attach-kpis .attach-kpi form .row{padding-bottom:5px}.analytics .settings.attach-kpis .attach-kpi .attach-kpi-form{background-color:#fff;border:1px solid #ddd;padding:5px}.analytics .settings.attach-kpis .attach-kpi form .row.kpi-description{padding:10px 2px}.analytics .settings.attach-kpis .attach-kpi form .row.kpi-description span{display:block;font-weight:700;font-size:13px}.analytics .settings.attach-kpis .attach-kpi form.attach-kpi-form input.attach-target{background-color:#fff;height:inherit}.analytics .settings.attach-kpis .attach-kpi .error-messages{color:#e01f74;width:120px}.analytics .settings.attach-kpis .attached-kpis{padding:5px}.analytics .settings.attach-kpis .list-group-item.attached-kpi{padding:5px 10px}.analytics .settings.attach-kpis .list-group-item.attached-kpi .attached-kpi-name{overflow:hidden;width:75%;display:inline-block;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:13px;font-weight:700}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions{padding-top:2px}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .alerts-config{display:inline-block;text-align:left;padding-left:4px;height:20px;border-radius:40px;width:21px;color:#358fdc;background-color:#fff;border:1px solid #358fdc}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .alerts-config:hover{cursor:pointer}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi{display:inline-block}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi i{border-radius:10px;width:21px;color:#358fdc;background-color:#fff;height:20px;padding:3px 5px 5px;border:1px solid #358fdc}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi i:hover{cursor:pointer}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi{display:inline-block}.analytics .settings.dates-picker button.btn.btn-sm.btn-danger,.analytics .settings.dates-picker h5{display:none}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi i{border-radius:10px;width:21px;color:#e01f74;background-color:#fff;height:20px;padding:3px 5px 5px;border:1px solid #e01f74}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi i:hover{cursor:pointer}.analytics .widget-item .content .settings.chart-filters .row{margin:0}.analytics .widget-item .content .settings.chart-filters input[type=radio]{margin:0 3px 0 0;padding:0;width:13px;height:13px;vertical-align:middle;position:relative;top:-1px;outline:0}.analytics .widget-item .content .settings.chart-filters input[type=range]{height:auto;width:100%}.analytics .settings.dates-picker button.btn.btn-sm.date-button{margin:0 5px}.analytics .settings.dates-picker button.btn.btn-sm.btn-info{border-radius:3px}.analytics .settings.dates-picker .tooltip-inner{text-transform:none}.analytics .settings.dates-picker .dropdown-menu>li>div>table{outline:0}.analytics .widget-item .content .settings.hist-mode-choser{max-height:70px}.analytics .widget-item .content .settings.hist-mode-choser [common-time-period-info]{padding-bottom:8px}.analytics .widget-item .content .settings.hist-mode-choser .options{width:150px;margin:auto;padding-bottom:8px;border-bottom:solid 1px #e6e6e6;font-weight:500;font-size:12px;color:#c4caca}.analytics .widget-item .content .settings.hist-mode-choser .options a{font-weight:500;font-size:12px;color:#c4caca;text-transform:uppercase}.analytics .widget-item .content .settings.hist-mode-choser .options a.active{color:#977bf0}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container{width:28px;height:28px;position:relative;top:-14px;margin:auto}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container.right{left:46px}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container.left{left:-30px}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container .arrow-border{border-top:14px solid #e6e6e6;border-left:14px solid transparent;border-right:14px solid transparent;width:0;height:0}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container .arrow{border-top:14px solid #fff;border-left:14px solid transparent;border-right:14px solid transparent;position:relative;top:12px;width:0;height:0}.analytics .settings.limit-entries{color:#1E303B;text-transform:uppercase;text-align:center;border-bottom:dashed 1px #E6E6E6;padding-bottom:8px}.analytics .settings.limit-entries a.option.badge{color:#fff;background-color:#1E303B}.analytics .settings.offsets .offset-value{font-style:italic;font-size:13px}.analytics .settings.offsets .offset-value .fa-trash-o{margin-left:10px}.analytics .settings.offsets .offset-value .fa-trash-o:hover{color:#e01f74;cursor:pointer}.analytics .settings.offsets input{width:75%}.analytics .settings.offsets button{width:30px}.analytics .settings.organizations .widget-lines-container .widget-line{padding:5px 10px 5px 18px}.analytics .settings.organizations .widget-lines-container .widget-line:nth-child(even){background-color:#f3f4f4}.analytics .settings.organizations .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .settings.organizations .widget-lines-container .widget-line .fa{float:right;font-size:20px;cursor:pointer}.analytics .settings.organizations .widget-lines-container .widget-line .fa.fa-toggle-on{color:#977bf0}.analytics .settings.organizations .widget-lines-container .widget-line .fa.fa-toggle-off{color:#9ba6a7}.analytics .widget-item .content .settings.param-selector{display:inline-block}.analytics .widget-item .content .settings.param-selector.classic{width:100%}.analytics .widget-item .content .settings.param-selector.classic select{width:100%;height:25px;border:1px solid #ccc;text-transform:uppercase;margin:0 0 5px}.analytics .widget-item .content .settings.param-selector a{font-weight:400;color:#977bf0;white-space:nowrap}.analytics .widget-item .content .settings.param-selector .options-container{position:absolute;background-color:#fff;text-align:left;min-width:150px;max-height:200px;z-index:999;overflow-y:auto;overflow-x:hidden;box-shadow:#000 0 3px 15px -3px}.analytics .settings.tag-filter .tag-lines-container .tag-line .host,.analytics .settings.tag-filter .tag-lines-container .tag-line .tags-col{position:static}.analytics .widget-item .content .settings.param-selector .options-container .param-selector-label{padding:3px 5px;font-weight:500;font-size:inherit;color:#000;cursor:text;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.9}.analytics .widget-item .content .settings.param-selector .options-container .param-selector-label:hover{cursor:pointer;background-color:#977bf0;color:#fff}.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar{width:8px;background-color:#d7e2e4}.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar-thumb{background-color:#977bf0}.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar-thumb:hover{background-color:#a992f3}.analytics .settings.params-checkboxes{padding:2px 0}.analytics .settings.params-checkboxes input{margin:0;height:inherit}.analytics .settings.params-checkboxes span{margin-left:5px}.analytics .settings.params-checkboxes label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:14px}.analytics .widget-item .content .settings.params-picker{padding:0 10px}.analytics .widget-item .content .settings.params-picker .parameter{margin:0 3px 3px 0;padding:3px 5px;background-color:#1E303B;color:#fff;border:1px solid #1E303B;border-radius:4px;cursor:move;font-weight:700;white-space:nowrap;float:left}.analytics .widget-item .content .settings.params-picker .parameter input[type=checkbox]{margin:0 -3px 0 3px;vertical-align:middle;height:inherit;outline:0;cursor:pointer}.analytics .widget-item .content .settings.params-picker .parameter .badge{margin-right:3px;font-size:10px;background-color:#f2f2f2;color:#1E303B;padding:2px 6px}.analytics .widget-item .content .settings.params-picker .parameter.unchecked{background-color:inherit;font-weight:400;color:inherit;border-color:#c2c4c4}.analytics .widget-item .content .settings.params-picker .parameter.unchecked .badge{background-color:#c2c4c4;color:#fff}.analytics .settings.tag-filter{padding:0 5px}.analytics .settings.tag-filter .btn.btn-default{height:32px;width:30px}.analytics .settings.tag-filter .tag-lines-container{padding:0 10px}.analytics .settings.tag-filter .tag-lines-container .tag-line{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.analytics .settings.tag-filter .tag-lines-container .tag-line tags-input .tags{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;border:1px solid #ccc}.analytics .settings.tag-filter .tag-lines-container .tag-line tags-input .tags .tag-item{background:#79a2bb;border-radius:4px;color:#fff}.analytics .settings.time-period{padding:0 5px}.analytics .settings.time-period select{height:22px;width:100%}.analytics .settings.time-period>.row{margin:0 -5px 7px}.analytics .settings.time-period>.row>div{padding:0 5px;position:static}.analytics .settings.time-period>.row .sub-setting{padding:5px}.analytics .widget-item .content .settings.width{float:right;font-size:14px}.analytics .widget-item .content .settings.width i{color:silver;cursor:pointer}.analytics .widget-item .content .settings.width i.reduce{margin-right:-10px}.analytics .widget-item .content .settings.width i.expand{margin-right:-3px} \ No newline at end of file + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}hr,img{border:0}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.btn,.kpi-alerts-settings .modal-body ul>li.list-group-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.analytics .impac-kpi .kpi.add .kpi-text .emphasis,.invisible{visibility:hidden}.analytics .impac-kpi .kpi .top-line,.analytics kpis-bar>.kpis .actions .im-form-inline,.widget-item .top-line{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea,.analytics kpis-bar>.kpis .actions .im-form-group textarea{resize:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent;color:#00e5f0;text-decoration:none}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}.img-thumbnail,body{background-color:#fff}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}td,th{padding:0}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a:focus,a:hover{color:#009ca3;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#00e5f0}a.text-primary:focus,a.text-primary:hover{color:#00b4bd}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#00e5f0}a.bg-primary:focus,a.bg-primary:hover{background-color:#00b4bd}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{border-collapse:collapse;border-spacing:0}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}.input-sm{height:30px;line-height:1.5}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;line-height:1.5}.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;line-height:1.3333333}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;line-height:1.3333333}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#00e5f0;border-color:#00cdd7}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#00b4bd;border-color:#005357}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#00b4bd;border-color:#009299}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#009299;border-color:#005357}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#00e5f0;border-color:#00cdd7}.btn-primary .badge{color:#00e5f0;background-color:#fff}.btn-success{color:#fff;background-color:#00e5f0;border-color:#00cdd7}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#00b4bd;border-color:#005357}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#00b4bd;border-color:#009299}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#009299;border-color:#005357}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00e5f0;border-color:#00cdd7}.btn-success .badge{color:#00e5f0;background-color:#fff}.btn-info{color:#fff;background-color:#00e5f0;border-color:#00cdd7}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#00b4bd;border-color:#005357}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#00b4bd;border-color:#009299}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#009299;border-color:#005357}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#00e5f0;border-color:#00cdd7}.btn-info .badge{color:#00e5f0;background-color:#fff}.btn-warning{color:#fff;background-color:#977bf0;border-color:#8564ed}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#734deb;border-color:#3d15bd}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#734deb;border-color:#5a2de7}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#5a2de7;border-color:#3d15bd}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#977bf0;border-color:#8564ed}.btn-warning .badge{color:#977bf0;background-color:#fff}.btn-danger{color:#fff;background-color:#e01f74;border-color:#ca1c68}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#b3195d;border-color:#5a0c2e}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#b3195d;border-color:#94144d}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#94144d;border-color:#5a0c2e}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#e01f74;border-color:#ca1c68}.btn-danger .badge{color:#e01f74;background-color:#fff}.btn-link{color:#00e5f0;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#009ca3;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#00e5f0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#00e5f0}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#00e5f0}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#00e5f0;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#009ca3;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#00e5f0;border-color:#00e5f0;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}a.badge:focus,a.badge:hover,a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#00e5f0}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#00b4bd}.label-success{background-color:#00e5f0}.label-success[href]:focus,.label-success[href]:hover{background-color:#00b4bd}.label-info{background-color:#00e5f0}.label-info[href]:focus,.label-info[href]:hover{background-color:#00b4bd}.label-warning{background-color:#977bf0}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#734deb}.label-danger{background-color:#e01f74}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#b3195d}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#00e5f0;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#00e5f0}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar,.progress-bar-info,.progress-bar-success{background-color:#00e5f0}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#977bf0}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#e01f74}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#00e5f0;border-color:#00e5f0}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#bdfcff}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#00e5f0}.panel-primary>.panel-heading{color:#fff;background-color:#00e5f0;border-color:#00e5f0}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#00e5f0}.panel-primary>.panel-heading .badge{color:#00e5f0;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#00e5f0}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover{background-clip:padding-box}.modal{display:none;position:fixed;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px;margin-bottom:-5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.analytics h2,.analytics h3{font-size:14px;color:#5B6667}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.top-buffer-1{margin-top:15px}.top-buffer-2{margin-top:30px}.top-buffer-3{margin-top:45px}.top-buffer-4{margin-top:60px}.top-buffer-5{margin-top:75px}.top-buffer-6{margin-top:90px}.top-buffer-7{margin-top:105px}.top-buffer-8{margin-top:120px}.top-buffer-9{margin-top:135px}.top-buffer-10{margin-top:150px}body{height:101%!important}.analytics h2{margin-top:2px}.analytics h3{margin:0;font-weight:300;text-align:left}.analytics h4{color:#5B6667;font-size:16px}.analytics .green,.analytics .positive{color:green!important}.analytics .negative,.analytics .red{color:#ed1e79!important}.analytics .positive2{color:#3fc4ff!important}.analytics .negative2{color:#1de9b6!important}.analytics a{font-weight:700;color:#977bf0;cursor:pointer}.analytics .input-group{width:100%}.analytics select{margin-top:5px;background-color:#fff;height:32px}.analytics pre{font-size:12px;padding:0;margin:1px 0 8px;border:none;white-space:pre-wrap;word-wrap:break-word;overflow:hidden}.analytics .widget-item .content ::-webkit-scrollbar,.analytics kpis-bar .kpi ::-webkit-scrollbar{width:6px;background-color:transparent}.analytics .widget-item .content ::-webkit-scrollbar-thumb,.analytics kpis-bar .kpi ::-webkit-scrollbar-thumb{background-color:#6896b2;border-radius:10px}.analytics .widget-item .content ::-webkit-scrollbar-thumb:hover,.analytics kpis-bar .kpi ::-webkit-scrollbar-thumb:hover{background-color:#79a2bb}.analytics .nopadding{padding:0}.analytics .nomargin{margin:0}.analytics .btn.btn-shaded{background-color:#17262d;border:1px solid #0e181c;color:#626d6d;font-weight:400}.analytics .btn.btn-shaded:hover{color:#6e7a7a;background-color:#20343e}.analytics .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:30px}.analytics .currency{font-weight:300;font-size:16px;text-align:center;color:#9ba6a7}.analytics .legend{font-weight:300;font-size:12px;text-align:center;overflow-y:auto;overflow-x:hidden;color:#c4caca}.analytics .loader{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.analytics .loader i{color:#67BBE9}.analytics .loader p{margin-top:10px}.analytics .right-panel{border-left:solid 1px #e6e6e6}.analytics .selector{text-transform:uppercase;font-size:12px;color:#626d6d;text-align:center}.analytics .tile{background-color:#f7f7f7;box-shadow:0 7px 10px -7px #17262d;height:45px;margin-bottom:10px;white-space:nowrap;cursor:pointer}.analytics .tile:hover{background-color:#e2f2ff}.analytics .tile .colored-area{background-color:#3FC4FF;height:100%;float:right;color:#fff;text-align:right;padding:5px 10px;min-width:8%}.analytics .tile .colored-area.selected{background-color:#977bf0}.analytics .tile .main-text{color:#5B6667;padding:20px 0 0 5px;height:100%;font-style:italic;font-weight:700}.analytics .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:200px;text-align:left;font-size:12px;padding:0 15px}.analytics .widget-lines-container .row.widget-line{padding:5px;color:#626d6d}.analytics .widget-lines-container .row.widget-line.header{font-weight:500;font-size:12px;color:#9ba6a7;text-transform:uppercase}@media (max-width:767px){.analytics .widget-lines-container .row.widget-line{margin:inherit;margin-left:-3px;margin-right:-3px;padding:2px}.analytics .widget-lines-container .row.widget-line>[class*=col-]{padding-left:3px;padding-right:3px}}.analytics .widget-lines-container .row.widget-line i.fa{min-width:12px;min-height:12px}.analytics .widget-lines-container .row .dashed{border-bottom:dashed 1px #dfe2e2;padding-bottom:3px;margin-bottom:3px}.analytics .widget-lines-container .row.lines-group{border-top:solid 1px #e6edee}.vertical-scroll{overflow-y:scroll}.horizontal-scroll{overflow-x:scroll}.tooltip.impac-widgets-tooltip .tooltip-inner.ng-binding{text-align:left;background-color:#232528;max-width:100%;white-space:nowrap}.tooltip.impac-widgets-tooltip .tooltip-inner.ng-binding strong{color:#dae173}.sortable-title{cursor:pointer}.sortable-title div{display:inline-block}.has-error .form-control,.has-error .form-control:focus{border-color:#e01f74}.has-success .form-control,.has-success .form-control:focus{border-color:#00e5f0}.row.no-gutters{margin-right:0;margin-left:0}[class*=" col-"].no-gutters,[class^=col-].no-gutters{padding-right:0;padding-left:0}@media print{body{background-color:#fff!important}.analytics{padding-top:0!important}.analytics #module__dashboard-selector .title-container{margin-top:20px}.analytics .widget-item{page-break-inside:avoid}.analytics .widget-item .content .chart-container{max-width:270px;margin:auto}.analytics .widget-item .content .chart-container canvas{width:100%!important;height:100%!important}.analytics .widget-item .right-panel{page-break-inside:avoid;border-left:0}.analytics .widget-item .right-panel .chart-container{max-width:inherit;max-height:inherit}.analytics .widget-item .right-panel .chart-container canvas{width:80%!important;height:80%!important}*{-webkit-transition:none!important;transition:none!important}}.kpi-alerts-settings .modal-header{font-size:20px}.kpi-alerts-settings .modal-body{line-height:2}.kpi-alerts-settings .modal-body ul{margin-top:10px}.kpi-alerts-settings .modal-body ul>li.list-group-item{list-style:none;padding:6px 15px;color:#9ba6a7;user-select:none}.kpi-alerts-settings .modal-body ul>li.list-group-item .alert-toggle:hover{cursor:pointer}.kpi-alerts-settings .modal-body ul>li.list-group-item.active{color:#358fdc;font-weight:700;background-color:transparent;border-color:#c4caca}.kpi-alerts-settings .modal-body .fa.fa-toggle-off,.kpi-alerts-settings .modal-body .fa.fa-toggle-on{font-size:17px;margin-right:8px}.kpi-alerts-settings .modal-body ul.recipients-list{height:75px;overflow:hidden;overflow-y:scroll;border:1px solid #c4caca}.kpi-alerts-settings .modal-body ul.recipients-list li{border:none}.kpi-alerts-settings .modal-body input.recipient-search{color:#000;width:100%}.kpi-alerts-settings .modal-body ul.available{margin-top:0}.analytics{padding-top:50px;margin-left:100px}@media screen and (max-width:992px){.analytics{padding-top:150px}}.analytics.pdf-mode{padding-top:20px}.analytics.show-dhb{-webkit-transition:opacity 1s;transition:opacity 1s;opacity:1}.analytics.hide-dhb{opacity:0}.analytics #dashboard-heading img{float:left;margin-right:15px;max-width:200px;max-height:150px}.analytics #dashboard-heading img.pdf-mode:hover{cursor:pointer}.analytics #dashboard-heading .caption{font-size:14px;margin:5px 0}.analytics #sub-menu{margin-top:15px}.analytics #sub-menu h3{font-size:26px;font-weight:400;margin-bottom:10px;color:#233845}.analytics #sub-menu .fa.fa-times{margin:6px;color:#3d6178;cursor:pointer;float:right}.analytics #widget-selector{background-color:#233845;color:#fff;padding:0 45px 10px;margin:10px -45px;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}@media (max-width:767px){.analytics #widget-selector{padding:0 15px 10px;margin:0}}.analytics #widget-selector .title{padding:15px 0;border-bottom:solid 1px #2d4859;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.analytics #widget-selector .title p.instruction{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0}@media screen and (max-width:768px){.analytics #widget-selector .title p.instruction{width:50%;font-size:13px}}.analytics #widget-selector .title .widget-added.badge{margin-right:10px;opacity:0}.analytics #widget-selector .title .fa.close-selector{float:right;cursor:pointer;font-size:20px;padding:6px}.analytics #widget-selector .title .fa.close-selector:hover{color:#999}.analytics #widget-selector .top-container{margin:15px 0;background-color:transparent;border-radius:3px}.analytics #widget-selector .section-header{padding:10px 20px;font-weight:700;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.analytics #widget-selector .section-lines{overflow-x:hidden;overflow-y:auto;height:200px;margin-right:-10px;margin-left:0}.analytics #widget-selector .section-lines p{padding:5px;margin:0;cursor:pointer}.analytics #widget-selector .section-lines p.selected,.analytics #widget-selector .section-lines p:hover{color:#fff}.analytics #widget-selector .section-lines::-webkit-scrollbar{width:6px;background-color:transparent}.analytics #widget-selector .section-lines::-webkit-scrollbar-thumb{background-color:#28404f;border-radius:10px}.analytics #widget-selector .section-lines::-webkit-scrollbar-thumb:hover{background-color:#2d4859}.analytics #widget-selector .categories-section{background-color:#192831;padding-bottom:15px}.analytics #widget-selector .categories-section>.section-lines>[class*=col-]:first-child{padding:3px 12px}.analytics #widget-selector .categories-section>.section-lines .line-item:hover{background-color:#1e303b}.analytics #widget-selector .categories-section>.section-lines .line-item.selected{background-color:#977bf0;font-weight:700;box-shadow:-2px 2px 10px -4px #000}.analytics #widget-selector .categories-section .arrow-icon{position:absolute;top:33px;right:-11px;z-index:1}.analytics #widget-selector .categories-section .arrow-icon .square{width:50px;height:30px;position:absolute;top:10px;right:17px;background-color:#977bf0}.analytics #widget-selector .categories-section .arrow-icon i.fa.fa-caret-right{font-size:52px;color:#977bf0;float:right;position:absolute;top:-1.5px;right:0}.analytics #widget-selector .widgets-section{background-color:#1e303b;padding-bottom:15px}.analytics #widget-selector .widgets-section>.section-header{text-transform:uppercase;font-size:12px;color:#977bf0}.analytics #widget-selector .widgets-section>.section-lines{padding:3px 0}.analytics #widget-selector .widgets-section>.section-lines .fa.fa-plus-circle{float:right;margin-top:3px}.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;height:0%}.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid>.grid-item{padding:0 13px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex:0 31.33%;flex:0 31.33%;margin:0 1%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:solid 1px #233845;min-height:0}@media screen and (max-width:992px){.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid>.grid-item{-webkit-box-flex:0;-ms-flex:0 100%;flex:0 100%}}.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid>.grid-item:hover{background-color:#192831;font-weight:400}.analytics #widget-selector .widgets-section>.section-lines>.line-items-grid>.grid-item p.line-item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.analytics #widget-selector .bottom{height:20px}.analytics #widget-selector .bottom>.suggestion{float:right;opacity:.7}.analytics #widget-selector .bottom>.suggestion a{cursor:pointer}.analytics #widget-selector .bottom>.suggestion a:hover{color:#00e5f0}.analytics #widget-selector .bottom>.suggestion:hover{opacity:1}.analytics #dashboard-settings-panel{position:relative;margin-top:5px}.analytics #dashboard-settings-panel>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.analytics #dashboard-settings-panel>div>*{margin:0 3px}.analytics #dashboard-settings-panel select{margin:0;height:34px;padding-top:1px}.analytics #no-widgets-container{position:relative;min-height:150px}.analytics #no-widgets-container img.bg{left:0;top:0;min-width:100%;min-height:100%}.analytics #no-widgets-container .impac-info-message{position:absolute;top:0;width:100%}.analytics #no-widgets-container .impac-info-message .info-text{font-size:25px;font-weight:300;padding:20px;min-height:115px;color:#fff;border-radius:10px;background-color:rgba(23,38,45,.7)}.analytics #widgets-section #widgets-container{min-height:700px}.analytics #widgets-section .placeHolderBox{margin:12px;height:267px;width:300px;float:left;border:2px dashed #abc4c6;background:0 0}.analytics.load-failed p{font-size:22px}.analytics.load-failed .second-msg p{color:#e01f74;font-size:14px}.tooltip.impac-widget-selector-tooltip .tooltip-inner.ng-binding{font-size:14px}.dhb-create-modal .dashboard-form .col-sm-2.control-label{text-align:left}.impac-widget-suggestion .modal-body input,.impac-widget-suggestion .modal-body textarea{width:100%;color:#000}.impac-widget-suggestion .modal-body textarea{height:150px}.impac-widget-suggestion .modal-body .thanks-message{color:#dae173}.modal-footer .loader{color:#fff}#module__dashboard-selector a{font-weight:400}#module__dashboard-selector>div:first-child{border-bottom:1px solid #abc4c6}#module__dashboard-selector .buttons-bar-row{margin-top:54px}#module__dashboard-selector .buttons-bar-row.pdf-mode{margin-top:0}#module__dashboard-selector .buttons-bar{padding:0;position:relative}#module__dashboard-selector .buttons-bar .btn{float:right;margin:3px;border-radius:4px}#module__dashboard-selector .buttons-bar .title-container h1{margin:0;color:#000;cursor:auto}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-title{color:#977bf0;display:inline;cursor:pointer}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-title:hover{color:#734deb}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-title i.fa.fa-pencil{margin-left:20px;font-size:14px}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-title i.fa.fa-pencil:hover{color:#dae173}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select{margin:5px 0 10px 30px;height:auto;border-left:1px solid #977bf0;border-bottom:1px solid #977bf0;width:300px;background-color:#e6edee;cursor:pointer}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option{color:#17262d;white-space:nowrap}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option:hover{background-color:#fff}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option.create{background-color:#977bf0;color:#fff;height:30px;padding:5px 10px}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option.create:hover{background-color:#734deb}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option i.fa.fa-pencil{float:right;padding-top:7px;text-align:center;width:15%;height:30px}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option i.fa.fa-pencil:hover{color:#734deb}#module__dashboard-selector .buttons-bar .dropdown-container .dashboard-select .option span.name{width:85%;height:30px;display:inline-block;padding:5px 10px}#module__dashboard-selector .buttons-bar .dropdown-container .change-name{position:absolute;top:30px;left:20px;width:60%;background-color:#17262d;color:#fff;padding:10px;border-radius:4px;text-align:center;box-shadow:0 0 25px 4px #000;z-index:50;border:1px solid #fff}#module__dashboard-selector .buttons-bar .dropdown-container .change-name .form-control{height:25px;margin-bottom:10px}#module__dashboard-selector .buttons-bar .dropdown-container .data-source-label{color:#17262d;padding-left:3px;margin:0}#module__dashboard-selector .buttons-bar .loader-container{padding-left:10px}#module__dashboard-selector .buttons-bar .loader-container .loading-spinner{color:#67BBE9;font-size:40px}#module__dashboard-selector .nav-tabs{border-bottom:0}#module__dashboard-selector .nav.nav-pills li:last-child>a,#module__dashboard-selector .nav.nav-tabs li:last-child>a{padding-right:15px}#module__dashboard-selector .nav.nav-pills li:last-child>a tab-heading a,#module__dashboard-selector .nav.nav-tabs li:last-child>a tab-heading a{position:static}#module__dashboard-selector .nav.nav-tabs li>a{padding:10px 8px 10px 15px;margin:0 2px 0 0;background-color:transparent;border:1px solid #abc4c6;color:#000}#module__dashboard-selector .nav.nav-tabs li.active>a{background-color:#fff;color:#977bf0}#module__dashboard-selector .nav.nav-tabs li:last-child.active>a{background-color:transparent}#module__dashboard-selector .nav.nav-pills li>a{min-width:0;padding-right:8px}#module__dashboard-selector .nav.nav-pills li:last-child tab-heading a{margin-left:2px}#module__dashboard-selector .nav.nav-pills li:last-child.active>a{background-color:#f4f4f4}#module__dashboard-selector tab-heading a.close-link{border-bottom:0 solid;margin-left:12px;position:relative;top:-9px;right:1px;color:#000}dashboard-templates-selector .templates-header{display:-webkit-box;display:-ms-flexbox;display:flex}dashboard-templates-selector .templates-header .templates-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;font-size:20px}dashboard-templates-selector .templates-header .templates-toggle i.fa{cursor:pointer}dashboard-templates-selector .templates-header .templates-toggle i.fa.fa-toggle-on{color:#977bf0}dashboard-templates-selector .templates{border:1px solid #ccc;box-shadow:inset 0 0 1px 0 #ccc;height:130px;overflow:auto;border-radius:2px}dashboard-templates-selector .templates .template{padding:5px 10px;color:#5B6667;border-bottom:1px solid #ececec}.analytics .impac-kpi .kpi.add:hover .kpi-icon,.analytics .impac-kpi .kpi.add:hover .kpi-text{color:#000}dashboard-templates-selector .templates .template:hover{cursor:pointer;background-color:rgba(96,232,119,.62)}dashboard-templates-selector .templates .template.selected{background-color:rgba(29,197,57,.62)}.analytics .impac-kpi .kpi{position:relative;max-width:220px;min-height:95px;max-height:95px;background-color:#fff;margin:10px 0;border-bottom:1px solid #fff;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}@media screen and (max-width:768px){.analytics .impac-kpi .kpi{margin-left:auto;margin-right:auto}}.analytics .impac-kpi .kpi.add:hover,.analytics .impac-kpi .kpi.triggered{border-bottom:4px solid #e01f74}.analytics .impac-kpi .kpi.add:hover{cursor:pointer}.analytics .impac-kpi .kpi.add:hover .top-line{background-color:#000}.analytics .impac-kpi .kpi.add:hover .kpi-text .emphasis{visibility:visible}.analytics .impac-kpi .kpi.add:hover .kpi-icon .fa-plus:before{content:"\f00c"}.analytics .impac-kpi .kpi.editing{min-height:185px}.analytics .impac-kpi .kpi:hover{cursor:default}.analytics .impac-kpi .kpi.static .kpi-value{display:block;font-size:14px;font-weight:700}.analytics .impac-kpi .kpi .top-line{width:100%;position:relative;cursor:move;padding:9px 9px 0 12px;border-bottom:none;min-height:7px;box-shadow:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin-bottom:5px;background-color:grey;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.analytics .impac-kpi .kpi .top-line.triggered{background-color:#000}.analytics .impac-kpi .kpi .kpi-content{max-height:90px}.analytics .impac-kpi .kpi .kpi-content.editing{min-height:180px;overflow-y:auto;overflow-x:hidden}.analytics .impac-kpi .kpi .kpi-show{white-space:normal;padding:10px}.analytics .impac-kpi .kpi .kpi-show .caption,.analytics .impac-kpi .kpi .kpi-show .emphasis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width:380px){.analytics .impac-kpi .kpi .kpi-show{padding:10px 3px}}.analytics .impac-kpi .kpi .kpi-show .emphasis .real-value{color:#676767}.analytics .impac-kpi .kpi .kpi-show .kpi-text{padding:7px 0;color:grey;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.analytics .impac-kpi .kpi .kpi-show .kpi-text>span{display:block}.analytics .impac-kpi .kpi .kpi-show .kpi-text.triggered{color:#000}.analytics .impac-kpi .kpi .kpi-show .kpi-text .caption{font-size:11px;padding-bottom:2px}@media screen and (max-width:465px){.analytics .impac-kpi .kpi .kpi-show .kpi-text .caption{font-size:10px}.analytics .impac-kpi .kpi .kpi-show .kpi-text .emphasis{font-size:11px}}.analytics .impac-kpi .kpi .kpi-show .kpi-icon{font-size:16px;padding:10px 0;color:grey;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.analytics .impac-kpi .kpi .kpi-show .kpi-icon.triggered{color:#000}@media screen and (max-width:465px){.analytics .impac-kpi .kpi .kpi-show .kpi-icon{font-size:12px;padding:16px 0}}.analytics .impac-kpi .kpi .kpi-edit a{color:#fff}.analytics .impac-kpi .kpi .kpi-edit .kpi-name{text-align:center;margin-bottom:5px}.analytics .impac-kpi .kpi .kpi-edit .kpi-name h6{margin:0 0 5px}.analytics .impac-kpi .kpi .kpi-edit .real-value{text-transform:uppercase;font-size:10px;text-align:center}.analytics .impac-kpi .kpi .kpi-edit .alert-caption{text-align:center;font-size:11px;background:#f99;border-radius:3px;width:100%;margin:0 auto 5px;box-shadow:none;padding:2px;color:#fff}.analytics .impac-kpi .kpi .kpi-edit .kpi-target-unit,.analytics .impac-kpi .kpi .kpi-edit .kpi-target-watchable{text-transform:uppercase;font-weight:500;font-size:11px}.analytics .impac-kpi .kpi .kpi-edit .kpi-target-watchable{margin-bottom:20px;color:#8d8d8d}.analytics .impac-kpi .kpi .kpi-edit .kpi-target-unit{position:absolute;top:6px;right:0;color:#9a9a9a}.analytics .impac-kpi .kpi .kpi-edit .param-name{font-size:85%}.analytics .impac-kpi .kpi .kpi-edit .btn.btn-xs{margin-top:4px}.analytics .impac-kpi .kpi .kpi-edit .add-on,.analytics .impac-kpi .kpi .kpi-edit .alert,.analytics .impac-kpi .kpi .kpi-edit .badge,.analytics .impac-kpi .kpi .kpi-edit .btn,.analytics .impac-kpi .kpi .kpi-edit .dropdown-menu,.analytics .impac-kpi .kpi .kpi-edit .img-polaroid,.analytics .impac-kpi .kpi .kpi-edit .label,.analytics .impac-kpi .kpi .kpi-edit .modal,.analytics .impac-kpi .kpi .kpi-edit .nav>.active>a,.analytics .impac-kpi .kpi .kpi-edit .navbar-inner,.analytics .impac-kpi .kpi .kpi-edit .popover,.analytics .impac-kpi .kpi .kpi-edit .progress,.analytics .impac-kpi .kpi .kpi-edit .table-bordered,.analytics .impac-kpi .kpi .kpi-edit .tooltip,.analytics .impac-kpi .kpi .kpi-edit .tooltip-inner,.analytics .impac-kpi .kpi .kpi-edit .well,.analytics .impac-kpi .kpi .kpi-edit input,.analytics .impac-kpi .kpi .kpi-edit pre,.analytics .impac-kpi .kpi .kpi-edit select,.analytics .impac-kpi .kpi .kpi-edit textarea,.analytics .impac-kpi .kpi .kpi-no-data .add-on,.analytics .impac-kpi .kpi .kpi-no-data .alert,.analytics .impac-kpi .kpi .kpi-no-data .badge,.analytics .impac-kpi .kpi .kpi-no-data .btn,.analytics .impac-kpi .kpi .kpi-no-data .dropdown-menu,.analytics .impac-kpi .kpi .kpi-no-data .img-polaroid,.analytics .impac-kpi .kpi .kpi-no-data .label,.analytics .impac-kpi .kpi .kpi-no-data .modal,.analytics .impac-kpi .kpi .kpi-no-data .nav>.active>a,.analytics .impac-kpi .kpi .kpi-no-data .navbar-inner,.analytics .impac-kpi .kpi .kpi-no-data .popover,.analytics .impac-kpi .kpi .kpi-no-data .progress,.analytics .impac-kpi .kpi .kpi-no-data .table-bordered,.analytics .impac-kpi .kpi .kpi-no-data .tooltip,.analytics .impac-kpi .kpi .kpi-no-data .tooltip-inner,.analytics .impac-kpi .kpi .kpi-no-data .well,.analytics .impac-kpi .kpi .kpi-no-data input,.analytics .impac-kpi .kpi .kpi-no-data pre,.analytics .impac-kpi .kpi .kpi-no-data select,.analytics .impac-kpi .kpi .kpi-no-data textarea{box-shadow:none!important;border-radius:0!important;border-collapse:collapse!important;background-image:none!important}.analytics .impac-kpi .kpi .kpi-edit body,.analytics .impac-kpi .kpi .kpi-edit body::after,.analytics .impac-kpi .kpi .kpi-edit body::before,.analytics .impac-kpi .kpi .kpi-edit input,.analytics .impac-kpi .kpi .kpi-edit input::after,.analytics .impac-kpi .kpi .kpi-edit input::before,.analytics .impac-kpi .kpi .kpi-edit select,.analytics .impac-kpi .kpi .kpi-edit select::after,.analytics .impac-kpi .kpi .kpi-edit select::before,.analytics .impac-kpi .kpi .kpi-edit textarea,.analytics .impac-kpi .kpi .kpi-edit textarea::after,.analytics .impac-kpi .kpi .kpi-edit textarea::before,.analytics .impac-kpi .kpi .kpi-no-data body,.analytics .impac-kpi .kpi .kpi-no-data body::after,.analytics .impac-kpi .kpi .kpi-no-data body::before,.analytics .impac-kpi .kpi .kpi-no-data input,.analytics .impac-kpi .kpi .kpi-no-data input::after,.analytics .impac-kpi .kpi .kpi-no-data input::before,.analytics .impac-kpi .kpi .kpi-no-data select,.analytics .impac-kpi .kpi .kpi-no-data select::after,.analytics .impac-kpi .kpi .kpi-no-data select::before,.analytics .impac-kpi .kpi .kpi-no-data textarea,.analytics .impac-kpi .kpi .kpi-no-data textarea::after,.analytics .impac-kpi .kpi .kpi-no-data textarea::before{box-sizing:border-box}.analytics .impac-kpi .kpi .kpi-edit input[type=number]::-webkit-inner-spin-button,.analytics .impac-kpi .kpi .kpi-edit input[type=number]::-webkit-outer-spin-button,.analytics .impac-kpi .kpi .kpi-no-data input[type=number]::-webkit-inner-spin-button,.analytics .impac-kpi .kpi .kpi-no-data input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.analytics .impac-kpi .kpi .kpi-edit a:hover,.analytics .impac-kpi .kpi .kpi-no-data a:hover{text-decoration:none}.analytics .impac-kpi .kpi .kpi-edit fieldset,.analytics .impac-kpi .kpi .kpi-no-data fieldset{margin:0 0 1.75rem;padding:0;border:none}.analytics .impac-kpi .kpi .kpi-edit .im-form-group,.analytics .impac-kpi .kpi .kpi-edit .im-form-radio,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group,.analytics .impac-kpi .kpi .kpi-no-data .im-form-radio{position:relative;margin-top:1.3125rem;margin-bottom:1.3125rem}.analytics .impac-kpi .kpi .kpi-edit .im-form-inline,.analytics .impac-kpi .kpi .kpi-no-data .im-form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;box-sizing:border-box}.analytics .impac-kpi .kpi .kpi-edit .im-form-inline>.im-form-group,.analytics .impac-kpi .kpi .kpi-no-data .im-form-inline>.im-form-group{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;vertical-align:middle;margin-left:.175rem;margin-right:.175rem}.analytics .impac-kpi .kpi .kpi-edit .im-form-inline>.btn,.analytics .impac-kpi .kpi .kpi-no-data .im-form-inline>.btn{display:inline-block;margin-bottom:0}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input{height:2.375rem}.analytics .impac-kpi .kpi .kpi-edit .im-form-group select,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select{width:100%;font-size:1.25rem;height:2rem;padding:.15625rem .15625rem .078125rem;background:0 0;border:none;line-height:1.6;box-shadow:none}.analytics .impac-kpi .kpi .kpi-edit .im-form-group .im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group .im-control-label{position:absolute;top:.3125rem;pointer-events:none;padding-left:.15625rem;z-index:1;color:#b3b3b3;font-size:1.25rem;font-weight:400;-webkit-transition:all .28s ease;transition:all .28s ease}.analytics .impac-kpi .kpi .kpi-edit .im-form-group .im-bar,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group .im-bar{position:relative;border-bottom:.078125rem solid #999;display:block}.analytics .impac-kpi .kpi .kpi-edit .im-form-group .im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group .im-bar::before{content:'';height:.15625rem;width:0;left:50%;bottom:-.078125rem;position:absolute;background:#358fdc;-webkit-transition:left .28s ease,width .28s ease;transition:left .28s ease,width .28s ease;z-index:2}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea{display:block;background:0 0;padding:.15625rem .15625rem .078125rem;font-size:1.25rem;border-width:0;border-color:transparent;line-height:1.9;width:100%;color:transparent;-webkit-transition:all .28s ease;transition:all .28s ease;box-shadow:none}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input[type=file],.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input[type=file]{line-height:1}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input[type=file]~.im-bar,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input[type=file]~.im-bar{display:none}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input.form-file,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input.has-value,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:valid,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea.form-file,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea.has-value,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:valid,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input.form-file,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input.has-value,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:valid,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea.form-file,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea.has-value,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:valid{color:#333}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input.form-file~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input.has-value~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:valid~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea.form-file~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea.has-value~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:valid~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input.form-file~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input.has-value~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:valid~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea.form-file~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea.has-value~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:valid~.im-control-label{font-size:1rem;color:grey;top:-1.25rem;left:0}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select:focus,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus{outline:0}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select:focus~.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus~.im-control-label{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-form-group input:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-edit .im-form-group select:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-edit .im-form-group textarea:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group input:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group select:focus~.im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .im-form-group textarea:focus~.im-bar::before{width:100%;left:0}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox label,.analytics .impac-kpi .kpi .kpi-edit .im-form-radio label,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox label,.analytics .impac-kpi .kpi .kpi-no-data .im-form-radio label{position:relative;cursor:pointer;padding-left:2.5rem;text-align:left;color:#333;display:block}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input,.analytics .impac-kpi .kpi .kpi-edit .im-form-radio input,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input,.analytics .impac-kpi .kpi .kpi-no-data .im-form-radio input{width:auto;opacity:.00000001;position:absolute;left:0}.analytics .impac-kpi .kpi .kpi-edit .im-radio,.analytics .impac-kpi .kpi .kpi-no-data .im-radio{margin-bottom:1.25rem}.analytics .impac-kpi .kpi .kpi-edit .im-radio .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-radio .im-helper{position:absolute;top:-.3125rem;left:-.3125rem;cursor:pointer;display:block;font-size:1.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.analytics .impac-kpi .kpi .kpi-edit .im-radio .im-helper::after,.analytics .impac-kpi .kpi .kpi-edit .im-radio .im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-radio .im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-radio .im-helper::before{content:'';position:absolute;left:0;top:0;margin:.3125rem;width:1.25rem;height:1.25rem;-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;border-radius:50%;border:.15625rem solid currentColor}.analytics .impac-kpi .kpi .kpi-edit .im-radio .im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-radio .im-helper::after{-webkit-transform:scale(0);transform:scale(0);background-color:#358fdc;border-color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-radio label:hover .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-radio label:hover .im-helper{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-radio input:checked~.im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-radio input:checked~.im-helper::after{-webkit-transform:scale(.5);transform:scale(.5)}.analytics .impac-kpi .kpi .kpi-edit .im-radio input:checked~.im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-radio input:checked~.im-helper::before{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox{margin-top:1.75rem;margin-bottom:1.25rem}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper{color:#999;position:absolute;top:0;left:0;width:1.25rem;height:1.25rem;z-index:0;border:.15625rem solid currentColor;border-radius:.078125rem;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper::after,.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper::before{position:absolute;height:0;width:.25rem;background-color:#358fdc;display:block;-webkit-transform-origin:left top;transform-origin:left top;border-radius:.3125rem;content:'';-webkit-transition:opacity .28s ease,height 0s linear .28s;transition:opacity .28s ease,height 0s linear .28s;opacity:0}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper::before{top:.8125rem;left:.475rem;-webkit-transform:rotate(-135deg);transform:rotate(-135deg);box-shadow:0 0 0 .078125rem #fff}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox .im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox .im-helper::after{top:.375rem;left:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox label:hover .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox label:hover .im-helper{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper{color:#358fdc}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper::after,.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper::before{opacity:1;-webkit-transition:height .28s ease;transition:height .28s ease}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper::after,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper::after{height:.625rem}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox input:checked~.im-helper::before,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox input:checked~.im-helper::before{height:1.5rem;-webkit-transition-delay:.28s;transition-delay:.28s}.analytics .impac-kpi .kpi .kpi-edit .im-checkbox+.im-checkbox,.analytics .impac-kpi .kpi .kpi-edit .im-radio+.im-radio,.analytics .impac-kpi .kpi .kpi-no-data .im-checkbox+.im-checkbox,.analytics .impac-kpi .kpi .kpi-no-data .im-radio+.im-radio{margin-top:1.25rem}.analytics .impac-kpi .kpi .kpi-edit .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .im-messages{font-size:1.04166667rem;color:#e01f74;overflow:hidden;-webkit-transition:all .28s cubic-bezier(.55,0,.55,.2);transition:all .28s cubic-bezier(.55,0,.55,.2);opacity:0;margin-top:0;padding-top:5px}.analytics .impac-kpi .kpi .kpi-edit .has-error .legend.legend,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-group .im-control-label.im-control-label,.analytics .impac-kpi .kpi .kpi-no-data .has-error .legend.legend,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-group .im-control-label.im-control-label{color:#e01f74}.analytics .impac-kpi .kpi .kpi-edit .has-error.im-checkbox .im-helper,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-checkbox .im-messages,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-group .im-helper,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-group .im-messages,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-radio .im-helper,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-form-radio .im-messages,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-radio .im-helper,.analytics .impac-kpi .kpi .kpi-edit .has-error.im-radio .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-checkbox .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-checkbox .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-group .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-group .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-radio .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-form-radio .im-messages,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-radio .im-helper,.analytics .impac-kpi .kpi .kpi-no-data .has-error.im-radio .im-messages{color:#e01f74;opacity:1}.analytics .impac-kpi .kpi .kpi-edit .has-error .im-bar::before,.analytics .impac-kpi .kpi .kpi-no-data .has-error .im-bar::before{background:#e01f74;left:0;width:100%}.analytics .impac-kpi .kpi .kpi-edit .im-button,.analytics .impac-kpi .kpi .kpi-no-data .im-button{position:relative;background:#60a7e4;border:0;font-size:1.375rem;color:#333;margin:.7rem 0;padding:.4375rem 1.75rem;border-radius:3px;cursor:pointer;overflow:hidden;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.analytics .impac-kpi .kpi .kpi-edit .im-button span,.analytics .impac-kpi .kpi .kpi-no-data .im-button span{color:#fff;position:relative;z-index:1}.analytics .impac-kpi .kpi .kpi-edit .im-button:hover,.analytics .impac-kpi .kpi .kpi-no-data .im-button:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#2583d3}.analytics .impac-kpi .kpi .kpi-edit .im-button:active,.analytics .impac-kpi .kpi .kpi-no-data .im-button:active{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.14)}.analytics .impac-kpi .kpi .kpi-edit .im-button a:focus,.analytics .impac-kpi .kpi .kpi-edit .im-button:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-button a:focus,.analytics .impac-kpi .kpi .kpi-no-data .im-button:focus{outline:0;text-decoration:none}.analytics .impac-kpi .kpi .kpi-edit button.im-fab,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab{position:relative;height:46px;width:46px;-webkit-box-flex:0;-ms-flex:0 0 56px;flex:0 0 56px;display:inline-block;padding:0;margin:4px;border:0;border-radius:100%;overflow:hidden;font-size:20px;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);color:#fff}.analytics .impac-kpi .kpi .kpi-edit button.im-fab:focus,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab:focus{outline:0}.analytics .impac-kpi .kpi .kpi-edit button.im-fab:active,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab:active{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.14)}.analytics .impac-kpi .kpi .kpi-edit button.im-fab.im-primary,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab.im-primary{background:#358fdc}.analytics .impac-kpi .kpi .kpi-edit button.im-fab.im-primary:hover,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab.im-primary:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#2583d3}.analytics .impac-kpi .kpi .kpi-edit button.im-fab.im-warn,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab.im-warn{background:#e01f74}.analytics .impac-kpi .kpi .kpi-edit button.im-fab.im-warn:hover,.analytics .impac-kpi .kpi .kpi-no-data button.im-fab.im-warn:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#ca1c68}.analytics .impac-kpi .kpi button.kpi-alerts.im-fab.im-primary{position:absolute;top:-12px;right:15px;width:22px;height:22px;font-size:13px;background:#4c4749}.analytics .impac-kpi .kpi button.kpi-alerts.im-fab.im-primary:hover{backgroud:#358fdc}.analytics .impac-kpi .kpi button.kpi-remove.im-fab.im-warn{position:absolute;top:-12px;right:-11px;width:22px;height:22px;font-size:13px;background:#4c4749}.analytics .impac-kpi .kpi button.kpi-remove.im-fab.im-warn:hover{background:#ca1c68}.analytics .impac-kpi .kpi .kpi-data-loader{width:100%;min-height:95px}.analytics kpis-bar>.key-stats .kpi{min-height:80px}.analytics kpis-bar>.kpis{position:relative}.analytics kpis-bar>.kpis .actions{margin-bottom:12px}@media screen and (max-width:675px){.analytics kpis-bar>.kpis .actions{position:relative}}.analytics kpis-bar>.kpis .actions .add-on,.analytics kpis-bar>.kpis .actions .alert,.analytics kpis-bar>.kpis .actions .badge,.analytics kpis-bar>.kpis .actions .btn,.analytics kpis-bar>.kpis .actions .dropdown-menu,.analytics kpis-bar>.kpis .actions .img-polaroid,.analytics kpis-bar>.kpis .actions .label,.analytics kpis-bar>.kpis .actions .modal,.analytics kpis-bar>.kpis .actions .nav>.active>a,.analytics kpis-bar>.kpis .actions .navbar-inner,.analytics kpis-bar>.kpis .actions .popover,.analytics kpis-bar>.kpis .actions .progress,.analytics kpis-bar>.kpis .actions .table-bordered,.analytics kpis-bar>.kpis .actions .tooltip,.analytics kpis-bar>.kpis .actions .tooltip-inner,.analytics kpis-bar>.kpis .actions .well,.analytics kpis-bar>.kpis .actions input,.analytics kpis-bar>.kpis .actions pre,.analytics kpis-bar>.kpis .actions select,.analytics kpis-bar>.kpis .actions textarea{box-shadow:none!important;border-radius:0!important;border-collapse:collapse!important;background-image:none!important}.analytics kpis-bar>.kpis .actions body,.analytics kpis-bar>.kpis .actions body::after,.analytics kpis-bar>.kpis .actions body::before,.analytics kpis-bar>.kpis .actions input,.analytics kpis-bar>.kpis .actions input::after,.analytics kpis-bar>.kpis .actions input::before,.analytics kpis-bar>.kpis .actions select,.analytics kpis-bar>.kpis .actions select::after,.analytics kpis-bar>.kpis .actions select::before,.analytics kpis-bar>.kpis .actions textarea,.analytics kpis-bar>.kpis .actions textarea::after,.analytics kpis-bar>.kpis .actions textarea::before{box-sizing:border-box}.analytics kpis-bar>.kpis .actions input[type=number]::-webkit-inner-spin-button,.analytics kpis-bar>.kpis .actions input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.analytics kpis-bar>.kpis .actions a:hover{text-decoration:none}.analytics kpis-bar>.kpis .actions fieldset{margin:0 0 1.75rem;padding:0;border:none}.analytics kpis-bar>.kpis .actions .im-form-group,.analytics kpis-bar>.kpis .actions .im-form-radio{position:relative;margin-top:1.3125rem;margin-bottom:1.3125rem}.analytics kpis-bar>.kpis .actions .im-form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;box-sizing:border-box}.analytics kpis-bar>.kpis .actions .im-form-inline>.im-form-group{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;vertical-align:middle;margin-left:.175rem;margin-right:.175rem}.analytics kpis-bar>.kpis .actions .im-form-inline>.btn{display:inline-block;margin-bottom:0}.analytics kpis-bar>.kpis .actions .im-form-group input{height:2.375rem}.analytics kpis-bar>.kpis .actions .im-form-group select{width:100%;font-size:1.25rem;height:2rem;padding:.15625rem .15625rem .078125rem;background:0 0;border:none;line-height:1.6;box-shadow:none}.analytics kpis-bar>.kpis .actions .im-form-group .im-control-label{position:absolute;top:.3125rem;pointer-events:none;padding-left:.15625rem;z-index:1;color:#b3b3b3;font-size:1.25rem;font-weight:400;-webkit-transition:all .28s ease;transition:all .28s ease}.analytics kpis-bar>.kpis .actions .im-form-group .im-bar{position:relative;border-bottom:.078125rem solid #999;display:block}.analytics kpis-bar>.kpis .actions .im-form-group .im-bar::before{content:'';height:.15625rem;width:0;left:50%;bottom:-.078125rem;position:absolute;background:#358fdc;-webkit-transition:left .28s ease,width .28s ease;transition:left .28s ease,width .28s ease;z-index:2}.analytics kpis-bar>.kpis .actions .im-form-group input,.analytics kpis-bar>.kpis .actions .im-form-group textarea{display:block;background:0 0;padding:.15625rem .15625rem .078125rem;font-size:1.25rem;border-width:0;border-color:transparent;line-height:1.9;width:100%;color:transparent;-webkit-transition:all .28s ease;transition:all .28s ease;box-shadow:none}.analytics .settings.dates-picker button.btn.btn-sm,.analytics kpis-bar>.kpis .actions .im-form-group input[type=file]{line-height:1}.analytics kpis-bar>.kpis .actions .im-form-group input[type=file]~.im-bar{display:none}.analytics kpis-bar>.kpis .actions .im-form-group input.form-file,.analytics kpis-bar>.kpis .actions .im-form-group input.has-value,.analytics kpis-bar>.kpis .actions .im-form-group input:focus,.analytics kpis-bar>.kpis .actions .im-form-group input:valid,.analytics kpis-bar>.kpis .actions .im-form-group select,.analytics kpis-bar>.kpis .actions .im-form-group textarea.form-file,.analytics kpis-bar>.kpis .actions .im-form-group textarea.has-value,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus,.analytics kpis-bar>.kpis .actions .im-form-group textarea:valid{color:#333}.analytics kpis-bar>.kpis .actions .im-form-group input.form-file~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group input.has-value~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group input:focus~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group input:valid~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group select~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea.form-file~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea.has-value~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea:valid~.im-control-label{font-size:1rem;color:grey;top:-1.25rem;left:0}.analytics kpis-bar>.kpis .actions .im-form-group input:focus,.analytics kpis-bar>.kpis .actions .im-form-group select:focus,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus{outline:0}.analytics kpis-bar>.kpis .actions .im-form-group input:focus~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group select:focus~.im-control-label,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus~.im-control-label{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-form-group input:focus~.im-bar::before,.analytics kpis-bar>.kpis .actions .im-form-group select:focus~.im-bar::before,.analytics kpis-bar>.kpis .actions .im-form-group textarea:focus~.im-bar::before{width:100%;left:0}.analytics kpis-bar>.kpis .actions .im-checkbox label,.analytics kpis-bar>.kpis .actions .im-form-radio label{position:relative;cursor:pointer;padding-left:2.5rem;text-align:left;color:#333;display:block}.analytics kpis-bar>.kpis .actions .im-checkbox input,.analytics kpis-bar>.kpis .actions .im-form-radio input{width:auto;opacity:.00000001;position:absolute;left:0}.analytics kpis-bar>.kpis .actions .im-radio{margin-bottom:1.25rem}.analytics kpis-bar>.kpis .actions .im-radio .im-helper{position:absolute;top:-.3125rem;left:-.3125rem;cursor:pointer;display:block;font-size:1.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.analytics kpis-bar>.kpis .actions .im-radio .im-helper::after,.analytics kpis-bar>.kpis .actions .im-radio .im-helper::before{content:'';position:absolute;left:0;top:0;margin:.3125rem;width:1.25rem;height:1.25rem;-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;border-radius:50%;border:.15625rem solid currentColor}.analytics kpis-bar>.kpis .actions .im-radio .im-helper::after{-webkit-transform:scale(0);transform:scale(0);background-color:#358fdc;border-color:#358fdc}.analytics kpis-bar>.kpis .actions .im-radio label:hover .im-helper{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-radio input:checked~.im-helper::after{-webkit-transform:scale(.5);transform:scale(.5)}.analytics kpis-bar>.kpis .actions .im-radio input:checked~.im-helper::before{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-checkbox{margin-top:1.75rem;margin-bottom:1.25rem}.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper{color:#999;position:absolute;top:0;left:0;width:1.25rem;height:1.25rem;z-index:0;border:.15625rem solid currentColor;border-radius:.078125rem;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper::after,.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper::before{position:absolute;height:0;width:.25rem;background-color:#358fdc;display:block;-webkit-transform-origin:left top;transform-origin:left top;border-radius:.3125rem;content:'';-webkit-transition:opacity .28s ease,height 0s linear .28s;transition:opacity .28s ease,height 0s linear .28s;opacity:0}.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper::before{top:.8125rem;left:.475rem;-webkit-transform:rotate(-135deg);transform:rotate(-135deg);box-shadow:0 0 0 .078125rem #fff}.analytics kpis-bar>.kpis .actions .im-checkbox .im-helper::after{top:.375rem;left:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.analytics kpis-bar>.kpis .actions .im-checkbox label:hover .im-helper{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper{color:#358fdc}.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper::after,.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper::before{opacity:1;-webkit-transition:height .28s ease;transition:height .28s ease}.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper::after{height:.625rem}.analytics kpis-bar>.kpis .actions .im-checkbox input:checked~.im-helper::before{height:1.5rem;-webkit-transition-delay:.28s;transition-delay:.28s}.analytics kpis-bar>.kpis .actions .im-checkbox+.im-checkbox,.analytics kpis-bar>.kpis .actions .im-radio+.im-radio{margin-top:1.25rem}.analytics kpis-bar>.kpis .actions .im-messages{font-size:1.04166667rem;color:#e01f74;overflow:hidden;-webkit-transition:all .28s cubic-bezier(.55,0,.55,.2);transition:all .28s cubic-bezier(.55,0,.55,.2);opacity:0;margin-top:0;padding-top:5px}.analytics kpis-bar>.kpis .actions .has-error .legend.legend,.analytics kpis-bar>.kpis .actions .has-error.im-form-group .im-control-label.im-control-label{color:#e01f74}.analytics kpis-bar>.kpis .actions .has-error.im-checkbox .im-helper,.analytics kpis-bar>.kpis .actions .has-error.im-checkbox .im-messages,.analytics kpis-bar>.kpis .actions .has-error.im-form-group .im-helper,.analytics kpis-bar>.kpis .actions .has-error.im-form-group .im-messages,.analytics kpis-bar>.kpis .actions .has-error.im-form-radio .im-helper,.analytics kpis-bar>.kpis .actions .has-error.im-form-radio .im-messages,.analytics kpis-bar>.kpis .actions .has-error.im-radio .im-helper,.analytics kpis-bar>.kpis .actions .has-error.im-radio .im-messages{color:#e01f74;opacity:1}.analytics kpis-bar>.kpis .actions .has-error .im-bar::before{background:#e01f74;left:0;width:100%}.analytics kpis-bar>.kpis .actions .im-button{position:relative;background:#60a7e4;border:0;font-size:1.375rem;color:#333;margin:.7rem 0;padding:.4375rem 1.75rem;border-radius:3px;cursor:pointer;overflow:hidden;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.analytics kpis-bar>.kpis .actions .im-button span{color:#fff;position:relative;z-index:1}.analytics kpis-bar>.kpis .actions .im-button:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#2583d3}.analytics kpis-bar>.kpis .actions .im-button:active{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.14)}.analytics kpis-bar>.kpis .actions .im-button a:focus,.analytics kpis-bar>.kpis .actions .im-button:focus{outline:0;text-decoration:none}.analytics kpis-bar>.kpis .actions button.im-fab{position:relative;height:46px;width:46px;-webkit-box-flex:0;-ms-flex:0 0 56px;flex:0 0 56px;display:inline-block;padding:0;margin:4px;border:0;border-radius:100%;overflow:hidden;font-size:20px;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);color:#fff}.analytics kpis-bar>.kpis .actions button.im-fab:focus{outline:0}.analytics kpis-bar>.kpis .actions button.im-fab:active{box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.14)}.analytics kpis-bar>.kpis .actions button.im-fab.im-primary{background:#358fdc}.analytics kpis-bar>.kpis .actions button.im-fab.im-primary:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#2583d3}.analytics kpis-bar>.kpis .actions button.im-fab.im-warn{background:#e01f74}.analytics kpis-bar>.kpis .actions button.im-fab.im-warn:hover{-webkit-transition:background .1s ease-in;transition:background .1s ease-in;background:#ca1c68}.analytics kpis-bar>.kpis .actions a{color:#fff}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis,.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis,.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content{position:absolute;width:40px;height:40px;font-size:18px;-webkit-transition:all .28s ease-in;transition:all .28s ease-in}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis.im-primary,.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.im-primary,.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content.im-primary{background:#4c4749}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis.im-primary.disabled,.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.im-primary.disabled,.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content.im-primary.disabled{background:#b2b5c1;cursor:not-allowed}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis.im-primary.disabled a,.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.im-primary.disabled a,.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content.im-primary.disabled a{cursor:not-allowed}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis.im-primary:hover:not(.disabled),.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.im-primary:hover:not(.disabled),.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content.im-primary:hover:not(.disabled){background:#000}.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content{top:-15px;right:-15px;z-index:10}@media screen and (max-width:675px){.analytics kpis-bar>.kpis .actions button.im-fab.toggle-show-content{top:-30px;right:-14px;bottom:0}}.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis{top:30px;right:-15px;z-index:10}@media screen and (max-width:675px){.analytics kpis-bar>.kpis .actions button.im-fab.add-kpis{top:-30px;right:33px;bottom:0}}.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis{top:75px;right:-15px;z-index:10}.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.editing{background:#358fdc}.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis.editing:hover:not(.disabled){background:#76b3e7}@media screen and (max-width:675px){.analytics kpis-bar>.kpis .actions button.im-fab.edit-kpis{top:-30px;right:79px;bottom:0}.analytics kpis-bar>.kpis .content{margin-top:25px}}.analytics kpis-bar>.kpis .content-buttons{position:absolute;top:0;right:0}.analytics kpis-bar>.kpis .content{padding:15px;background-color:#fff;box-shadow:0 1px 8px -4px}@media screen and (min-width:725px){.analytics kpis-bar>.kpis .content{padding:0 60px}}.analytics kpis-bar>.kpis .content .impac-kpi{padding-left:5px;padding-right:5px}@media screen and (min-width:1200px){.analytics kpis-bar>.kpis .content .impac-kpi{padding-left:20px;padding-right:20px}}.analytics kpis-bar>.kpis .content .impac-kpi .kpi.add .kpi-show .caption{white-space:inherit}.analytics kpis-bar>.kpis .content .title .text-center{line-height:3;font-variant:small-caps;font-size:larger}.analytics kpis-bar>.kpis .content .title .badge{position:absolute;top:8px;left:-10px;background-color:#d1e55c;color:#4f5959;box-shadow:0 1px 3px -1px}.widget-item .content,.widget-item .top-line{position:relative;background-color:#fff;box-shadow:0 1px 8px -4px}.analytics kpis-bar>.kpis .content .title .no-kpi-templates{color:#afadb5;font-weight:500}.analytics kpis-bar>.kpis .content .add-bar{border-bottom:dashed 1px}.analytics kpis-bar>.kpis .content .kpi-loader{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:115px}.analytics kpis-bar>.kpis .content .dates-picker-container{width:40%;margin:0 auto}.analytics kpis-bar>.kpis .content .dates-picker-container .sdp-from-label,.analytics kpis-bar>.kpis .content .dates-picker-container .sdp-to-label{text-transform:uppercase;font-weight:400}.analytics kpis-bar{display:block}.analytics kpis-bar>.key-stats{background-color:#fff;padding:5px 0}.analytics.pdf-mode kpis-bar>.kpis .actions{display:none}.widget-item{-webkit-transition:width .3s;transition:width .3s;padding:12px}.widget-item.pdf-mode{width:100%;padding:12px 0}.widget-item .top-line{cursor:move;padding:9px 9px 0 12px;border-radius:5px 5px 0 0;border:1px solid #c8d7d9;border-bottom:none;min-height:41px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;z-index:4}.widget-item .content{padding:9px;border-radius:0 0 5px 5px;border:1px solid #c8d7d9;border-top:none;vertical-align:top;min-height:250px}@media (min-width:992px){.widget-item .content{height:250px}.widget-item .content .chart-container{max-width:270px;max-height:125px;margin:auto}}.widget-item .content .edit{max-height:230px;overflow-y:auto;overflow-x:hidden;color:#5B6667;padding:2px;font-size:12px}.widget-item .content .edit .bottom-buttons .btn{border-radius:2px;margin-right:5px;padding:3px 13px;text-transform:uppercase;font-size:12px}.widget-item .content .edit .bottom-buttons .btn.btn-default{background-color:#c2c4c4;border:1px solid #a8abab;color:#fff}.widget-item .content .edit .bottom-buttons .btn.btn-default:hover{border:1px solid #8e9292;background-color:#a8abab}.widget-item .content .edit h4{margin:0 0 8px;text-align:left;font-weight:400;font-size:12px;color:#c4caca}.widget-item .content .edit .part{margin-bottom:8px;padding:10px 0;background-color:#fcfcfc;border:1px solid #dfe2e2}.widget-item .content .edit .part h5{display:block;margin:0 0 10px;padding:0 15px;text-transform:uppercase;font-weight:400;font-size:12px;color:#c4caca}.widget-item .content .edit .part label{font-weight:400}.widget-item .content .edit .part select.form-control{margin:0;border:1px solid #acb0b1;outline:0;-webkit-box-shadow:none;font-size:13px;color:#72728b}.widget-item .content.accessible{height:auto!important;min-height:250px!important;max-height:auto!important}.widget-item .content .content-template-wrapper{height:100%;overflow:auto;overflow-x:hidden}.widget-item.pdf-mode .content{height:100%!important;min-height:250px!important;max-height:none!important}.widget-item.pdf-mode .content .collapse{display:inherit}.widget-item.pdf-mode .content .fa-plus-square-o:before{content:"\f147"}.widget-item.pdf-mode .content .legend{max-height:none!important}.widget-item.pdf-mode .content .chart-container{max-height:none}.widget-item.pdf-mode .content .widget-lines-container{max-height:none!important}.widget-item.pdf-mode .content .data-not-found .message{position:inherit;width:100%}.widget-item.pdf-mode .include-to-pdf.title{position:absolute;width:calc(100% - 2*12px);z-index:3;padding-right:1px}.widget-item.pdf-mode .include-to-pdf.title h6{padding:10px;background-color:#FFC928;text-align:center;margin:0}.widget-item.pdf-mode .include-to-pdf.tick i{position:absolute;top:35%;left:46%;font-size:100px;opacity:.5;z-index:2;color:#000}.widget-item.pdf-mode .include-to-pdf .widget-hover{position:absolute;width:100%;height:100%;padding:9px;top:0;right:0;-webkit-transition:all ease .5s;transition:all ease .5s;z-index:1}.widget-item.pdf-mode .include-to-pdf .widget-hover:hover{opacity:.5;background:#CCCFD0}.widget-item .widget-lines-container .widget-line>[class*=col-]{overflow-wrap:break-word}.analytics .kpi .data-not-found,.analytics .widget-item .content .data-not-found{text-align:center;font-size:13px;color:#5B6667}.analytics .kpi .data-not-found .overlay,.analytics .widget-item .content .data-not-found .overlay{background-color:#fff;position:absolute;height:calc(100% - 4px);width:calc(100% - 4px);top:2px;left:2px;opacity:.6;z-index:3}.analytics .kpi .data-not-found .message,.analytics .widget-item .content .data-not-found .message{position:absolute;top:125px;left:50%;padding-bottom:10px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:85%;background-color:#f4f8f9;border-radius:4px;box-shadow:0 0 25px 0;z-index:4}.analytics .kpi .data-not-found .message .title,.analytics .widget-item .content .data-not-found .message .title{padding:2px;background-color:#192831;color:#fff;margin:-1px -1px 10px;text-transform:uppercase}.analytics .kpi .data-not-found .message p,.analytics .widget-item .content .data-not-found .message p{margin-left:5px;margin-right:5px}.analytics .kpi .data-not-found .message .btn,.analytics .widget-item .content .data-not-found .message .btn{margin-top:5px}.analytics .kpi .data-not-found .example,.analytics .widget-item .content .data-not-found .example{position:absolute;bottom:0;left:0;width:100%;color:#fff;background-color:#192831;padding:3px;z-index:6}.analytics .kpi .data-not-found .example a,.analytics .widget-item .content .data-not-found .example a{font-weight:400;color:#dae173}.analytics .kpi .data-not-found .message{width:90%;padding-bottom:0;border:1px solid silver;box-shadow:none}.analytics .kpi .data-not-found .message p{margin:5px}.analytics .kpi .data-not-found .btn,.analytics .kpi .data-not-found .example,.analytics .kpi .data-not-found .overlay,.analytics .kpi .data-not-found .title{display:none}#transactions-add{text-align:center;font-size:13px;color:#5B6667}#transactions-add .overlay{background-color:#fff;position:absolute;height:calc(100% - 4px);width:calc(100% - 4px);top:2px;left:2px;opacity:.6;z-index:5}#transactions-add .message{z-index:6;position:absolute;min-height:160px;padding-bottom:10px;background-color:#f4f8f9;border-radius:4px;box-shadow:0 0 25px 0;top:30px;left:35%;width:30%}#transactions-add .message .title{padding:2px;background-color:#192831;color:#fff;margin:-1px -1px 10px;text-transform:uppercase}#transactions-add .message .form{padding:0 10px}#transactions-add .message .form .coming-soon>label,#transactions-add .message .form>label{padding-top:10px;font-weight:400;margin-bottom:3px}#transactions-add .message .form input.form-control{width:90%;border-radius:2px;height:28px;font-size:13px}#transactions-add .message .form .btn-group{display:block;min-height:22px}#transactions-add .message .form .btn-group select{border-radius:2px;height:28px;margin-top:0}#transactions-add .message .form .coming-soon{margin-top:15px;padding:5px;border:1px solid silver;background-color:#fff;color:#888;font-style:italic}#transactions-add .message .form .coming-soon .badge{font-weight:400;background-color:#888}#transactions-add .message .form .coming-soon .btn-group{margin-left:10px}#transactions-add .message .form .coming-soon .btn-group input[type=radio]{margin-top:5px}#transactions-add .message .form .coming-soon .btn-group select{height:22px}#transactions-add .message .form .coming-soon .btn-group .btn{float:none;border-color:#888}#transactions-add .message .bottom{margin-top:20px}.analytics common-delete-widget{text-align:center;font-size:13px;color:#5B6667}.analytics common-delete-widget .overlay{background-color:#fff;position:absolute;height:calc(100% - 4px);width:calc(100% - 4px);top:2px;left:2px;opacity:.6;z-index:5}.analytics common-delete-widget .message{z-index:6;position:absolute;min-height:160px;padding-bottom:10px;top:45px;left:7%;width:86%;background-color:#f4f8f9;border-radius:4px;box-shadow:0 0 25px 0}.analytics common-delete-widget .message .title{padding:2px;background-color:#192831;color:#fff;margin:-1px -1px 10px;text-transform:uppercase}.analytics common-delete-widget .message .loader i.fa.fa-spinner{font-size:26px}.analytics common-delete-widget .message p{padding:0 10px}.analytics common-delete-widget .message button.btn{margin-top:20px}#transactions-list .top{height:40px}#transactions-list .top a.back-link{font-weight:400}#transactions-list .top .pagination{margin:0}#transactions-list .table-container{max-height:calc(565px - 60px);overflow:auto}#transactions-list .table-container div[uib-datepicker-popup-wrap]{display:inline-block}#transactions-list .table-container button.btn.reset-date,#transactions-list .table-container input.btn.btn-xs{margin-top:-2px}#transactions-list .table-container .fa.fa-times{color:#e01f74;cursor:pointer}#transactions-list .table-container tr.total{font-weight:700}#transactions-list .table-container tr.total.invoices{background-color:#c1d1b1}#transactions-list .table-container tr.total.bills{background-color:#e2aeb9}.analytics .dashboard-settings.currency{text-align:right}.analytics .dashboard-settings.currency select{margin-top:4px}.analytics .dashboard-settings.sync-apps .show-status{margin-right:5px;color:#9ba6a7}.analytics .dashboard-settings.sync-apps .show-status:hover{cursor:pointer;text-decoration:underline}.analytics .dashboard-settings.sync-apps .show-status .fa.fa-info{margin-right:2px}.analytics .dashboard-settings.sync-apps .status-btn{display:inline-block;cursor:pointer;padding:5px 7px 5px 0}.analytics .dashboard-settings.sync-apps .status-btn i{font-size:16px}.analytics .dashboard-settings.sync-apps .status-btn i.fa-exclamation-triangle{color:#ff7300}.analytics .dashboard-settings.sync-apps .status-btn i.fa-check{color:#d1e55c}.analytics .dashboard-settings.sync-apps .popover{max-width:550px}.analytics .dashboard-settings.sync-apps .popover .connector{padding:4px 13px}.analytics .dashboard-settings.sync-apps .popover .connector.add-seperator{border-bottom:1px solid #ccc}.analytics .dashboard-settings.sync-apps .popover .popover-content{padding:0}.analytics .dashboard-settings.sync-apps .popover .popover-footer{border-top:1px solid #ccc;padding:4px 13px}.analytics .dashboard-settings.sync-apps .popover .popover-footer p{font-weight:700;margin:0}.analytics .dashboard-settings.sync-apps .popover .popover-footer.remove-seperator{border:0}.analytics .dashboard-settings.sync-apps .badge{float:right;margin-left:8px}.analytics .dashboard-settings.sync-apps .success .badge{background-color:#d1e55c}.analytics .dashboard-settings.sync-apps .pending .badge,.analytics .dashboard-settings.sync-apps .running .badge{background-color:#ff7300}.analytics .dashboard-settings.sync-apps .disconnected .badge,.analytics .dashboard-settings.sync-apps .error .badge,.analytics .dashboard-settings.sync-apps .failed .badge,.analytics .dashboard-settings.sync-apps .unknown .badge{background-color:#ed1e79}#sync-apps-modal .modal-header{text-align:center;border:0;box-shadow:0 2px 3px 0 #ccc}#sync-apps-modal .modal-list{max-height:280px;overflow-y:auto}#sync-apps-modal .modal-list-item{border-bottom:1px solid #ccc;padding:10px}#sync-apps-modal .modal-list-item .badge{float:right}#sync-apps-modal .modal-list-item.success .badge{background-color:#d1e55c}#sync-apps-modal .modal-list-item.pending .badge,#sync-apps-modal .modal-list-item.running .badge{background-color:#ff7300}#sync-apps-modal .modal-list-item.disconnected .badge,#sync-apps-modal .modal-list-item.error .badge,#sync-apps-modal .modal-list-item.failed .badge,#sync-apps-modal .modal-list-item.unknown .badge{background-color:#ed1e79}#sync-apps-modal .modal-list-item .message{padding:3px;border-radius:2px;margin-left:31px;margin-top:9px}#sync-apps-modal .modal-list-item .message p{margin:0}#sync-apps-modal .modal-list-item.success .message{background-color:rgba(0,255,55,.08)}#sync-apps-modal .modal-list-item.pending .message,#sync-apps-modal .modal-list-item.running .message{background-color:rgba(255,118,0,.08)}#sync-apps-modal .modal-list-item.disconnected .message,#sync-apps-modal .modal-list-item.error .message,#sync-apps-modal .modal-list-item.failed .message,#sync-apps-modal .modal-list-item.unknown .message{background-color:rgba(255,0,0,.08)}#sync-apps-modal .modal-list-item.with-message{cursor:pointer}#sync-apps-modal .modal-list-item.with-message:hover{background-color:#ccc}#sync-apps-modal .modal-footer{border:0}#sync-apps-modal .fa{padding:0 10px}#sync-apps-modal .fa.error{color:red}#sync-apps-modal .fa.warn{color:#ff7300}#sync-apps-modal .fa.success{color:#47ff00}chart-threshold .attach-panel{padding:5px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:rgba(20,132,228,.16)}chart-threshold .attach-panel>.attach-panel-text,chart-threshold .attach-panel>.attach-panel-text>*{display:inline-block}chart-threshold .attach-panel .panel-text-label{text-transform:uppercase;font-weight:700;color:#5B6667;font-size:13px}chart-threshold .attach-panel .panel-text-input{border-radius:3px;border:1px #fff;padding:3px}chart-threshold .attach-panel .panel-text-currency{font-weight:700;color:#000}chart-threshold .action-buttons{display:inline-block;padding:0 10px}chart-threshold .action-buttons button{padding:3px 6px;display:inline-block}chart-threshold .action-buttons button.loading{padding:3px 20px}.currency-conversions img{width:15px;cursor:pointer}.currency-conversions.popover .popover-title{background-color:#000;color:#fff}.analytics .widget-item .editable-title{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;height:22px}.analytics .widget-item .editable-title .title{text-transform:uppercase;font-weight:600;font-size:12px;color:#4f5959;cursor:text;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.9}.analytics .widget-item .editable-title .editable-wrap{position:relative;height:20px;min-width:100%;white-space:nowrap}.analytics .widget-item .editable-title .editable-wrap .editable-controls{min-width:100%}.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-input{height:20px;font-size:12px;text-transform:uppercase;width:calc(100% - 65px);padding:0 3px}.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-buttons{background-color:#fff}.analytics .widget-item .editable-title .editable-wrap .editable-controls .editable-buttons button{margin:0 0 0 5px;height:20px;padding:0 5px}.analytics .widget-item .info-panel{position:absolute;top:15px;left:15px;width:calc(100% - 30px);max-height:calc(100% - 30px);height:100%;background-color:#fff;border:1px dotted #B7CDCE;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-family:"Lato Semibold",Lato;z-index:4}.analytics .widget-item .info-panel:hover{opacity:1}.analytics .widget-item .info-panel .i-header{background-color:#FFC928;color:#1E303B;padding:8px;text-transform:uppercase;font-family:"Lato Medium",Lato;font-size:12px}.analytics .widget-item .info-panel .i-header .fa{font-size:18px}.analytics .widget-item .info-panel .i-header .fa-info-circle{float:left}.analytics .widget-item .info-panel .i-header .fa-times-circle{cursor:pointer;float:right}.analytics .widget-item .info-panel .i-content{overflow-y:auto;overflow-x:hidden;padding:5px;text-align:justify;-webkit-box-flex:1;-ms-flex:1;flex:1}.analytics .widget-item .info-panel .i-content .row{margin-bottom:6px;padding-bottom:6px;border-bottom:solid 1px #abc4c6}.analytics .widget-item .info-panel .i-content .row:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.analytics .widget-item .info-panel .i-content .row .key{text-align:right;font-variant:small-caps}@media (max-width:991px){.analytics .widget-item .info-panel .i-content .row .key{text-align:center}}.analytics .widget-item .info-panel .i-content .row .value{text-align:justify}.analytics .time-period-info{font-size:11px;color:#ABC4C6;text-transform:uppercase}.analytics .widget-item .top-line .top-buttons{text-align:right;margin-top:-1px;white-space:nowrap;padding-left:10px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-info,.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-refresh{font-size:17px;margin-top:1px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button{background:0 0;border:none;color:#c4caca;padding:0;outline:0;width:17px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button:active,.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button:focus{box-shadow:none}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-info:hover{color:#FFC928}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-refresh:hover{color:#358fdc}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit{font-size:13px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit.edit-mode,.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-edit:hover{color:#cfd849}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-close{font-size:13px}.analytics .widget-item .top-line .top-buttons .top-buttons-wrapper .top-button.btn-close:hover{color:#ed1e79}.analytics .widget-item .content .settings.select-account{padding:0 5px}.analytics .settings.accounting-behaviour .btn.btn-primary{background-color:#bba9f5;border:1px solid #977bf0}.analytics .settings.accounting-behaviour .btn.btn-primary.active,.analytics .settings.accounting-behaviour .btn.btn-primary.focus{background-color:#977bf0}.analytics .settings.attach-kpis .attach-kpi{padding:8px 5px}.analytics .settings.attach-kpis .attach-kpi form .row{padding-bottom:5px}.analytics .settings.attach-kpis .attach-kpi .attach-kpi-form{background-color:#fff;border:1px solid #ddd;padding:5px}.analytics .settings.attach-kpis .attach-kpi form .row.kpi-description{padding:10px 2px}.analytics .settings.attach-kpis .attach-kpi form .row.kpi-description span{display:block;font-weight:700;font-size:13px}.analytics .settings.attach-kpis .attach-kpi form.attach-kpi-form input.attach-target{background-color:#fff;height:inherit}.analytics .settings.attach-kpis .attach-kpi .error-messages{color:#e01f74;width:120px}.analytics .settings.attach-kpis .attached-kpis{padding:5px}.analytics .settings.attach-kpis .list-group-item.attached-kpi{padding:5px 10px}.analytics .settings.attach-kpis .list-group-item.attached-kpi .attached-kpi-name{overflow:hidden;width:75%;display:inline-block;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:13px;font-weight:700}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions{padding-top:2px}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .alerts-config{display:inline-block;text-align:left;padding-left:4px;height:20px;border-radius:40px;width:21px;color:#358fdc;background-color:#fff;border:1px solid #358fdc}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .alerts-config:hover{cursor:pointer}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi{display:inline-block}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi i{border-radius:10px;width:21px;color:#358fdc;background-color:#fff;height:20px;padding:3px 5px 5px;border:1px solid #358fdc}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .edit-attached-kpi i:hover{cursor:pointer}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi{display:inline-block}.analytics .settings.dates-picker button.btn.btn-sm.btn-danger,.analytics .settings.dates-picker h5{display:none}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi i{border-radius:10px;width:21px;color:#e01f74;background-color:#fff;height:20px;padding:3px 5px 5px;border:1px solid #e01f74}.analytics .settings.attach-kpis .list-group-item.attached-kpi .actions .remove-attached-kpi i:hover{cursor:pointer}.analytics .widget-item .content .settings.chart-filters .row{margin:0}.analytics .widget-item .content .settings.chart-filters input[type=radio]{margin:0 3px 0 0;padding:0;width:13px;height:13px;vertical-align:middle;position:relative;top:-1px;outline:0}.analytics .widget-item .content .settings.chart-filters input[type=range]{height:auto;width:100%}.analytics .settings.dates-picker button.btn.btn-sm.date-button{margin:0 5px}.analytics .settings.dates-picker button.btn.btn-sm.btn-info{border-radius:3px}.analytics .settings.dates-picker .tooltip-inner{text-transform:none}.analytics .settings.dates-picker .dropdown-menu>li>div>table{outline:0}.analytics .widget-item .content .settings.hist-mode-choser{max-height:70px}.analytics .widget-item .content .settings.hist-mode-choser [common-time-period-info]{padding-bottom:8px}.analytics .widget-item .content .settings.hist-mode-choser .options{width:150px;margin:auto;padding-bottom:8px;border-bottom:solid 1px #e6e6e6;font-weight:500;font-size:12px;color:#c4caca}.analytics .widget-item .content .settings.hist-mode-choser .options a{font-weight:500;font-size:12px;color:#c4caca;text-transform:uppercase}.analytics .widget-item .content .settings.hist-mode-choser .options a.active{color:#977bf0}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container{width:28px;height:28px;position:relative;top:-14px;margin:auto}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container.right{left:46px}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container.left{left:-30px}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container .arrow-border{border-top:14px solid #e6e6e6;border-left:14px solid transparent;border-right:14px solid transparent;width:0;height:0}.analytics .widget-item .content .settings.hist-mode-choser .arrow-container .arrow{border-top:14px solid #fff;border-left:14px solid transparent;border-right:14px solid transparent;position:relative;top:12px;width:0;height:0}.analytics .settings.limit-entries{color:#1E303B;text-transform:uppercase;text-align:center;border-bottom:dashed 1px #E6E6E6;padding-bottom:8px}.analytics .settings.limit-entries a.option.badge{color:#fff;background-color:#1E303B}.analytics .settings.offsets .offset-value{font-style:italic;font-size:13px}.analytics .settings.offsets .offset-value .fa-trash-o{margin-left:10px}.analytics .settings.offsets .offset-value .fa-trash-o:hover{color:#e01f74;cursor:pointer}.analytics .settings.offsets input{width:75%}.analytics .settings.offsets button{width:30px}.analytics .settings.organizations .widget-lines-container .widget-line{padding:5px 10px 5px 18px}.analytics .settings.organizations .widget-lines-container .widget-line:nth-child(even){background-color:#f3f4f4}.analytics .settings.organizations .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .settings.organizations .widget-lines-container .widget-line .fa{float:right;font-size:20px;cursor:pointer}.analytics .settings.organizations .widget-lines-container .widget-line .fa.fa-toggle-on{color:#977bf0}.analytics .settings.organizations .widget-lines-container .widget-line .fa.fa-toggle-off{color:#9ba6a7}.analytics .widget-item .content .settings.param-selector{display:inline-block}.analytics .widget-item .content .settings.param-selector.classic{width:100%}.analytics .widget-item .content .settings.param-selector.classic select{width:100%;height:25px;border:1px solid #ccc;text-transform:uppercase;margin:0 0 5px}.analytics .widget-item .content .settings.param-selector a{font-weight:400;color:#977bf0;white-space:nowrap}.analytics .widget-item .content .settings.param-selector .options-container{position:absolute;background-color:#fff;text-align:left;min-width:150px;max-height:200px;z-index:999;overflow-y:auto;overflow-x:hidden;box-shadow:#000 0 3px 15px -3px}.analytics .settings.tag-filter .tag-lines-container .tag-line .host,.analytics .settings.tag-filter .tag-lines-container .tag-line .tags-col,.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container .row.widget-line.header>[class*=col-]{position:static}.analytics .widget-item .content .settings.param-selector .options-container .param-selector-label{padding:3px 5px;font-weight:500;font-size:inherit;color:#000;cursor:text;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.9}.analytics .widget-item .content .settings.param-selector .options-container .param-selector-label:hover{cursor:pointer;background-color:#977bf0;color:#fff}.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar{width:8px;background-color:#d7e2e4}.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar-thumb{background-color:#977bf0}.analytics .widget-item .content .settings.param-selector .options-container::-webkit-scrollbar-thumb:hover{background-color:#a992f3}.analytics .settings.params-checkboxes{padding:2px 0}.analytics .settings.params-checkboxes input{margin:0;height:inherit}.analytics .settings.params-checkboxes span{margin-left:5px}.analytics .settings.params-checkboxes label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:14px}.analytics .widget-item .content .settings.params-picker{padding:0 10px}.analytics .widget-item .content .settings.params-picker .parameter{margin:0 3px 3px 0;padding:3px 5px;background-color:#1E303B;color:#fff;border:1px solid #1E303B;border-radius:4px;cursor:move;font-weight:700;white-space:nowrap;float:left}.analytics .widget-item .content .settings.params-picker .parameter input[type=checkbox]{margin:0 -3px 0 3px;vertical-align:middle;height:inherit;outline:0;cursor:pointer}.analytics .widget-item .content .settings.params-picker .parameter .badge{margin-right:3px;font-size:10px;background-color:#f2f2f2;color:#1E303B;padding:2px 6px}.analytics .widget-item .content .settings.params-picker .parameter.unchecked{background-color:inherit;font-weight:400;color:inherit;border-color:#c2c4c4}.analytics .widget-item .content .settings.params-picker .parameter.unchecked .badge{background-color:#c2c4c4;color:#fff}.analytics .settings.tag-filter{padding:0 5px}.analytics .settings.tag-filter .btn.btn-default{height:32px;width:30px}.analytics .settings.tag-filter .tag-lines-container{padding:0 10px}.analytics .settings.tag-filter .tag-lines-container .tag-line{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.analytics .settings.tag-filter .tag-lines-container .tag-line tags-input .tags{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;border:1px solid #ccc}.analytics .settings.tag-filter .tag-lines-container .tag-line tags-input .tags .tag-item{background:#79a2bb;border-radius:4px;color:#fff}.analytics .settings.time-period{padding:0 5px}.analytics .settings.time-period select{height:22px;width:100%}.analytics .settings.time-period>.row{margin:0 -5px 7px}.analytics .settings.time-period>.row>div{padding:0 5px;position:static}.analytics .settings.time-period>.row .sub-setting{padding:5px}.analytics .widget-item .content .settings.width{float:right;font-size:14px}.analytics .widget-item .content .settings.width i{color:silver;cursor:pointer}.analytics .widget-item .content .settings.width i.reduce{margin-right:-10px}.analytics .widget-item .content .settings.width i.expand{margin-right:-3px}.analytics .widget-item .content.accounts-assets-liability-summary .param-selector{text-align:center}.analytics .widget-item .content.accounts-assets-liability-summary .legend{text-align:left;max-height:90px}.analytics .widget-item .content.accounts-assets-liability-summary .legend .title{text-align:center;border-bottom:dashed 1px #dfe2e2}.analytics .widget-item .content.accounts-assets-summary .legend{text-align:left;max-height:115px}.analytics .widget-item .content.accounts-assets-summary .legend .title{text-align:center;border-bottom:dashed 1px #dfe2e2}.analytics .widget-item .content.accounts-assets-vs-liabilities .legend>.title span{margin-left:3px}.analytics .widget-item .content.accounts-balance h3{font-weight:300;font-size:14px;color:#5B6667;margin-top:30px;text-align:center}.analytics .widget-item .content.accounts-balance .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.accounts-cash-balance{min-height:565px}@media (min-width:992px){.analytics .widget-item .content.accounts-cash-balance{height:565px}.analytics .widget-item .content.accounts-cash-balance .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-cash-balance .edit{max-height:545px}.analytics .widget-item .content.accounts-cash-balance .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-cash-balance .data-container{height:calc(565px - 50px);width:100%}.analytics .widget-item .content.accounts-cash-balance .left-panel{width:180px;display:inline-block;overflow:auto}.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:45px;margin:3px;font-size:13px;padding:3px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.analytics .widget-item .content.accounts-balance-sheet,.analytics .widget-item .content.accounts-cash-projection,.analytics .widget-item .content.accounts-cash-summary,.analytics .widget-item .content.accounts-comparison,.analytics .widget-item .content.accounts-detailed-classifications,.analytics .widget-item .content.accounts-profit-and-loss,.analytics .widget-item .content.invoices-aged-payables-receivables,.analytics .widget-item .content.sales-aged,.analytics .widget-item .content.sales-comparison,.analytics .widget-item .content.sales-forecast,.analytics .widget-item .content.sales-leads-funnel,.analytics .widget-item .content.sales-opportunities-funnel,.analytics .widget-item .content.sales-performance{min-height:565px}.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item:hover{background-color:#ececec}.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item i{font-size:19px;padding:4px;margin-top:1px}.analytics .widget-item .content.accounts-cash-balance #cash-balance-legend .header .group-item span{color:#5B6667}.analytics .widget-item .content.accounts-cash-balance .legend-item-icon{width:16px;height:16px}.analytics .widget-item .content.accounts-cash-balance .right-panel{width:calc(100% - 180px);float:right}.analytics .widget-item .content.accounts-cash-balance .right-panel .cash-balance-chart{height:calc(565px - 50px)}.analytics .widget-item .content.accounts-cash-balance .dates-picker{display:inline-block;float:right;font-size:12px}@media (min-width:992px){.analytics .widget-item .content.accounts-balance-sheet{height:565px}.analytics .widget-item .content.accounts-balance-sheet .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-balance-sheet .edit{max-height:545px}.analytics .widget-item .content.accounts-balance-sheet .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container{overflow-y:scroll;overflow-x:hidden;max-height:490px}@media (max-width:767px){.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container .row.widget-line:not(:last-child){border-bottom:dashed 1px #dfe2e2}}.analytics .widget-item .content.accounts-balance-sheet .widget-lines-container.no-scroll{overflow:visible}.analytics .widget-item .content.accounts-balance-sheet .no-data-block{font-weight:300;font-size:16px;color:#5B6667;text-align:center;margin:15px 0}@media (min-width:992px){.analytics .widget-item .content.accounts-cash-projection{height:565px}.analytics .widget-item .content.accounts-cash-projection .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-cash-projection .edit{max-height:545px}.analytics .widget-item .content.accounts-cash-projection .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-cash-projection .cash-projection-chart{height:calc(565px - 50px)}.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item rect.highcharts-point{display:none}.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item span{width:110px;text-align:center}.analytics .widget-item .content.accounts-cash-projection .highcharts-legend-item span img{text-align:center;width:55px;height:25px}.analytics .widget-item .content.accounts-cash-projection .dates-picker{display:inline-block;float:right;font-size:12px}.analytics .widget-item .content.accounts-cash-projection transactions-list{font-size:12px}@media (min-width:992px){.analytics .widget-item .content.accounts-cash-summary{height:565px}.analytics .widget-item .content.accounts-cash-summary .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-cash-summary .edit{max-height:545px}.analytics .widget-item .content.accounts-cash-summary .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container{max-height:540px}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line:hover{background-color:#e6e0fb}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.accounts-cash-summary .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.accounts-cash-summary .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:215px}.analytics .widget-item .content.accounts-cash-summary .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.accounts-cash-summary .row.lines-group.cash{border-top:solid 1px;border-bottom:double}.analytics .widget-item .content.accounts-class-comparison .param-selector{text-align:center}.analytics .widget-item .content.accounts-class-comparison .widget-lines-container{max-height:94px;color:#626d6d}@media (min-width:992px){.analytics .widget-item .content.accounts-comparison{height:565px}.analytics .widget-item .content.accounts-comparison .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-comparison .edit{max-height:545px}.analytics .widget-item .content.accounts-comparison .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}@media print{.analytics .widget-item .content.accounts-comparison .chart-container{max-width:80%!important}}.analytics .widget-item .content.accounts-comparison .add-account{position:absolute;right:40px;bottom:30px;width:160px}.analytics .widget-item .content.accounts-comparison .add-account select{font-size:13px;background-color:#977bf0;color:#fff;outline:0;border:none;cursor:pointer}.analytics .widget-item .content.accounts-comparison .add-account select[disabled]{cursor:not-allowed;background-color:#bba9f5}.analytics .widget-item .content.accounts-comparison .add-account select[disabled]:hover{background-color:#bba9f5}.analytics .widget-item .content.accounts-comparison .add-account select:hover{background-color:#734deb}.analytics .widget-item .content.accounts-comparison .add-account select option{background-color:#fff;color:#c4caca}.analytics .widget-item .content.accounts-comparison .add-account select option[disabled]{color:#fff}.analytics .widget-item .content.accounts-comparison button.close{font-size:15px}.analytics .widget-item .content.accounts-comparison .legend{text-align:left;max-height:103px}.analytics .widget-item .content.accounts-comparison .row{margin:0}.analytics .widget-item .content.accounts-comparison .widget-lines-container{font-size:11px;max-height:220px;margin-bottom:65px;overflow:auto}.analytics .widget-item .content.accounts-comparison .settings.params-checkboxes{margin-left:13px}.analytics .widget-item .content.accounts-comparison .comparable-error h5{margin-left:13px;color:#ed1e79}.analytics .widget-item .content.accounts-custom-calculation h3{margin-top:85px;text-align:center;font-weight:700}.analytics .widget-item .content.accounts-custom-calculation .legend{max-height:125px}.analytics.modal-custom-calculation{margin:0;padding:0}.analytics.modal-custom-calculation .modal-body .edit{overflow-y:auto;overflow-x:hidden;color:#5B6667;font-size:12px;padding:5px;overflow:visible}.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn{border-radius:2px;margin-right:5px;padding:3px 13px;text-transform:uppercase;font-size:12px}.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn.btn-default{background-color:#c2c4c4;border:1px solid #a8abab;color:#fff}.analytics.modal-custom-calculation .modal-body .edit .bottom-buttons .btn.btn-default:hover{border:1px solid #8e9292;background-color:#a8abab}.analytics.modal-custom-calculation .modal-body .edit h4{margin:0 0 8px;text-align:left;font-weight:400;font-size:12px;color:#c4caca}.analytics.modal-custom-calculation .modal-body .edit .part{margin-bottom:8px;padding:10px 0;background-color:#fcfcfc;border:1px solid #dfe2e2}.analytics.modal-custom-calculation .modal-body .edit .part h5{display:block;margin:0 0 10px;padding:0 15px;text-transform:uppercase;font-weight:400;font-size:12px;color:#c4caca}.analytics.modal-custom-calculation .modal-body .edit .part label{font-weight:400}.analytics .widget-item .content.accounts-expenses-revenue .legend,.analytics .widget-item .content.accounts-payable-receivable .legend{font-weight:700}.analytics.modal-custom-calculation .modal-body .edit .part select.form-control{margin:0;border:1px solid #acb0b1;outline:0;-webkit-box-shadow:none;font-size:13px;color:#72728b}@media (min-width:992px){.analytics .widget-item .content.accounts-detailed-classifications{height:565px}.analytics .widget-item .content.accounts-detailed-classifications .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-detailed-classifications .edit{max-height:545px}.analytics .widget-item .content.accounts-detailed-classifications .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-detailed-classifications .widget-lines-container{overflow-y:scroll;overflow-x:hidden;max-height:540px}.analytics .widget-item .content.accounts-detailed-classifications .account-class-title{margin-bottom:8px;margin-left:11px}.analytics .widget-item .content.accounts-detailed-classifications .time-period-info{text-align:right}.analytics .widget-item .content.accounts-detailed-classifications .widget-line.header.sorting{border-bottom:1px solid #ccc}.analytics .widget-item .content.accounts-expense-weight .legend{text-align:left;max-height:115px}.analytics .widget-item .content.accounts-expense-weight .legend .title{text-align:center}.analytics .widget-item .content.accounts-expenses-revenue .settings.params-checkboxes{font-size:12px;margin-left:0;text-align:center}.analytics .widget-item .content.accounts-payable-receivable h3{text-align:center}.analytics .widget-item .content.accounts-payable-receivable .payable{margin-top:15px}.analytics .widget-item .content.accounts-payable-receivable .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}@media (min-width:992px){.analytics .widget-item .content.accounts-profit-and-loss{height:565px}.analytics .widget-item .content.accounts-profit-and-loss .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.accounts-profit-and-loss .edit{max-height:545px}.analytics .widget-item .content.accounts-profit-and-loss .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container{max-height:540px}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line:hover{background-color:#e6e0fb}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.accounts-profit-and-loss .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.accounts-profit-and-loss .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:215px}.analytics .widget-item .content.accounts-profit-and-loss .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.accounts-profit-and-loss .row.lines-group.profit{border-top:solid 1px;border-bottom:double}.analytics .widget-item .content.accounts-profit-and-loss .row.widget-line.header>[class*=col-]{position:static}.analytics .widget-item .content.accounts-ratios .left-panel{max-height:230px;overflow-y:auto}.analytics .widget-item .content.accounts-ratios .left-panel .separator{border-bottom:solid 1px #5B6667;width:75%}.analytics .widget-item .content.accounts-ratios .left-panel .member{padding-top:20px;padding-bottom:20px}.analytics .widget-item .content.accounts-ratios .left-panel .member .price{margin-top:0;font-size:18px}.analytics .widget-item .content.accounts-ratios .left-panel button{outline:0}.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member{padding-top:5px}.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member .legend{display:none}.analytics .widget-item .content.accounts-ratios .left-panel.simulation .member .price{text-align:right}.analytics .widget-item .content.accounts-ratios .left-panel.simulation .separator{width:100%}.analytics .widget-item .content.hr-employee-details{font-size:12px}.analytics .widget-item .content.hr-employee-details .details-container{padding:0;max-height:none;overflow-y:auto;overflow-x:hidden}.analytics .widget-item .content.hr-employee-details .right-panel .legend{margin-bottom:5px}.analytics .widget-item .content.hr-employee-details .title{text-align:center;margin-bottom:10px;font-size:14px}.analytics .widget-item .content.hr-employees-list .legend{margin-bottom:9px}.analytics .widget-item .content.hr-employees-list .widget-lines-container{text-align:center}.analytics .widget-item .content.hr-employees-list .widget-lines-container .widget-line:nth-child(even){background-color:#f0f0f0}.analytics .widget-item .content.hr-employees-list .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .widget-item .content.hr-employees-list .edit .widget-lines-container{text-align:left}.analytics .widget-item .content.hr-leaves-balance .employee-name{text-align:center}.analytics .widget-item .content.hr-leaves-balance .balance{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.hr-leaves-balance h3{margin-top:33px;text-align:center}.analytics .widget-item .content.hr-leaves-schedule .fc-button{height:22px;font-size:12px;color:#977bf0;background:#fff;outline:0}.analytics .widget-item .content.hr-leaves-schedule .fc-button:hover{color:#fff;background:#977bf0}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line:hover,.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line:hover{background-color:#e6e0fb}.analytics .widget-item .content.hr-leaves-schedule .fc-toolbar{margin-bottom:5px}.analytics .widget-item .content.hr-leaves-schedule .fc-day-grid,.analytics .widget-item .content.hr-leaves-schedule .fc-widget-header{font-size:12px;color:#5B6667}.analytics .widget-item .content.hr-payroll-summary{min-height:565px}@media (min-width:992px){.analytics .widget-item .content.hr-employee-details .details-container{max-height:200px}.analytics .widget-item .content.hr-employee-details .right-panel .details-container{max-height:220px}.analytics .widget-item .content.hr-payroll-summary{height:565px}.analytics .widget-item .content.hr-payroll-summary .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.hr-salaries-summary h3.right,.analytics .widget-item .content.hr-workforce-summary h3.right{margin-bottom:10px;text-align:center}.analytics .widget-item .content.hr-payroll-summary .edit{max-height:545px}.analytics .widget-item .content.hr-payroll-summary .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container{max-height:540px}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.hr-payroll-summary .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.hr-payroll-summary .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:145px}.analytics .widget-item .content.hr-payroll-summary .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.hr-salaries-summary h3.left{text-align:center}.analytics .widget-item .content.hr-salaries-summary h3.reduced-left{text-align:center}@media (min-width:992px){.analytics .widget-item .content.hr-salaries-summary h3.left{margin-top:69px}.analytics .widget-item .content.hr-salaries-summary h3.reduced-left{margin-top:10px}}.analytics .widget-item .content.hr-salaries-summary .price{margin-top:0}.analytics .widget-item .content.hr-salaries-summary .widget-lines-container{max-height:75px}.analytics .widget-item .content.hr-salaries-summary .widget-lines-container .widget-line{font-size:11px}.analytics .widget-item .content.hr-superannuation-accruals h3{margin-top:63px;text-align:center}.analytics .widget-item .content.hr-superannuation-accruals .legend{margin-top:23px}.analytics .widget-item .content.hr-superannuation-accruals .currency{font-size:14px}.analytics .widget-item .content.hr-superannuation-accruals .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.hr-timesheets .currency{font-size:14px}.analytics .widget-item .content.hr-timesheets .widget-lines-container{max-height:210px}.analytics .widget-item .content.hr-workforce-summary h3.left{text-align:center}.analytics .widget-item .content.hr-workforce-summary h3.reduced-left{text-align:center}@media (min-width:992px){.analytics .widget-item .content.hr-workforce-summary h3.left{margin-top:69px}.analytics .widget-item .content.hr-workforce-summary h3.reduced-left{margin-top:10px}}.analytics .widget-item .content.hr-workforce-summary .price{margin-top:0}.analytics .widget-item .content.hr-workforce-summary .widget-lines-container{max-height:75px}.analytics .widget-item .content.hr-workforce-summary .widget-lines-container .widget-line{font-size:11px}@media (min-width:480px) and (max-width:991px){.analytics .widget-item .content.hr-salaries-summary .right-panel .chart-container,.analytics .widget-item .content.hr-workforce-summary .right-panel .chart-container{max-width:320px}}@media (min-width:992px){.analytics .widget-item .content.invoices-aged-payables-receivables{height:565px}.analytics .widget-item .content.invoices-aged-payables-receivables .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.invoices-aged-payables-receivables .edit{max-height:545px}.analytics .widget-item .content.invoices-aged-payables-receivables .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container{max-height:540px}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.invoices-aged-payables-receivables .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.invoices-aged-payables-receivables .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:215px}.analytics .widget-item .content.sales-aged .edit .widget-lines-container,.analytics .widget-item .content.sales-comparison .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.invoices-aged-payables-receivables .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.invoices-aged-payables-receivables .row.astericks-info{margin-top:15px}.analytics .widget-item .content.invoices-aged-payables-receivables .currency-conversions{float:right;margin-left:3px}.analytics .widget-item .content.invoices-list .widget-lines-container{max-height:230px}.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line:nth-child(even){background-color:#f0f0f0}.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .widget-item .content.invoices-list .widget-lines-container .widget-line.header{background-color:#fff}.analytics .widget-item .content.invoices-list .currency-conversions{float:right;margin-right:3px;margin-top:-2px}.analytics .widget-item .content.invoices-list .fa.fa-info-circle{float:right;font-size:15px}.analytics .widget-item .content.invoices-list .right-column{padding-left:0;padding-right:0}.analytics .widget-item .content.invoices-summary .chart-container{max-width:410px}.analytics .widget-item .content.invoices-summary .legend{max-height:28px}@media (min-width:992px){.analytics .widget-item .content.sales-aged{height:565px}.analytics .widget-item .content.sales-aged .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-aged .edit{max-height:545px}.analytics .widget-item .content.sales-aged .widget-lines-container{max-height:238px}.analytics .widget-item .content.sales-break-even .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.sales-break-even .block{margin:5px;padding:0 10px 5px;text-align:left;box-shadow:0 7px 10px -7px #17262d;font-size:12px}.analytics .widget-item .content.sales-break-even .block form.editable-wrap .editable-controls input{margin-top:5px;width:100px}.analytics .widget-item .content.sales-break-even .block.to-date{background-color:#f0f0f0;color:#5B6667}.analytics .widget-item .content.sales-break-even .block.to-breakeven{margin-top:10px;background-color:#192831;color:#1de9b6}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line:hover,.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main:hover{background-color:#e6e0fb}.analytics .widget-item .content.sales-break-even .block.to-breakeven .title{border-bottom:solid 1px #2a4453}.analytics .widget-item .content.sales-break-even .block.to-breakeven .define-text{font-weight:300;font-size:16px;text-align:center;padding-top:5px;color:#1de9b6}.analytics .widget-item .content.sales-break-even .block.to-breakeven .price{color:#1de9b6}.analytics .widget-item .content.sales-break-even .block .title{font-size:13px;text-align:center;font-variant:small-caps;border-bottom:solid 1px #e6edee;font-weight:300}@media (min-width:992px){.analytics .widget-item .content.sales-comparison{height:565px}.analytics .widget-item .content.sales-comparison .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-comparison .edit{max-height:545px}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.sales-comparison .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.sales-comparison .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.sales-comparison .widget-lines-container{max-height:530px}.analytics .widget-item .content.sales-comparison .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:250px}.analytics .widget-item .content.sales-comparison .currency-conversions img{margin-top:-2px}.analytics .widget-item .content.sales-cycle .chart-container{max-width:410px}.analytics .widget-item .content.sales-cycle .legend{max-height:28px}.analytics .widget-item .content.sales-customer-details{font-size:12px}.analytics .widget-item .content.sales-customer-details .loader{font-size:14px}.analytics .widget-item .content.sales-customer-details .details-container{padding:0;overflow-y:auto;overflow-x:hidden}.analytics .widget-item .content.sales-forecast .edit .widget-lines-container,.analytics .widget-item .content.sales-leads-funnel .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.sales-customer-details .right-panel .legend{margin-bottom:5px}.analytics .widget-item .content.sales-customer-details .row.title{text-align:center;margin-bottom:10px;font-size:14px}.analytics .widget-item .content.sales-customer-details .currency-conversions{float:left;margin-right:3px}@media (min-width:992px){.analytics .widget-item .content.sales-customer-details .details-container{max-height:194px}.analytics .widget-item .content.sales-customer-details .right-panel .details-container{max-height:230px}.analytics .widget-item .content.sales-forecast{height:565px}.analytics .widget-item .content.sales-forecast .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-forecast .edit{max-height:545px}.analytics .widget-item .content.sales-forecast .widget-lines-container{max-height:275px}.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main.no-select{cursor:auto}.analytics .widget-item .content.sales-leads-funnel .right-panel .widget-lines-container .widget-line,.analytics .widget-item .content.sales-opportunities-funnel .right-panel .widget-lines-container .widget-line{cursor:default}.analytics .widget-item .content.sales-forecast .widget-lines-container .widget-line.main.no-select:hover{color:#626d6d}.analytics .widget-item .content.sales-growth .price{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.sales-growth .legend{max-height:49px;font-size:14px;text-overflow:ellipsis;white-space:nowrap}@media (min-width:992px){.analytics .widget-item .content.sales-leads-funnel{height:565px}.analytics .widget-item .content.sales-leads-funnel .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-leads-funnel .edit{max-height:545px}.analytics .widget-item .content.sales-leads-funnel .funnel-container{width:95%;margin:15px auto auto;padding-right:10px;max-height:505px;overflow:auto}.analytics .widget-item .content.sales-leads-funnel .right-panel .widget-lines-container{max-height:545px;margin-right:10px}.analytics .widget-item .content.sales-leads-list .widget-lines-container{max-height:230px;overflow-y:scroll;overflow-x:hidden}.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line:nth-child(even){background-color:#f0f0f0}.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .widget-item .content.sales-leads-list .widget-lines-container .widget-line.header{background-color:#fff}.analytics .widget-item .content.sales-list .widget-lines-container .widget-line:nth-child(even){background-color:#f0f0f0}.analytics .widget-item .content.sales-list .widget-lines-container .widget-line:nth-child(odd){background-color:#fff}.analytics .widget-item .content.sales-list .widget-lines-container .widget-line.header{background-color:#fff}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header:hover,.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line:hover{background-color:#e6e0fb}.analytics .widget-item .content.sales-list .widget-lines-container{overflow-y:scroll;overflow-x:hidden;max-height:170px}.analytics .widget-item .content.sales-list .widget-lines-container.no-scroll{overflow:visible}.analytics .widget-item .content.sales-list .selector{margin-bottom:4px}.analytics .widget-item .content.sales-list .currency-conversions img{margin-top:-2px}.analytics .widget-item .content.sales-net-sales .operator,.analytics .widget-item .content.sales-net-sales .value-container{line-height:85px}.analytics .widget-item .content.sales-net-sales .value-container .title{line-height:20px;font-size:1.2em;padding:10px 0}.analytics .widget-item .content.sales-net-sales .value-container .value-box{font-size:1.3em;border-radius:10px;border-top:solid 1px #C4CACA;border-bottom:solid 1px #C4CACA;white-space:nowrap}.analytics .widget-item .content.sales-net-sales .operator{padding-top:38px;font-size:1.3em}@media (min-width:992px){.analytics .widget-item .content.sales-net-sales .values{margin-top:25px}}.analytics .widget-item .content.sales-new-vs-existing-customers .selector .selector-wrap{display:inline-block;margin:0 5px}.analytics .widget-item .content.sales-new-vs-existing-customers .chart-container{margin-top:15px}.analytics .widget-item .content.sales-new-vs-existing-customers .legend{margin-top:5px;font-weight:700;max-height:77px!important}.analytics .widget-item .content.sales-new-vs-existing-customers .legend .row{margin:0 -5px}.analytics .widget-item .content.sales-new-vs-existing-customers .legend .row>div{padding:0 5px}.analytics .widget-item .content.sales-new-vs-existing-customers .legend .total{color:#5B6667;font-size:14px}.analytics .widget-item .content.sales-number-of-leads .stats{margin-top:35px;font-size:18px}.analytics .widget-item .content.sales-number-of-leads .stats .stat{margin:15px 0 10px;border-bottom:solid 1px #e6edee}.analytics .widget-item .content.sales-number-of-leads .stats .stat span.title{font-weight:700}.analytics .widget-item .content.sales-number-of-leads .stats .stat span.nominal{float:right;text-align:right;font-weight:300}.analytics .widget-item .content.sales-number-of-leads .stats .stat span.variation{float:right;width:50px;text-align:right;font-style:italic;font-size:14px;font-weight:300;margin-top:2px}@media (min-width:992px){.analytics .widget-item .content.sales-opportunities-funnel{height:565px}.analytics .widget-item .content.sales-opportunities-funnel .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-opportunities-funnel .edit{max-height:545px}.analytics .widget-item .content.sales-opportunities-funnel .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.sales-opportunities-funnel .funnel-container{width:95%;margin:15px auto auto;padding-right:10px;max-height:505px;overflow:auto}.analytics .widget-item .content.sales-opportunities-funnel .right-panel .widget-lines-container{max-height:545px;margin-right:10px}@media (min-width:992px){.analytics .widget-item .content.sales-performance{height:565px}.analytics .widget-item .content.sales-performance .chart-container{max-width:585px;max-height:440px;margin:auto}}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header .selection-tag,.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line .selection-tag{display:block;right:0;margin-top:-6px;width:10px;height:29px;position:absolute}.analytics .widget-item .content.sales-performance .edit{max-height:545px}.analytics .widget-item .content.sales-performance .edit .widget-lines-container{overflow-y:hidden;overflow-x:hidden}.analytics .widget-item .content.sales-performance .widget-lines-container{max-height:540px}.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line.no-select{cursor:auto}.analytics .widget-item .content.sales-performance .widget-lines-container .lines-group .widget-line.no-select:hover{color:#626d6d}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container{overflow-y:auto;overflow-x:hidden;max-height:215px}.analytics .widget-item .content.sales-performance .no-element{font-weight:300;font-size:16px;color:#5B6667;text-align:center}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header{cursor:pointer;border:1px solid #fff}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header.no-select{cursor:auto}.analytics .widget-item .content.sales-performance .right-panel .widget-lines-container .widget-line.header.no-select:hover{color:#626d6d}.analytics .widget-item .content.sales-segmented-turnover h3.right{margin-top:55px;text-align:center}.analytics .widget-item .content.sales-segmented-turnover .selector{margin-bottom:10px}.analytics .widget-item .content.sales-segmented-turnover .analysis{font-weight:900;font-size:22px;color:#5B6667;text-align:center;margin-top:0}.analytics .widget-item .content.sales-segmented-turnover .widget-lines-container{max-height:75px}.analytics .widget-item .content.sales-segmented-turnover .widget-lines-container .widget-line{font-size:11px}.analytics .widget-item .content.sales-segmented-turnover .right-panel h3{margin:15px 10px 5px;text-align:center}.analytics .widget-item .content.sales-segmented-turnover .right-panel .fa.fa-info-circle{float:left}.analytics .widget-item .content.sales-summary .chart-container{max-width:410px}.analytics .widget-item .content.sales-summary .legend{max-height:28px}.analytics .widget-item .content.sales-summary .selector{margin-bottom:5px}.analytics .widget-item .content.sales-top-customers .selector{border-bottom:dashed 1px #E6E6E6;padding-bottom:3px}.analytics .widget-item .content.sales-top-customers .selector a{font-weight:400}.analytics .widget-item .content.sales-top-customers .selector .param-selector{display:inline-block}.analytics .widget-item .content.sales-top-customers .widget-lines-container{max-height:235px}.analytics .widget-item .content.sales-top-customers .widget-lines-container .widget-line.sub-line{background-color:#f0f0f0}.analytics .widget-item .content.sales-top-customers .widget-lines-container .row>[class*=col-]{position:static}.analytics .widget-item .content.sales-top-customers .currency-conversions img{margin-top:-2px}.analytics .widget-item .content.sales-top-opportunities .opps-container{max-height:195px;margin-top:10px;padding-right:10px;overflow-y:auto;overflow-x:hidden}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile{height:40px;font-size:13px;font-weight:300}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile .colored-area{width:10%;text-align:center;font-size:20px}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile .main-text{color:#5B6667;padding:3px 0 0 10px}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first{height:55px;font-size:15px;font-weight:700}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first .colored-area{font-size:26px;padding-top:10px;background-color:#ff6e41}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.first .main-text{padding-top:8px}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second{height:55px;font-size:15px;font-weight:500}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second .colored-area{font-size:26px;padding-top:10px;background-color:#1de9b6}.analytics .widget-item .content.sales-top-opportunities .opps-container .tile.second .main-text{padding-top:8px} \ No newline at end of file diff --git a/dist/impac-angular.min.js b/dist/impac-angular.min.js index 9d261c95..f565eba9 100644 --- a/dist/impac-angular.min.js +++ b/dist/impac-angular.min.js @@ -1,21 +1,21 @@ /** * impac-angular - Impac! Front-End Library - * @version v1.6.7 + * @version v1.6.8 * @git git://github.com/maestrano/impac-angular.git * @license Copyright 2017 Maestrano Pty Ltd */ -(function(){"use strict";angular.module("maestrano.impac",["impac.services","impac.filters","impac.components","ngMessages","ui.sortable","ui.bootstrap","emguo.poller","toastr","pascalprecht.translate","xeditable"]),angular.module("impac.components",["impac.components.dashboard","impac.components.dashboard-selector","impac.components.dashboard-templates-selector","impac.components.dashboard-settings","impac.components.kpis-bar","impac.components.kpi","impac.components.chart","impac.components.alerts-config","impac.components.widget","impac.components.widgets","impac.components.widgets-settings","impac.components.widgets-common","impac.components.common","impac.components.templates"]),angular.module("impac.components.widgets",["impac.components.widgets.accounts-accounting-values","impac.components.widgets.accounts-assets-summary","impac.components.widgets.accounts-assets-liability-summary","impac.components.widgets.accounts-balance-sheet","impac.components.widgets.accounts-balance","impac.components.widgets.accounts-cash-projection","impac.components.widgets.accounts-cash-summary","impac.components.widgets.accounts-comparison","impac.components.widgets.accounts-custom-calculation","impac.components.widgets.accounts-expenses-revenue","impac.components.widgets.accounts-payable-receivable","impac.components.widgets.accounts-profit-and-loss","impac.components.widgets.accounts-class-comparison","impac.components.widgets.accounts-expense-weight","impac.components.widgets.accounts-assets-vs-liabilities","impac.components.widgets.accounts-detailed-classifications","impac.components.widgets.accounts-ratios","impac.components.widgets.accounts-cash-balance","impac.components.widgets.hr-employee-details","impac.components.widgets.hr-employees-list","impac.components.widgets.hr-leaves-balance","impac.components.widgets.hr-leaves-schedule","impac.components.widgets.hr-payroll-summary","impac.components.widgets.hr-payroll-taxes","impac.components.widgets.hr-salaries-summary","impac.components.widgets.hr-superannuation-accruals","impac.components.widgets.hr-timesheets","impac.components.widgets.hr-workforce-summary","impac.components.widgets.invoices-aged-payables-receivables","impac.components.widgets.invoices-list","impac.components.widgets.invoices-summary","impac.components.widgets.sales-aged","impac.components.widgets.sales-break-even","impac.components.widgets.sales-comparison","impac.components.widgets.sales-customer-details","impac.components.widgets.sales-cycle","impac.components.widgets.sales-forecast","impac.components.widgets.sales-growth","impac.components.widgets.sales-leads-funnel","impac.components.widgets.sales-leads-list","impac.components.widgets.sales-list","impac.components.widgets.sales-margin","impac.components.widgets.sales-net-sales","impac.components.widgets.sales-number-of-leads","impac.components.widgets.sales-opportunities-funnel","impac.components.widgets.sales-performance","impac.components.widgets.sales-segmented-turnover","impac.components.widgets.sales-summary","impac.components.widgets.sales-top-opportunities","impac.components.widgets.sales-top-customers","impac.components.widgets.sales-new-vs-existing-customers"]),angular.module("impac.components.widgets-settings",["impac.components.widgets-settings.account","impac.components.widgets-settings.accounts-list","impac.components.widgets-settings.accounting-behaviour","impac.components.widgets-settings.chart-filters","impac.components.widgets-settings.dates-picker","impac.components.widgets-settings.formula","impac.components.widgets-settings.hist-mode","impac.components.widgets-settings.limit-entries","impac.components.widgets-settings.organizations","impac.components.widgets-settings.param-selector","impac.components.widgets-settings.params-picker","impac.components.widgets-settings.params-checkboxes","impac.components.widgets-settings.time-period","impac.components.widgets-settings.time-presets","impac.components.widgets-settings.time-slider","impac.components.widgets-settings.width","impac.components.widgets-settings.attach-kpis","impac.components.widgets-settings.tag-filter","impac.components.widgets-settings.offsets"]),angular.module("impac.components.dashboard-settings",["impac.components.dashboard-settings.currency","impac.components.dashboard-settings.pdf-mode","impac.components.dashboard-settings.sync-apps"]),angular.module("impac.components.widgets-common",["impac.components.widgets-common.editable-title","impac.components.widgets-common.info-panel","impac.components.widgets-common.time-period-info","impac.components.widgets-common.top-buttons","impac.components.widgets-common.autofocus","impac.components.widgets-common.currency-conversions","impac.components.widgets-common.chart-threshold"]),angular.module("impac.components.common",["impac.components.common.data-not-found","impac.components.common.delete-widget","impac.components.common.transactions-add","impac.components.common.transactions-list"]),angular.module("impac.services",["impac.services.routes","impac.services.linking","impac.services.theming","impac.services.assets","impac.services.chart-formatter","impac.services.highcharts-factory","impac.services.message-bus","impac.services.utilities","impac.services.main","impac.services.kpis","impac.services.dashboards","impac.services.dashboard-templates","impac.services.widgets","impac.services.developer","impac.services.pusher","impac.services.alerts","impac.services.notifications","impac.services.events","impac.services.currency-rates","impac.services.bolt-resources"]),angular.module("impac.filters",["impac.filters.titleize","impac.filters.truncate","impac.filters.mno-currency","impac.filters.moment-date"]),angular.module("impac.components.templates",[]).run(["$templateCache",function(e){e.put("alerts-config/alerts-config.modal.html",'
\n\n \n\n \n\n \n\n
\n'),e.put("alerts-config/alerts-config.tmpl.html",'
\n \n
\n'),e.put("dashboard/create.modal.html",'\n\n\n\n\n'),e.put("dashboard/dashboard.tmpl.html",'\n
\n
\n\n \n
\n
\n \n
\n \n \n
\n\n
\n
{{dhbHeadingText}}
\n
\n
\n\n \n \n\n \n \n\n \n\n \n
\n
\n

impac.dashboard.select_the_widgets

\n impac.dashboard.widget_added\n \n
\n\n
\n
\n
\n impac.dashboard.all_categories\n
\n
\n
\n

impac.dashboard.accounting

\n

impac.dashboard.invoicing

\n

impac.dashboard.hr_or_payroll

\n

impac.dashboard.sales

\n
\n
\n
\n
\n \n
\n
\n\n
\n
\n {{getSelectedCategoryName() | titleize}}\n
\n
\n
\n
\n \n

\n \n
\n
\n
\n
\n
\n\n
\n \n {{\'impac.dashboard.can_not_find\' | translate}} {{\'impac.dashboard.give_us\' | translate}}\n \n
\n
\n\n \n
\n\n \n
\n
\n
\n
\n
\n
\n\n \n
\n \n
    \n
  • {{error}}
  • \n
\n
\n\n
\n\n \n\n
\n \n
\n
\n
\n
\n
\n

{{dhbErrorsConfig.firstTimeCreated.first}}

\n

{{dhbErrorsConfig.firstTimeCreated.second}}

\n
\n
\n
\n
\n
\n \n
\n
\n\n \n
\n
\n
\n
\n
\n

{{dhbErrorsConfig.empty.first}}

\n

{{dhbErrorsConfig.empty.second}}

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n \n
\n \n \n
\n

{{dhbErrorsConfig.firstTimeCreated.note}}

\n
\n
\n\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
impac.dashboard.plus_chart
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n

{{dhbErrorsConfig.failed.first}}

\n
\n

{{dhbErrorsConfig.failed.second}}

\n
\n \n \n \n
\n
\n
\n'),e.put("dashboard/widget-suggestion.modal.html",'\n\n