@ethlete/cdk 3.20.0 → 3.21.0
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/CHANGELOG.md +13 -0
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +1 -1
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +6 -2
- package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +1 -1
- package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +6 -2
- package/esm2022/lib/components/picture/picture-data.directive.mjs +1 -1
- package/esm2022/lib/components/picture/picture.component.mjs +6 -8
- package/esm2022/lib/components/picture/picture.component.types.mjs +1 -1
- package/esm2022/lib/components/picture/pipes/index.mjs +2 -0
- package/esm2022/lib/components/picture/pipes/normalize-source/index.mjs +2 -0
- package/esm2022/lib/components/picture/pipes/normalize-source/normalize-source.pipe.mjs +18 -0
- package/esm2022/lib/components/picture/pipes/normalize-source/normalize-source.util.mjs +11 -0
- package/fesm2022/ethlete-cdk.mjs +40 -10
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +2 -2
- package/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.d.ts +1 -0
- package/lib/components/forms/components/select/components/select/directives/select/select.directive.d.ts +1 -1
- package/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.d.ts +1 -0
- package/lib/components/picture/picture-data.directive.d.ts +1 -1
- package/lib/components/picture/picture.component.d.ts +1 -1
- package/lib/components/picture/picture.component.types.d.ts +1 -1
- package/lib/components/picture/pipes/index.d.ts +1 -0
- package/lib/components/picture/pipes/normalize-source/index.d.ts +1 -0
- package/lib/components/picture/pipes/normalize-source/normalize-source.pipe.d.ts +7 -0
- package/lib/components/picture/pipes/normalize-source/normalize-source.util.d.ts +2 -0
- package/package.json +2 -2
|
@@ -464,4 +464,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
464
464
|
type: ContentChildren,
|
|
465
465
|
args: [SELECT_OPTION_TOKEN, { descendants: true }]
|
|
466
466
|
}] } });
|
|
467
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jb21wb25lbnRzL3NlbGVjdC9jb21wb25lbnRzL3NlbGVjdC9kaXJlY3RpdmVzL3NlbGVjdC9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsQ0FBQyxFQUNELFVBQVUsRUFDVixHQUFHLEVBQ0gsS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLEVBQ0osVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLEVBQ1IsY0FBYyxHQUNmLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUVMLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsRUFDZCxLQUFLLEVBSUwsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUNMLG9CQUFvQixFQUVwQix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixzQkFBc0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFB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SSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQXJpQlUsZUFBZTtrR0FBZixlQUFlLDJGQVBmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLFdBQVcsRUFBRSxlQUFlO2FBQzdCO1NBQ0Ysa0VBbUNnQixtQkFBbUI7OzJGQWpDekIsZUFBZTtrQkFWM0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQzFDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsWUFBWTs0QkFDckIsV0FBVyxpQkFBaUI7eUJBQzdCO3FCQUNGO2lCQUNGOzBFQXFCSyxRQUFRO3NCQURYLEtBQUs7Z0JBWU4sU0FBUztzQkFEUixLQUFLO2dCQUlNLHVCQUF1QjtzQkFEbEMsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXZlQW5ub3VuY2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQSxcbiAgRE9XTl9BUlJPVyxcbiAgRU5ELFxuICBFTlRFUixcbiAgRVNDQVBFLFxuICBIT01FLFxuICBMRUZUX0FSUk9XLFxuICBQQUdFX0RPV04sXG4gIFBBR0VfVVAsXG4gIFJJR0hUX0FSUk9XLFxuICBTUEFDRSxcbiAgVVBfQVJST1csXG4gIGhhc01vZGlmaWVyS2V5LFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBBY3RpdmVTZWxlY3Rpb25Nb2RlbCxcbiAgQW5pbWF0ZWRPdmVybGF5Q29tcG9uZW50QmFzZSxcbiAgQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlLFxuICBTZWxlY3Rpb25Nb2RlbCxcbiAgVHlwZWRRdWVyeUxpc3QsXG4gIGNyZWF0ZURlc3Ryb3ksXG4gIHNpZ25hbENsYXNzZXMsXG4gIHNpZ25hbEhvc3RDbGFzc2VzLFxuICBzd2l0Y2hRdWVyeUxpc3RDaGFuZ2VzLFxufSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFRIRU1FX1BST1ZJREVSIH0gZnJvbSAnQGV0aGxldGUvdGhlbWluZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpcnN0VmFsdWVGcm9tLCBtYXAsIG9mLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJTlBVVF9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgU0VMRUNUX0ZJRUxEX1RPS0VOIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBTZWxlY3RCb2R5RGlyZWN0aXZlIH0gZnJvbSAnLi4vc2VsZWN0LWJvZHknO1xuaW1wb3J0IHsgU0VMRUNUX09QVElPTl9UT0tFTiwgU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2VsZWN0LW9wdGlvbic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY29uc3QgU0VMRUNUX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFNlbGVjdERpcmVjdGl2ZTxhbnk+PignRVRfU0VMRUNUX0lOUFVUX1RPS0VOJyk7XG5cbnR5cGUgU2VsZWN0RGlyZWN0aXZlQm9keUNvbXBvbmVudEJhc2UgPSBBbmltYXRlZE92ZXJsYXlDb21wb25lbnRCYXNlICYge1xuICBfYm9keVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGw7XG4gIHNlbGVjdEJvZHk6IFNlbGVjdEJvZHlEaXJlY3RpdmU7XG59O1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5pbnRlcmZhY2UgU2VsZWN0Qm9keUNvbmZpZzxUIGV4dGVuZHMgU2VsZWN0RGlyZWN0aXZlQm9keUNvbXBvbmVudEJhc2U+IHtcbiAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+O1xuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0RGlyZWN0aXZlczogW0FuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNFTEVDVF9UT0tFTixcbiAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3REaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RGlyZWN0aXZlPFQgZXh0ZW5kcyBTZWxlY3REaXJlY3RpdmVCb2R5Q29tcG9uZW50QmFzZT4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICBwcml2YXRlIF9zZWxlY3RCb2R5Q29uZmlnOiBTZWxlY3RCb2R5Q29uZmlnPFQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYW5pbWF0ZWRPdmVybGF5ID0gaW5qZWN0PEFuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZTxUPj4oQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xpdmVBbm5vdW5jZXIgPSBpbmplY3QoTGl2ZUFubm91bmNlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdEZpZWxkID0gaW5qZWN0KFNFTEVDVF9GSUVMRF9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RoZW1lUHJvdmlkZXIgPSBpbmplY3QoVEhFTUVfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgaW5wdXQgPSBpbmplY3QoSU5QVVRfVE9LRU4pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdEJvZHlJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc09wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgcmVhZG9ubHkgX3NlbGVjdGlvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsPFNlbGVjdE9wdGlvbkRpcmVjdGl2ZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlU2VsZWN0aW9uTW9kZWwgPSBuZXcgQWN0aXZlU2VsZWN0aW9uTW9kZWw8U2VsZWN0T3B0aW9uRGlyZWN0aXZlPigpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBtdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGUkLnZhbHVlO1xuICB9XG4gIHNldCBtdWx0aXBsZSh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX211bHRpcGxlJC5uZXh0KGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpKTtcblxuICAgIHRoaXMuX21pZ3JhdGVTZWxlY3RWYWx1ZSgpO1xuICB9XG4gIHByaXZhdGUgX211bHRpcGxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIEBJbnB1dCgpXG4gIGVtcHR5VGV4dD86IHN0cmluZztcblxuICBAQ29udGVudENoaWxkcmVuKFNFTEVDVF9PUFRJT05fVE9LRU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBzZXQgX3NlbGVjdE9wdGlvbnNRdWVyeUxpc3QodmFsdWU6IFR5cGVkUXVlcnlMaXN0PFNlbGVjdE9wdGlvbkRpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLl9zZWxlY3RPcHRpb25zUXVlcnlMaXN0JC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RPcHRpb25zUXVlcnlMaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHlwZWRRdWVyeUxpc3Q8U2VsZWN0T3B0aW9uRGlyZWN0aXZlPiB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdE9wdGlvbnMkID0gdGhpcy5fc2VsZWN0T3B0aW9uc1F1ZXJ5TGlzdCQucGlwZShcbiAgICBzd2l0Y2hRdWVyeUxpc3RDaGFuZ2VzKCksXG4gICAgc3dpdGNoTWFwKChxdWVyeUxpc3QpID0+IHtcbiAgICAgIGlmICghcXVlcnlMaXN0KSByZXR1cm4gb2YobnVsbCk7XG5cbiAgICAgIGNvbnN0IGl0ZW1zID0gcXVlcnlMaXN0Lm1hcCgob3B0KSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtvcHQuaXNTZWxlY3RlZCQsIG9wdC5pc0FjdGl2ZSRdKS5waXBlKG1hcCgoW3NlbGVjdGVkLCBhY3RpdmVdKSA9PiAoeyBvcHQsIHNlbGVjdGVkLCBhY3RpdmUgfSkpKSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGl0ZW1zID8/IG9mKG51bGwpKTtcbiAgICB9KSxcbiAgKTtcblxuICByZWFkb25seSBhY3RpdmVPcHRpb24kID0gdGhpcy5zZWxlY3RPcHRpb25zJC5waXBlKFxuICAgIG1hcCgob3B0aW9ucykgPT4ge1xuICAgICAgaWYgKCFvcHRpb25zKSByZXR1cm4gbnVsbDtcblxuICAgICAgcmV0dXJuIG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24uYWN0aXZlKSA/PyBudWxsO1xuICAgIH0pLFxuICApO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkT3B0aW9ucyQgPSB0aGlzLnNlbGVjdE9wdGlvbnMkLnBpcGUoXG4gICAgbWFwKChvcHRpb25zKSA9PiB7XG4gICAgICBpZiAoIW9wdGlvbnMpIHJldHVybiBudWxsO1xuXG4gICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uc2VsZWN0ZWQpO1xuXG4gICAgICBpZiAoIXNlbGVjdGVkT3B0aW9ucy5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgICBjb25zdCBpbnB1dFZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcblxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheShpbnB1dFZhbHVlKSkge1xuICAgICAgICAvLyBzb3J0IHNlbGVjdGVkIG9wdGlvbnMgYnkgdGhlIG9yZGVyIG9mIHRoZSBpbnB1dCB2YWx1ZVxuICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnNNYXAgPSBuZXcgTWFwKHNlbGVjdGVkT3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gW29wdGlvbi5vcHQudmFsdWUsIG9wdGlvbl0pKTtcbiAgICAgICAgcmV0dXJuIGlucHV0VmFsdWVcbiAgICAgICAgICAubWFwKCh2YWx1ZSkgPT4gc2VsZWN0ZWRPcHRpb25zTWFwLmdldCh2YWx1ZSkpXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgICAgKTogb3B0aW9uIGlzIHtcbiAgICAgICAgICAgICAgb3B0OiBTZWxlY3RPcHRpb25EaXJlY3RpdmU7XG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICAgICAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgICAgICAgICB9ID0+ICEhb3B0aW9uLFxuICAgICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnM7XG4gICAgfSksXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRPcHRpb24kID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMkLnBpcGUobWFwKChvcHRpb25zKSA9PiBvcHRpb25zPy5bMF0gPz8gbnVsbCkpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdEJvZHlJZCQgPSB0aGlzLl9zZWxlY3RCb2R5SWQkLmFzT2JzZXJ2YWJsZSgpO1xuICByZWFkb25seSBpc09wZW4kID0gdGhpcy5faXNPcGVuJC5hc09ic2VydmFibGUoKTtcbiAgcmVhZG9ubHkgaXNPcGVuID0gdG9TaWduYWwodGhpcy5pc09wZW4kKTtcbiAgcmVhZG9ubHkgbXVsdGlwbGUkID0gdGhpcy5fbXVsdGlwbGUkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdEN1cnJlbnRWYWx1ZUlkID0gYGV0LXNlbGVjdC1jdXJyZW50LXZhbHVlLSR7dW5pcXVlSWQrK31gO1xuXG4gIHJlYWRvbmx5IGFyaWFWaWV3VmFsdWUkID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChvcHRpb25zKSA9PiB7XG4gICAgICBpZiAoIW9wdGlvbnM/Lmxlbmd0aCkgcmV0dXJuIG9mKG51bGwpO1xuXG4gICAgICBjb25zdCB2aWV3VmFsdWVzID0gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLm9wdC52aWV3VmFsdWUkKTtcblxuICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3Qodmlld1ZhbHVlcyk7XG4gICAgfSksXG4gICAgbWFwKCh2aWV3VmFsdWVzKSA9PiB7XG4gICAgICBpZiAoIXZpZXdWYWx1ZXMpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gdmlld1ZhbHVlcy5qb2luKCcsICcpO1xuICAgIH0pLFxuICApO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZURlc2NlbmRhbnQkID0gY29tYmluZUxhdGVzdChbdGhpcy5pc09wZW4kLCB0aGlzLmFjdGl2ZU9wdGlvbiRdKS5waXBlKFxuICAgIG1hcCgoW2lzT3BlbiwgYWN0aXZlT3B0aW9uXSkgPT4ge1xuICAgICAgaWYgKCFpc09wZW4gfHwgIWFjdGl2ZU9wdGlvbikgcmV0dXJuIG51bGw7XG5cbiAgICAgIHJldHVybiBhY3RpdmVPcHRpb24ub3B0LmlkO1xuICAgIH0pLFxuICApO1xuXG4gIHJlYWRvbmx5IG93bnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5pc09wZW4kLCB0aGlzLnNlbGVjdEJvZHlJZCRdKS5waXBlKFxuICAgIG1hcCgoW2lzT3Blbiwgc2VsZWN0Qm9keUlkXSkgPT4ge1xuICAgICAgaWYgKCFpc09wZW4gfHwgIXNlbGVjdEJvZHlJZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlbGVjdEJvZHlJZDtcbiAgICB9KSxcbiAgKTtcblxuICByZWFkb25seSBsYWJlbGxlZEJ5JCA9IHRoaXMuaW5wdXQubGFiZWxJZCQucGlwZShcbiAgICBtYXAoKGxhYmVsSWQpID0+IHtcbiAgICAgIGNvbnN0IGlkcyA9IFtsYWJlbElkLCB0aGlzLnNlbGVjdEN1cnJlbnRWYWx1ZUlkXTtcblxuICAgICAgcmV0dXJuIGlkcy5maWx0ZXIoKGlkKSA9PiAhIWlkKS5qb2luKCcgJyk7XG4gICAgfSksXG4gICk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzQmluZGluZ3MgPSBzaWduYWxIb3N0Q2xhc3Nlcyh7XG4gICAgJ2V0LXNlbGVjdC0taXMtb3Blbic6IHRoaXMuaXNPcGVuLFxuICAgICdldC1zZWxlY3QtLWRpc2FibGVkJzogdG9TaWduYWwodGhpcy5pbnB1dC5kaXNhYmxlZCQpLFxuICB9KTtcblxuICByZWFkb25seSBmaWVsZEhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsQ2xhc3Nlcyh0aGlzLl9zZWxlY3RGaWVsZC5lbGVtZW50UmVmLCB7XG4gICAgJ2V0LXNlbGVjdC1maWVsZC0tb3Blbic6IHRoaXMuaXNPcGVuLFxuICAgICdldC1zZWxlY3QtZmllbGQtLW11bHRpcGxlJzogdG9TaWduYWwodGhpcy5tdWx0aXBsZSQpLFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9hbmltYXRlZE92ZXJsYXkucGxhY2VtZW50ID0gJ2JvdHRvbSc7XG4gICAgdGhpcy5fYW5pbWF0ZWRPdmVybGF5LmZhbGxiYWNrUGxhY2VtZW50cyA9IFsnYm90dG9tJywgJ3RvcCddO1xuICAgIHRoaXMuX2FuaW1hdGVkT3ZlcmxheS5hdXRvUmVzaXplID0gdHJ1ZTtcblxuICAgIHRoaXMuaW5wdXQuX3NldEVtcHR5SGVscGVyKHRoaXMuYXJpYVZpZXdWYWx1ZSQpO1xuXG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZWxcbiAgICAgIC5zZXRPcHRpb25zRnJvbVF1ZXJ5TGlzdCQodGhpcy5fc2VsZWN0T3B0aW9uc1F1ZXJ5TGlzdCQpXG4gICAgICAuc2V0TGFiZWxCaW5kaW5nKCh2KSA9PiB2LnZpZXdWYWx1ZSlcbiAgICAgIC5zZXRWYWx1ZUJpbmRpbmcoKHYpID0+IHYudmFsdWUpXG4gICAgICAuc2V0RGlzYWJsZWRCaW5kaW5nKCh2KSA9PiB2LmRpc2FibGVkKTtcblxuICAgIHRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGVsLnNldFNlbGVjdGlvbk1vZGVsKHRoaXMuX3NlbGVjdGlvbk1vZGVsKTtcblxuICAgIC8vVE9ETzogVE8gQkUgQ09OVElOVUVELi4uXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl91bm1vdW50U2VsZWN0Qm9keU9uRGlzYWJsZSgpO1xuICAgIHRoaXMuX21pZ3JhdGVTZWxlY3RWYWx1ZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFNlbGVjdGVkT3B0aW9uQWN0aXZlKCk7XG4gIH1cblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxTZWxlY3RPcHRpb25EaXJlY3RpdmU+ID0gKF8sIGl0ZW0pID0+IGl0ZW0uaWQ7XG5cbiAgbW91bnRTZWxlY3RCb2R5KCkge1xuICAgIGlmICghdGhpcy5fc2VsZWN0Qm9keUNvbmZpZykgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuX2FuaW1hdGVkT3ZlcmxheS5pc01vdW50ZWQgfHwgdGhpcy5pbnB1dC5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2V0U2VsZWN0ZWRPcHRpb25BY3RpdmUoKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5fYW5pbWF0ZWRPdmVybGF5Lm1vdW50KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcy5fc2VsZWN0Qm9keUNvbmZpZy5jb21wb25lbnQsXG4gICAgICBtaXJyb3JXaWR0aDogdHJ1ZSxcbiAgICAgIHRoZW1lUHJvdmlkZXI6IHRoaXMuX3RoZW1lUHJvdmlkZXIsXG4gICAgICBkYXRhOiB7IF9ib2R5VGVtcGxhdGU6IHRoaXMuX3NlbGVjdEJvZHlDb25maWcudGVtcGxhdGUgfSBhcyBQYXJ0aWFsPFQ+LFxuICAgIH0pO1xuXG4gICAgaWYgKCFpbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2VsZWN0Qm9keUlkJC5uZXh0KGluc3RhbmNlLnNlbGVjdEJvZHkuaWQpO1xuICAgIHRoaXMuX2lzT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHVubW91bnRTZWxlY3RCb2R5KCkge1xuICAgIGlmICghdGhpcy5fYW5pbWF0ZWRPdmVybGF5LmlzTW91bnRlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fYW5pbWF0ZWRPdmVybGF5LnVubW91bnQoKTtcblxuICAgIHRoaXMuX3NlbGVjdEJvZHlJZCQubmV4dChudWxsKTtcbiAgICB0aGlzLl9pc09wZW4kLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLmlucHV0Ll91cGRhdGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICB0aGlzLmlucHV0Ll9tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5pbnB1dC5fc2V0U2hvdWxkRGlzcGxheUVycm9yKHRydWUpO1xuICB9XG5cbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLl9pc09wZW4kLnZhbHVlKSB7XG4gICAgICB0aGlzLl9oYW5kbGVLZXlEb3duSW5PcGVuU3RhdGUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9oYW5kbGVLZXlEb3duSW5DbG9zZWRTdGF0ZShldmVudCk7XG4gICAgfVxuICB9XG5cbiAgc2V0U2VsZWN0Qm9keShjb25maWc6IFNlbGVjdEJvZHlDb25maWc8VD4pIHtcbiAgICB0aGlzLl9zZWxlY3RCb2R5Q29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgcmVtb3ZlT3B0aW9uRnJvbVNlbGVjdGlvbihvcHRpb246IFNlbGVjdE9wdGlvbkRpcmVjdGl2ZSkge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLmlucHV0LnZhbHVlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlLmZpbHRlcigodikgPT4gdiAhPT0gb3B0aW9uLnZhbHVlKTtcblxuICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgX2NvbnRyb2xUb3VjaGVkKCkge1xuICAgIHRoaXMuaW5wdXQuX21hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmlucHV0Ll9zZXRTaG91bGREaXNwbGF5RXJyb3IodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIF91bm1vdW50U2VsZWN0Qm9keU9uRGlzYWJsZSgpIHtcbiAgICB0aGlzLmlucHV0LmRpc2FibGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoZGlzYWJsZWQpID0+IHtcbiAgICAgICAgICBpZiAoIWRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgICB0aGlzLnVubW91bnRTZWxlY3RCb2R5KCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bkluQ2xvc2VkU3RhdGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICBjb25zdCBpc0Fycm93S2V5ID1cbiAgICAgIGtleUNvZGUgPT09IERPV05fQVJST1cgfHwga2V5Q29kZSA9PT0gVVBfQVJST1cgfHwga2V5Q29kZSA9PT0gTEVGVF9BUlJPVyB8fCBrZXlDb2RlID09PSBSSUdIVF9BUlJPVztcblxuICAgIGNvbnN0IGlzT3BlbktleSA9IGtleUNvZGUgPT09IEVOVEVSIHx8IGtleUNvZGUgPT09IFNQQUNFO1xuXG4gICAgaWYgKChpc09wZW5LZXkgJiYgIWhhc01vZGlmaWVyS2V5KGV2ZW50KSkgfHwgKCh0aGlzLm11bHRpcGxlIHx8IGV2ZW50LmFsdEtleSkgJiYgaXNBcnJvd0tleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm1vdW50U2VsZWN0Qm9keSgpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgICAgICBjYXNlIERPV05fQVJST1c6XG4gICAgICAgICAgdGhpcy5fc2VsZWN0T3B0aW9uQnlPZmZzZXQoMSwgdHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVVBfQVJST1c6XG4gICAgICAgICAgdGhpcy5fc2VsZWN0T3B0aW9uQnlPZmZzZXQoLTEsIHRydWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEhPTUU6XG4gICAgICAgICAgdGhpcy5fc2VsZWN0Rmlyc3RPcHRpb24odHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRU5EOlxuICAgICAgICAgIHRoaXMuX3NlbGVjdExhc3RPcHRpb24odHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgUEFHRV9VUDpcbiAgICAgICAgICB0aGlzLl9zZWxlY3RPcHRpb25CeU9mZnNldCgtMTAsIHRydWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBBR0VfRE9XTjpcbiAgICAgICAgICB0aGlzLl9zZWxlY3RPcHRpb25CeU9mZnNldCgxMCwgdHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlICYmIGlzQXJyb3dLZXkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm1vdW50U2VsZWN0Qm9keSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUtleURvd25Jbk9wZW5TdGF0ZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgIGNvbnN0IGlzQXJyb3dLZXkgPSBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8IGtleUNvZGUgPT09IFVQX0FSUk9XO1xuXG4gICAgaWYgKGlzQXJyb3dLZXkgJiYgZXZlbnQuYWx0S2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy51bm1vdW50U2VsZWN0Qm9keSgpO1xuICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gRVNDQVBFICYmICFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMudW5tb3VudFNlbGVjdEJvZHkoKTtcbiAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IEVOVEVSIHx8IGtleUNvZGUgPT09IFNQQUNFKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLl90b2dnbGVBY3RpdmVPcHRpb25TZWxlY3Rpb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3NldEFjdGl2ZU9wdGlvblNlbGVjdGVkKCk7XG4gICAgICB9XG5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlICYmIGtleUNvZGUgPT09IEEgJiYgZXZlbnQuY3RybEtleSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuX3RvZ2dsZVNlbGVjdGlvbk9mQWxsT3B0aW9ucygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICAgICAgY2FzZSBET1dOX0FSUk9XOlxuICAgICAgICAgIHRoaXMuX2FjdGl2YXRlT3B0aW9uQnlPZmZzZXQoMSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVVBfQVJST1c6XG4gICAgICAgICAgdGhpcy5fYWN0aXZhdGVPcHRpb25CeU9mZnNldCgtMSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgSE9NRTpcbiAgICAgICAgICB0aGlzLl9hY3RpdmF0ZUZpcnN0T3B0aW9uKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRU5EOlxuICAgICAgICAgIHRoaXMuX2FjdGl2YXRlTGFzdE9wdGlvbigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBBR0VfVVA6XG4gICAgICAgICAgdGhpcy5fYWN0aXZhdGVPcHRpb25CeU9mZnNldCgtMTApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBBR0VfRE9XTjpcbiAgICAgICAgICB0aGlzLl9hY3RpdmF0ZU9wdGlvbkJ5T2Zmc2V0KDEwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZXRBY3RpdmVPcHRpb24ob3B0aW9uOiBTZWxlY3RPcHRpb25EaXJlY3RpdmUgfCBudWxsKSB7XG4gICAgY29uc3QgY3VycmVudEFjdGl2ZU9wdGlvbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYWN0aXZlT3B0aW9uJCk7XG5cbiAgICBpZiAoY3VycmVudEFjdGl2ZU9wdGlvbj8ub3B0ID09PSBvcHRpb24pIHJldHVybiBmYWxzZTtcblxuICAgIGN1cnJlbnRBY3RpdmVPcHRpb24/Lm9wdC5fc2V0QWN0aXZlKGZhbHNlKTtcblxuICAgIGlmIChvcHRpb24pIHtcbiAgICAgIG9wdGlvbi5fc2V0QWN0aXZlKHRydWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfYWRkQWN0aXZlT3B0aW9uVG9TZWxlY3Rpb24oKSB7XG4gICAgY29uc3QgYWN0aXZlT3B0aW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hY3RpdmVPcHRpb24kKTtcblxuICAgIGlmICghYWN0aXZlT3B0aW9uIHx8IGFjdGl2ZU9wdGlvbi5vcHQuZGlzYWJsZWQgfHwgYWN0aXZlT3B0aW9uLnNlbGVjdGVkKSByZXR1cm47XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5pbnB1dC52YWx1ZSkpIHtcbiAgICAgIHRoaXMuc2V0VmFsdWUoW2FjdGl2ZU9wdGlvbi5vcHQudmFsdWVdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFZhbHVlKFsuLi50aGlzLmlucHV0LnZhbHVlLCBhY3RpdmVPcHRpb24ub3B0LnZhbHVlXSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZW1vdmVBY3RpdmVPcHRpb25Gcm9tU2VsZWN0aW9uKCkge1xuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYWN0aXZlT3B0aW9uJCk7XG5cbiAgICBpZiAoIWFjdGl2ZU9wdGlvbiB8fCBhY3RpdmVPcHRpb24ub3B0LmRpc2FibGVkIHx8ICFhY3RpdmVPcHRpb24uc2VsZWN0ZWQpIHJldHVybjtcblxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLmlucHV0LnZhbHVlKSkge1xuICAgICAgdGhpcy5zZXRWYWx1ZShbXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRWYWx1ZSh0aGlzLmlucHV0LnZhbHVlLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSBhY3RpdmVPcHRpb24ub3B0LnZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF90b2dnbGVTZWxlY3Rpb25PZkFsbE9wdGlvbnMoKSB7XG4gICAgY29uc3QgYWxsT3B0aW9ucyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VsZWN0T3B0aW9ucyQpO1xuXG4gICAgY29uc3QgaGFzRGVzZWxlY3RlZE9wdGlvbiA9IGFsbE9wdGlvbnM/LnNvbWUoKG9wdCkgPT4gIW9wdC5vcHQuZGlzYWJsZWQgJiYgIW9wdC5zZWxlY3RlZCk7XG5cbiAgICBpZiAoaGFzRGVzZWxlY3RlZE9wdGlvbikge1xuICAgICAgdGhpcy5fc2VsZWN0QWxsT3B0aW9ucygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9kZXNlbGVjdEFsbE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZWxlY3RBbGxPcHRpb25zKCkge1xuICAgIGNvbnN0IGFsbE9wdGlvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdE9wdGlvbnMkKTtcblxuICAgIGlmICghYWxsT3B0aW9ucykgcmV0dXJuO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gYWxsT3B0aW9ucy5maWx0ZXIoKG9wdCkgPT4gIW9wdC5vcHQuZGlzYWJsZWQpLm1hcCgob3B0KSA9PiBvcHQub3B0LnZhbHVlKTtcblxuICAgIHRoaXMuc2V0VmFsdWUoc2VsZWN0ZWRPcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2Rlc2VsZWN0QWxsT3B0aW9ucygpIHtcbiAgICB0aGlzLnNldFZhbHVlKFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3RvZ2dsZUFjdGl2ZU9wdGlvblNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBhY3RpdmVPcHRpb24gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFjdGl2ZU9wdGlvbiQpO1xuXG4gICAgaWYgKCFhY3RpdmVPcHRpb24pIHJldHVybjtcblxuICAgIGlmIChhY3RpdmVPcHRpb24uc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZU9wdGlvbkZyb21TZWxlY3Rpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWRkQWN0aXZlT3B0aW9uVG9TZWxlY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZXRBY3RpdmVPcHRpb25TZWxlY3RlZCgpIHtcbiAgICBjb25zdCBhY3RpdmVPcHRpb24gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFjdGl2ZU9wdGlvbiQpO1xuXG4gICAgaWYgKCFhY3RpdmVPcHRpb24gfHwgYWN0aXZlT3B0aW9uLm9wdC5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2V0U2VsZWN0ZWRPcHRpb24oYWN0aXZlT3B0aW9uLm9wdCk7XG5cbiAgICB0aGlzLnVubW91bnRTZWxlY3RCb2R5KCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZXRTZWxlY3RlZE9wdGlvbkFjdGl2ZSgpIHtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VsZWN0ZWRPcHRpb24kKTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb24pIHJldHVybjtcblxuICAgIHRoaXMuX3NldEFjdGl2ZU9wdGlvbihzZWxlY3RlZE9wdGlvbi5vcHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2V0U2VsZWN0ZWRPcHRpb24ob3B0aW9uOiBTZWxlY3RPcHRpb25EaXJlY3RpdmUgfCBudWxsKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdGVkT3B0aW9uJCk7XG5cbiAgICBpZiAoc2VsZWN0ZWRPcHRpb24gPT09IG9wdGlvbikgcmV0dXJuIGZhbHNlO1xuXG4gICAgdGhpcy5fc2V0QWN0aXZlT3B0aW9uKG9wdGlvbik7XG5cbiAgICB0aGlzLnNldFZhbHVlKG9wdGlvbj8udmFsdWUgPz8gbnVsbCk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NlbGVjdEZpcnN0T3B0aW9uKGFubm91bmNlOiBib29sZWFuKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VsZWN0T3B0aW9ucyQpO1xuXG4gICAgaWYgKCFvcHRpb25zKSByZXR1cm47XG5cbiAgICBjb25zdCBmaXJzdE9wdGlvbiA9IG9wdGlvbnNbMF0/Lm9wdDtcblxuICAgIGlmICghZmlyc3RPcHRpb24pIHJldHVybjtcblxuICAgIGlmICghdGhpcy5fc2V0U2VsZWN0ZWRPcHRpb24oZmlyc3RPcHRpb24pKSByZXR1cm47XG5cbiAgICBpZiAoYW5ub3VuY2UpIHtcbiAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShmaXJzdE9wdGlvbi52aWV3VmFsdWUkKTtcbiAgICAgIHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UodGV4dCwgMTAwMDApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NlbGVjdExhc3RPcHRpb24oYW5ub3VuY2U6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZWxlY3RPcHRpb25zJCk7XG5cbiAgICBpZiAoIW9wdGlvbnMpIHJldHVybjtcblxuICAgIGNvbnN0IGxhc3RPcHRpb24gPSBvcHRpb25zW29wdGlvbnMubGVuZ3RoIC0gMV0/Lm9wdDtcblxuICAgIGlmICghbGFzdE9wdGlvbikgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLl9zZXRTZWxlY3RlZE9wdGlvbihsYXN0T3B0aW9uKSkgcmV0dXJuO1xuXG4gICAgaWYgKGFubm91bmNlKSB7XG4gICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20obGFzdE9wdGlvbi52aWV3VmFsdWUkKTtcbiAgICAgIHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UodGV4dCwgMTAwMDApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NlbGVjdE9wdGlvbkJ5T2Zmc2V0KG9mZnNldDogbnVtYmVyLCBhbm5vdW5jZTogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdE9wdGlvbnMkKTtcblxuICAgIGlmICghb3B0aW9ucykgcmV0dXJuO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdGVkT3B0aW9uJCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25JbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KChvKSA9PiBvLm9wdCA9PT0gc2VsZWN0ZWRPcHRpb24/Lm9wdCk7XG4gICAgY29uc3QgbmV4dE9wdGlvbkluZGV4ID0gc2VsZWN0ZWRPcHRpb25JbmRleCArIG9mZnNldDtcbiAgICBjb25zdCBuZXh0T3B0aW9uID0gb3B0aW9uc1tuZXh0T3B0aW9uSW5kZXhdO1xuXG4gICAgaWYgKCFuZXh0T3B0aW9uKSByZXR1cm47XG5cbiAgICBpZiAobmV4dE9wdGlvbi5vcHQuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RPcHRpb25CeU9mZnNldChvZmZzZXQgKyAob2Zmc2V0IDwgMCA/IC0xIDogMSksIGFubm91bmNlKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX3NldFNlbGVjdGVkT3B0aW9uKG5leHRPcHRpb24ub3B0KSkgcmV0dXJuO1xuXG4gICAgaWYgKGFubm91bmNlKSB7XG4gICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20obmV4dE9wdGlvbi5vcHQudmlld1ZhbHVlJCk7XG4gICAgICB0aGlzLl9saXZlQW5ub3VuY2VyLmFubm91bmNlKHRleHQsIDEwMDAwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9hY3RpdmF0ZUZpcnN0T3B0aW9uKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdE9wdGlvbnMkKTtcblxuICAgIGlmICghb3B0aW9ucykgcmV0dXJuO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdPy5vcHQ7XG5cbiAgICBpZiAoIWZpcnN0T3B0aW9uKSByZXR1cm47XG5cbiAgICBhd2FpdCB0aGlzLl9zZXRBY3RpdmVPcHRpb24oZmlyc3RPcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfYWN0aXZhdGVMYXN0T3B0aW9uKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdE9wdGlvbnMkKTtcblxuICAgIGlmICghb3B0aW9ucykgcmV0dXJuO1xuXG4gICAgY29uc3QgbGFzdE9wdGlvbiA9IG9wdGlvbnNbb3B0aW9ucy5sZW5ndGggLSAxXT8ub3B0O1xuXG4gICAgaWYgKCFsYXN0T3B0aW9uKSByZXR1cm47XG5cbiAgICBhd2FpdCB0aGlzLl9zZXRBY3RpdmVPcHRpb24obGFzdE9wdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9hY3RpdmF0ZU9wdGlvbkJ5T2Zmc2V0KG9mZnNldDogbnVtYmVyKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VsZWN0T3B0aW9ucyQpO1xuXG4gICAgaWYgKCFvcHRpb25zKSByZXR1cm47XG5cbiAgICBjb25zdCBhY3RpdmF0ZWRPcHRpb24gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFjdGl2ZU9wdGlvbiQpO1xuICAgIGNvbnN0IGFjdGl2YXRlZE9wdGlvbkluZGV4ID0gb3B0aW9ucy5maW5kSW5kZXgoKG8pID0+IG8ub3B0ID09PSBhY3RpdmF0ZWRPcHRpb24/Lm9wdCk7XG4gICAgY29uc3QgbmV4dE9wdGlvbkluZGV4ID0gYWN0aXZhdGVkT3B0aW9uSW5kZXggKyBvZmZzZXQ7XG4gICAgY29uc3QgbmV4dE9wdGlvbiA9IG9wdGlvbnNbbmV4dE9wdGlvbkluZGV4XTtcblxuICAgIGlmICghbmV4dE9wdGlvbikgcmV0dXJuO1xuXG4gICAgYXdhaXQgdGhpcy5fc2V0QWN0aXZlT3B0aW9uKG5leHRPcHRpb24ub3B0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21pZ3JhdGVTZWxlY3RWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmlucHV0LnZhbHVlKSkge1xuICAgICAgdGhpcy5zZXRWYWx1ZShbXSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5tdWx0aXBsZSAmJiBBcnJheS5pc0FycmF5KHRoaXMuaW5wdXQudmFsdWUpKSB7XG4gICAgICB0aGlzLnNldFZhbHVlKG51bGwpO1xuICAgIH1cblxuICAgIHRoaXMuX3NldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgfVxufVxuIl19
|
|
467
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jb21wb25lbnRzL3NlbGVjdC9jb21wb25lbnRzL3NlbGVjdC9kaXJlY3RpdmVzL3NlbGVjdC9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsQ0FBQyxFQUNELFVBQVUsRUFDVixHQUFHLEVBQ0gsS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLEVBQ0osVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLEVBQ1IsY0FBYyxHQUNmLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUVMLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsRUFDZCxLQUFLLEVBSUwsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUNMLG9CQUFvQixFQUVwQix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixzQkFBc0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7OztBQUU5RSw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUF1Qix1QkFBdUIsQ0FBQyxDQUFDO0FBTzlGLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQWlCakIsTUFBTSxPQUFPLGVBQWU7SUFtQjFCLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBTUQsSUFDWSx1QkFBdUIsQ0FBQyxLQUE0QztRQUM5RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFrSEQ7UUFySlEsc0JBQWlCLEdBQStCLElBQUksQ0FBQztRQUU1QyxxQkFBZ0IsR0FBRyxNQUFNLENBQThCLHdCQUF3QixDQUFDLENBQUM7UUFDakYsY0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFcEUsVUFBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVwQixtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUMxRCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsZUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFFekQsb0JBQWUsR0FBRyxJQUFJLGNBQWMsRUFBeUIsQ0FBQztRQUN0RCwwQkFBcUIsR0FBRyxJQUFJLG9CQUFvQixFQUF5QixDQUFDO1FBV25GLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVMvQiw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBK0MsSUFBSSxDQUFDLENBQUM7UUFFM0csbUJBQWMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUMxRCxzQkFBc0IsRUFBRSxFQUN4QixTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUztnQkFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVoQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDbEMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUMvRyxDQUFDO1lBRUYsT0FBTyxhQUFhLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFTyxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRTFCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRU8scUJBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ2xELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFMUIsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXBFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUV6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUVwQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDOUMsd0RBQXdEO2dCQUN4RCxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRyxPQUFPLFVBQVU7cUJBQ2QsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzdDLE1BQU0sQ0FDTCxDQUNFLE1BQU0sRUFLTixFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDZCxDQUFDO2FBQ0w7WUFFRCxPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRU8sb0JBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVyRixrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkQsWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0MseUJBQW9CLEdBQUcsMkJBQTJCLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFFL0QsbUJBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU07Z0JBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFdEMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVsRSxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUU3QixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVPLHNCQUFpQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqRixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRTFDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVPLFVBQUssR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUM1QixPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVPLGdCQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUM3QyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBRWpELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRU8sc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7WUFDN0Msb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDakMscUJBQXFCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQ3RELENBQUMsQ0FBQztRQUVNLDJCQUFzQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUM1RSx1QkFBdUIsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNwQywyQkFBMkIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN0RCxDQUFDLENBQUM7UUE2QkgsY0FBUyxHQUEyQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUExQnZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUV4QyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLGVBQWU7YUFDakIsd0JBQXdCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO2FBQ3ZELGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzthQUNuQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDL0Isa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRW5FLDBCQUEwQjtJQUM1QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUlELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLE9BQU87UUFFcEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFbkUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUMzQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVM7WUFDM0MsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ2xDLElBQUksRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFnQjtTQUN2RSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUU3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFjO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDdkIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQTJCO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELHlCQUF5QixDQUFDLE1BQTZCO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFL0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7YUFDakIsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUV0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxLQUFvQjtRQUN0RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzlCLE1BQU0sVUFBVSxHQUNkLE9BQU8sS0FBSyxVQUFVLElBQUksT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssVUFBVSxJQUFJLE9BQU8sS0FBSyxXQUFXLENBQUM7UUFFdEcsTUFBTSxTQUFTLEdBQUcsT0FBTyxLQUFLLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDO1FBRXpELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUU7WUFDNUYsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3pCLFFBQVEsT0FBTyxFQUFFO2dCQUNmLEtBQUssVUFBVTtvQkFDYixJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNwQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3JDLE1BQU07Z0JBQ1IsS0FBSyxJQUFJO29CQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDOUIsTUFBTTtnQkFDUixLQUFLLEdBQUc7b0JBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM3QixNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3RDLE1BQU07Z0JBQ1IsS0FBSyxTQUFTO29CQUNaLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3JDLE1BQU07YUFDVDtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVUsRUFBRTtZQUN0QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxLQUFvQjtRQUMxRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzlCLE1BQU0sVUFBVSxHQUFHLE9BQU8sS0FBSyxVQUFVLElBQUksT0FBTyxLQUFLLFFBQVEsQ0FBQztRQUVsRSxJQUFJLFVBQVUsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQzlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjthQUFNLElBQUksT0FBTyxLQUFLLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLEVBQUU7WUFDakQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQzthQUNqQztZQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDMUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3JDO2FBQU07WUFDTCxRQUFRLE9BQU8sRUFBRTtnQkFDZixLQUFLLFVBQVU7b0JBQ2IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakMsTUFBTTtnQkFDUixLQUFLLElBQUk7b0JBQ1AsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7b0JBQzVCLE1BQU07Z0JBQ1IsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO29CQUMzQixNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbEMsTUFBTTtnQkFDUixLQUFLLFNBQVM7b0JBQ1osSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNqQyxNQUFNO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBb0M7UUFDekQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFckUsSUFBSSxtQkFBbUIsRUFBRSxHQUFHLEtBQUssTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRXRELG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sS0FBSyxDQUFDLDJCQUEyQjtRQUN2QyxNQUFNLFlBQVksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFaEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sS0FBSyxDQUFDLGdDQUFnQztRQUM1QyxNQUFNLFlBQVksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUVqRixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVPLEtBQUssQ0FBQyw0QkFBNEI7UUFDeEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTdELE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxRixJQUFJLG1CQUFtQixFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsaUJBQWlCO1FBQzdCLE1BQU0sVUFBVSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFFeEIsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxLQUFLLENBQUMsbUJBQW1CO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVPLEtBQUssQ0FBQyw0QkFBNEI7UUFDeEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTztRQUUxQixJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDekIsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7U0FDekM7YUFBTTtZQUNMLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyx3QkFBd0I7UUFDcEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUV2RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxLQUFLLENBQUMsd0JBQXdCO1FBQ3BDLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU87UUFFNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQW9DO1FBQ25FLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVsRSxJQUFJLGNBQWMsS0FBSyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQztRQUVyQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBaUI7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO1FBRXBDLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUV6QixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztZQUFFLE9BQU87UUFFbEQsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFpQjtRQUMvQyxNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztRQUVwRCxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBRWpELElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBYyxFQUFFLFFBQWlCO1FBQ25FLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsTUFBTSxjQUFjLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEYsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQ3JELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFFeEIsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDN0U7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPO1FBRXJELElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLG9CQUFvQjtRQUNoQyxNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7UUFFcEMsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBRXpCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxLQUFLLENBQUMsbUJBQW1CO1FBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO1FBRXBELElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUV4QixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sS0FBSyxDQUFDLHVCQUF1QixDQUFDLE1BQWM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixNQUFNLGVBQWUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakUsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0RixNQUFNLGVBQWUsR0FBRyxvQkFBb0IsR0FBRyxNQUFNLENBQUM7UUFDdEQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUV4QixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVPLEtBQUssQ0FBQyxtQkFBbUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkI7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQXJpQlUsZUFBZTtrR0FBZixlQUFlLDJGQVBmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLFdBQVcsRUFBRSxlQUFlO2FBQzdCO1NBQ0Ysa0VBbUNnQixtQkFBbUI7OzJGQWpDekIsZUFBZTtrQkFWM0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQzFDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsWUFBWTs0QkFDckIsV0FBVyxpQkFBaUI7eUJBQzdCO3FCQUNGO2lCQUNGOzBFQXFCSyxRQUFRO3NCQURYLEtBQUs7Z0JBWU4sU0FBUztzQkFEUixLQUFLO2dCQUlNLHVCQUF1QjtzQkFEbEMsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXZlQW5ub3VuY2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQSxcbiAgRE9XTl9BUlJPVyxcbiAgRU5ELFxuICBFTlRFUixcbiAgRVNDQVBFLFxuICBIT01FLFxuICBMRUZUX0FSUk9XLFxuICBQQUdFX0RPV04sXG4gIFBBR0VfVVAsXG4gIFJJR0hUX0FSUk9XLFxuICBTUEFDRSxcbiAgVVBfQVJST1csXG4gIGhhc01vZGlmaWVyS2V5LFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBBY3RpdmVTZWxlY3Rpb25Nb2RlbCxcbiAgQW5pbWF0ZWRPdmVybGF5Q29tcG9uZW50QmFzZSxcbiAgQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlLFxuICBTZWxlY3Rpb25Nb2RlbCxcbiAgVHlwZWRRdWVyeUxpc3QsXG4gIGNyZWF0ZURlc3Ryb3ksXG4gIHNpZ25hbENsYXNzZXMsXG4gIHNpZ25hbEhvc3RDbGFzc2VzLFxuICBzd2l0Y2hRdWVyeUxpc3RDaGFuZ2VzLFxufSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFRIRU1FX1BST1ZJREVSIH0gZnJvbSAnQGV0aGxldGUvdGhlbWluZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpcnN0VmFsdWVGcm9tLCBtYXAsIG9mLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJTlBVVF9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgU0VMRUNUX0ZJRUxEX1RPS0VOIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBTZWxlY3RCb2R5RGlyZWN0aXZlIH0gZnJvbSAnLi4vc2VsZWN0LWJvZHknO1xuaW1wb3J0IHsgU0VMRUNUX09QVElPTl9UT0tFTiwgU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2VsZWN0LW9wdGlvbic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY29uc3QgU0VMRUNUX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFNlbGVjdERpcmVjdGl2ZTxhbnk+PignRVRfU0VMRUNUX0lOUFVUX1RPS0VOJyk7XG5cbnR5cGUgU2VsZWN0RGlyZWN0aXZlQm9keUNvbXBvbmVudEJhc2UgPSBBbmltYXRlZE92ZXJsYXlDb21wb25lbnRCYXNlICYge1xuICBfYm9keVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGw7XG4gIHNlbGVjdEJvZHk6IFNlbGVjdEJvZHlEaXJlY3RpdmU7XG59O1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5pbnRlcmZhY2UgU2VsZWN0Qm9keUNvbmZpZzxUIGV4dGVuZHMgU2VsZWN0RGlyZWN0aXZlQm9keUNvbXBvbmVudEJhc2U+IHtcbiAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+O1xuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0RGlyZWN0aXZlczogW0FuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNFTEVDVF9UT0tFTixcbiAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3REaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RGlyZWN0aXZlPFQgZXh0ZW5kcyBTZWxlY3REaXJlY3RpdmVCb2R5Q29tcG9uZW50QmFzZT4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICBwcml2YXRlIF9zZWxlY3RCb2R5Q29uZmlnOiBTZWxlY3RCb2R5Q29uZmlnPFQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYW5pbWF0ZWRPdmVybGF5ID0gaW5qZWN0PEFuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZTxUPj4oQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xpdmVBbm5vdW5jZXIgPSBpbmplY3QoTGl2ZUFubm91bmNlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdEZpZWxkID0gaW5qZWN0KFNFTEVDVF9GSUVMRF9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RoZW1lUHJvdmlkZXIgPSBpbmplY3QoVEhFTUVfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgaW5wdXQgPSBpbmplY3QoSU5QVVRfVE9LRU4pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdEJvZHlJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc09wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgcmVhZG9ubHkgX3NlbGVjdGlvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsPFNlbGVjdE9wdGlvbkRpcmVjdGl2ZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlU2VsZWN0aW9uTW9kZWwgPSBuZXcgQWN0aXZlU2VsZWN0aW9uTW9kZWw8U2VsZWN0T3B0aW9uRGlyZWN0aXZlPigpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBtdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGUkLnZhbHVlO1xuICB9XG4gIHNldCBtdWx0aXBsZSh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX211bHRpcGxlJC5uZXh0KGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpKTtcblxuICAgIHRoaXMuX21pZ3JhdGVTZWxlY3RWYWx1ZSgpO1xuICB9XG4gIHByaXZhdGUgX211bHRpcGxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIEBJbnB1dCgpXG4gIGVtcHR5VGV4dD86IHN0cmluZztcblxuICBAQ29udGVudENoaWxkcmVuKFNFTEVDVF9PUFRJT05fVE9LRU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBzZXQgX3NlbGVjdE9wdGlvbnNRdWVyeUxpc3QodmFsdWU6IFR5cGVkUXVlcnlMaXN0PFNlbGVjdE9wdGlvbkRpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLl9zZWxlY3RPcHRpb25zUXVlcnlMaXN0JC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RPcHRpb25zUXVlcnlMaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHlwZWRRdWVyeUxpc3Q8U2VsZWN0T3B0aW9uRGlyZWN0aXZlPiB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdE9wdGlvbnMkID0gdGhpcy5fc2VsZWN0T3B0aW9uc1F1ZXJ5TGlzdCQucGlwZShcbiAgICBzd2l0Y2hRdWVyeUxpc3RDaGFuZ2VzKCksXG4gICAgc3dpdGNoTWFwKChxdWVyeUxpc3QpID0+IHtcbiAgICAgIGlmICghcXVlcnlMaXN0KSByZXR1cm4gb2YobnVsbCk7XG5cbiAgICAgIGNvbnN0IGl0ZW1zID0gcXVlcnlMaXN0Lm1hcCgob3B0KSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtvcHQuaXNTZWxlY3RlZCQsIG9wdC5pc0FjdGl2ZSRdKS5waXBlKG1hcCgoW3NlbGVjdGVkLCBhY3RpdmVdKSA9PiAoeyBvcHQsIHNlbGVjdGVkLCBhY3RpdmUgfSkpKSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGl0ZW1zID8/IG9mKG51bGwpKTtcbiAgICB9KSxcbiAgKTtcblxuICByZWFkb25seSBhY3RpdmVPcHRpb24kID0gdGhpcy5zZWxlY3RPcHRpb25zJC5waXBlKFxuICAgIG1hcCgob3B0aW9ucykgPT4ge1xuICAgICAgaWYgKCFvcHRpb25zKSByZXR1cm4gbnVsbDtcblxuICAgICAgcmV0dXJuIG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24uYWN0aXZlKSA/PyBudWxsO1xuICAgIH0pLFxuICApO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkT3B0aW9ucyQgPSB0aGlzLnNlbGVjdE9wdGlvbnMkLnBpcGUoXG4gICAgbWFwKChvcHRpb25zKSA9PiB7XG4gICAgICBpZiAoIW9wdGlvbnMpIHJldHVybiBudWxsO1xuXG4gICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uc2VsZWN0ZWQpO1xuXG4gICAgICBpZiAoIXNlbGVjdGVkT3B0aW9ucy5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgICBjb25zdCBpbnB1dFZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcblxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheShpbnB1dFZhbHVlKSkge1xuICAgICAgICAvLyBzb3J0IHNlbGVjdGVkIG9wdGlvbnMgYnkgdGhlIG9yZGVyIG9mIHRoZSBpbnB1dCB2YWx1ZVxuICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnNNYXAgPSBuZXcgTWFwKHNlbGVjdGVkT3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gW29wdGlvbi5vcHQudmFsdWUsIG9wdGlvbl0pKTtcbiAgICAgICAgcmV0dXJuIGlucHV0VmFsdWVcbiAgICAgICAgICAubWFwKCh2YWx1ZSkgPT4gc2VsZWN0ZWRPcHRpb25zTWFwLmdldCh2YWx1ZSkpXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgICAgKTogb3B0aW9uIGlzIHtcbiAgICAgICAgICAgICAgb3B0OiBTZWxlY3RPcHRpb25EaXJlY3RpdmU7XG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICAgICAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgICAgICAgICB9ID0+ICEhb3B0aW9uLFxuICAgICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnM7XG4gICAgfSksXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRPcHRpb24kID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMkLnBpcGUobWFwKChvcHRpb25zKSA9PiBvcHRpb25zPy5bMF0gPz8gbnVsbCkpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdEJvZHlJZCQgPSB0aGlzLl9zZWxlY3RCb2R5SWQkLmFzT2JzZXJ2YWJsZSgpO1xuICByZWFkb25seSBpc09wZW4kID0gdGhpcy5faXNPcGVuJC5hc09ic2VydmFibGUoKTtcbiAgcmVhZG9ubHkgaXNPcGVuID0gdG9TaWduYWwodGhpcy5pc09wZW4kKTtcbiAgcmVhZG9ubHkgbXVsdGlwbGUkID0gdGhpcy5fbXVsdGlwbGUkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdEN1cnJlbnRWYWx1ZUlkID0gYGV0LXNlbGVjdC1jdXJyZW50LXZhbHVlLSR7dW5pcXVlSWQrK31gO1xuXG4gIHJlYWRvbmx5IGFyaWFWaWV3VmFsdWUkID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChvcHRpb25zKSA9PiB7XG4gICAgICBpZiAoIW9wdGlvbnM/Lmxlbmd0aCkgcmV0dXJuIG9mKG51bGwpO1xuXG4gICAgICBjb25zdCB2aWV3VmFsdWVzID0gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLm9wdC52aWV3VmFsdWUkKTtcblxuICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3Qodmlld1ZhbHVlcyk7XG4gICAgfSksXG4gICAgbWFwKCh2aWV3VmFsdWVzKSA9PiB7XG4gICAgICBpZiAoIXZpZXdWYWx1ZXMpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gdmlld1ZhbHVlcy5qb2luKCcsICcpO1xuICAgIH0pLFxuICApO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZURlc2NlbmRhbnQkID0gY29tYmluZUxhdGVzdChbdGhpcy5pc09wZW4kLCB0aGlzLmFjdGl2ZU9wdGlvbiRdKS5waXBlKFxuICAgIG1hcCgoW2lzT3BlbiwgYWN0aXZlT3B0aW9uXSkgPT4ge1xuICAgICAgaWYgKCFpc09wZW4gfHwgIWFjdGl2ZU9wdGlvbikgcmV0dXJuIG51bGw7XG5cbiAgICAgIHJldHVybiBhY3RpdmVPcHRpb24ub3B0LmlkO1xuICAgIH0pLFxuICApO1xuXG4gIHJlYWRvbmx5IG93bnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5pc09wZW4kLCB0aGlzLnNlbGVjdEJvZHlJZCRdKS5waXBlKFxuICAgIG1hcCgoW2lzT3Blbiwgc2VsZWN0Qm9keUlkXSkgPT4ge1xuICAgICAgaWYgKCFpc09wZW4gfHwgIXNlbGVjdEJvZHlJZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlbGVjdEJvZHlJZDtcbiAgICB9KSxcbiAgKTtcblxuICByZWFkb25seSBsYWJlbGxlZEJ5JCA9IHRoaXMuaW5wdXQubGFiZWxJZCQucGlwZShcbiAgICBtYXAoKGxhYmVsSWQpID0+IHtcbiAgICAgIGNvbnN0IGlkcyA9IFtsYWJlbElkLCB0aGlzLnNlbGVjdEN1cnJlbnRWYWx1ZUlkXTtcblxuICAgICAgcmV0dXJuIGlkcy5maWx0ZXIoKGlkKSA9PiAhIWlkKS5qb2luKCcgJyk7XG4gICAgfSksXG4gICk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzQmluZGluZ3MgPSBzaWduYWxIb3N0Q2xhc3Nlcyh7XG4gICAgJ2V0LXNlbGVjdC0taXMtb3Blbic6IHRoaXMuaXNPcGVuLFxuICAgICdldC1zZWxlY3QtLWRpc2FibGVkJzogdG9TaWduYWwodGhpcy5pbnB1dC5kaXNhYmxlZCQpLFxuICB9KTtcblxuICByZWFkb25seSBmaWVsZEhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsQ2xhc3Nlcyh0aGlzLl9zZWxlY3RGaWVsZC5lbGVtZW50UmVmLCB7XG4gICAgJ2V0LXNlbGVjdC1maWVsZC0tb3Blbic6IHRoaXMuaXNPcGVuLFxuICAgICdldC1zZWxlY3QtZmllbGQtLW11bHRpcGxlJzogdG9TaWduYWwodGhpcy5tdWx0aXBsZSQpLFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9hbmltYXRlZE92ZXJsYXkucGxhY2VtZW50ID0gJ2JvdHRvbSc7XG4gICAgdGhpcy5fYW5pbWF0ZWRPdmVybGF5LmZhbGxiYWNrUGxhY2VtZW50cyA9IFsnYm90dG9tJywgJ3RvcCddO1xuICAgIHRoaXMuX2FuaW1hdGVkT3ZlcmxheS5hdXRvUmVzaXplID0gdHJ1ZTtcblxuICAgIHRoaXMuaW5wdXQuX3NldEVtcHR5SGVscGVyKHRoaXMuYXJpYVZpZXdWYWx1ZSQpO1xuXG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZWxcbiAgICAgIC5zZXRPcHRpb25zRnJvbVF1ZXJ5TGlzdCQodGhpcy5fc2VsZWN0T3B0aW9uc1F1ZXJ5TGlzdCQpXG4gICAgICAuc2V0TGFiZWxCaW5kaW5nKCh2KSA9PiB2LnZpZXdWYWx1ZSlcbiAgICAgIC5zZXRWYWx1ZUJpbmRpbmcoKHYpID0+IHYudmFsdWUpXG4gICAgICAuc2V0RGlzYWJsZWRCaW5kaW5nKCh2KSA9PiB2LmRpc2FibGVkKTtcblxuICAgIHRoaXMuX2FjdGl2ZVNlbGVjdGlvbk1vZGVsLnNldFNlbGVjdGlvbk1vZGVsKHRoaXMuX3NlbGVjdGlvbk1vZGVsKTtcblxuICAgIC8vVE9ETzogVE8gQkUgQ09OVElOVUVELi4uXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl91bm1vdW50U2VsZWN0Qm9keU9uRGlzYWJsZSgpO1xuICAgIHRoaXMuX21pZ3JhdGVTZWxlY3RWYWx1ZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFNlbGVjdGVkT3B0aW9uQWN0aXZlKCk7XG4gIH1cblxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxTZWxlY3RPcHRpb25EaXJlY3RpdmU+ID0gKF8sIGl0ZW0pID0+IGl0ZW0uaWQ7XG5cbiAgbW91bnRTZWxlY3RCb2R5KCkge1xuICAgIGlmICghdGhpcy5fc2VsZWN0Qm9keUNvbmZpZykgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuX2FuaW1hdGVkT3ZlcmxheS5pc01vdW50ZWQgfHwgdGhpcy5pbnB1dC5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2V0U2VsZWN0ZWRPcHRpb25BY3RpdmUoKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5fYW5pbWF0ZWRPdmVybGF5Lm1vdW50KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcy5fc2VsZWN0Qm9keUNvbmZpZy5jb21wb25lbnQsXG4gICAgICBtaXJyb3JXaWR0aDogdHJ1ZSxcbiAgICAgIHRoZW1lUHJvdmlkZXI6IHRoaXMuX3RoZW1lUHJvdmlkZXIsXG4gICAgICBkYXRhOiB7IF9ib2R5VGVtcGxhdGU6IHRoaXMuX3NlbGVjdEJvZHlDb25maWcudGVtcGxhdGUgfSBhcyBQYXJ0aWFsPFQ+LFxuICAgIH0pO1xuXG4gICAgaWYgKCFpbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2VsZWN0Qm9keUlkJC5uZXh0KGluc3RhbmNlLnNlbGVjdEJvZHkuaWQpO1xuICAgIHRoaXMuX2lzT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHVubW91bnRTZWxlY3RCb2R5KCkge1xuICAgIGlmICghdGhpcy5fYW5pbWF0ZWRPdmVybGF5LmlzTW91bnRlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fYW5pbWF0ZWRPdmVybGF5LnVubW91bnQoKTtcblxuICAgIHRoaXMuX3NlbGVjdEJvZHlJZCQubmV4dChudWxsKTtcbiAgICB0aGlzLl9pc09wZW4kLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLmlucHV0Ll91cGRhdGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICB0aGlzLmlucHV0Ll9tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5pbnB1dC5fc2V0U2hvdWxkRGlzcGxheUVycm9yKHRydWUpO1xuICB9XG5cbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLl9pc09wZW4kLnZhbHVlKSB7XG4gICAgICB0aGlzLl9oYW5kbGVLZXlEb3duSW5PcGVuU3RhdGUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9oYW5kbGVLZXlEb3duSW5DbG9zZWRTdGF0ZShldmVudCk7XG4gICAgfVxuICB9XG5cbiAgc2V0U2VsZWN0Qm9keShjb25maWc6IFNlbGVjdEJvZHlDb25maWc8VD4pIHtcbiAgICB0aGlzLl9zZWxlY3RCb2R5Q29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgcmVtb3ZlT3B0aW9uRnJvbVNlbGVjdGlvbihvcHRpb246IFNlbGVjdE9wdGlvbkRpcmVjdGl2ZSkge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLmlucHV0LnZhbHVlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlLmZpbHRlcigodikgPT4gdiAhPT0gb3B0aW9uLnZhbHVlKTtcblxuICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgX2NvbnRyb2xUb3VjaGVkKCkge1xuICAgIHRoaXMuaW5wdXQuX21hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmlucHV0Ll9zZXRTaG91bGREaXNwbGF5RXJyb3IodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIF91bm1vdW50U2VsZWN0Qm9keU9uRGlzYWJsZSgpIHtcbiAgICB0aGlzLmlucHV0LmRpc2FibGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoZGlzYWJsZWQpID0+IHtcbiAgICAgICAgICBpZiAoIWRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgICB0aGlzLnVubW91bnRTZWxlY3RCb2R5KCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bkluQ2xvc2VkU3RhdGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICBjb25zdCBpc0Fycm93S2V5ID1cbiAgICAgIGtleUNvZGUgPT09IERPV05fQVJST1cgfHwga2V5Q29kZSA9PT0gVVBfQVJST1cgfHwga2V5Q29kZSA9PT0gTEVGVF9BUlJPVyB8fCBrZXlDb2RlID09PSBSSUdIVF9BUlJPVztcblxuICAgIGNvbnN0IGlzT3BlbktleSA9IGtleUNvZGUgPT09IEVOVEVSIHx8IGtleUNvZGUgPT09IFNQQUNFO1xuXG4gICAgaWYgKChpc09wZW5LZXkgJiYgIWhhc01vZGlmaWVyS2V5KGV2ZW50KSkgfHwgKCh0aGlzLm11bHRpcGxlIHx8IGV2ZW50LmFsdEtleSkgJiYgaXNBcnJvd0tleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm1vdW50U2VsZWN0Qm9keSgpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgICAgICBjYXNlIERPV05fQVJST1c6XG4gICAgICAgICAgdGhpcy5fc2VsZWN0T3B0aW9uQnlPZmZzZXQoMSwgdHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVVBfQVJST1c6XG4gICAgICAgICAgdGhpcy5fc2VsZWN0T3B0aW9uQnlPZmZzZXQoLTEsIHRydWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEhPTUU6XG4gICAgICAgICAgdGhpcy5fc2VsZWN0Rmlyc3RPcHRpb24odHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRU5EOlxuICAgICAgICAgIHRoaXMuX3NlbGVjdExhc3RPcHRpb24odHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgUEFHRV9VUDpcbiAgICAgICAgICB0aGlzLl9zZWxlY3RPcHRpb25CeU9mZnNldCgtMTAsIHRydWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBBR0VfRE9XTjpcbiAgICAgICAgICB0aGlzLl9zZWxlY3RPcHRpb25CeU9mZnNldCgxMCwgdHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlICYmIGlzQXJyb3dLZXkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm1vdW50U2VsZWN0Qm9keSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUtleURvd25Jbk9wZW5TdGF0ZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgIGNvbnN0IGlzQXJyb3dLZXkgPSBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8IGtleUNvZGUgPT09IFVQX0FSUk9XO1xuXG4gICAgaWYgKGlzQXJyb3dLZXkgJiYgZXZlbnQuYWx0S2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy51bm1vdW50U2VsZWN0Qm9keSgpO1xuICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gRVNDQVBFICYmICFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMudW5tb3VudFNlbGVjdEJvZHkoKTtcbiAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IEVOVEVSIHx8IGtleUNvZGUgPT09IFNQQUNFKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLl90b2dnbGVBY3RpdmVPcHRpb25TZWxlY3Rpb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3NldEFjdGl2ZU9wdGlvblNlbGVjdGVkKCk7XG4gICAgICB9XG5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlICYmIGtleUNvZGUgPT09IEEgJiYgZXZlbnQuY3RybEtleSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuX3RvZ2dsZVNlbGVjdGlvbk9mQWxsT3B0aW9ucygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICAgICAgY2FzZSBET1dOX0FSUk9XOlxuICAgICAgICAgIHRoaXMuX2FjdGl2YXRlT3B0aW9uQnlPZmZzZXQoMSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVVBfQVJST1c6XG4gICAgICAgICAgdGhpcy5fYWN0aXZhdGVPcHRpb25CeU9mZnNldCgtMSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgSE9NRTpcbiAgICAgICAgICB0aGlzLl9hY3RpdmF0ZUZpcnN0T3B0aW9uKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRU5EOlxuICAgICAgICAgIHRoaXMuX2FjdGl2YXRlTGFzdE9wdGlvbigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBBR0VfVVA6XG4gICAgICAgICAgdGhpcy5fYWN0aXZhdGVPcHRpb25CeU9mZnNldCgtMTApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBBR0VfRE9XTjpcbiAgICAgICAgICB0aGlzLl9hY3RpdmF0ZU9wdGlvbkJ5T2Zmc2V0KDEwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBfc2V0QWN0aXZlT3B0aW9uKG9wdGlvbjogU2VsZWN0T3B0aW9uRGlyZWN0aXZlIHwgbnVsbCkge1xuICAgIGNvbnN0IGN1cnJlbnRBY3RpdmVPcHRpb24gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFjdGl2ZU9wdGlvbiQpO1xuXG4gICAgaWYgKGN1cnJlbnRBY3RpdmVPcHRpb24/Lm9wdCA9PT0gb3B0aW9uKSByZXR1cm4gZmFsc2U7XG5cbiAgICBjdXJyZW50QWN0aXZlT3B0aW9uPy5vcHQuX3NldEFjdGl2ZShmYWxzZSk7XG5cbiAgICBpZiAob3B0aW9uKSB7XG4gICAgICBvcHRpb24uX3NldEFjdGl2ZSh0cnVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2FkZEFjdGl2ZU9wdGlvblRvU2VsZWN0aW9uKCkge1xuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYWN0aXZlT3B0aW9uJCk7XG5cbiAgICBpZiAoIWFjdGl2ZU9wdGlvbiB8fCBhY3RpdmVPcHRpb24ub3B0LmRpc2FibGVkIHx8IGFjdGl2ZU9wdGlvbi5zZWxlY3RlZCkgcmV0dXJuO1xuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuaW5wdXQudmFsdWUpKSB7XG4gICAgICB0aGlzLnNldFZhbHVlKFthY3RpdmVPcHRpb24ub3B0LnZhbHVlXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRWYWx1ZShbLi4udGhpcy5pbnB1dC52YWx1ZSwgYWN0aXZlT3B0aW9uLm9wdC52YWx1ZV0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfcmVtb3ZlQWN0aXZlT3B0aW9uRnJvbVNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBhY3RpdmVPcHRpb24gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFjdGl2ZU9wdGlvbiQpO1xuXG4gICAgaWYgKCFhY3RpdmVPcHRpb24gfHwgYWN0aXZlT3B0aW9uLm9wdC5kaXNhYmxlZCB8fCAhYWN0aXZlT3B0aW9uLnNlbGVjdGVkKSByZXR1cm47XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5pbnB1dC52YWx1ZSkpIHtcbiAgICAgIHRoaXMuc2V0VmFsdWUoW10pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0VmFsdWUodGhpcy5pbnB1dC52YWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gYWN0aXZlT3B0aW9uLm9wdC52YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfdG9nZ2xlU2VsZWN0aW9uT2ZBbGxPcHRpb25zKCkge1xuICAgIGNvbnN0IGFsbE9wdGlvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdE9wdGlvbnMkKTtcblxuICAgIGNvbnN0IGhhc0Rlc2VsZWN0ZWRPcHRpb24gPSBhbGxPcHRpb25zPy5zb21lKChvcHQpID0+ICFvcHQub3B0LmRpc2FibGVkICYmICFvcHQuc2VsZWN0ZWQpO1xuXG4gICAgaWYgKGhhc0Rlc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIHRoaXMuX3NlbGVjdEFsbE9wdGlvbnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZGVzZWxlY3RBbGxPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2VsZWN0QWxsT3B0aW9ucygpIHtcbiAgICBjb25zdCBhbGxPcHRpb25zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZWxlY3RPcHRpb25zJCk7XG5cbiAgICBpZiAoIWFsbE9wdGlvbnMpIHJldHVybjtcblxuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9ucyA9IGFsbE9wdGlvbnMuZmlsdGVyKChvcHQpID0+ICFvcHQub3B0LmRpc2FibGVkKS5tYXAoKG9wdCkgPT4gb3B0Lm9wdC52YWx1ZSk7XG5cbiAgICB0aGlzLnNldFZhbHVlKHNlbGVjdGVkT3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9kZXNlbGVjdEFsbE9wdGlvbnMoKSB7XG4gICAgdGhpcy5zZXRWYWx1ZShbXSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF90b2dnbGVBY3RpdmVPcHRpb25TZWxlY3Rpb24oKSB7XG4gICAgY29uc3QgYWN0aXZlT3B0aW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hY3RpdmVPcHRpb24kKTtcblxuICAgIGlmICghYWN0aXZlT3B0aW9uKSByZXR1cm47XG5cbiAgICBpZiAoYWN0aXZlT3B0aW9uLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9yZW1vdmVBY3RpdmVPcHRpb25Gcm9tU2VsZWN0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FkZEFjdGl2ZU9wdGlvblRvU2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2V0QWN0aXZlT3B0aW9uU2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgYWN0aXZlT3B0aW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hY3RpdmVPcHRpb24kKTtcblxuICAgIGlmICghYWN0aXZlT3B0aW9uIHx8IGFjdGl2ZU9wdGlvbi5vcHQuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMuX3NldFNlbGVjdGVkT3B0aW9uKGFjdGl2ZU9wdGlvbi5vcHQpO1xuXG4gICAgdGhpcy51bm1vdW50U2VsZWN0Qm9keSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2V0U2VsZWN0ZWRPcHRpb25BY3RpdmUoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdGVkT3B0aW9uJCk7XG5cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKSByZXR1cm47XG5cbiAgICB0aGlzLl9zZXRBY3RpdmVPcHRpb24oc2VsZWN0ZWRPcHRpb24ub3B0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NldFNlbGVjdGVkT3B0aW9uKG9wdGlvbjogU2VsZWN0T3B0aW9uRGlyZWN0aXZlIHwgbnVsbCkge1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZWxlY3RlZE9wdGlvbiQpO1xuXG4gICAgaWYgKHNlbGVjdGVkT3B0aW9uID09PSBvcHRpb24pIHJldHVybiBmYWxzZTtcblxuICAgIHRoaXMuX3NldEFjdGl2ZU9wdGlvbihvcHRpb24pO1xuXG4gICAgdGhpcy5zZXRWYWx1ZShvcHRpb24/LnZhbHVlID8/IG51bGwpO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZWxlY3RGaXJzdE9wdGlvbihhbm5vdW5jZTogYm9vbGVhbikge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdE9wdGlvbnMkKTtcblxuICAgIGlmICghb3B0aW9ucykgcmV0dXJuO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdPy5vcHQ7XG5cbiAgICBpZiAoIWZpcnN0T3B0aW9uKSByZXR1cm47XG5cbiAgICBpZiAoIXRoaXMuX3NldFNlbGVjdGVkT3B0aW9uKGZpcnN0T3B0aW9uKSkgcmV0dXJuO1xuXG4gICAgaWYgKGFubm91bmNlKSB7XG4gICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oZmlyc3RPcHRpb24udmlld1ZhbHVlJCk7XG4gICAgICB0aGlzLl9saXZlQW5ub3VuY2VyLmFubm91bmNlKHRleHQsIDEwMDAwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZWxlY3RMYXN0T3B0aW9uKGFubm91bmNlOiBib29sZWFuKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VsZWN0T3B0aW9ucyQpO1xuXG4gICAgaWYgKCFvcHRpb25zKSByZXR1cm47XG5cbiAgICBjb25zdCBsYXN0T3B0aW9uID0gb3B0aW9uc1tvcHRpb25zLmxlbmd0aCAtIDFdPy5vcHQ7XG5cbiAgICBpZiAoIWxhc3RPcHRpb24pIHJldHVybjtcblxuICAgIGlmICghdGhpcy5fc2V0U2VsZWN0ZWRPcHRpb24obGFzdE9wdGlvbikpIHJldHVybjtcblxuICAgIGlmIChhbm5vdW5jZSkge1xuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKGxhc3RPcHRpb24udmlld1ZhbHVlJCk7XG4gICAgICB0aGlzLl9saXZlQW5ub3VuY2VyLmFubm91bmNlKHRleHQsIDEwMDAwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZWxlY3RPcHRpb25CeU9mZnNldChvZmZzZXQ6IG51bWJlciwgYW5ub3VuY2U6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvcHRpb25zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZWxlY3RPcHRpb25zJCk7XG5cbiAgICBpZiAoIW9wdGlvbnMpIHJldHVybjtcblxuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZWxlY3RlZE9wdGlvbiQpO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uSW5kZXggPSBvcHRpb25zLmZpbmRJbmRleCgobykgPT4gby5vcHQgPT09IHNlbGVjdGVkT3B0aW9uPy5vcHQpO1xuICAgIGNvbnN0IG5leHRPcHRpb25JbmRleCA9IHNlbGVjdGVkT3B0aW9uSW5kZXggKyBvZmZzZXQ7XG4gICAgY29uc3QgbmV4dE9wdGlvbiA9IG9wdGlvbnNbbmV4dE9wdGlvbkluZGV4XTtcblxuICAgIGlmICghbmV4dE9wdGlvbikgcmV0dXJuO1xuXG4gICAgaWYgKG5leHRPcHRpb24ub3B0LmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2VsZWN0T3B0aW9uQnlPZmZzZXQob2Zmc2V0ICsgKG9mZnNldCA8IDAgPyAtMSA6IDEpLCBhbm5vdW5jZSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9zZXRTZWxlY3RlZE9wdGlvbihuZXh0T3B0aW9uLm9wdCkpIHJldHVybjtcblxuICAgIGlmIChhbm5vdW5jZSkge1xuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKG5leHRPcHRpb24ub3B0LnZpZXdWYWx1ZSQpO1xuICAgICAgdGhpcy5fbGl2ZUFubm91bmNlci5hbm5vdW5jZSh0ZXh0LCAxMDAwMCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfYWN0aXZhdGVGaXJzdE9wdGlvbigpIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZWxlY3RPcHRpb25zJCk7XG5cbiAgICBpZiAoIW9wdGlvbnMpIHJldHVybjtcblxuICAgIGNvbnN0IGZpcnN0T3B0aW9uID0gb3B0aW9uc1swXT8ub3B0O1xuXG4gICAgaWYgKCFmaXJzdE9wdGlvbikgcmV0dXJuO1xuXG4gICAgYXdhaXQgdGhpcy5fc2V0QWN0aXZlT3B0aW9uKGZpcnN0T3B0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2FjdGl2YXRlTGFzdE9wdGlvbigpIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZWxlY3RPcHRpb25zJCk7XG5cbiAgICBpZiAoIW9wdGlvbnMpIHJldHVybjtcblxuICAgIGNvbnN0IGxhc3RPcHRpb24gPSBvcHRpb25zW29wdGlvbnMubGVuZ3RoIC0gMV0/Lm9wdDtcblxuICAgIGlmICghbGFzdE9wdGlvbikgcmV0dXJuO1xuXG4gICAgYXdhaXQgdGhpcy5fc2V0QWN0aXZlT3B0aW9uKGxhc3RPcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfYWN0aXZhdGVPcHRpb25CeU9mZnNldChvZmZzZXQ6IG51bWJlcikge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlbGVjdE9wdGlvbnMkKTtcblxuICAgIGlmICghb3B0aW9ucykgcmV0dXJuO1xuXG4gICAgY29uc3QgYWN0aXZhdGVkT3B0aW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hY3RpdmVPcHRpb24kKTtcbiAgICBjb25zdCBhY3RpdmF0ZWRPcHRpb25JbmRleCA9IG9wdGlvbnMuZmluZEluZGV4KChvKSA9PiBvLm9wdCA9PT0gYWN0aXZhdGVkT3B0aW9uPy5vcHQpO1xuICAgIGNvbnN0IG5leHRPcHRpb25JbmRleCA9IGFjdGl2YXRlZE9wdGlvbkluZGV4ICsgb2Zmc2V0O1xuICAgIGNvbnN0IG5leHRPcHRpb24gPSBvcHRpb25zW25leHRPcHRpb25JbmRleF07XG5cbiAgICBpZiAoIW5leHRPcHRpb24pIHJldHVybjtcblxuICAgIGF3YWl0IHRoaXMuX3NldEFjdGl2ZU9wdGlvbihuZXh0T3B0aW9uLm9wdCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9taWdyYXRlU2VsZWN0VmFsdWUoKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgIUFycmF5LmlzQXJyYXkodGhpcy5pbnB1dC52YWx1ZSkpIHtcbiAgICAgIHRoaXMuc2V0VmFsdWUoW10pO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmlucHV0LnZhbHVlKSkge1xuICAgICAgdGhpcy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRBY3RpdmVPcHRpb24obnVsbCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -81,8 +81,11 @@ export class SelectOptionDirective {
|
|
|
81
81
|
_setActive(isActive) {
|
|
82
82
|
this._isActive$.next(isActive);
|
|
83
83
|
}
|
|
84
|
+
setActiveByHover() {
|
|
85
|
+
this._select._setActiveOption(this);
|
|
86
|
+
}
|
|
84
87
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
85
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: SelectOptionDirective, isStandalone: true, inputs: { value: "value", disabled: "disabled" }, host: { attributes: { "role": "option" }, listeners: { "click": "setSelectValue()", "etObserveContent": "_updateViewValue()" }, properties: { "attr.id": "id", "attr.aria-disabled": "disabled", "class.et-select-option--disabled": "disabled" } }, providers: [
|
|
88
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: SelectOptionDirective, isStandalone: true, inputs: { value: "value", disabled: "disabled" }, host: { attributes: { "role": "option" }, listeners: { "click": "setSelectValue()", "mouseenter": "setActiveByHover()", "etObserveContent": "_updateViewValue()" }, properties: { "attr.id": "id", "attr.aria-disabled": "disabled", "class.et-select-option--disabled": "disabled" } }, providers: [
|
|
86
89
|
{
|
|
87
90
|
provide: SELECT_OPTION_TOKEN,
|
|
88
91
|
useExisting: SelectOptionDirective,
|
|
@@ -104,6 +107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
104
107
|
'[attr.aria-disabled]': 'disabled',
|
|
105
108
|
'[class.et-select-option--disabled]': 'disabled',
|
|
106
109
|
'(click)': 'setSelectValue()',
|
|
110
|
+
'(mouseenter)': 'setActiveByHover()',
|
|
107
111
|
'(etObserveContent)': '_updateViewValue()',
|
|
108
112
|
role: 'option',
|
|
109
113
|
},
|
|
@@ -115,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
115
119
|
}], disabled: [{
|
|
116
120
|
type: Input
|
|
117
121
|
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9zZWxlY3QvZGlyZWN0aXZlcy9zZWxlY3Qtb3B0aW9uL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsRUFDZCxLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUV6QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBd0Isd0JBQXdCLENBQUMsQ0FBQztBQUV2RyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFvQmpCLE1BQU0sT0FBTyxxQkFBcUI7SUFsQmxDO1FBbUJtQixZQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUMxRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMs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QUFvQjt3QkFDMUMsSUFBSSxFQUFFLFFBQVE7cUJBQ2Y7b0JBQ0QsY0FBYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQzFDOzhCQVVLLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBVXJCLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG4gIGlzRGV2TW9kZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE9ic2VydmVDb250ZW50RGlyZWN0aXZlLCBzaWduYWxIb3N0QXR0cmlidXRlcywgc2lnbmFsSG9zdENsYXNzZXMgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20sIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU0VMRUNUX1RPS0VOIH0gZnJvbSAnLi4vc2VsZWN0JztcblxuZXhwb3J0IGNvbnN0IFNFTEVDVF9PUFRJT05fVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48U2VsZWN0T3B0aW9uRGlyZWN0aXZlPignRVRfU0VMRUNUX09QVElPTl9UT0tFTicpO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0VMRUNUX09QVElPTl9UT0tFTixcbiAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3RPcHRpb25EaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5ldC1zZWxlY3Qtb3B0aW9uLS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICcoY2xpY2spJzogJ3NldFNlbGVjdFZhbHVlKCknLFxuICAgICcoZXRPYnNlcnZlQ29udGVudCknOiAnX3VwZGF0ZVZpZXdWYWx1ZSgpJyxcbiAgICByb2xlOiAnb3B0aW9uJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtPYnNlcnZlQ29udGVudERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE9wdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3QgPSBpbmplY3QoU0VMRUNUX1RPS0VOKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdWYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50Py50cmltKCkgPz8gJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0FjdGl2ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICByZWFkb25seSBpZCA9IGBldC1zZWxlY3Qtb3B0aW9uLSR7dW5pcXVlSWQrK31gO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUkLnZhbHVlO1xuICB9XG4gIHNldCB2YWx1ZSh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX3ZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHVua25vd24+KG51bGwpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQkLnZhbHVlO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX2Rpc2FibGVkJC5uZXh0KGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpKTtcbiAgfVxuICBwcml2YXRlIF9kaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICByZWFkb25seSBpc1NlbGVjdGVkJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3NlbGVjdC5pbnB1dC52YWx1ZSQsIHRoaXMuX3ZhbHVlJF0pLnBpcGUoXG4gICAgbWFwKChbc2VsZWN0VmFsdWUsIG9wdGlvblZhbHVlXSkgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2VsZWN0VmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBzZWxlY3RWYWx1ZS5pbmNsdWRlcyhvcHRpb25WYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZWxlY3RWYWx1ZSA9PT0gb3B0aW9uVmFsdWU7XG4gICAgfSksXG4gICk7XG4gIHJlYWRvbmx5IGlzU2VsZWN0ZWQgPSB0b1NpZ25hbCh0aGlzLmlzU2VsZWN0ZWQkKTtcblxuICBnZXQgdmlld1ZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92aWV3VmFsdWUkLnZhbHVlO1xuICB9XG5cbiAgcmVhZG9ubHkgdmlld1ZhbHVlJCA9IHRoaXMuX3ZpZXdWYWx1ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IHRoaXMuX2Rpc2FibGVkJC5hc09ic2VydmFibGUoKTtcbiAgcmVhZG9ubHkgaXNBY3RpdmUkID0gdGhpcy5faXNBY3RpdmUkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1zZWxlY3Qtb3B0aW9uLS1zZWxlY3RlZCc6IHRoaXMuaXNTZWxlY3RlZCxcbiAgICAnZXQtc2VsZWN0LW9wdGlvbi0tYWN0aXZlJzogdG9TaWduYWwodGhpcy5faXNBY3RpdmUkKSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaG9zdEF0dHJpYnV0ZUJpbmRpbmdzID0gc2lnbmFsSG9zdEF0dHJpYnV0ZXMoe1xuICAgICdhcmlhLXNlbGVjdGVkJzogdGhpcy5pc1NlbGVjdGVkLFxuICB9KTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlVmlld1ZhbHVlKCk7XG4gIH1cblxuICBhc3luYyBzZXRTZWxlY3RWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdC5tdWx0aXBsZSkge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuX3NlbGVjdC5pbnB1dC52YWx1ZSkpIHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdTZWxlY3QgbXVsdGlwbGUgaXMgZW5hYmxlZCBidXQgdGhlIHZhbHVlIGlzIG5vdCBhbiBhcnJheScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpc1NlbGVjdGVkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5pc1NlbGVjdGVkJCk7XG5cbiAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdC5zZXRWYWx1ZSh0aGlzLl9zZWxlY3QuaW5wdXQudmFsdWUuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHRoaXMudmFsdWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdC5zZXRWYWx1ZShbLi4udGhpcy5fc2VsZWN0LmlucHV0LnZhbHVlLCB0aGlzLnZhbHVlXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NlbGVjdC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuX3NlbGVjdC51bm1vdW50U2VsZWN0Qm9keSgpO1xuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVWaWV3VmFsdWUoKSB7XG4gICAgdGhpcy5fdmlld1ZhbHVlJC5uZXh0KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnKTtcbiAgfVxuXG4gIF9zZXRBY3RpdmUoaXNBY3RpdmU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0FjdGl2ZSQubmV4dChpc0FjdGl2ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9zZWxlY3QvZGlyZWN0aXZlcy9zZWxlY3Qtb3B0aW9uL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsRUFDZCxLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUV6QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBd0Isd0JBQXdCLENBQUMsQ0FBQztBQUV2RyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFxQmpCLE1BQU0sT0FBTyxxQkFBcUI7SUFuQmxDO1FBb0JtQixZQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUMxRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMs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RSxVQUFVO3dCQUNsQyxvQ0FBb0MsRUFBRSxVQUFVO3dCQUNoRCxTQUFTLEVBQUUsa0JBQWtCO3dCQUM3QixjQUFjLEVBQUUsb0JBQW9CO3dCQUNwQyxvQkFBb0IsRUFBRSxvQkFBb0I7d0JBQzFDLElBQUksRUFBRSxRQUFRO3FCQUNmO29CQUNELGNBQWMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUMxQzs4QkFVSyxLQUFLO3NCQURSLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVVyQixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxuICBpc0Rldk1vZGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBPYnNlcnZlQ29udGVudERpcmVjdGl2ZSwgc2lnbmFsSG9zdEF0dHJpYnV0ZXMsIHNpZ25hbEhvc3RDbGFzc2VzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpcnN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNFTEVDVF9UT0tFTiB9IGZyb20gJy4uL3NlbGVjdCc7XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfT1BUSU9OX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFNlbGVjdE9wdGlvbkRpcmVjdGl2ZT4oJ0VUX1NFTEVDVF9PUFRJT05fVE9LRU4nKTtcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNFTEVDVF9PUFRJT05fVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogU2VsZWN0T3B0aW9uRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZXQtc2VsZWN0LW9wdGlvbi0tZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnKGNsaWNrKSc6ICdzZXRTZWxlY3RWYWx1ZSgpJyxcbiAgICAnKG1vdXNlZW50ZXIpJzogJ3NldEFjdGl2ZUJ5SG92ZXIoKScsXG4gICAgJyhldE9ic2VydmVDb250ZW50KSc6ICdfdXBkYXRlVmlld1ZhbHVlKCknLFxuICAgIHJvbGU6ICdvcHRpb24nLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW09ic2VydmVDb250ZW50RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdCA9IGluamVjdChTRUxFQ1RfVE9LRU4pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmlld1ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzQWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGlkID0gYGV0LXNlbGVjdC1vcHRpb24tJHt1bmlxdWVJZCsrfWA7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZSQudmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fdmFsdWUkLm5leHQodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5rbm93bj4obnVsbCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCQudmFsdWU7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQkLm5leHQoYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSkpO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGlzU2VsZWN0ZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5fc2VsZWN0LmlucHV0LnZhbHVlJCwgdGhpcy5fdmFsdWUkXSkucGlwZShcbiAgICBtYXAoKFtzZWxlY3RWYWx1ZSwgb3B0aW9uVmFsdWVdKSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdFZhbHVlLmluY2x1ZGVzKG9wdGlvblZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlbGVjdFZhbHVlID09PSBvcHRpb25WYWx1ZTtcbiAgICB9KSxcbiAgKTtcbiAgcmVhZG9ubHkgaXNTZWxlY3RlZCA9IHRvU2lnbmFsKHRoaXMuaXNTZWxlY3RlZCQpO1xuXG4gIGdldCB2aWV3VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdWYWx1ZSQudmFsdWU7XG4gIH1cblxuICByZWFkb25seSB2aWV3VmFsdWUkID0gdGhpcy5fdmlld1ZhbHVlJC5hc09ic2VydmFibGUoKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gdGhpcy5fZGlzYWJsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICByZWFkb25seSBpc0FjdGl2ZSQgPSB0aGlzLl9pc0FjdGl2ZSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzQmluZGluZ3MgPSBzaWduYWxIb3N0Q2xhc3Nlcyh7XG4gICAgJ2V0LXNlbGVjdC1vcHRpb24tLXNlbGVjdGVkJzogdGhpcy5pc1NlbGVjdGVkLFxuICAgICdldC1zZWxlY3Qtb3B0aW9uLS1hY3RpdmUnOiB0b1NpZ25hbCh0aGlzLl9pc0FjdGl2ZSQpLFxuICB9KTtcblxuICByZWFkb25seSBob3N0QXR0cmlidXRlQmluZGluZ3MgPSBzaWduYWxIb3N0QXR0cmlidXRlcyh7XG4gICAgJ2FyaWEtc2VsZWN0ZWQnOiB0aGlzLmlzU2VsZWN0ZWQsXG4gIH0pO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVWaWV3VmFsdWUoKTtcbiAgfVxuXG4gIGFzeW5jIHNldFNlbGVjdFZhbHVlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5fc2VsZWN0Lm11bHRpcGxlKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5fc2VsZWN0LmlucHV0LnZhbHVlKSkge1xuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1NlbGVjdCBtdWx0aXBsZSBpcyBlbmFibGVkIGJ1dCB0aGUgdmFsdWUgaXMgbm90IGFuIGFycmF5Jyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmlzU2VsZWN0ZWQkKTtcblxuICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0LnNldFZhbHVlKHRoaXMuX3NlbGVjdC5pbnB1dC52YWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdGhpcy52YWx1ZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0LnNldFZhbHVlKFsuLi50aGlzLl9zZWxlY3QuaW5wdXQudmFsdWUsIHRoaXMudmFsdWVdKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2VsZWN0LnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5fc2VsZWN0LnVubW91bnRTZWxlY3RCb2R5KCk7XG4gICAgfVxuICB9XG5cbiAgX3VwZGF0ZVZpZXdWYWx1ZSgpIHtcbiAgICB0aGlzLl92aWV3VmFsdWUkLm5leHQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50Py50cmltKCkgPz8gJycpO1xuICB9XG5cbiAgX3NldEFjdGl2ZShpc0FjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzQWN0aXZlJC5uZXh0KGlzQWN0aXZlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRBY3RpdmVCeUhvdmVyKCkge1xuICAgIHRoaXMuX3NlbGVjdC5fc2V0QWN0aXZlT3B0aW9uKHRoaXMpO1xuICB9XG59XG4iXX0=
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
46
46
|
}], sizes: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS1kYXRhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3BpY3R1cmUtZGF0YS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25FLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFLRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUdwQixhQUFRLEdBQWdCLElBQUksQ0FBQztRQUc3QixnQkFBVyxHQUFnQixJQUFJLENBQUM7UUFHaEMsb0JBQWUsR0FBZ0IsSUFBSSxDQUFDO1FBR3BDLGlCQUFZLEdBQWdCLElBQUksQ0FBQztRQUdqQyxlQUFVLEdBQWtDLElBQUksQ0FBQztRQUdqRCxRQUFHLEdBQWtCLElBQUksQ0FBQztRQUcxQixlQUFVLEdBQWtCLElBQUksQ0FBQztRQUdqQyxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUc1QixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUc3QixVQUFLLEdBQWtCLElBQUksQ0FBQztLQUM3Qjs4R0FqQ1ksb0JBQW9CO2tHQUFwQixvQkFBb0IsNEVBQ1gsZ0JBQWdCOzsyRkFEekIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFHQyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlU291cmNlIH0gZnJvbSAnLi9waWN0dXJlLmNvbXBvbmVudC50eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQaWN0dXJlRGF0YURpcmVjdGl2ZSB7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBoYXNQcmlvcml0eSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGltZ0NsYXNzOiBOZ0NsYXNzVHlwZSA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlndXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBwaWN0dXJlQ2xhc3M6IE5nQ2xhc3NUeXBlID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBkZWZhdWx0U3JjOiBQaWN0dXJlU291cmNlIHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgYWx0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWdjYXB0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICB3aWR0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgaGVpZ2h0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzaXplczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG59XG4iXX0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { NgClass, NgForOf, NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';
|
|
3
3
|
import { LetDirective } from '@ethlete/core';
|
|
4
4
|
import { PictureDataDirective } from './picture-data.directive';
|
|
5
5
|
import { IMAGE_CONFIG_TOKEN } from './picture.utils';
|
|
6
|
+
import { NormalizeSourcePipe } from './pipes';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "./picture-data.directive";
|
|
8
9
|
export class PictureComponent {
|
|
@@ -13,9 +14,6 @@ export class PictureComponent {
|
|
|
13
14
|
this.trackBySrc = (_, item) => item.srcset;
|
|
14
15
|
}
|
|
15
16
|
combineWithConfig(src) {
|
|
16
|
-
if (isDevMode() && src.type === '') {
|
|
17
|
-
console.warn(`The type attribute is missing for the following source`, src.srcset, this);
|
|
18
|
-
}
|
|
19
17
|
if (!this.config?.baseUrl || src.srcset.startsWith('http')) {
|
|
20
18
|
return src;
|
|
21
19
|
}
|
|
@@ -26,11 +24,11 @@ export class PictureComponent {
|
|
|
26
24
|
};
|
|
27
25
|
}
|
|
28
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PictureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: "sources" }, host: { classAttribute: "et-picture" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass", "defaultSrc", "defaultSrc", "alt", "alt", "figcaption", "figcaption", "width", "width", "height", "height", "sizes", "sizes"] }], ngImport: i0, template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: "sources" }, host: { classAttribute: "et-picture" }, hostDirectives: [{ directive: i1.PictureDataDirective, inputs: ["imgClass", "imgClass", "hasPriority", "hasPriority", "figureClass", "figureClass", "pictureClass", "pictureClass", "figcaptionClass", "figcaptionClass", "defaultSrc", "defaultSrc", "alt", "alt", "figcaption", "figcaption", "width", "width", "height", "height", "sizes", "sizes"] }], ngImport: i0, template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "pipe", type: NormalizeSourcePipe, name: "normalizeSource" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
30
28
|
}
|
|
31
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PictureComponent, decorators: [{
|
|
32
30
|
type: Component,
|
|
33
|
-
args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgForOf, NgClass, NgIf, LetDirective], host: {
|
|
31
|
+
args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgForOf, NgClass, NgIf, LetDirective, NormalizeSourcePipe], host: {
|
|
34
32
|
class: 'et-picture',
|
|
35
33
|
}, hostDirectives: [
|
|
36
34
|
{
|
|
@@ -49,8 +47,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
49
47
|
'sizes',
|
|
50
48
|
],
|
|
51
49
|
},
|
|
52
|
-
], template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n" }]
|
|
50
|
+
], template: "<figure [ngClass]=\"pictureData.figureClass\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureData.pictureClass\" class=\"et-picture-picture\">\n <ng-container *ngFor=\"let source of sources; trackBy: trackBySrc\">\n <source\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [type]=\"s.type\"\n [attr.srcset]=\"s.srcset\"\n [attr.sizes]=\"pictureData.sizes\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"pictureData.defaultSrc as source\">\n <img\n *etLet=\"combineWithConfig(source | normalizeSource) as s\"\n [attr.loading]=\"pictureData.hasPriority ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"pictureData.hasPriority ? 'high' : 'auto'\"\n [ngClass]=\"pictureData.imgClass\"\n [attr.srcset]=\"s.srcset\"\n [attr.type]=\"s.type\"\n [attr.alt]=\"pictureData.alt\"\n [attr.width]=\"pictureData.width\"\n [attr.height]=\"pictureData.height\"\n [attr.sizes]=\"pictureData.sizes\"\n class=\"et-picture-img\"\n />\n </ng-container>\n </picture>\n\n <figcaption *ngIf=\"pictureData.figcaption\" [ngClass]=\"pictureData.figcaptionClass\" class=\"et-picture-figcaption\">\n {{ pictureData.figcaption }}\n </figcaption>\n</figure>\n" }]
|
|
53
51
|
}], propDecorators: { sources: [{
|
|
54
52
|
type: Input
|
|
55
53
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waWN0dXJlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3BpY3R1cmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBK0I5QyxNQUFNLE9BQU8sZ0JBQWdCO0lBN0I3QjtRQThCcUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFHM0UsWUFBTyxHQUFrQyxFQUFFLENBQUM7UUFFbEMsZUFBVSxHQUFtQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7S0FjakY7SUFaVyxpQkFBaUIsQ0FBQyxHQUFrQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUQsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1RixPQUFPO1lBQ0wsR0FBRyxHQUFHO1lBQ04sTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUU7U0FDN0UsQ0FBQztJQUNKLENBQUM7OEdBcEJVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDBlQ3JDN0Isb3hDQWdDQSw0Q0RsQlksT0FBTyxtSEFBRSxPQUFPLG9GQUFFLElBQUksNkZBQUUsWUFBWSxrRUFBRSxtQkFBbUI7OzJGQXVCeEQsZ0JBQWdCO2tCQTdCNUIsU0FBUzsrQkFDRSxZQUFZLGlCQUVQLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixDQUFDLFFBQzlEO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQixrQkFDZTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsb0JBQW9COzRCQUMvQixNQUFNLEVBQUU7Z0NBQ04sVUFBVTtnQ0FDVixhQUFhO2dDQUNiLGFBQWE7Z0NBQ2IsY0FBYztnQ0FDZCxpQkFBaUI7Z0NBQ2pCLFlBQVk7Z0NBQ1osS0FBSztnQ0FDTCxZQUFZO2dDQUNaLE9BQU87Z0NBQ1AsUUFBUTtnQ0FDUixPQUFPOzZCQUNSO3lCQUNGO3FCQUNGOzhCQU9ELE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRyYWNrQnlGdW5jdGlvbiwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlRGF0YURpcmVjdGl2ZSB9IGZyb20gJy4vcGljdHVyZS1kYXRhLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQaWN0dXJlU291cmNlIH0gZnJvbSAnLi9waWN0dXJlLmNvbXBvbmVudC50eXBlcyc7XG5pbXBvcnQgeyBJTUFHRV9DT05GSUdfVE9LRU4gfSBmcm9tICcuL3BpY3R1cmUudXRpbHMnO1xuaW1wb3J0IHsgTm9ybWFsaXplU291cmNlUGlwZSB9IGZyb20gJy4vcGlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1waWN0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY3R1cmUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yT2YsIE5nQ2xhc3MsIE5nSWYsIExldERpcmVjdGl2ZSwgTm9ybWFsaXplU291cmNlUGlwZV0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LXBpY3R1cmUnLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogUGljdHVyZURhdGFEaXJlY3RpdmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ2ltZ0NsYXNzJyxcbiAgICAgICAgJ2hhc1ByaW9yaXR5JyxcbiAgICAgICAgJ2ZpZ3VyZUNsYXNzJyxcbiAgICAgICAgJ3BpY3R1cmVDbGFzcycsXG4gICAgICAgICdmaWdjYXB0aW9uQ2xhc3MnLFxuICAgICAgICAnZGVmYXVsdFNyYycsXG4gICAgICAgICdhbHQnLFxuICAgICAgICAnZmlnY2FwdGlvbicsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgICdoZWlnaHQnLFxuICAgICAgICAnc2l6ZXMnLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaWN0dXJlQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBpY3R1cmVEYXRhID0gaW5qZWN0KFBpY3R1cmVEYXRhRGlyZWN0aXZlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChJTUFHRV9DT05GSUdfVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgc291cmNlczogQXJyYXk8UGljdHVyZVNvdXJjZSB8IHN0cmluZz4gPSBbXTtcblxuICBwcm90ZWN0ZWQgdHJhY2tCeVNyYzogVHJhY2tCeUZ1bmN0aW9uPFBpY3R1cmVTb3VyY2U+ID0gKF8sIGl0ZW0pID0+IGl0ZW0uc3Jjc2V0O1xuXG4gIHByb3RlY3RlZCBjb21iaW5lV2l0aENvbmZpZyhzcmM6IFBpY3R1cmVTb3VyY2UpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5iYXNlVXJsIHx8IHNyYy5zcmNzZXQuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICByZXR1cm4gc3JjO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZEFwcGVuZFNsYXNoID0gIXRoaXMuY29uZmlnLmJhc2VVcmwuZW5kc1dpdGgoJy8nKSAmJiAhc3JjLnNyY3NldC5zdGFydHNXaXRoKCcvJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3JjLFxuICAgICAgc3Jjc2V0OiBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfSR7c2hvdWxkQXBwZW5kU2xhc2ggPyAnLycgOiAnJ30ke3NyYy5zcmNzZXR9YCxcbiAgICB9O1xuICB9XG59XG4iLCI8ZmlndXJlIFtuZ0NsYXNzXT1cInBpY3R1cmVEYXRhLmZpZ3VyZUNsYXNzXCIgY2xhc3M9XCJldC1waWN0dXJlLWZpZ3VyZVwiPlxuICA8cGljdHVyZSBbbmdDbGFzc109XCJwaWN0dXJlRGF0YS5waWN0dXJlQ2xhc3NcIiBjbGFzcz1cImV0LXBpY3R1cmUtcGljdHVyZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBzb3VyY2VzOyB0cmFja0J5OiB0cmFja0J5U3JjXCI+XG4gICAgICA8c291cmNlXG4gICAgICAgICpldExldD1cImNvbWJpbmVXaXRoQ29uZmlnKHNvdXJjZSB8IG5vcm1hbGl6ZVNvdXJjZSkgYXMgc1wiXG4gICAgICAgIFt0eXBlXT1cInMudHlwZVwiXG4gICAgICAgIFthdHRyLnNyY3NldF09XCJzLnNyY3NldFwiXG4gICAgICAgIFthdHRyLnNpemVzXT1cInBpY3R1cmVEYXRhLnNpemVzXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGljdHVyZURhdGEuZGVmYXVsdFNyYyBhcyBzb3VyY2VcIj5cbiAgICAgIDxpbWdcbiAgICAgICAgKmV0TGV0PVwiY29tYmluZVdpdGhDb25maWcoc291cmNlIHwgbm9ybWFsaXplU291cmNlKSBhcyBzXCJcbiAgICAgICAgW2F0dHIubG9hZGluZ109XCJwaWN0dXJlRGF0YS5oYXNQcmlvcml0eSA/ICdlYWdlcicgOiAnbGF6eSdcIlxuICAgICAgICBbYXR0ci5mZXRjaHByaW9yaXR5XT1cInBpY3R1cmVEYXRhLmhhc1ByaW9yaXR5ID8gJ2hpZ2gnIDogJ2F1dG8nXCJcbiAgICAgICAgW25nQ2xhc3NdPVwicGljdHVyZURhdGEuaW1nQ2xhc3NcIlxuICAgICAgICBbYXR0ci5zcmNzZXRdPVwicy5zcmNzZXRcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInMudHlwZVwiXG4gICAgICAgIFthdHRyLmFsdF09XCJwaWN0dXJlRGF0YS5hbHRcIlxuICAgICAgICBbYXR0ci53aWR0aF09XCJwaWN0dXJlRGF0YS53aWR0aFwiXG4gICAgICAgIFthdHRyLmhlaWdodF09XCJwaWN0dXJlRGF0YS5oZWlnaHRcIlxuICAgICAgICBbYXR0ci5zaXplc109XCJwaWN0dXJlRGF0YS5zaXplc1wiXG4gICAgICAgIGNsYXNzPVwiZXQtcGljdHVyZS1pbWdcIlxuICAgICAgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9waWN0dXJlPlxuXG4gIDxmaWdjYXB0aW9uICpuZ0lmPVwicGljdHVyZURhdGEuZmlnY2FwdGlvblwiIFtuZ0NsYXNzXT1cInBpY3R1cmVEYXRhLmZpZ2NhcHRpb25DbGFzc1wiIGNsYXNzPVwiZXQtcGljdHVyZS1maWdjYXB0aW9uXCI+XG4gICAge3sgcGljdHVyZURhdGEuZmlnY2FwdGlvbiB9fVxuICA8L2ZpZ2NhcHRpb24+XG48L2ZpZ3VyZT5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waWN0dXJlLmNvbXBvbmVudC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQaWN0dXJlU291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBtaW1lIHR5cGUgb2YgdGhlIGltYWdlLlxuICAgKiBAZXhhbXBsZSBgaW1hZ2UvanBlZ2BcbiAgICovXG4gIHR5cGU6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2Ugc2V0IG9mIHRoZSBpbWFnZS4gQ2FuIGJlIGVpdGhlciBhIHNpbmdsZSBVUkwgb3IgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBVUkxzLlxuICAgKiBAZXhhbXBsZSBgaHR0cHM6Ly9leGFtcGxlLmNvbS9pbWFnZS5qcGdgXG4gICAqIEBleGFtcGxlIGBodHRwczovL2V4YW1wbGUuY29tL2ltYWdlLmpwZywgaHR0cHM6Ly9leGFtcGxlLmNvbS9pbWFnZUAyeC5qcGdgXG4gICAqL1xuICBzcmNzZXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWN0dXJlQ29uZmlnIHtcbiAgYmFzZVVybD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './normalize-source';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ub3JtYWxpemUtc291cmNlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './normalize-source.pipe';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9waXBlcy9ub3JtYWxpemUtc291cmNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25vcm1hbGl6ZS1zb3VyY2UucGlwZSc7XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { normalizeSource } from './normalize-source.util';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NormalizeSourcePipe {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.transform = normalizeSource;
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, isStandalone: true, name: "normalizeSource" }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: NormalizeSourcePipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'normalizeSource',
|
|
15
|
+
standalone: true,
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXNvdXJjZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3BpY3R1cmUvcGlwZXMvbm9ybWFsaXplLXNvdXJjZS9ub3JtYWxpemUtc291cmNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU0xRCxNQUFNLE9BQU8sbUJBQW1CO0lBSmhDO1FBS0UsY0FBUyxHQUFHLGVBQWUsQ0FBQztLQUM3Qjs4R0FGWSxtQkFBbUI7NEdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBub3JtYWxpemVTb3VyY2UgfSBmcm9tICcuL25vcm1hbGl6ZS1zb3VyY2UudXRpbCc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ25vcm1hbGl6ZVNvdXJjZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5vcm1hbGl6ZVNvdXJjZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtID0gbm9ybWFsaXplU291cmNlO1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { inferMimeType } from '@ethlete/core';
|
|
2
|
+
export const normalizeSource = (source) => {
|
|
3
|
+
if (typeof source === 'string') {
|
|
4
|
+
return { type: inferMimeType(source), srcset: source };
|
|
5
|
+
}
|
|
6
|
+
else {
|
|
7
|
+
const mimeType = source.type && source.type !== '' ? source.type : inferMimeType(source.srcset);
|
|
8
|
+
return { type: mimeType, srcset: source.srcset };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXNvdXJjZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3BpY3R1cmUvcGlwZXMvbm9ybWFsaXplLXNvdXJjZS9ub3JtYWxpemUtc291cmNlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUE4QixFQUFFLEVBQUU7SUFDaEUsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDOUIsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBbUIsQ0FBQztLQUN6RTtTQUFNO1FBQ0wsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBbUIsQ0FBQztLQUNuRTtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluZmVyTWltZVR5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFBpY3R1cmVTb3VyY2UgfSBmcm9tICcuLi8uLi9waWN0dXJlLmNvbXBvbmVudC50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVTb3VyY2UgPSAoc291cmNlOiBzdHJpbmcgfCBQaWN0dXJlU291cmNlKSA9PiB7XG4gIGlmICh0eXBlb2Ygc291cmNlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7IHR5cGU6IGluZmVyTWltZVR5cGUoc291cmNlKSwgc3Jjc2V0OiBzb3VyY2UgfSBhcyBQaWN0dXJlU291cmNlO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1pbWVUeXBlID0gc291cmNlLnR5cGUgJiYgc291cmNlLnR5cGUgIT09ICcnID8gc291cmNlLnR5cGUgOiBpbmZlck1pbWVUeXBlKHNvdXJjZS5zcmNzZXQpO1xuICAgIHJldHVybiB7IHR5cGU6IG1pbWVUeXBlLCBzcmNzZXQ6IHNvdXJjZS5zcmNzZXQgfSBhcyBQaWN0dXJlU291cmNlO1xuICB9XG59O1xuIl19
|