tnx-shared 5.3.242 → 5.3.243
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/bundles/tnx-shared.umd.js +1033 -335
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/components/autocomplete/autocomplete.component.d.ts +147 -0
- package/components/autocomplete/autocomplete.component.d.ts.map +1 -0
- package/components/autocomplete/autocomplete.component.ngfactory.d.ts.map +1 -0
- package/components/autocomplete/autocomplete.component.scss.ngstyle.d.ts.map +1 -0
- package/esm2015/components/autocomplete/autocomplete.component.js +708 -0
- package/esm2015/components/autocomplete-picker/autocomplete-picker.component.js +2 -2
- package/esm2015/tnx-shared.js +2 -1
- package/esm2015/tnx-shared.module.js +8 -8
- package/fesm2015/tnx-shared.js +1003 -304
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/tnx-shared.d.ts +1 -0
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/tnx-shared.module.d.ts +4 -4
- package/tnx-shared.module.d.ts.map +1 -1
|
@@ -523,7 +523,7 @@ AutoCompletePickerComponent.decorators = [
|
|
|
523
523
|
{ type: Component, args: [{
|
|
524
524
|
// tslint:disable-next-line: component-selector
|
|
525
525
|
selector: 'autocomplete-picker',
|
|
526
|
-
template: "<div class=\"p-inputgroup autocomplete-picker\" *ngIf=\"control\" [class.has-value]=\"hasValue\"\n [class.multiple]=\"control.multiple\" [class.disabled]=\"control.disabled\">\n <div style=\"width: calc(100% - 28px)\" [pTooltip]=\"tooltip\" tooltipPosition=\"top\">\n <p-autoComplete #autoComplete emptyMessage=\"Kh\u00F4ng c\u00F3 k\u1EBFt qu\u1EA3 n\u00E0o\" [ngClass]=\"'custom-autocomplete'\"\n [disabled]=\"disabled\" [placeholder]=\"control.placeholder\" [appendTo]=\"control.appendTo\"\n [suggestions]=\"results\" field=\"label\" [styleClass]=\"control.validators && control.required ? 'rq' : ''\"\n [multiple]=\"control.multiple\" [minLength]=\"2\" [(ngModel)]=\"selectedValueObject\"\n (onFocus)=\"handleFocus($event)\" (onBlur)=\"handleBlur($event)\" (completeMethod)=\"search($event)\"\n (onKeyUp)=\"handleKeyUp($event)\" (onSelect)=\"handleSelect($event)\" (onUnselect)=\"handleUnSelect($event)\">\n </p-autoComplete>\n </div>\n <span *ngIf=\"!control.multiple && !disabled && hasValue\" class=\"icon-clear\" (click)=\"clearValue()\"><i\n class=\"fas fa-times\"></i></span>\n <button class=\"custom-autocomplete-button\" *ngIf=\"control.usePicker\" [disabled]=\"disabled\" tabindex=\"-1\"\n (click)=\"showPickForm()\" pButton [pTooltip]=\"control.title\" icon=\"fas fa-external-link-alt\"\n type=\"button\"></button>\n</div>\n<tn-dialog #dialog *ngIf=\"showFormPicker\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\n <entity-picker-box #entityPickerBox [currentNode]=\"currentNode\" [control]=\"control\" [parentSetting]=\"setting\" [datasourceFieldFilter]=\"datasourceFieldFilter\"\n [advanceData]=\"advanceData\" [readOnlyValues]=\"readOnlyValues\" [selectedValue]=\"selectedValue\"\n (onContentLeftInit)=\"handleContentLeftInit($event)\" (onContentRightInit)=\"handleContentRightInit($event)\"\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\"\n (onRowSelect)=\"handleRowSelect($event)\">\n </entity-picker-box>\n <ng-template #footer>\n <button type=\" button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\n </ng-template>\n</tn-dialog>",
|
|
526
|
+
template: "<div class=\"p-inputgroup autocomplete-picker\" *ngIf=\"control\" [class.has-value]=\"hasValue\"\n [class.multiple]=\"control.multiple\" [class.disabled]=\"control.disabled\">\n <div style=\"width: calc(100% - 28px)\" [pTooltip]=\"tooltip\" tooltipPosition=\"top\">\n <p-autoComplete #autoComplete emptyMessage=\"Kh\u00F4ng c\u00F3 k\u1EBFt qu\u1EA3 n\u00E0o\" [ngClass]=\"'custom-autocomplete'\"\n [disabled]=\"disabled\" [placeholder]=\"control.placeholder\" [appendTo]=\"control.appendTo\" [maxRowItem]=\"2\"\n [suggestions]=\"results\" field=\"label\" [styleClass]=\"control.validators && control.required ? 'rq' : ''\"\n [multiple]=\"control.multiple\" [minLength]=\"2\" [(ngModel)]=\"selectedValueObject\"\n (onFocus)=\"handleFocus($event)\" (onBlur)=\"handleBlur($event)\" (completeMethod)=\"search($event)\"\n (onKeyUp)=\"handleKeyUp($event)\" (onSelect)=\"handleSelect($event)\" (onUnselect)=\"handleUnSelect($event)\">\n </p-autoComplete>\n </div>\n <span *ngIf=\"!control.multiple && !disabled && hasValue\" class=\"icon-clear\" (click)=\"clearValue()\"><i\n class=\"fas fa-times\"></i></span>\n <button class=\"custom-autocomplete-button\" *ngIf=\"control.usePicker\" [disabled]=\"disabled\" tabindex=\"-1\"\n (click)=\"showPickForm()\" pButton [pTooltip]=\"control.title\" icon=\"fas fa-external-link-alt\"\n type=\"button\"></button>\n</div>\n<tn-dialog #dialog *ngIf=\"showFormPicker\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\n <entity-picker-box #entityPickerBox [currentNode]=\"currentNode\" [control]=\"control\" [parentSetting]=\"setting\" [datasourceFieldFilter]=\"datasourceFieldFilter\"\n [advanceData]=\"advanceData\" [readOnlyValues]=\"readOnlyValues\" [selectedValue]=\"selectedValue\"\n (onContentLeftInit)=\"handleContentLeftInit($event)\" (onContentRightInit)=\"handleContentRightInit($event)\"\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\"\n (onRowSelect)=\"handleRowSelect($event)\">\n </entity-picker-box>\n <ng-template #footer>\n <button type=\" button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\n </ng-template>\n</tn-dialog>",
|
|
527
527
|
providers: [
|
|
528
528
|
{
|
|
529
529
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -555,4 +555,4 @@ AutoCompletePickerComponent.propDecorators = {
|
|
|
555
555
|
onBlur: [{ type: Output }],
|
|
556
556
|
onReady: [{ type: Output }]
|
|
557
557
|
};
|
|
558
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hdXRvY29tcGxldGUtcGlja2VyL2F1dG9jb21wbGV0ZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUNILCtCQUErQixFQUMvQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGVBQWUsRUFDZixVQUFVLEVBQ1YsUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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QWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAndG4tY3VzdG9tLXByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UvY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHtcbiAgICBBdXRvQ29tcGxldGVQaWNrZXJDb250cm9sU2NoZW1hLFxuICAgIENvbHVtblNjaGVtYUJhc2UsXG4gICAgQ3J1ZExpc3RTZXR0aW5nLFxuICAgIERyb3Bkb3duT3B0aW9ucyxcbiAgICBIZWlnaHRUeXBlLFxuICAgIE9wZXJhdG9yLFxuICAgIFBvcHVwU2l6ZVxufSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLWluZm8nO1xuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50aXR5LW1ldGFkYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgYXBwZW5kRGVmYXVsdEZpbHRlciB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBDb250cm9sVHJlZU5vZGUgfSBmcm9tICcuLi9jcnVkL2NydWQtZm9ybS9jcnVkLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEVudGl0eVBpY2tlckJveENvbXBvbmVudCB9IGZyb20gJy4uL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1ib3gvZW50aXR5LXBpY2tlci1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyIH0gZnJvbSAnLi4vZW50aXR5LXBpY2tlci9tb2RlbC9hZHZhbmNlLWRhdGEnO1xuaW1wb3J0IHsgaXNMaXRlcmFsT2JqZWN0IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnZpcm9ubWVudC1zY2hlbWEnO1xuaW1wb3J0IHsgQ2FuQm9Ib1NvU2VydmljZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRGF0YXNvdXJjZUZpbHRlckNhbkJvIH0gZnJvbSAnLi4vdXNlci1waWNrZXIvbW9kZWxzL3VzZXItcGlja2VyLXNldHRpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnYXV0b2NvbXBsZXRlLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBdXRvQ29tcGxldGVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UsXG4gICAgICAgIEVudGl0eU1ldGFkYXRhU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBWaWV3Q2hpbGQoJ2VudGl0eVBpY2tlckJveCcsIHsgc3RhdGljOiB0cnVlIH0pIGVudGl0eVBpY2tlckJveENvbXBvbmVudDogRW50aXR5UGlja2VyQm94Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2F1dG9Db21wbGV0ZScpIGF1dG9Db21wbGV0ZTogYW55O1xuICAgIG9uQ2hhbmdlQmFzZTogRnVuY3Rpb247XG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbjtcblxuICAgIEBJbnB1dCgpIGN1cnJlbnROb2RlOiBDb250cm9sVHJlZU5vZGU7XG4gICAgQElucHV0KCkgY29udHJvbDogQXV0b0NvbXBsZXRlUGlja2VyQ29udHJvbFNjaGVtYTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gICAgQElucHV0KCkgcG9wdXBTaXplOiBQb3B1cFNpemUgPSBuZXcgUG9wdXBTaXplKHtcbiAgICAgICAgd2lkdGg6IDExMDAsXG4gICAgICAgIGhlaWdodDogOTAwLFxuICAgICAgICBtYXhpbWl6ZTogdHJ1ZVxuICAgIH0pO1xuICAgIF9yZWFkT25seVZhbHVlczogc3RyaW5nW107XG4gICAgQElucHV0KCkgc2V0IHJlYWRPbmx5VmFsdWVzKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZyB8IGFueSkge1xuICAgICAgICBsZXQgdGVtcCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLnNwbGl0Y2hhciAmJiB2YWx1ZSBpbnN0YW5jZW9mIFN0cmluZyAmJiB0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRlbXAgPSB2YWx1ZS5zcGxpdCh0aGlzLmNvbnRyb2wuc3BsaXRjaGFyKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZWFkT25seVZhbHVlcyA9IHRlbXA7XG4gICAgICAgIHRoaXMudXBkYXRlRnVuY0NoZWNrUmVhZE9ubHlJdGVtKCk7XG4gICAgICAgIHRoaXMudXBkYXRlUmVhZE9ubHlJdGVtKCk7XG4gICAgfVxuXG4gICAgZ2V0IHJlYWRPbmx5VmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHlWYWx1ZXM7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgb25VblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9uUmVhZHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBzZXR0aW5nOiBDcnVkTGlzdFNldHRpbmcgPSBuZXcgQ3J1ZExpc3RTZXR0aW5nKCk7XG4gICAgYWR2YW5jZURhdGE6IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyID0gbmV3IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyKCk7XG5cbiAgICB2YWx1ZTogYW55O1xuICAgIGZ1bmNSZXR1cm5WYWx1ZTogKHZhbHVlKSA9PiB7fSA9IHZhbHVlID0+IHZhbHVlO1xuICAgIHNlbGVjdGVkVmFsdWU6IGFueTtcbiAgICBzZWxlY3RlZFJvd0RhdGE6IGFueTtcbiAgICBzZWxlY3RlZFZhbHVlT2JqZWN0OiBhbnk7XG4gICAgZGF0YVNvdXJjZTogYW55W10gPSBbXTtcbiAgICBmdW5jQ2hlY2tSZWFkT25seUl0ZW06IChpdGVtOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBrZXl3b3JkOiBzdHJpbmcgPSAnJztcbiAgICBmaWVsZFNlYXJjaFRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgZGF0YXNvdXJjZUZpZWxkRmlsdGVyID0gW107XG5cbiAgICByZXN1bHRzOiBhbnlbXSA9IFtdO1xuXG4gICAgc2hvd0Zvcm1QaWNrZXIgPSBmYWxzZTtcbiAgICBkaXJ0eSA9IGZhbHNlO1xuXG4gICAgdG9vbHRpcCA9ICcnO1xuICAgIGhhc1ZhbHVlID0gZmFsc2U7XG4gICAgaXNGaXJlZFJlYWR5ID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGdldEZpbHRlck9uU2VhcmNoPzogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLl9jb21wb25lbnQgPSB0aGlzO1xuICAgICAgICB0aGlzLnNldERlZmF1bHRTZXR0aW5nKCk7XG5cbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcktleXdvcmQoKTtcbiAgICAgICAgdGhpcy5idWlsZFNldHRpbmdFbnRpdHlQaWNrZXIoKTtcbiAgICAgICAgdGhpcy51cGRhdGVGdW5jQ2hlY2tSZWFkT25seUl0ZW0oKTtcbiAgICAgICAgdGhpcy5vbkluaXQuZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICB1cGRhdGVGdW5jQ2hlY2tSZWFkT25seUl0ZW0oKSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5VmFsdWVzICYmIHRoaXMucmVhZE9ubHlWYWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZ1bmNDaGVja1JlYWRPbmx5SXRlbSA9IHRoaXMuX2Z1bmNDaGVja1JlYWRPbmx5SXRlbTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZnVuY0NoZWNrUmVhZE9ubHlJdGVtID0gKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERlZmF1bHRTZXR0aW5nKCkge1xuICAgICAgICB0aGlzLmZpZWxkU2VhcmNoVGV4dCA9IFsuLi50aGlzLmNvbnRyb2wuZmllbGRTZWFyY2hUZXh0XTtcbiAgICAgICAgaWYgKCF0aGlzLmZpZWxkU2VhcmNoVGV4dC5zb21lKGl0ZW0gPT4gaXRlbSA9PSB0aGlzLmNvbnRyb2wuZGlzcGxheUZpZWxkKSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZFNlYXJjaFRleHQucHVzaCh0aGlzLmNvbnRyb2wuZGlzcGxheUZpZWxkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wucmV0dXJuVHlwZSA9PSAndmFsdWUnKSB7XG4gICAgICAgICAgICB0aGlzLmZ1bmNSZXR1cm5WYWx1ZSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5tYXAoaXRlbSA9PiBpdGVtW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF07XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5mdW5jUmV0dXJuVmFsdWUgPSB2YWx1ZSA9PiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmJhc2VTZXJ2aWNlIGluc3RhbmNlb2YgQ2FuQm9Ib1NvU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhc291cmNlRmllbGRGaWx0ZXIgPSBEYXRhc291cmNlRmlsdGVyQ2FuQm87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZEZpbHRlcktleXdvcmQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkU2VhcmNoVGV4dC5sZW5ndGggPT0gMSkge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJPblNlYXJjaCA9IHZhbHVlID0+IHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC5kaXNwbGF5RmllbGQsIE9wZXJhdG9yLmNvbnRhaW4sIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RmlsdGVyT25TZWFyY2ggPSB2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IEZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgIGxvZ2ljOiAnb3InLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiBbXVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGRTZWFyY2ggb2YgdGhpcy5maWVsZFNlYXJjaFRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcihmaWVsZFNlYXJjaCwgT3BlcmF0b3IuY29udGFpbiwgdmFsdWUpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZFNldHRpbmdFbnRpdHlQaWNrZXIoKSB7XG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2xzID0gW107XG4gICAgICAgIHRoaXMuc2V0dGluZy50aXRsZSA9ICcnO1xuICAgICAgICB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UgPSB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2U7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oZWlnaHRUeXBlID0gSGVpZ2h0VHlwZS5keW5hbWljO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQ2hlY2tib3ggPSB0cnVlO1xuICAgICAgICB0aGlzLnNldHRpbmcuc2V0dGluZ0tleSA9ICdlbnRpdHlQaWNrZXInO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQWR2YW5jZVNlYXJjaCA9IHRoaXMuY29udHJvbC5oaWRkZW5BZHZhbmNlU2VhcmNoO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1dvcmtmbG93ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdQZXJtaXNzaW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLmZpZWxkU2VhcmNoVGV4dCA9IHRoaXMuY29udHJvbC5maWVsZFNlYXJjaFRleHQ7XG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2x1bW5TZXR0aW5nLnNvcnRGaWVsZCA9IHRoaXMuY29udHJvbC5zb3J0RmllbGQ7XG4gICAgICAgIHRoaXMuY29udHJvbC5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgICAgIGlmIChjb2x1bW4uaXNEaXNwbGF5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gbmV3IENvbHVtblNjaGVtYUJhc2Uoe1xuICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uY29kZSB8fCBjb2x1bW4uZmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmxhYmVsKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uZGF0YVR5cGUgPT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sLmRhdGFUeXBlID0gY29sdW1uLmNvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZy5jb2xzLnB1c2goY29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWR2YW5jZURhdGEuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICB9XG5cbiAgICAvLyBM4bqleSB1bmlvbiBj4bunYTogc2VsZWN0ZWRGaWVsZCwgZmllbGRQbHVzLCBkaXNwbGF5IGZpZWxkcyBjw7MgdHJvbmcgdGFibGUuXG4gICAgZ2V0RmllbGRzKCkge1xuICAgICAgICBjb25zdCBhcnJGaWVsZDogc3RyaW5nW10gPSBbdGhpcy5jb250cm9sLmRpc3BsYXlGaWVsZCwgJ2lkJ107XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAmJiB0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAhPSAnaWQnKSB7XG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZmllbGRQbHVzKSB7XG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKC4uLnRoaXMuY29udHJvbC5maWVsZFBsdXMuc3BsaXQoJywnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcnJEaXNwbGF5RmllbGQgPSB0aGlzLmNvbnRyb2wuY29sdW1ucy5maWx0ZXIoeCA9PiB4LmlzRGlzcGxheSAmJiAheC5ub3RJbkZpZWxkcyAmJiB4LmRhdGFUeXBlICE9ICdjdXN0b20nKVxuICAgICAgICAgICAgLm1hcCh4ID0+IHguY29kZSB8fCB4LmZpZWxkKTtcblxuICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmFkZERpc3RpbmN0KGFyckRpc3BsYXlGaWVsZCwgYXJyRmllbGQpO1xuICAgICAgICByZXR1cm4gYXJyRmllbGQudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBnZXREcm9wZG93bk9wdGlvbnMocGFnZVNpemU6IG51bWJlciA9IG51bGwpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IERyb3Bkb3duT3B0aW9ucyh7XG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IHRoaXMuY29udHJvbC5kaXNwbGF5RmllbGQsXG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiB0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCxcbiAgICAgICAgICAgIGZpZWxkUGx1czogdGhpcy5jb250cm9sLmZpZWxkUGx1cyxcbiAgICAgICAgICAgIGZ1bmNHZXRMYWJlbDogdGhpcy5jb250cm9sLmZ1bmNHZXRMYWJlbCxcbiAgICAgICAgICAgIHBsdXNVcmw6IHRoaXMuY29udHJvbC5wbHVzVXJsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocGFnZVNpemUpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgYXN5bmMgc2hvd1BpY2tGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm1vZGlmeUluaXRTZWFyY2hEYXRhKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRyb2wubW9kaWZ5SW5pdFNlYXJjaERhdGEodGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNob3dGb3JtUGlja2VyID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXREYXRhKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJzID0gW107XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcih0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCwgT3BlcmF0b3Iubm90SW4sIHRoaXMudmFsdWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5ub3RFcXVhbCwgdGhpcy52YWx1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGFwcGVuZERlZmF1bHRGaWx0ZXIoZmlsdGVycywgdGhpcy5jb250cm9sLmRlZmF1bHRGaWx0ZXJzKTtcbiAgICAgICAgaWYgKHRoaXMua2V5d29yZCAmJiB0aGlzLmtleXdvcmQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZmlsdGVycy5wdXNoKHRoaXMuZ2V0RmlsdGVyT25TZWFyY2godGhpcy5rZXl3b3JkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tb2RpZnlGaWx0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGFsbG93ID0gYXdhaXQgdGhpcy5jb250cm9sLm1vZGlmeUZpbHRlcihmaWx0ZXJzLCB0aGlzLCB0aGlzLmN1cnJlbnROb2RlKTtcbiAgICAgICAgICAgIGlmIChhbGxvdyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdHMgPSBbXTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YVNvdXJjZSA9IGF3YWl0IHRoaXMuY29udHJvbC5iYXNlU2VydmljZS5nZXREYXRhRHJvcGRvd25CeUZpbHRlcihcbiAgICAgICAgICAgIGZpbHRlcnMsIHRoaXMuZ2V0RHJvcGRvd25PcHRpb25zKClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5maXJlRXZlbnRBZnRlckdldERhdGFEcm9wRG93bihkYXRhU291cmNlKTtcbiAgICAgICAgdGhpcy5yZVN0cnVjdHVyZURhdGFTb3VyY2UoZGF0YVNvdXJjZSk7XG4gICAgICAgIHRoaXMucmVzdWx0cyA9IHRoaXMuZGF0YVNvdXJjZTtcbiAgICAgICAgLy8gUmV0dXJuIMSR4buDIG3hu5l0IHPhu5EgbsahaSBraMOhYyBkw7luZywgayByZW1vdmVcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzdWx0cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpcmVFdmVudEFmdGVyR2V0RGF0YURyb3BEb3duKGRhdGFTb3VyY2UpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5hZnRlckdldERhdGFEcm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLmFmdGVyR2V0RGF0YURyb3Bkb3duKGRhdGFTb3VyY2UsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXRDb250cm9sKCkge1xuICAgICAgICAvLyBpZiAodGhpcy5fdmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAvLyAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgICAgICAvLyAgICAgdGhpcy5maXJlQ2xlYXJWYWx1ZUV2ZW50KCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBjbGVhckRhdGFzb3VyY2UoKSB7XG4gICAgICAgIC8vIHRoaXMuZGF0YVNvdXJjZUludGVybmFsID0gW107XG4gICAgICAgIC8vIHRoaXMuX2hhc0xvYWRlZERhdGFzb3VyY2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBzZWFyY2goZXZlbnQpIHtcbiAgICAgICAgdGhpcy5rZXl3b3JkID0gZXZlbnQucXVlcnk7XG4gICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xuICAgIH1cblxuICAgIGhhbmRsZUNvbnRlbnRMZWZ0SW5pdChjcnVkTGlzdCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFmdGVyQ29udGVudExlZnRJbml0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuYWZ0ZXJDb250ZW50TGVmdEluaXQoY3J1ZExpc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQ29udGVudFJpZ2h0SW5pdChjcnVkTGlzdCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFmdGVyQ29udGVudFJpZ2h0SW5pdCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLmFmdGVyQ29udGVudFJpZ2h0SW5pdChjcnVkTGlzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclZhbHVlKCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXN1bHRzID0gW107XG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRWYWx1ZSgpO1xuICAgICAgICB0aGlzLmhhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25VblNlbGVjdC5lbWl0KHtcbiAgICAgICAgICAgIGl0ZW06IHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlyZUNoYW5nZUV2ZW50KCk7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IGl0ZW0gY+G7p2EgYXV0b2NvbXBsZXRlXG4gICAgaGFuZGxlU2VsZWN0KGl0ZW0pIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGV2dCA9IHtcbiAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZFZhbHVlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdChldnQpO1xuICAgICAgICB0aGlzLmZpcmVDaGFuZ2VFdmVudCgpO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmNhbGxCYWNrICYmIHRoaXMuY29udHJvbC5jYWxsQmFjay5zZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5jYWxsQmFjay5zZWxlY3QoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBC4buPIHNlbGVjdCBpdGVtIGPhu6dhIGF1dG9jb21wbGV0ZVxuICAgIGhhbmRsZVVuU2VsZWN0KCRldmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVmFsdWUoKTtcbiAgICAgICAgY29uc3QgZXZ0ID0ge1xuICAgICAgICAgICAgaXRlbTogJGV2ZW50LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuc2VsZWN0ZWRWYWx1ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdChldnQpO1xuICAgICAgICB0aGlzLmZpcmVDaGFuZ2VFdmVudCgpO1xuICAgIH1cblxuICAgIGhhbmRsZUZvY3VzKGV2dCkge1xuICAgICAgICBpZiAoZXZ0LnRhcmdldC52YWx1ZSkge1xuICAgICAgICAgICAgZXZ0LnRhcmdldC5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uRm9jdXMuZW1pdChldnQpO1xuICAgIH1cblxuICAgIGhhbmRsZUJsdXIoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMub25CbHVyLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVLZXlVcChldnQpIHtcbiAgICAgICAgbGV0IGhpZGVTdWdnZXNzaW9ucyA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICBoaWRlU3VnZ2Vzc2lvbnMgPSBldnQudGFyZ2V0LnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLmNoaWxkRWxlbWVudENvdW50ID09IDE7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlT2JqZWN0ICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdC5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgJiYgZXZ0LmtleUNvZGUgPT0gNDAgJiYgaGlkZVN1Z2dlc3Npb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXN1bHRzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBoaWRlU3VnZ2Vzc2lvbnMgPSBldnQudGFyZ2V0LnBhcmVudE5vZGUuY2hpbGRFbGVtZW50Q291bnQgPT0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldnQudGFyZ2V0LnZhbHVlID09ICcnICYmIGhpZGVTdWdnZXNzaW9ucyAmJiBldnQua2V5Q29kZSAhPSA0MCAmJiBldnQua2V5Q29kZSAhPSAzOCkge1xuICAgICAgICAgICAgdGhpcy5yZXN1bHRzID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsdXUgZGF0YSBjdWEgcm93IGRhbmcgZHVvYyBzZWxlY3QsIGR1bmcga2hpIGNvbnRyb2wubXVsdGlwbGUgPSBmYWxzZTtcbiAgICBoYW5kbGVSb3dTZWxlY3QoaXRlbSkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkUm93RGF0YSA9IGl0ZW07XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHNlbGVjdCBpdGVtIHRyb25nIGVudGl0eSBwaWNrZXIgYm94IChLaMO0bmcgY+G6p24gZW1pdCBjaGFuZ2UpXG4gICAgaGFuZGxlU2VsZWN0RW50aXR5KGV2dCkge1xuICAgICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZXZ0KTtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgdW5zZWxlY3QgaXRlbSB0cm9uZyBlbnRpdHkgcGlja2VyIGJveCAoS2jDtG5nIGPhuqduIGVtaXQgY2hhbmdlKVxuICAgIGhhbmRsZVVuU2VsZWN0RW50aXR5KGV2dCkge1xuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdChldnQpO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBjaGFuZ2UgaXRlbSB0cm9uZyBlbnRpdHkgcGlja2VyIGJveFxuICAgIGhhbmRsZUNoYW5nZUVudGl0eShldnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZXZ0LnZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVB1cmVWYWx1ZSgpO1xuICAgICAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maXJlQ2hhbmdlRXZlbnQoKTtcbiAgICB9XG5cbiAgICBnZXRWYWx1ZVJldHVybigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVuY1JldHVyblZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgfVxuXG4gICAgX2Z1bmNDaGVja1JlYWRPbmx5SXRlbShpdGVtOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHlWYWx1ZXMuc29tZShxID0+IHEgPT0gaXRlbS52YWx1ZVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pKSB7XG4gICAgICAgICAgICBpdGVtLl9kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVSZWFkT25seUl0ZW0oKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZFZhbHVlT2JqZWN0KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZ1bmNDaGVja1JlYWRPbmx5SXRlbShpdGVtKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlU2VsZWN0ZWRWYWx1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlT2JqZWN0LmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZS5wdXNoKGl0ZW0udmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuZnVuY0NoZWNrUmVhZE9ubHlJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy50b29sdGlwID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdC52YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QubGFiZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVB1cmVWYWx1ZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZVB1cmVWYWx1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS5tYXAoaXRlbSA9PiBpdGVtW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSk7XG4gICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpcmVDaGFuZ2VFdmVudCgpIHtcbiAgICAgICAgY29uc3QgdmFsdWVSZXR1cm4gPSB0aGlzLmZ1bmNSZXR1cm5WYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQmFzZSh2YWx1ZVJldHVybik7XG4gICAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgICAgdmFsdWU6IHZhbHVlUmV0dXJuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGhhbmRsZUhpZGUoZXZ0KSB7XG4gICAgICAgIHRoaXMuc2hvd0Zvcm1QaWNrZXIgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuZGlydHkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlID0gYXdhaXQgdGhpcy5jb250cm9sLmJhc2VTZXJ2aWNlLmdldERhdGFEcm9wZG93bkJ5RmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5pbiwgdGhpcy52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sIHRoaXMuZ2V0RHJvcGRvd25PcHRpb25zKHRoaXMudmFsdWUubGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcmVFdmVudEFmdGVyR2V0RGF0YURyb3BEb3duKGRhdGFTb3VyY2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnJlU3RydWN0dXJlRGF0YVNvdXJjZShkYXRhU291cmNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSB0aGlzLmRhdGFTb3VyY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2UgPSBhd2FpdCB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2UuZ2V0RGF0YURyb3Bkb3duQnlGaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgXSwgdGhpcy5nZXREcm9wZG93bk9wdGlvbnMoMSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJlRXZlbnRBZnRlckdldERhdGFEcm9wRG93bihkYXRhU291cmNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZVN0cnVjdHVyZURhdGFTb3VyY2UoZGF0YVNvdXJjZSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCA9IHRoaXMuZGF0YVNvdXJjZVswXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsaWNrU3VibWl0QnV0dG9uKGV2dCwgZW50aXR5UGlja2VyQm94OiBFbnRpdHlQaWNrZXJCb3hDb21wb25lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVIaWRlKGV2dCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5zZWxlY3RlZFJvd0RhdGEpIHtcbiAgICAgICAgICAgIGVudGl0eVBpY2tlckJveCAmJiBlbnRpdHlQaWNrZXJCb3guaGFuZGxlUGljayh0aGlzLnNlbGVjdGVkUm93RGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dGb3JtUGlja2VyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlU3RydWN0dXJlRGF0YVNvdXJjZShzb3VyY2VzOiBhbnlbXSkge1xuICAgICAgICBpZiAoc291cmNlcyAhPSBudWxsICYmIHNvdXJjZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5yZVN0cnVjdHVyZUl0ZW1PYmplY3QoaXRlbSk7XG4gICAgICAgICAgICAgICAgYXJyLnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IGFycjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVTdHJ1Y3R1cmVJdGVtT2JqZWN0KGl0ZW0pOiBTZWxlY3RJdGVtIHtcbiAgICAgICAgY29uc3QgdGVtcDogU2VsZWN0SXRlbSA9IHsgdmFsdWU6IGl0ZW0gfTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5mdW5jR2V0TGFiZWwpIHtcbiAgICAgICAgICAgIHRlbXAubGFiZWwgPSB0aGlzLmNvbnRyb2wuZnVuY0dldExhYmVsKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGVtcC5sYWJlbCA9IGl0ZW1bdGhpcy5jb250cm9sLmRpc3BsYXlGaWVsZF07XG4gICAgICAgIH1cbiAgICAgICAgdGVtcC52YWx1ZS5fZHJvcGRvd252YWx1ZSA9IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkO1xuICAgICAgICByZXR1cm4gdGVtcDtcbiAgICB9XG5cbiAgICBnZXREYXRhU2VsZWN0ZWRWYWx1ZShvYmo6IGFueSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGlmIChvYmogIT0gbnVsbCAmJiBvYmoubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmluLCBvYmopKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgYXBwZW5kRGVmYXVsdEZpbHRlcihmaWx0ZXJzLCB0aGlzLmNvbnRyb2wuZGVmYXVsdEZpbHRlcnMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2UuZ2V0RGF0YURyb3Bkb3duQnlGaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXREcm9wZG93bk9wdGlvbnMob2JqLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgICAgKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcmVFdmVudEFmdGVyR2V0RGF0YURyb3BEb3duKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RydWN0dXJlRGF0YVNvdXJjZShyZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXN1bHRzID0gdGhpcy5kYXRhU291cmNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlT2JqZWN0ID0gdGhpcy5kYXRhU291cmNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChvYmogIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2UuZ2V0RGF0YURyb3Bkb3duQnlGaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmVxdWFsLCBvYmopXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RHJvcGRvd25PcHRpb25zKDEpXG4gICAgICAgICAgICAgICAgICAgICkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlyZUV2ZW50QWZ0ZXJHZXREYXRhRHJvcERvd24ocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RydWN0dXJlRGF0YVNvdXJjZShyZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0cyA9IHRoaXMuZGF0YVNvdXJjZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSB0aGlzLmRhdGFTb3VyY2VbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY2FsbEJhY2sgJiYgdGhpcy5jb250cm9sLmNhbGxCYWNrLnNlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuY2FsbEJhY2suc2VsZWN0KHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgbGV0IHZhbHVlID0gIWlzTGl0ZXJhbE9iamVjdChvYmopID8gb2JqIDogb2JqW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXTtcbiAgICAgICAgdGhpcy5nZXREYXRhU2VsZWN0ZWRWYWx1ZSh2YWx1ZSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja0ZpcmVSZWFkeSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hlY2tGaXJlUmVhZHkoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0ZpcmVkUmVhZHkgJiYgdGhpcy5oYXNWYWx1ZSB8fCB0aGlzLmNvbnRyb2wuaXNDaGVja1dyaXRlVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGaXJlZFJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIEjDoG0gcmVhZHkgbsOgeSBjaOG7iSBD4bqmTiBEw5lORyB0cm9uZyB0csaw4budbmcgaOG7o3AgYXV0b2NvbXBsZXRlLXBpY2tlciBjw7MgdmFsdWUgPT4gRMO5bmcgxJHhu4MgbOG6pXkgZOG7ryBsaeG7h3UgY8OhYyBjb21wb25lbnQgY29uXG4gICAgICAgICAgICAvLyBO4bq/dSBjw7MgdHLGsOG7nW5nIGjhu6NwIG7DoG8ga2jDoWMgdGjDrCBj4bqnbiBwaOG6o2kgeOG7rSBsw70ga2jDoWNcbiAgICAgICAgICAgIHRoaXMub25SZWFkeS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUJhc2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxufVxuIl19
|
|
558
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hdXRvY29tcGxldGUtcGlja2VyL2F1dG9jb21wbGV0ZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUNILCtCQUErQixFQUMvQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGVBQWUsRUFDZixVQUFVLEVBQ1YsUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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QWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAndG4tY3VzdG9tLXByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UvY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHtcbiAgICBBdXRvQ29tcGxldGVQaWNrZXJDb250cm9sU2NoZW1hLFxuICAgIENvbHVtblNjaGVtYUJhc2UsXG4gICAgQ3J1ZExpc3RTZXR0aW5nLFxuICAgIERyb3Bkb3duT3B0aW9ucyxcbiAgICBIZWlnaHRUeXBlLFxuICAgIE9wZXJhdG9yLFxuICAgIFBvcHVwU2l6ZVxufSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLWluZm8nO1xuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50aXR5LW1ldGFkYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgYXBwZW5kRGVmYXVsdEZpbHRlciB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBDb250cm9sVHJlZU5vZGUgfSBmcm9tICcuLi9jcnVkL2NydWQtZm9ybS9jcnVkLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEVudGl0eVBpY2tlckJveENvbXBvbmVudCB9IGZyb20gJy4uL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1ib3gvZW50aXR5LXBpY2tlci1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyIH0gZnJvbSAnLi4vZW50aXR5LXBpY2tlci9tb2RlbC9hZHZhbmNlLWRhdGEnO1xuaW1wb3J0IHsgaXNMaXRlcmFsT2JqZWN0IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnZpcm9ubWVudC1zY2hlbWEnO1xuaW1wb3J0IHsgQ2FuQm9Ib1NvU2VydmljZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRGF0YXNvdXJjZUZpbHRlckNhbkJvIH0gZnJvbSAnLi4vdXNlci1waWNrZXIvbW9kZWxzL3VzZXItcGlja2VyLXNldHRpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnYXV0b2NvbXBsZXRlLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBdXRvQ29tcGxldGVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UsXG4gICAgICAgIEVudGl0eU1ldGFkYXRhU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBWaWV3Q2hpbGQoJ2VudGl0eVBpY2tlckJveCcsIHsgc3RhdGljOiB0cnVlIH0pIGVudGl0eVBpY2tlckJveENvbXBvbmVudDogRW50aXR5UGlja2VyQm94Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2F1dG9Db21wbGV0ZScpIGF1dG9Db21wbGV0ZTogYW55O1xuICAgIG9uQ2hhbmdlQmFzZTogRnVuY3Rpb247XG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbjtcblxuICAgIEBJbnB1dCgpIGN1cnJlbnROb2RlOiBDb250cm9sVHJlZU5vZGU7XG4gICAgQElucHV0KCkgY29udHJvbDogQXV0b0NvbXBsZXRlUGlja2VyQ29udHJvbFNjaGVtYTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gICAgQElucHV0KCkgcG9wdXBTaXplOiBQb3B1cFNpemUgPSBuZXcgUG9wdXBTaXplKHtcbiAgICAgICAgd2lkdGg6IDExMDAsXG4gICAgICAgIGhlaWdodDogOTAwLFxuICAgICAgICBtYXhpbWl6ZTogdHJ1ZVxuICAgIH0pO1xuICAgIF9yZWFkT25seVZhbHVlczogc3RyaW5nW107XG4gICAgQElucHV0KCkgc2V0IHJlYWRPbmx5VmFsdWVzKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZyB8IGFueSkge1xuICAgICAgICBsZXQgdGVtcCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLnNwbGl0Y2hhciAmJiB2YWx1ZSBpbnN0YW5jZW9mIFN0cmluZyAmJiB0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRlbXAgPSB2YWx1ZS5zcGxpdCh0aGlzLmNvbnRyb2wuc3BsaXRjaGFyKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZWFkT25seVZhbHVlcyA9IHRlbXA7XG4gICAgICAgIHRoaXMudXBkYXRlRnVuY0NoZWNrUmVhZE9ubHlJdGVtKCk7XG4gICAgICAgIHRoaXMudXBkYXRlUmVhZE9ubHlJdGVtKCk7XG4gICAgfVxuXG4gICAgZ2V0IHJlYWRPbmx5VmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHlWYWx1ZXM7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgb25VblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9uUmVhZHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBzZXR0aW5nOiBDcnVkTGlzdFNldHRpbmcgPSBuZXcgQ3J1ZExpc3RTZXR0aW5nKCk7XG4gICAgYWR2YW5jZURhdGE6IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyID0gbmV3IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyKCk7XG5cbiAgICB2YWx1ZTogYW55O1xuICAgIGZ1bmNSZXR1cm5WYWx1ZTogKHZhbHVlKSA9PiB7fSA9IHZhbHVlID0+IHZhbHVlO1xuICAgIHNlbGVjdGVkVmFsdWU6IGFueTtcbiAgICBzZWxlY3RlZFJvd0RhdGE6IGFueTtcbiAgICBzZWxlY3RlZFZhbHVlT2JqZWN0OiBhbnk7XG4gICAgZGF0YVNvdXJjZTogYW55W10gPSBbXTtcbiAgICBmdW5jQ2hlY2tSZWFkT25seUl0ZW06IChpdGVtOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBrZXl3b3JkOiBzdHJpbmcgPSAnJztcbiAgICBmaWVsZFNlYXJjaFRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgZGF0YXNvdXJjZUZpZWxkRmlsdGVyID0gW107XG5cbiAgICByZXN1bHRzOiBhbnlbXSA9IFtdO1xuXG4gICAgc2hvd0Zvcm1QaWNrZXIgPSBmYWxzZTtcbiAgICBkaXJ0eSA9IGZhbHNlO1xuXG4gICAgdG9vbHRpcCA9ICcnO1xuICAgIGhhc1ZhbHVlID0gZmFsc2U7XG4gICAgaXNGaXJlZFJlYWR5ID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGdldEZpbHRlck9uU2VhcmNoPzogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLl9jb21wb25lbnQgPSB0aGlzO1xuICAgICAgICB0aGlzLnNldERlZmF1bHRTZXR0aW5nKCk7XG5cbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcktleXdvcmQoKTtcbiAgICAgICAgdGhpcy5idWlsZFNldHRpbmdFbnRpdHlQaWNrZXIoKTtcbiAgICAgICAgdGhpcy51cGRhdGVGdW5jQ2hlY2tSZWFkT25seUl0ZW0oKTtcbiAgICAgICAgdGhpcy5vbkluaXQuZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICB1cGRhdGVGdW5jQ2hlY2tSZWFkT25seUl0ZW0oKSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5VmFsdWVzICYmIHRoaXMucmVhZE9ubHlWYWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZ1bmNDaGVja1JlYWRPbmx5SXRlbSA9IHRoaXMuX2Z1bmNDaGVja1JlYWRPbmx5SXRlbTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZnVuY0NoZWNrUmVhZE9ubHlJdGVtID0gKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERlZmF1bHRTZXR0aW5nKCkge1xuICAgICAgICB0aGlzLmZpZWxkU2VhcmNoVGV4dCA9IFsuLi50aGlzLmNvbnRyb2wuZmllbGRTZWFyY2hUZXh0XTtcbiAgICAgICAgaWYgKCF0aGlzLmZpZWxkU2VhcmNoVGV4dC5zb21lKGl0ZW0gPT4gaXRlbSA9PSB0aGlzLmNvbnRyb2wuZGlzcGxheUZpZWxkKSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZFNlYXJjaFRleHQucHVzaCh0aGlzLmNvbnRyb2wuZGlzcGxheUZpZWxkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wucmV0dXJuVHlwZSA9PSAndmFsdWUnKSB7XG4gICAgICAgICAgICB0aGlzLmZ1bmNSZXR1cm5WYWx1ZSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5tYXAoaXRlbSA9PiBpdGVtW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF07XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5mdW5jUmV0dXJuVmFsdWUgPSB2YWx1ZSA9PiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmJhc2VTZXJ2aWNlIGluc3RhbmNlb2YgQ2FuQm9Ib1NvU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhc291cmNlRmllbGRGaWx0ZXIgPSBEYXRhc291cmNlRmlsdGVyQ2FuQm87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZEZpbHRlcktleXdvcmQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkU2VhcmNoVGV4dC5sZW5ndGggPT0gMSkge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJPblNlYXJjaCA9IHZhbHVlID0+IHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC5kaXNwbGF5RmllbGQsIE9wZXJhdG9yLmNvbnRhaW4sIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RmlsdGVyT25TZWFyY2ggPSB2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IEZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgIGxvZ2ljOiAnb3InLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiBbXVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGRTZWFyY2ggb2YgdGhpcy5maWVsZFNlYXJjaFRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcihmaWVsZFNlYXJjaCwgT3BlcmF0b3IuY29udGFpbiwgdmFsdWUpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZFNldHRpbmdFbnRpdHlQaWNrZXIoKSB7XG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2xzID0gW107XG4gICAgICAgIHRoaXMuc2V0dGluZy50aXRsZSA9ICcnO1xuICAgICAgICB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UgPSB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2U7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oZWlnaHRUeXBlID0gSGVpZ2h0VHlwZS5keW5hbWljO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQ2hlY2tib3ggPSB0cnVlO1xuICAgICAgICB0aGlzLnNldHRpbmcuc2V0dGluZ0tleSA9ICdlbnRpdHlQaWNrZXInO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQWR2YW5jZVNlYXJjaCA9IHRoaXMuY29udHJvbC5oaWRkZW5BZHZhbmNlU2VhcmNoO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1dvcmtmbG93ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdQZXJtaXNzaW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLmZpZWxkU2VhcmNoVGV4dCA9IHRoaXMuY29udHJvbC5maWVsZFNlYXJjaFRleHQ7XG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2x1bW5TZXR0aW5nLnNvcnRGaWVsZCA9IHRoaXMuY29udHJvbC5zb3J0RmllbGQ7XG4gICAgICAgIHRoaXMuY29udHJvbC5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgICAgIGlmIChjb2x1bW4uaXNEaXNwbGF5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gbmV3IENvbHVtblNjaGVtYUJhc2Uoe1xuICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uY29kZSB8fCBjb2x1bW4uZmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmxhYmVsKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uZGF0YVR5cGUgPT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sLmRhdGFUeXBlID0gY29sdW1uLmNvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZy5jb2xzLnB1c2goY29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWR2YW5jZURhdGEuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICB9XG5cbiAgICAvLyBM4bqleSB1bmlvbiBj4bunYTogc2VsZWN0ZWRGaWVsZCwgZmllbGRQbHVzLCBkaXNwbGF5IGZpZWxkcyBjw7MgdHJvbmcgdGFibGUuXG4gICAgZ2V0RmllbGRzKCkge1xuICAgICAgICBjb25zdCBhcnJGaWVsZDogc3RyaW5nW10gPSBbdGhpcy5jb250cm9sLmRpc3BsYXlGaWVsZCwgJ2lkJ107XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAmJiB0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAhPSAnaWQnKSB7XG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZmllbGRQbHVzKSB7XG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKC4uLnRoaXMuY29udHJvbC5maWVsZFBsdXMuc3BsaXQoJywnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcnJEaXNwbGF5RmllbGQgPSB0aGlzLmNvbnRyb2wuY29sdW1ucy5maWx0ZXIoeCA9PiB4LmlzRGlzcGxheSAmJiAheC5ub3RJbkZpZWxkcyAmJiB4LmRhdGFUeXBlICE9ICdjdXN0b20nKVxuICAgICAgICAgICAgLm1hcCh4ID0+IHguY29kZSB8fCB4LmZpZWxkKTtcblxuICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmFkZERpc3RpbmN0KGFyckRpc3BsYXlGaWVsZCwgYXJyRmllbGQpO1xuICAgICAgICByZXR1cm4gYXJyRmllbGQudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBnZXREcm9wZG93bk9wdGlvbnMocGFnZVNpemU6IG51bWJlciA9IG51bGwpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IERyb3Bkb3duT3B0aW9ucyh7XG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IHRoaXMuY29udHJvbC5kaXNwbGF5RmllbGQsXG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiB0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCxcbiAgICAgICAgICAgIGZpZWxkUGx1czogdGhpcy5jb250cm9sLmZpZWxkUGx1cyxcbiAgICAgICAgICAgIGZ1bmNHZXRMYWJlbDogdGhpcy5jb250cm9sLmZ1bmNHZXRMYWJlbCxcbiAgICAgICAgICAgIHBsdXNVcmw6IHRoaXMuY29udHJvbC5wbHVzVXJsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocGFnZVNpemUpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgYXN5bmMgc2hvd1BpY2tGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm1vZGlmeUluaXRTZWFyY2hEYXRhKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRyb2wubW9kaWZ5SW5pdFNlYXJjaERhdGEodGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNob3dGb3JtUGlja2VyID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXREYXRhKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJzID0gW107XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcih0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCwgT3BlcmF0b3Iubm90SW4sIHRoaXMudmFsdWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5ub3RFcXVhbCwgdGhpcy52YWx1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGFwcGVuZERlZmF1bHRGaWx0ZXIoZmlsdGVycywgdGhpcy5jb250cm9sLmRlZmF1bHRGaWx0ZXJzKTtcbiAgICAgICAgaWYgKHRoaXMua2V5d29yZCAmJiB0aGlzLmtleXdvcmQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZmlsdGVycy5wdXNoKHRoaXMuZ2V0RmlsdGVyT25TZWFyY2godGhpcy5rZXl3b3JkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tb2RpZnlGaWx0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGFsbG93ID0gYXdhaXQgdGhpcy5jb250cm9sLm1vZGlmeUZpbHRlcihmaWx0ZXJzLCB0aGlzLCB0aGlzLmN1cnJlbnROb2RlKTtcbiAgICAgICAgICAgIGlmIChhbGxvdyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdHMgPSBbXTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YVNvdXJjZSA9IGF3YWl0IHRoaXMuY29udHJvbC5iYXNlU2VydmljZS5nZXREYXRhRHJvcGRvd25CeUZpbHRlcihcbiAgICAgICAgICAgIGZpbHRlcnMsIHRoaXMuZ2V0RHJvcGRvd25PcHRpb25zKClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5maXJlRXZlbnRBZnRlckdldERhdGFEcm9wRG93bihkYXRhU291cmNlKTtcbiAgICAgICAgdGhpcy5yZVN0cnVjdHVyZURhdGFTb3VyY2UoZGF0YVNvdXJjZSk7XG4gICAgICAgIHRoaXMucmVzdWx0cyA9IHRoaXMuZGF0YVNvdXJjZTtcbiAgICAgICAgLy8gUmV0dXJuIMSR4buDIG3hu5l0IHPhu5EgbsahaSBraMOhYyBkw7luZywgayByZW1vdmVcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzdWx0cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpcmVFdmVudEFmdGVyR2V0RGF0YURyb3BEb3duKGRhdGFTb3VyY2UpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5hZnRlckdldERhdGFEcm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLmFmdGVyR2V0RGF0YURyb3Bkb3duKGRhdGFTb3VyY2UsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXRDb250cm9sKCkge1xuICAgICAgICAvLyBpZiAodGhpcy5fdmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAvLyAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgICAgICAvLyAgICAgdGhpcy5maXJlQ2xlYXJWYWx1ZUV2ZW50KCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBjbGVhckRhdGFzb3VyY2UoKSB7XG4gICAgICAgIC8vIHRoaXMuZGF0YVNvdXJjZUludGVybmFsID0gW107XG4gICAgICAgIC8vIHRoaXMuX2hhc0xvYWRlZERhdGFzb3VyY2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBzZWFyY2goZXZlbnQpIHtcbiAgICAgICAgdGhpcy5rZXl3b3JkID0gZXZlbnQucXVlcnk7XG4gICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xuICAgIH1cblxuICAgIGhhbmRsZUNvbnRlbnRMZWZ0SW5pdChjcnVkTGlzdCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFmdGVyQ29udGVudExlZnRJbml0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wuYWZ0ZXJDb250ZW50TGVmdEluaXQoY3J1ZExpc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQ29udGVudFJpZ2h0SW5pdChjcnVkTGlzdCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFmdGVyQ29udGVudFJpZ2h0SW5pdCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLmFmdGVyQ29udGVudFJpZ2h0SW5pdChjcnVkTGlzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclZhbHVlKCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXN1bHRzID0gW107XG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRWYWx1ZSgpO1xuICAgICAgICB0aGlzLmhhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25VblNlbGVjdC5lbWl0KHtcbiAgICAgICAgICAgIGl0ZW06IHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlyZUNoYW5nZUV2ZW50KCk7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IGl0ZW0gY+G7p2EgYXV0b2NvbXBsZXRlXG4gICAgaGFuZGxlU2VsZWN0KGl0ZW0pIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGV2dCA9IHtcbiAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZFZhbHVlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdChldnQpO1xuICAgICAgICB0aGlzLmZpcmVDaGFuZ2VFdmVudCgpO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmNhbGxCYWNrICYmIHRoaXMuY29udHJvbC5jYWxsQmFjay5zZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5jYWxsQmFjay5zZWxlY3QoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBC4buPIHNlbGVjdCBpdGVtIGPhu6dhIGF1dG9jb21wbGV0ZVxuICAgIGhhbmRsZVVuU2VsZWN0KCRldmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVmFsdWUoKTtcbiAgICAgICAgY29uc3QgZXZ0ID0ge1xuICAgICAgICAgICAgaXRlbTogJGV2ZW50LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuc2VsZWN0ZWRWYWx1ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdChldnQpO1xuICAgICAgICB0aGlzLmZpcmVDaGFuZ2VFdmVudCgpO1xuICAgIH1cblxuICAgIGhhbmRsZUZvY3VzKGV2dCkge1xuICAgICAgICBpZiAoZXZ0LnRhcmdldC52YWx1ZSkge1xuICAgICAgICAgICAgZXZ0LnRhcmdldC5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uRm9jdXMuZW1pdChldnQpO1xuICAgIH1cblxuICAgIGhhbmRsZUJsdXIoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMub25CbHVyLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVLZXlVcChldnQpIHtcbiAgICAgICAgbGV0IGhpZGVTdWdnZXNzaW9ucyA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICBoaWRlU3VnZ2Vzc2lvbnMgPSBldnQudGFyZ2V0LnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLmNoaWxkRWxlbWVudENvdW50ID09IDE7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlT2JqZWN0ICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdC5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgJiYgZXZ0LmtleUNvZGUgPT0gNDAgJiYgaGlkZVN1Z2dlc3Npb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXN1bHRzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBoaWRlU3VnZ2Vzc2lvbnMgPSBldnQudGFyZ2V0LnBhcmVudE5vZGUuY2hpbGRFbGVtZW50Q291bnQgPT0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldnQudGFyZ2V0LnZhbHVlID09ICcnICYmIGhpZGVTdWdnZXNzaW9ucyAmJiBldnQua2V5Q29kZSAhPSA0MCAmJiBldnQua2V5Q29kZSAhPSAzOCkge1xuICAgICAgICAgICAgdGhpcy5yZXN1bHRzID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsdXUgZGF0YSBjdWEgcm93IGRhbmcgZHVvYyBzZWxlY3QsIGR1bmcga2hpIGNvbnRyb2wubXVsdGlwbGUgPSBmYWxzZTtcbiAgICBoYW5kbGVSb3dTZWxlY3QoaXRlbSkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkUm93RGF0YSA9IGl0ZW07XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHNlbGVjdCBpdGVtIHRyb25nIGVudGl0eSBwaWNrZXIgYm94IChLaMO0bmcgY+G6p24gZW1pdCBjaGFuZ2UpXG4gICAgaGFuZGxlU2VsZWN0RW50aXR5KGV2dCkge1xuICAgICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZXZ0KTtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgdW5zZWxlY3QgaXRlbSB0cm9uZyBlbnRpdHkgcGlja2VyIGJveCAoS2jDtG5nIGPhuqduIGVtaXQgY2hhbmdlKVxuICAgIGhhbmRsZVVuU2VsZWN0RW50aXR5KGV2dCkge1xuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdChldnQpO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBjaGFuZ2UgaXRlbSB0cm9uZyBlbnRpdHkgcGlja2VyIGJveFxuICAgIGhhbmRsZUNoYW5nZUVudGl0eShldnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZXZ0LnZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVB1cmVWYWx1ZSgpO1xuICAgICAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maXJlQ2hhbmdlRXZlbnQoKTtcbiAgICB9XG5cbiAgICBnZXRWYWx1ZVJldHVybigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVuY1JldHVyblZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgfVxuXG4gICAgX2Z1bmNDaGVja1JlYWRPbmx5SXRlbShpdGVtOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHlWYWx1ZXMuc29tZShxID0+IHEgPT0gaXRlbS52YWx1ZVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pKSB7XG4gICAgICAgICAgICBpdGVtLl9kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVSZWFkT25seUl0ZW0oKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZFZhbHVlT2JqZWN0KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZ1bmNDaGVja1JlYWRPbmx5SXRlbShpdGVtKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlU2VsZWN0ZWRWYWx1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlT2JqZWN0LmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZS5wdXNoKGl0ZW0udmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuZnVuY0NoZWNrUmVhZE9ubHlJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy50b29sdGlwID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdC52YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QubGFiZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVB1cmVWYWx1ZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZVB1cmVWYWx1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS5tYXAoaXRlbSA9PiBpdGVtW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSk7XG4gICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpcmVDaGFuZ2VFdmVudCgpIHtcbiAgICAgICAgY29uc3QgdmFsdWVSZXR1cm4gPSB0aGlzLmZ1bmNSZXR1cm5WYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQmFzZSh2YWx1ZVJldHVybik7XG4gICAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgICAgdmFsdWU6IHZhbHVlUmV0dXJuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGhhbmRsZUhpZGUoZXZ0KSB7XG4gICAgICAgIHRoaXMuc2hvd0Zvcm1QaWNrZXIgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuZGlydHkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlID0gYXdhaXQgdGhpcy5jb250cm9sLmJhc2VTZXJ2aWNlLmdldERhdGFEcm9wZG93bkJ5RmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5pbiwgdGhpcy52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sIHRoaXMuZ2V0RHJvcGRvd25PcHRpb25zKHRoaXMudmFsdWUubGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcmVFdmVudEFmdGVyR2V0RGF0YURyb3BEb3duKGRhdGFTb3VyY2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnJlU3RydWN0dXJlRGF0YVNvdXJjZShkYXRhU291cmNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSB0aGlzLmRhdGFTb3VyY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2UgPSBhd2FpdCB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2UuZ2V0RGF0YURyb3Bkb3duQnlGaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgXSwgdGhpcy5nZXREcm9wZG93bk9wdGlvbnMoMSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJlRXZlbnRBZnRlckdldERhdGFEcm9wRG93bihkYXRhU291cmNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZVN0cnVjdHVyZURhdGFTb3VyY2UoZGF0YVNvdXJjZSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCA9IHRoaXMuZGF0YVNvdXJjZVswXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsaWNrU3VibWl0QnV0dG9uKGV2dCwgZW50aXR5UGlja2VyQm94OiBFbnRpdHlQaWNrZXJCb3hDb21wb25lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVIaWRlKGV2dCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5zZWxlY3RlZFJvd0RhdGEpIHtcbiAgICAgICAgICAgIGVudGl0eVBpY2tlckJveCAmJiBlbnRpdHlQaWNrZXJCb3guaGFuZGxlUGljayh0aGlzLnNlbGVjdGVkUm93RGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dGb3JtUGlja2VyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlU3RydWN0dXJlRGF0YVNvdXJjZShzb3VyY2VzOiBhbnlbXSkge1xuICAgICAgICBpZiAoc291cmNlcyAhPSBudWxsICYmIHNvdXJjZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHNvdXJjZXMpIHtcbiAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5yZVN0cnVjdHVyZUl0ZW1PYmplY3QoaXRlbSk7XG4gICAgICAgICAgICAgICAgYXJyLnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IGFycjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVTdHJ1Y3R1cmVJdGVtT2JqZWN0KGl0ZW0pOiBTZWxlY3RJdGVtIHtcbiAgICAgICAgY29uc3QgdGVtcDogU2VsZWN0SXRlbSA9IHsgdmFsdWU6IGl0ZW0gfTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5mdW5jR2V0TGFiZWwpIHtcbiAgICAgICAgICAgIHRlbXAubGFiZWwgPSB0aGlzLmNvbnRyb2wuZnVuY0dldExhYmVsKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGVtcC5sYWJlbCA9IGl0ZW1bdGhpcy5jb250cm9sLmRpc3BsYXlGaWVsZF07XG4gICAgICAgIH1cbiAgICAgICAgdGVtcC52YWx1ZS5fZHJvcGRvd252YWx1ZSA9IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkO1xuICAgICAgICByZXR1cm4gdGVtcDtcbiAgICB9XG5cbiAgICBnZXREYXRhU2VsZWN0ZWRWYWx1ZShvYmo6IGFueSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGlmIChvYmogIT0gbnVsbCAmJiBvYmoubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmluLCBvYmopKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgYXBwZW5kRGVmYXVsdEZpbHRlcihmaWx0ZXJzLCB0aGlzLmNvbnRyb2wuZGVmYXVsdEZpbHRlcnMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2UuZ2V0RGF0YURyb3Bkb3duQnlGaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXREcm9wZG93bk9wdGlvbnMob2JqLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgICAgKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcmVFdmVudEFmdGVyR2V0RGF0YURyb3BEb3duKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RydWN0dXJlRGF0YVNvdXJjZShyZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXN1bHRzID0gdGhpcy5kYXRhU291cmNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlT2JqZWN0ID0gdGhpcy5kYXRhU291cmNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChvYmogIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2UuZ2V0RGF0YURyb3Bkb3duQnlGaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmVxdWFsLCBvYmopXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RHJvcGRvd25PcHRpb25zKDEpXG4gICAgICAgICAgICAgICAgICAgICkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlyZUV2ZW50QWZ0ZXJHZXREYXRhRHJvcERvd24ocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RydWN0dXJlRGF0YVNvdXJjZShyZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0cyA9IHRoaXMuZGF0YVNvdXJjZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSB0aGlzLmRhdGFTb3VyY2VbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY2FsbEJhY2sgJiYgdGhpcy5jb250cm9sLmNhbGxCYWNrLnNlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuY2FsbEJhY2suc2VsZWN0KHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVPYmplY3QgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuc2VsZWN0ZWRWYWx1ZU9iamVjdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgbGV0IHZhbHVlID0gIWlzTGl0ZXJhbE9iamVjdChvYmopID8gb2JqIDogb2JqW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXTtcbiAgICAgICAgdGhpcy5nZXREYXRhU2VsZWN0ZWRWYWx1ZSh2YWx1ZSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja0ZpcmVSZWFkeSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hlY2tGaXJlUmVhZHkoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0ZpcmVkUmVhZHkgJiYgdGhpcy5oYXNWYWx1ZSB8fCB0aGlzLmNvbnRyb2wuaXNDaGVja1dyaXRlVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGaXJlZFJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIEjDoG0gcmVhZHkgbsOgeSBjaOG7iSBD4bqmTiBEw5lORyB0cm9uZyB0csaw4budbmcgaOG7o3AgYXV0b2NvbXBsZXRlLXBpY2tlciBjw7MgdmFsdWUgPT4gRMO5bmcgxJHhu4MgbOG6pXkgZOG7ryBsaeG7h3UgY8OhYyBjb21wb25lbnQgY29uXG4gICAgICAgICAgICAvLyBO4bq/dSBjw7MgdHLGsOG7nW5nIGjhu6NwIG7DoG8ga2jDoWMgdGjDrCBj4bqnbiBwaOG6o2kgeOG7rSBsw70ga2jDoWNcbiAgICAgICAgICAgIHRoaXMub25SZWFkeS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUJhc2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxufVxuIl19
|
package/esm2015/tnx-shared.js
CHANGED
|
@@ -7,6 +7,7 @@ export { ListComponentBase as ɵf } from './classes/base/list-component-base';
|
|
|
7
7
|
export { AddNewsComponent as ɵdf } from './components/add-news/add-news.component';
|
|
8
8
|
export { AddressComponent as ɵx } from './components/address/address.component';
|
|
9
9
|
export { AutoCompletePickerComponent as ɵz } from './components/autocomplete-picker/autocomplete-picker.component';
|
|
10
|
+
export { AUTOCOMPLETE_VALUE_ACCESSOR as ɵea, AutoComplete as ɵeb, AutoCompleteModule as ɵec } from './components/autocomplete/autocomplete.component';
|
|
10
11
|
export { ChatService as ɵn } from './components/chat/services/chat.service';
|
|
11
12
|
export { ContentsService as ɵp } from './components/chat/services/content.service';
|
|
12
13
|
export { MessageBoardService as ɵr } from './components/chat/services/message-board.service';
|
|
@@ -106,4 +107,4 @@ export { FileManagerService as ɵu } from './services/file-manager.service';
|
|
|
106
107
|
export { LoggerService as ɵa } from './services/logger.service';
|
|
107
108
|
export { NewsCategoryService as ɵdh } from './services/newscategory.service';
|
|
108
109
|
export { RoleService as ɵw } from './services/role.service';
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG54LXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi90bngtc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEdBQUcsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDakgsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxpQ0FBaUMsSUFBSSxHQUFHLEVBQUMsTUFBTSw0RkFBNEYsQ0FBQztBQUNwSixPQUFPLEVBQUMsOEJBQThCLElBQUksR0FBRyxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDekksT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxzQkFB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SSxHQUFHLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxJQUFJLEdBQUcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0xpc3RCYXNlIGFzIMm1ZX0gZnJvbSAnLi9jbGFzc2VzL2Jhc2UvbGlzdC1iYXNlJztcbmV4cG9ydCB7TGlzdENvbXBvbmVudEJhc2UgYXMgybVmfSBmcm9tICcuL2NsYXNzZXMvYmFzZS9saXN0LWNvbXBvbmVudC1iYXNlJztcbmV4cG9ydCB7QWRkTmV3c0NvbXBvbmVudCBhcyDJtWRmfSBmcm9tICcuL2NvbXBvbmVudHMvYWRkLW5ld3MvYWRkLW5ld3MuY29tcG9uZW50JztcbmV4cG9ydCB7QWRkcmVzc0NvbXBvbmVudCBhcyDJtXh9IGZyb20gJy4vY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50JztcbmV4cG9ydCB7QXV0b0NvbXBsZXRlUGlja2VyQ29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS1waWNrZXIvYXV0b2NvbXBsZXRlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtDaGF0U2VydmljZSBhcyDJtW59IGZyb20gJy4vY29tcG9uZW50cy9jaGF0L3NlcnZpY2VzL2NoYXQuc2VydmljZSc7XG5leHBvcnQge0NvbnRlbnRzU2VydmljZSBhcyDJtXB9IGZyb20gJy4vY29tcG9uZW50cy9jaGF0L3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5leHBvcnQge01lc3NhZ2VCb2FyZFNlcnZpY2UgYXMgybVyfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhdC9zZXJ2aWNlcy9tZXNzYWdlLWJvYXJkLnNlcnZpY2UnO1xuZXhwb3J0IHtTdGF0dXNFeHRlbmRzU2VydmljZSBhcyDJtXF9IGZyb20gJy4vY29tcG9uZW50cy9jaGF0L3NlcnZpY2VzL3N0YXR1cy5zZXJ2aWNlJztcbmV4cG9ydCB7Q2hlY2tCb3hMaXN0Q29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vY29tcG9uZW50cy9jaGVjay1ib3gtbGlzdC9jaGVjay1ib3gtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtDb0NhdVRvQ2h1Y1BpY2tlckxpc3ROZXdDb21wb25lbnQgYXMgybViZH0gZnJvbSAnLi9jb21wb25lbnRzL2NvY2F1dG9jaHVjL2NvY2F1dG9jaHVjLXBpY2tlci1saXN0LW5ldy9jb2NhdXRvY2h1Yy1waWNrZXItbGlzdC1uZXcuY29tcG9uZW50JztcbmV4cG9ydCB7Q29DYXVUb0NodWNQaWNrZXJMaXN0Q29tcG9uZW50IGFzIMm1YmN9IGZyb20gJy4vY29tcG9uZW50cy9jb2NhdXRvY2h1Yy9jb2NhdXRvY2h1Yy1waWNrZXItbGlzdC9jb2NhdXRvY2h1Yy1waWNrZXItbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtDb25nVmllY1BpY2tlckNvbXBvbmVudCBhcyDJtWNifSBmcm9tICcuL2NvbXBvbmVudHMvY29uZ3ZpZWMtcGlja2VyL2Nvbmd2aWVjLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtBZHZhbmNlU2VhcmNoQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9jb21wb25lbnRzL2NydWQvYWR2YW5jZS1zZWFyY2gvYWR2YW5jZS1zZWFyY2guY29tcG9uZW50JztcbmV4cG9ydCB7Q2hlY2tSZWFkeUNvbXBvbmVudCBhcyDJtWR0fSBmcm9tICcuL2NvbXBvbmVudHMvY3J1ZC9jaGVjay1yZWFkeS9jaGVjay1yZWFkeS5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJsZURldGFpbEZvcm1Db21wb25lbnQgYXMgybVja30gZnJvbSAnLi9jb21wb25lbnRzL2NydWQvdGFibGUtZGV0YWlsLWZvcm0vdGFibGUtZGV0YWlsLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7VHJlZVRhYmxlQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9jb21wb25lbnRzL2NydWQvdHJlZS10YWJsZS90cmVlLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGV0aW1lUGlja2VyUmFuZ2VDb21wb25lbnQgYXMgybViZ30gZnJvbSAnLi9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci1yYW5nZS9kYXRldGltZS1waWNrZXItcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgYXMgybViZn0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RHJvcGRvd25TZXR0aW5nRm9ybUNvbXBvbmVudCBhcyDJtWRzfSBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tc2V0dGluZy1mb3JtL2Ryb3Bkb3duLXNldHRpbmctZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtRdWlja0FkZEZvcm1Db21wb25lbnQgYXMgybVjbn0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL3F1aWNrLWFkZC1mb3JtL3F1aWNrLWFkZC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0Ryb3Bkb3duU2VydmljZSBhcyDJtWJ9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9zZXJ2aWNlcy9kcm9wZG93bi5zZXJ2aWNlJztcbmV4cG9ydCB7RW50aXR5UGVybWlzc2lvbkNvbXBvbmVudCBhcyDJtWJwfSBmcm9tICcuL2NvbXBvbmVudHMvZW50aXR5LXBlcm1pc3Npb24vZW50aXR5LXBlcm1pc3Npb24uY29tcG9uZW50JztcbmV4cG9ydCB7RW50aXR5UGVybWlzc2lvblNlcnZpY2UgYXMgybVtfSBmcm9tICcuL2NvbXBvbmVudHMvZW50aXR5LXBlcm1pc3Npb24vc2VydmljZXMuY3MvZW50aXR5LXBlcm1pc3Npb24uc2VydmljZSc7XG5leHBvcnQge0VudGl0eVBpY2tlckJveENvbXBvbmVudCBhcyDJtWJofSBmcm9tICcuL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci9lbnRpdHktcGlja2VyLWJveC9lbnRpdHktcGlja2VyLWJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbnRpdHlQaWNrZXJEYXRhQ29tcG9uZW50IGFzIMm1Yml9IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXItZGlhbG9nL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci1kYXRhL2VudGl0eS1waWNrZXItZGF0YS5jb21wb25lbnQnO1xuZXhwb3J0IHtFbnRpdHlQaWNrZXJTZWFyY2hGb3JtQ29tcG9uZW50IGFzIMm1Ymx9IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXItZGlhbG9nL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci1zZWFyY2gtZm9ybS9lbnRpdHktcGlja2VyLXNlYXJjaC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0VudGl0eVBpY2tlclNlbGVjdGVkQ29tcG9uZW50IGFzIMm1Ymp9IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXItZGlhbG9nL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci1zZWxlY3RlZC9lbnRpdHktcGlja2VyLXNlbGVjdGVkLmNvbXBvbmVudCc7XG5leHBvcnQge0VudGl0eVBpY2tlclRyZWVEYXRhQ29tcG9uZW50IGFzIMm1Ym59IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXItZGlhbG9nL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci10cmVlLWRhdGEvZW50aXR5LXBpY2tlci10cmVlLWRhdGEuY29tcG9uZW50JztcbmV4cG9ydCB7RW50aXR5UGlja2VyVHJlZVNlbGVjdGVkQ29tcG9uZW50IGFzIMm1Ym99IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXItZGlhbG9nL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci10cmVlLXNlbGVjdGVkL2VudGl0eS1waWNrZXItdHJlZS1zZWxlY3RlZC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbnRpdHlQaWNrZXJEaWFsb2dDb21wb25lbnQgYXMgybVibX0gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvZW50aXR5LXBpY2tlci1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7RW50aXR5UGlja2VyQ29tcG9uZW50IGFzIMm1Ymt9IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RXF1YXRpb25FZGl0b3JDb21wb25lbnQgYXMgybVicX0gZnJvbSAnLi9jb21wb25lbnRzL2VxdWF0aW9uLWVkaXRvci9lcXVhdGlvbi1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZUZvcm1Db21wb25lbnQgYXMgybVjen0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvZmlsZS1mb3JtL2ZpbGUtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlS3lTb1NpbUNvbXBvbmVudCBhcyDJtWRtfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9maWxlLWt5LXNvLXNpbS9maWxlLWt5LXNvLXNpbS5jb21wb25lbnQnO1xuZXhwb3J0IHtLaGFpVGhhY1RhaUxpZXVEdW5nQ2h1bmdDb21wb25lbnQgYXMgybVkcH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvZmlsZS10YWktbGlldS9raGFpdGhhYy10YWlsaWV1LWR1bmdjaHVuZy9raGFpdGhhYy10YWlsaWV1LWR1bmdjaHVuZy5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWlMaWV1Q3VhVG9pQ29tcG9uZW50IGFzIMm1ZG99IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL2ZpbGUtdGFpLWxpZXUvdGFpbGlldS1jdWF0b2kvdGFpbGlldS1jdWF0b2kuY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZVZlcnNpb25MaXN0Q29tcG9uZW50IGFzIMm1ZGJ9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL2ZpbGUtdmVyc2lvbi1saXN0L2ZpbGUtdmVyc2lvbi1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVWaWV3ZXJDb21wb25lbnQgYXMgybVkYX0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7Rm9sZGVyRm9ybUNvbXBvbmVudCBhcyDJtWN5fSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9mb2xkZXItZm9ybS9mb2xkZXItZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtLeVNvU2ltRGFuaFNhY2hDaHVLeUNvbXBvbmVudCBhcyDJtWRrfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9reS1zby1zaW0tZGFuaC1zYWNoLWNodS1reS9reS1zby1zaW0tZGFuaC1zYWNoLWNodS1reS5jb21wb25lbnQnO1xuZXhwb3J0IHtEYW5oTXVjRHVuZ0NodW5nU2VydmljZSBhcyDJtWRxfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9zZXJ2aWNlcy9kYW5obXVjLWR1bmdjaHVuZy5zZXJ2aWNlJztcbmV4cG9ydCB7RmlsZUV4cGxvcmVyTmV3U2VydmljZSBhcyDJtXN9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2ZpbGUtZXhwbG9yZXItbmV3LnNlcnZpY2UnO1xuZXhwb3J0IHtGaWxlVmVyc2lvblNlcnZpY2UgYXMgybV0fSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9zZXJ2aWNlcy9maWxlLXZlcnNpb24uc2VydmljZSc7XG5leHBvcnQge0t5U29TaW1DaHVLeVVzZXJTZXJ2aWNlIGFzIMm1ZGx9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2t5LXNvLXNpbS1jaHUta3ktdXNlci5zZXJ2aWNlJztcbmV4cG9ydCB7S3lTb1NpbVNpZ25QREZTZXJ2aWNlIGFzIMm1ZG59IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2t5LXNvLXNpbS1zaWduUERGLnNlcnZpY2UnO1xuZXhwb3J0IHtNeURyaXZlU2VydmljZSBhcyDJtW99IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL215LWRyaXZlLnNlcnZpY2UnO1xuZXhwb3J0IHtTaWduYXR1cmVEZXRhaWxDb21wb25lbnQgYXMgybVkan0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvc2lnbmF0dXJlLWRldGFpbC9zaWduYXR1cmUtZGV0YWlsLmNvbXBvbmVudCc7XG5leHBvcnQge1ZpZXdEZXRhaWxDb21wb25lbnQgYXMgybVkY30gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvdmlldy1kZXRhaWwvdmlldy1kZXRhaWwuY29tcG9uZW50JztcbmV4cG9ydCB7Rm9ybUJ1aWxkZXJDb21wb25lbnQgYXMgybViZX0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tYnVpbGRlci9mb3JtLWJ1aWxkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7SHRtbFByZXZpZXdDb21wb25lbnQgYXMgybVken0gZnJvbSAnLi9jb21wb25lbnRzL2h0bWwtcHJldmlldy9odG1sLXByZXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7SW1hZ2VVcGxvYWRlckNvbXBvbmVudCBhcyDJtWJhfSBmcm9tICcuL2NvbXBvbmVudHMvaW1hZ2UtdXBsb2FkZXIvaW1hZ2UtdXBsb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7TWFza0NvbXBvbmVudCBhcyDJtWJyfSBmcm9tICcuL2NvbXBvbmVudHMvbWFzay9tYXNrLmNvbXBvbmVudCc7XG5leHBvcnQge05vdEZvdW5kQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9jb21wb25lbnRzL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50JztcbmV4cG9ydCB7TnVtYmVyUGlja2VyUmFuZ2VDb21wb25lbnQgYXMgybVic30gZnJvbSAnLi9jb21wb25lbnRzL251bWJlci1waWNrZXItcmFuZ2UvbnVtYmVyLXBpY2tlci1yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQYWdpbmdOZXh0QmFja09ubHlDb21wb25lbnQgYXMgybVidH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luZy1uZXh0LWJhY2stb25seS9wYWdpbmctbmV4dC1iYWNrLW9ubHkuY29tcG9uZW50JztcbmV4cG9ydCB7UXJDb2RlR2VuZXJhdG9yQ29tcG9uZW50IGFzIMm1ZGV9IGZyb20gJy4vY29tcG9uZW50cy9xci1jb2RlLWdlbmVyYXRvci9xci1jb2RlLWdlbmVyYXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHtETV9DaHVjVnVTZXJ2aWNlIGFzIMm1dn0gZnJvbSAnLi9jb21wb25lbnRzL3F1ZXJ5LWJ1aWxkZXJzL3NlcnZpY2VzL2RtLWNodWN2dS5zZXJ2aWNlJztcbmV4cG9ydCB7UmFkaW9CdXR0b25MaXN0Q29tcG9uZW50IGFzIMm1YnV9IGZyb20gJy4vY29tcG9uZW50cy9yYWRpby1idXR0b24tbGlzdC9yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWZlcmVuY2VUZXh0Qm94Q29tcG9uZW50IGFzIMm1ZGR9IGZyb20gJy4vY29tcG9uZW50cy9yZWZlcmVuY2UtdGV4dGJveC9yZWZlcmVuY2UtdGV4dGJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtTZXR0aW5nQXV0aG9yaXplQnV0dG9uQ29tcG9uZW50IGFzIMm1ZHd9IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5ncy9zZXR0aW5ncy1hdXRob3JpemUtYnV0dG9uL3NldHRpbmdzLWF1dGhvcml6ZS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7U2V0dGluZ3NSb3dDb21wb25lbnQgYXMgybVjZH0gZnJvbSAnLi9jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLXJvdy9zZXR0aW5ncy1yb3cuY29tcG9uZW50JztcbmV4cG9ydCB7U2V0dGluZ3NXb3JrZmxvd05vMUNvbXBvbmVudCBhcyDJtWR5fSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZ3Mvc2V0dGluZ3Mtd29ya2Zsb3cvc2V0dGluZ3Mtd29ya2Zsb3ctbm8xL3NldHRpbmdzLXdvcmtmbG93LW5vMS5jb21wb25lbnQnO1xuZXhwb3J0IHtTZXR0aW5nc1dvcmtmbG93Q29tcG9uZW50IGFzIMm1ZHZ9IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5ncy9zZXR0aW5ncy13b3JrZmxvdy9zZXR0aW5ncy13b3JrZmxvdy5jb21wb25lbnQnO1xuZXhwb3J0IHtTZXR0aW5nc0NvbXBvbmVudCBhcyDJtWNjfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50JztcbmV4cG9ydCB7U2hhcmVMaW5rQnlQZXJtaXNzaW9uQ29tcG9uZW50IGFzIMm1Y2V9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS1saW5rLWJ5LXBlcm1pc3Npb24vc2hhcmUtbGluay1ieS1wZXJtaXNzaW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1RuQWNjb3JkaW9uVGFiQ29tcG9uZW50IGFzIMm1ZHV9IGZyb20gJy4vY29tcG9uZW50cy90bi1hY2NvcmRpb24tdGFiL3RuLWFjY29yZGlvbi10YWIuY29tcG9uZW50JztcbmV4cG9ydCB7SGVscGVyQ3VycmVudFBhZ2VDb21wb25lbnQgYXMgybVjdn0gZnJvbSAnLi9jb21wb25lbnRzL3RuLWFwcC1oZWxwL2hlbHBlci1jdXJyZW50LXBhZ2UvaGVscGVyLWN1cnJlbnQtcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQYXRoTmFtZVNlcnZpY2UgYXMgybVjdX0gZnJvbSAnLi9jb21wb25lbnRzL3RuLWFwcC1oZWxwL3NlcnZpY2VzL3BhdGgtbmFtZS5zZXJ2aWNlJztcbmV4cG9ydCB7VG5BcHBIZWxwQ29tcG9uZW50IGFzIMm1Y3R9IGZyb20gJy4vY29tcG9uZW50cy90bi1hcHAtaGVscC90bi1hcHAtaGVscC5jb21wb25lbnQnO1xuZXhwb3J0IHtUbkFwcE5vdGlmaWNhdGlvbkxpc3RDb21wb25lbnQgYXMgybVjd30gZnJvbSAnLi9jb21wb25lbnRzL3RuLWFwcC1ub3RpZmljYXRpb24vdG4tYXBwLW5vdGlmaWNhdGlvbi1saXN0L3RuLWFwcC1ub3RpZmljYXRpb24tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtUbkFwcE5vdGlmaWNhdGlvbkNvbXBvbmVudCBhcyDJtWN4fSBmcm9tICcuL2NvbXBvbmVudHMvdG4tYXBwLW5vdGlmaWNhdGlvbi90bi1hcHAtbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1RuQ2hlY2tib3hDb21wb25lbnQgYXMgybVjZn0gZnJvbSAnLi9jb21wb25lbnRzL3RuLWNoZWNrYm94L3RuLWNoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQge1RuQ29sb3JQaWNrZXJDb21wb25lbnQgYXMgybVjaH0gZnJvbSAnLi9jb21wb25lbnRzL3RuLWNvbG9yLXBpY2tlci90bi1jb2xvci1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VG5EaWFsb2dDb21wb25lbnQgYXMgybVjZ30gZnJvbSAnLi9jb21wb25lbnRzL3RuLWRpYWxvZy90bi1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7VG5UYWJWaWV3Q29tcG9uZW50IGFzIMm1Y2p9IGZyb20gJy4vY29tcG9uZW50cy90bi10YWJ2aWV3L3RuLXRhYnZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7VG5UZW1wbGF0ZUNvbXBvbmVudCBhcyDJtWRyfSBmcm9tICcuL2NvbXBvbmVudHMvdG4tdGVtcGxhdGUvdG4tdGVtcGxhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7VG5UaW55bWNlQ29tcG9uZW50IGFzIMm1Y2l9IGZyb20gJy4vY29tcG9uZW50cy90bi10aW55bWNlL3RuLXRpbnltY2UuY29tcG9uZW50JztcbmV4cG9ydCB7VW5pdmVyc2FsTGlua1Byb2Nlc3NvckNvbXBvbmVudCBhcyDJtWRpfSBmcm9tICcuL2NvbXBvbmVudHMvdW5pdmVyc2FsLWxpbmstcHJvY2Vzc29yL3VuaXZlcnNhbC1saW5rLXByb2Nlc3Nvci5jb21wb25lbnQnO1xuZXhwb3J0IHtDb0NhdVRvQ2h1Y1Rlc3RTZXJ2aWNlIGFzIMm1Y3N9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLXBpY2tlci9zZXJ2aWNldGVzdC9jb2NhdXRvY2h1Yy10ZXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtVc2VyUGlja2VyQm94Q29tcG9uZW50IGFzIMm1Y3J9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLXBpY2tlci91c2VyLXBpY2tlci1ib3gvdXNlci1waWNrZXItYm94LmNvbXBvbmVudCc7XG5leHBvcnQge1VzZXJQaWNrZXJDb21wb25lbnQgYXMgybVjcX0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItcGlja2VyL3VzZXItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge1ZhbkJhbkRlblNlcnZpY2UgYXMgybVid30gZnJvbSAnLi9jb21wb25lbnRzL3ZhbmJhbi1waWNrZXIvc2VydmljZXMvdmFuYmFuLWRlbi5zZXJ2aWNlJztcbmV4cG9ydCB7VmFuQmFuRGlTZXJ2aWNlIGFzIMm1Ynh9IGZyb20gJy4vY29tcG9uZW50cy92YW5iYW4tcGlja2VyL3NlcnZpY2VzL3ZhbmJhbi1kaS5zZXJ2aWNlJztcbmV4cG9ydCB7VmFuYmFuRGVuUGlja2VyQ29tcG9uZW50IGFzIMm1Y2F9IGZyb20gJy4vY29tcG9uZW50cy92YW5iYW4tcGlja2VyL3ZhbmJhbi1kZW4tcGlja2VyL3ZhbmJhbi1kZW4tcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge1ZhbmJhbkRpUGlja2VyQ29tcG9uZW50IGFzIMm1Ynp9IGZyb20gJy4vY29tcG9uZW50cy92YW5iYW4tcGlja2VyL3ZhbmJhbi1kaS1waWNrZXIvdmFuYmFuLWRpLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtWYW5CYW5QaWNrZXJEaWFsb2dDb21wb25lbnQgYXMgybVieX0gZnJvbSAnLi9jb21wb25lbnRzL3ZhbmJhbi1waWNrZXIvdmFuYmFuLXBpY2tlci1kaWFsb2cvdmFuYmFuLXBpY2tlci1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7VmFuQmFuUGlja2VyQ29tcG9uZW50IGFzIMm1YnZ9IGZyb20gJy4vY29tcG9uZW50cy92YW5iYW4tcGlja2VyL3ZhbmJhbi1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7UHJldmVudFNoaWZ0VGFiRGlyZWN0aXZlIGFzIMm1Y299IGZyb20gJy4vZGlyZWN0aXZlcy9wcmV2ZW50LXNoaWZ0LXRhYi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtUblRlbXBsYXRlRGlyZWN0aXZlIGFzIMm1Y3B9IGZyb20gJy4vZGlyZWN0aXZlcy90bi10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtMb2dJbnRlcmNlcHRvciBhcyDJtWp9IGZyb20gJy4vaW50ZXJjZXB0ZXJzL2xvZy5pbnRlcmNlcHRvcic7XG5leHBvcnQge1Blcm1pc3Npb25VdGlsc0ludGVyY2VwdG9yIGFzIMm1a30gZnJvbSAnLi9pbnRlcmNlcHRlcnMvcGVybWlzc2lvbi11dGlscy5pbnRlcmNlcHRvcic7XG5leHBvcnQge1NlbmRBY2Nlc3NUb2tlbkludGVyY2VwdG9yIGFzIMm1aX0gZnJvbSAnLi9pbnRlcmNlcHRlcnMvc2VuZC1hY2Nlc3MtdG9rZW4uaW50ZXJjZXB0b3InO1xuZXhwb3J0IHtUcmFjZUludGVyY2VwdG9yIGFzIMm1bH0gZnJvbSAnLi9pbnRlcmNlcHRlcnMvdHJhY2UuaW50ZXJjZXB0b3InO1xuZXhwb3J0IHtGaWxlSWNvblBpcGUgYXMgybVjbH0gZnJvbSAnLi9waXBlcy9maWxlLWljb24ucGlwZSc7XG5leHBvcnQge0ZpbGVTaXplUGlwZSBhcyDJtWNtfSBmcm9tICcuL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmV4cG9ydCB7QXJ0aWNsZVNlcnZpY2UgYXMgybVkZ30gZnJvbSAnLi9zZXJ2aWNlcy9hcnRpY2xlLnNlcnZpY2UnO1xuZXhwb3J0IHtCYXNlUGVybWlzc2lvblNlcnZpY2UgYXMgybVkeH0gZnJvbSAnLi9zZXJ2aWNlcy9iYXNlcGVybWlzc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCB7RW50aXR5UGlja2VyU2VydmljZSBhcyDJtWN9IGZyb20gJy4vc2VydmljZXMvZW50aXR5LXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCB7RXhjZXB0aW9uSGFuZGxlclNlcnZpY2UgYXMgybVkfSBmcm9tICcuL3NlcnZpY2VzL2V4Y2VwdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtGaWxlTWFuYWdlclNlcnZpY2UgYXMgybV1fSBmcm9tICcuL3NlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcbmV4cG9ydCB7TG9nZ2VyU2VydmljZSBhcyDJtWF9IGZyb20gJy4vc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtOZXdzQ2F0ZWdvcnlTZXJ2aWNlIGFzIMm1ZGh9IGZyb20gJy4vc2VydmljZXMvbmV3c2NhdGVnb3J5LnNlcnZpY2UnO1xuZXhwb3J0IHtSb2xlU2VydmljZSBhcyDJtXd9IGZyb20gJy4vc2VydmljZXMvcm9sZS5zZXJ2aWNlJzsiXX0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG54LXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi90bngtc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEdBQUcsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDakgsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEdBQUcsRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLGtCQUFrQixJQUFJLEdBQUcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ2xKLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDM0YsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsaUNBQWlDLElBQUksR0FBRyxFQUFDLE1BQU0sNEZBQTRGLENBQUM7QUFDcEosT0FBTyxFQUFDLDhCQUE4QixJQUFJLEdBQUcs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QUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEdBQUcsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGNBQWMsSUFBSSxHQUFHLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtMaXN0QmFzZSBhcyDJtWV9IGZyb20gJy4vY2xhc3Nlcy9iYXNlL2xpc3QtYmFzZSc7XG5leHBvcnQge0xpc3RDb21wb25lbnRCYXNlIGFzIMm1Zn0gZnJvbSAnLi9jbGFzc2VzL2Jhc2UvbGlzdC1jb21wb25lbnQtYmFzZSc7XG5leHBvcnQge0FkZE5ld3NDb21wb25lbnQgYXMgybVkZn0gZnJvbSAnLi9jb21wb25lbnRzL2FkZC1uZXdzL2FkZC1uZXdzLmNvbXBvbmVudCc7XG5leHBvcnQge0FkZHJlc3NDb21wb25lbnQgYXMgybV4fSBmcm9tICcuL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudCc7XG5leHBvcnQge0F1dG9Db21wbGV0ZVBpY2tlckNvbXBvbmVudCBhcyDJtXp9IGZyb20gJy4vY29tcG9uZW50cy9hdXRvY29tcGxldGUtcGlja2VyL2F1dG9jb21wbGV0ZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7QVVUT0NPTVBMRVRFX1ZBTFVFX0FDQ0VTU09SIGFzIMm1ZWEsQXV0b0NvbXBsZXRlIGFzIMm1ZWIsQXV0b0NvbXBsZXRlTW9kdWxlIGFzIMm1ZWN9IGZyb20gJy4vY29tcG9uZW50cy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQge0NoYXRTZXJ2aWNlIGFzIMm1bn0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXQvc2VydmljZXMvY2hhdC5zZXJ2aWNlJztcbmV4cG9ydCB7Q29udGVudHNTZXJ2aWNlIGFzIMm1cH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXQvc2VydmljZXMvY29udGVudC5zZXJ2aWNlJztcbmV4cG9ydCB7TWVzc2FnZUJvYXJkU2VydmljZSBhcyDJtXJ9IGZyb20gJy4vY29tcG9uZW50cy9jaGF0L3NlcnZpY2VzL21lc3NhZ2UtYm9hcmQuc2VydmljZSc7XG5leHBvcnQge1N0YXR1c0V4dGVuZHNTZXJ2aWNlIGFzIMm1cX0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXQvc2VydmljZXMvc3RhdHVzLnNlcnZpY2UnO1xuZXhwb3J0IHtDaGVja0JveExpc3RDb21wb25lbnQgYXMgybViYn0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrLWJveC1saXN0L2NoZWNrLWJveC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0NvQ2F1VG9DaHVjUGlja2VyTGlzdE5ld0NvbXBvbmVudCBhcyDJtWJkfSBmcm9tICcuL2NvbXBvbmVudHMvY29jYXV0b2NodWMvY29jYXV0b2NodWMtcGlja2VyLWxpc3QtbmV3L2NvY2F1dG9jaHVjLXBpY2tlci1saXN0LW5ldy5jb21wb25lbnQnO1xuZXhwb3J0IHtDb0NhdVRvQ2h1Y1BpY2tlckxpc3RDb21wb25lbnQgYXMgybViY30gZnJvbSAnLi9jb21wb25lbnRzL2NvY2F1dG9jaHVjL2NvY2F1dG9jaHVjLXBpY2tlci1saXN0L2NvY2F1dG9jaHVjLXBpY2tlci1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0NvbmdWaWVjUGlja2VyQ29tcG9uZW50IGFzIMm1Y2J9IGZyb20gJy4vY29tcG9uZW50cy9jb25ndmllYy1waWNrZXIvY29uZ3ZpZWMtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge0FkdmFuY2VTZWFyY2hDb21wb25lbnQgYXMgybV5fSBmcm9tICcuL2NvbXBvbmVudHMvY3J1ZC9hZHZhbmNlLXNlYXJjaC9hZHZhbmNlLXNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0IHtDaGVja1JlYWR5Q29tcG9uZW50IGFzIMm1ZHR9IGZyb20gJy4vY29tcG9uZW50cy9jcnVkL2NoZWNrLXJlYWR5L2NoZWNrLXJlYWR5LmNvbXBvbmVudCc7XG5leHBvcnQge1RhYmxlRGV0YWlsRm9ybUNvbXBvbmVudCBhcyDJtWNrfSBmcm9tICcuL2NvbXBvbmVudHMvY3J1ZC90YWJsZS1kZXRhaWwtZm9ybS90YWJsZS1kZXRhaWwtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtUcmVlVGFibGVDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2NvbXBvbmVudHMvY3J1ZC90cmVlLXRhYmxlL3RyZWUtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0ZXRpbWVQaWNrZXJSYW5nZUNvbXBvbmVudCBhcyDJtWJnfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyLXJhbmdlL2RhdGV0aW1lLXBpY2tlci1yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRldGltZVBpY2tlckNvbXBvbmVudCBhcyDJtWJmfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEcm9wZG93blNldHRpbmdGb3JtQ29tcG9uZW50IGFzIMm1ZHN9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1zZXR0aW5nLWZvcm0vZHJvcGRvd24tc2V0dGluZy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge1F1aWNrQWRkRm9ybUNvbXBvbmVudCBhcyDJtWNufSBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24vcXVpY2stYWRkLWZvcm0vcXVpY2stYWRkLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7RHJvcGRvd25TZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL3NlcnZpY2VzL2Ryb3Bkb3duLnNlcnZpY2UnO1xuZXhwb3J0IHtFbnRpdHlQZXJtaXNzaW9uQ29tcG9uZW50IGFzIMm1YnB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGVybWlzc2lvbi9lbnRpdHktcGVybWlzc2lvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtFbnRpdHlQZXJtaXNzaW9uU2VydmljZSBhcyDJtW19IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGVybWlzc2lvbi9zZXJ2aWNlcy5jcy9lbnRpdHktcGVybWlzc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCB7RW50aXR5UGlja2VyQm94Q29tcG9uZW50IGFzIMm1Ymh9IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXItYm94L2VudGl0eS1waWNrZXItYm94LmNvbXBvbmVudCc7XG5leHBvcnQge0VudGl0eVBpY2tlckRhdGFDb21wb25lbnQgYXMgybViaX0gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLWRhdGEvZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudCc7XG5leHBvcnQge0VudGl0eVBpY2tlclNlYXJjaEZvcm1Db21wb25lbnQgYXMgybVibH0gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLXNlYXJjaC1mb3JtL2VudGl0eS1waWNrZXItc2VhcmNoLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7RW50aXR5UGlja2VyU2VsZWN0ZWRDb21wb25lbnQgYXMgybVian0gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLXNlbGVjdGVkL2VudGl0eS1waWNrZXItc2VsZWN0ZWQuY29tcG9uZW50JztcbmV4cG9ydCB7RW50aXR5UGlja2VyVHJlZURhdGFDb21wb25lbnQgYXMgybVibn0gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLXRyZWUtZGF0YS9lbnRpdHktcGlja2VyLXRyZWUtZGF0YS5jb21wb25lbnQnO1xuZXhwb3J0IHtFbnRpdHlQaWNrZXJUcmVlU2VsZWN0ZWRDb21wb25lbnQgYXMgybVib30gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLXRyZWUtc2VsZWN0ZWQvZW50aXR5LXBpY2tlci10cmVlLXNlbGVjdGVkLmNvbXBvbmVudCc7XG5leHBvcnQge0VudGl0eVBpY2tlckRpYWxvZ0NvbXBvbmVudCBhcyDJtWJtfSBmcm9tICcuL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci9lbnRpdHktcGlja2VyLWRpYWxvZy9lbnRpdHktcGlja2VyLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHtFbnRpdHlQaWNrZXJDb21wb25lbnQgYXMgybVia30gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtFcXVhdGlvbkVkaXRvckNvbXBvbmVudCBhcyDJtWJxfSBmcm9tICcuL2NvbXBvbmVudHMvZXF1YXRpb24tZWRpdG9yL2VxdWF0aW9uLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlRm9ybUNvbXBvbmVudCBhcyDJtWN6fSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9maWxlLWZvcm0vZmlsZS1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVLeVNvU2ltQ29tcG9uZW50IGFzIMm1ZG19IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL2ZpbGUta3ktc28tc2ltL2ZpbGUta3ktc28tc2ltLmNvbXBvbmVudCc7XG5leHBvcnQge0toYWlUaGFjVGFpTGlldUR1bmdDaHVuZ0NvbXBvbmVudCBhcyDJtWRwfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9maWxlLXRhaS1saWV1L2toYWl0aGFjLXRhaWxpZXUtZHVuZ2NodW5nL2toYWl0aGFjLXRhaWxpZXUtZHVuZ2NodW5nLmNvbXBvbmVudCc7XG5leHBvcnQge1RhaUxpZXVDdWFUb2lDb21wb25lbnQgYXMgybVkb30gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvZmlsZS10YWktbGlldS90YWlsaWV1LWN1YXRvaS90YWlsaWV1LWN1YXRvaS5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlVmVyc2lvbkxpc3RDb21wb25lbnQgYXMgybVkYn0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvZmlsZS12ZXJzaW9uLWxpc3QvZmlsZS12ZXJzaW9uLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZVZpZXdlckNvbXBvbmVudCBhcyDJtWRhfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9maWxlLXZpZXdlci9maWxlLXZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0IHtGb2xkZXJGb3JtQ29tcG9uZW50IGFzIMm1Y3l9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL2ZvbGRlci1mb3JtL2ZvbGRlci1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0t5U29TaW1EYW5oU2FjaENodUt5Q29tcG9uZW50IGFzIMm1ZGt9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL2t5LXNvLXNpbS1kYW5oLXNhY2gtY2h1LWt5L2t5LXNvLXNpbS1kYW5oLXNhY2gtY2h1LWt5LmNvbXBvbmVudCc7XG5leHBvcnQge0RhbmhNdWNEdW5nQ2h1bmdTZXJ2aWNlIGFzIMm1ZHF9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2RhbmhtdWMtZHVuZ2NodW5nLnNlcnZpY2UnO1xuZXhwb3J0IHtGaWxlRXhwbG9yZXJOZXdTZXJ2aWNlIGFzIMm1c30gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvZmlsZS1leHBsb3Jlci1uZXcuc2VydmljZSc7XG5leHBvcnQge0ZpbGVWZXJzaW9uU2VydmljZSBhcyDJtXR9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2ZpbGUtdmVyc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCB7S3lTb1NpbUNodUt5VXNlclNlcnZpY2UgYXMgybVkbH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMva3ktc28tc2ltLWNodS1reS11c2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtLeVNvU2ltU2lnblBERlNlcnZpY2UgYXMgybVkbn0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMva3ktc28tc2ltLXNpZ25QREYuc2VydmljZSc7XG5leHBvcnQge015RHJpdmVTZXJ2aWNlIGFzIMm1b30gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvbXktZHJpdmUuc2VydmljZSc7XG5leHBvcnQge1NpZ25hdHVyZURldGFpbENvbXBvbmVudCBhcyDJtWRqfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9zaWduYXR1cmUtZGV0YWlsL3NpZ25hdHVyZS1kZXRhaWwuY29tcG9uZW50JztcbmV4cG9ydCB7Vmlld0RldGFpbENvbXBvbmVudCBhcyDJtWRjfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci92aWV3LWRldGFpbC92aWV3LWRldGFpbC5jb21wb25lbnQnO1xuZXhwb3J0IHtGb3JtQnVpbGRlckNvbXBvbmVudCBhcyDJtWJlfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1idWlsZGVyL2Zvcm0tYnVpbGRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtIdG1sUHJldmlld0NvbXBvbmVudCBhcyDJtWR6fSBmcm9tICcuL2NvbXBvbmVudHMvaHRtbC1wcmV2aWV3L2h0bWwtcHJldmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtJbWFnZVVwbG9hZGVyQ29tcG9uZW50IGFzIMm1YmF9IGZyb20gJy4vY29tcG9uZW50cy9pbWFnZS11cGxvYWRlci9pbWFnZS11cGxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtNYXNrQ29tcG9uZW50IGFzIMm1YnJ9IGZyb20gJy4vY29tcG9uZW50cy9tYXNrL21hc2suY29tcG9uZW50JztcbmV4cG9ydCB7Tm90Rm91bmRDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2NvbXBvbmVudHMvbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQnO1xuZXhwb3J0IHtOdW1iZXJQaWNrZXJSYW5nZUNvbXBvbmVudCBhcyDJtWJzfSBmcm9tICcuL2NvbXBvbmVudHMvbnVtYmVyLXBpY2tlci1yYW5nZS9udW1iZXItcGlja2VyLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQge1BhZ2luZ05leHRCYWNrT25seUNvbXBvbmVudCBhcyDJtWJ0fSBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5nLW5leHQtYmFjay1vbmx5L3BhZ2luZy1uZXh0LWJhY2stb25seS5jb21wb25lbnQnO1xuZXhwb3J0IHtRckNvZGVHZW5lcmF0b3JDb21wb25lbnQgYXMgybVkZX0gZnJvbSAnLi9jb21wb25lbnRzL3FyLWNvZGUtZ2VuZXJhdG9yL3FyLWNvZGUtZ2VuZXJhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQge0RNX0NodWNWdVNlcnZpY2UgYXMgybV2fSBmcm9tICcuL2NvbXBvbmVudHMvcXVlcnktYnVpbGRlcnMvc2VydmljZXMvZG0tY2h1Y3Z1LnNlcnZpY2UnO1xuZXhwb3J0IHtSYWRpb0J1dHRvbkxpc3RDb21wb25lbnQgYXMgybVidX0gZnJvbSAnLi9jb21wb25lbnRzL3JhZGlvLWJ1dHRvbi1saXN0L3JhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1JlZmVyZW5jZVRleHRCb3hDb21wb25lbnQgYXMgybVkZH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZmVyZW5jZS10ZXh0Ym94L3JlZmVyZW5jZS10ZXh0Ym94LmNvbXBvbmVudCc7XG5leHBvcnQge1NldHRpbmdBdXRob3JpemVCdXR0b25Db21wb25lbnQgYXMgybVkd30gZnJvbSAnLi9jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLWF1dGhvcml6ZS1idXR0b24vc2V0dGluZ3MtYXV0aG9yaXplLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtTZXR0aW5nc1Jvd0NvbXBvbmVudCBhcyDJtWNkfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZ3Mvc2V0dGluZ3Mtcm93L3NldHRpbmdzLXJvdy5jb21wb25lbnQnO1xuZXhwb3J0IHtTZXR0aW5nc1dvcmtmbG93Tm8xQ29tcG9uZW50IGFzIMm1ZHl9IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5ncy9zZXR0aW5ncy13b3JrZmxvdy9zZXR0aW5ncy13b3JrZmxvdy1ubzEvc2V0dGluZ3Mtd29ya2Zsb3ctbm8xLmNvbXBvbmVudCc7XG5leHBvcnQge1NldHRpbmdzV29ya2Zsb3dDb21wb25lbnQgYXMgybVkdn0gZnJvbSAnLi9jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLXdvcmtmbG93L3NldHRpbmdzLXdvcmtmbG93LmNvbXBvbmVudCc7XG5leHBvcnQge1NldHRpbmdzQ29tcG9uZW50IGFzIMm1Y2N9IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQnO1xuZXhwb3J0IHtTaGFyZUxpbmtCeVBlcm1pc3Npb25Db21wb25lbnQgYXMgybVjZX0gZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlLWxpbmstYnktcGVybWlzc2lvbi9zaGFyZS1saW5rLWJ5LXBlcm1pc3Npb24uY29tcG9uZW50JztcbmV4cG9ydCB7VG5BY2NvcmRpb25UYWJDb21wb25lbnQgYXMgybVkdX0gZnJvbSAnLi9jb21wb25lbnRzL3RuLWFjY29yZGlvbi10YWIvdG4tYWNjb3JkaW9uLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtIZWxwZXJDdXJyZW50UGFnZUNvbXBvbmVudCBhcyDJtWN2fSBmcm9tICcuL2NvbXBvbmVudHMvdG4tYXBwLWhlbHAvaGVscGVyLWN1cnJlbnQtcGFnZS9oZWxwZXItY3VycmVudC1wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQge1BhdGhOYW1lU2VydmljZSBhcyDJtWN1fSBmcm9tICcuL2NvbXBvbmVudHMvdG4tYXBwLWhlbHAvc2VydmljZXMvcGF0aC1uYW1lLnNlcnZpY2UnO1xuZXhwb3J0IHtUbkFwcEhlbHBDb21wb25lbnQgYXMgybVjdH0gZnJvbSAnLi9jb21wb25lbnRzL3RuLWFwcC1oZWxwL3RuLWFwcC1oZWxwLmNvbXBvbmVudCc7XG5leHBvcnQge1RuQXBwTm90aWZpY2F0aW9uTGlzdENvbXBvbmVudCBhcyDJtWN3fSBmcm9tICcuL2NvbXBvbmVudHMvdG4tYXBwLW5vdGlmaWNhdGlvbi90bi1hcHAtbm90aWZpY2F0aW9uLWxpc3QvdG4tYXBwLW5vdGlmaWNhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1RuQXBwTm90aWZpY2F0aW9uQ29tcG9uZW50IGFzIMm1Y3h9IGZyb20gJy4vY29tcG9uZW50cy90bi1hcHAtbm90aWZpY2F0aW9uL3RuLWFwcC1ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7VG5DaGVja2JveENvbXBvbmVudCBhcyDJtWNmfSBmcm9tICcuL2NvbXBvbmVudHMvdG4tY2hlY2tib3gvdG4tY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCB7VG5Db2xvclBpY2tlckNvbXBvbmVudCBhcyDJtWNofSBmcm9tICcuL2NvbXBvbmVudHMvdG4tY29sb3ItcGlja2VyL3RuLWNvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUbkRpYWxvZ0NvbXBvbmVudCBhcyDJtWNnfSBmcm9tICcuL2NvbXBvbmVudHMvdG4tZGlhbG9nL3RuLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHtUblRhYlZpZXdDb21wb25lbnQgYXMgybVjan0gZnJvbSAnLi9jb21wb25lbnRzL3RuLXRhYnZpZXcvdG4tdGFidmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtUblRlbXBsYXRlQ29tcG9uZW50IGFzIMm1ZHJ9IGZyb20gJy4vY29tcG9uZW50cy90bi10ZW1wbGF0ZS90bi10ZW1wbGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtUblRpbnltY2VDb21wb25lbnQgYXMgybVjaX0gZnJvbSAnLi9jb21wb25lbnRzL3RuLXRpbnltY2UvdG4tdGlueW1jZS5jb21wb25lbnQnO1xuZXhwb3J0IHtVbml2ZXJzYWxMaW5rUHJvY2Vzc29yQ29tcG9uZW50IGFzIMm1ZGl9IGZyb20gJy4vY29tcG9uZW50cy91bml2ZXJzYWwtbGluay1wcm9jZXNzb3IvdW5pdmVyc2FsLWxpbmstcHJvY2Vzc29yLmNvbXBvbmVudCc7XG5leHBvcnQge0NvQ2F1VG9DaHVjVGVzdFNlcnZpY2UgYXMgybVjc30gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItcGlja2VyL3NlcnZpY2V0ZXN0L2NvY2F1dG9jaHVjLXRlc3Quc2VydmljZSc7XG5leHBvcnQge1VzZXJQaWNrZXJCb3hDb21wb25lbnQgYXMgybVjcn0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItcGlja2VyL3VzZXItcGlja2VyLWJveC91c2VyLXBpY2tlci1ib3guY29tcG9uZW50JztcbmV4cG9ydCB7VXNlclBpY2tlckNvbXBvbmVudCBhcyDJtWNxfSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci1waWNrZXIvdXNlci1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VmFuQmFuRGVuU2VydmljZSBhcyDJtWJ3fSBmcm9tICcuL2NvbXBvbmVudHMvdmFuYmFuLXBpY2tlci9zZXJ2aWNlcy92YW5iYW4tZGVuLnNlcnZpY2UnO1xuZXhwb3J0IHtWYW5CYW5EaVNlcnZpY2UgYXMgybVieH0gZnJvbSAnLi9jb21wb25lbnRzL3ZhbmJhbi1waWNrZXIvc2VydmljZXMvdmFuYmFuLWRpLnNlcnZpY2UnO1xuZXhwb3J0IHtWYW5iYW5EZW5QaWNrZXJDb21wb25lbnQgYXMgybVjYX0gZnJvbSAnLi9jb21wb25lbnRzL3ZhbmJhbi1waWNrZXIvdmFuYmFuLWRlbi1waWNrZXIvdmFuYmFuLWRlbi1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VmFuYmFuRGlQaWNrZXJDb21wb25lbnQgYXMgybVien0gZnJvbSAnLi9jb21wb25lbnRzL3ZhbmJhbi1waWNrZXIvdmFuYmFuLWRpLXBpY2tlci92YW5iYW4tZGktcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge1ZhbkJhblBpY2tlckRpYWxvZ0NvbXBvbmVudCBhcyDJtWJ5fSBmcm9tICcuL2NvbXBvbmVudHMvdmFuYmFuLXBpY2tlci92YW5iYW4tcGlja2VyLWRpYWxvZy92YW5iYW4tcGlja2VyLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHtWYW5CYW5QaWNrZXJDb21wb25lbnQgYXMgybVidn0gZnJvbSAnLi9jb21wb25lbnRzL3ZhbmJhbi1waWNrZXIvdmFuYmFuLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtQcmV2ZW50U2hpZnRUYWJEaXJlY3RpdmUgYXMgybVjb30gZnJvbSAnLi9kaXJlY3RpdmVzL3ByZXZlbnQtc2hpZnQtdGFiLmRpcmVjdGl2ZSc7XG5leHBvcnQge1RuVGVtcGxhdGVEaXJlY3RpdmUgYXMgybVjcH0gZnJvbSAnLi9kaXJlY3RpdmVzL3RuLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQge0xvZ0ludGVyY2VwdG9yIGFzIMm1an0gZnJvbSAnLi9pbnRlcmNlcHRlcnMvbG9nLmludGVyY2VwdG9yJztcbmV4cG9ydCB7UGVybWlzc2lvblV0aWxzSW50ZXJjZXB0b3IgYXMgybVrfSBmcm9tICcuL2ludGVyY2VwdGVycy9wZXJtaXNzaW9uLXV0aWxzLmludGVyY2VwdG9yJztcbmV4cG9ydCB7U2VuZEFjY2Vzc1Rva2VuSW50ZXJjZXB0b3IgYXMgybVpfSBmcm9tICcuL2ludGVyY2VwdGVycy9zZW5kLWFjY2Vzcy10b2tlbi5pbnRlcmNlcHRvcic7XG5leHBvcnQge1RyYWNlSW50ZXJjZXB0b3IgYXMgybVsfSBmcm9tICcuL2ludGVyY2VwdGVycy90cmFjZS5pbnRlcmNlcHRvcic7XG5leHBvcnQge0ZpbGVJY29uUGlwZSBhcyDJtWNsfSBmcm9tICcuL3BpcGVzL2ZpbGUtaWNvbi5waXBlJztcbmV4cG9ydCB7RmlsZVNpemVQaXBlIGFzIMm1Y219IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuZXhwb3J0IHtBcnRpY2xlU2VydmljZSBhcyDJtWRnfSBmcm9tICcuL3NlcnZpY2VzL2FydGljbGUuc2VydmljZSc7XG5leHBvcnQge0Jhc2VQZXJtaXNzaW9uU2VydmljZSBhcyDJtWR4fSBmcm9tICcuL3NlcnZpY2VzL2Jhc2VwZXJtaXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtFbnRpdHlQaWNrZXJTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9zZXJ2aWNlcy9lbnRpdHktcGlja2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtFeGNlcHRpb25IYW5kbGVyU2VydmljZSBhcyDJtWR9IGZyb20gJy4vc2VydmljZXMvZXhjZXB0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5leHBvcnQge0ZpbGVNYW5hZ2VyU2VydmljZSBhcyDJtXV9IGZyb20gJy4vc2VydmljZXMvZmlsZS1tYW5hZ2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtMb2dnZXJTZXJ2aWNlIGFzIMm1YX0gZnJvbSAnLi9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5leHBvcnQge05ld3NDYXRlZ29yeVNlcnZpY2UgYXMgybVkaH0gZnJvbSAnLi9zZXJ2aWNlcy9uZXdzY2F0ZWdvcnkuc2VydmljZSc7XG5leHBvcnQge1JvbGVTZXJ2aWNlIGFzIMm1d30gZnJvbSAnLi9zZXJ2aWNlcy9yb2xlLnNlcnZpY2UnOyJdfQ==
|