@pepperi-addons/ngx-lib 0.4.2-beta.314 → 0.4.2-beta.316
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/esm2020/assets/i18n/en.ngx-lib.json +3 -0
- package/esm2020/list/list-pager.component.mjs +54 -5
- package/esm2020/list/list.component.mjs +16 -3
- package/esm2020/list/list.module.mjs +5 -1
- package/esm2020/remote-loader/remote-loader-element.component.mjs +37 -3
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +74 -8
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +38 -4
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.mjs +3 -0
- package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs +73 -8
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +36 -2
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib.mjs +3 -0
- package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/list/list-pager.component.d.ts +15 -4
- package/list/list.component.d.ts +4 -1
- package/list/list.module.d.ts +4 -3
- package/package.json +1 -1
- package/src/assets/i18n/en.ngx-lib.json +3 -0
|
@@ -13,6 +13,7 @@ import { PepCarouselModule } from '@pepperi-addons/ngx-lib/carousel';
|
|
|
13
13
|
import { PepIconModule, pepIconArrowDown, pepIconArrowEither, pepIconArrowUp, pepIconSystemMust, pepIconArrowRight, pepIconArrowRightAlt, pepIconArrowLeft, pepIconArrowLeftAlt, } from '@pepperi-addons/ngx-lib/icon';
|
|
14
14
|
import { PepFormModule } from '@pepperi-addons/ngx-lib/form';
|
|
15
15
|
import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';
|
|
16
|
+
import { PepSelectModule } from '@pepperi-addons/ngx-lib/select';
|
|
16
17
|
import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';
|
|
17
18
|
// import { PepListOldComponent } from './list_old.component';
|
|
18
19
|
import { PepListComponent } from './list.component';
|
|
@@ -85,6 +86,7 @@ PepListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
85
86
|
PepIconModule,
|
|
86
87
|
PepFormModule,
|
|
87
88
|
PepMenuModule,
|
|
89
|
+
PepSelectModule,
|
|
88
90
|
PepTextboxModule,
|
|
89
91
|
VirtualScrollerModule], exports: [
|
|
90
92
|
// PepListOldComponent,
|
|
@@ -112,6 +114,7 @@ PepListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
112
114
|
PepIconModule,
|
|
113
115
|
PepFormModule,
|
|
114
116
|
PepMenuModule,
|
|
117
|
+
PepSelectModule,
|
|
115
118
|
PepTextboxModule,
|
|
116
119
|
VirtualScrollerModule] });
|
|
117
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListModule, decorators: [{
|
|
@@ -134,6 +137,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
134
137
|
PepIconModule,
|
|
135
138
|
PepFormModule,
|
|
136
139
|
PepMenuModule,
|
|
140
|
+
PepSelectModule,
|
|
137
141
|
PepTextboxModule,
|
|
138
142
|
VirtualScrollerModule
|
|
139
143
|
],
|
|
@@ -141,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
141
145
|
declarations: [listComponents, listPipes],
|
|
142
146
|
}]
|
|
143
147
|
}], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxhQUFhLEVBRWIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixHQUN0QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxF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ZTt3QkFDZixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixxQkFBcUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDekIsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcblxuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwQnJlYWRDcnVtYnNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9icmVhZC1jcnVtYnMnO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcENhcm91c2VsTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvY2Fyb3VzZWwnO1xuaW1wb3J0IHtcbiAgICBQZXBJY29uTW9kdWxlLFxuICAgIFBlcEljb25SZWdpc3RyeSxcbiAgICBwZXBJY29uQXJyb3dEb3duLFxuICAgIHBlcEljb25BcnJvd0VpdGhlcixcbiAgICBwZXBJY29uQXJyb3dVcCxcbiAgICBwZXBJY29uU3lzdGVtTXVzdCxcbiAgICBwZXBJY29uQXJyb3dSaWdodCxcbiAgICBwZXBJY29uQXJyb3dSaWdodEFsdCxcbiAgICBwZXBJY29uQXJyb3dMZWZ0LFxuICAgIHBlcEljb25BcnJvd0xlZnRBbHQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwRm9ybU1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2Zvcm0nO1xuaW1wb3J0IHsgUGVwTWVudU1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL21lbnUnO1xuaW1wb3J0IHsgUGVwU2VsZWN0TW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc2VsZWN0JztcbmltcG9ydCB7IFBlcFRleHRib3hNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi90ZXh0Ym94JztcblxuLy8gaW1wb3J0IHsgUGVwTGlzdE9sZENvbXBvbmVudCB9IGZyb20gJy4vbGlzdF9vbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcExpc3RDb21wb25lbnQgfSBmcm9tICcuL2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcExpc3RBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcExpc3RDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1jYXJvdXNlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwTGlzdENob29zZXJDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtY2hvb3Nlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwTGlzdFBhZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXBhZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBMaXN0U29ydGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1zb3J0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBMaXN0VG90YWxDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtdG90YWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcExpc3RWaWV3c0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC12aWV3cy5jb21wb25lbnQnO1xuXG5jb25zdCBsaXN0Q29tcG9uZW50cyA9IFtcbiAgICAvLyBQZXBMaXN0T2xkQ29tcG9uZW50LFxuICAgIFBlcExpc3RDb21wb25lbnQsXG4gICAgUGVwTGlzdEFjdGlvbnNDb21wb25lbnQsXG4gICAgUGVwTGlzdENhcm91c2VsQ29tcG9uZW50LFxuICAgIFBlcExpc3RDaG9vc2VyQ29tcG9uZW50LFxuICAgIFBlcExpc3RQYWdlckNvbXBvbmVudCxcbiAgICBQZXBMaXN0U29ydGluZ0NvbXBvbmVudCxcbiAgICBQZXBMaXN0VG90YWxDb21wb25lbnQsXG4gICAgUGVwTGlzdFZpZXdzQ29tcG9uZW50LFxuXTtcblxuaW1wb3J0IHsgSXNJdGVtRGlzYWJsZWRQaXBlLCBJc0l0ZW1TZWxlY3RlZFBpcGUgfSBmcm9tICcuL2xpc3QucGlwZXMnO1xuXG5jb25zdCBsaXN0UGlwZXMgPSBbXG4gICAgSXNJdGVtU2VsZWN0ZWRQaXBlLFxuICAgIElzSXRlbURpc2FibGVkUGlwZVxuXTtcblxuaW1wb3J0IHsgVmlydHVhbFNjcm9sbGVyTW9kdWxlIH0gZnJvbSAnLi92aXJ0dWFsLXNjcm9sbGVyJztcbi8vIGltcG9ydCB7IFBlcFZpcnR1YWxTY3JvbGxDb21wb25lbnQgfSBmcm9tICcuL3ZpcnR1YWwtc2Nyb2xsLmNvbXBvbmVudCc7XG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxuICAgICAgICBNYXRDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRNZW51TW9kdWxlLFxuICAgICAgICAvLyBuZ3gtbGliIG1vZHVsZXNcbiAgICAgICAgUGVwTmd4TGliTW9kdWxlLFxuICAgICAgICBQZXBCcmVhZENydW1ic01vZHVsZSxcbiAgICAgICAgUGVwQnV0dG9uTW9kdWxlLFxuICAgICAgICBQZXBDYXJvdXNlbE1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwRm9ybU1vZHVsZSxcbiAgICAgICAgUGVwTWVudU1vZHVsZSxcbiAgICAgICAgUGVwU2VsZWN0TW9kdWxlLFxuICAgICAgICBQZXBUZXh0Ym94TW9kdWxlLFxuICAgICAgICBWaXJ0dWFsU2Nyb2xsZXJNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtsaXN0Q29tcG9uZW50c10sXG4gICAgZGVjbGFyYXRpb25zOiBbbGlzdENvbXBvbmVudHMsIGxpc3RQaXBlc10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcExpc3RNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5wZXBJY29uUmVnaXN0cnkucmVnaXN0ZXJJY29ucyhbXG4gICAgICAgICAgICBwZXBJY29uQXJyb3dEb3duLFxuICAgICAgICAgICAgcGVwSWNvbkFycm93RWl0aGVyLFxuICAgICAgICAgICAgcGVwSWNvbkFycm93VXAsXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtTXVzdCxcbiAgICAgICAgICAgIHBlcEljb25BcnJvd1JpZ2h0LFxuICAgICAgICAgICAgcGVwSWNvbkFycm93UmlnaHRBbHQsXG4gICAgICAgICAgICBwZXBJY29uQXJyb3dMZWZ0LFxuICAgICAgICAgICAgcGVwSWNvbkFycm93TGVmdEFsdCxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19
|
|
@@ -78,16 +78,50 @@ export class PepRemoteLoaderElementComponent {
|
|
|
78
78
|
// The host (Angular) may destroy/remove the element subtree while the remote (React) is still
|
|
79
79
|
// unmounting, which can surface as `NotFoundError: Failed to execute 'removeChild' on 'Node'`.
|
|
80
80
|
// If the remote element exposes `pepperiUnmount()`, call it here to let it cleanup before DOM removal.
|
|
81
|
-
const
|
|
81
|
+
const elToUnmount = this.element;
|
|
82
|
+
let parkedContainer = null;
|
|
83
|
+
const cleanup = () => {
|
|
84
|
+
try {
|
|
85
|
+
if (parkedContainer?.parentNode) {
|
|
86
|
+
parkedContainer.parentNode.removeChild(parkedContainer);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// ignore
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
// Detach the remote element subtree so Angular destroying this host won't remove it while React is still unmounting.
|
|
94
|
+
try {
|
|
95
|
+
if (typeof document !== 'undefined' && elToUnmount?.parentNode && document.body) {
|
|
96
|
+
parkedContainer = document.createElement('div');
|
|
97
|
+
parkedContainer.style.display = 'none';
|
|
98
|
+
document.body.appendChild(parkedContainer);
|
|
99
|
+
parkedContainer.appendChild(elToUnmount);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// ignore
|
|
104
|
+
}
|
|
105
|
+
const anyEl = elToUnmount;
|
|
82
106
|
const maybeUnmount = anyEl?.pepperiUnmount;
|
|
83
107
|
if (typeof maybeUnmount === 'function') {
|
|
84
108
|
try {
|
|
85
|
-
maybeUnmount.call(anyEl);
|
|
109
|
+
const res = maybeUnmount.call(anyEl);
|
|
110
|
+
if (res && typeof res.then === 'function') {
|
|
111
|
+
res.finally(() => cleanup());
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
cleanup();
|
|
115
|
+
}
|
|
86
116
|
}
|
|
87
117
|
catch {
|
|
88
118
|
// ignore
|
|
119
|
+
cleanup();
|
|
89
120
|
}
|
|
90
121
|
}
|
|
122
|
+
else {
|
|
123
|
+
cleanup();
|
|
124
|
+
}
|
|
91
125
|
}
|
|
92
126
|
catch {
|
|
93
127
|
// ignore
|
|
@@ -200,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
200
234
|
}], load: [{
|
|
201
235
|
type: Output
|
|
202
236
|
}] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLWVsZW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXdCLFFBQVEsRUFBRSxNQUFNLEVBQTBDLE1BQU0sZUFBZSxDQUFDO0FBRTdLLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQTBCekUsTUFBTSxPQUFPLCtCQUErQjtJQVl4QywyQkFBMkI7SUFDM0IseUdBQXlHO0lBQ3pHLGlHQUFpRztJQUNqRyw4RkFBOEY7SUFDOUYsSUFBSTtJQUVKLFlBQ1ksUUFBbUIsRUFDbkIsRUFBYSxFQUNiLGVBQWdDLEVBQ2hDLG1CQUEyQyxFQUMvQixLQUFxQjtRQUpqQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWxCbkMsU0FBSSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhELFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBRXBCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFlL0IsQ0FBQztJQUVPLGFBQWE7UUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6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O2dCQUMzQix3RUFBd0U7Z0JBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNmLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ2xDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO29CQUNqQyxDQUFDLENBQUMsQ0FBQztpQkFDTjtxQkFBTTtvQkFDSCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztpQkFDaEM7YUFDSjtTQUNKO1FBQ0QsT0FBTSxLQUFLLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQzs7NEhBM01RLCtCQUErQjtnSEFBL0IsK0JBQStCLG1MQVY5Qjs7S0FFVDsyRkFRUSwrQkFBK0I7a0JBWjNDLFNBQVM7K0JBQ0ksMkJBQTJCLFlBQzNCOztLQUVUOzswQkErQkksUUFBUTs0Q0F0QkosT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3B0aW9uYWwsIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGxvYWRSZW1vdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uJztcbmltcG9ydCB7IFBlcEFkZG9uU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmludGVyZmFjZSBCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnNEYXRhIHsgXG4gICAgbmFtZT86IHN0cmluZywgXG4gICAgc2x1Z05hbWU/OiBzdHJpbmcsIFxuICAgIGJsb2NrVHlwZT86IHN0cmluZywgXG4gICAgYWRkb25VVUlEPzogc3RyaW5nLCBcbiAgICBibG9ja1JlbW90ZUVudHJ5Pzogc3RyaW5nIFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1yZW1vdGUtbG9hZGVyLWVsZW1lbnQnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDwhLS08ZGl2ICN2YyBzdHlsZT1cImhlaWdodDogaW5oZXJpdDtcIj48L2Rpdj4tLT5cbiAgICBgLFxuICAgIHN0eWxlczogW2BcbiAgICAgICAgOmhvc3QgeyB3aWR0aDoxMDAlOyBoZWlnaHQ6IGluaGVyaXQ7IG92ZXJmbG93OiBpbmhlcml0OyB9XG4gICAgICAgIDpob3N0OjpuZy1kZWVwID4gKiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBvcHRpb25zOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zO1xuICAgIEBJbnB1dCgpIHByb3BzOiB7IFtwcm9wOiBzdHJpbmddOiB1bmtub3duIH07XG4gICAgQElucHV0KCkgZXZlbnRzOiB7IFtldmVudDogc3RyaW5nXTogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCB9O1xuXG4gICAgQE91dHB1dCgpIGxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gbnVsbDtcblxuICAgIHByaXZhdGUgX2VsZW1lbnROYW1lID0gJyc7XG4gICAgcHJpdmF0ZSBfYmxvY2tUeXBlID0gJyc7XG4gICAgcHJpdmF0ZSBfYWxyZWFkeUxvYWRlZCA9IGZhbHNlO1xuICAgIC8vIC8vIFRoaXMgaXMgZm9yIGRlYm91bmNlLlxuICAgIC8vIHByaXZhdGUgX2dldEJsb2NrUmVtb3RlTG9hZGVyT3B0aW9uc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJsb2NrUmVtb3RlTG9hZGVyT3B0aW9uc0RhdGE+KG51bGwpO1xuICAgIC8vIGdldCBnZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnNEZWJvdW5jZWRTdWJqZWN0JCgpOiBPYnNlcnZhYmxlPEJsb2NrUmVtb3RlTG9hZGVyT3B0aW9uc0RhdGE+IHtcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuX2dldEJsb2NrUmVtb3RlTG9hZGVyT3B0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkZWJvdW5jZVRpbWUoMjUwKSk7XG4gICAgLy8gfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbDpFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHBlcEFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbW90ZUxvYWRlclNlcnZpY2U6IFBlcFJlbW90ZUxvYWRlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICAgKSB7IFxuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVByb3BzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gdGhpcy5wcm9wcykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50W3Byb3BdID0gdGhpcy5wcm9wc1twcm9wXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudHMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgZXZlbnQgaW4gdGhpcy5ldmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCB0aGlzLmV2ZW50c1tldmVudF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZT8uc25hcHNob3QucGFyYW1zO1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YTtcbiAgICAgICAgdGhpcy5fYmxvY2tUeXBlID0gZGF0YT8uYmxvY2tUeXBlIHx8ICdTZXR0aW5nc0Jsb2NrJztcblxuICAgICAgICBjb25zdCBzbHVnTmFtZSA9IHBhcmFtcz8uc2x1Z05hbWUgfHwgZGF0YT8uc2x1Z05hbWU7XG4gICAgICAgIGNvbnN0IGJsb2NrTmFtZSA9IHBhcmFtcz8uYmxvY2tOYW1lIHx8IGRhdGE/LmJsb2NrTmFtZTtcbiAgICAgICAgXG4gICAgICAgIGlmIChibG9ja05hbWU/Lmxlbmd0aCA+IDAgfHwgKHNsdWdOYW1lPy5sZW5ndGggPiAwICYmIHRoaXMuX2Jsb2NrVHlwZSA9PT0gJ1NldHRpbmdzQmxvY2snKSkge1xuICAgICAgICAgICAgY29uc3QgYWRkb25VVUlEID0gcGFyYW1zPy5hZGRvblVVSUQgfHwgZGF0YT8uYWRkb25VVUlEIHx8ICcnO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tSZW1vdGVFbnRyeSA9IGRhdGE/LmJsb2NrUmVtb3RlRW50cnkgfHwgJyc7XG5cbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IGF3YWl0IHRoaXMucmVtb3RlTG9hZGVyU2VydmljZS5nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGJsb2NrTmFtZSxcbiAgICAgICAgICAgICAgICBzbHVnTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja1R5cGU6IHRoaXMuX2Jsb2NrVHlwZSxcbiAgICAgICAgICAgICAgICBhZGRvblVVSUQsXG4gICAgICAgICAgICAgICAgYmxvY2tSZW1vdGVFbnRyeVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7dGhpcy5vcHRpb25zWydyZW1vdGVOYW1lJ119LmpzYDtcblxuICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZignZGV2PXRydWUnKSA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNbJ3JlbW90ZUVudHJ5J10gPSBgaHR0cDovL2xvY2FsaG9zdDo0NDAwLyR7ZmlsZU5hbWV9YDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2V0IHRoZSBkYXRhIGludG8gdGhlIHByb3BzIGNhdXNlIHRoaXMgY29tcG9uZW50IGlzIGxvYWRpbmcgZnJvbSB0aGUgcm91dGUuXG4gICAgICAgICAgICB0aGlzLnByb3BzID0gZGF0YTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMucG9wdWxhdGVQcm9wcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV2ZW50cykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGV2ZW50IGluIHRoaXMuZXZlbnRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCB0aGlzLmV2ZW50c1tldmVudF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBBRE8gMTAzNjY2MDogRml4IFJlYWN0IHRlYXJkb3duIHJhY2UgaW4gaG9zdGVkIHdlYi1jb21wb25lbnRzLlxuICAgICAgICAgICAgICAgIC8vIFRoZSBob3N0IChBbmd1bGFyKSBtYXkgZGVzdHJveS9yZW1vdmUgdGhlIGVsZW1lbnQgc3VidHJlZSB3aGlsZSB0aGUgcmVtb3RlIChSZWFjdCkgaXMgc3RpbGxcbiAgICAgICAgICAgICAgICAvLyB1bm1vdW50aW5nLCB3aGljaCBjYW4gc3VyZmFjZSBhcyBgTm90Rm91bmRFcnJvcjogRmFpbGVkIHRvIGV4ZWN1dGUgJ3JlbW92ZUNoaWxkJyBvbiAnTm9kZSdgLlxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSByZW1vdGUgZWxlbWVudCBleHBvc2VzIGBwZXBwZXJpVW5tb3VudCgpYCwgY2FsbCBpdCBoZXJlIHRvIGxldCBpdCBjbGVhbnVwIGJlZm9yZSBET00gcmVtb3ZhbC5cblxuICAgICAgICAgICAgICAgIGNvbnN0IGFueUVsID0gdGhpcy5lbGVtZW50IGFzIGFueTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXliZVVubW91bnQgPSBhbnlFbD8ucGVwcGVyaVVubW91bnQ7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBtYXliZVVubW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heWJlVW5tb3VudC5jYWxsKGFueUVsKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgIC8vIGlnbm9yZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgdGhlIHJlbW90ZSBKUyBidW5kbGUgYXMgYSBzY3JpcHQgdGFnIGZvciB3ZWIgY29tcG9uZW50IHJlbW90ZXMuXG4gICAgICogSWYgdGhlIHNjcmlwdCBpcyBhbHJlYWR5IGxvYWRlZCwgcmVzb2x2ZXMgaW1tZWRpYXRlbHkuXG4gICAgICovXG4gICAgLy8gcHJpdmF0ZSBhc3luYyBsb2FkUmVtb3RlU2NyaXB0KHJlbW90ZUVudHJ5VXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgLy8gICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihgc2NyaXB0W3NyYz1cIiR7cmVtb3RlRW50cnlVcmx9XCJdYCkpIHtcbiAgICAvLyAgICAgICAgICAgICAvLyBJZiBzY3JpcHQgaXMgYWxyZWFkeSBsb2FkZWQsIHRyeSB0byBnZXQgdGhlIG1vZHVsZVxuICAgIC8vICAgICAgICAgICAgIGltcG9ydChyZW1vdGVFbnRyeVVybCkudGhlbihtb2R1bGUgPT4ge1xuICAgIC8vICAgICAgICAgICAgICAgICBpZiAobW9kdWxlICYmIG1vZHVsZS5pbml0KSB7XG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBtb2R1bGUuaW5pdCgpO1xuICAgIC8vICAgICAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgICAgIHJlc29sdmUobW9kdWxlKTtcbiAgICAvLyAgICAgICAgICAgICB9KS5jYXRjaChlcnIgPT4gcmVqZWN0KGVycikpO1xuICAgIC8vICAgICAgICAgICAgIHJldHVybjtcbiAgICAvLyAgICAgICAgIH1cbiAgICBcbiAgICAvLyAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIC8vICAgICAgICAgc2NyaXB0LnR5cGUgPSAnbW9kdWxlJztcbiAgICAvLyAgICAgICAgIHNjcmlwdC5zcmMgPSByZW1vdGVFbnRyeVVybDtcbiAgICAgICAgICAgIFxuICAgIC8vICAgICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAvLyAgICAgICAgICAgICAvLyBBZnRlciBzY3JpcHQgaXMgbG9hZGVkLCBkeW5hbWljYWxseSBpbXBvcnQgaXQgdG8gZ2V0IHRoZSBtb2R1bGVcbiAgICAvLyAgICAgICAgICAgICBpbXBvcnQocmVtb3RlRW50cnlVcmwpLnRoZW4obW9kdWxlID0+IHtcbiAgICAvLyAgICAgICAgICAgICAgICAgaWYgKG1vZHVsZSAmJiBtb2R1bGUuaW5pdCkge1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgbW9kdWxlLmluaXQoKTtcbiAgICAvLyAgICAgICAgICAgICAgICAgfVxuICAgIC8vICAgICAgICAgICAgICAgICByZXNvbHZlKG1vZHVsZSk7XG4gICAgLy8gICAgICAgICAgICAgfSkuY2F0Y2goZXJyID0+IHJlamVjdChlcnIpKTtcbiAgICAvLyAgICAgICAgIH07XG4gICAgICAgICAgICBcbiAgICAvLyAgICAgICAgIHNjcmlwdC5vbmVycm9yID0gKGVycikgPT4gcmVqZWN0KGVycik7XG4gICAgLy8gICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cblxuICAgIHByaXZhdGUgbG9hZEVsZW1lbnRGcm9tTW9kdWxlKCkge1xuXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ05vIG9wdGlvbnMgc3VwcGxpZWQgdG8gdGhlIGNvbXBvbmVudC4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnTm8gb3B0aW9ucyBzdXBwbGllZCB0byB0aGUgY29tcG9uZW50LicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8uYWRkb25JZCAmJiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICdtb2R1bGUnIHx8IHRoaXMub3B0aW9ucy50eXBlID09PSAnc2NyaXB0JykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHRoaXMub3B0aW9ucy5yZW1vdGVFbnRyeT8ubGFzdEluZGV4T2YoJy8nKSB8fCAtMTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBpZiAobGFzdFNsYXNoSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHB1YmxpY1BhdGggPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnkuc3Vic3RyaW5nKDAsIGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVwQWRkb25TZXJ2aWNlLnNldEFkZG9uU3RhdGljRm9sZGVyKHB1YmxpY1BhdGgsIHRoaXMub3B0aW9ucy5hZGRvbklkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgICAgIC8vIHRoaXMubG9hZFJlbW90ZVNjcmlwdCh0aGlzLm9wdGlvbnNbJ3JlbW90ZUVudHJ5J10pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgbG9hZFJlbW90ZU1vZHVsZSh0aGlzLm9wdGlvbnMpLnRoZW4oKG0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50TmFtZSA9IHRoaXMub3B0aW9ucy5lbGVtZW50TmFtZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQodGhpcy5fZWxlbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQcm9wcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBFdmVudHMoKTtcbiAgICBcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICBcbiAgICAgICAgICAgICAgICAvLyBGaXggaW50ZXJuYWwgcm91dGluZyBidWcuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2Jsb2NrVHlwZSA9PT0gJ1NldHRpbmdzQmxvY2snKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVwQWRkb25TZXJ2aWNlLmNvbm5lY3RJbnRlcm5hbFJvdXRlcih0aGlzLl9lbGVtZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgIHRoaXMubG9hZC5lbWl0KCk7XG4gICAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gaWYgKCF0aGlzLmVsZW1lbnQpIHsgbWF5YmUgdGhlIGxvYWQgb2YgdGhlIGVsZW1lbnQgaXMgdG9vIGxvbmcgc28gY2hhbmdlIHRvIGZsYWcuXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2FscmVhZHlMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hbHJlYWR5TG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb3B0aW9ucyBpcyBub3Qgc3VwcGxpZWQgdGhlbiB3ZSBuZWVkIHRvIGdldCBpdCBmcm9tIHRoZSByb3V0ZS5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRPcHRpb25zRnJvbVJvdXRlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRFbGVtZW50RnJvbU1vZHVsZSgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRFbGVtZW50RnJvbU1vZHVsZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59Il19
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLWVsZW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXdCLFFBQVEsRUFBRSxNQUFNLEVBQTBDLE1BQU0sZUFBZSxDQUFDO0FBRTdLLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQTBCekUsTUFBTSxPQUFPLCtCQUErQjtJQVl4QywyQkFBMkI7SUFDM0IseUdBQXlHO0lBQ3pHLGlHQUFpRztJQUNqRyw4RkFBOEY7SUFDOUYsSUFBSTtJQUVKLFlBQ1ksUUFBbUIsRUFDbkIsRUFBYSxFQUNiLGVBQWdDLEVBQ2hDLG1CQUEyQyxFQUMvQixLQUFxQjtRQUpqQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWxCbkMsU0FBSSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhELFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBRXBCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFlL0IsQ0FBQztJQUVPLGFBQWE7UUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6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LENBQUMsR0FBRyxFQUFFO3dCQUNsQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztvQkFDakMsQ0FBQyxDQUFDLENBQUM7aUJBQ047cUJBQU07b0JBQ0gsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7aUJBQ2hDO2FBQ0o7U0FDSjtRQUNELE9BQU0sS0FBSyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7OzRIQTNPUSwrQkFBK0I7Z0hBQS9CLCtCQUErQixtTEFWOUI7O0tBRVQ7MkZBUVEsK0JBQStCO2tCQVozQyxTQUFTOytCQUNJLDJCQUEyQixZQUMzQjs7S0FFVDs7MEJBK0JJLFFBQVE7NENBdEJKLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBsb2FkUmVtb3RlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbic7XG5pbXBvcnQgeyBQZXBBZGRvblNlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmltcG9ydCB7IFBlcFJlbW90ZUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuXG5pbnRlcmZhY2UgQmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zRGF0YSB7IFxuICAgIG5hbWU/OiBzdHJpbmcsIFxuICAgIHNsdWdOYW1lPzogc3RyaW5nLCBcbiAgICBibG9ja1R5cGU/OiBzdHJpbmcsIFxuICAgIGFkZG9uVVVJRD86IHN0cmluZywgXG4gICAgYmxvY2tSZW1vdGVFbnRyeT86IHN0cmluZyBcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcmVtb3RlLWxvYWRlci1lbGVtZW50JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8IS0tPGRpdiAjdmMgc3R5bGU9XCJoZWlnaHQ6IGluaGVyaXQ7XCI+PC9kaXY+LS0+XG4gICAgYCxcbiAgICBzdHlsZXM6IFtgXG4gICAgICAgIDpob3N0IHsgd2lkdGg6MTAwJTsgaGVpZ2h0OiBpbmhlcml0OyBvdmVyZmxvdzogaW5oZXJpdDsgfVxuICAgICAgICA6aG9zdDo6bmctZGVlcCA+ICoge1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJlbW90ZUxvYWRlckVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgb3B0aW9uczogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucztcbiAgICBASW5wdXQoKSBwcm9wczogeyBbcHJvcDogc3RyaW5nXTogdW5rbm93biB9O1xuICAgIEBJbnB1dCgpIGV2ZW50czogeyBbZXZlbnQ6IHN0cmluZ106IChldmVudDogRXZlbnQpID0+IHZvaWQgfTtcblxuICAgIEBPdXRwdXQoKSBsb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9ICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgICBwcml2YXRlIF9lbGVtZW50TmFtZSA9ICcnO1xuICAgIHByaXZhdGUgX2Jsb2NrVHlwZSA9ICcnO1xuICAgIHByaXZhdGUgX2FscmVhZHlMb2FkZWQgPSBmYWxzZTtcbiAgICAvLyAvLyBUaGlzIGlzIGZvciBkZWJvdW5jZS5cbiAgICAvLyBwcml2YXRlIF9nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnNEYXRhPihudWxsKTtcbiAgICAvLyBnZXQgZ2V0QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zRGVib3VuY2VkU3ViamVjdCQoKTogT2JzZXJ2YWJsZTxCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnNEYXRhPiB7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLl9nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpO1xuICAgIC8vIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWw6RWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBwZXBBZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW1vdGVMb2FkZXJTZXJ2aWNlOiBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkgeyBcblxuICAgIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVQcm9wcygpIHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIHRoaXMucHJvcHMpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFtwcm9wXSA9IHRoaXMucHJvcHNbcHJvcF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwRXZlbnRzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IGV2ZW50IGluIHRoaXMuZXZlbnRzKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgdGhpcy5ldmVudHNbZXZlbnRdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZE9wdGlvbnNGcm9tUm91dGUoKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMucm91dGU/LnNuYXBzaG90LnBhcmFtcztcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMucm91dGU/LnNuYXBzaG90LmRhdGE7XG4gICAgICAgIHRoaXMuX2Jsb2NrVHlwZSA9IGRhdGE/LmJsb2NrVHlwZSB8fCAnU2V0dGluZ3NCbG9jayc7XG5cbiAgICAgICAgY29uc3Qgc2x1Z05hbWUgPSBwYXJhbXM/LnNsdWdOYW1lIHx8IGRhdGE/LnNsdWdOYW1lO1xuICAgICAgICBjb25zdCBibG9ja05hbWUgPSBwYXJhbXM/LmJsb2NrTmFtZSB8fCBkYXRhPy5ibG9ja05hbWU7XG4gICAgICAgIFxuICAgICAgICBpZiAoYmxvY2tOYW1lPy5sZW5ndGggPiAwIHx8IChzbHVnTmFtZT8ubGVuZ3RoID4gMCAmJiB0aGlzLl9ibG9ja1R5cGUgPT09ICdTZXR0aW5nc0Jsb2NrJykpIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uVVVJRCA9IHBhcmFtcz8uYWRkb25VVUlEIHx8IGRhdGE/LmFkZG9uVVVJRCB8fCAnJztcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrUmVtb3RlRW50cnkgPSBkYXRhPy5ibG9ja1JlbW90ZUVudHJ5IHx8ICcnO1xuXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBhd2FpdCB0aGlzLnJlbW90ZUxvYWRlclNlcnZpY2UuZ2V0QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBibG9ja05hbWUsXG4gICAgICAgICAgICAgICAgc2x1Z05hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tUeXBlOiB0aGlzLl9ibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgYWRkb25VVUlELFxuICAgICAgICAgICAgICAgIGJsb2NrUmVtb3RlRW50cnlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke3RoaXMub3B0aW9uc1sncmVtb3RlTmFtZSddfS5qc2A7XG5cbiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoJ2Rldj10cnVlJykgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zWydyZW1vdGVFbnRyeSddID0gYGh0dHA6Ly9sb2NhbGhvc3Q6NDQwMC8ke2ZpbGVOYW1lfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNldCB0aGUgZGF0YSBpbnRvIHRoZSBwcm9wcyBjYXVzZSB0aGlzIGNvbXBvbmVudCBpcyBsb2FkaW5nIGZyb20gdGhlIHJvdXRlLlxuICAgICAgICAgICAgdGhpcy5wcm9wcyA9IGRhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHJldHVybjtcblxuICAgICAgICB0aGlzLnBvcHVsYXRlUHJvcHMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldmVudHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBldmVudCBpbiB0aGlzLmV2ZW50cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgdGhpcy5ldmVudHNbZXZlbnRdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQURPIDEwMzY2NjA6IEZpeCBSZWFjdCB0ZWFyZG93biByYWNlIGluIGhvc3RlZCB3ZWItY29tcG9uZW50cy5cbiAgICAgICAgICAgICAgICAvLyBUaGUgaG9zdCAoQW5ndWxhcikgbWF5IGRlc3Ryb3kvcmVtb3ZlIHRoZSBlbGVtZW50IHN1YnRyZWUgd2hpbGUgdGhlIHJlbW90ZSAoUmVhY3QpIGlzIHN0aWxsXG4gICAgICAgICAgICAgICAgLy8gdW5tb3VudGluZywgd2hpY2ggY2FuIHN1cmZhY2UgYXMgYE5vdEZvdW5kRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICdyZW1vdmVDaGlsZCcgb24gJ05vZGUnYC5cbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgcmVtb3RlIGVsZW1lbnQgZXhwb3NlcyBgcGVwcGVyaVVubW91bnQoKWAsIGNhbGwgaXQgaGVyZSB0byBsZXQgaXQgY2xlYW51cCBiZWZvcmUgRE9NIHJlbW92YWwuXG5cbiAgICAgICAgICAgICAgICBjb25zdCBlbFRvVW5tb3VudCA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgICAgICAgICBsZXQgcGFya2VkQ29udGFpbmVyOiBIVE1MRGl2RWxlbWVudCA9IG51bGw7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJrZWRDb250YWluZXI/LnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJrZWRDb250YWluZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChwYXJrZWRDb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlnbm9yZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIC8vIERldGFjaCB0aGUgcmVtb3RlIGVsZW1lbnQgc3VidHJlZSBzbyBBbmd1bGFyIGRlc3Ryb3lpbmcgdGhpcyBob3N0IHdvbid0IHJlbW92ZSBpdCB3aGlsZSBSZWFjdCBpcyBzdGlsbCB1bm1vdW50aW5nLlxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIGVsVG9Vbm1vdW50Py5wYXJlbnROb2RlICYmIGRvY3VtZW50LmJvZHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmtlZENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFya2VkQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmtlZENvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJrZWRDb250YWluZXIuYXBwZW5kQ2hpbGQoZWxUb1VubW91bnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlnbm9yZVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGFueUVsID0gZWxUb1VubW91bnQgYXMgYW55O1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heWJlVW5tb3VudCA9IGFueUVsPy5wZXBwZXJpVW5tb3VudDtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1heWJlVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gbWF5YmVVbm1vdW50LmNhbGwoYW55RWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAmJiB0eXBlb2YgcmVzLnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuZmluYWxseSgoKSA9PiBjbGVhbnVwKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgLy8gaWdub3JlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2FkcyB0aGUgcmVtb3RlIEpTIGJ1bmRsZSBhcyBhIHNjcmlwdCB0YWcgZm9yIHdlYiBjb21wb25lbnQgcmVtb3Rlcy5cbiAgICAgKiBJZiB0aGUgc2NyaXB0IGlzIGFscmVhZHkgbG9hZGVkLCByZXNvbHZlcyBpbW1lZGlhdGVseS5cbiAgICAgKi9cbiAgICAvLyBwcml2YXRlIGFzeW5jIGxvYWRSZW1vdGVTY3JpcHQocmVtb3RlRW50cnlVcmw6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAvLyAgICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBzY3JpcHRbc3JjPVwiJHtyZW1vdGVFbnRyeVVybH1cIl1gKSkge1xuICAgIC8vICAgICAgICAgICAgIC8vIElmIHNjcmlwdCBpcyBhbHJlYWR5IGxvYWRlZCwgdHJ5IHRvIGdldCB0aGUgbW9kdWxlXG4gICAgLy8gICAgICAgICAgICAgaW1wb3J0KHJlbW90ZUVudHJ5VXJsKS50aGVuKG1vZHVsZSA9PiB7XG4gICAgLy8gICAgICAgICAgICAgICAgIGlmIChtb2R1bGUgJiYgbW9kdWxlLmluaXQpIHtcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5pbml0KCk7XG4gICAgLy8gICAgICAgICAgICAgICAgIH1cbiAgICAvLyAgICAgICAgICAgICAgICAgcmVzb2x2ZShtb2R1bGUpO1xuICAgIC8vICAgICAgICAgICAgIH0pLmNhdGNoKGVyciA9PiByZWplY3QoZXJyKSk7XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuO1xuICAgIC8vICAgICAgICAgfVxuICAgIFxuICAgIC8vICAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgLy8gICAgICAgICBzY3JpcHQudHlwZSA9ICdtb2R1bGUnO1xuICAgIC8vICAgICAgICAgc2NyaXB0LnNyYyA9IHJlbW90ZUVudHJ5VXJsO1xuICAgICAgICAgICAgXG4gICAgLy8gICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgIC8vICAgICAgICAgICAgIC8vIEFmdGVyIHNjcmlwdCBpcyBsb2FkZWQsIGR5bmFtaWNhbGx5IGltcG9ydCBpdCB0byBnZXQgdGhlIG1vZHVsZVxuICAgIC8vICAgICAgICAgICAgIGltcG9ydChyZW1vdGVFbnRyeVVybCkudGhlbihtb2R1bGUgPT4ge1xuICAgIC8vICAgICAgICAgICAgICAgICBpZiAobW9kdWxlICYmIG1vZHVsZS5pbml0KSB7XG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBtb2R1bGUuaW5pdCgpO1xuICAgIC8vICAgICAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgICAgIHJlc29sdmUobW9kdWxlKTtcbiAgICAvLyAgICAgICAgICAgICB9KS5jYXRjaChlcnIgPT4gcmVqZWN0KGVycikpO1xuICAgIC8vICAgICAgICAgfTtcbiAgICAgICAgICAgIFxuICAgIC8vICAgICAgICAgc2NyaXB0Lm9uZXJyb3IgPSAoZXJyKSA9PiByZWplY3QoZXJyKTtcbiAgICAvLyAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuXG4gICAgcHJpdmF0ZSBsb2FkRWxlbWVudEZyb21Nb2R1bGUoKSB7XG5cbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgICAgIC8vIHRocm93IG5ldyBFcnJvcignTm8gb3B0aW9ucyBzdXBwbGllZCB0byB0aGUgY29tcG9uZW50LicpO1xuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdObyBvcHRpb25zIHN1cHBsaWVkIHRvIHRoZSBjb21wb25lbnQuJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zPy5hZGRvbklkICYmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gJ21vZHVsZScgfHwgdGhpcy5vcHRpb25zLnR5cGUgPT09ICdzY3JpcHQnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RTbGFzaEluZGV4ID0gdGhpcy5vcHRpb25zLnJlbW90ZUVudHJ5Py5sYXN0SW5kZXhPZignLycpIHx8IC0xO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGlmIChsYXN0U2xhc2hJbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHVibGljUGF0aCA9IHRoaXMub3B0aW9ucy5yZW1vdGVFbnRyeS5zdWJzdHJpbmcoMCwgbGFzdFNsYXNoSW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXBBZGRvblNlcnZpY2Uuc2V0QWRkb25TdGF0aWNGb2xkZXIocHVibGljUGF0aCwgdGhpcy5vcHRpb25zLmFkZG9uSWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICAgICAgLy8gdGhpcy5sb2FkUmVtb3RlU2NyaXB0KHRoaXMub3B0aW9uc1sncmVtb3RlRW50cnknXSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBsb2FkUmVtb3RlTW9kdWxlKHRoaXMub3B0aW9ucykudGhlbigobSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnROYW1lID0gdGhpcy5vcHRpb25zLmVsZW1lbnROYW1lO1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCh0aGlzLl9lbGVtZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZVByb3BzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cEV2ZW50cygpO1xuICAgIFxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmVsZW1lbnQpO1xuICAgIFxuICAgICAgICAgICAgICAgIC8vIEZpeCBpbnRlcm5hbCByb3V0aW5nIGJ1Zy5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fYmxvY2tUeXBlID09PSAnU2V0dGluZ3NCbG9jaycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXBBZGRvblNlcnZpY2UuY29ubmVjdEludGVybmFsUm91dGVyKHRoaXMuX2VsZW1lbnROYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkLmVtaXQoKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBpZiAoIXRoaXMuZWxlbWVudCkgeyBtYXliZSB0aGUgbG9hZCBvZiB0aGUgZWxlbWVudCBpcyB0b28gbG9uZyBzbyBjaGFuZ2UgdG8gZmxhZy5cbiAgICAgICAgICAgIGlmICghdGhpcy5fYWxyZWFkeUxvYWRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FscmVhZHlMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBvcHRpb25zIGlzIG5vdCBzdXBwbGllZCB0aGVuIHdlIG5lZWQgdG8gZ2V0IGl0IGZyb20gdGhlIHJvdXRlLlxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZE9wdGlvbnNGcm9tUm91dGUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZEVsZW1lbnRGcm9tTW9kdWxlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZEVsZW1lbnRGcm9tTW9kdWxlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
|