@eo-sdk/client 11.15.0-rc.2 → 11.15.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/eo-client/about-state/about-state.component.d.ts +1 -1
- package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/assets/_default/api/xrechnung/xslt/xrechnung-html.uni.sef.json +1 -1
- package/assets/_default/api/xrechnung/xslt/xrechnung-html.uni.xsl +0 -12
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +4 -4
- package/esm2022/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +3 -3
- package/esm2022/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +4 -3
- package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +3 -3
- package/esm2022/app/eo-framework/grid/grid.component.mjs +2 -1
- package/fesm2022/eo-sdk-client.mjs +23 -22
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -990,9 +990,6 @@ function downloadData (element_id) {
|
|
|
990
990
|
|
|
991
991
|
<xsl:template name="uebersicht">
|
|
992
992
|
<div id="uebersicht" class="divShow">
|
|
993
|
-
<div class="haftungausschluss">
|
|
994
|
-
<xsl:value-of select="$i18n?yuv.media.viewer.e.invoice.disclaimer"/>
|
|
995
|
-
</div>
|
|
996
993
|
<div class="boxtabelle boxtabelleZweispaltig">
|
|
997
994
|
<div class="boxzeile">
|
|
998
995
|
|
|
@@ -2016,9 +2013,6 @@ function downloadData (element_id) {
|
|
|
2016
2013
|
<h2 class="printHeading">
|
|
2017
2014
|
<xsl:value-of select="$i18n?yuv.media.viewer.e.invoice.items"/>
|
|
2018
2015
|
</h2>
|
|
2019
|
-
<div class="haftungausschluss">
|
|
2020
|
-
<xsl:value-of select="$i18n?yuv.media.viewer.e.invoice.disclaimer"/>
|
|
2021
|
-
</div>
|
|
2022
2016
|
<xsl:apply-templates select="./xr:INVOICE_LINE"/>
|
|
2023
2017
|
<!-- many -->
|
|
2024
2018
|
</div>
|
|
@@ -2460,9 +2454,6 @@ function downloadData (element_id) {
|
|
|
2460
2454
|
<h2 class="printHeading">
|
|
2461
2455
|
<xsl:value-of select="$i18n?yuv.media.viewer.e.invoice.information"/>
|
|
2462
2456
|
</h2>
|
|
2463
|
-
<div class="haftungausschluss">
|
|
2464
|
-
<xsl:value-of select="$i18n?yuv.media.viewer.e.invoice.disclaimer"/>
|
|
2465
|
-
</div>
|
|
2466
2457
|
<div class="boxtabelle boxtabelleZweispaltig">
|
|
2467
2458
|
<div class="boxzeile">
|
|
2468
2459
|
<xsl:apply-templates select="./xr:SELLER" mode="zusaetze"/>
|
|
@@ -3032,9 +3023,6 @@ function downloadData (element_id) {
|
|
|
3032
3023
|
<h2 class="printHeading">
|
|
3033
3024
|
<xsl:value-of select="$i18n?yuv.media.viewer.e.invoice.attachments"/>
|
|
3034
3025
|
</h2>
|
|
3035
|
-
<div class="haftungausschluss">
|
|
3036
|
-
<xsl:value-of select="$i18n?yuv.media.viewer.e.invoice.disclaimer"/>
|
|
3037
|
-
</div>
|
|
3038
3026
|
<div class="boxtabelle boxabstandtop">
|
|
3039
3027
|
<div class="boxzeile">
|
|
3040
3028
|
<div id="anlagenListe" class="box">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@eo-sdk/core";
|
|
4
|
-
import * as i2 from "
|
|
4
|
+
import * as i2 from "../../eo-framework-core/title/page-title.service";
|
|
5
5
|
import * as i3 from "@angular/common";
|
|
6
6
|
import * as i4 from "@ngx-translate/core";
|
|
7
7
|
export class AboutStateComponent {
|
|
@@ -11,10 +11,10 @@ export class AboutStateComponent {
|
|
|
11
11
|
this.config = config;
|
|
12
12
|
this.titleService = titleService;
|
|
13
13
|
this.translate = translate;
|
|
14
|
-
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/common", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/core", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/forms", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/router", "version": "18.1.0", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.15.0-rc.
|
|
14
|
+
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/common", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/core", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/forms", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/router", "version": "18.1.0", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.15.0-rc.2", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "18.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "18.1.21", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "18.0.0", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "fast-xml-parser", "version": "4.5.3", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "karma-coverage-istanbul-reporter", "version": "3.0.3", "license": "MIT" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "19.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.3", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.7", "license": "MIT" }];
|
|
15
15
|
this.ctrl = {
|
|
16
16
|
componentName: 'yuuvis® RAD client',
|
|
17
|
-
componentVersion: '11.15.0-rc.
|
|
17
|
+
componentVersion: '11.15.0-rc.3',
|
|
18
18
|
productName: '',
|
|
19
19
|
productVersion: ''
|
|
20
20
|
};
|
|
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
83
83
|
type: Component,
|
|
84
84
|
args: [{ selector: 'eo-about-state', template: "<div class=\"eo-about-state\">\n\n <div class=\"about\">\n <div class=\"header\" [style.background-image]=\"backgroundImage\">\n <img [src]=\"headerLogo\"/>\n </div>\n\n <div class=\"body\">\n <div class=\"claim\" translate>eo.help.about.claim</div>\n\n <div class=\"wrap\">\n <table>\n <tbody>\n <tr>\n <th translate>eo.help.about.component.label</th>\n <td>{{ctrl.componentName}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.component.version.label</th>\n <td>{{ctrl.componentVersion}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.label</th>\n <td>{{ ctrl.productName }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.version.label</th>\n <td>{{ ctrl.productVersion }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.producer.label</th>\n <td translate>eo.help.about.producer.text</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n\n <h2 translate>eo.help.license.title</h2>\n <p translate>eo.help.license.intro</p>\n <div class=\"showLic\" (click)=\"licenseShow = !licenseShow\">\n <span class=\"toggle\"><span translate>eo.help.license.title</span><span class=\"toggle-indicator\">{{licenseShow ? '-' : '+'}}</span></span></div>\n <div class=\"licenses\" *ngIf=\"licenseShow\">\n <div class=\"lib\" *ngFor=\"let lib of __libraries__; trackBy: trackByFn\">\n <div class=\"name\">{{lib.name}}</div>\n <div class=\"lic\">\n <a href=\"{{licenses[lib.license].url}}\" target=\"_blank\" *ngIf=\"licenses[lib.license].url\">{{licenses[lib.license].label}}</a>\n <span *ngIf=\"!licenses[lib.license].url\">{{licenses[lib.license].label}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [":host{--about-header-height: 300px;position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center;overflow-y:auto}.eo-about-state{box-sizing:border-box;width:800px;display:flex;flex-flow:column}@media screen and (max-width: 832px){.eo-about-state{margin:0;min-width:inherit;width:100%}}.eo-about-state .about{box-shadow:0 2px 5px #0003;background:var(--panel-background);margin:var(--app-pane-padding)}.eo-about-state .about .header{position:relative;height:var(--about-header-height);background-size:cover}.eo-about-state .about .header:after{content:\"\";position:absolute;inset:0;background-color:rgba(var(--color-accent-rgb),.8)}.eo-about-state .about .header img{right:8%;bottom:18%;position:absolute;z-index:20;width:40%}.eo-about-state .about .body{padding:var(--app-pane-padding)}.eo-about-state .about .body .claim{padding:var(--app-pane-padding) 0}.eo-about-state .about .body h2{margin:1.5em 0 0;color:var(--text-color-caption);font-weight:var(--font-weight-light);font-size:var(--font-title)}.eo-about-state .about .body .wrap{display:flex;flex-flow:row wrap}.eo-about-state .about .body ul.links{color:var(--color-accent);list-style-type:none}.eo-about-state .about .body ul.links li{padding:2px 0}.eo-about-state .about .body ul.links a{text-decoration:none;color:var(--color-accent)}.eo-about-state .about .body ul.links a:hover{text-decoration:underline}.eo-about-state .about .body table{margin:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 4) 0;background-color:rgba(var(--color-black-rgb),.06);border-radius:2px}.eo-about-state .about .body table th{display:flex;flex-flow:column;align-items:flex-start;justify-content:center;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body table th,.eo-about-state .about .body table td{padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2)}.eo-about-state .about .body .showLic span.toggle{color:var(--color-accent);display:inline-block;padding:0 4px 2px;border-radius:4px;border:1px solid var(--color-accent);cursor:pointer}.eo-about-state .about .body .showLic .toggle-indicator{padding:0 4px}.eo-about-state .about .body .licenses{padding-top:var(--app-pane-padding)}.eo-about-state .about .body .licenses .lib{display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding) / 4);border-top:1px solid var(--list-item-border-color)}.eo-about-state .about .body .licenses .lib .name{flex:1 1 auto}.eo-about-state .about .body .licenses .lib .lic{flex:0 0 auto;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body .licenses .lib .lic a{text-decoration:none;border-radius:2px;border:1px solid var(--color-accent);color:var(--color-accent);display:inline-block;padding:2px 4px;background-color:rgba(var(--color-black-rgb),.06);line-height:1em}\n"] }]
|
|
85
85
|
}], ctorParameters: () => [{ type: i1.BackendService }, { type: i1.UserService }, { type: i1.Config }, { type: i2.PageTitleService }, { type: i1.TranslateService }] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3hDLE1BQU0sT0FBTyxtQkFBbUI7SUFzRDlCLFlBQW9CLE9BQXVCLEVBQVUsV0FBd0IsRUFBVSxNQUFjLEVBQVUsWUFBOEIsRUFBUyxTQUEyQjtRQUE3SixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBakRqTCxrQkFBYSxHQUFHLENBQUMsRUFBQyxNQUFNLEVBQUMsNEJBQTRCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsMENBQTBDLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMseUJBQXlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsK0JBQStCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsMkJBQTJCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsY0FBYyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1CQUFtQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGVBQWUsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywyQkFBMkIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxtQ0FBbUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsdUJBQXVCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsd0JBQXdCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsd0JBQXdCLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxtQkFBbUIsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGtDQUFrQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxP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OzhHQTlFVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixzRENUaEMsbzhEQXVEQTs7MkZEOUNhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlLCBDb25maWcsIEJhY2tlbmRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHsgUGFnZVRpdGxlU2VydmljZSB9IGZyb20gJ3NyYy9hcHAvZW8tZnJhbWV3b3JrLWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hYm91dC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRTdGF0ZUNvbXBvbmVudCB7XG5cbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGhlYWRlckxvZ286IHN0cmluZztcbiAgbGljZW5zZVNob3c6IGJvb2xlYW47XG4gIF9fbGlicmFyaWVzX18gPSBbe1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXJcIixcInZlcnNpb25cIjpcIjMxLjMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWxcIixcInZlcnNpb25cIjpcIjMxLjMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIzMS4zLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydFwiLFwidmVyc2lvblwiOlwiMzEuMy4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L3N0eWxlc1wiLFwidmVyc2lvblwiOlwiMzEuMy4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY2RrXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21tb25cIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2NvbXBpbGVyXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9mb3Jtc1wiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9yb3V0ZXJcIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBjYXJib24vY2hhcnRzLWFuZ3VsYXJcIixcInZlcnNpb25cIjpcIjEuMTYuM1wiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJAZW8tc2RrL2NvcmVcIixcInZlcnNpb25cIjpcIjExLjE1LjAtcmMuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ25lYXQvdW50aWwtZGVzdHJveVwiLFwidmVyc2lvblwiOlwiMTAuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5neC1wd2EvbG9jYWwtc3RvcmFnZVwiLFwidmVyc2lvblwiOlwiMTguMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5neC10cmFuc2xhdGUvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMC4wXCIsXCJsaWNlbnNlXCI6XCJTRUUgTElDRU5TRSBJTiBMSUNFTlNFXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMTguMS4xOFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvd2lkZ2V0LWdyaWRcIixcInZlcnNpb25cIjpcIjE4LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZhc3QteG1sLXBhcnNlclwiLFwidmVyc2lvblwiOlwiNC41LjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJmaWxlLXNhdmVyXCIsXCJ2ZXJzaW9uXCI6XCIyLjAuNVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZvbnQtYXdlc29tZVwiLFwidmVyc2lvblwiOlwiNC43LjBcIixcImxpY2Vuc2VcIjpcIihPRkwtMS4xIEFORCBNSVQpXCJ9LHtcIm5hbWVcIjpcImthcm1hLWNvdmVyYWdlLWlzdGFuYnVsLXJlcG9ydGVyXCIsXCJ2ZXJzaW9uXCI6XCIzLjAuM1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImxvZGFzaC1lc1wiLFwidmVyc2lvblwiOlwiNC4xNy4yMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm1vbWVudFwiLFwidmVyc2lvblwiOlwiMi4zMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibmd4LXRvYXN0clwiLFwidmVyc2lvblwiOlwiMTkuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicnhqc1wiLFwidmVyc2lvblwiOlwiNy44LjFcIixcImxpY2Vuc2VcIjpcIkFwYWNoZS0yLjBcIn0se1wibmFtZVwiOlwidHNsaWJcIixcInZlcnNpb25cIjpcIjIuNi4zXCIsXCJsaWNlbnNlXCI6XCIwQlNEXCJ9LHtcIm5hbWVcIjpcInpvbmUuanNcIixcInZlcnNpb25cIjpcIjAuMTQuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9XTtcbiAgdXNlckxhbmc6IHN0cmluZztcblxuICBjdHJsID0ge1xuICAgIGNvbXBvbmVudE5hbWU6ICd5dXV2aXPCriBSQUQgY2xpZW50JyxcbiAgICBjb21wb25lbnRWZXJzaW9uOiAnMTEuMTUuMC1yYy4yJyxcbiAgICBwcm9kdWN0TmFtZTogJycsXG4gICAgcHJvZHVjdFZlcnNpb246ICcnXG4gIH07XG5cbiAgbGljZW5zZXMgPSB7XG4gICAgJ01JVCc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ0FwYWNoZS0yLjAnOiB7XG4gICAgICAnbGFiZWwnOiAnQXBhY2hlIDIuMCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCdcbiAgICB9LFxuICAgICdCU0QtMy1DbGF1c2UtQ2xlYXInOiB7XG4gICAgICAnbGFiZWwnOiAnQlNEIDMtQ2xhdXNlJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZSdcbiAgICB9LFxuICAgICdDQzAtMS4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0NDMCAxLjAnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLydcbiAgICB9LFxuICAgICcoT0ZMLTEuMSBBTkQgTUlUKSc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ1NJTE9GTC0xLjEnOiB7XG4gICAgICAnbGFiZWwnOiAnU0lMIE9wZW4gRm9udCBMaWNlbnNlIDEuMScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMX3dlYidcbiAgICB9LFxuICAgICdDb21tZXJjaWFsJzoge1xuICAgICAgJ2xhYmVsJzogJ0NvbW1lcmNpYWwnXG4gICAgfSxcbiAgICAnYWctZ3JpZCc6IHtcbiAgICAgICdsYWJlbCc6ICdhZy1HcmlkLUVudGVycHJpc2UgU29mdHdhcmUgTGljZW5jZSBBZ3JlZW1lbnQgVmVyc2lvbiAxLjcnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2dpdGh1Yi5jb20vY2VvbHRlci9hZy1ncmlkLWVudGVycHJpc2UvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZCdcbiAgICB9LFxuICAgICcwQlNEJzoge1xuICAgICAgJ2xhYmVsJzogJ1plcm8tQ2xhdXNlIEJTRCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy8wQlNEJ1xuICAgIH1cbiAgfTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnLCBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSwgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaWRlYmFyLmhlbHAuYWJvdXQudG9vbHRpcCcpKTtcbiAgICB0aGlzLl9fbGlicmFyaWVzX18gPSB0aGlzLl9fbGlicmFyaWVzX18uZmlsdGVyKGxpYiA9PiB0aGlzLmxpY2Vuc2VzW2xpYi5saWNlbnNlXSk7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG5cbiAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3N5c3RlbS9pbmZvJykuc3Vic2NyaWJlKGluZm8gPT4ge1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3ROYW1lID0gaW5mby5wcm9kdWN0Lm5hbWU7XG4gICAgICB0aGlzLmN0cmwucHJvZHVjdFZlcnNpb24gPSBpbmZvLnByb2R1Y3QucHJvZHVjdHZlcnNpb247XG4gICAgfSk7XG4gIH1cblxuICBnZXRVc2VyTGFuZygpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLnVzZXJMYW5nID0gZGF0YS51c2VyU2V0dGluZ3MuY2xpZW50bG9jYWxlKTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tYWJvdXQtc3RhdGVcIj5cblxuICA8ZGl2IGNsYXNzPVwiYWJvdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaGVhZGVyTG9nb1wiLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xhaW1cIiB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jbGFpbTwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcFwiPlxuICAgICAgICA8dGFibGU+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7Y3RybC5jb21wb25lbnROYW1lfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LmNvbXBvbmVudC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50VmVyc2lvbn19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3ROYW1lIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LnZlcnNpb24ubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7IGN0cmwucHJvZHVjdFZlcnNpb24gfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LnByb2R1Y2VyLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci50ZXh0PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8aDIgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvaDI+XG4gICAgICA8cCB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLmludHJvPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cInNob3dMaWNcIiAoY2xpY2spPVwibGljZW5zZVNob3cgPSAhbGljZW5zZVNob3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGVcIj48c3BhbiB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLnRpdGxlPC9zcGFuPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWluZGljYXRvclwiPnt7bGljZW5zZVNob3cgPyAnLScgOiAnKyd9fTwvc3Bhbj48L3NwYW4+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGljZW5zZXNcIiAqbmdJZj1cImxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJcIiAqbmdGb3I9XCJsZXQgbGliIG9mIF9fbGlicmFyaWVzX187IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3tsaWIubmFtZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpY1wiPlxuICAgICAgICAgICAgPGEgaHJlZj1cInt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgKm5nSWY9XCJsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsXCI+e3tsaWNlbnNlc1tsaWIubGljZW5zZV0ubGFiZWx9fTwvYT5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3hDLE1BQU0sT0FBTyxtQkFBbUI7SUFzRDlCLFlBQW9CLE9BQXVCLEVBQVUsV0FBd0IsRUFBVSxNQUFjLEVBQVUsWUFBOEIsRUFBUyxTQUEyQjtRQUE3SixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBakRqTCxrQkFBYSxHQUFHLENBQUMsRUFBQyxNQUFNLEVBQUMsNEJBQTRCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsMENBQTBDLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMseUJBQXlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsK0JBQStCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsMkJBQTJCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsY0FBYyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1CQUFtQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGVBQWUsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywyQkFBMkIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxtQ0FBbUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsdUJBQXVCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsd0JBQXdCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsd0JBQXdCLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxtQkFBbUIsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGtDQUFrQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxP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OzhHQTlFVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixzRENUaEMsbzhEQXVEQTs7MkZEOUNhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlLCBDb25maWcsIEJhY2tlbmRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hYm91dC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRTdGF0ZUNvbXBvbmVudCB7XG5cbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGhlYWRlckxvZ286IHN0cmluZztcbiAgbGljZW5zZVNob3c6IGJvb2xlYW47XG4gIF9fbGlicmFyaWVzX18gPSBbe1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXJcIixcInZlcnNpb25cIjpcIjMxLjMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWxcIixcInZlcnNpb25cIjpcIjMxLjMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIzMS4zLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydFwiLFwidmVyc2lvblwiOlwiMzEuMy4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L3N0eWxlc1wiLFwidmVyc2lvblwiOlwiMzEuMy4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY2RrXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21tb25cIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2NvbXBpbGVyXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9mb3Jtc1wiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiLFwidmVyc2lvblwiOlwiMTguMS4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljXCIsXCJ2ZXJzaW9uXCI6XCIxOC4xLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9yb3V0ZXJcIixcInZlcnNpb25cIjpcIjE4LjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBjYXJib24vY2hhcnRzLWFuZ3VsYXJcIixcInZlcnNpb25cIjpcIjEuMTYuM1wiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJAZW8tc2RrL2NvcmVcIixcInZlcnNpb25cIjpcIjExLjE1LjAtcmMuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ25lYXQvdW50aWwtZGVzdHJveVwiLFwidmVyc2lvblwiOlwiMTAuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5neC1wd2EvbG9jYWwtc3RvcmFnZVwiLFwidmVyc2lvblwiOlwiMTguMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQG5neC10cmFuc2xhdGUvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMC4wXCIsXCJsaWNlbnNlXCI6XCJTRUUgTElDRU5TRSBJTiBMSUNFTlNFXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMTguMS4yMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvd2lkZ2V0LWdyaWRcIixcInZlcnNpb25cIjpcIjE4LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZhc3QteG1sLXBhcnNlclwiLFwidmVyc2lvblwiOlwiNC41LjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJmaWxlLXNhdmVyXCIsXCJ2ZXJzaW9uXCI6XCIyLjAuNVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZvbnQtYXdlc29tZVwiLFwidmVyc2lvblwiOlwiNC43LjBcIixcImxpY2Vuc2VcIjpcIihPRkwtMS4xIEFORCBNSVQpXCJ9LHtcIm5hbWVcIjpcImthcm1hLWNvdmVyYWdlLWlzdGFuYnVsLXJlcG9ydGVyXCIsXCJ2ZXJzaW9uXCI6XCIzLjAuM1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImxvZGFzaC1lc1wiLFwidmVyc2lvblwiOlwiNC4xNy4yMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm1vbWVudFwiLFwidmVyc2lvblwiOlwiMi4zMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibmd4LXRvYXN0clwiLFwidmVyc2lvblwiOlwiMTkuMC4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicnhqc1wiLFwidmVyc2lvblwiOlwiNy44LjFcIixcImxpY2Vuc2VcIjpcIkFwYWNoZS0yLjBcIn0se1wibmFtZVwiOlwidHNsaWJcIixcInZlcnNpb25cIjpcIjIuNi4zXCIsXCJsaWNlbnNlXCI6XCIwQlNEXCJ9LHtcIm5hbWVcIjpcInpvbmUuanNcIixcInZlcnNpb25cIjpcIjAuMTQuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9XTtcbiAgdXNlckxhbmc6IHN0cmluZztcblxuICBjdHJsID0ge1xuICAgIGNvbXBvbmVudE5hbWU6ICd5dXV2aXPCriBSQUQgY2xpZW50JyxcbiAgICBjb21wb25lbnRWZXJzaW9uOiAnMTEuMTUuMC1yYy4zJyxcbiAgICBwcm9kdWN0TmFtZTogJycsXG4gICAgcHJvZHVjdFZlcnNpb246ICcnXG4gIH07XG5cbiAgbGljZW5zZXMgPSB7XG4gICAgJ01JVCc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ0FwYWNoZS0yLjAnOiB7XG4gICAgICAnbGFiZWwnOiAnQXBhY2hlIDIuMCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCdcbiAgICB9LFxuICAgICdCU0QtMy1DbGF1c2UtQ2xlYXInOiB7XG4gICAgICAnbGFiZWwnOiAnQlNEIDMtQ2xhdXNlJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZSdcbiAgICB9LFxuICAgICdDQzAtMS4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0NDMCAxLjAnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLydcbiAgICB9LFxuICAgICcoT0ZMLTEuMSBBTkQgTUlUKSc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ1NJTE9GTC0xLjEnOiB7XG4gICAgICAnbGFiZWwnOiAnU0lMIE9wZW4gRm9udCBMaWNlbnNlIDEuMScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMX3dlYidcbiAgICB9LFxuICAgICdDb21tZXJjaWFsJzoge1xuICAgICAgJ2xhYmVsJzogJ0NvbW1lcmNpYWwnXG4gICAgfSxcbiAgICAnYWctZ3JpZCc6IHtcbiAgICAgICdsYWJlbCc6ICdhZy1HcmlkLUVudGVycHJpc2UgU29mdHdhcmUgTGljZW5jZSBBZ3JlZW1lbnQgVmVyc2lvbiAxLjcnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2dpdGh1Yi5jb20vY2VvbHRlci9hZy1ncmlkLWVudGVycHJpc2UvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZCdcbiAgICB9LFxuICAgICcwQlNEJzoge1xuICAgICAgJ2xhYmVsJzogJ1plcm8tQ2xhdXNlIEJTRCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy8wQlNEJ1xuICAgIH1cbiAgfTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnLCBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSwgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaWRlYmFyLmhlbHAuYWJvdXQudG9vbHRpcCcpKTtcbiAgICB0aGlzLl9fbGlicmFyaWVzX18gPSB0aGlzLl9fbGlicmFyaWVzX18uZmlsdGVyKGxpYiA9PiB0aGlzLmxpY2Vuc2VzW2xpYi5saWNlbnNlXSk7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG5cbiAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3N5c3RlbS9pbmZvJykuc3Vic2NyaWJlKGluZm8gPT4ge1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3ROYW1lID0gaW5mby5wcm9kdWN0Lm5hbWU7XG4gICAgICB0aGlzLmN0cmwucHJvZHVjdFZlcnNpb24gPSBpbmZvLnByb2R1Y3QucHJvZHVjdHZlcnNpb247XG4gICAgfSk7XG4gIH1cblxuICBnZXRVc2VyTGFuZygpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLnVzZXJMYW5nID0gZGF0YS51c2VyU2V0dGluZ3MuY2xpZW50bG9jYWxlKTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tYWJvdXQtc3RhdGVcIj5cblxuICA8ZGl2IGNsYXNzPVwiYWJvdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaGVhZGVyTG9nb1wiLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xhaW1cIiB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jbGFpbTwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcFwiPlxuICAgICAgICA8dGFibGU+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7Y3RybC5jb21wb25lbnROYW1lfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LmNvbXBvbmVudC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50VmVyc2lvbn19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3ROYW1lIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LnZlcnNpb24ubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7IGN0cmwucHJvZHVjdFZlcnNpb24gfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LnByb2R1Y2VyLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci50ZXh0PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8aDIgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvaDI+XG4gICAgICA8cCB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLmludHJvPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cInNob3dMaWNcIiAoY2xpY2spPVwibGljZW5zZVNob3cgPSAhbGljZW5zZVNob3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGVcIj48c3BhbiB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLnRpdGxlPC9zcGFuPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWluZGljYXRvclwiPnt7bGljZW5zZVNob3cgPyAnLScgOiAnKyd9fTwvc3Bhbj48L3NwYW4+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGljZW5zZXNcIiAqbmdJZj1cImxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJcIiAqbmdGb3I9XCJsZXQgbGliIG9mIF9fbGlicmFyaWVzX187IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3tsaWIubmFtZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpY1wiPlxuICAgICAgICAgICAgPGEgaHJlZj1cInt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgKm5nSWY9XCJsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsXCI+e3tsaWNlbnNlc1tsaWIubGljZW5zZV0ubGFiZWx9fTwvYT5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
|
|
@@ -310,7 +310,7 @@ export class CodesystemComponent {
|
|
|
310
310
|
useExisting: forwardRef(() => CodesystemComponent),
|
|
311
311
|
multi: true
|
|
312
312
|
}
|
|
313
|
-
], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "autoCompleteButton", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: "<div class=\"eo-codesystem\" *ngIf=\"codesystem\"\n [ngClass]=\"{full: selectedNodes && selectedNodes.length === autocompleteValues.length, readonly: readonly}\">\n @if (isSearch && !isTableFilter && !isTableElement) {\n <yvc-dropdown [(ngModel)]=\"searchOption\" (ngModelChange)=\"onValueChange()\" [options]=\"availableSearchOptions\"\n [disabled]=\"readonly\" [disableClearButton]=\"true\"></yvc-dropdown>\n }\n\n <yvc-autocomplete #autocomplete (suggestionSelect)=\"onAutoCompleteSelect($event)\"\n (suggestionUnselect)=\"onAutoCompleteUnselect($event)\" [autocompleteValues]=\"autocompleteRes\" field=\"name\"\n [disabled]=\"readonly\" [placeholder]=\"placeholder\" [forceSelection]=\"
|
|
313
|
+
], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "autoCompleteButton", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: "<div class=\"eo-codesystem\" *ngIf=\"codesystem\"\n [ngClass]=\"{full: selectedNodes && selectedNodes.length === autocompleteValues.length, readonly: readonly}\">\n @if (isSearch && !isTableFilter && !isTableElement) {\n <yvc-dropdown [(ngModel)]=\"searchOption\" (ngModelChange)=\"onValueChange()\" [options]=\"availableSearchOptions\"\n [disabled]=\"readonly\" [disableClearButton]=\"true\"></yvc-dropdown>\n }\n\n <yvc-autocomplete #autocomplete (suggestionSelect)=\"onAutoCompleteSelect($event)\"\n (suggestionUnselect)=\"onAutoCompleteUnselect($event)\" [autocompleteValues]=\"autocompleteRes\" field=\"name\"\n [disabled]=\"readonly\" [placeholder]=\"placeholder\" [forceSelection]=\"!readonly\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"multiselect\" (ngModelChange)=\"onAutocompleteValueChange($event)\" [(ngModel)]=\"selectedNodes\">\n </yvc-autocomplete>\n @if (!readonly) {\n <button type=\"button\" #button (click)=\"setDialogVisible(true, $event)\" (keydown.enter)=\"setDialogVisible(true, $event)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n }\n</div>\n\n<eo-dialog [title]=\"pickerTitle || ''\" [visible]=\"display\" (hide)=\"display = false\">\n @if (display) {\n <eo-tree [tree]=\"tree\" [isDisplayed]=\"display\" [options]=\"{multiselect: multiselect}\"\n [(ngModel)]=\"selectedNodes\" (ngModelChange)=\"onTreeSelectionChanged($event)\" [readonly]=\"readonly\"\n [emptyMessage]=\"emptyMessage\">\n </eo-tree>\n }\n</eo-dialog>\n", styles: [".eo-codesystem{display:flex;align-items:center;justify-content:space-between}.eo-codesystem yvc-autocomplete{display:flex;flex:1;border:0;outline:0}.eo-codesystem>button{padding:0;z-index:9}.eo-codesystem>button eo-icon{width:16px;height:16px;margin:auto}.eo-codesystem.readonly ::ng-deep .chip yvc-icon{display:none}.eo-codesystem.full ::ng-deep yvc-autocomplete .inputToken{display:none}.eo-codesystem yvc-dropdown{min-width:min-content;border:0;cursor:pointer;border-radius:2px;outline:1px solid rgba(0,0,0,.2);background-color:var(--list-item-hover-background);margin-right:4px}.eo-codesystem yvc-dropdown:hover{background-color:var(--list-item-selected-background)}.eo-codesystem yvc-dropdown ::ng-deep yvc-icon{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i5.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "closeOnCancelOnly", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i6.TreeComponent, selector: "eo-tree", inputs: ["options", "isDisplayed", "readonly", "emptyMessage", "selectionKey", "highlightedNodes", "tree", "treeUpdate"], outputs: ["expandedNodesChanged", "onSelected"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }, { kind: "component", type: i8.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"], outputs: ["onDropdownOptionsClose"] }] }); }
|
|
314
314
|
}
|
|
315
315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CodesystemComponent, decorators: [{
|
|
316
316
|
type: Component,
|
|
@@ -325,7 +325,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
325
325
|
useExisting: forwardRef(() => CodesystemComponent),
|
|
326
326
|
multi: true
|
|
327
327
|
}
|
|
328
|
-
], template: "<div class=\"eo-codesystem\" *ngIf=\"codesystem\"\n [ngClass]=\"{full: selectedNodes && selectedNodes.length === autocompleteValues.length, readonly: readonly}\">\n @if (isSearch && !isTableFilter && !isTableElement) {\n <yvc-dropdown [(ngModel)]=\"searchOption\" (ngModelChange)=\"onValueChange()\" [options]=\"availableSearchOptions\"\n [disabled]=\"readonly\" [disableClearButton]=\"true\"></yvc-dropdown>\n }\n\n <yvc-autocomplete #autocomplete (suggestionSelect)=\"onAutoCompleteSelect($event)\"\n (suggestionUnselect)=\"onAutoCompleteUnselect($event)\" [autocompleteValues]=\"autocompleteRes\" field=\"name\"\n [disabled]=\"readonly\" [placeholder]=\"placeholder\" [forceSelection]=\"
|
|
328
|
+
], template: "<div class=\"eo-codesystem\" *ngIf=\"codesystem\"\n [ngClass]=\"{full: selectedNodes && selectedNodes.length === autocompleteValues.length, readonly: readonly}\">\n @if (isSearch && !isTableFilter && !isTableElement) {\n <yvc-dropdown [(ngModel)]=\"searchOption\" (ngModelChange)=\"onValueChange()\" [options]=\"availableSearchOptions\"\n [disabled]=\"readonly\" [disableClearButton]=\"true\"></yvc-dropdown>\n }\n\n <yvc-autocomplete #autocomplete (suggestionSelect)=\"onAutoCompleteSelect($event)\"\n (suggestionUnselect)=\"onAutoCompleteUnselect($event)\" [autocompleteValues]=\"autocompleteRes\" field=\"name\"\n [disabled]=\"readonly\" [placeholder]=\"placeholder\" [forceSelection]=\"!readonly\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"multiselect\" (ngModelChange)=\"onAutocompleteValueChange($event)\" [(ngModel)]=\"selectedNodes\">\n </yvc-autocomplete>\n @if (!readonly) {\n <button type=\"button\" #button (click)=\"setDialogVisible(true, $event)\" (keydown.enter)=\"setDialogVisible(true, $event)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </button>\n }\n</div>\n\n<eo-dialog [title]=\"pickerTitle || ''\" [visible]=\"display\" (hide)=\"display = false\">\n @if (display) {\n <eo-tree [tree]=\"tree\" [isDisplayed]=\"display\" [options]=\"{multiselect: multiselect}\"\n [(ngModel)]=\"selectedNodes\" (ngModelChange)=\"onTreeSelectionChanged($event)\" [readonly]=\"readonly\"\n [emptyMessage]=\"emptyMessage\">\n </eo-tree>\n }\n</eo-dialog>\n", styles: [".eo-codesystem{display:flex;align-items:center;justify-content:space-between}.eo-codesystem yvc-autocomplete{display:flex;flex:1;border:0;outline:0}.eo-codesystem>button{padding:0;z-index:9}.eo-codesystem>button eo-icon{width:16px;height:16px;margin:auto}.eo-codesystem.readonly ::ng-deep .chip yvc-icon{display:none}.eo-codesystem.full ::ng-deep yvc-autocomplete .inputToken{display:none}.eo-codesystem yvc-dropdown{min-width:min-content;border:0;cursor:pointer;border-radius:2px;outline:1px solid rgba(0,0,0,.2);background-color:var(--list-item-hover-background);margin-right:4px}.eo-codesystem yvc-dropdown:hover{background-color:var(--list-item-selected-background)}.eo-codesystem yvc-dropdown ::ng-deep yvc-icon{display:none}\n"] }]
|
|
329
329
|
}], ctorParameters: () => [{ type: i1.SystemService }], propDecorators: { autoCompleteInput: [{
|
|
330
330
|
type: ViewChild,
|
|
331
331
|
args: ['autocomplete']
|
|
@@ -357,4 +357,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
357
357
|
type: Input,
|
|
358
358
|
args: ['disablingFilterFunction']
|
|
359
359
|
}] } });
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXN5c3RlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NvZGVzeXN0ZW0vY29kZXN5c3RlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NvZGVzeXN0ZW0vY29kZXN5c3RlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBdUIsYUFBYSxFQUFFLGlCQUFpQixFQUFnQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBYyxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBMkIsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7QUFzQjFHLE1BQU0sT0FBTyxtQkFBbUI7SUFjOUIsSUFBSSxhQUFhLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUF1QkQsSUFDSSxjQUFjLENBQUMsSUFBYztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQ0ksdUJBQXVCLENBQUMsSUFBYztRQUN4QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBV0QsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FB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Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQ2xELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiw0T0N0Qkgsb2pEQTJCQTs7MkZESGEsbUJBQW1CO2tCQWpCL0IsU0FBUzsrQkFDRSxlQUFlLGFBR2Q7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7a0ZBSTBCLGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQUNKLGtCQUFrQjtzQkFBdEMsU0FBUzt1QkFBQyxRQUFRO2dCQTBCVixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFNRixjQUFjO3NCQURqQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFPbkIsdUJBQXVCO3NCQUQxQixLQUFLO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9yfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0lDb2RlU3lzdGVtLCBSYW5nZVZhbHVlLCBTZWFyY2hGaWx0ZXIsIFNlYXJjaFF1ZXJ5LCBTeXN0ZW1TZXJ2aWNlLCBUcmVlVmFsdWV9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5cbmltcG9ydCB7VHJlZU5vZGV9IGZyb20gJy4uLy4uL3RyZWUvdHJlZS5jb21wb25lbnQuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY29kZXN5c3RlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2Rlc3lzdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kZXN5c3RlbS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvZGVzeXN0ZW1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDb2Rlc3lzdGVtQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvZGVzeXN0ZW1Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvQ29tcGxldGVJbnB1dDogQXV0b0NvbXBsZXRlO1xuICBAVmlld0NoaWxkKCdidXR0b24nKSBhdXRvQ29tcGxldGVCdXR0b247XG5cbiAgZGlzcGxheSA9IGZhbHNlO1xuICBwcml2YXRlIGRpcnR5ID0gZmFsc2U7XG4gIHByaXZhdGUgaXNWYWxpZCA9IHRydWU7XG4gIGlzVGFibGVGaWx0ZXIgPSBmYWxzZTtcblxuICB2YWx1ZTogVHJlZVZhbHVlO1xuICAvL2NvZGVzeXN0ZW1FbGVtZW50O1xuICB0cmVlOiBUcmVlTm9kZVtdO1xuICBwcml2YXRlIF9zZWxlY3RlZE5vZGVzOiBhbnk7XG4gIHNldCBzZWxlY3RlZE5vZGVzKG46IGFueSkge1xuICAgIHRoaXMuX3NlbGVjdGVkTm9kZXMgPSBzdHJ1Y3R1cmVkQ2xvbmUobik7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkTm9kZXM7XG4gIH1cblxuICBhdXRvY29tcGxldGVSZXM7XG4gIGF1dG9jb21wbGV0ZVZhbHVlczogVHJlZU5vZGVbXSA9IFtdO1xuXG4gIGlzU2VhcmNoID0gZmFsc2U7XG5cbiAgLyoqIGZpbHRlciBmdW5jdGlvbiB0aGF0IGNhbiBiZSBzZXQgYnkgZm9ybSBzY3JpcHQgZGV2ZWxvcGVycy4gV2hlbiBzZXQgdGhpcyBmdW5jdGlvbiB3aWxsIGJlIHByaXZhdGUgZmlsdGVyRnVuY3Rpb246IEZ1bmN0aW9uOyAqL1xuXG4gIC8qKiBjdXJyZW50IGZvcm0gc2l0dWF0aW9uICovXG4gIEBJbnB1dCgpIHNpdHVhdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBwaWNrZXJUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBjb2Rlc3lzdGVtOiBJQ29kZVN5c3RlbTtcbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSBpbnB1dFN0eWxlQ2xhc3MgPSAnJztcbiAgQElucHV0KCkgZW1wdHlNZXNzYWdlID0gJ2VvLmVycm9yLnN0cnVjdHVyZS50cmVlLm5vdC5hdmFpbGFibGUnO1xuICBASW5wdXQoKSBpc1RhYmxlRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2ZpbHRlckZ1bmM6IEZ1bmN0aW9uO1xuICBwcml2YXRlIF9kaXNhYmxpbmdGaWx0ZXJGdW5jOiBGdW5jdGlvbjtcblxuICBASW5wdXQoJ2ZpbHRlckZ1bmN0aW9uJylcbiAgc2V0IGZpbHRlckZ1bmN0aW9uKGZ1bmM6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fZmlsdGVyRnVuYyA9IGZ1bmM7XG4gICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnZGlzYWJsaW5nRmlsdGVyRnVuY3Rpb24nKVxuICBzZXQgZGlzYWJsaW5nRmlsdGVyRnVuY3Rpb24oZnVuYzogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9kaXNhYmxpbmdGaWx0ZXJGdW5jID0gZnVuYztcbiAgICB0aGlzLmJ1aWxkVHJlZSgpO1xuICB9XG5cblxuICAvLyBvcHRpb25zIGZvciBzZWFyY2ggc2l0dWF0aW9uXG4gIHB1YmxpYyBhdmFpbGFibGVTZWFyY2hPcHRpb25zID0gW1xuICAgIHtsYWJlbDogUmFuZ2VWYWx1ZS5nZXRPcGVyYXRvckxhYmVsKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTCksIHZhbHVlOiBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU59LFxuICAgIHtsYWJlbDogUmFuZ2VWYWx1ZS5nZXRPcGVyYXRvckxhYmVsKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5VU0VfTk9UKSwgdmFsdWU6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5VU0VfTk9ULCBhY3R1YWxPcGVyYXRvcjogU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOfSxcbiAgXTtcbiAgLy8gdGhlIHNlbGVjdGVkIHNlYXJjaCBvcHRpb25cbiAgcHVibGljIHNlYXJjaE9wdGlvbiA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UpIHtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UoKSB7XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9nZXRDb2Rlc3lzdGVtQnlRbmFtZShxbmFtZTogc3RyaW5nKTogSUNvZGVTeXN0ZW0ge1xuICAgIGNvbnN0IGNzOiBQYXJ0aWFsPElDb2RlU3lzdGVtPiA9IHt9O1xuICAgIGNvbnN0IG9iamVjdFR5cGUgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShxbmFtZS5zcGxpdCgnLicpWzBdKTtcbiAgICBpZiAob2JqZWN0VHlwZSAmJiBvYmplY3RUeXBlLmVsZW1lbnRzKSB7XG4gICAgICBjb25zdCBlbCA9IG9iamVjdFR5cGUuZWxlbWVudHMuZmluZChlID0+IGUucW5hbWUgPT09IHFuYW1lKSB8fCB7fTtcbiAgICAgIE9iamVjdC5hc3NpZ24oY3MsIGVsLmNvZGVzeXN0ZW0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb2Rlc3lzdGVtKSB7XG4gICAgICBjcy5lbnRyaWVzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0odGhpcy5jb2Rlc3lzdGVtLmlkKS5lbnRyaWVzO1xuICAgIH1cbiAgICByZXR1cm4gKGNzIGFzIElDb2RlU3lzdGVtKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNTZWFyY2ggPSB0aGlzLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCc7XG5cbiAgICBpZih0aGlzLnBsYWNlaG9sZGVyKXtcbiAgICAgIHRoaXMuaXNUYWJsZUZpbHRlciA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIGxvYWQgY29kZXN5c3RlbSBlbnRyaWVzIGlmIHRoZXkgYXJlbid0IGF0dGFjaGVkICovXG4gICAgaWYgKHRoaXMuY29kZXN5c3RlbSAmJiAhdGhpcy5jb2Rlc3lzdGVtLmVudHJpZXMpIHtcbiAgICAgIHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0odGhpcy5jb2Rlc3lzdGVtLmlkKS5lbnRyaWVzO1xuICAgIH1cbiAgICAvLyBpbiBzZWFyY2ggc2l0dWF0aW9uIGNvZGVzeXN0ZW1zIGFyZSBhbHdheXMgbXVsdGlzZWxlY3RhYmxlXG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdCA9ICF0aGlzLmlzVGFibGVFbGVtZW50O1xuICAgIH1cbiAgICB0aGlzLmJ1aWxkVHJlZSgpO1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgbnVsbDtcblxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5vcGVyYXRvcikge1xuICAgICAgY29uc3Qgb3BlcmF0b3IgPSB2YWx1ZT8udXNlTm90ID8gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLlVTRV9OT1QgOiB2YWx1ZS5vcGVyYXRvcjtcbiAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5hdmFpbGFibGVTZWFyY2hPcHRpb25zLmZpbmQoKG8pID0+IG8udmFsdWUgPT09IG9wZXJhdG9yKTtcbiAgICAgIHRoaXMuc2VhcmNoT3B0aW9uID0gbWF0Y2ggPyBtYXRjaC52YWx1ZSA6IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZXMgPSAhdGhpcy52YWx1ZSB8fCBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZSB8fCBbXSA6IFt0aGlzLnZhbHVlXTtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBub2RlcyA9ICF0aGlzLnNlbGVjdGVkTm9kZXMgfHwgQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkTm9kZXMpID8gdGhpcy5zZWxlY3RlZE5vZGVzIHx8IFtdIDogW3RoaXMuc2VsZWN0ZWROb2Rlc107XG5cbiAgICBpZiAodGhpcy5jb2Rlc3lzdGVtICYmIChub2Rlcy5sZW5ndGggIT09IHZhbHVlcyB8fCBub2Rlcy5zb21lKChuLCBpKSA9PiBuLmRhdGEuZGF0YSAhPT0gdmFsdWVzW2ldKSkpIHtcbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIC8vIGhhbmRsZXIgaW52b2tlZCB3aGVuIGFuIGVudHJ5IHdhcyBzZWxlY3RlZCB1c2luZyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0XG4gIG9uQXV0b0NvbXBsZXRlU2VsZWN0KG5vZGU/KSB7XG4gICAgY29uc3Qgd2FzSW52YWxpZCA9ICF0aGlzLmlzVmFsaWQ7XG4gICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcbiAgICAvL3RoaXMudXBkYXRlVHJlZSgpO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQXV0b2NvbXBsZXRlVmFsdWVDaGFuZ2UodjogYW55KSB7XG4gICAgaWYgKHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbnVsbFxuICAgICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gaGFuZGxlciBpbnZva2VkIHdoZW4gYW4gZW50cnkgd2FzIGRlc2VsZWN0ZWQgdXNpbmcgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dFxuICBvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KG5vZGU/KSB7XG4gICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdGhpcy5zZWxlY3RlZE5vZGVzLmZpbHRlcihcbiAgICAgIHNOb2RlID0+IHNOb2RlLmlkICE9PSBub2RlLmlkXG4gICAgKTtcbiAgICAvL3RoaXMudXBkYXRlVHJlZSgpO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSgpO1xuICB9XG5cbiAgLy8gdHJpZ2dlcmVkIHdoZW4gdGhlIHNlbGVjdGlvbiB3YXMgY2hhbmdlZCBieVxuICBvblRyZWVTZWxlY3Rpb25DaGFuZ2VkKGV2dCkge1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgLy8gaGlkZSB0aGUgZGlhbG9nXG4gICAgICB0aGlzLnNldERpYWxvZ1Zpc2libGUoZmFsc2UpO1xuICAgIH1cbiAgICBjb25zdCB3YXNJbnZhbGlkID0gIXRoaXMuaXNWYWxpZDtcbiAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQ2xlYXIoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFuZCBwcm9wYWdhdGVzIHRoZSBmb3JtIGNvbnRyb2xzIHZhbHVlIGJhc2VkIG9uIHRoZSBjb21wb25lbnRzIGlubmVyIHZhbHVlcy4gUHJvcGFnYXRlcyBvbmx5XG4gICAqIHdoZW4gdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICAgKiBAcGFyYW0gZm9yY2VQcm9wYWdhdGlvbiAtIGZvcmNlcyBwcm9wYWdhdGlvbiBldmVuIGlmIHRoZSB2YWx1ZSBoYXNuJ3QgYmVlbiBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIHNldEZvcm1Db250cm9sVmFsdWUoZm9yY2VQcm9wYWdhdGlvbj86IGJvb2xlYW4pIHtcblxuICAgIGxldCB2O1xuICAgIGxldCBjaGFuZ2VkOiBib29sZWFuO1xuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB2ID0gdGhpcy5zZWxlY3RlZE5vZGVzLm1hcChub2RlID0+IG5vZGUuZGF0YS5kYXRhKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgOiB0aGlzLnZhbHVlPy52YWx1ZVxuICAgICAgY2hhbmdlZCA9XG4gICAgICAgICF2YWx1ZSB8fFxuICAgICAgICAhKFxuICAgICAgICAgIHYubGVuZ3RoID09PSB2YWx1ZS5sZW5ndGggJiZcbiAgICAgICAgICB2LmV2ZXJ5KHZhbCA9PiB2YWx1ZS5zb21lKGN1clZhbCA9PiBjdXJWYWwgPT09IHZhbCkpXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHYgPSB0aGlzLnNlbGVjdGVkTm9kZXMgPyB0aGlzLnNlbGVjdGVkTm9kZXMuZGF0YS5kYXRhIDogbnVsbDtcbiAgICAgIGNoYW5nZWQgPSB2ICE9PSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzUGFydE9mUmVsYXRpdmVEYXRlQnVja2V0cyA9IHRoaXMuc2VsZWN0ZWROb2Rlcz8uaWQgJiYgT2JqZWN0LnZhbHVlcyhTZWFyY2hRdWVyeS5SRUxBVElWRV9EQVRFX0JVQ0tFVFMpLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWROb2Rlcz8uaWQpO1xuICAgIC8vIG9ubHkgcHJvcGFnYXRlIHRoZSBjaGFuZ2UgaWYgdGhlIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IG9uZVxuICAgIC8vIG90aGVyd2lzZSB3ZSB3b3VsZCBhbHdheXMgc2V0IHRoZSBkaXJ0eSBmbGFnIGFsdGhvdWdoIG5vdGhpbmcgY2hhbmdlZFxuXG4gICAgaWYgKGlzUGFydE9mUmVsYXRpdmVEYXRlQnVja2V0cyB8fCAhdGhpcy5pc1NlYXJjaCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHY7XG4gICAgfSBlbHNlIGlmICgoY2hhbmdlZCB8fCBmb3JjZVByb3BhZ2F0aW9uKSAmJiB0aGlzLmlzU2VhcmNoKSB7XG4gICAgICBpZiAodi5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgb3BlcmF0b3I6IHRoaXMuc2VhcmNoT3B0aW9uLFxuICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgIGFjdHVhbE9wZXJhdG9yOiB0aGlzLnNlYXJjaE9wdGlvbiA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLlVTRV9OT1QgPyBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU4gOiBudWxsLFxuICAgICAgICAgIHVzZU5vdDogdGhpcy5zZWFyY2hPcHRpb24gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5VU0VfTk9UXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZWQgfHwgZm9yY2VQcm9wYWdhdGlvbikge1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gYnVpbGQgdGhlIHRyZWUgZm9yIHRoZSBkaWFsb2dcbiAgcHJpdmF0ZSBidWlsZFRyZWUoKSB7XG5cbiAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLm11bHRpc2VsZWN0ID8gW10gOiBudWxsO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgbGV0IHRyZWU6IFRyZWVOb2RlW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLmFkZFRyZWVOb2RlKHRyZWUsIHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzW2ldKTtcbiAgICB9XG4gICAgdGhpcy50cmVlID0gdHJlZTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLnNsaWNlKDAsIDEwKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVHJlZU5vZGUocGFyZW50Tm9kZTogVHJlZU5vZGVbXSwgY29kZXN5c3RlbUVudHJ5KSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlckZ1bmMgJiYgIXRoaXMuX2ZpbHRlckZ1bmMoY29kZXN5c3RlbUVudHJ5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgbm9kZTogVHJlZU5vZGUgPSB0aGlzLmNzRW50cnlUb1RyZWVOb2RlKGNvZGVzeXN0ZW1FbnRyeSk7XG4gICAgaWYgKG5vZGUuc2VsZWN0YWJsZSkge1xuICAgICAgLyoqIGFkZCBzZWxlY3RhYmxlIG5vZGVzIHRvIGF1dG9jb21wbGV0ZSB2YWx1ZXMgKi9cbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLnB1c2gobm9kZSk7XG4gICAgfVxuICAgIGlmIChjb2Rlc3lzdGVtRW50cnkuc3ViZW50cmllcykge1xuICAgICAgbm9kZS5jaGlsZHJlbiA9IFtdO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvZGVzeXN0ZW1FbnRyeS5zdWJlbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMuYWRkVHJlZU5vZGUobm9kZS5jaGlsZHJlbiwgY29kZXN5c3RlbUVudHJ5LnN1YmVudHJpZXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoZWNrU2VsZWN0ZWQobm9kZSk7XG4gICAgcGFyZW50Tm9kZS5wdXNoKG5vZGUpO1xuICB9XG5cbiAgLy8gc29tZSBub2RlcyBhcmUgb25seSB2aXNpYmxlIGluIHNvbWUgY2FzZXMuXG4gIHByaXZhdGUgaXNIaWRkZW4oY29kZXN5c3RlbUVudHJ5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLnNpdHVhdGlvbiA9PT0gJ0NSRUFURScgJiYgIWNvZGVzeXN0ZW1FbnRyeS5hbGxvd2Vkb25uZXcpIHx8XG4gICAgICAodGhpcy5zaXR1YXRpb24gPT09ICdFRElUJyAmJiAhY29kZXN5c3RlbUVudHJ5LmFsbG93ZWRvbnVwZGF0ZSkgfHxcbiAgICAgICh0aGlzLl9kaXNhYmxpbmdGaWx0ZXJGdW5jICYmIHRoaXMuX2Rpc2FibGluZ0ZpbHRlckZ1bmMoY29kZXN5c3RlbUVudHJ5KSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1NlbGVjdGVkKG5vZGU6IFRyZWVOb2RlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QgJiYgIXRoaXMuaXNUYWJsZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgOiB0aGlzLnZhbHVlPy52YWx1ZVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAobm9kZS5kYXRhLmRhdGEgPT09IHZhbHVlW2ldKSB7XG4gICAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlPy52YWx1ZSB8fCB0aGlzLnZhbHVlO1xuICAgICAgaWYgKG5vZGUuZGF0YS5kYXRhID09PSB2YWx1ZSkge1xuICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbm9kZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhdXRvY29tcGxldGVGbih0ZXJtOiBzdHJpbmcpIHtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLmZpbHRlcihhY05vZGUgPT4ge1xuICAgICAgaWYgKHRoaXMuX2ZpbHRlckZ1bmMgJiYgIXRoaXMuX2ZpbHRlckZ1bmMoYWNOb2RlLmRhdGEpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIHNraXAgbm9kZXMgdGhhdCBhcmUgYWxyZWFkeSBzZWxlY3RlZFxuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5maW5kKG5vZGUgPT4gYWNOb2RlLmRhdGEuZGF0YSA9PT0gbm9kZS5kYXRhLmRhdGEpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFjTm9kZS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcbiAgICB9KS5zbGljZSgwLCAxMCk7XG5cbiAgICBpZiAodGVybSA9PT0gJycpIHtcbiAgICAgIHRoaXMub25BdXRvY29tcGxldGVWYWx1ZUNoYW5nZSh1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRyYW5zZm9ybSBjb2Rlc3lzdGVtIGVudHJ5IHRvIHRyZWUgbm9kZVxuICBwcml2YXRlIGNzRW50cnlUb1RyZWVOb2RlKGNvZGVzeXN0ZW1FbnRyeSk6IFRyZWVOb2RlIHtcbiAgICAvLyBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdGhlIHRyZWUgbm9kZSBzaG91bGQgYmUgc2VsZWN0YWJsZVxuICAgIGxldCBzZWxlY3RhYmxlID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29kZXN5c3RlbS5hbGxlbGVtZW50c3NlbGVjdGFibGUpIHtcbiAgICAgIC8vIGNhc2U6IGFsbCBlbGVtZW50cyBhcmUgc2VsZWN0YWJsZS4gVGhpcyBtZWFucyB0aGF0IG5vdCBvbmx5IGxlYWYgbm9kZXNcbiAgICAgIC8vIGFyZSBzZWxlY3RhYmxlIGJ1dCBhbHNvIHRoZWlyIHBhcmVudCBub2Rlc1xuICAgICAgc2VsZWN0YWJsZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNhc2U6IG9ubHkgbGVhZiBub2RlcyBhcmUgc2VsZWN0YWJsZVxuICAgICAgc2VsZWN0YWJsZSA9ICEoXG4gICAgICAgIGNvZGVzeXN0ZW1FbnRyeS5zdWJlbnRyaWVzICYmIGNvZGVzeXN0ZW1FbnRyeS5zdWJlbnRyaWVzLmxlbmd0aCA+IDBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpZDogY29kZXN5c3RlbUVudHJ5LmlkLFxuICAgICAgbmFtZTogY29kZXN5c3RlbUVudHJ5LmRlZmF1bHRyZXByZXNlbnRhdGlvbixcbiAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGFibGU6IHNlbGVjdGFibGUgJiYgIXRoaXMuaXNIaWRkZW4oY29kZXN5c3RlbUVudHJ5KSxcbiAgICAgIGRhdGE6IGNvZGVzeXN0ZW1FbnRyeVxuICAgIH07XG4gIH1cblxuICBzZXREaWFsb2dWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIC8vaWdub3JlIHN5bnRoZXRpemVkIGV2ZW50cyBvbiBlbnRlclxuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjbGljaycgJiYgKGV2ZW50IGFzIFBvaW50ZXJFdmVudCkuZGV0YWlsID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kaXNwbGF5ID0gdmlzaWJsZTtcbiAgfVxuXG4gIC8vIHJldHVybnMgbnVsbCB3aGVuIHZhbGlkIGVsc2UgdGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkXG4gICAgICA/IG51bGxcbiAgICAgIDoge1xuICAgICAgICBjb2Rlc3lzdGVtOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1jb2Rlc3lzdGVtXCIgKm5nSWY9XCJjb2Rlc3lzdGVtXCJcbiAgW25nQ2xhc3NdPVwie2Z1bGw6IHNlbGVjdGVkTm9kZXMgJiYgc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IGF1dG9jb21wbGV0ZVZhbHVlcy5sZW5ndGgsIHJlYWRvbmx5OiByZWFkb25seX1cIj5cbiAgQGlmIChpc1NlYXJjaCAmJiAhaXNUYWJsZUZpbHRlciAmJiAhaXNUYWJsZUVsZW1lbnQpIHtcbiAgICA8eXZjLWRyb3Bkb3duIFsobmdNb2RlbCldPVwic2VhcmNoT3B0aW9uXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCIgW29wdGlvbnNdPVwiYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiBbZGlzYWJsZUNsZWFyQnV0dG9uXT1cInRydWVcIj48L3l2Yy1kcm9wZG93bj5cbiAgfVxuXG4gIDx5dmMtYXV0b2NvbXBsZXRlICNhdXRvY29tcGxldGUgKHN1Z2dlc3Rpb25TZWxlY3QpPVwib25BdXRvQ29tcGxldGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KCRldmVudClcIiBbYXV0b2NvbXBsZXRlVmFsdWVzXT1cImF1dG9jb21wbGV0ZVJlc1wiIGZpZWxkPVwibmFtZVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIiAoYXV0b2NvbXBsZXRlRm5jKT1cImF1dG9jb21wbGV0ZUZuKCRldmVudClcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXNlbGVjdFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQXV0b2NvbXBsZXRlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWROb2Rlc1wiPlxuICA8L3l2Yy1hdXRvY29tcGxldGU+XG4gIEBpZiAoIXJlYWRvbmx5KSB7XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J1dHRvbiAoY2xpY2spPVwic2V0RGlhbG9nVmlzaWJsZSh0cnVlLCAkZXZlbnQpXCIgKGtleWRvd24uZW50ZXIpPVwic2V0RGlhbG9nVmlzaWJsZSh0cnVlLCAkZXZlbnQpXCI+XG4gICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIj48L2VvLWljb24+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuXG48ZW8tZGlhbG9nIFt0aXRsZV09XCJwaWNrZXJUaXRsZSB8fCAnJ1wiIFt2aXNpYmxlXT1cImRpc3BsYXlcIiAoaGlkZSk9XCJkaXNwbGF5ID0gZmFsc2VcIj5cbiAgQGlmIChkaXNwbGF5KSB7XG4gICAgPGVvLXRyZWUgW3RyZWVdPVwidHJlZVwiIFtpc0Rpc3BsYXllZF09XCJkaXNwbGF5XCIgW29wdGlvbnNdPVwie211bHRpc2VsZWN0OiBtdWx0aXNlbGVjdH1cIlxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWROb2Rlc1wiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVHJlZVNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICAgW2VtcHR5TWVzc2FnZV09XCJlbXB0eU1lc3NhZ2VcIj5cbiAgICA8L2VvLXRyZWU+XG4gIH1cbjwvZW8tZGlhbG9nPlxuIl19
|
|
360
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXN5c3RlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NvZGVzeXN0ZW0vY29kZXN5c3RlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NvZGVzeXN0ZW0vY29kZXN5c3RlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBdUIsYUFBYSxFQUFFLGlCQUFpQixFQUFnQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBYyxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBMkIsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7QUFzQjFHLE1BQU0sT0FBTyxtQkFBbUI7SUFjOUIsSUFBSSxhQUFhLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUF1QkQsSUFDSSxjQUFjLENBQUMsSUFBYztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQ0ksdUJBQXVCLENBQUMsSUFBYztRQUN4QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBV0QsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FB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Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQ2xELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiw0T0N0QkgseWpEQTJCQTs7MkZESGEsbUJBQW1CO2tCQWpCL0IsU0FBUzsrQkFDRSxlQUFlLGFBR2Q7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7a0ZBSTBCLGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQUNKLGtCQUFrQjtzQkFBdEMsU0FBUzt1QkFBQyxRQUFRO2dCQTBCVixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFNRixjQUFjO3NCQURqQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFPbkIsdUJBQXVCO3NCQUQxQixLQUFLO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9yfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0lDb2RlU3lzdGVtLCBSYW5nZVZhbHVlLCBTZWFyY2hGaWx0ZXIsIFNlYXJjaFF1ZXJ5LCBTeXN0ZW1TZXJ2aWNlLCBUcmVlVmFsdWV9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5cbmltcG9ydCB7VHJlZU5vZGV9IGZyb20gJy4uLy4uL3RyZWUvdHJlZS5jb21wb25lbnQuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY29kZXN5c3RlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2Rlc3lzdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kZXN5c3RlbS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvZGVzeXN0ZW1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDb2Rlc3lzdGVtQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvZGVzeXN0ZW1Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvQ29tcGxldGVJbnB1dDogQXV0b0NvbXBsZXRlO1xuICBAVmlld0NoaWxkKCdidXR0b24nKSBhdXRvQ29tcGxldGVCdXR0b247XG5cbiAgZGlzcGxheSA9IGZhbHNlO1xuICBwcml2YXRlIGRpcnR5ID0gZmFsc2U7XG4gIHByaXZhdGUgaXNWYWxpZCA9IHRydWU7XG4gIGlzVGFibGVGaWx0ZXIgPSBmYWxzZTtcblxuICB2YWx1ZTogVHJlZVZhbHVlO1xuICAvL2NvZGVzeXN0ZW1FbGVtZW50O1xuICB0cmVlOiBUcmVlTm9kZVtdO1xuICBwcml2YXRlIF9zZWxlY3RlZE5vZGVzOiBhbnk7XG4gIHNldCBzZWxlY3RlZE5vZGVzKG46IGFueSkge1xuICAgIHRoaXMuX3NlbGVjdGVkTm9kZXMgPSBzdHJ1Y3R1cmVkQ2xvbmUobik7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkTm9kZXM7XG4gIH1cblxuICBhdXRvY29tcGxldGVSZXM7XG4gIGF1dG9jb21wbGV0ZVZhbHVlczogVHJlZU5vZGVbXSA9IFtdO1xuXG4gIGlzU2VhcmNoID0gZmFsc2U7XG5cbiAgLyoqIGZpbHRlciBmdW5jdGlvbiB0aGF0IGNhbiBiZSBzZXQgYnkgZm9ybSBzY3JpcHQgZGV2ZWxvcGVycy4gV2hlbiBzZXQgdGhpcyBmdW5jdGlvbiB3aWxsIGJlIHByaXZhdGUgZmlsdGVyRnVuY3Rpb246IEZ1bmN0aW9uOyAqL1xuXG4gIC8qKiBjdXJyZW50IGZvcm0gc2l0dWF0aW9uICovXG4gIEBJbnB1dCgpIHNpdHVhdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBwaWNrZXJUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBjb2Rlc3lzdGVtOiBJQ29kZVN5c3RlbTtcbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSBpbnB1dFN0eWxlQ2xhc3MgPSAnJztcbiAgQElucHV0KCkgZW1wdHlNZXNzYWdlID0gJ2VvLmVycm9yLnN0cnVjdHVyZS50cmVlLm5vdC5hdmFpbGFibGUnO1xuICBASW5wdXQoKSBpc1RhYmxlRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2ZpbHRlckZ1bmM6IEZ1bmN0aW9uO1xuICBwcml2YXRlIF9kaXNhYmxpbmdGaWx0ZXJGdW5jOiBGdW5jdGlvbjtcblxuICBASW5wdXQoJ2ZpbHRlckZ1bmN0aW9uJylcbiAgc2V0IGZpbHRlckZ1bmN0aW9uKGZ1bmM6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fZmlsdGVyRnVuYyA9IGZ1bmM7XG4gICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnZGlzYWJsaW5nRmlsdGVyRnVuY3Rpb24nKVxuICBzZXQgZGlzYWJsaW5nRmlsdGVyRnVuY3Rpb24oZnVuYzogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9kaXNhYmxpbmdGaWx0ZXJGdW5jID0gZnVuYztcbiAgICB0aGlzLmJ1aWxkVHJlZSgpO1xuICB9XG5cblxuICAvLyBvcHRpb25zIGZvciBzZWFyY2ggc2l0dWF0aW9uXG4gIHB1YmxpYyBhdmFpbGFibGVTZWFyY2hPcHRpb25zID0gW1xuICAgIHtsYWJlbDogUmFuZ2VWYWx1ZS5nZXRPcGVyYXRvckxhYmVsKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTCksIHZhbHVlOiBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU59LFxuICAgIHtsYWJlbDogUmFuZ2VWYWx1ZS5nZXRPcGVyYXRvckxhYmVsKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5VU0VfTk9UKSwgdmFsdWU6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5VU0VfTk9ULCBhY3R1YWxPcGVyYXRvcjogU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOfSxcbiAgXTtcbiAgLy8gdGhlIHNlbGVjdGVkIHNlYXJjaCBvcHRpb25cbiAgcHVibGljIHNlYXJjaE9wdGlvbiA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UpIHtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UoKSB7XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9nZXRDb2Rlc3lzdGVtQnlRbmFtZShxbmFtZTogc3RyaW5nKTogSUNvZGVTeXN0ZW0ge1xuICAgIGNvbnN0IGNzOiBQYXJ0aWFsPElDb2RlU3lzdGVtPiA9IHt9O1xuICAgIGNvbnN0IG9iamVjdFR5cGUgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShxbmFtZS5zcGxpdCgnLicpWzBdKTtcbiAgICBpZiAob2JqZWN0VHlwZSAmJiBvYmplY3RUeXBlLmVsZW1lbnRzKSB7XG4gICAgICBjb25zdCBlbCA9IG9iamVjdFR5cGUuZWxlbWVudHMuZmluZChlID0+IGUucW5hbWUgPT09IHFuYW1lKSB8fCB7fTtcbiAgICAgIE9iamVjdC5hc3NpZ24oY3MsIGVsLmNvZGVzeXN0ZW0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb2Rlc3lzdGVtKSB7XG4gICAgICBjcy5lbnRyaWVzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0odGhpcy5jb2Rlc3lzdGVtLmlkKS5lbnRyaWVzO1xuICAgIH1cbiAgICByZXR1cm4gKGNzIGFzIElDb2RlU3lzdGVtKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNTZWFyY2ggPSB0aGlzLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCc7XG5cbiAgICBpZih0aGlzLnBsYWNlaG9sZGVyKXtcbiAgICAgIHRoaXMuaXNUYWJsZUZpbHRlciA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIGxvYWQgY29kZXN5c3RlbSBlbnRyaWVzIGlmIHRoZXkgYXJlbid0IGF0dGFjaGVkICovXG4gICAgaWYgKHRoaXMuY29kZXN5c3RlbSAmJiAhdGhpcy5jb2Rlc3lzdGVtLmVudHJpZXMpIHtcbiAgICAgIHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0odGhpcy5jb2Rlc3lzdGVtLmlkKS5lbnRyaWVzO1xuICAgIH1cbiAgICAvLyBpbiBzZWFyY2ggc2l0dWF0aW9uIGNvZGVzeXN0ZW1zIGFyZSBhbHdheXMgbXVsdGlzZWxlY3RhYmxlXG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdCA9ICF0aGlzLmlzVGFibGVFbGVtZW50O1xuICAgIH1cbiAgICB0aGlzLmJ1aWxkVHJlZSgpO1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgbnVsbDtcblxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5vcGVyYXRvcikge1xuICAgICAgY29uc3Qgb3BlcmF0b3IgPSB2YWx1ZT8udXNlTm90ID8gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLlVTRV9OT1QgOiB2YWx1ZS5vcGVyYXRvcjtcbiAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5hdmFpbGFibGVTZWFyY2hPcHRpb25zLmZpbmQoKG8pID0+IG8udmFsdWUgPT09IG9wZXJhdG9yKTtcbiAgICAgIHRoaXMuc2VhcmNoT3B0aW9uID0gbWF0Y2ggPyBtYXRjaC52YWx1ZSA6IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZXMgPSAhdGhpcy52YWx1ZSB8fCBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZSB8fCBbXSA6IFt0aGlzLnZhbHVlXTtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBub2RlcyA9ICF0aGlzLnNlbGVjdGVkTm9kZXMgfHwgQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkTm9kZXMpID8gdGhpcy5zZWxlY3RlZE5vZGVzIHx8IFtdIDogW3RoaXMuc2VsZWN0ZWROb2Rlc107XG5cbiAgICBpZiAodGhpcy5jb2Rlc3lzdGVtICYmIChub2Rlcy5sZW5ndGggIT09IHZhbHVlcyB8fCBub2Rlcy5zb21lKChuLCBpKSA9PiBuLmRhdGEuZGF0YSAhPT0gdmFsdWVzW2ldKSkpIHtcbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIC8vIGhhbmRsZXIgaW52b2tlZCB3aGVuIGFuIGVudHJ5IHdhcyBzZWxlY3RlZCB1c2luZyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0XG4gIG9uQXV0b0NvbXBsZXRlU2VsZWN0KG5vZGU/KSB7XG4gICAgY29uc3Qgd2FzSW52YWxpZCA9ICF0aGlzLmlzVmFsaWQ7XG4gICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcbiAgICAvL3RoaXMudXBkYXRlVHJlZSgpO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQXV0b2NvbXBsZXRlVmFsdWVDaGFuZ2UodjogYW55KSB7XG4gICAgaWYgKHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbnVsbFxuICAgICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gaGFuZGxlciBpbnZva2VkIHdoZW4gYW4gZW50cnkgd2FzIGRlc2VsZWN0ZWQgdXNpbmcgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dFxuICBvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KG5vZGU/KSB7XG4gICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdGhpcy5zZWxlY3RlZE5vZGVzLmZpbHRlcihcbiAgICAgIHNOb2RlID0+IHNOb2RlLmlkICE9PSBub2RlLmlkXG4gICAgKTtcbiAgICAvL3RoaXMudXBkYXRlVHJlZSgpO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSgpO1xuICB9XG5cbiAgLy8gdHJpZ2dlcmVkIHdoZW4gdGhlIHNlbGVjdGlvbiB3YXMgY2hhbmdlZCBieVxuICBvblRyZWVTZWxlY3Rpb25DaGFuZ2VkKGV2dCkge1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgLy8gaGlkZSB0aGUgZGlhbG9nXG4gICAgICB0aGlzLnNldERpYWxvZ1Zpc2libGUoZmFsc2UpO1xuICAgIH1cbiAgICBjb25zdCB3YXNJbnZhbGlkID0gIXRoaXMuaXNWYWxpZDtcbiAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQ2xlYXIoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFuZCBwcm9wYWdhdGVzIHRoZSBmb3JtIGNvbnRyb2xzIHZhbHVlIGJhc2VkIG9uIHRoZSBjb21wb25lbnRzIGlubmVyIHZhbHVlcy4gUHJvcGFnYXRlcyBvbmx5XG4gICAqIHdoZW4gdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICAgKiBAcGFyYW0gZm9yY2VQcm9wYWdhdGlvbiAtIGZvcmNlcyBwcm9wYWdhdGlvbiBldmVuIGlmIHRoZSB2YWx1ZSBoYXNuJ3QgYmVlbiBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIHNldEZvcm1Db250cm9sVmFsdWUoZm9yY2VQcm9wYWdhdGlvbj86IGJvb2xlYW4pIHtcblxuICAgIGxldCB2O1xuICAgIGxldCBjaGFuZ2VkOiBib29sZWFuO1xuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB2ID0gdGhpcy5zZWxlY3RlZE5vZGVzLm1hcChub2RlID0+IG5vZGUuZGF0YS5kYXRhKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgOiB0aGlzLnZhbHVlPy52YWx1ZVxuICAgICAgY2hhbmdlZCA9XG4gICAgICAgICF2YWx1ZSB8fFxuICAgICAgICAhKFxuICAgICAgICAgIHYubGVuZ3RoID09PSB2YWx1ZS5sZW5ndGggJiZcbiAgICAgICAgICB2LmV2ZXJ5KHZhbCA9PiB2YWx1ZS5zb21lKGN1clZhbCA9PiBjdXJWYWwgPT09IHZhbCkpXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHYgPSB0aGlzLnNlbGVjdGVkTm9kZXMgPyB0aGlzLnNlbGVjdGVkTm9kZXMuZGF0YS5kYXRhIDogbnVsbDtcbiAgICAgIGNoYW5nZWQgPSB2ICE9PSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzUGFydE9mUmVsYXRpdmVEYXRlQnVja2V0cyA9IHRoaXMuc2VsZWN0ZWROb2Rlcz8uaWQgJiYgT2JqZWN0LnZhbHVlcyhTZWFyY2hRdWVyeS5SRUxBVElWRV9EQVRFX0JVQ0tFVFMpLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWROb2Rlcz8uaWQpO1xuICAgIC8vIG9ubHkgcHJvcGFnYXRlIHRoZSBjaGFuZ2UgaWYgdGhlIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IG9uZVxuICAgIC8vIG90aGVyd2lzZSB3ZSB3b3VsZCBhbHdheXMgc2V0IHRoZSBkaXJ0eSBmbGFnIGFsdGhvdWdoIG5vdGhpbmcgY2hhbmdlZFxuXG4gICAgaWYgKGlzUGFydE9mUmVsYXRpdmVEYXRlQnVja2V0cyB8fCAhdGhpcy5pc1NlYXJjaCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHY7XG4gICAgfSBlbHNlIGlmICgoY2hhbmdlZCB8fCBmb3JjZVByb3BhZ2F0aW9uKSAmJiB0aGlzLmlzU2VhcmNoKSB7XG4gICAgICBpZiAodi5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgb3BlcmF0b3I6IHRoaXMuc2VhcmNoT3B0aW9uLFxuICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgIGFjdHVhbE9wZXJhdG9yOiB0aGlzLnNlYXJjaE9wdGlvbiA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLlVTRV9OT1QgPyBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU4gOiBudWxsLFxuICAgICAgICAgIHVzZU5vdDogdGhpcy5zZWFyY2hPcHRpb24gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5VU0VfTk9UXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZWQgfHwgZm9yY2VQcm9wYWdhdGlvbikge1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gYnVpbGQgdGhlIHRyZWUgZm9yIHRoZSBkaWFsb2dcbiAgcHJpdmF0ZSBidWlsZFRyZWUoKSB7XG5cbiAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLm11bHRpc2VsZWN0ID8gW10gOiBudWxsO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgbGV0IHRyZWU6IFRyZWVOb2RlW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLmFkZFRyZWVOb2RlKHRyZWUsIHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzW2ldKTtcbiAgICB9XG4gICAgdGhpcy50cmVlID0gdHJlZTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLnNsaWNlKDAsIDEwKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVHJlZU5vZGUocGFyZW50Tm9kZTogVHJlZU5vZGVbXSwgY29kZXN5c3RlbUVudHJ5KSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlckZ1bmMgJiYgIXRoaXMuX2ZpbHRlckZ1bmMoY29kZXN5c3RlbUVudHJ5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgbm9kZTogVHJlZU5vZGUgPSB0aGlzLmNzRW50cnlUb1RyZWVOb2RlKGNvZGVzeXN0ZW1FbnRyeSk7XG4gICAgaWYgKG5vZGUuc2VsZWN0YWJsZSkge1xuICAgICAgLyoqIGFkZCBzZWxlY3RhYmxlIG5vZGVzIHRvIGF1dG9jb21wbGV0ZSB2YWx1ZXMgKi9cbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLnB1c2gobm9kZSk7XG4gICAgfVxuICAgIGlmIChjb2Rlc3lzdGVtRW50cnkuc3ViZW50cmllcykge1xuICAgICAgbm9kZS5jaGlsZHJlbiA9IFtdO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvZGVzeXN0ZW1FbnRyeS5zdWJlbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMuYWRkVHJlZU5vZGUobm9kZS5jaGlsZHJlbiwgY29kZXN5c3RlbUVudHJ5LnN1YmVudHJpZXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoZWNrU2VsZWN0ZWQobm9kZSk7XG4gICAgcGFyZW50Tm9kZS5wdXNoKG5vZGUpO1xuICB9XG5cbiAgLy8gc29tZSBub2RlcyBhcmUgb25seSB2aXNpYmxlIGluIHNvbWUgY2FzZXMuXG4gIHByaXZhdGUgaXNIaWRkZW4oY29kZXN5c3RlbUVudHJ5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLnNpdHVhdGlvbiA9PT0gJ0NSRUFURScgJiYgIWNvZGVzeXN0ZW1FbnRyeS5hbGxvd2Vkb25uZXcpIHx8XG4gICAgICAodGhpcy5zaXR1YXRpb24gPT09ICdFRElUJyAmJiAhY29kZXN5c3RlbUVudHJ5LmFsbG93ZWRvbnVwZGF0ZSkgfHxcbiAgICAgICh0aGlzLl9kaXNhYmxpbmdGaWx0ZXJGdW5jICYmIHRoaXMuX2Rpc2FibGluZ0ZpbHRlckZ1bmMoY29kZXN5c3RlbUVudHJ5KSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1NlbGVjdGVkKG5vZGU6IFRyZWVOb2RlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QgJiYgIXRoaXMuaXNUYWJsZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgOiB0aGlzLnZhbHVlPy52YWx1ZVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAobm9kZS5kYXRhLmRhdGEgPT09IHZhbHVlW2ldKSB7XG4gICAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlPy52YWx1ZSB8fCB0aGlzLnZhbHVlO1xuICAgICAgaWYgKG5vZGUuZGF0YS5kYXRhID09PSB2YWx1ZSkge1xuICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbm9kZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhdXRvY29tcGxldGVGbih0ZXJtOiBzdHJpbmcpIHtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLmZpbHRlcihhY05vZGUgPT4ge1xuICAgICAgaWYgKHRoaXMuX2ZpbHRlckZ1bmMgJiYgIXRoaXMuX2ZpbHRlckZ1bmMoYWNOb2RlLmRhdGEpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIHNraXAgbm9kZXMgdGhhdCBhcmUgYWxyZWFkeSBzZWxlY3RlZFxuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5maW5kKG5vZGUgPT4gYWNOb2RlLmRhdGEuZGF0YSA9PT0gbm9kZS5kYXRhLmRhdGEpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFjTm9kZS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcbiAgICB9KS5zbGljZSgwLCAxMCk7XG5cbiAgICBpZiAodGVybSA9PT0gJycpIHtcbiAgICAgIHRoaXMub25BdXRvY29tcGxldGVWYWx1ZUNoYW5nZSh1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRyYW5zZm9ybSBjb2Rlc3lzdGVtIGVudHJ5IHRvIHRyZWUgbm9kZVxuICBwcml2YXRlIGNzRW50cnlUb1RyZWVOb2RlKGNvZGVzeXN0ZW1FbnRyeSk6IFRyZWVOb2RlIHtcbiAgICAvLyBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdGhlIHRyZWUgbm9kZSBzaG91bGQgYmUgc2VsZWN0YWJsZVxuICAgIGxldCBzZWxlY3RhYmxlID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29kZXN5c3RlbS5hbGxlbGVtZW50c3NlbGVjdGFibGUpIHtcbiAgICAgIC8vIGNhc2U6IGFsbCBlbGVtZW50cyBhcmUgc2VsZWN0YWJsZS4gVGhpcyBtZWFucyB0aGF0IG5vdCBvbmx5IGxlYWYgbm9kZXNcbiAgICAgIC8vIGFyZSBzZWxlY3RhYmxlIGJ1dCBhbHNvIHRoZWlyIHBhcmVudCBub2Rlc1xuICAgICAgc2VsZWN0YWJsZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNhc2U6IG9ubHkgbGVhZiBub2RlcyBhcmUgc2VsZWN0YWJsZVxuICAgICAgc2VsZWN0YWJsZSA9ICEoXG4gICAgICAgIGNvZGVzeXN0ZW1FbnRyeS5zdWJlbnRyaWVzICYmIGNvZGVzeXN0ZW1FbnRyeS5zdWJlbnRyaWVzLmxlbmd0aCA+IDBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpZDogY29kZXN5c3RlbUVudHJ5LmlkLFxuICAgICAgbmFtZTogY29kZXN5c3RlbUVudHJ5LmRlZmF1bHRyZXByZXNlbnRhdGlvbixcbiAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGFibGU6IHNlbGVjdGFibGUgJiYgIXRoaXMuaXNIaWRkZW4oY29kZXN5c3RlbUVudHJ5KSxcbiAgICAgIGRhdGE6IGNvZGVzeXN0ZW1FbnRyeVxuICAgIH07XG4gIH1cblxuICBzZXREaWFsb2dWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIC8vaWdub3JlIHN5bnRoZXRpemVkIGV2ZW50cyBvbiBlbnRlclxuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjbGljaycgJiYgKGV2ZW50IGFzIFBvaW50ZXJFdmVudCkuZGV0YWlsID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kaXNwbGF5ID0gdmlzaWJsZTtcbiAgfVxuXG4gIC8vIHJldHVybnMgbnVsbCB3aGVuIHZhbGlkIGVsc2UgdGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkXG4gICAgICA/IG51bGxcbiAgICAgIDoge1xuICAgICAgICBjb2Rlc3lzdGVtOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1jb2Rlc3lzdGVtXCIgKm5nSWY9XCJjb2Rlc3lzdGVtXCJcbiAgW25nQ2xhc3NdPVwie2Z1bGw6IHNlbGVjdGVkTm9kZXMgJiYgc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IGF1dG9jb21wbGV0ZVZhbHVlcy5sZW5ndGgsIHJlYWRvbmx5OiByZWFkb25seX1cIj5cbiAgQGlmIChpc1NlYXJjaCAmJiAhaXNUYWJsZUZpbHRlciAmJiAhaXNUYWJsZUVsZW1lbnQpIHtcbiAgICA8eXZjLWRyb3Bkb3duIFsobmdNb2RlbCldPVwic2VhcmNoT3B0aW9uXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCIgW29wdGlvbnNdPVwiYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiBbZGlzYWJsZUNsZWFyQnV0dG9uXT1cInRydWVcIj48L3l2Yy1kcm9wZG93bj5cbiAgfVxuXG4gIDx5dmMtYXV0b2NvbXBsZXRlICNhdXRvY29tcGxldGUgKHN1Z2dlc3Rpb25TZWxlY3QpPVwib25BdXRvQ29tcGxldGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KCRldmVudClcIiBbYXV0b2NvbXBsZXRlVmFsdWVzXT1cImF1dG9jb21wbGV0ZVJlc1wiIGZpZWxkPVwibmFtZVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2ZvcmNlU2VsZWN0aW9uXT1cIiFyZWFkb25seVwiIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpc2VsZWN0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25BdXRvY29tcGxldGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE5vZGVzXCI+XG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cbiAgQGlmICghcmVhZG9ubHkpIHtcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnV0dG9uIChjbGljayk9XCJzZXREaWFsb2dWaXNpYmxlKHRydWUsICRldmVudClcIiAoa2V5ZG93bi5lbnRlcik9XCJzZXREaWFsb2dWaXNpYmxlKHRydWUsICRldmVudClcIj5cbiAgICAgIDxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Fycm93X2Rvd24uc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgfVxuPC9kaXY+XG5cbjxlby1kaWFsb2cgW3RpdGxlXT1cInBpY2tlclRpdGxlIHx8ICcnXCIgW3Zpc2libGVdPVwiZGlzcGxheVwiIChoaWRlKT1cImRpc3BsYXkgPSBmYWxzZVwiPlxuICBAaWYgKGRpc3BsYXkpIHtcbiAgICA8ZW8tdHJlZSBbdHJlZV09XCJ0cmVlXCIgW2lzRGlzcGxheWVkXT1cImRpc3BsYXlcIiBbb3B0aW9uc109XCJ7bXVsdGlzZWxlY3Q6IG11bHRpc2VsZWN0fVwiXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE5vZGVzXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmVlU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICBbZW1wdHlNZXNzYWdlXT1cImVtcHR5TWVzc2FnZVwiPlxuICAgIDwvZW8tdHJlZT5cbiAgfVxuPC9lby1kaWFsb2c+XG4iXX0=
|
|
@@ -20,7 +20,7 @@ export class IdReferenceComponent {
|
|
|
20
20
|
set innerValues(data) {
|
|
21
21
|
if (data) {
|
|
22
22
|
this._innerValues = data.map(d => {
|
|
23
|
-
d.refType = this.system.getObjectType(d['typeName']);
|
|
23
|
+
d.refType = this.system.getObjectType(d['type']) ? this.system.getObjectType(d['type']) : this.system.getObjectType(d['typeName']);
|
|
24
24
|
return d;
|
|
25
25
|
});
|
|
26
26
|
}
|
|
@@ -105,7 +105,8 @@ export class IdReferenceComponent {
|
|
|
105
105
|
}
|
|
106
106
|
linkDmsObject(content) {
|
|
107
107
|
(content || this.clipboard.elements).forEach((dmsObject) => {
|
|
108
|
-
const { id, title, description
|
|
108
|
+
const { id, title, description } = dmsObject;
|
|
109
|
+
const typeName = dmsObject['objectType'] ? dmsObject['objectType'].name : dmsObject.typeName;
|
|
109
110
|
this.innerValues.push({ id, title, description, typeName });
|
|
110
111
|
});
|
|
111
112
|
this.innerValues = Utils.uniqBy(this.innerValues, 'id');
|
|
@@ -267,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
267
268
|
}], objectTypesFilter: [{
|
|
268
269
|
type: Input
|
|
269
270
|
}] } });
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtcmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL2lkLXJlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9pZC1yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQXVCLGlCQUFpQixFQUFpQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNySCxPQUFPLEVBTTRCLEtBQUssRUFDdkMsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBNkJqRCxNQUFNLE9BQU8sb0JBQW9CO0lBa0IvQixJQUFJLFdBQVcsQ0FBQyxJQUF3QjtRQUN0QyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMvQixDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxPQUFPLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNi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QUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDOzhHQS9QVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixrVEFicEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiw2SUN0Q0gsc3pHQW9EQTs7MkZEWmEsb0JBQW9CO2tCQWpCaEMsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7Mk1BYVEsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNxQixpQkFBaUI7c0JBQTNDLFNBQVM7dUJBQUMsY0FBYztnQkFrQnJCLFlBQVk7c0JBRGYsS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUs7Z0JBT0csWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlZmVyZW5jZVNlcnZpY2V9IGZyb20gJy4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcmVmZXJlbmNlcy9yZWZlcmVuY2Uuc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3IsIFVudHlwZWRGb3JtQ29udHJvbCwgTkdfVkFMSURBVE9SU30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ2xpcGJvYXJkLFxuICBDbGlwYm9hcmRTZXJ2aWNlLFxuICBEbXNPYmplY3QsXG4gIE9iamVjdFR5cGUsXG4gIFNlYXJjaFJlc3VsdCwgU2VhcmNoU2VydmljZSxcbiAgU3lzdGVtU2VydmljZSwgVHJhbnNsYXRlU2VydmljZSwgVXRpbHNcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVG9SZW5kZXJJdGVtIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHR5cGVOYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBzdGF0ZT86IHN0cmluZztcbiAgcmVmVHlwZT86IE9iamVjdFR5cGU7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWlkLXJlZmVyZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pZC1yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pZC1yZWZlcmVuY2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJZFJlZmVyZW5jZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElkUmVmZXJlbmNlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElkUmVmZXJlbmNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgVmFsaWRhdG9yIHtcbiAgcHJpdmF0ZSB2YWx1ZTsgLy8gbW9kZWwgdmFsdWVcbiAgX2lubmVyVmFsdWVzOiBEYXRhVG9SZW5kZXJJdGVtW10gPSBbXTsgLy8gaW5uZXIgbmctbW9kZWwgdmFsdWVcbiAgY2xpcGJvYXJkOiBDbGlwYm9hcmQ7XG4gIHJlZmVyZW5jZVR5cGU6IE9iamVjdFR5cGU7XG4gIHN1YlR5cGVzOiBPYmplY3RUeXBlW107XG4gIHRvb2x0aXBUeXBlSGludDogc3RyaW5nO1xuICB2aXNpYmxlRGlhbG9nID0gZmFsc2U7XG5cbiAgYXV0b2NvbXBsZXRlUmVzO1xuXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2l0dWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRleHRJZDogc3RyaW5nO1xuICBASW5wdXQoKSBleGNlcHRpb25JRHM6IHN0cmluZ1tdO1xuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvQ29tcGxldGVJbnB1dDogQXV0b0NvbXBsZXRlO1xuXG4gIHNldCBpbm5lclZhbHVlcyhkYXRhOiBEYXRhVG9SZW5kZXJJdGVtW10pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5faW5uZXJWYWx1ZXMgPSBkYXRhLm1hcChkID0+IHtcbiAgICAgICAgZC5yZWZUeXBlID0gdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZShkWyd0eXBlTmFtZSddKTtcbiAgICAgICAgcmV0dXJuIGQ7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faW5uZXJWYWx1ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5uZXJWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lubmVyVmFsdWVzO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdGFUb1JlbmRlcihkYXRhOiBEYXRhVG9SZW5kZXJJdGVtW10pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IGRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcmVmZXJlbmNlKHJlZjogYW55KSB7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlID0gcmVmID8gdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZShyZWYudHlwZSkgOiBudWxsO1xuICAgIHRoaXMuc3ViVHlwZXMgPSB0aGlzLmdldFN1YlR5cGVzKHRoaXMucmVmZXJlbmNlVHlwZT8ubmFtZSwgdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZXMoKSk7XG4gICAgdGhpcy50b29sdGlwVHlwZUhpbnQgPSB0aGlzLmNyZWF0ZVRvb2x0aXBUeXBlSGludCh0aGlzLnJlZmVyZW5jZVR5cGUsIHRoaXMuc3ViVHlwZXMpO1xuICB9XG5cbiAgQElucHV0KCkgcXVlcnlGaWx0ZXJzOiB7XG4gICAgW2ZpZWxkUW5hbWU6IHN0cmluZ106IHtvOiBzdHJpbmcsIHYxOiBhbnksIHYyOiBhbnl9XG4gIH07XG5cbiAgQElucHV0KCkgb2JqZWN0VHlwZXNGaWx0ZXI6IHN0cmluZ1tdO1xuXG4gIHByaXZhdGUgZ2V0U3ViVHlwZXModHlwZU5hbWUsIHR5cGVzKSB7XG4gICAgbGV0IHN1YlR5cGVzID0gW107XG4gICAgdHlwZXMuZm9yRWFjaChvYmplY3RUeXBlID0+IHtcbiAgICAgIGlmICghIW9iamVjdFR5cGUuc3VwZXJ0eXBlcy5maW5kKHNUID0+IHNUID09PSB0eXBlTmFtZSkpIHtcbiAgICAgICAgc3ViVHlwZXMucHVzaChvYmplY3RUeXBlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gc3ViVHlwZXM7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXBUeXBlSGludChyZWZlcmVuY2VUeXBlLCBzdWJUeXBlcyA9IFtdKSB7XG4gICAgaWYgKCFyZWZlcmVuY2VUeXBlKSByZXR1cm4gJyc7XG5cbiAgICByZXR1cm4gYCgke1tyZWZlcmVuY2VUeXBlLmxhYmVsLCAuLi5zdWJUeXBlcy5tYXAodHlwZXMgPT4gdHlwZXMubGFiZWwpXS5qb2luKCcsICcpfSlgXG4gICAgICAucmVwbGFjZSgnc3lzb2JqZWN0JywgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZ2xvYmFsLmJhc2V0eXBlLnN5c29iamVjdCcpKVxuICAgICAgLnJlcGxhY2UoJ3N5c2RvY3VtZW50JywgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZ2xvYmFsLmJhc2V0eXBlLnN5c2RvY3VtZW50JykpXG4gICAgICAucmVwbGFjZSgnc3lzZm9sZGVyJywgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZ2xvYmFsLmJhc2V0eXBlLnN5c2ZvbGRlcicpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpcGJvYXJkU2VydmljZTogQ2xpcGJvYXJkU2VydmljZSwgcHJpdmF0ZSBzeXN0ZW06IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWZlcmVuY2VTZXJ2aWNlOiBSZWZlcmVuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHRoaXMuY2xpcGJvYXJkU2VydmljZS5jbGlwYm9hcmQkLnN1YnNjcmliZShjbGlwYm9hcmQgPT4gKHRoaXMuY2xpcGJvYXJkID0gY2xpcGJvYXJkKSk7XG4gICAgdGhpcy5jbGlwYm9hcmQgPSB0aGlzLmNsaXBib2FyZFNlcnZpY2UuZ2V0KCk7XG4gIH1cblxuICBzaG93RGlhbG9nKCkge1xuICAgIHRoaXMudmlzaWJsZURpYWxvZyA9ICF0aGlzLnZpc2libGVEaWFsb2c7XG4gIH1cblxuICBnZXQgc2VsZWN0aW9uRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlzZWxlY3QgPyBmYWxzZSA6IHRoaXMuaW5uZXJWYWx1ZXMubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLnJlZmVyZW5jZVR5cGUgfHxcbiAgICAgIHRoaXMucmVhZG9ubHkgfHxcbiAgICAgIHRoaXMuY2xpcGJvYXJkLmFjdGlvbiA9PT0gMSB8fFxuICAgICAgIXRoaXMuY2xpcGJvYXJkLmVsZW1lbnRzLmxlbmd0aCB8fFxuICAgICAgdGhpcy5jb250YWluc0luY29ycmVjdFR5cGVzKFxuICAgICAgICB0aGlzLmNsaXBib2FyZC5lbGVtZW50cyxcbiAgICAgICAgdGhpcy5yZWZlcmVuY2VUeXBlLFxuICAgICAgICB0aGlzLnN1YlR5cGVzXG4gICAgICApIHx8XG4gICAgICB0aGlzLmNvbnRhaW5zSW5jb3JyZWN0Q29udGV4dCh0aGlzLmNsaXBib2FyZC5lbGVtZW50cywgdGhpcy5jb250ZXh0SWQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udGFpbnNJbmNvcnJlY3RUeXBlcyhjbGlwYm9hcmRFbGVtZW50cywgcmVmVHlwZSwgc3ViVHlwZXMpIHtcbiAgICByZXR1cm4gISFjbGlwYm9hcmRFbGVtZW50cy5maW5kKGNiRWwgPT4gIShjYkVsLnR5cGVOYW1lID09PSByZWZUeXBlLm5hbWUgfHwgc3ViVHlwZXMuZmluZChzVCA9PiBzVC5uYW1lID09PSBjYkVsLnR5cGVOYW1lKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb250YWluc0luY29ycmVjdENvbnRleHQoY2xpcGJvYXJkRWxlbWVudHMsIGNvbnRleHRJZCkge1xuICAgIHJldHVybiAhIWNsaXBib2FyZEVsZW1lbnRzLmZpbmQoY2JFbCA9PiB7XG4gICAgICBpZiAoIWNvbnRleHRJZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gIWNiRWwuY29udGV4dEZvbGRlciB8fCBjYkVsLmNvbnRleHRGb2xkZXIuaWQgIT09IGNvbnRleHRJZDtcbiAgICB9KTtcbiAgfVxuXG4gIHBhc3RlKGNvbnRlbnQ/OiBEbXNPYmplY3RbXSkge1xuICAgIHRoaXMubGlua0Rtc09iamVjdChjb250ZW50KTtcbiAgICB0aGlzLnNob3dEaWFsb2coKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlua0Rtc09iamVjdChjb250ZW50PzogRG1zT2JqZWN0W10pIHtcbiAgICAoY29udGVudCB8fCB0aGlzLmNsaXBib2FyZC5lbGVtZW50cykuZm9yRWFjaCgoZG1zT2JqZWN0OiBEbXNPYmplY3QpID0+IHtcbiAgICAgIGNvbnN0IHtpZCwgdGl0bGUsIGRlc2NyaXB0aW9uLCB0eXBlTmFtZX0gPSBkbXNPYmplY3Q7XG4gICAgICB0aGlzLmlubmVyVmFsdWVzLnB1c2goe2lkLCB0aXRsZSwgZGVzY3JpcHRpb24sIHR5cGVOYW1lfSk7XG4gICAgfSk7XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWVzLCAnaWQnKTtcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZXMubWFwKGl2ID0+IGl2LmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZXNbMF0uaWQ7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlSXRlbShpdGVtKSB7XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuZmlsdGVyKGl2ID0+IGl2LmlkICE9PSBpdGVtLmlkKTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tdWx0aXNlbGVjdFxuICAgICAgPyBVdGlscy51bmlxQnkodGhpcy5pbm5lclZhbHVlcywgJ2lkJykubWFwKGl2ID0+IGl2LmlkKVxuICAgICAgOiBudWxsO1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgICB9XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5mb2N1c0lucHV0KCk7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW5uZXJJbnB1dCgpIHtcbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmNsZWFySW5wdXQoKTtcblxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnVwZGF0ZUlubmVyVmFsdWVzKHRoaXMudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUlubmVyVmFsdWVzKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuZmlsdGVyKGlWID0+IHtcbiAgICAgIC8vIHJlbW92ZSBpbm5lclZhbHVlcywgd2hlcmUgdGhlIGlkIHdhcyByZW1vdmVkIGZyb20gdmFsdWVcbiAgICAgIHJldHVybiB2YWx1ZXMuZmluZCh2ID0+IHYgPT09IGlWLmlkKTtcbiAgICB9KTtcbiAgICBjb25zdCBuZXdWYWx1ZXMgPSB2YWx1ZXMuZmlsdGVyKHYgPT4ge1xuICAgICAgcmV0dXJuICF0aGlzLmlubmVyVmFsdWVzLmZpbmQoaVYgPT4gaVYuaWQgPT09IHYpO1xuICAgIH0pO1xuICAgIGlmIChuZXdWYWx1ZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlZmVyZW5jZVNlcnZpY2UuZmV0Y2hJRFJlZmVyZW5jZU1ldGFEYXRhKG5ld1ZhbHVlcykuc3Vic2NyaWJlKG5ld0lubmVyVmFsdWVzID0+IHtcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuY29uY2F0KG5ld0lubmVyVmFsdWVzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7IH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIGhhbmRsZXIgaW52b2tlZCB3aGVuIGFuIGVudHJ5IHdhcyBzZWxlY3RlZCB1c2luZyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0XG4gIG9uQXV0b0NvbXBsZXRlU2VsZWN0KGV2dD8pIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5pbm5lclZhbHVlcykpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBbdGhpcy5pbm5lclZhbHVlc107XG4gICAgfVxuICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBVdGlscy51bmlxQnkodGhpcy5pbm5lclZhbHVlcywgJ2lkJyk7XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWVzLm1hcChpdiA9PiBpdi5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWVzWzBdLmlkO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuICAgIGxldCBxOiBhbnkgPSB7XG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZSddLFxuICAgICAgdHlwZXM6IFt0aGlzLnJlZmVyZW5jZVR5cGUubmFtZV0sXG4gICAgICB0ZXJtOiB0ZXJtLFxuICAgICAgZmlsdGVyczogdGhpcy5xdWVyeUZpbHRlcnMsXG4gICAgICBvcHRpb25zOiB7d2l0aGNvbnRleHQ6IHRydWUsIGhpZ2hsaWdodGluZzogZmFsc2V9XG4gICAgfTtcblxuICAgIGlmICh0aGlzLm9iamVjdFR5cGVzRmlsdGVyKSB7XG4gICAgICBxLnR5cGVzID0gdGhpcy5vYmplY3RUeXBlc0ZpbHRlcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb250ZXh0SWQpIHtcbiAgICAgIGlmIChxLmZpbHRlcnMpIHtcbiAgICAgICAgcS5maWx0ZXJzLmNvbnRleHRmb2xkZXJpZCA9IHt2MTogdGhpcy5jb250ZXh0SWQsIG86ICdlcSd9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcS5maWx0ZXJzID0ge2NvbnRleHRmb2xkZXJpZDoge3YxOiB0aGlzLmNvbnRleHRJZCwgbzogJ2VxJ319O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoU2VydmljZVxuICAgICAgLmV4ZWN1dGVRdWVyeShxKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgICBtYXAoaXRlbSA9PiBpdGVtID8gdGhpcy5zZWFyY2hTZXJ2aWNlLmNyZWF0ZVJlc3VsdEZyb21SZXNwb25zZShpdGVtKSA6IFtdKVxuICAgICAgKS5zdWJzY3JpYmUoKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gcmVzdWx0LmhpdHMuc2xpY2UoMCwgMTApO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkF1dG9Db21wbGV0ZUJsdXIoKSB7XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5jbGVhcklucHV0KCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICB0aGlzLm11bHRpc2VsZWN0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkaWFsb2cuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZXZlbnQgLSBUaGUgbmV3IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGRpYWxvZy5cbiAgICovXG4gIHVwZGF0ZURpYWxvZ1Zpc2liaWxpdHkoZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVEaWFsb2cgPSBldmVudDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWlkLXJlZmVyZW5jZVwiIFtuZ0NsYXNzXT1cInthY0lucHV0SGlkZGVuOiAhbXVsdGlzZWxlY3QgJiYgX2lubmVyVmFsdWVzLmxlbmd0aH1cIj5cbiAgPHl2Yy1hdXRvY29tcGxldGUgWyhuZ01vZGVsKV09XCJpbm5lclZhbHVlc1wiIFttaW5MZW5ndGhdPVwiMVwiICNhdXRvY29tcGxldGVcbiAgICAoc3VnZ2VzdGlvblNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVNlbGVjdCgkZXZlbnQpXCIgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJyZW1vdmVJdGVtKCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQXV0b0NvbXBsZXRlQmx1cigpXCIgW2F1dG9jb21wbGV0ZVZhbHVlc109XCJhdXRvY29tcGxldGVSZXNcIiBmaWVsZD1cInRpdGxlXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG5cbiAgICA8IS0tIFtzdHlsZUNsYXNzXT1cIiFtdWx0aXNlbGVjdCAmJiBpbm5lclZhbHVlcy5sZW5ndGggPT09IDEgPyAneHh4JyA6ICcnXCI+IC0tPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjaGlwVGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICA8YSAqbmdJZj1cIiFpdGVtLnN0YXRlIHx8IGl0ZW0uc3RhdGUgPT09ICdPSydcIiBjbGFzcz1cImxpbmsgcm91dGVyLWxpbmtcIlxuICAgICAgICBbcm91dGVyTGlua109XCJbJy9vYmplY3QnLCBpdGVtLmlkLCB7b3V0bGV0czoge21vZGFsOiBudWxsfX1dXCIgW3F1ZXJ5UGFyYW1zXT1cInt0eXBlOiByZWZlcmVuY2VUeXBlLnFuYW1lfVwiPlxuICAgICAgICA8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgY2xhc3M9XCJyZWYtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TThcbiAgICAgICAgMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01elwiPlxuICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJpdGVtLnJlZlR5cGVcIiB0aXRsZT1cInt7aXRlbS5yZWZUeXBlPy5sYWJlbH19XCIgY2xhc3M9XCJyZWYtdHlwZS1pY29uXCIgW25nQ2xhc3NdPVwieydkZWxldGVkLXJlZmVyZW5jZS1sYWJlbCc6IGl0ZW0uc3RhdGUgJiYgKGl0ZW0uc3RhdGUgPT09ICdSRUNZQ0xFRCcgfHwgaXRlbS5zdGF0ZSA9PT0gJ0dPTkUnKX1cIj48L2VvLWljb24+XG4gICAgICA8c3BhbiAqbmdJZj1cIiEoaXRlbS5zdGF0ZSAmJiAoaXRlbS5zdGF0ZSA9PT0gJ1JFQ1lDTEVEJyB8fCBpdGVtLnN0YXRlID09PSAnR09ORScpKTsgZWxzZSBkZWxldGVkXCIgY2xhc3M9XCJsYWJlbFwiIGVvUnRsQXdhcmU9XCJmdWxsXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS50aXRsZSB8fCByZWZlcmVuY2VUeXBlPy5sYWJlbDsgZWxzZSBub0FjY2Vzc1wiPlxuICAgICAgICAgIHt7aXRlbS50aXRsZSB8fCByZWZlcmVuY2VUeXBlPy5sYWJlbH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9BY2Nlc3M+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwgbm8tYWNjZXNzLXJlZmVyZW5jZS1sYWJlbFwiPnt7KCdlby5yZWZlcmVuY2VzLm5vQWNjZXNzJyB8IHRyYW5zbGF0ZSl9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlbGV0ZWQ+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwgZGVsZXRlZC1yZWZlcmVuY2UtbGFiZWxcIj57eygnZW8ucmVmZXJlbmNlcy5kZWxldGVkJyB8IHRyYW5zbGF0ZSl9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC95dmMtYXV0b2NvbXBsZXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbm90Rm91bmQ+PHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7aW5uZXJWYWx1ZXMgJiYgaW5uZXJWYWx1ZXMubGVuZ3RoID8gKCdlby5yZWZlcmVuY2VzLm5vdC5hdmFpbGFibGUnIHxcbiAgICAgIHRyYW5zbGF0ZSkgOiAnJ319PC9zcGFuPjwvbmctdGVtcGxhdGU+XG5cbiAgPGJ1dHRvbiAjYnV0dG9uIGNsYXNzPVwidWktYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHlcIlxuICAgIHRpdGxlPVwie3soJ2VvLnJlZmVyZW5jZXMuc2VhcmNoJyB8IHRyYW5zbGF0ZSkgKyAnICcgKyB0b29sdGlwVHlwZUhpbnR9fVwiIFtkaXNhYmxlZF09XCJzZWxlY3Rpb25EaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cInNob3dEaWFsb2coKVwiPlxuICAgIDxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX25vbmUuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGVvLWRpYWxvZyBbdGl0bGVdPVwiKCdlby5yZWZlcmVuY2VzLmFkZCcgfCB0cmFuc2xhdGUpXCIgW3N1YnRpdGxlXT1cInJlZmVyZW5jZVR5cGU/LmxhYmVsXCIgWyh2aXNpYmxlKV09XCJ2aXNpYmxlRGlhbG9nXCJcbiAgW21pbkhlaWdodF09XCI1OTBcIiBbc3R5bGVDbGFzc109XCIncmVmZXJlbmNlLWZpZWxkLWRpYWxvZydcIiAjZGlhbG9nICh2aXNpYmxlQ2hhbmdlKT1cInVwZGF0ZURpYWxvZ1Zpc2liaWxpdHkoJGV2ZW50KVwiIChlb091dHNpZGVDbGljayk9XCJ1cGRhdGVEaWFsb2dWaXNpYmlsaXR5KGZhbHNlKVwiPlxuXG4gIDxlby1yZWZlcmVuY2UtZmluZGVyICpuZ0lmPVwiZGlhbG9nLnZpc2libGVcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW3R5cGVzXT1cInJlZmVyZW5jZVR5cGUucW5hbWVcIlxuICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiIFtjdXJyZW50U2VsZWN0aW9uXT1cImlubmVyVmFsdWVzXCIgW2NsaXBib2FyZF09XCJjbGlwYm9hcmRcIiBbY29udGV4dElkXT1cImNvbnRleHRJZFwiXG4gICAgW2V4Y2VwdGlvbklEc109XCJleGNlcHRpb25JRHNcIiBbcXVlcnlGaWx0ZXJzXT1cInF1ZXJ5RmlsdGVyc1wiIChhZGREbXNPYmplY3RzKT1cInBhc3RlKCRldmVudClcIj5cbiAgPC9lby1yZWZlcmVuY2UtZmluZGVyPlxuPC9lby1kaWFsb2c+XG4iXX0=
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtcmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL2lkLXJlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9pZC1yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQXVCLGlCQUFpQixFQUFpQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNySCxPQUFPLEVBTTRCLEtBQUssRUFDdkMsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBNkJqRCxNQUFNLE9BQU8sb0JBQW9CO0lBa0IvQixJQUFJLFdBQVcsQ0FBQyxJQUF3QjtRQUN0QyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMvQixDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENB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QUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ3FCLGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQWtCckIsWUFBWTtzQkFEZixLQUFLO2dCQVVGLFNBQVM7c0JBRFosS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVmZXJlbmNlU2VydmljZX0gZnJvbSAnLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9yZWZlcmVuY2VzL3JlZmVyZW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciwgVW50eXBlZEZvcm1Db250cm9sLCBOR19WQUxJREFUT1JTfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBDbGlwYm9hcmQsXG4gIENsaXBib2FyZFNlcnZpY2UsXG4gIERtc09iamVjdCxcbiAgT2JqZWN0VHlwZSxcbiAgU2VhcmNoUmVzdWx0LCBTZWFyY2hTZXJ2aWNlLFxuICBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVdGlsc1xufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtBdXRvQ29tcGxldGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9hdXRvY29tcGxldGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUb1JlbmRlckl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgdHlwZU5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICByZWZUeXBlPzogT2JqZWN0VHlwZTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8taWQtcmVmZXJlbmNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lkLXJlZmVyZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lkLXJlZmVyZW5jZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElkUmVmZXJlbmNlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSWRSZWZlcmVuY2VDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWRSZWZlcmVuY2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBWYWxpZGF0b3Ige1xuICBwcml2YXRlIHZhbHVlOyAvLyBtb2RlbCB2YWx1ZVxuICBfaW5uZXJWYWx1ZXM6IERhdGFUb1JlbmRlckl0ZW1bXSA9IFtdOyAvLyBpbm5lciBuZy1tb2RlbCB2YWx1ZVxuICBjbGlwYm9hcmQ6IENsaXBib2FyZDtcbiAgcmVmZXJlbmNlVHlwZTogT2JqZWN0VHlwZTtcbiAgc3ViVHlwZXM6IE9iamVjdFR5cGVbXTtcbiAgdG9vbHRpcFR5cGVIaW50OiBzdHJpbmc7XG4gIHZpc2libGVEaWFsb2cgPSBmYWxzZTtcblxuICBhdXRvY29tcGxldGVSZXM7XG5cbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG11bHRpc2VsZWN0OiBib29sZWFuO1xuICBASW5wdXQoKSBzaXR1YXRpb246IHN0cmluZztcbiAgQElucHV0KCkgY29udGV4dElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV4Y2VwdGlvbklEczogc3RyaW5nW107XG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZScpIGF1dG9Db21wbGV0ZUlucHV0OiBBdXRvQ29tcGxldGU7XG5cbiAgc2V0IGlubmVyVmFsdWVzKGRhdGE6IERhdGFUb1JlbmRlckl0ZW1bXSkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLl9pbm5lclZhbHVlcyA9IGRhdGEubWFwKGQgPT4ge1xuICAgICAgICBkLnJlZlR5cGUgPSB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlKGRbJ3R5cGUnXSkgPyB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlKGRbJ3R5cGUnXSkgOiB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlKGRbJ3R5cGVOYW1lJ10pO1xuICAgICAgICByZXR1cm4gZDtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pbm5lclZhbHVlcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpbm5lclZhbHVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5faW5uZXJWYWx1ZXM7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGF0YVRvUmVuZGVyKGRhdGE6IERhdGFUb1JlbmRlckl0ZW1bXSkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWVzID0gZGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCByZWZlcmVuY2UocmVmOiBhbnkpIHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGUgPSByZWYgPyB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlKHJlZi50eXBlKSA6IG51bGw7XG4gICAgdGhpcy5zdWJUeXBlcyA9IHRoaXMuZ2V0U3ViVHlwZXModGhpcy5yZWZlcmVuY2VUeXBlPy5uYW1lLCB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlcygpKTtcbiAgICB0aGlzLnRvb2x0aXBUeXBlSGludCA9IHRoaXMuY3JlYXRlVG9vbHRpcFR5cGVIaW50KHRoaXMucmVmZXJlbmNlVHlwZSwgdGhpcy5zdWJUeXBlcyk7XG4gIH1cblxuICBASW5wdXQoKSBxdWVyeUZpbHRlcnM6IHtcbiAgICBbZmllbGRRbmFtZTogc3RyaW5nXToge286IHN0cmluZywgdjE6IGFueSwgdjI6IGFueX1cbiAgfTtcblxuICBASW5wdXQoKSBvYmplY3RUeXBlc0ZpbHRlcjogc3RyaW5nW107XG5cbiAgcHJpdmF0ZSBnZXRTdWJUeXBlcyh0eXBlTmFtZSwgdHlwZXMpIHtcbiAgICBsZXQgc3ViVHlwZXMgPSBbXTtcbiAgICB0eXBlcy5mb3JFYWNoKG9iamVjdFR5cGUgPT4ge1xuICAgICAgaWYgKCEhb2JqZWN0VHlwZS5zdXBlcnR5cGVzLmZpbmQoc1QgPT4gc1QgPT09IHR5cGVOYW1lKSkge1xuICAgICAgICBzdWJUeXBlcy5wdXNoKG9iamVjdFR5cGUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBzdWJUeXBlcztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVG9vbHRpcFR5cGVIaW50KHJlZmVyZW5jZVR5cGUsIHN1YlR5cGVzID0gW10pIHtcbiAgICBpZiAoIXJlZmVyZW5jZVR5cGUpIHJldHVybiAnJztcblxuICAgIHJldHVybiBgKCR7W3JlZmVyZW5jZVR5cGUubGFiZWwsIC4uLnN1YlR5cGVzLm1hcCh0eXBlcyA9PiB0eXBlcy5sYWJlbCldLmpvaW4oJywgJyl9KWBcbiAgICAgIC5yZXBsYWNlKCdzeXNvYmplY3QnLCB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5nbG9iYWwuYmFzZXR5cGUuc3lzb2JqZWN0JykpXG4gICAgICAucmVwbGFjZSgnc3lzZG9jdW1lbnQnLCB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5nbG9iYWwuYmFzZXR5cGUuc3lzZG9jdW1lbnQnKSlcbiAgICAgIC5yZXBsYWNlKCdzeXNmb2xkZXInLCB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5nbG9iYWwuYmFzZXR5cGUuc3lzZm9sZGVyJykpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGlwYm9hcmRTZXJ2aWNlOiBDbGlwYm9hcmRTZXJ2aWNlLCBwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHJlZmVyZW5jZVNlcnZpY2U6IFJlZmVyZW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5jbGlwYm9hcmRTZXJ2aWNlLmNsaXBib2FyZCQuc3Vic2NyaWJlKGNsaXBib2FyZCA9PiAodGhpcy5jbGlwYm9hcmQgPSBjbGlwYm9hcmQpKTtcbiAgICB0aGlzLmNsaXBib2FyZCA9IHRoaXMuY2xpcGJvYXJkU2VydmljZS5nZXQoKTtcbiAgfVxuXG4gIHNob3dEaWFsb2coKSB7XG4gICAgdGhpcy52aXNpYmxlRGlhbG9nID0gIXRoaXMudmlzaWJsZURpYWxvZztcbiAgfVxuXG4gIGdldCBzZWxlY3Rpb25EaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tdWx0aXNlbGVjdCA/IGZhbHNlIDogdGhpcy5pbm5lclZhbHVlcy5sZW5ndGg7XG4gIH1cblxuICBnZXQgaXNEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMucmVmZXJlbmNlVHlwZSB8fFxuICAgICAgdGhpcy5yZWFkb25seSB8fFxuICAgICAgdGhpcy5jbGlwYm9hcmQuYWN0aW9uID09PSAxIHx8XG4gICAgICAhdGhpcy5jbGlwYm9hcmQuZWxlbWVudHMubGVuZ3RoIHx8XG4gICAgICB0aGlzLmNvbnRhaW5zSW5jb3JyZWN0VHlwZXMoXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmVsZW1lbnRzLFxuICAgICAgICB0aGlzLnJlZmVyZW5jZVR5cGUsXG4gICAgICAgIHRoaXMuc3ViVHlwZXNcbiAgICAgICkgfHxcbiAgICAgIHRoaXMuY29udGFpbnNJbmNvcnJlY3RDb250ZXh0KHRoaXMuY2xpcGJvYXJkLmVsZW1lbnRzLCB0aGlzLmNvbnRleHRJZClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb250YWluc0luY29ycmVjdFR5cGVzKGNsaXBib2FyZEVsZW1lbnRzLCByZWZUeXBlLCBzdWJUeXBlcykge1xuICAgIHJldHVybiAhIWNsaXBib2FyZEVsZW1lbnRzLmZpbmQoY2JFbCA9PiAhKGNiRWwudHlwZU5hbWUgPT09IHJlZlR5cGUubmFtZSB8fCBzdWJUeXBlcy5maW5kKHNUID0+IHNULm5hbWUgPT09IGNiRWwudHlwZU5hbWUpKSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnRhaW5zSW5jb3JyZWN0Q29udGV4dChjbGlwYm9hcmRFbGVtZW50cywgY29udGV4dElkKSB7XG4gICAgcmV0dXJuICEhY2xpcGJvYXJkRWxlbWVudHMuZmluZChjYkVsID0+IHtcbiAgICAgIGlmICghY29udGV4dElkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhY2JFbC5jb250ZXh0Rm9sZGVyIHx8IGNiRWwuY29udGV4dEZvbGRlci5pZCAhPT0gY29udGV4dElkO1xuICAgIH0pO1xuICB9XG5cbiAgcGFzdGUoY29udGVudD86IERtc09iamVjdFtdKSB7XG4gICAgdGhpcy5saW5rRG1zT2JqZWN0KGNvbnRlbnQpO1xuICAgIHRoaXMuc2hvd0RpYWxvZygpO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaW5rRG1zT2JqZWN0KGNvbnRlbnQ/OiBEbXNPYmplY3RbXSkge1xuICAgIChjb250ZW50IHx8IHRoaXMuY2xpcGJvYXJkLmVsZW1lbnRzKS5mb3JFYWNoKChkbXNPYmplY3Q6IERtc09iamVjdCkgPT4ge1xuICAgICAgY29uc3Qge2lkLCB0aXRsZSwgZGVzY3JpcHRpb259ID0gZG1zT2JqZWN0O1xuICAgICAgY29uc3QgdHlwZU5hbWUgPSBkbXNPYmplY3RbJ29iamVjdFR5cGUnXSA/IGRtc09iamVjdFsnb2JqZWN0VHlwZSddLm5hbWUgOiBkbXNPYmplY3QudHlwZU5hbWU7XG4gICAgICB0aGlzLmlubmVyVmFsdWVzLnB1c2goe2lkLCB0aXRsZSwgZGVzY3JpcHRpb24sIHR5cGVOYW1lfSk7XG4gICAgfSk7XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWVzLCAnaWQnKTtcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZXMubWFwKGl2ID0+IGl2LmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZXNbMF0uaWQ7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlSXRlbShpdGVtKSB7XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuZmlsdGVyKGl2ID0+IGl2LmlkICE9PSBpdGVtLmlkKTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tdWx0aXNlbGVjdFxuICAgICAgPyBVdGlscy51bmlxQnkodGhpcy5pbm5lclZhbHVlcywgJ2lkJykubWFwKGl2ID0+IGl2LmlkKVxuICAgICAgOiBudWxsO1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgICB9XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5mb2N1c0lucHV0KCk7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW5uZXJJbnB1dCgpIHtcbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmNsZWFySW5wdXQoKTtcblxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnVwZGF0ZUlubmVyVmFsdWVzKHRoaXMudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUlubmVyVmFsdWVzKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuZmlsdGVyKGlWID0+IHtcbiAgICAgIC8vIHJlbW92ZSBpbm5lclZhbHVlcywgd2hlcmUgdGhlIGlkIHdhcyByZW1vdmVkIGZyb20gdmFsdWVcbiAgICAgIHJldHVybiB2YWx1ZXMuZmluZCh2ID0+IHYgPT09IGlWLmlkKTtcbiAgICB9KTtcbiAgICBjb25zdCBuZXdWYWx1ZXMgPSB2YWx1ZXMuZmlsdGVyKHYgPT4ge1xuICAgICAgcmV0dXJuICF0aGlzLmlubmVyVmFsdWVzLmZpbmQoaVYgPT4gaVYuaWQgPT09IHYpO1xuICAgIH0pO1xuICAgIGlmIChuZXdWYWx1ZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlZmVyZW5jZVNlcnZpY2UuZmV0Y2hJRFJlZmVyZW5jZU1ldGFEYXRhKG5ld1ZhbHVlcykuc3Vic2NyaWJlKG5ld0lubmVyVmFsdWVzID0+IHtcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlcyA9IHRoaXMuaW5uZXJWYWx1ZXMuY29uY2F0KG5ld0lubmVyVmFsdWVzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7IH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIGhhbmRsZXIgaW52b2tlZCB3aGVuIGFuIGVudHJ5IHdhcyBzZWxlY3RlZCB1c2luZyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0XG4gIG9uQXV0b0NvbXBsZXRlU2VsZWN0KGV2dD8pIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5pbm5lclZhbHVlcykpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBbdGhpcy5pbm5lclZhbHVlc107XG4gICAgfVxuICAgIHRoaXMuaW5uZXJWYWx1ZXMgPSBVdGlscy51bmlxQnkodGhpcy5pbm5lclZhbHVlcywgJ2lkJyk7XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWVzLm1hcChpdiA9PiBpdi5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWVzWzBdLmlkO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuICAgIGxldCBxOiBhbnkgPSB7XG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZSddLFxuICAgICAgdHlwZXM6IFt0aGlzLnJlZmVyZW5jZVR5cGUubmFtZV0sXG4gICAgICB0ZXJtOiB0ZXJtLFxuICAgICAgZmlsdGVyczogdGhpcy5xdWVyeUZpbHRlcnMsXG4gICAgICBvcHRpb25zOiB7d2l0aGNvbnRleHQ6IHRydWUsIGhpZ2hsaWdodGluZzogZmFsc2V9XG4gICAgfTtcblxuICAgIGlmICh0aGlzLm9iamVjdFR5cGVzRmlsdGVyKSB7XG4gICAgICBxLnR5cGVzID0gdGhpcy5vYmplY3RUeXBlc0ZpbHRlcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb250ZXh0SWQpIHtcbiAgICAgIGlmIChxLmZpbHRlcnMpIHtcbiAgICAgICAgcS5maWx0ZXJzLmNvbnRleHRmb2xkZXJpZCA9IHt2MTogdGhpcy5jb250ZXh0SWQsIG86ICdlcSd9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcS5maWx0ZXJzID0ge2NvbnRleHRmb2xkZXJpZDoge3YxOiB0aGlzLmNvbnRleHRJZCwgbzogJ2VxJ319O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoU2VydmljZVxuICAgICAgLmV4ZWN1dGVRdWVyeShxKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgICBtYXAoaXRlbSA9PiBpdGVtID8gdGhpcy5zZWFyY2hTZXJ2aWNlLmNyZWF0ZVJlc3VsdEZyb21SZXNwb25zZShpdGVtKSA6IFtdKVxuICAgICAgKS5zdWJzY3JpYmUoKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gcmVzdWx0LmhpdHMuc2xpY2UoMCwgMTApO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkF1dG9Db21wbGV0ZUJsdXIoKSB7XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5jbGVhcklucHV0KCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICB0aGlzLm11bHRpc2VsZWN0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkaWFsb2cuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZXZlbnQgLSBUaGUgbmV3IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGRpYWxvZy5cbiAgICovXG4gIHVwZGF0ZURpYWxvZ1Zpc2liaWxpdHkoZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVEaWFsb2cgPSBldmVudDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWlkLXJlZmVyZW5jZVwiIFtuZ0NsYXNzXT1cInthY0lucHV0SGlkZGVuOiAhbXVsdGlzZWxlY3QgJiYgX2lubmVyVmFsdWVzLmxlbmd0aH1cIj5cbiAgPHl2Yy1hdXRvY29tcGxldGUgWyhuZ01vZGVsKV09XCJpbm5lclZhbHVlc1wiIFttaW5MZW5ndGhdPVwiMVwiICNhdXRvY29tcGxldGVcbiAgICAoc3VnZ2VzdGlvblNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVNlbGVjdCgkZXZlbnQpXCIgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJyZW1vdmVJdGVtKCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQXV0b0NvbXBsZXRlQmx1cigpXCIgW2F1dG9jb21wbGV0ZVZhbHVlc109XCJhdXRvY29tcGxldGVSZXNcIiBmaWVsZD1cInRpdGxlXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG5cbiAgICA8IS0tIFtzdHlsZUNsYXNzXT1cIiFtdWx0aXNlbGVjdCAmJiBpbm5lclZhbHVlcy5sZW5ndGggPT09IDEgPyAneHh4JyA6ICcnXCI+IC0tPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjaGlwVGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICA8YSAqbmdJZj1cIiFpdGVtLnN0YXRlIHx8IGl0ZW0uc3RhdGUgPT09ICdPSydcIiBjbGFzcz1cImxpbmsgcm91dGVyLWxpbmtcIlxuICAgICAgICBbcm91dGVyTGlua109XCJbJy9vYmplY3QnLCBpdGVtLmlkLCB7b3V0bGV0czoge21vZGFsOiBudWxsfX1dXCIgW3F1ZXJ5UGFyYW1zXT1cInt0eXBlOiByZWZlcmVuY2VUeXBlLnFuYW1lfVwiPlxuICAgICAgICA8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgY2xhc3M9XCJyZWYtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TThcbiAgICAgICAgMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01elwiPlxuICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJpdGVtLnJlZlR5cGVcIiB0aXRsZT1cInt7aXRlbS5yZWZUeXBlPy5sYWJlbH19XCIgY2xhc3M9XCJyZWYtdHlwZS1pY29uXCIgW25nQ2xhc3NdPVwieydkZWxldGVkLXJlZmVyZW5jZS1sYWJlbCc6IGl0ZW0uc3RhdGUgJiYgKGl0ZW0uc3RhdGUgPT09ICdSRUNZQ0xFRCcgfHwgaXRlbS5zdGF0ZSA9PT0gJ0dPTkUnKX1cIj48L2VvLWljb24+XG4gICAgICA8c3BhbiAqbmdJZj1cIiEoaXRlbS5zdGF0ZSAmJiAoaXRlbS5zdGF0ZSA9PT0gJ1JFQ1lDTEVEJyB8fCBpdGVtLnN0YXRlID09PSAnR09ORScpKTsgZWxzZSBkZWxldGVkXCIgY2xhc3M9XCJsYWJlbFwiIGVvUnRsQXdhcmU9XCJmdWxsXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS50aXRsZSB8fCByZWZlcmVuY2VUeXBlPy5sYWJlbDsgZWxzZSBub0FjY2Vzc1wiPlxuICAgICAgICAgIHt7aXRlbS50aXRsZSB8fCByZWZlcmVuY2VUeXBlPy5sYWJlbH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9BY2Nlc3M+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwgbm8tYWNjZXNzLXJlZmVyZW5jZS1sYWJlbFwiPnt7KCdlby5yZWZlcmVuY2VzLm5vQWNjZXNzJyB8IHRyYW5zbGF0ZSl9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlbGV0ZWQ+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwgZGVsZXRlZC1yZWZlcmVuY2UtbGFiZWxcIj57eygnZW8ucmVmZXJlbmNlcy5kZWxldGVkJyB8IHRyYW5zbGF0ZSl9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC95dmMtYXV0b2NvbXBsZXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbm90Rm91bmQ+PHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7aW5uZXJWYWx1ZXMgJiYgaW5uZXJWYWx1ZXMubGVuZ3RoID8gKCdlby5yZWZlcmVuY2VzLm5vdC5hdmFpbGFibGUnIHxcbiAgICAgIHRyYW5zbGF0ZSkgOiAnJ319PC9zcGFuPjwvbmctdGVtcGxhdGU+XG5cbiAgPGJ1dHRvbiAjYnV0dG9uIGNsYXNzPVwidWktYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHlcIlxuICAgIHRpdGxlPVwie3soJ2VvLnJlZmVyZW5jZXMuc2VhcmNoJyB8IHRyYW5zbGF0ZSkgKyAnICcgKyB0b29sdGlwVHlwZUhpbnR9fVwiIFtkaXNhYmxlZF09XCJzZWxlY3Rpb25EaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cInNob3dEaWFsb2coKVwiPlxuICAgIDxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX25vbmUuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGVvLWRpYWxvZyBbdGl0bGVdPVwiKCdlby5yZWZlcmVuY2VzLmFkZCcgfCB0cmFuc2xhdGUpXCIgW3N1YnRpdGxlXT1cInJlZmVyZW5jZVR5cGU/LmxhYmVsXCIgWyh2aXNpYmxlKV09XCJ2aXNpYmxlRGlhbG9nXCJcbiAgW21pbkhlaWdodF09XCI1OTBcIiBbc3R5bGVDbGFzc109XCIncmVmZXJlbmNlLWZpZWxkLWRpYWxvZydcIiAjZGlhbG9nICh2aXNpYmxlQ2hhbmdlKT1cInVwZGF0ZURpYWxvZ1Zpc2liaWxpdHkoJGV2ZW50KVwiIChlb091dHNpZGVDbGljayk9XCJ1cGRhdGVEaWFsb2dWaXNpYmlsaXR5KGZhbHNlKVwiPlxuXG4gIDxlby1yZWZlcmVuY2UtZmluZGVyICpuZ0lmPVwiZGlhbG9nLnZpc2libGVcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW3R5cGVzXT1cInJlZmVyZW5jZVR5cGUucW5hbWVcIlxuICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiIFtjdXJyZW50U2VsZWN0aW9uXT1cImlubmVyVmFsdWVzXCIgW2NsaXBib2FyZF09XCJjbGlwYm9hcmRcIiBbY29udGV4dElkXT1cImNvbnRleHRJZFwiXG4gICAgW2V4Y2VwdGlvbklEc109XCJleGNlcHRpb25JRHNcIiBbcXVlcnlGaWx0ZXJzXT1cInF1ZXJ5RmlsdGVyc1wiIChhZGREbXNPYmplY3RzKT1cInBhc3RlKCRldmVudClcIj5cbiAgPC9lby1yZWZlcmVuY2UtZmluZGVyPlxuPC9lby1kaWFsb2c+XG4iXX0=
|