barsa-novin-ray-core 2.0.106 → 2.0.107
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/esm2022/lib/barsa-novin-ray-core.module.mjs +8 -5
- package/esm2022/lib/constants.mjs +2 -2
- package/esm2022/lib/directives/absolute-div-body.directive.mjs +45 -0
- package/esm2022/lib/directives/index.mjs +2 -1
- package/esm2022/lib/pipes/seperator-fix.pipe.mjs +3 -3
- package/esm2022/lib/root-portal/root-portal.component.mjs +67 -67
- package/esm2022/lib/services/ulvmain.service.mjs +10 -1
- package/fesm2022/barsa-novin-ray-core.mjs +126 -73
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/barsa-novin-ray-core.module.d.ts +7 -6
- package/lib/directives/absolute-div-body.directive.d.ts +17 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/pipes/seperator-fix.pipe.d.ts +1 -1
- package/lib/services/ulvmain.service.d.ts +3 -0
- package/package.json +1 -1
|
@@ -101,78 +101,78 @@ export class RootPortalComponent extends PageBaseComponent {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RootPortalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: RootPortalComponent, selector: "bnrc-root-portal", viewQueries: [{ propertyName: "sectionRef", first: true, predicate: ["sectionRef"], descendants: true }, { propertyName: "footerRefVcr", first: true, predicate: ["footerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
|
|
105
|
-
@if(inLocalMode){
|
|
106
|
-
<div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
|
|
107
|
-
<button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
|
|
108
|
-
حذف اطلاعات آفلاین
|
|
109
|
-
</button>
|
|
110
|
-
<button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
|
|
111
|
-
حذف اطلاعات آفلاین و برگشت به حالت آنلاین
|
|
112
|
-
</button>
|
|
113
|
-
<button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
|
|
114
|
-
ارسال اطلاعات آفلاین به سرور
|
|
115
|
-
</button>
|
|
116
|
-
</div>
|
|
117
|
-
} @if (imageUrl) {
|
|
118
|
-
<div id="headerSpaceHolder" #headerSpaceHolder>
|
|
119
|
-
<div id="bgOuterHolder" #bgOuterHolder>
|
|
120
|
-
<div id="bgInnerHolder" style="height: 100vh">
|
|
121
|
-
<div class="backgroundImage" id="backgroundImage">
|
|
122
|
-
<img class="picture" [src]="imageUrl" loading="lazy" />
|
|
123
|
-
<span id="backgroundImageOverlay" class="overlay"></span>
|
|
124
|
-
</div>
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
</div>
|
|
128
|
-
}
|
|
129
|
-
<section class="section" id="mainpage" #sectionRef>
|
|
130
|
-
<div #containerRef></div>
|
|
131
|
-
</section>
|
|
132
|
-
<div class="page-wrapper">
|
|
133
|
-
<router-outlet></router-outlet>
|
|
134
|
-
</div>
|
|
135
|
-
<!-- <footer #footerRef></footer> -->
|
|
136
|
-
<ng-container #footerRef></ng-container>
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: RootPortalComponent, selector: "bnrc-root-portal", viewQueries: [{ propertyName: "sectionRef", first: true, predicate: ["sectionRef"], descendants: true }, { propertyName: "footerRefVcr", first: true, predicate: ["footerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
|
|
105
|
+
@if(inLocalMode){
|
|
106
|
+
<div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
|
|
107
|
+
<button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
|
|
108
|
+
حذف اطلاعات آفلاین
|
|
109
|
+
</button>
|
|
110
|
+
<button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
|
|
111
|
+
حذف اطلاعات آفلاین و برگشت به حالت آنلاین
|
|
112
|
+
</button>
|
|
113
|
+
<button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
|
|
114
|
+
ارسال اطلاعات آفلاین به سرور
|
|
115
|
+
</button>
|
|
116
|
+
</div>
|
|
117
|
+
} @if (imageUrl) {
|
|
118
|
+
<div id="headerSpaceHolder" #headerSpaceHolder>
|
|
119
|
+
<div id="bgOuterHolder" #bgOuterHolder>
|
|
120
|
+
<div id="bgInnerHolder" style="height: 100vh">
|
|
121
|
+
<div class="backgroundImage" id="backgroundImage">
|
|
122
|
+
<img class="picture" [src]="imageUrl" loading="lazy" />
|
|
123
|
+
<span id="backgroundImageOverlay" class="overlay"></span>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
}
|
|
129
|
+
<section class="section" id="mainpage" #sectionRef>
|
|
130
|
+
<div #containerRef></div>
|
|
131
|
+
</section>
|
|
132
|
+
<div class="page-wrapper">
|
|
133
|
+
<router-outlet></router-outlet>
|
|
134
|
+
</div>
|
|
135
|
+
<!-- <footer #footerRef></footer> -->
|
|
136
|
+
<ng-container #footerRef></ng-container>
|
|
137
137
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
138
138
|
}
|
|
139
139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RootPortalComponent, decorators: [{
|
|
140
140
|
type: Component,
|
|
141
141
|
args: [{
|
|
142
142
|
selector: 'bnrc-root-portal',
|
|
143
|
-
template: `
|
|
144
|
-
@if(inLocalMode){
|
|
145
|
-
<div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
|
|
146
|
-
<button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
|
|
147
|
-
حذف اطلاعات آفلاین
|
|
148
|
-
</button>
|
|
149
|
-
<button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
|
|
150
|
-
حذف اطلاعات آفلاین و برگشت به حالت آنلاین
|
|
151
|
-
</button>
|
|
152
|
-
<button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
|
|
153
|
-
ارسال اطلاعات آفلاین به سرور
|
|
154
|
-
</button>
|
|
155
|
-
</div>
|
|
156
|
-
} @if (imageUrl) {
|
|
157
|
-
<div id="headerSpaceHolder" #headerSpaceHolder>
|
|
158
|
-
<div id="bgOuterHolder" #bgOuterHolder>
|
|
159
|
-
<div id="bgInnerHolder" style="height: 100vh">
|
|
160
|
-
<div class="backgroundImage" id="backgroundImage">
|
|
161
|
-
<img class="picture" [src]="imageUrl" loading="lazy" />
|
|
162
|
-
<span id="backgroundImageOverlay" class="overlay"></span>
|
|
163
|
-
</div>
|
|
164
|
-
</div>
|
|
165
|
-
</div>
|
|
166
|
-
</div>
|
|
167
|
-
}
|
|
168
|
-
<section class="section" id="mainpage" #sectionRef>
|
|
169
|
-
<div #containerRef></div>
|
|
170
|
-
</section>
|
|
171
|
-
<div class="page-wrapper">
|
|
172
|
-
<router-outlet></router-outlet>
|
|
173
|
-
</div>
|
|
174
|
-
<!-- <footer #footerRef></footer> -->
|
|
175
|
-
<ng-container #footerRef></ng-container>
|
|
143
|
+
template: `
|
|
144
|
+
@if(inLocalMode){
|
|
145
|
+
<div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
|
|
146
|
+
<button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
|
|
147
|
+
حذف اطلاعات آفلاین
|
|
148
|
+
</button>
|
|
149
|
+
<button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
|
|
150
|
+
حذف اطلاعات آفلاین و برگشت به حالت آنلاین
|
|
151
|
+
</button>
|
|
152
|
+
<button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
|
|
153
|
+
ارسال اطلاعات آفلاین به سرور
|
|
154
|
+
</button>
|
|
155
|
+
</div>
|
|
156
|
+
} @if (imageUrl) {
|
|
157
|
+
<div id="headerSpaceHolder" #headerSpaceHolder>
|
|
158
|
+
<div id="bgOuterHolder" #bgOuterHolder>
|
|
159
|
+
<div id="bgInnerHolder" style="height: 100vh">
|
|
160
|
+
<div class="backgroundImage" id="backgroundImage">
|
|
161
|
+
<img class="picture" [src]="imageUrl" loading="lazy" />
|
|
162
|
+
<span id="backgroundImageOverlay" class="overlay"></span>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
}
|
|
168
|
+
<section class="section" id="mainpage" #sectionRef>
|
|
169
|
+
<div #containerRef></div>
|
|
170
|
+
</section>
|
|
171
|
+
<div class="page-wrapper">
|
|
172
|
+
<router-outlet></router-outlet>
|
|
173
|
+
</div>
|
|
174
|
+
<!-- <footer #footerRef></footer> -->
|
|
175
|
+
<ng-container #footerRef></ng-container>
|
|
176
176
|
`,
|
|
177
177
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
178
178
|
}]
|
|
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
183
183
|
type: ViewChild,
|
|
184
184
|
args: ['footerRef', { read: ViewContainerRef }]
|
|
185
185
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBMEM3QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsaUJBQWlCO0lBdEMxRDs7UUEyQ0ksV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0tBaUd0QjtJQS9GRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDbkMsMkJBQTJCO1FBRTNCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLElBQUksS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxJQUFJLEtBQUssWUFBWSxhQUFhLElBQUksS0FBSyxZQUFZ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QUM7UUFDUCxDQUFDO1FBQ0QsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFlLENBQUM7UUFDOUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRywyQkFBMkIsWUFBWSxtQkFBbUIsQ0FBQztZQUMzRSw0QkFBNEI7WUFDNUIsOEJBQThCO1lBQzlCLG9CQUFvQjtZQUVwQixLQUFLO1lBQ0wsZ0ZBQWdGO1FBQ3BGLENBQUM7SUFDTCxDQUFDOzhHQXRHUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5T0FFSSxnQkFBZ0Isb0RBdEN0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUOzsyRkFHUSxtQkFBbUI7a0JBdEMvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyRXZlbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFyc2FBcGksIFBhZ2VCYXNlQ29tcG9uZW50LCBQYWdlRGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmRlY2xhcmUgY29uc3QgaGVhZDogYW55O1xuZGVjbGFyZSBjb25zdCBCaWdOdW1iZXI6IGFueTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLXJvb3QtcG9ydGFsJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYoaW5Mb2NhbE1vZGUpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdG9vbGJhclwiIHN0eWxlPVwiZmxleC13cmFwOndyYXA7cGFkZGluZzowLjVyZW07aGVpZ2h0OmF1dG9cIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1hdHRlbnRpb24gaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhKClcIj5cbiAgICAgICAgICAgICAgICDYrdiw2YEg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1uZWdhdGl2ZSBpcy1jb21wYWN0XCIgKGNsaWNrKT1cIm9uUmVtb3ZlT2ZmbGluZURhdGFBbmRSZXR1cm5Ub09ubGluZSgpXCI+XG4gICAgICAgICAgICAgICAg2K3YsNmBINin2LfZhNin2LnYp9iqINii2YHZhNin24zZhiDZiCDYqNix2q/YtNiqINio2Ycg2K3Yp9mE2Kog2KLZhtmE2KfbjNmGXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1wb3NpdGl2ZSBpcy1jb21wYWN0XCIgKGNsaWNrKT1cIm9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKVwiPlxuICAgICAgICAgICAgICAgINin2LHYs9in2YQg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGINio2Ycg2LPYsdmI2LFcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAaWYgKGltYWdlVXJsKSB7XG4gICAgICAgIDxkaXYgaWQ9XCJoZWFkZXJTcGFjZUhvbGRlclwiICNoZWFkZXJTcGFjZUhvbGRlcj5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImJnSW5uZXJIb2xkZXJcIiBzdHlsZT1cImhlaWdodDogMTAwdmhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJhY2tncm91bmRJbWFnZVwiIGlkPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIFtzcmNdPVwiaW1hZ2VVcmxcIiBsb2FkaW5nPVwibGF6eVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImJhY2tncm91bmRJbWFnZU92ZXJsYXlcIiBjbGFzcz1cIm92ZXJsYXlcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwic2VjdGlvblwiIGlkPVwibWFpbnBhZ2VcIiAjc2VjdGlvblJlZj5cbiAgICAgICAgICAgIDxkaXYgI2NvbnRhaW5lclJlZj48L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIDxmb290ZXIgI2Zvb3RlclJlZj48L2Zvb3Rlcj4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgI2Zvb3RlclJlZj48L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJvb3RQb3J0YWxDb21wb25lbnQgZXh0ZW5kcyBQYWdlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvblJlZicpIHNlY3Rpb25SZWY6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZm9vdGVyUmVmJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGZvb3RlclJlZlZjcjogVmlld0NvbnRhaW5lclJlZjtcbiAgICBwb3J0YWxMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBtb2R1bGVzOiBhbnk7XG4gICAgaXNSb290ID0gdHJ1ZTtcbiAgICBpbkxvY2FsTW9kZSA9IHRydWU7XG4gICAgaW1hZ2VVcmw6IHN0cmluZztcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5pbkxvY2FsTW9kZSA9IGlzSW5Mb2NhbE1vZGUoKTtcbiAgICAgICAgLy8gdGhpcy5pbkxvY2FsTW9kZSA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZXJFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uU3RhcnQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCAmJiBldmVudCBpbnN0YW5jZW9mIFJvdXRlckV2ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5uYXZpYXRpb25FbmQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIG9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5ZZXNObyhCYXJzYUFwaS5CQkIuT2ZmbGluZUdvT25saW5lLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuV2FpdCgwLCBCYXJzYUFwaS5CQkIuTG9hZGluZ01hc2tNc2csICd3YWl0Jyk7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5Hb09ubGluZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBvblJlbW92ZU9mZmxpbmVEYXRhQW5kUmV0dXJuVG9PbmxpbmUoKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5ZZXNObyhCYXJzYUFwaS5CQkIuT2ZmbGluZUNsZWFyQWxsLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkNsZWFyQWxsKCk7XG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGEoKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5ZZXNObyhCYXJzYUFwaS5CQkIuT2ZmbGluZUNsZWFyVW5zYXZlZERhdGEsIEJhcnNhQXBpLkJCQi5EZWxldGUsIGZ1bmN0aW9uIChidXR0b25JZCkge1xuICAgICAgICAgICAgaWYgKGJ1dHRvbklkID09PSAneWVzJykge1xuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2FjaGVkRGF0YS5VbnNhdmVkRGF0YSA9IHt9O1xuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2FjaGVkRGF0YS5zYXZlKCk7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuVG9hc3QuU3VjY2VzcyhCYXJzYUFwaS5CQkIuQWN0aW9uICsgQmFyc2FBcGkuQkJCLkpvYkNvbXBsZXRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgYWRkRm9vdGVyKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXBhZ2VEYXRhPy5Gb290ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb290ZXJDb21wb25lbnQgPSBwYWdlRGF0YS5Gb290ZXIuQ29tcG9uZW50O1xuICAgICAgICB0aGlzLmdldENvbXBvbmVudEZhY3RvcnkoZm9vdGVyQ29tcG9uZW50KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIHRhcCgoY29udHJvbFVpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5zZXR0aW5ncyA9IGZvb3RlckNvbXBvbmVudC5TZXR0aW5ncztcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbFVpLmluc3RhbmNlLmFjdGl2YXRlZFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGU7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvb3RlclJlZlZjcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJSZWZWY3IuaW5zZXJ0KGNvbnRyb2xVaS5ob3N0Vmlldyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgcmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci5yZW5kZXJQbGFjZUhvbGRlcnMocGFnZURhdGEpO1xuICAgICAgICB0aGlzLmFkZEZvb3RlcihwYWdlRGF0YSk7XG5cbiAgICAgICAgY29uc3QganNmaWxlczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgY3NzZmlsZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIE9iamVjdC5rZXlzKEJhcnNhQXBpLkxvZ2luRm9ybURhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKCdKU0ZpbGUnKSkge1xuICAgICAgICAgICAgICAgIGpzZmlsZXMucHVzaChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKCdDU1NGaWxlJykpIHtcbiAgICAgICAgICAgICAgICBjc3NmaWxlcy5wdXNoKEJhcnNhQXBpLkxvZ2luRm9ybURhdGFba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBCaWdOdW1iZXIucHJvdG90eXBlLnN1YnRyYWN0ID0gQmlnTnVtYmVyLnByb3RvdHlwZS5taW51cztcbiAgICAgICAgQmlnTnVtYmVyLnByb3RvdHlwZS5hZGQgPSBCaWdOdW1iZXIucHJvdG90eXBlLnBsdXM7XG4gICAgICAgIGlmIChqc2ZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGhlYWQubG9hZChqc2ZpbGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3NzZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY3NzZmlsZXMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCBgIDxsaW5rIGhyZWY9XCIke2N9XCIgcmVsPVwic3R5bGVzaGVldFwiIG5vcG9ydGFsIC8+YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IEJhY2tncm91bmRJZCB9ID0gdGhpcy5wYWdlRGF0YSBhcyBhbnk7XG4gICAgICAgIGlmIChCYWNrZ3JvdW5kSWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAncm9vdC1jdXN0b20tYmFja2dyb3VuZCcpO1xuICAgICAgICAgICAgdGhpcy5pbWFnZVVybCA9IGAvSUguYXNoeD90eT1JRCZtb0lkPSZpZD0ke0JhY2tncm91bmRJZH0mc2k9MTkyMCZzaWg9MTA4MGA7XG4gICAgICAgICAgICAvLyB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC8vICAgICAnYmFja2dyb3VuZCcsXG5cbiAgICAgICAgICAgIC8vICk7XG4gICAgICAgICAgICAvLyB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtc2l6ZScsIGBjb3ZlcmApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBMEM3QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsaUJBQWlCO0lBdEMxRDs7UUEyQ0ksV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0tBaUd0QjtJQS9GRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDbkMsMkJBQTJCO1FBRTNCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLElBQUksS0FBSyxZQUFZLGVBQWUsSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxJQUFJLEtBQUssWUFBWSxhQUFhLElBQUksS0FBSyxZQUFZ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QUM7UUFDUCxDQUFDO1FBQ0QsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFlLENBQUM7UUFDOUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRywyQkFBMkIsWUFBWSxtQkFBbUIsQ0FBQztZQUMzRSw0QkFBNEI7WUFDNUIsOEJBQThCO1lBQzlCLG9CQUFvQjtZQUVwQixLQUFLO1lBQ0wsZ0ZBQWdGO1FBQ3BGLENBQUM7SUFDTCxDQUFDOzhHQXRHUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5T0FFSSxnQkFBZ0Isb0RBdEN0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUOzsyRkFHUSxtQkFBbUI7a0JBdEMvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJhcnNhQXBpLCBQYWdlQmFzZUNvbXBvbmVudCwgUGFnZURhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuZGVjbGFyZSBjb25zdCBoZWFkOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgQmlnTnVtYmVyOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1yb290LXBvcnRhbCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIEBpZihpbkxvY2FsTW9kZSl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2xiYXJcIiBzdHlsZT1cImZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6MC41cmVtO2hlaWdodDphdXRvXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1hdHRlbnRpb24gaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhKClcIj5cclxuICAgICAgICAgICAgICAgINit2LDZgSDYp9i32YTYp9i52KfYqiDYotmB2YTYp9uM2YZcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1uZWdhdGl2ZSBpcy1jb21wYWN0XCIgKGNsaWNrKT1cIm9uUmVtb3ZlT2ZmbGluZURhdGFBbmRSZXR1cm5Ub09ubGluZSgpXCI+XHJcbiAgICAgICAgICAgICAgICDYrdiw2YEg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGINmIINio2LHar9i02Kog2KjZhyDYrdin2YTYqiDYotmG2YTYp9uM2YZcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1idXR0b24gZmQtYnV0dG9uLS1wb3NpdGl2ZSBpcy1jb21wYWN0XCIgKGNsaWNrKT1cIm9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAg2KfYsdiz2KfZhCDYp9i32YTYp9i52KfYqiDYotmB2YTYp9uM2YYg2KjZhyDYs9ix2YjYsVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBpZiAoaW1hZ2VVcmwpIHtcclxuICAgICAgICA8ZGl2IGlkPVwiaGVhZGVyU3BhY2VIb2xkZXJcIiAjaGVhZGVyU3BhY2VIb2xkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiYmdJbm5lckhvbGRlclwiIHN0eWxlPVwiaGVpZ2h0OiAxMDB2aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrZ3JvdW5kSW1hZ2VcIiBpZD1cImJhY2tncm91bmRJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIFtzcmNdPVwiaW1hZ2VVcmxcIiBsb2FkaW5nPVwibGF6eVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwiYmFja2dyb3VuZEltYWdlT3ZlcmxheVwiIGNsYXNzPVwib3ZlcmxheVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZWN0aW9uXCIgaWQ9XCJtYWlucGFnZVwiICNzZWN0aW9uUmVmPlxyXG4gICAgICAgICAgICA8ZGl2ICNjb250YWluZXJSZWY+PC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGZvb3RlciAjZm9vdGVyUmVmPjwvZm9vdGVyPiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICNmb290ZXJSZWY+PC9uZy1jb250YWluZXI+XHJcbiAgICBgLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvb3RQb3J0YWxDb21wb25lbnQgZXh0ZW5kcyBQYWdlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdzZWN0aW9uUmVmJykgc2VjdGlvblJlZjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ2Zvb3RlclJlZicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBmb290ZXJSZWZWY3I6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgICBwb3J0YWxMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIG1vZHVsZXM6IGFueTtcclxuICAgIGlzUm9vdCA9IHRydWU7XHJcbiAgICBpbkxvY2FsTW9kZSA9IHRydWU7XHJcbiAgICBpbWFnZVVybDogc3RyaW5nO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmluTG9jYWxNb2RlID0gaXNJbkxvY2FsTW9kZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuaW5Mb2NhbE1vZGUgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0ICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVyRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uU3RhcnQoZXZlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZXJFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5uYXZpYXRpb25FbmQoZXZlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgb25TZW5kT2ZmbGluZURhdGFUb1NlcnZlcigpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVHb09ubGluZSwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5XYWl0KDAsIEJhcnNhQXBpLkJCQi5Mb2FkaW5nTWFza01zZywgJ3dhaXQnKTtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuR29PbmxpbmUoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgb25SZW1vdmVPZmZsaW5lRGF0YUFuZFJldHVyblRvT25saW5lKCk6IHZvaWQge1xyXG4gICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5ZZXNObyhCYXJzYUFwaS5CQkIuT2ZmbGluZUNsZWFyQWxsLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcclxuICAgICAgICAgICAgaWYgKGJ1dHRvbklkID09PSAneWVzJykge1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DbGVhckFsbCgpO1xyXG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgb25SZW1vdmVPZmZsaW5lRGF0YSgpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVDbGVhclVuc2F2ZWREYXRhLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcclxuICAgICAgICAgICAgaWYgKGJ1dHRvbklkID09PSAneWVzJykge1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DYWNoZWREYXRhLlVuc2F2ZWREYXRhID0ge307XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkNhY2hlZERhdGEuc2F2ZSgpO1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuVG9hc3QuU3VjY2VzcyhCYXJzYUFwaS5CQkIuQWN0aW9uICsgQmFyc2FBcGkuQkJCLkpvYkNvbXBsZXRlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBhZGRGb290ZXIocGFnZURhdGE6IFBhZ2VEYXRhTW9kZWwgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFwYWdlRGF0YT8uRm9vdGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZm9vdGVyQ29tcG9uZW50ID0gcGFnZURhdGEuRm9vdGVyLkNvbXBvbmVudDtcclxuICAgICAgICB0aGlzLmdldENvbXBvbmVudEZhY3RvcnkoZm9vdGVyQ29tcG9uZW50KVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIHRhcCgoY29udHJvbFVpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbFVpLmluc3RhbmNlLnNldHRpbmdzID0gZm9vdGVyQ29tcG9uZW50LlNldHRpbmdzO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5hY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvb3RlclJlZlZjcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvb3RlclJlZlZjci5pbnNlcnQoY29udHJvbFVpLmhvc3RWaWV3KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCByZW5kZXJQbGFjZUhvbGRlcnMocGFnZURhdGE6IFBhZ2VEYXRhTW9kZWwgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIucmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhKTtcclxuICAgICAgICB0aGlzLmFkZEZvb3RlcihwYWdlRGF0YSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGpzZmlsZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgY29uc3QgY3NzZmlsZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgT2JqZWN0LmtleXMoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnSlNGaWxlJykpIHtcclxuICAgICAgICAgICAgICAgIGpzZmlsZXMucHVzaChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhW2tleV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnQ1NTRmlsZScpKSB7XHJcbiAgICAgICAgICAgICAgICBjc3NmaWxlcy5wdXNoKEJhcnNhQXBpLkxvZ2luRm9ybURhdGFba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBCaWdOdW1iZXIucHJvdG90eXBlLnN1YnRyYWN0ID0gQmlnTnVtYmVyLnByb3RvdHlwZS5taW51cztcclxuICAgICAgICBCaWdOdW1iZXIucHJvdG90eXBlLmFkZCA9IEJpZ051bWJlci5wcm90b3R5cGUucGx1cztcclxuICAgICAgICBpZiAoanNmaWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGhlYWQubG9hZChqc2ZpbGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNzc2ZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY3NzZmlsZXMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsIGAgPGxpbmsgaHJlZj1cIiR7Y31cIiByZWw9XCJzdHlsZXNoZWV0XCIgbm9wb3J0YWwgLz5gKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHsgQmFja2dyb3VuZElkIH0gPSB0aGlzLnBhZ2VEYXRhIGFzIGFueTtcclxuICAgICAgICBpZiAoQmFja2dyb3VuZElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAncm9vdC1jdXN0b20tYmFja2dyb3VuZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlVXJsID0gYC9JSC5hc2h4P3R5PUlEJm1vSWQ9JmlkPSR7QmFja2dyb3VuZElkfSZzaT0xOTIwJnNpaD0xMDgwYDtcclxuICAgICAgICAgICAgLy8gdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKFxyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgLy8gICAgICdiYWNrZ3JvdW5kJyxcclxuXHJcbiAgICAgICAgICAgIC8vICk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnYmFja2dyb3VuZC1zaXplJywgYGNvdmVyYCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|