@netgrif/components-core 7.0.0-rc.13 → 7.0.0-rc.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/filter/models/case-search-request-body.mjs +1 -1
- package/esm2022/lib/navigation/dashboard/abstract-dashboard.component.mjs +9 -3
- package/esm2022/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.mjs +10 -2
- package/esm2022/lib/navigation/model/group-navigation-constants.mjs +2 -2
- package/esm2022/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +49 -3
- package/esm2022/lib/navigation/navigation-double-drawer/service/double-drawer-navigation.service.mjs +23 -13
- package/esm2022/lib/navigation/service/path.service.mjs +36 -3
- package/esm2022/lib/panel/abstract/panel-with-immediate-data.mjs +30 -11
- package/esm2022/lib/panel/public-api.mjs +2 -4
- package/esm2022/lib/panel/task-panel/abstract-task-panel.component.mjs +13 -1
- package/esm2022/lib/panel/task-panel-data/task-panel-data.mjs +2 -0
- package/esm2022/lib/panel/task-panel-single/abstract-single-task.component.mjs +1 -1
- package/esm2022/lib/resources/interface/immediate-data.mjs +1 -1
- package/esm2022/lib/task/services/assign-task.service.mjs +17 -10
- package/esm2022/lib/task/services/cancel-task.service.mjs +11 -4
- package/esm2022/lib/task/services/finish-task.service.mjs +11 -4
- package/esm2022/lib/task/services/task-data.service.mjs +2 -2
- package/esm2022/lib/task-content/model/task-content-injection-token.mjs +3 -0
- package/esm2022/lib/task-content/model/task-content-service-type.mjs +12 -0
- package/esm2022/lib/task-content/public-api.mjs +4 -1
- package/esm2022/lib/task-content/services/task-content-service-factory.mjs +37 -0
- package/esm2022/lib/utility/navigation-item-default-headers-factory.mjs +2 -1
- package/esm2022/lib/view/public-api.mjs +3 -1
- package/esm2022/lib/view/task-view/abstract-single-task-view.component.mjs +1 -1
- package/esm2022/lib/view/task-view/abstract-task-view.mjs +1 -1
- package/esm2022/lib/view/task-view/components/default-task-panel-list/abstract-default-task-list.component.mjs +128 -0
- package/esm2022/lib/view/task-view/components/task-panel-list/abstract-task-list.component.mjs +52 -0
- package/esm2022/lib/view/task-view/components/task-panel-list-pagination/abstract-task-list-pagination.component.mjs +59 -0
- package/esm2022/lib/view/task-view/models/task-page-load-request-result.mjs +1 -1
- package/esm2022/lib/view/task-view/service/task-view.service.mjs +1 -1
- package/fesm2022/netgrif-components-core.mjs +917 -725
- package/fesm2022/netgrif-components-core.mjs.map +1 -1
- package/lib/filter/models/case-search-request-body.d.ts +5 -1
- package/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.d.ts +3 -1
- package/lib/navigation/model/group-navigation-constants.d.ts +1 -1
- package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +6 -2
- package/lib/navigation/navigation-double-drawer/service/double-drawer-navigation.service.d.ts +5 -2
- package/lib/navigation/service/path.service.d.ts +9 -1
- package/lib/panel/abstract/panel-with-immediate-data.d.ts +2 -0
- package/lib/panel/public-api.d.ts +1 -3
- package/lib/panel/task-panel/abstract-task-panel.component.d.ts +1 -1
- package/lib/panel/{task-panel-list/task-panel-data → task-panel-data}/task-panel-data.d.ts +2 -2
- package/lib/panel/task-panel-single/abstract-single-task.component.d.ts +1 -1
- package/lib/resources/interface/immediate-data.d.ts +2 -1
- package/lib/task/services/assign-task.service.d.ts +4 -2
- package/lib/task/services/cancel-task.service.d.ts +4 -2
- package/lib/task/services/finish-task.service.d.ts +4 -2
- package/lib/task-content/model/task-content-injection-token.d.ts +3 -0
- package/lib/task-content/model/task-content-service-type.d.ts +10 -0
- package/lib/task-content/public-api.d.ts +3 -0
- package/lib/task-content/services/task-content-service-factory.d.ts +20 -0
- package/lib/view/public-api.d.ts +2 -0
- package/lib/view/task-view/abstract-single-task-view.component.d.ts +1 -1
- package/lib/view/task-view/abstract-task-view.d.ts +1 -1
- package/lib/{panel/task-panel-list → view/task-view/components}/default-task-panel-list/abstract-default-task-list.component.d.ts +7 -7
- package/lib/{panel → view/task-view/components}/task-panel-list/abstract-task-list.component.d.ts +5 -5
- package/lib/{panel/task-panel-list → view/task-view/components}/task-panel-list-pagination/abstract-task-list-pagination.component.d.ts +4 -4
- package/lib/view/task-view/models/task-page-load-request-result.d.ts +1 -1
- package/lib/view/task-view/service/task-view.service.d.ts +1 -1
- package/package.json +1 -1
- package/esm2022/lib/panel/task-panel-list/abstract-task-list.component.mjs +0 -52
- package/esm2022/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.component.mjs +0 -128
- package/esm2022/lib/panel/task-panel-list/task-panel-data/task-panel-data.mjs +0 -2
- package/esm2022/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.mjs +0 -59
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zZWFyY2gtcmVxdWVzdC1ib2R5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9maWx0ZXIvbW9kZWxzL2Nhc2Utc2VhcmNoLXJlcXVlc3QtYm9keS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZXNjcmliZXMgb2JqZWN0cyB0aGF0IGFyZSB1c2VkIHRvIHNlYXJjaC9maWx0ZXIgY2FzZXMgZnJvbSB0aGUgYmFja2VuZC4gUmV0dXJuZWQgY2FzZXMgbXVzdCBmdWxmaWxsIGFsbCBwcm92aWRlZCBjcml0ZXJpYS5cbiAqXG4gKiBUaGlzIG9iamVjdCBpcyB1c2VkIGFzIHBhcnQgb2YgYSB7QGxpbmsgRmlsdGVyfSBvYmplY3QgZm9yIFtzZWFyY2hDYXNlcygpXXtAbGluayBDYXNlUmVzb3VyY2VTZXJ2aWNlI3NlYXJjaENhc2VzfVxuICogbWV0aG9kIGluIHtAbGluayBDYXNlUmVzb3VyY2VTZXJ2aWNlfS5cbiAqXG4gKiBOb3QgdG8gYmUgY29uZnVzZWQgd2l0aCB7QGxpbmsgQ2FzZUdldFJlcXVlc3RCb2R5fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYXNlU2VhcmNoUmVxdWVzdEJvZHkge1xuICAgIC8qKlxuICAgICAqIFJldHVybmVkIGNhc2VzIGFyZSBpbnN0YW5jZXMgb2YgdGhlIHNwZWNpZmllZCBQZXRyaU5ldC5cbiAgICAgKiBJZiBtb3JlIHRoYW4gb25lIFBldHJpTmV0IGlzIHNwZWNpZmllZCwgdGhlIHJldHVybmVkIGNhc2VzIGFyZSBpbnN0YW5jZXMgb2Ygb25lIG9mIHRoZW0uXG4gICAgICovXG4gICAgcHJvY2Vzcz86IFBldHJpTmV0U2VhcmNoUmVxdWVzdCB8IEFycmF5PFBldHJpTmV0U2VhcmNoUmVxdWVzdD47XG4gICAgLy8gVE9ETyBCVUcgMTcuNC4yMDIwIC0gTmVlZHMgaW52ZXN0aWdhdGlvbiwgYmFja2VuZCBoYXMgdGhlc2UgYXR0cmlidXRlcyBkZWNsYXJlZCBpbiBDYXNlU2VhcmNoUmVxdWVzdCBjbGFzcyBidXRcbiAgICAvLyAgRWxhc3RpY0Nhc2VTZXJ2aWNlIGRvZXNuJ3QgYXBwZWFyIHRvIHVzZSB0aGVtXG4gICAgLy8gcHJvY2Vzc0lkZW50aWZpZXI/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuICAgIC8vIHRpdGxlPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5lZCBjYXNlcyB3ZXJlIGNyZWF0ZWQgYnkgdGhlIHNwZWNpZmllZCBhdXRob3IuXG4gICAgICogSWYgbW9yZSB0aGFuIG9uZSBhdXRob3IgaXMgc3BlY2lmaWVkLCB0aGUgcmV0dXJuZWQgY2FzZXMgd2VyZSBjcmVhdGVkIGJ5IG9uZSBvZiB0aGVtLlxuICAgICAqL1xuICAgIGF1dGhvcj86IEF1dGhvclNlYXJjaFJlcXVlc3QgfCBBcnJheTxBdXRob3JTZWFyY2hSZXF1ZXN0PjtcbiAgICAvKipcbiAgICAgKiBNYXBzIGZpZWxkIElEcyB0byBmaWVsZCB2YWx1ZXMuIFJldHVybmVkIGNhc2VzIG11c3QgaGF2ZSBkYXRhIGZpZWxkcyB3aXRoIHRoZSBwcm92aWRlZCBJRHMgdGhhdCBoYXZlIHRoZSBwcm92aWRlZCB2YWx1ZXMuXG4gICAgICogSWYgbW9yZSB0aGFuIG9uZSBmaWVsZC12YWx1ZSBwYWlyIGlzIHNwZWNpZmllZCwgdGhlIGRhdGEgc2V0IG9mIHRoZSByZXR1cm5lZCBjYXNlcyBtdXN0IG1hdGNoIGFsbCBvZiB0aGUgcGFpcnMuXG4gICAgICovXG4gICAgZGF0YT86IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nXG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBBIGZ1bGwgdGV4dCBxdWVyeSBvbiBhbGwgaW5kZXhlZCBmaWVsZHMsIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3IgZnVsbCB0ZXh0IHNlYXJjaGluZy5cbiAgICAgKlxuICAgICAqIEZ1bGwgdGV4dCBzZWFyY2ggaXMgZW5hYmxlZCBvbiBjYXNlJ3MgdGl0bGUsIGF1dGhvcidzIG5hbWUgYW5kIGF1dGhvcidzIGVtYWlsIGJ5IGRlZmF1bHQuXG4gICAgICovXG4gICAgZnVsbFRleHQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogUmV0dXJuZWQgY2FzZXMsIHRoYXQgaGF2ZSB0YXNrcywgdGhhdCBjb3JyZXNwb25kIHRvIHNwZWNpZmllZCB0cmFuc2l0aW9uIElELlxuICAgICAqIElmIG1vcmUgdGhhbiBvbmUgdHJhbnNpdGlvbiBJRCBpcyBzcGVjaWZpZWQsIHRoZSByZXR1cm5lZCBjYXNlcyBtdXN0IGhhdmUgdGFza3MgdGhhdCBjb3JyZXNwb25kIHRvIGF0IGxlYXN0IG9uZSBvZiB0aGVtLlxuICAgICAqL1xuICAgIHRyYW5zaXRpb24/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIFJldHVybmVkIGNhc2VzIG11c3QgaGF2ZSBhbiBhY3RpdmUgcm9sZSB3aXRoIHRoZSBzcGVjaWZpZWQgcm9sZSBJRC5cbiAgICAgKiBJZiBtb3JlIHRoYW4gb25lIHJvbGUgSUQgaXMgc3BlY2lmaWVkLCB0aGUgcmV0dXJuZWQgY2FzZXMgbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBvZiB0aGVtIGFjdGl2ZS5cbiAgICAgKi9cbiAgICByb2xlPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBBbiBFbGFzdGljc2VhcmNoIFF1ZXJ5IHN0cmluZyBxdWVyeS5cbiAgICAgKlxuICAgICAqIFNlZSBFbGFzdGljc2VhcmNoJ3NcbiAgICAgKiBbZG9jdW1lbnRhdGlvbl17QGxpbmsgaHR0cHM6Ly93d3cuZWxhc3RpYy5jby9ndWlkZS9lbi9lbGFzdGljc2VhcmNoL3JlZmVyZW5jZS9jdXJyZW50L3F1ZXJ5LWRzbC1xdWVyeS1zdHJpbmctcXVlcnkuaHRtbH1cbiAgICAgKiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBxdWVyeT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSZXR1cm5lZCBjYXNlcyBtdXN0IGhhdmUgdGhlIHNwZWNpZmllZCBJRC5cbiAgICAgKiBJZiBtb3JlIHRoYW4gb25lIElEIGlzIHNwZWNpZmllZCwgdGhlIHJldHVybmVkIGNhc2VzIG11c3QgaGF2ZSBvbmUgb2YgdGhlbS5cbiAgICAgKi9cbiAgICBpZD86IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBpZGAgaW5zdGVhZC4gVGhpcyBmaWVsZCByZW1haW5zIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFuZCBtYXkgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLlxuICAgICAqL1xuICAgIHN0cmluZ0lkPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5lZCBjYXNlcyBtdXN0IGJlIGluc3RhbmNlcyBvZiBwcm9jZXNzZXMgb2YgdGhlIGdyb3VwIHdpdGggdGhlIHNwZWNpZmllZCBJRC5cbiAgICAgKlxuICAgICAqIElmIG1vcmUgdGhhbiBvbmUgZ3JvdXAgSUQgaXMgc3BlY2lmaWVkLCB0aGUgcmV0dXJuZWQgY2FzZXMgYXJlIGluc3RhbmNlcyBvZiBvbmUgb2YgdGhlIGdyb3Vwcy5cbiAgICAgKi9cbiAgICBncm91cD86IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG5cbiAgICB1cmlOb2RlSWQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zZWFyY2gtcmVxdWVzdC1ib2R5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9maWx0ZXIvbW9kZWxzL2Nhc2Utc2VhcmNoLXJlcXVlc3QtYm9keS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZXNjcmliZXMgb2JqZWN0cyB0aGF0IGFyZSB1c2VkIHRvIHNlYXJjaC9maWx0ZXIgY2FzZXMgZnJvbSB0aGUgYmFja2VuZC4gUmV0dXJuZWQgY2FzZXMgbXVzdCBmdWxmaWxsIGFsbCBwcm92aWRlZCBjcml0ZXJpYS5cbiAqXG4gKiBUaGlzIG9iamVjdCBpcyB1c2VkIGFzIHBhcnQgb2YgYSB7QGxpbmsgRmlsdGVyfSBvYmplY3QgZm9yIFtzZWFyY2hDYXNlcygpXXtAbGluayBDYXNlUmVzb3VyY2VTZXJ2aWNlI3NlYXJjaENhc2VzfVxuICogbWV0aG9kIGluIHtAbGluayBDYXNlUmVzb3VyY2VTZXJ2aWNlfS5cbiAqXG4gKiBOb3QgdG8gYmUgY29uZnVzZWQgd2l0aCB7QGxpbmsgQ2FzZUdldFJlcXVlc3RCb2R5fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYXNlU2VhcmNoUmVxdWVzdEJvZHkge1xuICAgIC8qKlxuICAgICAqIFJldHVybmVkIGNhc2VzIGFyZSBpbnN0YW5jZXMgb2YgdGhlIHNwZWNpZmllZCBQZXRyaU5ldC5cbiAgICAgKiBJZiBtb3JlIHRoYW4gb25lIFBldHJpTmV0IGlzIHNwZWNpZmllZCwgdGhlIHJldHVybmVkIGNhc2VzIGFyZSBpbnN0YW5jZXMgb2Ygb25lIG9mIHRoZW0uXG4gICAgICovXG4gICAgcHJvY2Vzcz86IFBldHJpTmV0U2VhcmNoUmVxdWVzdCB8IEFycmF5PFBldHJpTmV0U2VhcmNoUmVxdWVzdD47XG4gICAgLy8gVE9ETyBCVUcgMTcuNC4yMDIwIC0gTmVlZHMgaW52ZXN0aWdhdGlvbiwgYmFja2VuZCBoYXMgdGhlc2UgYXR0cmlidXRlcyBkZWNsYXJlZCBpbiBDYXNlU2VhcmNoUmVxdWVzdCBjbGFzcyBidXRcbiAgICAvLyAgRWxhc3RpY0Nhc2VTZXJ2aWNlIGRvZXNuJ3QgYXBwZWFyIHRvIHVzZSB0aGVtXG4gICAgLy8gcHJvY2Vzc0lkZW50aWZpZXI/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuICAgIC8vIHRpdGxlPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5lZCBjYXNlcyB3ZXJlIGNyZWF0ZWQgYnkgdGhlIHNwZWNpZmllZCBhdXRob3IuXG4gICAgICogSWYgbW9yZSB0aGFuIG9uZSBhdXRob3IgaXMgc3BlY2lmaWVkLCB0aGUgcmV0dXJuZWQgY2FzZXMgd2VyZSBjcmVhdGVkIGJ5IG9uZSBvZiB0aGVtLlxuICAgICAqL1xuICAgIGF1dGhvcj86IEF1dGhvclNlYXJjaFJlcXVlc3QgfCBBcnJheTxBdXRob3JTZWFyY2hSZXF1ZXN0PjtcbiAgICAvKipcbiAgICAgKiBNYXBzIGZpZWxkIElEcyB0byBmaWVsZCB2YWx1ZXMuIFJldHVybmVkIGNhc2VzIG11c3QgaGF2ZSBkYXRhIGZpZWxkcyB3aXRoIHRoZSBwcm92aWRlZCBJRHMgdGhhdCBoYXZlIHRoZSBwcm92aWRlZCB2YWx1ZXMuXG4gICAgICogSWYgbW9yZSB0aGFuIG9uZSBmaWVsZC12YWx1ZSBwYWlyIGlzIHNwZWNpZmllZCwgdGhlIGRhdGEgc2V0IG9mIHRoZSByZXR1cm5lZCBjYXNlcyBtdXN0IG1hdGNoIGFsbCBvZiB0aGUgcGFpcnMuXG4gICAgICovXG4gICAgZGF0YT86IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nXG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBBIGZ1bGwgdGV4dCBxdWVyeSBvbiBhbGwgaW5kZXhlZCBmaWVsZHMsIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3IgZnVsbCB0ZXh0IHNlYXJjaGluZy5cbiAgICAgKlxuICAgICAqIEZ1bGwgdGV4dCBzZWFyY2ggaXMgZW5hYmxlZCBvbiBjYXNlJ3MgdGl0bGUsIGF1dGhvcidzIG5hbWUgYW5kIGF1dGhvcidzIGVtYWlsIGJ5IGRlZmF1bHQuXG4gICAgICovXG4gICAgZnVsbFRleHQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogUmV0dXJuZWQgY2FzZXMsIHRoYXQgaGF2ZSB0YXNrcywgdGhhdCBjb3JyZXNwb25kIHRvIHNwZWNpZmllZCB0cmFuc2l0aW9uIElELlxuICAgICAqIElmIG1vcmUgdGhhbiBvbmUgdHJhbnNpdGlvbiBJRCBpcyBzcGVjaWZpZWQsIHRoZSByZXR1cm5lZCBjYXNlcyBtdXN0IGhhdmUgdGFza3MgdGhhdCBjb3JyZXNwb25kIHRvIGF0IGxlYXN0IG9uZSBvZiB0aGVtLlxuICAgICAqL1xuICAgIHRyYW5zaXRpb24/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIFJldHVybmVkIGNhc2VzIG11c3QgaGF2ZSBhbiBhY3RpdmUgcm9sZSB3aXRoIHRoZSBzcGVjaWZpZWQgcm9sZSBJRC5cbiAgICAgKiBJZiBtb3JlIHRoYW4gb25lIHJvbGUgSUQgaXMgc3BlY2lmaWVkLCB0aGUgcmV0dXJuZWQgY2FzZXMgbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBvZiB0aGVtIGFjdGl2ZS5cbiAgICAgKi9cbiAgICByb2xlPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBBbiBFbGFzdGljc2VhcmNoIFF1ZXJ5IHN0cmluZyBxdWVyeS5cbiAgICAgKlxuICAgICAqIFNlZSBFbGFzdGljc2VhcmNoJ3NcbiAgICAgKiBbZG9jdW1lbnRhdGlvbl17QGxpbmsgaHR0cHM6Ly93d3cuZWxhc3RpYy5jby9ndWlkZS9lbi9lbGFzdGljc2VhcmNoL3JlZmVyZW5jZS9jdXJyZW50L3F1ZXJ5LWRzbC1xdWVyeS1zdHJpbmctcXVlcnkuaHRtbH1cbiAgICAgKiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBxdWVyeT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSZXR1cm5lZCBjYXNlcyBtdXN0IGhhdmUgdGhlIHNwZWNpZmllZCBJRC5cbiAgICAgKiBJZiBtb3JlIHRoYW4gb25lIElEIGlzIHNwZWNpZmllZCwgdGhlIHJldHVybmVkIGNhc2VzIG11c3QgaGF2ZSBvbmUgb2YgdGhlbS5cbiAgICAgKi9cbiAgICBpZD86IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBpZGAgaW5zdGVhZC4gVGhpcyBmaWVsZCByZW1haW5zIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFuZCBtYXkgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLlxuICAgICAqL1xuICAgIHN0cmluZ0lkPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5lZCBjYXNlcyBtdXN0IGJlIGluc3RhbmNlcyBvZiBwcm9jZXNzZXMgb2YgdGhlIGdyb3VwIHdpdGggdGhlIHNwZWNpZmllZCBJRC5cbiAgICAgKlxuICAgICAqIElmIG1vcmUgdGhhbiBvbmUgZ3JvdXAgSUQgaXMgc3BlY2lmaWVkLCB0aGUgcmV0dXJuZWQgY2FzZXMgYXJlIGluc3RhbmNlcyBvZiBvbmUgb2YgdGhlIGdyb3Vwcy5cbiAgICAgKi9cbiAgICBncm91cD86IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG5cbiAgICB1cmlOb2RlSWQ/OiBzdHJpbmc7XG5cbiAgICB0YWdzPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmdcbiAgICB9O1xufVxuXG4vKipcbiAqIFF1ZXJpZXMgY2FzZXMgdGhhdCBhcmUgaW5zdGFuY2VzIG9mIGEgc3BlY2lmaWMgUGV0cmlOZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQZXRyaU5ldFNlYXJjaFJlcXVlc3Qge1xuICAgIC8qKlxuICAgICAqIFF1ZXJpZWQgUGV0cmlOZXQgaWRlbnRpZmllclxuICAgICAqL1xuICAgIGlkZW50aWZpZXI/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogUXVlcmllZCBQZXRyaU5ldCBtb25nbyBJRFxuICAgICAqL1xuICAgIHByb2Nlc3NJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBRdWVyaWVzIGNhc2VzIHRoYXQgd2VyZSBjcmVhdGVkIGJ5IGEgc3BlY2lmaWMgYXV0aG9yLiBDYXNlJ3MgYXV0aG9yIG11c3QgbWF0Y2ggYWxsIHByb3ZpZGVkIGF0dHJpYnV0ZXMgdG8gZnVsZmlsbCB0aGUgcXVlcnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aG9yU2VhcmNoUmVxdWVzdCB7XG4gICAgLyoqXG4gICAgICogQXV0aG9yJ3MgdXNlciBJRFxuICAgICAqL1xuICAgIGlkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEF1dGhvcidzIHVzZXIgbmFtZVxuICAgICAqL1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQXV0aG9yJ3MgdXNlciBlbWFpbFxuICAgICAqL1xuICAgIGVtYWlsPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -224,11 +224,17 @@ export class AbstractDashboardComponent {
|
|
|
224
224
|
return;
|
|
225
225
|
}
|
|
226
226
|
const itemRoute = this._doubleDrawerNavigationService.getItemRoutingPath(menuItemCase);
|
|
227
|
-
this._pathService.activePath = this.getFieldValue(menuItemCase, GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH);
|
|
228
227
|
const nodePath = this.getFieldValue(menuItemCase, GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH);
|
|
229
|
-
|
|
228
|
+
const menuItem = this._doubleDrawerNavigationService.resolveItemCaseToNavigationItem(menuItemCase);
|
|
229
|
+
if (menuItem) {
|
|
230
|
+
this._doubleDrawerNavigationService.currentNavigationItem = menuItem;
|
|
231
|
+
}
|
|
232
|
+
if (menuItemCase.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_HAS_CHILDREN)?.value && nodePath) {
|
|
230
233
|
this._pathService.activePath = nodePath;
|
|
231
234
|
}
|
|
235
|
+
else if (nodePath) {
|
|
236
|
+
this._pathService.activePath = this._doubleDrawerNavigationService.extractParentPath(nodePath);
|
|
237
|
+
}
|
|
232
238
|
this._router.navigate([itemRoute]);
|
|
233
239
|
}
|
|
234
240
|
else {
|
|
@@ -245,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
245
251
|
template: ''
|
|
246
252
|
}]
|
|
247
253
|
}], ctorParameters: () => [{ type: i1.CaseResourceService }, { type: i2.LoggerService }, { type: i3.PathService }, { type: i4.Router }, { type: i5.LanguageService }, { type: i6.DoubleDrawerNavigationService }] });
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi9kYXNoYm9hcmQvYWJzdHJhY3QtZGFzaGJvYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQU81RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHL0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7OztBQU83RSxNQUFNLE9BQWdCLDBCQUEwQjtJQW9EOUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBdkRQLE1BQU0sQ0FBVSxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7SUFFbEQsTUFBTSxDQUFVLCtCQUErQixHQUFHLHNCQUFzQixDQUFDO0lBRXpFLE1BQU0sQ0FBVSxpQ0FBaUMsR0FBRyxjQUFjLENBQUM7SUFDbkUsTUFBTSxDQUFVLGdEQUFnRCxHQUFHLDZCQUE2QixDQUFDO0lBQ2pHLE1BQU0sQ0FBVSw2Q0FBNkMsR0FBRywwQkFBMEIsQ0FBQztJQUMzRixNQUFNLENBQVUsOENBQThDLEdBQUcsMkJBQTJCLENBQUM7SUFDN0YsTUFBTSxDQUFVLCtDQUErQyxHQUFHLDRCQUE0QixDQUFDO0lBQy9GLE1BQU0sQ0FBVSw2Q0FBNkMsR0FBRywwQkFBMEIsQ0FBQztJQUMzRixNQUFNLENBQVUsbUNBQW1DLEdBQUcsZ0JBQWdCLENBQUM7SUFD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LHFEQUZsQyxFQUFFOzs0RkFFTSwwQkFBMEI7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7UGFnaW5hdGlvblBhcmFtc30gZnJvbSAnLi4vLi4vdXRpbGl0eS9wYWdpbmF0aW9uL3BhZ2luYXRpb24tcGFyYW1zJztcbmltcG9ydCB7VG9vbGJhckNvbmZpZ30gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWNvbmZpZyc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge0Nhc2VSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvY2FzZS1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7RG91YmxlRHJhd2VyTmF2aWdhdGlvblNlcnZpY2V9IGZyb20gJy4uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9zZXJ2aWNlL2RvdWJsZS1kcmF3ZXItbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZVNlYXJjaFJlcXVlc3RCb2R5fSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL2Nhc2Utc2VhcmNoLXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9zaW1wbGUtZmlsdGVyJztcbmltcG9ydCB7STE4bkZpZWxkVmFsdWV9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL2kxOG4tZmllbGQvbW9kZWxzL2kxOG4tZmllbGQtdmFsdWUnO1xuaW1wb3J0IHtMYW5ndWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7TG9hZGluZ0VtaXR0ZXJ9IGZyb20gJy4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyJztcbmltcG9ydCB7UGF0aFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlL3BhdGguc2VydmljZVwiO1xuaW1wb3J0IHtHcm91cE5hdmlnYXRpb25Db25zdGFudHN9IGZyb20gXCIuLi9tb2RlbC9ncm91cC1uYXZpZ2F0aW9uLWNvbnN0YW50c1wiO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWRhc2hib2FyZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50IHtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUFJTl9EQVNIQk9BUkQgPSAnbWFpbl9kYXNoYm9hcmQnO1xuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfTUFOQUdFTUVOVF9JREVOVElGSUVSID0gJ2Rhc2hib2FyZF9tYW5hZ2VtZW50JztcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfSURfREFUQUZJRUxEID0gJ2Rhc2hib2FyZF9pZCc7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfTUFOQUdFTUVOVF9JVEVNX1RPX01FTlVfSVRFTV9EQVRBRklFTEQgPSAnZGFzaGJvYXJkX2l0ZW1fdG9fbWVudV9pdGVtJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX1NJTVBMRV9UT09MQkFSX0RBVEFGSUVMRCA9ICdzaW1wbGVfZGFzaGJvYXJkX3Rvb2xiYXInO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfUFJPRklMRV9UT09MQkFSX0RBVEFGSUVMRCA9ICdwcm9maWxlX2Rhc2hib2FyZF90b29sYmFyJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX0xBTkdVQUdFX1RPT0xCQVJfREFUQUZJRUxEID0gJ2xhbmd1YWdlX2Rhc2hib2FyZF90b29sYmFyJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX0xPR09VVF9UT09MQkFSX0RBVEFGSUVMRCA9ICdsb2dvdXRfZGFzaGJvYXJkX3Rvb2xiYXInO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfTkFNRV9EQVRBRklFTEQgPSAnZGFzaGJvYXJkX25hbWUnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfTE9HT19EQVRBRklFTEQgPSAnZGFzaGJvYXJkX2xvZ28nO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfSVRFTVNfT1JERVJfREFUQUZJRUxEID0gXCJpdGVtc19vcmRlclwiO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfUFJPRklMRV9VUkxfREFUQUZJRUxEID0gXCJwcm9maWxlX3VybFwiO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfTE9HSU5fVVJMX0RBVEFGSUVMRCA9IFwibG9naW5fdXJsXCI7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9JVEVNX0lDT05fREFUQUZJRUxEID0gJ2l0ZW1faWNvbic7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfSVRFTV9OQU1FX0RBVEFGSUVMRCA9ICdpdGVtX25hbWUnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX0lURU1fVVJMX0RBVEFGSUVMRCA9ICdleHRlcm5hbF91cmwnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX0lURU1fSU5URVJOQUxfREFUQUZJRUxEID0gJ2lzX2ludGVybmFsJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9JVEVNX0VYVEVSTkFMX0lDT05fREFUQUZJRUxEID0gJ2V4dGVybmFsX2ljb24nO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX0lURU1fRk9OVF9DT0xPUl9EQVRBRklFTEQgPSAnZm9udF9jb2xvcic7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfSVRFTV9GT05UX1dFSUdIVF9EQVRBRklFTEQgPSAnZm9udF93ZWlnaHQnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX0lURU1fSUNPTl9DT0xPUl9EQVRBRklFTEQgPSAnaWNvbl9jb2xvcic7XG5cbiAgICBwdWJsaWMgdG9vbGJhckNvbmZpZzogVG9vbGJhckNvbmZpZyA9IHtcbiAgICAgICAgcHJvZmlsZUVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICBsYW5ndWFnZUVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICBsb2dvdXRFbmFibGVkOiBmYWxzZSxcbiAgICAgICAgc2ltcGxlVG9vbGJhcjogdHJ1ZSxcbiAgICAgICAgdG9vbGJhck5hbWU6IHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ05ldGdyaWYnLFxuICAgICAgICAgICAgdHJhbnNsYXRpb25zOiB7fVxuICAgICAgICB9LFxuICAgICAgICB0b29sYmFyTG9nbzogJ2Fzc2V0cy9pbWcvbmV0Z3JpZl9mdWxsX3doaXRlLnN2ZycsXG4gICAgICAgIHByb2ZpbGVVcmw6ICdwcm9maWxlJyxcbiAgICAgICAgbG9naW5Vcmw6ICcnXG4gICAgfTtcblxuICAgIHB1YmxpYyBkYXNoYm9hcmRJZDogc3RyaW5nID0gQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuTUFJTl9EQVNIQk9BUkQ7XG4gICAgcHVibGljIGRhc2hib2FyZENhc2U6IENhc2U7XG4gICAgcHVibGljIGRhc2hib2FyZEl0ZW1zOiBBcnJheTxDYXNlPjtcbiAgICBwdWJsaWMgZGFzaGJvYXJkSXRlbXNNYXBwaW5nOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IENhc2VcbiAgICB9O1xuICAgIHByaXZhdGUgaXRlbXNMb2FkZWQ6IG51bWJlciA9IDA7XG5cbiAgICBwdWJsaWMgbG9hZGluZyQ6IExvYWRpbmdFbWl0dGVyID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9jYXNlUmVzb3VyY2U6IENhc2VSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BhdGhTZXJ2aWNlOiBQYXRoU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9yb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJvdGVjdGVkIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9kb3VibGVEcmF3ZXJOYXZpZ2F0aW9uU2VydmljZTogRG91YmxlRHJhd2VyTmF2aWdhdGlvblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5kYXNoYm9hcmRJdGVtc01hcHBpbmcgPSB7fTtcbiAgICAgICAgdGhpcy5kYXNoYm9hcmRJdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLmxvYWRpbmckLm9uKCk7XG4gICAgICAgIGNvbnN0IGRhc2hib2FyZE1hbmFnZW1lbnRTZWFyY2hCb2R5OiBDYXNlU2VhcmNoUmVxdWVzdEJvZHkgPSB7XG4gICAgICAgICAgICBwcm9jZXNzOiB7aWRlbnRpZmllcjogQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfSURFTlRJRklFUn0sXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgW0Fic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9NQU5BR0VNRU5UX0lEX0RBVEFGSUVMRF06IHRoaXMuZGFzaGJvYXJkSWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGRhc2hib2FyZE1hbmFnZW1lbnRQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgICAgICAuc2V0KFBhZ2luYXRpb25QYXJhbXMuUEFHRV9TSVpFLCAxKTtcbiAgICAgICAgdGhpcy5fY2FzZVJlc291cmNlLnNlYXJjaENhc2VzKFNpbXBsZUZpbHRlci5mcm9tQ2FzZVF1ZXJ5KGRhc2hib2FyZE1hbmFnZW1lbnRTZWFyY2hCb2R5KSwgZGFzaGJvYXJkTWFuYWdlbWVudFBhcmFtcykuc3Vic2NyaWJlKHJlc3VsdERhc2hib2FyZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBkYXNoYm9hcmRDb250ZW50ID0gcmVzdWx0RGFzaGJvYXJkLmNvbnRlbnQ7XG4gICAgICAgICAgICBpZiAoIWRhc2hib2FyZENvbnRlbnQgfHwgIWRhc2hib2FyZENvbnRlbnQubGVuZ3RoIHx8IGRhc2hib2FyZENvbnRlbnQubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKCdEYXNoYm9hcmQgbWFuYWdlbWVudCBjYXNlIG5vdCBmb3VuZC4nKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRhc2hib2FyZENhc2UgPSBkYXNoYm9hcmRDb250ZW50WzBdO1xuICAgICAgICAgICAgdGhpcy50b29sYmFyQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgIHByb2ZpbGVFbmFibGVkOiB0aGlzLmdldE1hbmFnZW1lbnRQcm9maWxlVG9vbGJhcih0aGlzLmRhc2hib2FyZENhc2UpLFxuICAgICAgICAgICAgICAgIGxhbmd1YWdlRW5hYmxlZDogdGhpcy5nZXRNYW5hZ2VtZW50TGFuZ3VhZ2VUb29sYmFyKHRoaXMuZGFzaGJvYXJkQ2FzZSksXG4gICAgICAgICAgICAgICAgbG9nb3V0RW5hYmxlZDogdGhpcy5nZXRNYW5hZ2VtZW50TG9nb3V0VG9vbGJhcih0aGlzLmRhc2hib2FyZENhc2UpLFxuICAgICAgICAgICAgICAgIHNpbXBsZVRvb2xiYXI6IHRoaXMuZ2V0TWFuYWdlbWVudFNpbXBsZVRvb2xiYXIodGhpcy5kYXNoYm9hcmRDYXNlKSxcbiAgICAgICAgICAgICAgICB0b29sYmFyTmFtZTogdGhpcy5nZXRNYW5hZ2VtZW50TmFtZSh0aGlzLmRhc2hib2FyZENhc2UpLFxuICAgICAgICAgICAgICAgIHRvb2xiYXJMb2dvOiB0aGlzLmdldE1hbmFnZW1lbnRMb2dvKHRoaXMuZGFzaGJvYXJkQ2FzZSksXG4gICAgICAgICAgICAgICAgcHJvZmlsZVVybDogdGhpcy5nZXRNYW5hZ2VtZW50UHJvZmlsZVVybCh0aGlzLmRhc2hib2FyZENhc2UpLFxuICAgICAgICAgICAgICAgIGxvZ2luVXJsOiB0aGlzLmdldE1hbmFnZW1lbnRMb2dpblVybCh0aGlzLmRhc2hib2FyZENhc2UpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGRhc2hib2FyZEl0ZW1zT3B0aW9ucyA9IHRoaXMuZGFzaGJvYXJkQ2FzZS5pbW1lZGlhdGVEYXRhXG4gICAgICAgICAgICAgICAgLmZpbmQoaW1tZWRpYXRlRmllbGQgPT4gaW1tZWRpYXRlRmllbGRbJ2ltcG9ydElkJ10gPT09IEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9NQU5BR0VNRU5UX0lURU1fVE9fTUVOVV9JVEVNX0RBVEFGSUVMRCkub3B0aW9ucztcbiAgICAgICAgICAgIGlmICghZGFzaGJvYXJkSXRlbXNPcHRpb25zIHx8IE9iamVjdC5rZXlzKGRhc2hib2FyZEl0ZW1zT3B0aW9ucykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nJC5vZmYoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGRhc2hib2FyZE1lbnVUb0l0ZW1zID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkSXRlbXNPcHRpb25zKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKFtrZXksIHZhbHVlXSkgPT4gKHZhbHVlIGFzIGFueSBhcyBJMThuRmllbGRWYWx1ZSkuZGVmYXVsdFZhbHVlICE9IG51bGwpXG4gICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhY2N1bVsodmFsdWUgYXMgYW55IGFzIEkxOG5GaWVsZFZhbHVlKS5kZWZhdWx0VmFsdWVdID0ga2V5O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICAgICAgICAgICAgfSwge30pO1xuXG4gICAgICAgICAgICBsZXQgZGFzaGJvYXJkSXRlbXNQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfU0laRSwgMTAwKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0RGFzaGJvYXJkSXRlbXMoZGFzaGJvYXJkSXRlbXNPcHRpb25zLCBkYXNoYm9hcmRJdGVtc1BhcmFtcyk7XG4gICAgICAgICAgICB0aGlzLmdldE1lbnVJdGVtcyhkYXNoYm9hcmRNZW51VG9JdGVtcywgZGFzaGJvYXJkSXRlbXNQYXJhbXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1lbnVJdGVtcyhkYXNoYm9hcmRNZW51VG9JdGVtczoge30sIGRhc2hib2FyZEl0ZW1zUGFyYW1zOiBIdHRwUGFyYW1zKSB7XG4gICAgICAgIGxldCBtZW51SXRlbXNTZWFyY2hCb2R5ID0ge1xuICAgICAgICAgICAgaWQ6IE9iamVjdC5rZXlzKGRhc2hib2FyZE1lbnVUb0l0ZW1zKVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9jYXNlUmVzb3VyY2Uuc2VhcmNoQ2FzZXMoU2ltcGxlRmlsdGVyLmZyb21DYXNlUXVlcnkobWVudUl0ZW1zU2VhcmNoQm9keSksIGRhc2hib2FyZEl0ZW1zUGFyYW1zKS5zdWJzY3JpYmUocmVzdWx0SXRlbXMgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbXNDb250ZW50ID0gcmVzdWx0SXRlbXMuY29udGVudDtcbiAgICAgICAgICAgIGl0ZW1zQ29udGVudC5mb3JFYWNoKG1lbnVJdGVtQ2FzZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmF2aWdhdGlvbkl0ZW0gPSB0aGlzLl9kb3VibGVEcmF3ZXJOYXZpZ2F0aW9uU2VydmljZS5yZXNvbHZlSXRlbUNhc2VUb05hdmlnYXRpb25JdGVtKG1lbnVJdGVtQ2FzZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGFzaGJvYXJkSXRlbUlkID0gZGFzaGJvYXJkTWVudVRvSXRlbXNbbWVudUl0ZW1DYXNlLnN0cmluZ0lkXTtcbiAgICAgICAgICAgICAgICBpZiAoIW5hdmlnYXRpb25JdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGFzaGJvYXJkSXRlbXMgPSB0aGlzLmRhc2hib2FyZEl0ZW1zLmZpbHRlcihkYXNoSXRlbSA9PiBkYXNoSXRlbS5zdHJpbmdJZCAhPT0gZGFzaGJvYXJkSXRlbUlkKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmRhc2hib2FyZEl0ZW1zTWFwcGluZ1tkYXNoYm9hcmRJdGVtSWRdID0gbWVudUl0ZW1DYXNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLml0ZW1zTG9hZGVkICs9IDE7XG4gICAgICAgICAgICBpZiAodGhpcy5pdGVtc0xvYWRlZCA9PSAyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nJC5vZmYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXNoYm9hcmRJdGVtcyhkYXNoYm9hcmRJdGVtc09wdGlvbnM6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gICAgfSwgZGFzaGJvYXJkSXRlbXNQYXJhbXM6IEh0dHBQYXJhbXMpIHtcbiAgICAgICAgY29uc3QgaXRlbXNPcmRlciA9IHRoaXMuZ2V0TWFuYWdlbWVudEl0ZW1zT3JkZXIodGhpcy5kYXNoYm9hcmRDYXNlKT8uc3BsaXQoXCIsXCIpO1xuICAgICAgICBsZXQgZGFzaGJvYXJkSXRlbXNTZWFyY2hCb2R5OiBDYXNlU2VhcmNoUmVxdWVzdEJvZHkgPSB7XG4gICAgICAgICAgICBpZDogT2JqZWN0LmtleXMoZGFzaGJvYXJkSXRlbXNPcHRpb25zKVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9jYXNlUmVzb3VyY2Uuc2VhcmNoQ2FzZXMoU2ltcGxlRmlsdGVyLmZyb21DYXNlUXVlcnkoZGFzaGJvYXJkSXRlbXNTZWFyY2hCb2R5KSwgZGFzaGJvYXJkSXRlbXNQYXJhbXMpLnN1YnNjcmliZShyZXN1bHRJdGVtcyA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVtc0NvbnRlbnQgPSByZXN1bHRJdGVtcy5jb250ZW50O1xuICAgICAgICAgICAgaWYgKCFpdGVtc0NvbnRlbnQgfHwgIWl0ZW1zQ29udGVudC5sZW5ndGggfHwgaXRlbXNDb250ZW50Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcignTm8gZGFzaGJvYXJkIGl0ZW1zIGZvdW5kLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbXNDb250ZW50LmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gaXRlbXNPcmRlcj8uaW5kZXhPZihpdGVtLnN0cmluZ0lkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhc2hib2FyZEl0ZW1zW2l0ZW1JbmRleF0gPSBpdGVtO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLml0ZW1zTG9hZGVkICs9IDE7XG4gICAgICAgICAgICBpZiAodGhpcy5pdGVtc0xvYWRlZCA9PSAyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nJC5vZmYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gR0VUIGl0ZW0gZmllbGRzXG4gICAgcHVibGljIGdldEl0ZW1OYW1lKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaTE4bkZpZWxkVmFsdWUgPSB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9JVEVNX05BTUVfREFUQUZJRUxEKSBhcyBJMThuRmllbGRWYWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZSgpIGluIGkxOG5GaWVsZFZhbHVlLnRyYW5zbGF0aW9uc1xuICAgICAgICAgICAgPyBpMThuRmllbGRWYWx1ZS50cmFuc2xhdGlvbnNbdGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCldXG4gICAgICAgICAgICA6IGkxOG5GaWVsZFZhbHVlLmRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbUljb24oaXRlbUNhc2U6IENhc2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfSVRFTV9JQ09OX0RBVEFGSUVMRCkgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtSW50ZXJuYWwoaXRlbUNhc2U6IENhc2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX0lURU1fSU5URVJOQUxfREFUQUZJRUxEKSBhcyBib29sZWFuO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtRXh0ZXJuYWxJY29uKGl0ZW1DYXNlOiBDYXNlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9JVEVNX0VYVEVSTkFMX0lDT05fREFUQUZJRUxEKSBhcyBib29sZWFuO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtVVJMKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX0lURU1fVVJMX0RBVEFGSUVMRCkgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtRm9udENvbG9yKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZm9udENvbG9yID0gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfSVRFTV9GT05UX0NPTE9SX0RBVEFGSUVMRCkgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gISFmb250Q29sb3IgJiYgZm9udENvbG9yICE9PSAnJyA/IGZvbnRDb2xvciA6ICdibGFjayc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEl0ZW1Gb250V2VpZ2h0KGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZm9udFdlaWdodCA9IHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX0lURU1fRk9OVF9XRUlHSFRfREFUQUZJRUxEKSBhcyBzdHJpbmc7XG4gICAgICAgIHJldHVybiAhIWZvbnRXZWlnaHQgJiYgZm9udFdlaWdodCAhPT0gJycgPyBmb250V2VpZ2h0IDogJ25vcm1hbCc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEl0ZW1JY29uQ29sb3IoaXRlbUNhc2U6IENhc2UpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpY29uQ29sb3IgPSB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9JVEVNX0lDT05fQ09MT1JfREFUQUZJRUxEKTtcbiAgICAgICAgcmV0dXJuICEhaWNvbkNvbG9yICYmIGljb25Db2xvciAhPT0gJycgPyBpY29uQ29sb3IgOiAnYmxhY2snO1xuICAgIH1cblxuICAgIC8vIEdFVCBtYW5hZ2VtZW50IGZpZWxkc1xuICAgIHByb3RlY3RlZCBnZXRNYW5hZ2VtZW50U2ltcGxlVG9vbGJhcihpdGVtQ2FzZTogQ2FzZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9TSU1QTEVfVE9PTEJBUl9EQVRBRklFTEQpIGFzIGJvb2xlYW47XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE1hbmFnZW1lbnRQcm9maWxlVG9vbGJhcihpdGVtQ2FzZTogQ2FzZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9QUk9GSUxFX1RPT0xCQVJfREFUQUZJRUxEKSBhcyBib29sZWFuO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRNYW5hZ2VtZW50TGFuZ3VhZ2VUb29sYmFyKGl0ZW1DYXNlOiBDYXNlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9NQU5BR0VNRU5UX0xBTkdVQUdFX1RPT0xCQVJfREFUQUZJRUxEKSBhcyBib29sZWFuO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRNYW5hZ2VtZW50TG9nb3V0VG9vbGJhcihpdGVtQ2FzZTogQ2FzZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9MT0dPVVRfVE9PTEJBUl9EQVRBRklFTEQpIGFzIGJvb2xlYW47XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE1hbmFnZW1lbnROYW1lKGl0ZW1DYXNlOiBDYXNlKTogSTE4bkZpZWxkVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9OQU1FX0RBVEFGSUVMRCkgYXMgSTE4bkZpZWxkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE1hbmFnZW1lbnRMb2dvKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfTE9HT19EQVRBRklFTEQpIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0TWFuYWdlbWVudEl0ZW1zT3JkZXIoaXRlbUNhc2U6IENhc2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9JVEVNU19PUkRFUl9EQVRBRklFTEQpIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0TWFuYWdlbWVudFByb2ZpbGVVcmwoaXRlbUNhc2U6IENhc2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9QUk9GSUxFX1VSTF9EQVRBRklFTEQpIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0TWFuYWdlbWVudExvZ2luVXJsKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfTE9HSU5fVVJMX0RBVEFGSUVMRCkgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGaWVsZFZhbHVlKGl0ZW1DYXNlOiBDYXNlLCBmaWVsZElkOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICByZXR1cm4gaXRlbUNhc2UuaW1tZWRpYXRlRGF0YS5maW5kKGltbWVkaWF0ZUZpZWxkID0+IGltbWVkaWF0ZUZpZWxkW1wiaW1wb3J0SWRcIl0gPT09IGZpZWxkSWQpLnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuYXZpZ2F0ZShpdGVtQ2FzZTogQ2FzZSkge1xuICAgICAgICBpZiAodGhpcy5nZXRJdGVtSW50ZXJuYWwoaXRlbUNhc2UpKSB7XG4gICAgICAgICAgICBjb25zdCBtZW51SXRlbUNhc2UgPSB0aGlzLmRhc2hib2FyZEl0ZW1zTWFwcGluZ1tpdGVtQ2FzZS5zdHJpbmdJZF07XG4gICAgICAgICAgICBpZiAoIW1lbnVJdGVtQ2FzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy53YXJuKGBObyBtYXBwZWQgbWVudSBpdGVtIGZvciBkYXNoYm9hcmQgaXRlbSAke2l0ZW1DYXNlLnN0cmluZ0lkfWApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGl0ZW1Sb3V0ZSA9IHRoaXMuX2RvdWJsZURyYXdlck5hdmlnYXRpb25TZXJ2aWNlLmdldEl0ZW1Sb3V0aW5nUGF0aChtZW51SXRlbUNhc2UpO1xuICAgICAgICAgICAgdGhpcy5fcGF0aFNlcnZpY2UuYWN0aXZlUGF0aCA9IHRoaXMuZ2V0RmllbGRWYWx1ZShtZW51SXRlbUNhc2UsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX05PREVfUEFUSCk7XG4gICAgICAgICAgICBjb25zdCBub2RlUGF0aCA9IHRoaXMuZ2V0RmllbGRWYWx1ZShtZW51SXRlbUNhc2UsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX05PREVfUEFUSCk7XG4gICAgICAgICAgICBpZiAobm9kZVBhdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wYXRoU2VydmljZS5hY3RpdmVQYXRoID0gbm9kZVBhdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW2l0ZW1Sb3V0ZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd2luZG93Lm9wZW4odGhpcy5nZXRJdGVtVVJMKGl0ZW1DYXNlKSwgXCJfYmxhbmtcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi9kYXNoYm9hcmQvYWJzdHJhY3QtZGFzaGJvYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQU81RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHL0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7OztBQU83RSxNQUFNLE9BQWdCLDBCQUEwQjtJQW9EOUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBdkRQLE1BQU0sQ0FBVSxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7SUFFbEQsTUFBTSxDQUFVLCtCQUErQixHQUFHLHNCQUFzQixDQUFDO0lBRXpFLE1BQU0sQ0FBVSxpQ0FBaUMsR0FBRyxjQUFjLENBQUM7SUFDbkUsTUFBTSxDQUFVLGdEQUFnRCxHQUFHLDZCQUE2QixDQUFDO0lBQ2pHLE1BQU0sQ0FBVSw2Q0FBNkMsR0FBRywwQkFBMEIsQ0FBQztJQUMzRixNQUFNLENBQVUsOENBQThDLEdBQUcsMkJBQTJCLENBQUM7SUFDN0YsTUFBTSxDQUFVLCtDQUErQyxHQUFHLDRCQUE0QixDQUFDO0lBQy9GLE1BQU0sQ0FBVSw2Q0FBNkMsR0FBRywwQkFBMEIsQ0FBQztJQUMzRixNQUFNLENBQVUsbUNBQW1DLEdBQUcsZ0JBQWdCLENBQUM7SUFDdkUsTUFBTSxDQUFVLG1DQUFtQyxHQUFHLGdCQUFnQixDQUFDO0lBQ3ZFLE1BQU0sQ0FBVSwwQ0FBMEMsR0FBRyxhQUFhLENBQUM7SUFDM0UsTUFBTSxDQUFVLDBDQUEwQyxHQUFHLGFBQWEsQ0FBQztJQUMzRSxNQUFNLENBQVUsd0NBQXdDLEdBQUcsV0FBVyxDQUFDO0lBRXZFLE1BQU0sQ0FBVSw2QkFBNkIsR0FBRyxXQUFXLENBQUM7SUFDNUQsTUFBTSxDQUFVLDZCQUE2QixHQUFHLFdBQVcsQ0FBQztJQUM1RCxNQUFNLENBQVUsNEJBQTRCLEdBQUcsY0FBYyxDQUFDO0lBQzlELE1BQU0sQ0FBVSxpQ0FBaUMsR0FBRyxhQUFhLENBQUM7SUFDbEUsTUFBTSxDQUFVLHNDQUFzQyxHQUFHLGVBQWUsQ0FBQztJQUN6RSxNQUFNLENBQVUsbUNBQW1DLEdBQUcsWUFBWSxDQUFDO0lBQ25FLE1BQU0sQ0FBVSxvQ0FBb0MsR0FBRyxhQUFhLENBQUM7SUFDckUsTUFBTSxDQUFVLG1DQUFtQyxHQUFHLFlBQVksQ0FBQztJQUVuRSxhQUFhLEdBQWtCO1FBQ2xDLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFdBQVcsRUFBRTtZQUNULFlBQVksRUFBRSxTQUFTO1lBQ3ZCLFlBQVksRUFBRSxFQUFFO1NBQ25CO1FBQ0QsV0FBVyxFQUFFLG1DQUFtQztRQUNoRCxVQUFVLEVBQUUsU0FBUztRQUNyQixRQUFRLEVBQUUsRUFBRTtLQUNmLENBQUM7SUFFSyxXQUFXLEdBQVcsMEJBQTBCLENBQUMsY0FBYyxDQUFDO0lBQ2hFLGFBQWEsQ0FBTztJQUNwQixjQUFjLENBQWM7SUFDNUIscUJBQXFCLENBRTFCO0lBQ00sV0FBVyxHQUFXLENBQUMsQ0FBQztJQUV6QixRQUFRLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7SUFFdkQsWUFDYyxhQUFrQyxFQUNsQyxJQUFtQixFQUNuQixZQUF5QixFQUN6QixPQUFlLEVBQ2YsZ0JBQWlDLEVBQ2pDLDhCQUE2RDtRQUw3RCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbEMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNuQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQStCO1FBRXZFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNuQixNQUFNLDZCQUE2QixHQUEwQjtZQUN6RCxPQUFPLEVBQUUsRUFBQyxVQUFVLEVBQUUsMEJBQTBCLENBQUMsK0JBQStCLEVBQUM7WUFDakYsSUFBSSxFQUFFO2dCQUNGLENBQUMsMEJBQTBCLENBQUMsaUNBQWlDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVzthQUNuRjtTQUNKLENBQUM7UUFDRixJQUFJLHlCQUF5QixHQUFHLElBQUksVUFBVSxFQUFFO2FBQzNDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLHlCQUF5QixDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzdJLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUNqRCxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDOUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztnQkFDeEQsT0FBTzthQUNWO1lBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHO2dCQUNqQixjQUFjLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ3BFLGVBQWUsRUFBRSxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDdEUsYUFBYSxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUNsRSxhQUFhLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ2xFLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDdkQsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUN2RCxVQUFVLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQzVELFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUMzRCxDQUFBO1lBRUQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7aUJBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSywwQkFBMEIsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNoSixJQUFJLENBQUMscUJBQXFCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU87YUFDVjtZQUVELE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztpQkFDN0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFFLEtBQStCLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQztpQkFDL0UsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQzVCLEtBQUssQ0FBRSxLQUErQixDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDM0QsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRVgsSUFBSSxvQkFBb0IsR0FBRyxJQUFJLFVBQVUsRUFBRTtpQkFDdEMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sWUFBWSxDQUFDLG9CQUF3QixFQUFFLG9CQUFnQztRQUMzRSxJQUFJLG1CQUFtQixHQUFHO1lBQ3RCLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1NBQ3hDLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDMUgsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUN6QyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNoQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsK0JBQStCLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3pHLE1BQU0sZUFBZSxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLENBQUM7b0JBQ3BHLE9BQU87aUJBQ1Y7Z0JBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDdkI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxxQkFFekIsRUFBRSxvQkFBZ0M7UUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEYsSUFBSSx3QkFBd0IsR0FBMEI7WUFDbEQsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7U0FDekMsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMvSCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2FBQ2hEO1lBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsTUFBTSxTQUFTLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUN2QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxRQUFjO1FBQzdCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLDZCQUE2QixDQUFtQixDQUFDO1FBQ2hJLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLGNBQWMsQ0FBQyxZQUFZO1lBQ3JFLENBQUMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsRSxDQUFDLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQWM7UUFDN0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyw2QkFBNkIsQ0FBVyxDQUFDO0lBQzVHLENBQUM7SUFFTSxlQUFlLENBQUMsUUFBYztRQUNqQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLGlDQUFpQyxDQUFZLENBQUM7SUFDakgsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFFBQWM7UUFDckMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxzQ0FBc0MsQ0FBWSxDQUFDO0lBQ3RILENBQUM7SUFFTSxVQUFVLENBQUMsUUFBYztRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLDRCQUE0QixDQUFXLENBQUM7SUFDM0csQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQWM7UUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsbUNBQW1DLENBQVcsQ0FBQztRQUN6SCxPQUFPLENBQUMsQ0FBQyxTQUFTLElBQUksU0FBUyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQWM7UUFDbkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsb0NBQW9DLENBQVcsQ0FBQztRQUMzSCxPQUFPLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDckUsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQWM7UUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUMvRyxPQUFPLENBQUMsQ0FBQyxTQUFTLElBQUksU0FBUyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztJQUVELHdCQUF3QjtJQUNkLDBCQUEwQixDQUFDLFFBQWM7UUFDL0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyw2Q0FBNkMsQ0FBWSxDQUFDO0lBQzdILENBQUM7SUFFUywyQkFBMkIsQ0FBQyxRQUFjO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsOENBQThDLENBQVksQ0FBQztJQUM5SCxDQUFDO0lBRVMsNEJBQTRCLENBQUMsUUFBYztRQUNqRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLCtDQUErQyxDQUFZLENBQUM7SUFDL0gsQ0FBQztJQUVTLDBCQUEwQixDQUFDLFFBQWM7UUFDL0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyw2Q0FBNkMsQ0FBWSxDQUFDO0lBQzdILENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxRQUFjO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsbUNBQW1DLENBQW1CLENBQUM7SUFDMUgsQ0FBQztJQUVTLGlCQUFpQixDQUFDLFFBQWM7UUFDdEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxtQ0FBbUMsQ0FBVyxDQUFDO0lBQ2xILENBQUM7SUFFUyx1QkFBdUIsQ0FBQyxRQUFjO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsMENBQTBDLENBQVcsQ0FBQztJQUN6SCxDQUFDO0lBRVMsdUJBQXVCLENBQUMsUUFBYztRQUM1QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLDBDQUEwQyxDQUFXLENBQUM7SUFDekgsQ0FBQztJQUVTLHFCQUFxQixDQUFDLFFBQWM7UUFDMUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyx3Q0FBd0MsQ0FBVyxDQUFDO0lBQ3ZILENBQUM7SUFFUyxhQUFhLENBQUMsUUFBYyxFQUFFLE9BQWU7UUFDbkQsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdkcsQ0FBQztJQUVNLFFBQVEsQ0FBQyxRQUFjO1FBQzFCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMENBQTBDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RSxPQUFPO2FBQ1Y7WUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNwRyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsK0JBQStCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbkcsSUFBSSxRQUFRLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLDhCQUE4QixDQUFDLHFCQUFxQixHQUFHLFFBQVEsQ0FBQzthQUN4RTtZQUNELElBQUksWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLHdCQUF3QixDQUFDLDBCQUEwQixDQUFDLEVBQUUsS0FBSyxJQUFJLFFBQVEsRUFBRTtnQkFDN0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO2FBQzNDO2lCQUFNLElBQUksUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDbEc7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNwRDtJQUNMLENBQUM7d0dBbFFpQiwwQkFBMEI7NEZBQTFCLDBCQUEwQixxREFGbEMsRUFBRTs7NEZBRU0sMEJBQTBCO2tCQUovQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1BhZ2luYXRpb25QYXJhbXN9IGZyb20gJy4uLy4uL3V0aWxpdHkvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLXBhcmFtcyc7XG5pbXBvcnQge1Rvb2xiYXJDb25maWd9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1jb25maWcnO1xuaW1wb3J0IHtDYXNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2UnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0RvdWJsZURyYXdlck5hdmlnYXRpb25TZXJ2aWNlfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIvc2VydmljZS9kb3VibGUtZHJhd2VyLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQge0Nhc2VTZWFyY2hSZXF1ZXN0Qm9keX0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9jYXNlLXNlYXJjaC1yZXF1ZXN0LWJvZHknO1xuaW1wb3J0IHtTaW1wbGVGaWx0ZXJ9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvc2ltcGxlLWZpbHRlcic7XG5pbXBvcnQge0kxOG5GaWVsZFZhbHVlfSBmcm9tICcuLi8uLi9kYXRhLWZpZWxkcy9pMThuLWZpZWxkL21vZGVscy9pMThuLWZpZWxkLXZhbHVlJztcbmltcG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQge0xvYWRpbmdFbWl0dGVyfSBmcm9tICcuLi8uLi91dGlsaXR5L2xvYWRpbmctZW1pdHRlcic7XG5pbXBvcnQge1BhdGhTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZS9wYXRoLnNlcnZpY2VcIjtcbmltcG9ydCB7R3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzfSBmcm9tIFwiLi4vbW9kZWwvZ3JvdXAtbmF2aWdhdGlvbi1jb25zdGFudHNcIjtcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1kYXNoYm9hcmQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudCB7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1BSU5fREFTSEJPQVJEID0gJ21haW5fZGFzaGJvYXJkJztcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfSURFTlRJRklFUiA9ICdkYXNoYm9hcmRfbWFuYWdlbWVudCc7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX0lEX0RBVEFGSUVMRCA9ICdkYXNoYm9hcmRfaWQnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX01BTkFHRU1FTlRfSVRFTV9UT19NRU5VX0lURU1fREFUQUZJRUxEID0gJ2Rhc2hib2FyZF9pdGVtX3RvX21lbnVfaXRlbSc7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfTUFOQUdFTUVOVF9TSU1QTEVfVE9PTEJBUl9EQVRBRklFTEQgPSAnc2ltcGxlX2Rhc2hib2FyZF90b29sYmFyJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX1BST0ZJTEVfVE9PTEJBUl9EQVRBRklFTEQgPSAncHJvZmlsZV9kYXNoYm9hcmRfdG9vbGJhcic7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfTUFOQUdFTUVOVF9MQU5HVUFHRV9UT09MQkFSX0RBVEFGSUVMRCA9ICdsYW5ndWFnZV9kYXNoYm9hcmRfdG9vbGJhcic7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfTUFOQUdFTUVOVF9MT0dPVVRfVE9PTEJBUl9EQVRBRklFTEQgPSAnbG9nb3V0X2Rhc2hib2FyZF90b29sYmFyJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX05BTUVfREFUQUZJRUxEID0gJ2Rhc2hib2FyZF9uYW1lJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX0xPR09fREFUQUZJRUxEID0gJ2Rhc2hib2FyZF9sb2dvJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX0lURU1TX09SREVSX0RBVEFGSUVMRCA9IFwiaXRlbXNfb3JkZXJcIjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX1BST0ZJTEVfVVJMX0RBVEFGSUVMRCA9IFwicHJvZmlsZV91cmxcIjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9NQU5BR0VNRU5UX0xPR0lOX1VSTF9EQVRBRklFTEQgPSBcImxvZ2luX3VybFwiO1xuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfSVRFTV9JQ09OX0RBVEFGSUVMRCA9ICdpdGVtX2ljb24nO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX0lURU1fTkFNRV9EQVRBRklFTEQgPSAnaXRlbV9uYW1lJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9JVEVNX1VSTF9EQVRBRklFTEQgPSAnZXh0ZXJuYWxfdXJsJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9JVEVNX0lOVEVSTkFMX0RBVEFGSUVMRCA9ICdpc19pbnRlcm5hbCc7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQVNIQk9BUkRfSVRFTV9FWFRFUk5BTF9JQ09OX0RBVEFGSUVMRCA9ICdleHRlcm5hbF9pY29uJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9JVEVNX0ZPTlRfQ09MT1JfREFUQUZJRUxEID0gJ2ZvbnRfY29sb3InO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREFTSEJPQVJEX0lURU1fRk9OVF9XRUlHSFRfREFUQUZJRUxEID0gJ2ZvbnRfd2VpZ2h0JztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERBU0hCT0FSRF9JVEVNX0lDT05fQ09MT1JfREFUQUZJRUxEID0gJ2ljb25fY29sb3InO1xuXG4gICAgcHVibGljIHRvb2xiYXJDb25maWc6IFRvb2xiYXJDb25maWcgPSB7XG4gICAgICAgIHByb2ZpbGVFbmFibGVkOiBmYWxzZSxcbiAgICAgICAgbGFuZ3VhZ2VFbmFibGVkOiBmYWxzZSxcbiAgICAgICAgbG9nb3V0RW5hYmxlZDogZmFsc2UsXG4gICAgICAgIHNpbXBsZVRvb2xiYXI6IHRydWUsXG4gICAgICAgIHRvb2xiYXJOYW1lOiB7XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdOZXRncmlmJyxcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uczoge31cbiAgICAgICAgfSxcbiAgICAgICAgdG9vbGJhckxvZ286ICdhc3NldHMvaW1nL25ldGdyaWZfZnVsbF93aGl0ZS5zdmcnLFxuICAgICAgICBwcm9maWxlVXJsOiAncHJvZmlsZScsXG4gICAgICAgIGxvZ2luVXJsOiAnJ1xuICAgIH07XG5cbiAgICBwdWJsaWMgZGFzaGJvYXJkSWQ6IHN0cmluZyA9IEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50Lk1BSU5fREFTSEJPQVJEO1xuICAgIHB1YmxpYyBkYXNoYm9hcmRDYXNlOiBDYXNlO1xuICAgIHB1YmxpYyBkYXNoYm9hcmRJdGVtczogQXJyYXk8Q2FzZT47XG4gICAgcHVibGljIGRhc2hib2FyZEl0ZW1zTWFwcGluZzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBDYXNlXG4gICAgfTtcbiAgICBwcml2YXRlIGl0ZW1zTG9hZGVkOiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIGxvYWRpbmckOiBMb2FkaW5nRW1pdHRlciA9IG5ldyBMb2FkaW5nRW1pdHRlcigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlOiBDYXNlUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9wYXRoU2VydmljZTogUGF0aFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfZG91YmxlRHJhd2VyTmF2aWdhdGlvblNlcnZpY2U6IERvdWJsZURyYXdlck5hdmlnYXRpb25TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZGFzaGJvYXJkSXRlbXNNYXBwaW5nID0ge307XG4gICAgICAgIHRoaXMuZGFzaGJvYXJkSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5vbigpO1xuICAgICAgICBjb25zdCBkYXNoYm9hcmRNYW5hZ2VtZW50U2VhcmNoQm9keTogQ2FzZVNlYXJjaFJlcXVlc3RCb2R5ID0ge1xuICAgICAgICAgICAgcHJvY2Vzczoge2lkZW50aWZpZXI6IEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9NQU5BR0VNRU5UX0lERU5USUZJRVJ9LFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIFtBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9JRF9EQVRBRklFTERdOiB0aGlzLmRhc2hib2FyZElkXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGxldCBkYXNoYm9hcmRNYW5hZ2VtZW50UGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfU0laRSwgMSk7XG4gICAgICAgIHRoaXMuX2Nhc2VSZXNvdXJjZS5zZWFyY2hDYXNlcyhTaW1wbGVGaWx0ZXIuZnJvbUNhc2VRdWVyeShkYXNoYm9hcmRNYW5hZ2VtZW50U2VhcmNoQm9keSksIGRhc2hib2FyZE1hbmFnZW1lbnRQYXJhbXMpLnN1YnNjcmliZShyZXN1bHREYXNoYm9hcmQgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGFzaGJvYXJkQ29udGVudCA9IHJlc3VsdERhc2hib2FyZC5jb250ZW50O1xuICAgICAgICAgICAgaWYgKCFkYXNoYm9hcmRDb250ZW50IHx8ICFkYXNoYm9hcmRDb250ZW50Lmxlbmd0aCB8fCBkYXNoYm9hcmRDb250ZW50Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcignRGFzaGJvYXJkIG1hbmFnZW1lbnQgY2FzZSBub3QgZm91bmQuJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kYXNoYm9hcmRDYXNlID0gZGFzaGJvYXJkQ29udGVudFswXTtcbiAgICAgICAgICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICBwcm9maWxlRW5hYmxlZDogdGhpcy5nZXRNYW5hZ2VtZW50UHJvZmlsZVRvb2xiYXIodGhpcy5kYXNoYm9hcmRDYXNlKSxcbiAgICAgICAgICAgICAgICBsYW5ndWFnZUVuYWJsZWQ6IHRoaXMuZ2V0TWFuYWdlbWVudExhbmd1YWdlVG9vbGJhcih0aGlzLmRhc2hib2FyZENhc2UpLFxuICAgICAgICAgICAgICAgIGxvZ291dEVuYWJsZWQ6IHRoaXMuZ2V0TWFuYWdlbWVudExvZ291dFRvb2xiYXIodGhpcy5kYXNoYm9hcmRDYXNlKSxcbiAgICAgICAgICAgICAgICBzaW1wbGVUb29sYmFyOiB0aGlzLmdldE1hbmFnZW1lbnRTaW1wbGVUb29sYmFyKHRoaXMuZGFzaGJvYXJkQ2FzZSksXG4gICAgICAgICAgICAgICAgdG9vbGJhck5hbWU6IHRoaXMuZ2V0TWFuYWdlbWVudE5hbWUodGhpcy5kYXNoYm9hcmRDYXNlKSxcbiAgICAgICAgICAgICAgICB0b29sYmFyTG9nbzogdGhpcy5nZXRNYW5hZ2VtZW50TG9nbyh0aGlzLmRhc2hib2FyZENhc2UpLFxuICAgICAgICAgICAgICAgIHByb2ZpbGVVcmw6IHRoaXMuZ2V0TWFuYWdlbWVudFByb2ZpbGVVcmwodGhpcy5kYXNoYm9hcmRDYXNlKSxcbiAgICAgICAgICAgICAgICBsb2dpblVybDogdGhpcy5nZXRNYW5hZ2VtZW50TG9naW5VcmwodGhpcy5kYXNoYm9hcmRDYXNlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBkYXNoYm9hcmRJdGVtc09wdGlvbnMgPSB0aGlzLmRhc2hib2FyZENhc2UuaW1tZWRpYXRlRGF0YVxuICAgICAgICAgICAgICAgIC5maW5kKGltbWVkaWF0ZUZpZWxkID0+IGltbWVkaWF0ZUZpZWxkWydpbXBvcnRJZCddID09PSBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9JVEVNX1RPX01FTlVfSVRFTV9EQVRBRklFTEQpLm9wdGlvbnM7XG4gICAgICAgICAgICBpZiAoIWRhc2hib2FyZEl0ZW1zT3B0aW9ucyB8fCBPYmplY3Qua2V5cyhkYXNoYm9hcmRJdGVtc09wdGlvbnMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBkYXNoYm9hcmRNZW51VG9JdGVtcyA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZEl0ZW1zT3B0aW9ucylcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChba2V5LCB2YWx1ZV0pID0+ICh2YWx1ZSBhcyBhbnkgYXMgSTE4bkZpZWxkVmFsdWUpLmRlZmF1bHRWYWx1ZSAhPSBudWxsKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYWNjdW1bKHZhbHVlIGFzIGFueSBhcyBJMThuRmllbGRWYWx1ZSkuZGVmYXVsdFZhbHVlXSA9IGtleTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgICAgICAgICAgIH0sIHt9KTtcblxuICAgICAgICAgICAgbGV0IGRhc2hib2FyZEl0ZW1zUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAgICAgICAgIC5zZXQoUGFnaW5hdGlvblBhcmFtcy5QQUdFX1NJWkUsIDEwMCk7XG4gICAgICAgICAgICB0aGlzLmdldERhc2hib2FyZEl0ZW1zKGRhc2hib2FyZEl0ZW1zT3B0aW9ucywgZGFzaGJvYXJkSXRlbXNQYXJhbXMpO1xuICAgICAgICAgICAgdGhpcy5nZXRNZW51SXRlbXMoZGFzaGJvYXJkTWVudVRvSXRlbXMsIGRhc2hib2FyZEl0ZW1zUGFyYW1zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNZW51SXRlbXMoZGFzaGJvYXJkTWVudVRvSXRlbXM6IHt9LCBkYXNoYm9hcmRJdGVtc1BhcmFtczogSHR0cFBhcmFtcykge1xuICAgICAgICBsZXQgbWVudUl0ZW1zU2VhcmNoQm9keSA9IHtcbiAgICAgICAgICAgIGlkOiBPYmplY3Qua2V5cyhkYXNoYm9hcmRNZW51VG9JdGVtcylcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fY2FzZVJlc291cmNlLnNlYXJjaENhc2VzKFNpbXBsZUZpbHRlci5mcm9tQ2FzZVF1ZXJ5KG1lbnVJdGVtc1NlYXJjaEJvZHkpLCBkYXNoYm9hcmRJdGVtc1BhcmFtcykuc3Vic2NyaWJlKHJlc3VsdEl0ZW1zID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zQ29udGVudCA9IHJlc3VsdEl0ZW1zLmNvbnRlbnQ7XG4gICAgICAgICAgICBpdGVtc0NvbnRlbnQuZm9yRWFjaChtZW51SXRlbUNhc2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hdmlnYXRpb25JdGVtID0gdGhpcy5fZG91YmxlRHJhd2VyTmF2aWdhdGlvblNlcnZpY2UucmVzb2x2ZUl0ZW1DYXNlVG9OYXZpZ2F0aW9uSXRlbShtZW51SXRlbUNhc2UpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhc2hib2FyZEl0ZW1JZCA9IGRhc2hib2FyZE1lbnVUb0l0ZW1zW21lbnVJdGVtQ2FzZS5zdHJpbmdJZF07XG4gICAgICAgICAgICAgICAgaWYgKCFuYXZpZ2F0aW9uSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhc2hib2FyZEl0ZW1zID0gdGhpcy5kYXNoYm9hcmRJdGVtcy5maWx0ZXIoZGFzaEl0ZW0gPT4gZGFzaEl0ZW0uc3RyaW5nSWQgIT09IGRhc2hib2FyZEl0ZW1JZCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5kYXNoYm9hcmRJdGVtc01hcHBpbmdbZGFzaGJvYXJkSXRlbUlkXSA9IG1lbnVJdGVtQ2FzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5pdGVtc0xvYWRlZCArPSAxO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXNMb2FkZWQgPT0gMikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGFzaGJvYXJkSXRlbXMoZGFzaGJvYXJkSXRlbXNPcHRpb25zOiB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICAgIH0sIGRhc2hib2FyZEl0ZW1zUGFyYW1zOiBIdHRwUGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zT3JkZXIgPSB0aGlzLmdldE1hbmFnZW1lbnRJdGVtc09yZGVyKHRoaXMuZGFzaGJvYXJkQ2FzZSk/LnNwbGl0KFwiLFwiKTtcbiAgICAgICAgbGV0IGRhc2hib2FyZEl0ZW1zU2VhcmNoQm9keTogQ2FzZVNlYXJjaFJlcXVlc3RCb2R5ID0ge1xuICAgICAgICAgICAgaWQ6IE9iamVjdC5rZXlzKGRhc2hib2FyZEl0ZW1zT3B0aW9ucylcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fY2FzZVJlc291cmNlLnNlYXJjaENhc2VzKFNpbXBsZUZpbHRlci5mcm9tQ2FzZVF1ZXJ5KGRhc2hib2FyZEl0ZW1zU2VhcmNoQm9keSksIGRhc2hib2FyZEl0ZW1zUGFyYW1zKS5zdWJzY3JpYmUocmVzdWx0SXRlbXMgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbXNDb250ZW50ID0gcmVzdWx0SXRlbXMuY29udGVudDtcbiAgICAgICAgICAgIGlmICghaXRlbXNDb250ZW50IHx8ICFpdGVtc0NvbnRlbnQubGVuZ3RoIHx8IGl0ZW1zQ29udGVudC5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nJC5vZmYoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoJ05vIGRhc2hib2FyZCBpdGVtcyBmb3VuZC4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl0ZW1zQ29udGVudC5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IGl0ZW1zT3JkZXI/LmluZGV4T2YoaXRlbS5zdHJpbmdJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXNoYm9hcmRJdGVtc1tpdGVtSW5kZXhdID0gaXRlbTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5pdGVtc0xvYWRlZCArPSAxO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXNMb2FkZWQgPT0gMikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEdFVCBpdGVtIGZpZWxkc1xuICAgIHB1YmxpYyBnZXRJdGVtTmFtZShpdGVtQ2FzZTogQ2FzZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGkxOG5GaWVsZFZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfSVRFTV9OQU1FX0RBVEFGSUVMRCkgYXMgSTE4bkZpZWxkVmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKSBpbiBpMThuRmllbGRWYWx1ZS50cmFuc2xhdGlvbnNcbiAgICAgICAgICAgID8gaTE4bkZpZWxkVmFsdWUudHJhbnNsYXRpb25zW3RoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZSgpXVxuICAgICAgICAgICAgOiBpMThuRmllbGRWYWx1ZS5kZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEl0ZW1JY29uKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX0lURU1fSUNPTl9EQVRBRklFTEQpIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbUludGVybmFsKGl0ZW1DYXNlOiBDYXNlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9JVEVNX0lOVEVSTkFMX0RBVEFGSUVMRCkgYXMgYm9vbGVhbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbUV4dGVybmFsSWNvbihpdGVtQ2FzZTogQ2FzZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfSVRFTV9FWFRFUk5BTF9JQ09OX0RBVEFGSUVMRCkgYXMgYm9vbGVhbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbVVSTChpdGVtQ2FzZTogQ2FzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9JVEVNX1VSTF9EQVRBRklFTEQpIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbUZvbnRDb2xvcihpdGVtQ2FzZTogQ2FzZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZvbnRDb2xvciA9IHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX0lURU1fRk9OVF9DT0xPUl9EQVRBRklFTEQpIGFzIHN0cmluZztcbiAgICAgICAgcmV0dXJuICEhZm9udENvbG9yICYmIGZvbnRDb2xvciAhPT0gJycgPyBmb250Q29sb3IgOiAnYmxhY2snO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtRm9udFdlaWdodChpdGVtQ2FzZTogQ2FzZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZvbnRXZWlnaHQgPSB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9JVEVNX0ZPTlRfV0VJR0hUX0RBVEFGSUVMRCkgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gISFmb250V2VpZ2h0ICYmIGZvbnRXZWlnaHQgIT09ICcnID8gZm9udFdlaWdodCA6ICdub3JtYWwnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtSWNvbkNvbG9yKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaWNvbkNvbG9yID0gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfSVRFTV9JQ09OX0NPTE9SX0RBVEFGSUVMRCk7XG4gICAgICAgIHJldHVybiAhIWljb25Db2xvciAmJiBpY29uQ29sb3IgIT09ICcnID8gaWNvbkNvbG9yIDogJ2JsYWNrJztcbiAgICB9XG5cbiAgICAvLyBHRVQgbWFuYWdlbWVudCBmaWVsZHNcbiAgICBwcm90ZWN0ZWQgZ2V0TWFuYWdlbWVudFNpbXBsZVRvb2xiYXIoaXRlbUNhc2U6IENhc2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfU0lNUExFX1RPT0xCQVJfREFUQUZJRUxEKSBhcyBib29sZWFuO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRNYW5hZ2VtZW50UHJvZmlsZVRvb2xiYXIoaXRlbUNhc2U6IENhc2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfUFJPRklMRV9UT09MQkFSX0RBVEFGSUVMRCkgYXMgYm9vbGVhbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0TWFuYWdlbWVudExhbmd1YWdlVG9vbGJhcihpdGVtQ2FzZTogQ2FzZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGl0ZW1DYXNlLCBBYnN0cmFjdERhc2hib2FyZENvbXBvbmVudC5EQVNIQk9BUkRfTUFOQUdFTUVOVF9MQU5HVUFHRV9UT09MQkFSX0RBVEFGSUVMRCkgYXMgYm9vbGVhbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0TWFuYWdlbWVudExvZ291dFRvb2xiYXIoaXRlbUNhc2U6IENhc2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfTE9HT1VUX1RPT0xCQVJfREFUQUZJRUxEKSBhcyBib29sZWFuO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRNYW5hZ2VtZW50TmFtZShpdGVtQ2FzZTogQ2FzZSk6IEkxOG5GaWVsZFZhbHVlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfTkFNRV9EQVRBRklFTEQpIGFzIEkxOG5GaWVsZFZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRNYW5hZ2VtZW50TG9nbyhpdGVtQ2FzZTogQ2FzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9NQU5BR0VNRU5UX0xPR09fREFUQUZJRUxEKSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE1hbmFnZW1lbnRJdGVtc09yZGVyKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfSVRFTVNfT1JERVJfREFUQUZJRUxEKSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE1hbmFnZW1lbnRQcm9maWxlVXJsKGl0ZW1DYXNlOiBDYXNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZSwgQWJzdHJhY3REYXNoYm9hcmRDb21wb25lbnQuREFTSEJPQVJEX01BTkFHRU1FTlRfUFJPRklMRV9VUkxfREFUQUZJRUxEKSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE1hbmFnZW1lbnRMb2dpblVybChpdGVtQ2FzZTogQ2FzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpZWxkVmFsdWUoaXRlbUNhc2UsIEFic3RyYWN0RGFzaGJvYXJkQ29tcG9uZW50LkRBU0hCT0FSRF9NQU5BR0VNRU5UX0xPR0lOX1VSTF9EQVRBRklFTEQpIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmllbGRWYWx1ZShpdGVtQ2FzZTogQ2FzZSwgZmllbGRJZDogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1DYXNlLmltbWVkaWF0ZURhdGEuZmluZChpbW1lZGlhdGVGaWVsZCA9PiBpbW1lZGlhdGVGaWVsZFtcImltcG9ydElkXCJdID09PSBmaWVsZElkKS52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmF2aWdhdGUoaXRlbUNhc2U6IENhc2UpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0SXRlbUludGVybmFsKGl0ZW1DYXNlKSkge1xuICAgICAgICAgICAgY29uc3QgbWVudUl0ZW1DYXNlID0gdGhpcy5kYXNoYm9hcmRJdGVtc01hcHBpbmdbaXRlbUNhc2Uuc3RyaW5nSWRdO1xuICAgICAgICAgICAgaWYgKCFtZW51SXRlbUNhc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cud2FybihgTm8gbWFwcGVkIG1lbnUgaXRlbSBmb3IgZGFzaGJvYXJkIGl0ZW0gJHtpdGVtQ2FzZS5zdHJpbmdJZH1gKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpdGVtUm91dGUgPSB0aGlzLl9kb3VibGVEcmF3ZXJOYXZpZ2F0aW9uU2VydmljZS5nZXRJdGVtUm91dGluZ1BhdGgobWVudUl0ZW1DYXNlKTtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVQYXRoID0gdGhpcy5nZXRGaWVsZFZhbHVlKG1lbnVJdGVtQ2FzZSwgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfTk9ERV9QQVRIKTtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fZG91YmxlRHJhd2VyTmF2aWdhdGlvblNlcnZpY2UucmVzb2x2ZUl0ZW1DYXNlVG9OYXZpZ2F0aW9uSXRlbShtZW51SXRlbUNhc2UpO1xuICAgICAgICAgICAgaWYgKG1lbnVJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZG91YmxlRHJhd2VyTmF2aWdhdGlvblNlcnZpY2UuY3VycmVudE5hdmlnYXRpb25JdGVtID0gbWVudUl0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobWVudUl0ZW1DYXNlLmltbWVkaWF0ZURhdGEuZmluZChmID0+IGYuc3RyaW5nSWQgPT09IEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX0hBU19DSElMRFJFTik/LnZhbHVlICYmIG5vZGVQYXRoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGF0aFNlcnZpY2UuYWN0aXZlUGF0aCA9IG5vZGVQYXRoO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlUGF0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BhdGhTZXJ2aWNlLmFjdGl2ZVBhdGggPSB0aGlzLl9kb3VibGVEcmF3ZXJOYXZpZ2F0aW9uU2VydmljZS5leHRyYWN0UGFyZW50UGF0aChub2RlUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW2l0ZW1Sb3V0ZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd2luZG93Lm9wZW4odGhpcy5nZXRJdGVtVVJMKGl0ZW1DYXNlKSwgXCJfYmxhbmtcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -5,15 +5,20 @@ import { NAE_NAVIGATION_ITEM_TASK_DATA } from '../model/filter-case-injection-to
|
|
|
5
5
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
6
6
|
export class GroupNavigationComponentResolverService {
|
|
7
7
|
_taskResourceService;
|
|
8
|
+
_pathService;
|
|
8
9
|
_log;
|
|
9
|
-
constructor(_taskResourceService, _log) {
|
|
10
|
+
constructor(_taskResourceService, _pathService, _log) {
|
|
10
11
|
this._taskResourceService = _taskResourceService;
|
|
12
|
+
this._pathService = _pathService;
|
|
11
13
|
this._log = _log;
|
|
12
14
|
}
|
|
13
15
|
createResolvedViewComponentPortal(taskId, parentInjector) {
|
|
14
16
|
const result = new ReplaySubject(1);
|
|
15
17
|
this._taskResourceService.getData(taskId).subscribe(taskData => {
|
|
16
18
|
try {
|
|
19
|
+
if (!this._pathService.isMenuResolverClosed) {
|
|
20
|
+
this._pathService.datafieldsForMenuResolver = taskData;
|
|
21
|
+
}
|
|
17
22
|
result.next(new ComponentPortal(this.resolveViewComponent(taskData), null, Injector.create({
|
|
18
23
|
providers: [
|
|
19
24
|
{ provide: NAE_NAVIGATION_ITEM_TASK_DATA, useValue: taskData },
|
|
@@ -31,8 +36,11 @@ export class GroupNavigationComponentResolverService {
|
|
|
31
36
|
return result.asObservable();
|
|
32
37
|
}
|
|
33
38
|
forwardError(result, error) {
|
|
39
|
+
if (!this._pathService.isMenuResolverClosed) {
|
|
40
|
+
this._pathService.datafieldsForMenuResolverError = error;
|
|
41
|
+
}
|
|
34
42
|
result.error(error instanceof HttpErrorResponse ? error.error.message : error.message);
|
|
35
43
|
result.complete();
|
|
36
44
|
}
|
|
37
45
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBYSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFJbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsTUFBTSxPQUFnQix1Q0FBdUM7SUFFekI7SUFDQTtJQUNBO0lBRmhDLFlBQWdDLG9CQUF5QyxFQUN6QyxZQUF5QixFQUN6QixJQUFtQjtRQUZuQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQ3pDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLFNBQUksR0FBSixJQUFJLENBQWU7SUFDbkQsQ0FBQztJQUlNLGlDQUFpQyxDQUFDLE1BQWMsRUFBRSxjQUF3QjtRQUM3RSxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBdUIsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDM0QsSUFBSTtnQkFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRTtvQkFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsR0FBRyxRQUFRLENBQUM7aUJBQzFEO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFDbkMsSUFBSSxFQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQ1osU0FBUyxFQUFFO3dCQUNQLEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUM7cUJBQy9EO29CQUNELE1BQU0sRUFBRSxjQUFjO2lCQUN6QixDQUFDLENBQ0wsQ0FBQyxDQUFDO2dCQUNILE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNyQjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hDO1FBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQW9CLEVBQUUsS0FBWTtRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztTQUM1RDtRQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxZQUFZLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBfSBmcm9tICcuLi9tb2RlbC9maWx0ZXItY2FzZS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtUYXNrUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L3Rhc2stcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0RhdGFHcm91cH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9kYXRhLWdyb3Vwcyc7XG5pbXBvcnQge0h0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBQYXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvcGF0aC5zZXJ2aWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdyb3VwTmF2aWdhdGlvbkNvbXBvbmVudFJlc29sdmVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrUmVzb3VyY2VTZXJ2aWNlOiBUYXNrUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3BhdGhTZXJ2aWNlOiBQYXRoU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVzb2x2ZVZpZXdDb21wb25lbnQobmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogQXJyYXk8RGF0YUdyb3VwPik6IFR5cGU8YW55PjtcblxuICAgIHB1YmxpYyBjcmVhdGVSZXNvbHZlZFZpZXdDb21wb25lbnRQb3J0YWwodGFza0lkOiBzdHJpbmcsIHBhcmVudEluamVjdG9yOiBJbmplY3Rvcik6IE9ic2VydmFibGU8Q29tcG9uZW50UG9ydGFsPGFueT4+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFJlcGxheVN1YmplY3Q8Q29tcG9uZW50UG9ydGFsPGFueT4+KDEpO1xuICAgICAgICB0aGlzLl90YXNrUmVzb3VyY2VTZXJ2aWNlLmdldERhdGEodGFza0lkKS5zdWJzY3JpYmUodGFza0RhdGEgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3BhdGhTZXJ2aWNlLmlzTWVudVJlc29sdmVyQ2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhdGhTZXJ2aWNlLmRhdGFmaWVsZHNGb3JNZW51UmVzb2x2ZXIgPSB0YXNrRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzdWx0Lm5leHQobmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlVmlld0NvbXBvbmVudCh0YXNrRGF0YSksXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvdmlkZTogTkFFX05BVklHQVRJT05fSVRFTV9UQVNLX0RBVEEsIHVzZVZhbHVlOiB0YXNrRGF0YX0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBwYXJlbnRJbmplY3RvclxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9yd2FyZEVycm9yKHJlc3VsdCwgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3J3YXJkRXJyb3IocmVzdWx0LCBlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcndhcmRFcnJvcihyZXN1bHQ6IFN1YmplY3Q8YW55PiwgZXJyb3I6IEVycm9yKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fcGF0aFNlcnZpY2UuaXNNZW51UmVzb2x2ZXJDbG9zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhdGhTZXJ2aWNlLmRhdGFmaWVsZHNGb3JNZW51UmVzb2x2ZXJFcnJvciA9IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5lcnJvcihlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlID8gZXJyb3IuZXJyb3IubWVzc2FnZSA6IGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICByZXN1bHQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -103,7 +103,7 @@ export var GroupNavigationConstants;
|
|
|
103
103
|
/**
|
|
104
104
|
* Boolean field, that is true to use default headers configuration for case view
|
|
105
105
|
* */
|
|
106
|
-
GroupNavigationConstants["ITEM_FIELD_ID_USE_CASE_DEFAULT_HEADERS"] = "
|
|
106
|
+
GroupNavigationConstants["ITEM_FIELD_ID_USE_CASE_DEFAULT_HEADERS"] = "use_case_default_headers";
|
|
107
107
|
/**
|
|
108
108
|
* Text field, that contains default header metadata separated by comma for case view as a value
|
|
109
109
|
* */
|
|
@@ -157,4 +157,4 @@ export var GroupNavigationConstants;
|
|
|
157
157
|
* */
|
|
158
158
|
GroupNavigationConstants["ITEM_CHAINED_VIEW_CONFIGURATION_TYPE"] = "chained_view_configuration_type";
|
|
159
159
|
})(GroupNavigationConstants || (GroupNavigationConstants = {}));
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbmF2aWdhdGlvbi1jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL25hdmlnYXRpb24vbW9kZWwvZ3JvdXAtbmF2aWdhdGlvbi1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksd0JBZ01YO0FBaE1ELFdBQVksd0JBQXdCO0lBQ2hDOztPQUVHO0lBQ0gsdUVBQTJDLENBQUE7SUFDM0M7O09BRUc7SUFDSCwwRUFBOEMsQ0FBQTtJQUM5Qzs7T0FFRztJQUNILCtFQUFtRCxDQUFBO0lBQ25EOztPQUVHO0lBQ0gsMEZBQThELENBQUE7SUFDOUQ7O09BRUc7SUFDSCw4RUFBa0QsQ0FBQTtJQUVsRDs7U0FFSztJQUNMLG1GQUF1RCxDQUFBO0lBRXZEOztTQUVLO0lBQ0wsK0ZBQW1FLENBQUE7SUFFbkU7O1NBRUs7SUFDTCw2RkFBaUUsQ0FBQTtJQUVqRTs7U0FFSztJQUNMLDZGQUFpRSxDQUFBO0lBRWpFOztTQUVLO0lBQ0wsb0ZBQXdELENBQUE7SUFFeEQ7O1NBRUs7SUFDTCxvRkFBd0QsQ0FBQTtJQUV4RDs7U0FFSztJQUNMLHlFQUE2QyxDQUFBO0lBRTdDOztTQUVLO0lBQ0wseUdBQTZFLENBQUE7SUFFN0U7O1NBRUs7SUFDTCxnRkFBb0QsQ0FBQTtJQUVwRDs7U0FFSztJQUNMLDhGQUFrRSxDQUFBO0lBRWxFOztTQUVLO0lBQ0wsa0dBQXNFLENBQUE7SUFFdEU7O1NBRUs7SUFDTCxnRkFBb0QsQ0FBQTtJQUVwRDs7U0FFSztJQUNMLDRFQUFnRCxDQUFBO0lBRWhEOztTQUVLO0lBQ0wsMkZBQStELENBQUE7SUFFL0Q7O1NBRUs7SUFDTCw0RkFBZ0UsQ0FBQTtJQUVoRTs7U0FFSztJQUNMLCtGQUFtRSxDQUFBO0lBRW5FOztTQUVLO0lBQ0wsNEVBQWdELENBQUE7SUFFaEQ7O1NBRUs7SUFDTCwyRkFBK0QsQ0FBQTtJQUUvRDs7U0FFSztJQUNMLDRGQUFnRSxDQUFBO0lBRWhFOztTQUVLO0lBQ0wsK0ZBQW1FLENBQUE7SUFFbkU7O1NBRUs7SUFDTCwwRkFBOEQsQ0FBQTtJQUU5RDs7U0FFSztJQUNMLGtGQUFzRCxDQUFBO0lBRXREOztTQUVLO0lBQ0wsMEZBQThELENBQUE7SUFFOUQ7O1NBRUs7SUFDTCxrRkFBc0QsQ0FBQTtJQUV0RDs7U0FFSztJQUNMLHlFQUE2QyxDQUFBO0lBRTdDOztTQUVLO0lBQ0wsdUVBQTJDLENBQUE7SUFFM0M7O1NBRUs7SUFDTCxpRUFBcUMsQ0FBQTtJQUVyQzs7U0FFSztJQUNMLGlFQUFxQyxDQUFBO0lBRXJDOztTQUVLO0lBQ0wsZ0VBQW9DLENBQUE7SUFFcEM7O1NBRUs7SUFDTCxzRUFBMEMsQ0FBQTtJQUUxQzs7U0FFSztJQUNMLHlFQUE2QyxDQUFBO0lBRTdDOztTQUVLO0lBQ0wsMkVBQStDLENBQUE7SUFFL0M7O1NBRUs7SUFDTCwwRUFBOEMsQ0FBQTtJQUU5Qzs7U0FFSztJQUNMLG9HQUF3RSxDQUFBO0FBRTVFLENBQUMsRUFoTVcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQWdNbkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBHcm91cE5hdmlnYXRpb25Db25zdGFudHMge1xuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0aGF0IGluZGljYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGdyb3VwIHNwZWNpZmljIG5hdmlnYXRpb24gZWxlbWVudHMuXG4gICAgICovXG4gICAgR1JPVVBfTkFWSUdBVElPTl9PVVRMRVQgPSAnZ3JvdXBOYXZpZ2F0aW9uJyxcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSByb3V0ZXIgcGFyYW0gdGhhdCBpcyB1c2VkIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlbGVjdGVkIGZpbHRlciB0byB0aGUgZ3JvdXAgbmF2aWdhdGlvbiB2aWV3IGNvbXBvbmVudFxuICAgICAqL1xuICAgIEdST1VQX05BVklHQVRJT05fUk9VVEVSX1BBUkFNID0gJ2ZpbHRlckNhc2VJZCcsXG4gICAgLyoqXG4gICAgICogRmllbGQgaWQsIHRoYXQgY29udGFpbnMgdGhlIHRhYiBuYW1lIG9mIHRoZSBuYXZpZ2F0aW9uIGl0ZW0uXG4gICAgICovXG4gICAgTkFWSUdBVElPTl9FTlRSWV9USVRMRV9GSUVMRF9JRF9TVUZGSVggPSAndGFiX25hbWUnLFxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gZmllbGQgaWQsIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgbmF2aWdhdGlvbiBkZWZpbmVzIGEgdGFiIGljb24uXG4gICAgICovXG4gICAgTkFWSUdBVElPTl9FTlRSWV9JQ09OX0VOQUJMRURfRklFTERfSURfU1VGRklYID0gJ3VzZV90YWJfaWNvbicsXG4gICAgLyoqXG4gICAgICogVGV4dCBmaWVsZCBpZCwgdGhhdCBjb250YWlucyB0aGUgaWQgb2YgdGhlIHVzZWQgbWF0ZXJpYWwgaWNvbi5cbiAgICAgKi9cbiAgICBOQVZJR0FUSU9OX0VOVFJZX0lDT05fRklFTERfSURfU1VGRklYID0gJ3RhYl9pY29uJyxcblxuICAgIC8qKlxuICAgICAqIFRhc2tSZWYgZmllbGQsIHRoYXQgY29udGFpbnMgdGFza0lkIG9mIGZpbHRlciB0YXNrXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX0ZJTFRFUl9UQVNLUkVGID0gJ2N1cnJlbnRfZmlsdGVyX3ByZXZpZXcnLFxuXG4gICAgLyoqXG4gICAgICogVGV4dCBmaWVsZCBpZCwgdGhhdCBjb250YWlucyB0aXRsZSBvZiBjcmVhdGUgY2FzZSBidXR0b25cbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ1JFQVRFX0NBU0VfQlVUVE9OX1RJVExFID0gJ2NyZWF0ZV9jYXNlX2J1dHRvbl90aXRsZScsXG5cbiAgICAvKipcbiAgICAgKiBUZXh0IGZpZWxkIGlkLCB0aGF0IGNvbnRhaW5zIGljb24gbmFtZSBvZiBjcmVhdGUgY2FzZSBidXR0b25cbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ1JFQVRFX0NBU0VfQlVUVE9OX0lDT04gPSAnY3JlYXRlX2Nhc2VfYnV0dG9uX2ljb24nLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIGlmIHRoZSBjcmVhdGUgY2FzZSBidXR0b24gaXMgc2hvd24gaW4gY2FzZSB2aWV3XG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1NIT1dfQ1JFQVRFX0NBU0VfQlVUVE9OID0gXCJzaG93X2NyZWF0ZV9jYXNlX2J1dHRvblwiLFxuXG4gICAgLyoqXG4gICAgICogRW51bWVyYXRpb25NYXAgZmllbGQsIHRoYXQgY29udGFpbnMgc2VsZWN0ZWQgc2VhcmNoIHR5cGUgZm9yIGNhc2Ugdmlld1xuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9DQVNFX1ZJRVdfU0VBUkNIX1RZUEUgPSAndmlld19zZWFyY2hfdHlwZScsXG5cbiAgICAvKipcbiAgICAgKiBFbnVtZXJhdGlvbk1hcCBmaWVsZCwgdGhhdCBjb250YWlucyBzZWxlY3RlZCBzZWFyY2ggdHlwZSBmb3IgdGFzayB2aWV3XG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfVklFV19TRUFSQ0hfVFlQRSA9ICd2aWV3X3NlYXJjaF90eXBlJyxcblxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gZmllbGQsIHRoYXQgaXMgdHJ1ZSBpZiB1c2VyIHdhbnRzIHRvIG1lcmdlIGJhc2UgZmlsdGVyIGFuZCBjdXN0b20gZmlsdGVyXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX01FUkdFX0ZJTFRFUlMgPSAnbWVyZ2VfZmlsdGVycycsXG5cbiAgICAvKipcbiAgICAgKiBUYXNrUmVmIGZpZWxkLCB0aGF0IGNvbnRhaW5zIHRhc2tJZCBvZiBjdXN0b20gZmlsdGVyIGZvciB0YXNrIHZpZXdcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQURESVRJT05BTF9GSUxURVJfVEFTS1JFRiA9ICdjdXJyZW50X2FkZGl0aW9uYWxfZmlsdGVyX3ByZXZpZXcnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIGlmIHRoZSB1c2VyIHdhbnRzIHRvIHNlZSBtb3JlIG1lbnUgZm9yIGNhc2UgaXRlbSBpbiBjYXNlIHZpZXdcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9TSE9XX01PUkVfTUVOVSA9ICdzaG93X21vcmVfbWVudScsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgaWYgbm8gaW5wdXQgZm9yIHRpdGxlIGluIGNhc2UgY3JlYXRpb24gaXMgc2hvd25cbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9USVRMRV9JTl9DUkVBVElPTiA9ICdyZXF1aXJlX3RpdGxlX2luX2NyZWF0aW9uJyxcblxuICAgIC8qKlxuICAgICAqIFRleHQgZmllbGQsIHRoYXQgY29udGFpbnMgYmFubmVkIHByb2Nlc3NlcyBpbiBjYXNlIGNyZWF0aW9uIGFzIGEgdmFsdWVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9CQU5ORURfUFJPQ0VTU19DUkVBVElPTiA9ICdiYW5uZWRfbmV0c19pbl9jcmVhdGlvbicsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgaWYgdGhlIHVzZXIgd2FudHMgdG8gc2VlIG1vcmUgbWVudSBmb3IgdGFzayBpdGVtIGluIHRhc2sgdmlld1xuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9UQVNLX1NIT1dfTU9SRV9NRU5VID0gJ3Nob3dfbW9yZV9tZW51JyxcblxuICAgIC8qKlxuICAgICAqIE11bHRpY2hvaWNlTWFwIGZpZWxkLCB0aGF0IGNvbnRhaW5zIHNlbGVjdGVkIGhlYWRlciBtb2RlcyBmb3IgY2FzZSB2aWV3IGFzIGEgdmFsdWVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9IRUFERVJTX01PREUgPSAnaGVhZGVyc19tb2RlJyxcblxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gZmllbGQsIHRoYXQgaXMgdHJ1ZSBpZiB0YWJsZSBtb2RlIGNhbiBiZSBhcHBsaWVkIGluIGNhc2Ugdmlld1xuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9DQVNFX0FMTE9XX1RBQkxFX01PREUgPSAnYWxsb3dfaGVhZGVyX3RhYmxlX21vZGUnLFxuXG4gICAgLyoqXG4gICAgICogRW51bWVyYXRpb25NYXAgZmllbGQsIHRoYXQgY29udGFpbnMgc2VsZWN0ZWQgZGVmYXVsdCBoZWFkZXIgbW9kZSBmb3IgY2FzZSB2aWV3IGFzIGEgdmFsdWVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9ERUZBVUxUX0hFQURFUlNfTU9ERSA9ICdoZWFkZXJzX2RlZmF1bHRfbW9kZScsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgdG8gbWFrZSBtb2RlIG1lbnUgaW4gY2FzZSB2aWV3IHZpc2libGVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9IRUFERVJTX0NIQU5HRUFCTEUgPSAnaXNfaGVhZGVyX21vZGVfY2hhbmdlYWJsZScsXG5cbiAgICAvKipcbiAgICAgKiBNdWx0aWNob2ljZU1hcCBmaWVsZCwgdGhhdCBjb250YWlucyBzZWxlY3RlZCBoZWFkZXIgbW9kZXMgZm9yIHRhc2sgdmlldyBhcyBhIHZhbHVlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfSEVBREVSU19NT0RFID0gJ2hlYWRlcnNfbW9kZScsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgaWYgdGFibGUgbW9kZSBjYW4gYmUgYXBwbGllZCBpbiB0YXNrIHZpZXdcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfVEFTS19BTExPV19UQUJMRV9NT0RFID0gJ2FsbG93X2hlYWRlcl90YWJsZV9tb2RlJyxcblxuICAgIC8qKlxuICAgICAqIEVudW1lcmF0aW9uTWFwIGZpZWxkLCB0aGF0IGNvbnRhaW5zIHNlbGVjdGVkIGRlZmF1bHQgaGVhZGVyIG1vZGUgZm9yIHRhc2sgdmlldyBhcyBhIHZhbHVlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfREVGQVVMVF9IRUFERVJTX01PREUgPSAnaGVhZGVyc19kZWZhdWx0X21vZGUnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIHRvIG1ha2UgbW9kZSBtZW51IGluIHRhc2sgdmlldyB2aXNpYmxlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfSEVBREVSU19DSEFOR0VBQkxFID0gJ2lzX2hlYWRlcl9tb2RlX2NoYW5nZWFibGUnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIHRvIHVzZSBkZWZhdWx0IGhlYWRlcnMgY29uZmlndXJhdGlvbiBmb3IgY2FzZSB2aWV3XG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1VTRV9DQVNFX0RFRkFVTFRfSEVBREVSUyA9ICd1c2VfZGVmYXVsdF9oZWFkZXJzJyxcblxuICAgIC8qKlxuICAgICAqIFRleHQgZmllbGQsIHRoYXQgY29udGFpbnMgZGVmYXVsdCBoZWFkZXIgbWV0YWRhdGEgc2VwYXJhdGVkIGJ5IGNvbW1hIGZvciBjYXNlIHZpZXcgYXMgYSB2YWx1ZVxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9DQVNFX0RFRkFVTFRfSEVBREVSUyA9ICdkZWZhdWx0X2hlYWRlcnMnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIHRvIHVzZSBkZWZhdWx0IGhlYWRlcnMgY29uZmlndXJhdGlvbiBmb3IgdGFzayB2aWV3XG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1VTRV9UQVNLX0RFRkFVTFRfSEVBREVSUyA9ICd1c2VfZGVmYXVsdF9oZWFkZXJzJyxcblxuICAgIC8qKlxuICAgICAqIFRleHQgZmllbGQsIHRoYXQgY29udGFpbnMgZGVmYXVsdCBoZWFkZXIgbWV0YWRhdGEgc2VwYXJhdGVkIGJ5IGNvbW1hIGZvciB0YXNrIHZpZXcgYXMgYSB2YWx1ZVxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9UQVNLX0RFRkFVTFRfSEVBREVSUyA9ICdkZWZhdWx0X2hlYWRlcnMnLFxuXG4gICAgLyoqXG4gICAgICogTXVsdGljaG9pY2VNYXAgZmllbGQsIHRoYXQgY29udGFpbnMgYWxsb3dlZCByb2xlcyBhcyB2YWx1ZVxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9BTExPV0VEX1JPTEVTID0gJ2FsbG93ZWRfcm9sZXMnLFxuXG4gICAgLyoqXG4gICAgICogTXVsdGljaG9pY2VNYXAgZmllbGQsIHRoYXQgY29udGFpbnMgYmFubmVkIHJvbGVzIGFzIHZhbHVlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX0JBTk5FRF9ST0xFUyA9ICdiYW5uZWRfcm9sZXMnLFxuXG4gICAgLyoqXG4gICAgICogVGV4dCBmaWVsZCwgdGhhdCBjb250YWlucyBpY29uIGlkZW50aWZpZXJcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfTUVOVV9JQ09OID0gJ21lbnVfaWNvbicsXG5cbiAgICAvKipcbiAgICAgKiBJMThuIGZpZWxkLCB0aGF0IGNvbnRhaW5zIGxhYmVscyBvZiBtZW51IGl0ZW1cbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfTUVOVV9OQU1FID0gJ21lbnVfbmFtZScsXG5cbiAgICAvKipcbiAgICAgKiBUZXh0IGZpZWxkLCB0aGF0IGNvbnRhaW5zIFVSSVxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9OT0RFX1BBVEggPSAnbm9kZVBhdGgnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIGlmIGl0ZW0gY29udGFpbnMgY2hpbGQgaXRlbXNcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfSEFTX0NISUxEUkVOID0gJ2hhc0NoaWxkcmVuJyxcblxuICAgIC8qKlxuICAgICAqIENhc2VGaWVsZCBjb250YWluaW5nIHN0cmluZ0lkcyBvZiBjaGlsZCBpbnN0YW5jZXMgb2YgcHJvY2VzcyBwcmVmZXJlbmNlX2l0ZW1cbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0hJTERfSVRFTV9JRFMgPSAnY2hpbGRJdGVtSWRzJyxcblxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gZmllbGQsIHRoYXQgaXMgdHJ1ZSBpZiBpdGVtIGNvbnRhaW5zIHZpZXcsIHRoYXQgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgb3BlbmVkLlxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9JU19BVVRPX1NFTEVDVCA9ICdpc19hdXRvX3NlbGVjdCcsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgaWYgaXRlbSBjb250YWlucyB2aWV3LlxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9DT05UQUlOU19GSUxURVIgPSAnY29udGFpbnNfZmlsdGVyJyxcblxuICAgIC8qKlxuICAgICAqIFRleHQgZmllbGQsIHRoYXQgY29udGFpbnMgY2hhaW5lZCB2aWV3IGlkIGNvbmZpZ3VyYXRpb24uXG4gICAgICogKi9cbiAgICBJVEVNX0NIQUlORURfVklFV19DT05GSUdVUkFUSU9OX1RZUEUgPSAnY2hhaW5lZF92aWV3X2NvbmZpZ3VyYXRpb25fdHlwZScsXG5cbn1cbiJdfQ==
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbmF2aWdhdGlvbi1jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL25hdmlnYXRpb24vbW9kZWwvZ3JvdXAtbmF2aWdhdGlvbi1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksd0JBZ01YO0FBaE1ELFdBQVksd0JBQXdCO0lBQ2hDOztPQUVHO0lBQ0gsdUVBQTJDLENBQUE7SUFDM0M7O09BRUc7SUFDSCwwRUFBOEMsQ0FBQTtJQUM5Qzs7T0FFRztJQUNILCtFQUFtRCxDQUFBO0lBQ25EOztPQUVHO0lBQ0gsMEZBQThELENBQUE7SUFDOUQ7O09BRUc7SUFDSCw4RUFBa0QsQ0FBQTtJQUVsRDs7U0FFSztJQUNMLG1GQUF1RCxDQUFBO0lBRXZEOztTQUVLO0lBQ0wsK0ZBQW1FLENBQUE7SUFFbkU7O1NBRUs7SUFDTCw2RkFBaUUsQ0FBQTtJQUVqRTs7U0FFSztJQUNMLDZGQUFpRSxDQUFBO0lBRWpFOztTQUVLO0lBQ0wsb0ZBQXdELENBQUE7SUFFeEQ7O1NBRUs7SUFDTCxvRkFBd0QsQ0FBQTtJQUV4RDs7U0FFSztJQUNMLHlFQUE2QyxDQUFBO0lBRTdDOztTQUVLO0lBQ0wseUdBQTZFLENBQUE7SUFFN0U7O1NBRUs7SUFDTCxnRkFBb0QsQ0FBQTtJQUVwRDs7U0FFSztJQUNMLDhGQUFrRSxDQUFBO0lBRWxFOztTQUVLO0lBQ0wsa0dBQXNFLENBQUE7SUFFdEU7O1NBRUs7SUFDTCxnRkFBb0QsQ0FBQTtJQUVwRDs7U0FFSztJQUNMLDRFQUFnRCxDQUFBO0lBRWhEOztTQUVLO0lBQ0wsMkZBQStELENBQUE7SUFFL0Q7O1NBRUs7SUFDTCw0RkFBZ0UsQ0FBQTtJQUVoRTs7U0FFSztJQUNMLCtGQUFtRSxDQUFBO0lBRW5FOztTQUVLO0lBQ0wsNEVBQWdELENBQUE7SUFFaEQ7O1NBRUs7SUFDTCwyRkFBK0QsQ0FBQTtJQUUvRDs7U0FFSztJQUNMLDRGQUFnRSxDQUFBO0lBRWhFOztTQUVLO0lBQ0wsK0ZBQW1FLENBQUE7SUFFbkU7O1NBRUs7SUFDTCwrRkFBbUUsQ0FBQTtJQUVuRTs7U0FFSztJQUNMLGtGQUFzRCxDQUFBO0lBRXREOztTQUVLO0lBQ0wsMEZBQThELENBQUE7SUFFOUQ7O1NBRUs7SUFDTCxrRkFBc0QsQ0FBQTtJQUV0RDs7U0FFSztJQUNMLHlFQUE2QyxDQUFBO0lBRTdDOztTQUVLO0lBQ0wsdUVBQTJDLENBQUE7SUFFM0M7O1NBRUs7SUFDTCxpRUFBcUMsQ0FBQTtJQUVyQzs7U0FFSztJQUNMLGlFQUFxQyxDQUFBO0lBRXJDOztTQUVLO0lBQ0wsZ0VBQW9DLENBQUE7SUFFcEM7O1NBRUs7SUFDTCxzRUFBMEMsQ0FBQTtJQUUxQzs7U0FFSztJQUNMLHlFQUE2QyxDQUFBO0lBRTdDOztTQUVLO0lBQ0wsMkVBQStDLENBQUE7SUFFL0M7O1NBRUs7SUFDTCwwRUFBOEMsQ0FBQTtJQUU5Qzs7U0FFSztJQUNMLG9HQUF3RSxDQUFBO0FBRTVFLENBQUMsRUFoTVcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQWdNbkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBHcm91cE5hdmlnYXRpb25Db25zdGFudHMge1xuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0aGF0IGluZGljYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGdyb3VwIHNwZWNpZmljIG5hdmlnYXRpb24gZWxlbWVudHMuXG4gICAgICovXG4gICAgR1JPVVBfTkFWSUdBVElPTl9PVVRMRVQgPSAnZ3JvdXBOYXZpZ2F0aW9uJyxcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSByb3V0ZXIgcGFyYW0gdGhhdCBpcyB1c2VkIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlbGVjdGVkIGZpbHRlciB0byB0aGUgZ3JvdXAgbmF2aWdhdGlvbiB2aWV3IGNvbXBvbmVudFxuICAgICAqL1xuICAgIEdST1VQX05BVklHQVRJT05fUk9VVEVSX1BBUkFNID0gJ2ZpbHRlckNhc2VJZCcsXG4gICAgLyoqXG4gICAgICogRmllbGQgaWQsIHRoYXQgY29udGFpbnMgdGhlIHRhYiBuYW1lIG9mIHRoZSBuYXZpZ2F0aW9uIGl0ZW0uXG4gICAgICovXG4gICAgTkFWSUdBVElPTl9FTlRSWV9USVRMRV9GSUVMRF9JRF9TVUZGSVggPSAndGFiX25hbWUnLFxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gZmllbGQgaWQsIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgbmF2aWdhdGlvbiBkZWZpbmVzIGEgdGFiIGljb24uXG4gICAgICovXG4gICAgTkFWSUdBVElPTl9FTlRSWV9JQ09OX0VOQUJMRURfRklFTERfSURfU1VGRklYID0gJ3VzZV90YWJfaWNvbicsXG4gICAgLyoqXG4gICAgICogVGV4dCBmaWVsZCBpZCwgdGhhdCBjb250YWlucyB0aGUgaWQgb2YgdGhlIHVzZWQgbWF0ZXJpYWwgaWNvbi5cbiAgICAgKi9cbiAgICBOQVZJR0FUSU9OX0VOVFJZX0lDT05fRklFTERfSURfU1VGRklYID0gJ3RhYl9pY29uJyxcblxuICAgIC8qKlxuICAgICAqIFRhc2tSZWYgZmllbGQsIHRoYXQgY29udGFpbnMgdGFza0lkIG9mIGZpbHRlciB0YXNrXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX0ZJTFRFUl9UQVNLUkVGID0gJ2N1cnJlbnRfZmlsdGVyX3ByZXZpZXcnLFxuXG4gICAgLyoqXG4gICAgICogVGV4dCBmaWVsZCBpZCwgdGhhdCBjb250YWlucyB0aXRsZSBvZiBjcmVhdGUgY2FzZSBidXR0b25cbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ1JFQVRFX0NBU0VfQlVUVE9OX1RJVExFID0gJ2NyZWF0ZV9jYXNlX2J1dHRvbl90aXRsZScsXG5cbiAgICAvKipcbiAgICAgKiBUZXh0IGZpZWxkIGlkLCB0aGF0IGNvbnRhaW5zIGljb24gbmFtZSBvZiBjcmVhdGUgY2FzZSBidXR0b25cbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ1JFQVRFX0NBU0VfQlVUVE9OX0lDT04gPSAnY3JlYXRlX2Nhc2VfYnV0dG9uX2ljb24nLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIGlmIHRoZSBjcmVhdGUgY2FzZSBidXR0b24gaXMgc2hvd24gaW4gY2FzZSB2aWV3XG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1NIT1dfQ1JFQVRFX0NBU0VfQlVUVE9OID0gXCJzaG93X2NyZWF0ZV9jYXNlX2J1dHRvblwiLFxuXG4gICAgLyoqXG4gICAgICogRW51bWVyYXRpb25NYXAgZmllbGQsIHRoYXQgY29udGFpbnMgc2VsZWN0ZWQgc2VhcmNoIHR5cGUgZm9yIGNhc2Ugdmlld1xuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9DQVNFX1ZJRVdfU0VBUkNIX1RZUEUgPSAndmlld19zZWFyY2hfdHlwZScsXG5cbiAgICAvKipcbiAgICAgKiBFbnVtZXJhdGlvbk1hcCBmaWVsZCwgdGhhdCBjb250YWlucyBzZWxlY3RlZCBzZWFyY2ggdHlwZSBmb3IgdGFzayB2aWV3XG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfVklFV19TRUFSQ0hfVFlQRSA9ICd2aWV3X3NlYXJjaF90eXBlJyxcblxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gZmllbGQsIHRoYXQgaXMgdHJ1ZSBpZiB1c2VyIHdhbnRzIHRvIG1lcmdlIGJhc2UgZmlsdGVyIGFuZCBjdXN0b20gZmlsdGVyXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX01FUkdFX0ZJTFRFUlMgPSAnbWVyZ2VfZmlsdGVycycsXG5cbiAgICAvKipcbiAgICAgKiBUYXNrUmVmIGZpZWxkLCB0aGF0IGNvbnRhaW5zIHRhc2tJZCBvZiBjdXN0b20gZmlsdGVyIGZvciB0YXNrIHZpZXdcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQURESVRJT05BTF9GSUxURVJfVEFTS1JFRiA9ICdjdXJyZW50X2FkZGl0aW9uYWxfZmlsdGVyX3ByZXZpZXcnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIGlmIHRoZSB1c2VyIHdhbnRzIHRvIHNlZSBtb3JlIG1lbnUgZm9yIGNhc2UgaXRlbSBpbiBjYXNlIHZpZXdcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9TSE9XX01PUkVfTUVOVSA9ICdzaG93X21vcmVfbWVudScsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgaWYgbm8gaW5wdXQgZm9yIHRpdGxlIGluIGNhc2UgY3JlYXRpb24gaXMgc2hvd25cbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9USVRMRV9JTl9DUkVBVElPTiA9ICdyZXF1aXJlX3RpdGxlX2luX2NyZWF0aW9uJyxcblxuICAgIC8qKlxuICAgICAqIFRleHQgZmllbGQsIHRoYXQgY29udGFpbnMgYmFubmVkIHByb2Nlc3NlcyBpbiBjYXNlIGNyZWF0aW9uIGFzIGEgdmFsdWVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9CQU5ORURfUFJPQ0VTU19DUkVBVElPTiA9ICdiYW5uZWRfbmV0c19pbl9jcmVhdGlvbicsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgaWYgdGhlIHVzZXIgd2FudHMgdG8gc2VlIG1vcmUgbWVudSBmb3IgdGFzayBpdGVtIGluIHRhc2sgdmlld1xuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9UQVNLX1NIT1dfTU9SRV9NRU5VID0gJ3Nob3dfbW9yZV9tZW51JyxcblxuICAgIC8qKlxuICAgICAqIE11bHRpY2hvaWNlTWFwIGZpZWxkLCB0aGF0IGNvbnRhaW5zIHNlbGVjdGVkIGhlYWRlciBtb2RlcyBmb3IgY2FzZSB2aWV3IGFzIGEgdmFsdWVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9IRUFERVJTX01PREUgPSAnaGVhZGVyc19tb2RlJyxcblxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gZmllbGQsIHRoYXQgaXMgdHJ1ZSBpZiB0YWJsZSBtb2RlIGNhbiBiZSBhcHBsaWVkIGluIGNhc2Ugdmlld1xuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9DQVNFX0FMTE9XX1RBQkxFX01PREUgPSAnYWxsb3dfaGVhZGVyX3RhYmxlX21vZGUnLFxuXG4gICAgLyoqXG4gICAgICogRW51bWVyYXRpb25NYXAgZmllbGQsIHRoYXQgY29udGFpbnMgc2VsZWN0ZWQgZGVmYXVsdCBoZWFkZXIgbW9kZSBmb3IgY2FzZSB2aWV3IGFzIGEgdmFsdWVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9ERUZBVUxUX0hFQURFUlNfTU9ERSA9ICdoZWFkZXJzX2RlZmF1bHRfbW9kZScsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgdG8gbWFrZSBtb2RlIG1lbnUgaW4gY2FzZSB2aWV3IHZpc2libGVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQ0FTRV9IRUFERVJTX0NIQU5HRUFCTEUgPSAnaXNfaGVhZGVyX21vZGVfY2hhbmdlYWJsZScsXG5cbiAgICAvKipcbiAgICAgKiBNdWx0aWNob2ljZU1hcCBmaWVsZCwgdGhhdCBjb250YWlucyBzZWxlY3RlZCBoZWFkZXIgbW9kZXMgZm9yIHRhc2sgdmlldyBhcyBhIHZhbHVlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfSEVBREVSU19NT0RFID0gJ2hlYWRlcnNfbW9kZScsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgaWYgdGFibGUgbW9kZSBjYW4gYmUgYXBwbGllZCBpbiB0YXNrIHZpZXdcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfVEFTS19BTExPV19UQUJMRV9NT0RFID0gJ2FsbG93X2hlYWRlcl90YWJsZV9tb2RlJyxcblxuICAgIC8qKlxuICAgICAqIEVudW1lcmF0aW9uTWFwIGZpZWxkLCB0aGF0IGNvbnRhaW5zIHNlbGVjdGVkIGRlZmF1bHQgaGVhZGVyIG1vZGUgZm9yIHRhc2sgdmlldyBhcyBhIHZhbHVlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfREVGQVVMVF9IRUFERVJTX01PREUgPSAnaGVhZGVyc19kZWZhdWx0X21vZGUnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIHRvIG1ha2UgbW9kZSBtZW51IGluIHRhc2sgdmlldyB2aXNpYmxlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfSEVBREVSU19DSEFOR0VBQkxFID0gJ2lzX2hlYWRlcl9tb2RlX2NoYW5nZWFibGUnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIHRvIHVzZSBkZWZhdWx0IGhlYWRlcnMgY29uZmlndXJhdGlvbiBmb3IgY2FzZSB2aWV3XG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1VTRV9DQVNFX0RFRkFVTFRfSEVBREVSUyA9ICd1c2VfY2FzZV9kZWZhdWx0X2hlYWRlcnMnLFxuXG4gICAgLyoqXG4gICAgICogVGV4dCBmaWVsZCwgdGhhdCBjb250YWlucyBkZWZhdWx0IGhlYWRlciBtZXRhZGF0YSBzZXBhcmF0ZWQgYnkgY29tbWEgZm9yIGNhc2UgdmlldyBhcyBhIHZhbHVlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX0NBU0VfREVGQVVMVF9IRUFERVJTID0gJ2RlZmF1bHRfaGVhZGVycycsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgdG8gdXNlIGRlZmF1bHQgaGVhZGVycyBjb25maWd1cmF0aW9uIGZvciB0YXNrIHZpZXdcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfVVNFX1RBU0tfREVGQVVMVF9IRUFERVJTID0gJ3VzZV9kZWZhdWx0X2hlYWRlcnMnLFxuXG4gICAgLyoqXG4gICAgICogVGV4dCBmaWVsZCwgdGhhdCBjb250YWlucyBkZWZhdWx0IGhlYWRlciBtZXRhZGF0YSBzZXBhcmF0ZWQgYnkgY29tbWEgZm9yIHRhc2sgdmlldyBhcyBhIHZhbHVlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX1RBU0tfREVGQVVMVF9IRUFERVJTID0gJ2RlZmF1bHRfaGVhZGVycycsXG5cbiAgICAvKipcbiAgICAgKiBNdWx0aWNob2ljZU1hcCBmaWVsZCwgdGhhdCBjb250YWlucyBhbGxvd2VkIHJvbGVzIGFzIHZhbHVlXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX0FMTE9XRURfUk9MRVMgPSAnYWxsb3dlZF9yb2xlcycsXG5cbiAgICAvKipcbiAgICAgKiBNdWx0aWNob2ljZU1hcCBmaWVsZCwgdGhhdCBjb250YWlucyBiYW5uZWQgcm9sZXMgYXMgdmFsdWVcbiAgICAgKiAqL1xuICAgIElURU1fRklFTERfSURfQkFOTkVEX1JPTEVTID0gJ2Jhbm5lZF9yb2xlcycsXG5cbiAgICAvKipcbiAgICAgKiBUZXh0IGZpZWxkLCB0aGF0IGNvbnRhaW5zIGljb24gaWRlbnRpZmllclxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9NRU5VX0lDT04gPSAnbWVudV9pY29uJyxcblxuICAgIC8qKlxuICAgICAqIEkxOG4gZmllbGQsIHRoYXQgY29udGFpbnMgbGFiZWxzIG9mIG1lbnUgaXRlbVxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9NRU5VX05BTUUgPSAnbWVudV9uYW1lJyxcblxuICAgIC8qKlxuICAgICAqIFRleHQgZmllbGQsIHRoYXQgY29udGFpbnMgVVJJXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX05PREVfUEFUSCA9ICdub2RlUGF0aCcsXG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIGZpZWxkLCB0aGF0IGlzIHRydWUgaWYgaXRlbSBjb250YWlucyBjaGlsZCBpdGVtc1xuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9IQVNfQ0hJTERSRU4gPSAnaGFzQ2hpbGRyZW4nLFxuXG4gICAgLyoqXG4gICAgICogQ2FzZUZpZWxkIGNvbnRhaW5pbmcgc3RyaW5nSWRzIG9mIGNoaWxkIGluc3RhbmNlcyBvZiBwcm9jZXNzIHByZWZlcmVuY2VfaXRlbVxuICAgICAqICovXG4gICAgSVRFTV9GSUVMRF9JRF9DSElMRF9JVEVNX0lEUyA9ICdjaGlsZEl0ZW1JZHMnLFxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmaWVsZCwgdGhhdCBpcyB0cnVlIGlmIGl0ZW0gY29udGFpbnMgdmlldywgdGhhdCBzaG91bGQgYmUgYXV0b21hdGljYWxseSBvcGVuZWQuXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0lEX0lTX0FVVE9fU0VMRUNUID0gJ2lzX2F1dG9fc2VsZWN0JyxcblxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gZmllbGQsIHRoYXQgaXMgdHJ1ZSBpZiBpdGVtIGNvbnRhaW5zIHZpZXcuXG4gICAgICogKi9cbiAgICBJVEVNX0ZJRUxEX0NPTlRBSU5TX0ZJTFRFUiA9ICdjb250YWluc19maWx0ZXInLFxuXG4gICAgLyoqXG4gICAgICogVGV4dCBmaWVsZCwgdGhhdCBjb250YWlucyBjaGFpbmVkIHZpZXcgaWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiAqL1xuICAgIElURU1fQ0hBSU5FRF9WSUVXX0NPTkZJR1VSQVRJT05fVFlQRSA9ICdjaGFpbmVkX3ZpZXdfY29uZmlndXJhdGlvbl90eXBlJyxcblxufVxuIl19
|
package/esm2022/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs
CHANGED
|
@@ -5,6 +5,8 @@ import { NAE_ROUTING_CONFIGURATION_PATH } from '../../routing/routing-builder/ro
|
|
|
5
5
|
import { PathService } from '../service/path.service';
|
|
6
6
|
import { LEFT_DRAWER_DEFAULT_WIDTH, RIGHT_DRAWER_DEFAULT_MIN_WIDTH, RIGHT_DRAWER_DEFAULT_WIDTH, RIGHT_DRAWER_MAX_WIDTH, } from '../model/navigation-configs';
|
|
7
7
|
import { GroupNavigationConstants } from "../model/group-navigation-constants";
|
|
8
|
+
import { extractFieldValueFromData } from "../utility/navigation-item-task-utility-methods";
|
|
9
|
+
import { LoadingEmitter } from "../../utility/loading-emitter";
|
|
8
10
|
import * as i0 from "@angular/core";
|
|
9
11
|
import * as i1 from "@angular/router";
|
|
10
12
|
import * as i2 from "@angular/cdk/layout";
|
|
@@ -63,6 +65,7 @@ export class AbstractNavigationDoubleDrawerComponent {
|
|
|
63
65
|
* Siblings of the node are on the left, children are on the right
|
|
64
66
|
*/
|
|
65
67
|
_currentPath;
|
|
68
|
+
_pathResolverLoading$;
|
|
66
69
|
_configLeftMenu = {
|
|
67
70
|
mode: 'side',
|
|
68
71
|
opened: true,
|
|
@@ -102,6 +105,7 @@ export class AbstractNavigationDoubleDrawerComponent {
|
|
|
102
105
|
this._navigationService.itemLoaded$.subscribe((itemLoadedEvent) => {
|
|
103
106
|
this.itemLoaded.emit(itemLoadedEvent);
|
|
104
107
|
});
|
|
108
|
+
this._pathResolverLoading$ = new LoadingEmitter();
|
|
105
109
|
}
|
|
106
110
|
ngOnInit() {
|
|
107
111
|
this._breakpointSubscription = this._breakpoint.observe([Breakpoints.HandsetLandscape]).subscribe(() => {
|
|
@@ -113,11 +117,12 @@ export class AbstractNavigationDoubleDrawerComponent {
|
|
|
113
117
|
}
|
|
114
118
|
});
|
|
115
119
|
this._userService.user$.pipe(filter(u => !!u && u.id !== ''), take(1)).subscribe(() => {
|
|
120
|
+
this.resolveInitialValueOfPath();
|
|
116
121
|
this._currentPathSubscription = this._pathService.activePath$.subscribe(path => {
|
|
117
|
-
if (path !== this.currentPath) {
|
|
122
|
+
if (path !== this.currentPath && !this._pathResolverLoading$.isActive) {
|
|
118
123
|
this.currentPath = path;
|
|
119
124
|
}
|
|
120
|
-
else {
|
|
125
|
+
else if (!this._pathResolverLoading$.isActive) {
|
|
121
126
|
this.openAvailableView();
|
|
122
127
|
}
|
|
123
128
|
});
|
|
@@ -189,6 +194,9 @@ export class AbstractNavigationDoubleDrawerComponent {
|
|
|
189
194
|
get rightLoading$() {
|
|
190
195
|
return this._navigationService.rightLoading$;
|
|
191
196
|
}
|
|
197
|
+
get pathResolverLoading$() {
|
|
198
|
+
return this._pathResolverLoading$;
|
|
199
|
+
}
|
|
192
200
|
toggleMenu() {
|
|
193
201
|
this.toggleRightMenu();
|
|
194
202
|
if (this.allClosable) {
|
|
@@ -321,6 +329,44 @@ export class AbstractNavigationDoubleDrawerComponent {
|
|
|
321
329
|
openAvailableView() {
|
|
322
330
|
this._navigationService.openAvailableView();
|
|
323
331
|
}
|
|
332
|
+
resolveInitialValueOfPath() {
|
|
333
|
+
if (this.currentPath === undefined) {
|
|
334
|
+
const groupNavigationRoute = this._config.getServicesConfiguration()?.groupNavigation?.groupNavigationRoute;
|
|
335
|
+
if (this._router.url.includes(groupNavigationRoute)) {
|
|
336
|
+
this._pathResolverLoading$.on();
|
|
337
|
+
this._pathService.datafieldsForMenuResolver.pipe(take(1)).subscribe(data => {
|
|
338
|
+
this._pathResolverLoading$.off();
|
|
339
|
+
let nodePath;
|
|
340
|
+
let hasChildren;
|
|
341
|
+
try {
|
|
342
|
+
nodePath = extractFieldValueFromData(data, GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH);
|
|
343
|
+
hasChildren = extractFieldValueFromData(data, GroupNavigationConstants.ITEM_FIELD_ID_HAS_CHILDREN);
|
|
344
|
+
}
|
|
345
|
+
catch (e) {
|
|
346
|
+
this._log.info("Couldn't resolve menu, skipping...");
|
|
347
|
+
}
|
|
348
|
+
if (hasChildren && nodePath) {
|
|
349
|
+
this._navigationService.fromResolver = true;
|
|
350
|
+
this._pathService.activePath = nodePath;
|
|
351
|
+
}
|
|
352
|
+
else if (nodePath) {
|
|
353
|
+
this._navigationService.fromResolver = true;
|
|
354
|
+
this._pathService.activePath = this._navigationService.extractParentPath(nodePath);
|
|
355
|
+
}
|
|
356
|
+
}, error => {
|
|
357
|
+
this._pathResolverLoading$.off();
|
|
358
|
+
this.currentPath = this._pathService.activePath;
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
const viewConfiguration = this._config.getViewByUrl(this._router.url);
|
|
363
|
+
if (viewConfiguration?.processUri) {
|
|
364
|
+
this._navigationService.fromResolver = true;
|
|
365
|
+
this._pathService.activePath = viewConfiguration.processUri;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
324
370
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BreakpointObserver }, { token: i3.LanguageService }, { token: i4.TranslateService }, { token: i5.UserService }, { token: i6.LoggerService }, { token: i7.ConfigurationService }, { token: i8.PathService }, { token: i9.CaseResourceService }, { token: i10.ImpersonationUserSelectService }, { token: i11.ImpersonationService }, { token: i12.DoubleDrawerNavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
325
371
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractNavigationDoubleDrawerComponent, selector: "ncc-abstract-navigation-double-drawer", inputs: { portalLeftMenu: "portalLeftMenu", portalRightMenu: "portalRightMenu", imageRouterLink: "imageRouterLink", imageAlt: "imageAlt", image: "image", profileRouterLink: "profileRouterLink", includeUser: "includeUser", includeLanguage: "includeLanguage", includeMoreMenu: "includeMoreMenu", includeImpersonation: "includeImpersonation", allClosable: "allClosable", folderIcon: "folderIcon", openedFolderIcon: "openedFolderIcon", filterIcon: "filterIcon", foldersCategoryName: "foldersCategoryName", viewsCategoryName: "viewsCategoryName" }, outputs: { loggedOut: "loggedOut", stateChanged: "stateChanged", itemClicked: "itemClicked", resized: "resized", itemLoaded: "itemLoaded" }, ngImport: i0, template: '', isInline: true });
|
|
326
372
|
}
|
|
@@ -373,4 +419,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
373
419
|
}], itemLoaded: [{
|
|
374
420
|
type: Output
|
|
375
421
|
}] } });
|
|
376
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9hYnN0cmFjdC1uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUtyRyxPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTzVDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBSXJHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBRUgseUJBQXlCLEVBRXpCLDhCQUE4QixFQUM5QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFRckMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTTdFLE1BQU0sT0FBZ0IsdUNBQXVDO0lBbUR6QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTdEdkIsY0FBYyxDQUFtQjtJQUNqQyxlQUFlLENBQW1CO0lBQ2xDLGVBQWUsR0FBVyxHQUFHLENBQUM7SUFDOUIsUUFBUSxHQUFXLE1BQU0sQ0FBQztJQUMxQixLQUFLLENBQVM7SUFDZCxpQkFBaUIsR0FBVyxVQUFVLENBQUM7SUFDdkMsV0FBVyxHQUFZLElBQUksQ0FBQztJQUM1QixlQUFlLEdBQVksSUFBSSxDQUFDO0lBQ2hDLGVBQWUsR0FBWSxJQUFJLENBQUM7SUFDaEMsb0JBQW9CLEdBQVksSUFBSSxDQUFDO0lBQ3JDLFdBQVcsR0FBWSxJQUFJLENBQUM7SUFDNUIsVUFBVSxHQUFXLFFBQVEsQ0FBQztJQUM5QixnQkFBZ0IsR0FBVyxhQUFhLENBQUM7SUFDekMsVUFBVSxHQUFXLFlBQVksQ0FBQztJQUNsQyxtQkFBbUIsR0FBVyxzQkFBc0IsQ0FBQztJQUNyRCxpQkFBaUIsR0FBVyxvQkFBb0IsQ0FBQztJQUVoRCxTQUFTLEdBQUcsSUFBSSxZQUFZLENBQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZO0lBQ3JELFlBQVksR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQyxDQUFDLHVCQUF1QjtJQUNoRixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUMsQ0FBQyxnQkFBZ0I7SUFDdEUsT0FBTyxHQUFHLElBQUksWUFBWSxDQUFrQixJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtJQUNwRSxVQUFVLEdBQUcsSUFBSSxZQUFZLENBQXNCLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCO0lBRTlFLFlBQVksQ0FBVTtJQUNuQix1QkFBdUIsQ0FBZTtJQUN0Qyx3QkFBd0IsQ0FBZTtJQUN2Qyx3QkFBd0IsQ0FBZTtJQUN2Qyx1QkFBdUIsQ0FBZTtJQUNoRDs7O09BR0c7SUFDTyxZQUFZLENBQVM7SUFFckIsZUFBZSxHQUFxQjtRQUMxQyxJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxJQUFJO1FBQ1osWUFBWSxFQUFFLEtBQUs7UUFDbkIsS0FBSyxFQUFFLHlCQUF5QjtLQUNuQyxDQUFDO0lBQ1EsZ0JBQWdCLEdBQXFCO1FBQzNDLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLElBQUk7UUFDWixZQUFZLEVBQUUsS0FBSztRQUNuQixLQUFLLEVBQUUsMEJBQTBCO0tBQ3BDLENBQUM7SUFFUSxTQUFTLENBQVM7SUFFNUIsWUFBZ0MsT0FBZSxFQUNmLGVBQStCLEVBQy9CLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxpQkFBbUMsRUFDbkMsWUFBeUIsRUFDekIsSUFBbUIsRUFDbkIsT0FBNkIsRUFDN0IsWUFBeUIsRUFDekIsb0JBQXlDLEVBQ3pDLHdCQUF3RCxFQUN4RCxjQUFvQyxFQUNwQyxrQkFBaUQ7UUFaakQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLFNBQUksR0FBSixJQUFJLENBQWU7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQWdDO1FBQ3hELG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUNwQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQStCO1FBQzdFLElBQUksU0FBUyxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDO1FBQ25GLElBQUksU0FBUyxLQUFLLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkQsU0FBUyxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWtDLEVBQUUsRUFBRTtZQUNsRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsZUFBb0MsRUFBRSxFQUFFO1lBQ25GLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbkcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO2dCQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdCO2lCQUFNO2dCQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsRixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzRSxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztpQkFDM0I7cUJBQU07b0JBQ0gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7aUJBQzVCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO2dCQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDakIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUE7YUFDTDtZQUVELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDakcsSUFBSSxDQUFDLENBQUMscUJBQXFCLEVBQUU7Z0JBQ3pCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDNUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDLENBQUM7YUFDakc7WUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQztJQUdQLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxXQUFXLENBQUMsSUFBWTtRQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7SUFDakQsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7UUFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFTSxNQUFNO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNuRyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxZQUFZLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7U0FHSztJQUNFLFdBQVc7UUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7OztTQUtLO0lBQ0UsV0FBVztRQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUN6QyxDQUFDO0lBRU0sV0FBVyxDQUFDLElBQW9CO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFTSxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7U0FHSztJQUNFLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDdEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQW9CLEVBQUUsSUFBWTtRQUNqRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFBO0lBQ2xJLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWEsRUFBRSxJQUFvQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFrQjtRQUNuQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLHNCQUFzQixFQUFFO1lBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsc0JBQXNCLENBQUM7U0FDeEQ7YUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLDhCQUE4QixFQUFFO1lBQy9ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsOEJBQThCLENBQUM7U0FDaEU7YUFBTTtZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUN4RCx5REFBeUQ7UUFDekQsb0VBQW9FO1FBQ3BFLHNDQUFzQztJQUMxQyxDQUFDO0lBRVMsYUFBYSxDQUFDLGFBQXNCO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxJQUFJO1lBQ1osWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSztTQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNBLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixZQUFZLEVBQUUsS0FBSztZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO1NBQ3BDLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNwQyxJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxJQUFJO1lBQ1osWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO1NBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBQ0EsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLFlBQVksRUFBRSxLQUFLO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSztTQUNyQyxDQUFDO0lBQ04sQ0FBQztJQUVTLGtCQUFrQjtRQUN4QixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDL0MsQ0FBQztJQUVTLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNoRCxDQUFDO3dHQWxWaUIsdUNBQXVDOzRGQUF2Qyx1Q0FBdUMsMHZCQUYvQyxFQUFFOzs0RkFFTSx1Q0FBdUM7a0JBSjVELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVDQUF1QztvQkFDakQsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7MGRBR1ksY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1Jlc2l6ZUV2ZW50fSBmcm9tICdhbmd1bGFyLXJlc2l6YWJsZS1lbGVtZW50JztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FjY2Vzc1NlcnZpY2V9IGZyb20gJy4uLy4uL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi9hY2Nlc3Muc2VydmljZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge0ltcGVyc29uYXRpb25Vc2VyU2VsZWN0U2VydmljZX0gZnJvbSAnLi4vLi4vaW1wZXJzb25hdGlvbi9zZXJ2aWNlcy9pbXBlcnNvbmF0aW9uLXVzZXItc2VsZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtJbXBlcnNvbmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vaW1wZXJzb25hdGlvbi9zZXJ2aWNlcy9pbXBlcnNvbmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge05BRV9ST1VUSU5HX0NPTkZJR1VSQVRJT05fUEFUSH0gZnJvbSAnLi4vLi4vcm91dGluZy9yb3V0aW5nLWJ1aWxkZXIvcm91dGluZy1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtMYW5ndWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7VXNlcn0gZnJvbSAnLi4vLi4vdXNlci9tb2RlbHMvdXNlcic7XG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge1BhdGhTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3BhdGguc2VydmljZSc7XG5pbXBvcnQge1xuICAgIENvbmZpZ0RvdWJsZU1lbnUsXG4gICAgTEVGVF9EUkFXRVJfREVGQVVMVF9XSURUSCxcbiAgICBOYXZpZ2F0aW9uSXRlbSxcbiAgICBSSUdIVF9EUkFXRVJfREVGQVVMVF9NSU5fV0lEVEgsXG4gICAgUklHSFRfRFJBV0VSX0RFRkFVTFRfV0lEVEgsXG4gICAgUklHSFRfRFJBV0VSX01BWF9XSURUSCxcbn0gZnJvbSAnLi4vbW9kZWwvbmF2aWdhdGlvbi1jb25maWdzJztcbmltcG9ydCB7XG4gICAgTWVudUl0ZW1DbGlja0V2ZW50LFxuICAgIE1lbnVJdGVtTG9hZGVkRXZlbnQsXG4gICAgTWVudVJlc2l6ZUV2ZW50LFxuICAgIE1lbnVTdGF0ZUNoYW5nZUV2ZW50LFxufSBmcm9tICcuLi9tb2RlbC9uYXZpZ2F0aW9uLW1lbnUtZXZlbnRzJztcbmltcG9ydCB7RG91YmxlRHJhd2VyTmF2aWdhdGlvblNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2UvZG91YmxlLWRyYXdlci1uYXZpZ2F0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7R3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzfSBmcm9tIFwiLi4vbW9kZWwvZ3JvdXAtbmF2aWdhdGlvbi1jb25zdGFudHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyJyxcbiAgICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TmF2aWdhdGlvbkRvdWJsZURyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIHBvcnRhbExlZnRNZW51OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHBvcnRhbFJpZ2h0TWVudTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBpbWFnZVJvdXRlckxpbms6IHN0cmluZyA9ICcvJztcbiAgICBASW5wdXQoKSBpbWFnZUFsdDogc3RyaW5nID0gJ0xvZ28nO1xuICAgIEBJbnB1dCgpIGltYWdlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHJvZmlsZVJvdXRlckxpbms6IHN0cmluZyA9ICcvcHJvZmlsZSc7XG4gICAgQElucHV0KCkgaW5jbHVkZVVzZXI6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVMYW5ndWFnZTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgaW5jbHVkZU1vcmVNZW51OiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBpbmNsdWRlSW1wZXJzb25hdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWxsQ2xvc2FibGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGZvbGRlckljb246IHN0cmluZyA9ICdmb2xkZXInO1xuICAgIEBJbnB1dCgpIG9wZW5lZEZvbGRlckljb246IHN0cmluZyA9ICdmb2xkZXJfb3Blbic7XG4gICAgQElucHV0KCkgZmlsdGVySWNvbjogc3RyaW5nID0gJ2ZpbHRlcl9hbHQnO1xuICAgIEBJbnB1dCgpIGZvbGRlcnNDYXRlZ29yeU5hbWU6IHN0cmluZyA9ICd0b29sYmFyLm1lbnUuZm9sZGVycyc7XG4gICAgQElucHV0KCkgdmlld3NDYXRlZ29yeU5hbWU6IHN0cmluZyA9ICd0b29sYmFyLm1lbnUudmlld3MnO1xuXG4gICAgQE91dHB1dCgpIGxvZ2dlZE91dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55Pih0cnVlKTsgLy8gb24gbG9nb3V0XG4gICAgQE91dHB1dCgpIHN0YXRlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWVudVN0YXRlQ2hhbmdlRXZlbnQ+KCk7IC8vIG9uIG1lbnUgc3RhdGUgY2hhbmdlXG4gICAgQE91dHB1dCgpIGl0ZW1DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51SXRlbUNsaWNrRXZlbnQ+KCk7IC8vIG9uIGl0ZW0gY2xpY2tcbiAgICBAT3V0cHV0KCkgcmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWVudVJlc2l6ZUV2ZW50Pih0cnVlKTsgLy8gb24gbWVudSByZXNpemVcbiAgICBAT3V0cHV0KCkgaXRlbUxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWVudUl0ZW1Mb2FkZWRFdmVudD4odHJ1ZSk7IC8vIG9uIGl0ZW0gbG9hZGVkXG5cbiAgICBwdWJsaWMgaGlkZU1vcmVNZW51OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfYnJlYWtwb2ludFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfY3VycmVudE5vZGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnRQYXRoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9sb2dnZWRVc2VyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgLyoqXG4gICAgICogQ3VycmVudGx5IGRpc3BsYXkgUGF0aFxuICAgICAqIFNpYmxpbmdzIG9mIHRoZSBub2RlIGFyZSBvbiB0aGUgbGVmdCwgY2hpbGRyZW4gYXJlIG9uIHRoZSByaWdodFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfY3VycmVudFBhdGg6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBfY29uZmlnTGVmdE1lbnU6IENvbmZpZ0RvdWJsZU1lbnUgPSB7XG4gICAgICAgIG1vZGU6ICdzaWRlJyxcbiAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICB3aWR0aDogTEVGVF9EUkFXRVJfREVGQVVMVF9XSURUSCxcbiAgICB9O1xuICAgIHByb3RlY3RlZCBfY29uZmlnUmlnaHRNZW51OiBDb25maWdEb3VibGVNZW51ID0ge1xuICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgd2lkdGg6IFJJR0hUX0RSQVdFUl9ERUZBVUxUX1dJRFRILFxuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgY29uZmlnVXJsOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9yb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYnJlYWtwb2ludDogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jb25maWc6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3BhdGhTZXJ2aWNlOiBQYXRoU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYXNlUmVzb3VyY2VTZXJ2aWNlOiBDYXNlUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ltcGVyc29uYXRpb25Vc2VyU2VsZWN0OiBJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfaW1wZXJzb25hdGlvbjogSW1wZXJzb25hdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbmF2aWdhdGlvblNlcnZpY2U6IERvdWJsZURyYXdlck5hdmlnYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIGxldCBjb25maWdVcmw6IHN0cmluZyA9IHRoaXMuX2NvbmZpZy5nZXRTZXJ2aWNlc0NvbmZpZ3VyYXRpb24oKT8uZG91YmxlRHJhd2VyPy51cmw7XG4gICAgICAgIGlmIChjb25maWdVcmwgIT09IHVuZGVmaW5lZCAmJiAhY29uZmlnVXJsLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgY29uZmlnVXJsID0gJy8nICsgY29uZmlnVXJsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29uZmlnVXJsID0gY29uZmlnVXJsO1xuICAgICAgICB0aGlzLmhpZGVNb3JlTWVudSA9IHRydWU7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLml0ZW1DbGlja2VkJC5zdWJzY3JpYmUoKGl0ZW1DbGlja0V2ZW50OiBNZW51SXRlbUNsaWNrRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtQ2xpY2tFdmVudCk7XG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLml0ZW1Mb2FkZWQkLnN1YnNjcmliZSgoaXRlbUxvYWRlZEV2ZW50OiBNZW51SXRlbUxvYWRlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLml0ZW1Mb2FkZWQuZW1pdChpdGVtTG9hZGVkRXZlbnQpO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuX2JyZWFrcG9pbnQub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldExhbmRzY2FwZV0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl91c2VyU2VydmljZS51c2VyJC5waXBlKGZpbHRlcih1ID0+ICEhdSAmJiB1LmlkICE9PSAnJyksIHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50UGF0aFN1YnNjcmlwdGlvbiA9IHRoaXMuX3BhdGhTZXJ2aWNlLmFjdGl2ZVBhdGgkLnN1YnNjcmliZShwYXRoID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGF0aCAhPT0gdGhpcy5jdXJyZW50UGF0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYXRoID0gcGF0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5BdmFpbGFibGVWaWV3KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNhbkFwcGx5QXV0b1NlbGVjdCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodEl0ZW1zJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIocmlnaHRJdGVtcyA9PiByaWdodEl0ZW1zLmxlbmd0aCA+IDApLFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5BdmFpbGFibGVWaWV3KCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgdmlld0NvbmZpZ3VyYXRpb25QYXRoID0gdGhpcy5fYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YVtOQUVfUk9VVElOR19DT05GSUdVUkFUSU9OX1BBVEhdO1xuICAgICAgICAgICAgaWYgKCEhdmlld0NvbmZpZ3VyYXRpb25QYXRoKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgdmlld0NvbmZpZ3VyYXRpb24gPSB0aGlzLl9jb25maWcuZ2V0Vmlld0J5UGF0aCh2aWV3Q29uZmlndXJhdGlvblBhdGgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmluaXRpYWxpemVDdXN0b21WaWV3c09mVmlldyh2aWV3Q29uZmlndXJhdGlvbiwgdmlld0NvbmZpZ3VyYXRpb25QYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlkZGVuQ3VzdG9tSXRlbXMkLnN1YnNjcmliZShoaWRkZW5DdXN0b21JdGVtcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlTW9yZU1lbnUgPSAhaGlkZGVuQ3VzdG9tSXRlbXM/Lmxlbmd0aDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG5cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2JyZWFrcG9pbnRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubG9nZ2VkT3V0LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrZWQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5yZXNpemVkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuaXRlbUxvYWRlZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9jdXJyZW50Tm9kZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fY3VycmVudFBhdGhTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2xvZ2dlZFVzZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXJyZW50UGF0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UuY3VycmVudFBhdGg7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBjdXJyZW50UGF0aChub2RlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UuY3VycmVudFBhdGggPSBub2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29uZmlnTGVmdE1lbnUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWdMZWZ0TWVudTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbmZpZ1JpZ2h0TWVudSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxlZnRJdGVtcyQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5sZWZ0SXRlbXMkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGVmdEl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UubGVmdEl0ZW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmlnaHRJdGVtcyQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5yaWdodEl0ZW1zJDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJpZ2h0SXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5yaWdodEl0ZW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbW9yZUl0ZW1zJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLm1vcmVJdGVtcyQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtb3JlSXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5tb3JlSXRlbXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoaWRkZW5DdXN0b21JdGVtcyQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5oaWRkZW5DdXN0b21JdGVtcyQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoaWRkZW5DdXN0b21JdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmhpZGRlbkN1c3RvbUl0ZW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGVmdExvYWRpbmckKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UubGVmdExvYWRpbmckO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmlnaHRMb2FkaW5nJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLnJpZ2h0TG9hZGluZyQ7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlUmlnaHRNZW51KCk7XG4gICAgICAgIGlmICh0aGlzLmFsbENsb3NhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZUxlZnRNZW51KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlTGVmdE1lbnUoKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ0xlZnRNZW51Lm9wZW5lZCA9ICF0aGlzLl9jb25maWdMZWZ0TWVudS5vcGVuZWQ7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VkLmVtaXQoe21lbnU6ICdsZWZ0JywgaXNPcGVuZWQ6IHRoaXMuX2NvbmZpZ0xlZnRNZW51Lm9wZW5lZH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVSaWdodE1lbnUoKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS5vcGVuZWQgPSAhdGhpcy5fY29uZmlnUmlnaHRNZW51Lm9wZW5lZDtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZWQuZW1pdCh7bWVudTogJ3JpZ2h0JywgaXNPcGVuZWQ6IHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS5vcGVuZWR9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFuZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2dvdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VzZXJTZXJ2aWNlLmxvZ291dCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJ1VzZXIgaXMgbG9nZ2VkIG91dCcpO1xuICAgICAgICAgICAgdGhpcy5sb2dnZWRPdXQuZW1pdChyZXNwb25zZSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzICYmIHRoaXMuX2NvbmZpZy5nZXQoKS5zZXJ2aWNlcy5hdXRoICYmIHRoaXMuX2NvbmZpZy5nZXRPbkxvZ291dFBhdGgoKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZGlyZWN0UGF0aCA9IHRoaXMuX2NvbmZpZy5nZXRPbkxvZ291dFBhdGgoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnUmVkaXJlY3RpbmcgdG8gJyArIHJlZGlyZWN0UGF0aCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFBhdGhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGltcGVyc29uYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbXBlcnNvbmF0aW9uVXNlclNlbGVjdC5zZWxlY3RJbXBlcnNvbmF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdG9wSW1wZXJzb25hdGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW1wZXJzb25hdGlvbi5jZWFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdXNlcigpOiBVc2VyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjYW5Hb0JhY2tMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmNhbkdvQmFja0xvYWRpbmckO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGhvbWUgY2xpY2ssIHRoZSBjdXJyZW50IGxldmVsIGlzIHNldCB0byAwLCBhbmQgY3VycmVudCBwYXJlbnQgaXNcbiAgICAgKiBzZXQgdG8gcm9vdCBub2RlLlxuICAgICAqICovXG4gICAgcHVibGljIG9uSG9tZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5vbkhvbWVDbGljaygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGJhY2sgY2xpY2ssIHRoZSBwYXJlbnQgaXMgc2V0IHRvIHBhcmVudCBvZiBsZWZ0IG5vZGVzLCB0aGF0IHdpbGwgc29sdmVcbiAgICAgKiB0aGUgcmlnaHQgc2lkZSBtZW51IChlbGVtZW50cyB0aGF0IHdlcmUgaW4gbGVmdCBzaWRlLCBhZnRlciBiYWNrd2FyZFxuICAgICAqIG5hdmlnYXRpb24gd2lsbCBiZSBvbiB0aGUgcmlnaHQgc2lkZSkuXG4gICAgICogQ3VycmVudCBsZXZlbCBpcyBzZXQgdG8gYSBsb3dlciBudW1iZXIgaW4gb3JkZXIgdG8gc2V0IHRoZSBsZWZ0IHNpZGUgbWVudS5cbiAgICAgKiAqL1xuICAgIHB1YmxpYyBvbkJhY2tDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvblNlcnZpY2Uub25CYWNrQ2xpY2soKVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkl0ZW1DbGljayhpdGVtOiBOYXZpZ2F0aW9uSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5vbkl0ZW1DbGljayhpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZE1vcmVJdGVtcygpIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UubG9hZE1vcmVJdGVtcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0FzY2VuZGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmlzQXNjZW5kaW5nKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN3aXRjaE9yZGVyKCkge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5zd2l0Y2hPcmRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGJhY2sgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWRcbiAgICAgKiBAcmV0dXJucyBib29sZWFuIGlmIHRoZSBiYWNrIGJ1dHRvbiBzaG91bGQgYmUgZGlzcGxheWVkXG4gICAgICogKi9cbiAgICBwdWJsaWMgaXNPblplcm9MZXZlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhdGggPT09IFBhdGhTZXJ2aWNlLlNFUEFSQVRPUjtcbiAgICB9XG5cbiAgICBpc0l0ZW1BbmRQYXRoRXF1YWwoaXRlbTogTmF2aWdhdGlvbkl0ZW0sIHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXRlbS5yZXNvdXJjZT8uaW1tZWRpYXRlRGF0YS5maW5kKGYgPT4gZi5zdHJpbmdJZCA9PT0gR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfTk9ERV9QQVRIKT8udmFsdWUgPT09IHBhdGhcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNMZWZ0SXRlbXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmxlZnRJdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmxlZnRJdGVtcy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUmlnaHRJdGVtc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UucmlnaHRJdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLnJpZ2h0SXRlbXMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBpdGVtc1RyYWNrQnkoaW5kZXg6IG51bWJlciwgaXRlbTogTmF2aWdhdGlvbkl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVzaXplRXZlbnQoZXZlbnQ6IFJlc2l6ZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5yZWN0YW5nbGUud2lkdGggPiBSSUdIVF9EUkFXRVJfTUFYX1dJRFRIKSB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWdSaWdodE1lbnUud2lkdGggPSBSSUdIVF9EUkFXRVJfTUFYX1dJRFRIO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnJlY3RhbmdsZS53aWR0aCA8IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoID0gUklHSFRfRFJBV0VSX0RFRkFVTFRfTUlOX1dJRFRIO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoID0gZXZlbnQucmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzaXplZC5lbWl0KHt3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRofSk7XG4gICAgICAgIC8vIFRPRE8gaW1wbGVtZW50IHNhdmluZyBkcmF3ZXIgd2lkdGggdG8gdXNlciBwcmVmZXJlbmNlc1xuICAgICAgICAvLyB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5fZHJhd2VyV2lkdGhDaGFuZ2VkJC5uZXh0KHRoaXMud2lkdGgpO1xuICAgICAgICAvLyB0aGlzLmNvbnRlbnRXaWR0aC5uZXh0KHRoaXMud2lkdGgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlTGF5b3V0KGlzTGFyZ2VTY3JlZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29uZmlnTGVmdE1lbnUgPSBpc0xhcmdlU2NyZWVuID8ge1xuICAgICAgICAgICAgbW9kZTogJ3NpZGUnLFxuICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2NvbmZpZ0xlZnRNZW51LndpZHRoLFxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgbW9kZTogJ292ZXInLFxuICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnTGVmdE1lbnUud2lkdGgsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudSA9IGlzTGFyZ2VTY3JlZW4gPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoLFxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgbW9kZTogJ292ZXInLFxuICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjYW5BcHBseUF1dG9TZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1VybCA9PT0gdGhpcy5fcm91dGVyLnVybDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3BlbkF2YWlsYWJsZVZpZXcoKSB7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLm9wZW5BdmFpbGFibGVWaWV3KCk7XG4gICAgfVxufVxuIl19
|
|
422
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9hYnN0cmFjdC1uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUtyRyxPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTTVDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBSXJHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBRUgseUJBQXlCLEVBRXpCLDhCQUE4QixFQUM5QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFRckMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU03RCxNQUFNLE9BQWdCLHVDQUF1QztJQW9EekI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE5RHZCLGNBQWMsQ0FBbUI7SUFDakMsZUFBZSxDQUFtQjtJQUNsQyxlQUFlLEdBQVcsR0FBRyxDQUFDO0lBQzlCLFFBQVEsR0FBVyxN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QyxDQUFBO2dCQUNyRSxJQUFJLGlCQUFpQixFQUFFLFVBQVUsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztpQkFDL0Q7YUFDSjtTQUNKO0lBQ0wsQ0FBQzt3R0E1WGlCLHVDQUF1Qzs0RkFBdkMsdUNBQXVDLDB2QkFGL0MsRUFBRTs7NEZBRU0sdUNBQXVDO2tCQUo1RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1Q0FBdUM7b0JBQ2pELFFBQVEsRUFBRSxFQUFFO2lCQUNmOzBkQUdZLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtSZXNpemVFdmVudH0gZnJvbSAnYW5ndWxhci1yZXNpemFibGUtZWxlbWVudCc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2V9IGZyb20gJy4uLy4uL2ltcGVyc29uYXRpb24vc2VydmljZXMvaW1wZXJzb25hdGlvbi11c2VyLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7SW1wZXJzb25hdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2ltcGVyc29uYXRpb24vc2VydmljZXMvaW1wZXJzb25hdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZVJlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC9jYXNlLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfUk9VVElOR19DT05GSUdVUkFUSU9OX1BBVEh9IGZyb20gJy4uLy4uL3JvdXRpbmcvcm91dGluZy1idWlsZGVyL3JvdXRpbmctYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJy4uLy4uL3VzZXIvbW9kZWxzL3VzZXInO1xuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtQYXRoU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9wYXRoLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBDb25maWdEb3VibGVNZW51LFxuICAgIExFRlRfRFJBV0VSX0RFRkFVTFRfV0lEVEgsXG4gICAgTmF2aWdhdGlvbkl0ZW0sXG4gICAgUklHSFRfRFJBV0VSX0RFRkFVTFRfTUlOX1dJRFRILFxuICAgIFJJR0hUX0RSQVdFUl9ERUZBVUxUX1dJRFRILFxuICAgIFJJR0hUX0RSQVdFUl9NQVhfV0lEVEgsXG59IGZyb20gJy4uL21vZGVsL25hdmlnYXRpb24tY29uZmlncyc7XG5pbXBvcnQge1xuICAgIE1lbnVJdGVtQ2xpY2tFdmVudCxcbiAgICBNZW51SXRlbUxvYWRlZEV2ZW50LFxuICAgIE1lbnVSZXNpemVFdmVudCxcbiAgICBNZW51U3RhdGVDaGFuZ2VFdmVudCxcbn0gZnJvbSAnLi4vbW9kZWwvbmF2aWdhdGlvbi1tZW51LWV2ZW50cyc7XG5pbXBvcnQge0RvdWJsZURyYXdlck5hdmlnYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlL2RvdWJsZS1kcmF3ZXItbmF2aWdhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge0dyb3VwTmF2aWdhdGlvbkNvbnN0YW50c30gZnJvbSBcIi4uL21vZGVsL2dyb3VwLW5hdmlnYXRpb24tY29uc3RhbnRzXCI7XG5pbXBvcnQge2V4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGF9IGZyb20gXCIuLi91dGlsaXR5L25hdmlnYXRpb24taXRlbS10YXNrLXV0aWxpdHktbWV0aG9kc1wiO1xuaW1wb3J0IHtMb2FkaW5nRW1pdHRlcn0gZnJvbSBcIi4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LW5hdmlnYXRpb24tZG91YmxlLWRyYXdlcicsXG4gICAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBwb3J0YWxMZWZ0TWVudTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBwb3J0YWxSaWdodE1lbnU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgaW1hZ2VSb3V0ZXJMaW5rOiBzdHJpbmcgPSAnLyc7XG4gICAgQElucHV0KCkgaW1hZ2VBbHQ6IHN0cmluZyA9ICdMb2dvJztcbiAgICBASW5wdXQoKSBpbWFnZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHByb2ZpbGVSb3V0ZXJMaW5rOiBzdHJpbmcgPSAnL3Byb2ZpbGUnO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVVc2VyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBpbmNsdWRlTGFuZ3VhZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVNb3JlTWVudTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgaW5jbHVkZUltcGVyc29uYXRpb246IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGFsbENsb3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBmb2xkZXJJY29uOiBzdHJpbmcgPSAnZm9sZGVyJztcbiAgICBASW5wdXQoKSBvcGVuZWRGb2xkZXJJY29uOiBzdHJpbmcgPSAnZm9sZGVyX29wZW4nO1xuICAgIEBJbnB1dCgpIGZpbHRlckljb246IHN0cmluZyA9ICdmaWx0ZXJfYWx0JztcbiAgICBASW5wdXQoKSBmb2xkZXJzQ2F0ZWdvcnlOYW1lOiBzdHJpbmcgPSAndG9vbGJhci5tZW51LmZvbGRlcnMnO1xuICAgIEBJbnB1dCgpIHZpZXdzQ2F0ZWdvcnlOYW1lOiBzdHJpbmcgPSAndG9vbGJhci5tZW51LnZpZXdzJztcblxuICAgIEBPdXRwdXQoKSBsb2dnZWRPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4odHJ1ZSk7IC8vIG9uIGxvZ291dFxuICAgIEBPdXRwdXQoKSBzdGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1lbnVTdGF0ZUNoYW5nZUV2ZW50PigpOyAvLyBvbiBtZW51IHN0YXRlIGNoYW5nZVxuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWVudUl0ZW1DbGlja0V2ZW50PigpOyAvLyBvbiBpdGVtIGNsaWNrXG4gICAgQE91dHB1dCgpIHJlc2l6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1lbnVSZXNpemVFdmVudD4odHJ1ZSk7IC8vIG9uIG1lbnUgcmVzaXplXG4gICAgQE91dHB1dCgpIGl0ZW1Mb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1lbnVJdGVtTG9hZGVkRXZlbnQ+KHRydWUpOyAvLyBvbiBpdGVtIGxvYWRlZFxuXG4gICAgcHVibGljIGhpZGVNb3JlTWVudTogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2JyZWFrcG9pbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnROb2RlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9jdXJyZW50UGF0aFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfbG9nZ2VkVXNlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIC8qKlxuICAgICAqIEN1cnJlbnRseSBkaXNwbGF5IFBhdGhcbiAgICAgKiBTaWJsaW5ncyBvZiB0aGUgbm9kZSBhcmUgb24gdGhlIGxlZnQsIGNoaWxkcmVuIGFyZSBvbiB0aGUgcmlnaHRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnRQYXRoOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9wYXRoUmVzb2x2ZXJMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ0xlZnRNZW51OiBDb25maWdEb3VibGVNZW51ID0ge1xuICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgd2lkdGg6IExFRlRfRFJBV0VSX0RFRkFVTFRfV0lEVEgsXG4gICAgfTtcbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ1JpZ2h0TWVudTogQ29uZmlnRG91YmxlTWVudSA9IHtcbiAgICAgICAgbW9kZTogJ3NpZGUnLFxuICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXG4gICAgICAgIHdpZHRoOiBSSUdIVF9EUkFXRVJfREVGQVVMVF9XSURUSCxcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIGNvbmZpZ1VybDogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2JyZWFrcG9pbnQ6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY29uZmlnOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wYXRoU2VydmljZTogUGF0aFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9pbXBlcnNvbmF0aW9uVXNlclNlbGVjdDogSW1wZXJzb25hdGlvblVzZXJTZWxlY3RTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ltcGVyc29uYXRpb246IEltcGVyc29uYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX25hdmlnYXRpb25TZXJ2aWNlOiBEb3VibGVEcmF3ZXJOYXZpZ2F0aW9uU2VydmljZSkge1xuICAgICAgICBsZXQgY29uZmlnVXJsOiBzdHJpbmcgPSB0aGlzLl9jb25maWcuZ2V0U2VydmljZXNDb25maWd1cmF0aW9uKCk/LmRvdWJsZURyYXdlcj8udXJsO1xuICAgICAgICBpZiAoY29uZmlnVXJsICE9PSB1bmRlZmluZWQgJiYgIWNvbmZpZ1VybC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgIGNvbmZpZ1VybCA9ICcvJyArIGNvbmZpZ1VybDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZ1VybCA9IGNvbmZpZ1VybDtcbiAgICAgICAgdGhpcy5oaWRlTW9yZU1lbnUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5pdGVtQ2xpY2tlZCQuc3Vic2NyaWJlKChpdGVtQ2xpY2tFdmVudDogTWVudUl0ZW1DbGlja0V2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLml0ZW1DbGlja2VkLmVtaXQoaXRlbUNsaWNrRXZlbnQpO1xuICAgICAgICB9KVxuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5pdGVtTG9hZGVkJC5zdWJzY3JpYmUoKGl0ZW1Mb2FkZWRFdmVudDogTWVudUl0ZW1Mb2FkZWRFdmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pdGVtTG9hZGVkLmVtaXQoaXRlbUxvYWRlZEV2ZW50KTtcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5fcGF0aFJlc29sdmVyTG9hZGluZyQgPSBuZXcgTG9hZGluZ0VtaXR0ZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2JyZWFrcG9pbnRTdWJzY3JpcHRpb24gPSB0aGlzLl9icmVha3BvaW50Lm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXRMYW5kc2NhcGVdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2JyZWFrcG9pbnQuaXNNYXRjaGVkKCcobWF4LXdpZHRoOiA5NTkuOTlweCknKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxheW91dChmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxheW91dCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdXNlclNlcnZpY2UudXNlciQucGlwZShmaWx0ZXIodSA9PiAhIXUgJiYgdS5pZCAhPT0gJycpLCB0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNvbHZlSW5pdGlhbFZhbHVlT2ZQYXRoKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQYXRoU3Vic2NyaXB0aW9uID0gdGhpcy5fcGF0aFNlcnZpY2UuYWN0aXZlUGF0aCQuc3Vic2NyaWJlKHBhdGggPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXRoICE9PSB0aGlzLmN1cnJlbnRQYXRoICYmICF0aGlzLl9wYXRoUmVzb2x2ZXJMb2FkaW5nJC5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYXRoID0gcGF0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLl9wYXRoUmVzb2x2ZXJMb2FkaW5nJC5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5BdmFpbGFibGVWaWV3KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNhbkFwcGx5QXV0b1NlbGVjdCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodEl0ZW1zJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIocmlnaHRJdGVtcyA9PiByaWdodEl0ZW1zLmxlbmd0aCA+IDApLFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5BdmFpbGFibGVWaWV3KCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgdmlld0NvbmZpZ3VyYXRpb25QYXRoID0gdGhpcy5fYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YVtOQUVfUk9VVElOR19DT05GSUdVUkFUSU9OX1BBVEhdO1xuICAgICAgICAgICAgaWYgKCEhdmlld0NvbmZpZ3VyYXRpb25QYXRoKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgdmlld0NvbmZpZ3VyYXRpb24gPSB0aGlzLl9jb25maWcuZ2V0Vmlld0J5UGF0aCh2aWV3Q29uZmlndXJhdGlvblBhdGgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmluaXRpYWxpemVDdXN0b21WaWV3c09mVmlldyh2aWV3Q29uZmlndXJhdGlvbiwgdmlld0NvbmZpZ3VyYXRpb25QYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlkZGVuQ3VzdG9tSXRlbXMkLnN1YnNjcmliZShoaWRkZW5DdXN0b21JdGVtcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlTW9yZU1lbnUgPSAhaGlkZGVuQ3VzdG9tSXRlbXM/Lmxlbmd0aDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5sb2dnZWRPdXQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZWQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2tlZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnJlc2l6ZWQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5pdGVtTG9hZGVkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnROb2RlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9jdXJyZW50UGF0aFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fbG9nZ2VkVXNlclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5jdXJyZW50UGF0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGN1cnJlbnRQYXRoKG5vZGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5jdXJyZW50UGF0aCA9IG5vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb25maWdMZWZ0TWVudSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ0xlZnRNZW51O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29uZmlnUmlnaHRNZW51KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnUmlnaHRNZW51O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGVmdEl0ZW1zJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmxlZnRJdGVtcyQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsZWZ0SXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5sZWZ0SXRlbXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByaWdodEl0ZW1zJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLnJpZ2h0SXRlbXMkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmlnaHRJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLnJpZ2h0SXRlbXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtb3JlSXRlbXMkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UubW9yZUl0ZW1zJDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1vcmVJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLm1vcmVJdGVtcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhpZGRlbkN1c3RvbUl0ZW1zJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmhpZGRlbkN1c3RvbUl0ZW1zJDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhpZGRlbkN1c3RvbUl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UuaGlkZGVuQ3VzdG9tSXRlbXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsZWZ0TG9hZGluZyQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5sZWZ0TG9hZGluZyQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByaWdodExvYWRpbmckKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UucmlnaHRMb2FkaW5nJDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhdGhSZXNvbHZlckxvYWRpbmckKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGF0aFJlc29sdmVyTG9hZGluZyQ7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlUmlnaHRNZW51KCk7XG4gICAgICAgIGlmICh0aGlzLmFsbENsb3NhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZUxlZnRNZW51KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlTGVmdE1lbnUoKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ0xlZnRNZW51Lm9wZW5lZCA9ICF0aGlzLl9jb25maWdMZWZ0TWVudS5vcGVuZWQ7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VkLmVtaXQoe21lbnU6ICdsZWZ0JywgaXNPcGVuZWQ6IHRoaXMuX2NvbmZpZ0xlZnRNZW51Lm9wZW5lZH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVSaWdodE1lbnUoKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS5vcGVuZWQgPSAhdGhpcy5fY29uZmlnUmlnaHRNZW51Lm9wZW5lZDtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZWQuZW1pdCh7bWVudTogJ3JpZ2h0JywgaXNPcGVuZWQ6IHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS5vcGVuZWR9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFuZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2dvdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VzZXJTZXJ2aWNlLmxvZ291dCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJ1VzZXIgaXMgbG9nZ2VkIG91dCcpO1xuICAgICAgICAgICAgdGhpcy5sb2dnZWRPdXQuZW1pdChyZXNwb25zZSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzICYmIHRoaXMuX2NvbmZpZy5nZXQoKS5zZXJ2aWNlcy5hdXRoICYmIHRoaXMuX2NvbmZpZy5nZXRPbkxvZ291dFBhdGgoKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZGlyZWN0UGF0aCA9IHRoaXMuX2NvbmZpZy5nZXRPbkxvZ291dFBhdGgoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnUmVkaXJlY3RpbmcgdG8gJyArIHJlZGlyZWN0UGF0aCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFBhdGhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGltcGVyc29uYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbXBlcnNvbmF0aW9uVXNlclNlbGVjdC5zZWxlY3RJbXBlcnNvbmF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdG9wSW1wZXJzb25hdGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW1wZXJzb25hdGlvbi5jZWFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdXNlcigpOiBVc2VyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjYW5Hb0JhY2tMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmNhbkdvQmFja0xvYWRpbmckO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGhvbWUgY2xpY2ssIHRoZSBjdXJyZW50IGxldmVsIGlzIHNldCB0byAwLCBhbmQgY3VycmVudCBwYXJlbnQgaXNcbiAgICAgKiBzZXQgdG8gcm9vdCBub2RlLlxuICAgICAqICovXG4gICAgcHVibGljIG9uSG9tZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5vbkhvbWVDbGljaygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGJhY2sgY2xpY2ssIHRoZSBwYXJlbnQgaXMgc2V0IHRvIHBhcmVudCBvZiBsZWZ0IG5vZGVzLCB0aGF0IHdpbGwgc29sdmVcbiAgICAgKiB0aGUgcmlnaHQgc2lkZSBtZW51IChlbGVtZW50cyB0aGF0IHdlcmUgaW4gbGVmdCBzaWRlLCBhZnRlciBiYWNrd2FyZFxuICAgICAqIG5hdmlnYXRpb24gd2lsbCBiZSBvbiB0aGUgcmlnaHQgc2lkZSkuXG4gICAgICogQ3VycmVudCBsZXZlbCBpcyBzZXQgdG8gYSBsb3dlciBudW1iZXIgaW4gb3JkZXIgdG8gc2V0IHRoZSBsZWZ0IHNpZGUgbWVudS5cbiAgICAgKiAqL1xuICAgIHB1YmxpYyBvbkJhY2tDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvblNlcnZpY2Uub25CYWNrQ2xpY2soKVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkl0ZW1DbGljayhpdGVtOiBOYXZpZ2F0aW9uSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5vbkl0ZW1DbGljayhpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZE1vcmVJdGVtcygpIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UubG9hZE1vcmVJdGVtcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0FzY2VuZGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmlzQXNjZW5kaW5nKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN3aXRjaE9yZGVyKCkge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5zd2l0Y2hPcmRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGJhY2sgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWRcbiAgICAgKiBAcmV0dXJucyBib29sZWFuIGlmIHRoZSBiYWNrIGJ1dHRvbiBzaG91bGQgYmUgZGlzcGxheWVkXG4gICAgICogKi9cbiAgICBwdWJsaWMgaXNPblplcm9MZXZlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhdGggPT09IFBhdGhTZXJ2aWNlLlNFUEFSQVRPUjtcbiAgICB9XG5cbiAgICBpc0l0ZW1BbmRQYXRoRXF1YWwoaXRlbTogTmF2aWdhdGlvbkl0ZW0sIHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXRlbS5yZXNvdXJjZT8uaW1tZWRpYXRlRGF0YS5maW5kKGYgPT4gZi5zdHJpbmdJZCA9PT0gR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfTk9ERV9QQVRIKT8udmFsdWUgPT09IHBhdGhcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNMZWZ0SXRlbXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmxlZnRJdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmxlZnRJdGVtcy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUmlnaHRJdGVtc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UucmlnaHRJdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLnJpZ2h0SXRlbXMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBpdGVtc1RyYWNrQnkoaW5kZXg6IG51bWJlciwgaXRlbTogTmF2aWdhdGlvbkl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVzaXplRXZlbnQoZXZlbnQ6IFJlc2l6ZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5yZWN0YW5nbGUud2lkdGggPiBSSUdIVF9EUkFXRVJfTUFYX1dJRFRIKSB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWdSaWdodE1lbnUud2lkdGggPSBSSUdIVF9EUkFXRVJfTUFYX1dJRFRIO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnJlY3RhbmdsZS53aWR0aCA8IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoID0gUklHSFRfRFJBV0VSX0RFRkFVTFRfTUlOX1dJRFRIO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoID0gZXZlbnQucmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzaXplZC5lbWl0KHt3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRofSk7XG4gICAgICAgIC8vIFRPRE8gaW1wbGVtZW50IHNhdmluZyBkcmF3ZXIgd2lkdGggdG8gdXNlciBwcmVmZXJlbmNlc1xuICAgICAgICAvLyB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5fZHJhd2VyV2lkdGhDaGFuZ2VkJC5uZXh0KHRoaXMud2lkdGgpO1xuICAgICAgICAvLyB0aGlzLmNvbnRlbnRXaWR0aC5uZXh0KHRoaXMud2lkdGgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlTGF5b3V0KGlzTGFyZ2VTY3JlZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29uZmlnTGVmdE1lbnUgPSBpc0xhcmdlU2NyZWVuID8ge1xuICAgICAgICAgICAgbW9kZTogJ3NpZGUnLFxuICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2NvbmZpZ0xlZnRNZW51LndpZHRoLFxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgbW9kZTogJ292ZXInLFxuICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnTGVmdE1lbnUud2lkdGgsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudSA9IGlzTGFyZ2VTY3JlZW4gPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoLFxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgbW9kZTogJ292ZXInLFxuICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjYW5BcHBseUF1dG9TZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1VybCA9PT0gdGhpcy5fcm91dGVyLnVybDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3BlbkF2YWlsYWJsZVZpZXcoKSB7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLm9wZW5BdmFpbGFibGVWaWV3KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVJbml0aWFsVmFsdWVPZlBhdGgoKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRQYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwTmF2aWdhdGlvblJvdXRlID0gdGhpcy5fY29uZmlnLmdldFNlcnZpY2VzQ29uZmlndXJhdGlvbigpPy5ncm91cE5hdmlnYXRpb24/Lmdyb3VwTmF2aWdhdGlvblJvdXRlO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3JvdXRlci51cmwuaW5jbHVkZXMoZ3JvdXBOYXZpZ2F0aW9uUm91dGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGF0aFJlc29sdmVyTG9hZGluZyQub24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wYXRoU2VydmljZS5kYXRhZmllbGRzRm9yTWVudVJlc29sdmVyLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wYXRoUmVzb2x2ZXJMb2FkaW5nJC5vZmYoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5vZGVQYXRoO1xuICAgICAgICAgICAgICAgICAgICBsZXQgaGFzQ2hpbGRyZW47XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlUGF0aCA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8c3RyaW5nPihkYXRhLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9OT0RFX1BBVEgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ2hpbGRyZW4gPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPGJvb2xlYW4+KGRhdGEsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX0hBU19DSElMRFJFTik7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5pbmZvKFwiQ291bGRuJ3QgcmVzb2x2ZSBtZW51LCBza2lwcGluZy4uLlwiKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbiAmJiBub2RlUGF0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UuZnJvbVJlc29sdmVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhdGhTZXJ2aWNlLmFjdGl2ZVBhdGggPSBub2RlUGF0aDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlUGF0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvblNlcnZpY2UuZnJvbVJlc29sdmVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhdGhTZXJ2aWNlLmFjdGl2ZVBhdGggPSB0aGlzLl9uYXZpZ2F0aW9uU2VydmljZS5leHRyYWN0UGFyZW50UGF0aChub2RlUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhdGhSZXNvbHZlckxvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYXRoID0gdGhpcy5fcGF0aFNlcnZpY2UuYWN0aXZlUGF0aDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgdmlld0NvbmZpZ3VyYXRpb24gPSB0aGlzLl9jb25maWcuZ2V0Vmlld0J5VXJsKHRoaXMuX3JvdXRlci51cmwpXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdDb25maWd1cmF0aW9uPy5wcm9jZXNzVXJpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25TZXJ2aWNlLmZyb21SZXNvbHZlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhdGhTZXJ2aWNlLmFjdGl2ZVBhdGggPSB2aWV3Q29uZmlndXJhdGlvbi5wcm9jZXNzVXJpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|