@muraai/mnl-form 0.0.1-alpha-32ca3fa → 0.0.1-alpha-db495b1
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/README.md +5 -5
- package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +1 -1
- package/esm2022/lib/mnl-form/mnl-form-standalone.module.mjs +155 -0
- package/esm2022/lib/mnl-form/mnl-form.component.mjs +199 -0
- package/esm2022/lib/models/custom-form-field.model.mjs +1 -1
- package/esm2022/lib/models/workflow-status.model.mjs +1 -1
- package/esm2022/lib/services/graphql.service.mjs +1 -1
- package/esm2022/lib/services/scoring.service.mjs +1 -1
- package/esm2022/lib/types/action-button-renderer.component.mjs +1 -1
- package/esm2022/lib/types/autocomplete-type.component.mjs +1 -1
- package/esm2022/lib/types/button.type.mjs +1 -1
- package/esm2022/lib/types/comments.type.mjs +1 -1
- package/esm2022/lib/types/country-code-input.type.mjs +1 -1
- package/esm2022/lib/types/custom-date.type.mjs +1 -1
- package/esm2022/lib/types/custom-input.component.mjs +1 -1
- package/esm2022/lib/types/date-format.type.mjs +1 -1
- package/esm2022/lib/types/expansion-panel.types.mjs +1 -1
- package/esm2022/lib/types/formly-field-panel.type.mjs +1 -1
- package/esm2022/lib/types/grid-actionable.type.mjs +1 -1
- package/esm2022/lib/types/grid-formly-cell.component.mjs +1 -1
- package/esm2022/lib/types/grid.type.mjs +1 -1
- package/esm2022/lib/types/input.type.mjs +1 -1
- package/esm2022/lib/types/mu-helper-text.type.mjs +1 -1
- package/esm2022/lib/types/multi-select-autocomplete.mjs +1 -1
- package/esm2022/lib/types/multi-select-checkbox.component.mjs +1 -1
- package/esm2022/lib/types/radio.type.mjs +1 -1
- package/esm2022/lib/types/scrollable-tabs.types.mjs +1 -1
- package/esm2022/lib/types/select-api-auto-complete.component.mjs +1 -1
- package/esm2022/lib/types/select-autocomplete-redefined.component.mjs +1 -1
- package/esm2022/lib/types/select-autocomplete.type.mjs +1 -1
- package/esm2022/lib/types/stepper.type.mjs +1 -1
- package/esm2022/lib/types/table.types.mjs +1 -1
- package/esm2022/lib/types/tabs.types.mjs +1 -1
- package/esm2022/lib/types/tabular-form-dialog.component.mjs +1 -1
- package/esm2022/lib/types/tabular-form.type.mjs +1 -1
- package/esm2022/lib/types/upload-file.mjs +1 -1
- package/esm2022/lib/types/view-file-dialog.component.mjs +1 -1
- package/esm2022/lib/utils/formly.utils.mjs +1 -1
- package/esm2022/lib/validators/custom-email-validator.mjs +1 -1
- package/esm2022/lib/validators/ein-validators.mjs +1 -1
- package/esm2022/lib/validators/gst-validator.mjs +1 -1
- package/esm2022/lib/validators/normal-email-validator.mjs +1 -1
- package/esm2022/lib/validators/npi-validator.mjs +1 -1
- package/esm2022/lib/validators/pan-validator.mjs +1 -1
- package/esm2022/lib/validators/phone-number-validator.mjs +1 -1
- package/esm2022/lib/validators/select-validator.mjs +1 -1
- package/esm2022/lib/validators/tinSsn-validator.mjs +1 -1
- package/esm2022/lib/workflow-status/ workflow-status.module.mjs +1 -1
- package/esm2022/lib/workflow-status/workflow-status.component.mjs +1 -1
- package/esm2022/lib/wrappers/form-field-description-wrapper.component.mjs +1 -1
- package/esm2022/lib/wrappers/form-field-wrapper.component.mjs +1 -1
- package/esm2022/lib/wrappers/formly-wrapper-with-old-value.component.mjs +1 -1
- package/esm2022/lib/wrappers/prefix-suffix-wrapper.component.mjs +1 -1
- package/esm2022/lib/wrappers/prefix-sufix-extension.component.mjs +1 -1
- package/esm2022/muraai-mnl-form.mjs +1 -1
- package/esm2022/public-api.mjs +3 -3
- package/fesm2022/muraai-mnl-form.mjs +5 -5
- package/fesm2022/muraai-mnl-form.mjs.map +1 -1
- package/lib/{formly-lib/formly-lib.component.d.ts → mnl-form/mnl-form.component.d.ts} +3 -3
- package/package.json +1 -1
- package/public-api.d.ts +2 -2
- package/esm2022/lib/formly-lib/formly-lib.component.mjs +0 -199
- package/esm2022/lib/formly-lib/formly-standalone.module.mjs +0 -155
- /package/lib/{formly-lib/formly-standalone.module.d.ts → mnl-form/mnl-form-standalone.module.d.ts} +0 -0
|
@@ -265,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
265
265
|
</mat-horizontal-stepper>
|
|
266
266
|
`, styles: [".stepper-label{margin-top:2px;margin-right:2px}.error-step{color:#d32f2f!important}::ng-deep mat-step-header[aria-selected=true]{background-color:#e5e4e2!important;border-radius:12px!important}::ng-deep mat-step-header:hover:not([aria-disabled]){background:#e5e4e2!important}@media (max-width: 640px){::ng-deep .mat-horizontal-stepper-header-container{display:flex;overflow-x:auto;white-space:nowrap;width:100%!important;max-width:100vw;padding-bottom:5px;scrollbar-width:none;-ms-overflow-style:none;-ms-overflow-style:auto}::ng-deep .mat-horizontal-stepper-header-container::-webkit-scrollbar{height:4px;display:none}::ng-deep .mat-horizontal-stepper-header-container::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}::ng-deep .mat-horizontal-stepper-header{flex:0 0 auto}}\n"] }]
|
|
267
267
|
}] });
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi90eXBlcy9zdGVwcGVyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQTZGN0QsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFNBQVM7SUE1RjFEOztRQTZGRSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO0tBNkp2QjtJQTNKQyxRQUFRO1FBQ0osTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLGFB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QUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0RyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOytHQS9KVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwwR0F4RjVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNULGsyQkE1Q1MsZ0JBQWdCLHV6QkFBRSxZQUFZLHdIQUFFLGVBQWUsMk5BQUUsZUFBZSwyRkFBRSxZQUFZLHFUQUFrQixnQkFBZ0IsNFRBQUUsYUFBYTs7NEZBeUY5SCwyQkFBMkI7a0JBNUZ2QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxZQUNoSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXJcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5TW9kdWxlIH0gZnJvbSBcIkBuZ3gtZm9ybWx5L2NvcmVcIjtcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBTdGVwcGVyU2VsZWN0aW9uRXZlbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3N0ZXBwZXJcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtdS1mb3JtbHktZmllbGQtc3RlcHBlclwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0U3RlcHBlck1vZHVsZSwgRm9ybWx5TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQ29tbW9uTW9kdWxlLFRyYW5zbGF0ZU1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgTWF0SWNvbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1ob3Jpem9udGFsLXN0ZXBwZXIgW2xpbmVhcl09XCJpc0xpbmVhclwiIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkU3RlcEluZGV4XCIgW25nQ2xhc3NdPVwiW2ZpZWxkPy5wcm9wcz8uY2xhc3NOYW1lXVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TdGVwQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwcGVySWNvbj1cImVkaXRcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICAgICAgICB7e2luZGV4ICsxfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgQGZvcihzdGVwIG9mIGZpZWxkLmZpZWxkR3JvdXA7IHRyYWNrIHN0ZXA7IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGxhc3QgPVxuICAgICRsYXN0KXtcbiAgICA8bWF0LXN0ZXAgW2NvbXBsZXRlZF09XCJpc1ZhbGlkKHN0ZXApXCIgW25nQ2xhc3NdPVwieyAnZXJyb3Itc3RlcCc6ICFpc1ZhbGlkKHN0ZXApIH1cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD5cbiAgICAgICAgICAgIDxkaXYgW25nU3R5bGVdPVwieydjb2xvcic6ICghaXNWYWxpZChzdGVwKSAmJiBvcHRpb25zLmZvcm1TdGF0ZT8uc2hvd1ZhbGlkYXRpb25FcnJvcikgPyAncmVkJyA6ICdibGFjayd9XCIgY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vcm1hbCBicmVhay13b3JkcyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RlcHBlci1sYWJlbFwiIFtuZ1N0eWxlXT1cInsnY29sb3InOiBnZXRDb2xvckZvclRoZVRhYkNoYW5nZWQoc3RlcCl9XCI+e3sgc3RlcD8ucHJvcHM/LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwie3snRURJVEVEX1RBQicgfCB0cmFuc2xhdGV9fVwiICpuZ0lmPVwiaXNUYWJEYXRhQ2hhbmdlZChzdGVwKSAmJiAhKCFpc1ZhbGlkKHN0ZXApICYmIG9wdGlvbnMuZm9ybVN0YXRlPy5zaG93VmFsaWRhdGlvbkVycm9yKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOiBnZXRDb2xvckZvclRoZVRhYkNoYW5nZWQoc3RlcCl9XCI+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFRvb2x0aXA9XCJ7eydNQU5EQVRPUllfRklFTERTX1RPT0xUSVAnIHwgdHJhbnNsYXRlfX1cIiAqbmdJZj1cIiFpc1ZhbGlkKHN0ZXApICYmIG9wdGlvbnMuZm9ybVN0YXRlPy5zaG93VmFsaWRhdGlvbkVycm9yXCIgIGNsYXNzPVwiZXJyb3Itc3RlcFwiPmVycm9yPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiMnhsOmgtWzgwdmhdIHhsOmgtZnVsbCBtZDpoLVsxMjV2aF0gb3ZlcmZsb3cteS1hdXRvXCI+XG4gICAgICAgICAgICA8Zm9ybWx5LWZpZWxkIFtmaWVsZF09XCJzdGVwXCI+PC9mb3JtbHktZmllbGQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNCBmbGV4XCI+XG4gICAgICAgICAgICAgICAgQGlmIChpbmRleCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIG1hdFN0ZXBwZXJQcmV2aW91cyB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmbGV4IG1yLTIgbWwtMlwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQlVUVE9OLlBSRVZJT1VTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKCFsYXN0KSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRTdGVwcGVyTmV4dCBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZmxleCBtci0yIG1sLTJcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0JVVFRPTi5ORVhUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGxhc3QpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWFyb3VuZCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQXBwcm92ZSgpXCIgKm5nSWY9XCJtb2RlbC5pZFwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdCVVRUT04uQVBQUk9WRScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uUmVqZWN0KClcIiAqbmdJZj1cIm1vZGVsLmlkXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0JVVFRPTi5SRUpFQ1QnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXN0ZXA+XG4gICAgfVxuPC9tYXQtaG9yaXpvbnRhbC1zdGVwcGVyPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgICAuc3RlcHBlci1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICB9XG4gICAgICAuZXJyb3Itc3RlcCB7XG4gICAgICAgIGNvbG9yOiAjZDMyZjJmICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICA6Om5nLWRlZXAgbWF0LXN0ZXAtaGVhZGVyW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFNUU0RTIgICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIDo6bmctZGVlcCBtYXQtc3RlcC1oZWFkZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkXSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRTVFNEUyICAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgOjpuZy1kZWVwIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlci1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgXG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyBcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IFxuICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IGF1dG87XG4gICAgfVxuXG4gICAgOjpuZy1kZWVwIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlci1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgOjpuZy1kZWVwIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlci1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuXG4gIDo6bmctZGVlcCAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZFN0ZXBwZXJDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgaXNMaW5lYXIgPSBmYWxzZTtcbiAgc2VsZWN0ZWRTdGVwSW5kZXggPSAwO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHRoaXMuZmllbGQuZmllbGRHcm91cD8uZmluZEluZGV4KHN0ZXAgPT4gc3RlcC5wcm9wcz8uWydzZWxlY3RlZEluZGV4J10pID8/IDA7XG4gICAgICB0aGlzLnNlbGVjdGVkU3RlcEluZGV4ID0gKHNlbGVjdGVkSW5kZXggPiAtMSkgPyBzZWxlY3RlZEluZGV4IDogMDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gIH1cblxuICBpc1ZhbGlkKGZpZWxkOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoZmllbGQua2V5KSB7XG4gICAgICBsZXQgZXhjbHVkZVZhbGlkYXRpb25GbGFnID0gdHJ1ZTtcbiAgICAgIGlmKGZpZWxkLnByb3BzPy5leGNsdWRlVmFsaWRhdGlvbikge1xuICAgICAgICBpZihmaWVsZC5wcm9wcz8ubWluUm93VmFsaWRhdGlvbikge1xuICAgICAgICAgIGV4Y2x1ZGVWYWxpZGF0aW9uRmxhZyA9IGZpZWxkLm1vZGVsW2ZpZWxkLnByb3BzPy5taW5Sb3dWYWxpZGF0aW9uXT8ubGVuZ3RoID4gMCA/IHRydWUgOiBmYWxzZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV4Y2x1ZGVWYWxpZGF0aW9uRmxhZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxldCBtaW5Sb3dWYWxpZGF0aW9uRmxhZyA9IHRydWU7XG4gICAgICBpZihmaWVsZC5wcm9wcz8ubWluUm93VmFsaWRhdGlvbikge1xuICAgICAgICBtaW5Sb3dWYWxpZGF0aW9uRmxhZyA9IGZpZWxkLm1vZGVsW2ZpZWxkLnByb3BzPy5taW5Sb3dWYWxpZGF0aW9uXT8ubGVuZ3RoID4gMCA/IHRydWUgOiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgbGV0IHVwbG9hZEZpbGVzVmFsaWRhdGlvbiA9IHRydWU7XG4gICAgICBpZihmaWVsZC5wcm9wcz8udXBsb2FkVmFsaWRhdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICB1cGxvYWRGaWxlc1ZhbGlkYXRpb24gPSBmaWVsZC5wcm9wcz8udXBsb2FkVmFsaWRhdGlvbnMuZXZlcnkoKHVwbEZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgdmFsaWQgPSB0cnVlO1xuICAgICAgICAgIGlmKEFycmF5LmlzQXJyYXkoZmllbGQubW9kZWxbdXBsRmllbGRdKSAmJiBmaWVsZC5tb2RlbFt1cGxGaWVsZF0/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdmFsaWQgPSBmaWVsZC5tb2RlbFt1cGxGaWVsZF0/LmV2ZXJ5KGYgPT4gZi5maWxlTmFtZSA/ICEhZi5ub2RlSWQgOiB0cnVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsaWQgPSBmaWVsZC5tb2RlbFt1cGxGaWVsZF0/LmZpbGVOYW1lID8gISFmaWVsZC5tb2RlbFt1cGxGaWVsZF0/Lm5vZGVJZCA6IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB2YWxpZCA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZihmaWVsZC5wcm9wcz8uc2tpcEZvcm1WYWxpZGF0aW9ucykgeyAgICAgICBcbiAgICAgICAgaWYoZXhjbHVkZVZhbGlkYXRpb25GbGFnICYmIG1pblJvd1ZhbGlkYXRpb25GbGFnICYmIHVwbG9hZEZpbGVzVmFsaWRhdGlvbikge1xuICAgICAgICAgIGlmKCFmaWVsZD8uZm9ybUNvbnRyb2w/LnZhbGlkKSB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sc0xpc3QgPSBmaWVsZD8uZm9ybUNvbnRyb2w/LmNvbnRyb2xzO1xuICAgICAgICAgICAgZGVsZXRlIGNvbnRyb2xzTGlzdFtmaWVsZC5wcm9wcz8ubWluUm93VmFsaWRhdGlvbl07XG4gICAgICAgICAgICBpZihjb250cm9sc0xpc3RbZmllbGQucHJvcHM/LnNraXBGb3JtVmFsaWRhdGlvbnNdKSBkZWxldGUgY29udHJvbHNMaXN0W2ZpZWxkLnByb3BzPy5za2lwRm9ybVZhbGlkYXRpb25zXTtcbiAgICAgICAgICAgIGNvbnN0IGNoZWNrVmFsaWRpdHkgPSAoY29udHJvbHM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoY29udHJvbHMpLmV2ZXJ5KGNvbnRyb2wgPT4gY29udHJvbC52YWxpZCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgaXNGb3JtVmFsaWQgPSBjaGVja1ZhbGlkaXR5KGNvbnRyb2xzTGlzdCk7XG4gICAgICAgICAgICByZXR1cm4gaXNGb3JtVmFsaWQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmaWVsZD8uZm9ybUNvbnRyb2w/LnZhbGlkIHx8IGZpZWxkPy5wcm9wcz8uZXhjbHVkZVZhbGlkYXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICByZXR1cm4gKGV4Y2x1ZGVWYWxpZGF0aW9uRmxhZyAmJiBtaW5Sb3dWYWxpZGF0aW9uRmxhZyAmJiB1cGxvYWRGaWxlc1ZhbGlkYXRpb24pIFxuICAgICAgICA/IChmaWVsZD8uZm9ybUNvbnRyb2w/LnZhbGlkIHx8IGZpZWxkPy5wcm9wcz8uZXhjbHVkZVZhbGlkYXRpb24pIFxuICAgICAgICA6IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZmllbGQuZmllbGRHcm91cFxuICAgICAgPyBmaWVsZC5maWVsZEdyb3VwLmV2ZXJ5KChmOiBhbnkpID0+IHRoaXMuaXNWYWxpZChmKSlcbiAgICAgIDogdHJ1ZTtcbiAgfVxuXG4gIG9uQXBwcm92ZSgpIHtcbiAgICAvLyBUT0RPOiBhZGQgbG9naWMgZm9yIGFwcHJvdmVcbiAgfVxuXG4gIG9uUmVqZWN0KCkge1xuICAgIC8vIFRPRE86IGFkZCBsb2dpYyBmb3IgcmVqZWN0XG4gICB9XG5cbiAgIG9uU3RlcENoYW5nZShldmVudDogU3RlcHBlclNlbGVjdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgIGlmICh0aGlzLmZpZWxkICYmIHRoaXMuZmllbGQucHJvcHM/Llsnc3RlcENoYW5nZSddKSB7XG4gICAgICB0aGlzLmZpZWxkLnByb3BzPy5bJ3N0ZXBDaGFuZ2UnXShldmVudCwgdGhpcy5maWVsZCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvbnNGb3JUYWJ1bGFyRm9ybUZpZWxkcyhmaWVsZHM6IGFueSkge1xuICAgIGlmKGZpZWxkcy5maWVsZEdyb3VwKSB7XG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcy5maWVsZEdyb3VwKSB7XG4gICAgICAgIGlmKGZpZWxkLnR5cGUgPT09ICdtdS10YWJ1bGFyLWZvcm0nKSB7XG4gICAgICAgICAgaWYoZmllbGQuZmllbGRHcm91cFswXT8uZmllbGRHcm91cCkge1xuICAgICAgICAgICAgZmllbGQuZmllbGRHcm91cFswXS5maWVsZEdyb3VwLmZvckVhY2goKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICAgICAgICAgIGZpZWxkLmZpZWxkR3JvdXAuZm9yRWFjaCgoZjogYW55KSA9PiB0aGlzLnJtdlZhbGlkaXR5KGYpKVxuICAgICAgICAgICAgICAgIHRoaXMucm12VmFsaWRpdHkoZmllbGQuZmllbGRHcm91cClcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJtdlZhbGlkaXR5KGZpZWxkKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZihmaWVsZC5maWVsZEdyb3VwKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uc0ZvclRhYnVsYXJGb3JtRmllbGRzKGZpZWxkLmZpZWxkR3JvdXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XG4gICAgICAgIGlmKGZpZWxkLnR5cGUgPT09ICdtdS10YWJ1bGFyLWZvcm0nKSB7XG4gICAgICAgICAgaWYoZmllbGQuZmllbGRHcm91cFswXT8uZmllbGRHcm91cCkge1xuICAgICAgICAgICAgZmllbGQuZmllbGRHcm91cFswXS5maWVsZEdyb3VwLmZvckVhY2goKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICAgICAgICAgIGZpZWxkLmZpZWxkR3JvdXAuZm9yRWFjaCgoZjogYW55KSA9PiB0aGlzLnJtdlZhbGlkaXR5KGYpKVxuICAgICAgICAgICAgICAgIHRoaXMucm12VmFsaWRpdHkoZmllbGQuZmllbGRHcm91cClcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJtdlZhbGlkaXR5KGZpZWxkKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZihmaWVsZC5maWVsZEdyb3VwKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uc0ZvclRhYnVsYXJGb3JtRmllbGRzKGZpZWxkLmZpZWxkR3JvdXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG5cbiAgcm12VmFsaWRpdHkoZmllbGQ6IGFueSkge1xuICAgIGlmIChmaWVsZC5mb3JtQ29udHJvbCB8fCB0aGlzLmZvcm0uZ2V0KGZpZWxkLmtleSkpIHtcbiAgICAgIGZpZWxkLmZvcm1Db250cm9sPy5zZXRWYWxpZGF0b3JzKFtdKTtcbiAgICAgIGZpZWxkLmZvcm1Db250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAodGhpcy5mb3JtIGFzIEZvcm1Hcm91cCkucmVtb3ZlQ29udHJvbChmaWVsZC5rZXkpO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbFRvVG9wKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgc3RlcHBlckNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tYXQtaG9yaXpvbnRhbC1jb250ZW50LWNvbnRhaW5lcicpO1xuICAgICAgaWYgKHN0ZXBwZXJDb250YWluZXIpIHtcbiAgICAgICAgc3RlcHBlckNvbnRhaW5lci5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH1cblxuICBnZXRDb2xvckZvclRoZVRhYkNoYW5nZWQoc3RlcDogYW55KSB7XG4gICAgbGV0IHRhYkVkaXRlZENvbG9yID0gJyMwMDAwMDAnO1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKHN0ZXApICYmIHRoaXMub3B0aW9ucy5mb3JtU3RhdGU/LnNob3dWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRhYkVkaXRlZENvbG9yID0gJyNmZjAwMDAnO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zPy5mb3JtU3RhdGU/LmVkaXRlZFRhYnNTdGF0dXMgJiYgdGhpcy5vcHRpb25zPy5mb3JtU3RhdGU/LmVkaXRlZFRhYnNTdGF0dXNbc3RlcD8ua2V5XSkge1xuICAgICAgdGFiRWRpdGVkQ29sb3IgPSAnI2ZmMDAwMCdcbiAgICB9XG4gICAgcmV0dXJuIHRhYkVkaXRlZENvbG9yO1xuICB9XG5cbiAgaXNUYWJEYXRhQ2hhbmdlZChzdGVwOiBhbnkpOiBib29sZWFuIHtcbiAgICBsZXQgaXNUYWJDaGFuZ2VkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5lZGl0ZWRUYWJzU3RhdHVzICYmIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5lZGl0ZWRUYWJzU3RhdHVzW3N0ZXA/LmtleV0pIHtcbiAgICAgIGlzVGFiQ2hhbmdlZCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBpc1RhYkNoYW5nZWQ7XG4gIH1cbn0iXX0=
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mb3JtL3NyYy9saWIvdHlwZXMvc3RlcHBlci50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7QUE2RjdELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxTQUFTO0lBNUYxRDs7UUE2RkUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHNCQUFpQixHQUFHLENBQUMsQ0FBQztLQTZKdkI7SUEzSkMsUUFBUTtRQUNKLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxhQUFhLEdBQUcs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LE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEcsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzsrR0EvSlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsMEdBeEY1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDVCxrMkJBNUNTLGdCQUFnQix1ekJBQUUsWUFBWSx3SEFBRSxlQUFlLDJOQUFFLGVBQWUsMkZBQUUsWUFBWSxxVEFBa0IsZ0JBQWdCLDRUQUFFLGFBQWE7OzRGQXlGOUgsMkJBQTJCO2tCQTVGdkMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsWUFDaEk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHsgTWF0U3RlcHBlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seU1vZHVsZSB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgU3RlcHBlclNlbGVjdGlvbkV2ZW50IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zdGVwcGVyXCI7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibXUtZm9ybWx5LWZpZWxkLXN0ZXBwZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdFN0ZXBwZXJNb2R1bGUsIEZvcm1seU1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIENvbW1vbk1vZHVsZSxUcmFuc2xhdGVNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtaG9yaXpvbnRhbC1zdGVwcGVyIFtsaW5lYXJdPVwiaXNMaW5lYXJcIiBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZFN0ZXBJbmRleFwiIFtuZ0NsYXNzXT1cIltmaWVsZD8ucHJvcHM/LmNsYXNzTmFtZV1cIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU3RlcENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcHBlckljb249XCJlZGl0XCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICAgICAge3tpbmRleCArMX19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIEBmb3Ioc3RlcCBvZiBmaWVsZC5maWVsZEdyb3VwOyB0cmFjayBzdGVwOyBsZXQgaW5kZXggPSAkaW5kZXg7IGxldCBsYXN0ID1cbiAgICAkbGFzdCl7XG4gICAgPG1hdC1zdGVwIFtjb21wbGV0ZWRdPVwiaXNWYWxpZChzdGVwKVwiIFtuZ0NsYXNzXT1cInsgJ2Vycm9yLXN0ZXAnOiAhaXNWYWxpZChzdGVwKSB9XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwTGFiZWw+XG4gICAgICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnY29sb3InOiAoIWlzVmFsaWQoc3RlcCkgJiYgb3B0aW9ucy5mb3JtU3RhdGU/LnNob3dWYWxpZGF0aW9uRXJyb3IpID8gJ3JlZCcgOiAnYmxhY2snfVwiIGNsYXNzPVwid2hpdGVzcGFjZS1ub3JtYWwgYnJlYWstd29yZHMgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXItbGFiZWxcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogZ2V0Q29sb3JGb3JUaGVUYWJDaGFuZ2VkKHN0ZXApfVwiPnt7IHN0ZXA/LnByb3BzPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0VG9vbHRpcD1cInt7J0VESVRFRF9UQUInIHwgdHJhbnNsYXRlfX1cIiAqbmdJZj1cImlzVGFiRGF0YUNoYW5nZWQoc3RlcCkgJiYgISghaXNWYWxpZChzdGVwKSAmJiBvcHRpb25zLmZvcm1TdGF0ZT8uc2hvd1ZhbGlkYXRpb25FcnJvcilcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogZ2V0Q29sb3JGb3JUaGVUYWJDaGFuZ2VkKHN0ZXApfVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwie3snTUFOREFUT1JZX0ZJRUxEU19UT09MVElQJyB8IHRyYW5zbGF0ZX19XCIgKm5nSWY9XCIhaXNWYWxpZChzdGVwKSAmJiBvcHRpb25zLmZvcm1TdGF0ZT8uc2hvd1ZhbGlkYXRpb25FcnJvclwiICBjbGFzcz1cImVycm9yLXN0ZXBcIj5lcnJvcjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIjJ4bDpoLVs4MHZoXSB4bDpoLWZ1bGwgbWQ6aC1bMTI1dmhdIG92ZXJmbG93LXktYXV0b1wiPlxuICAgICAgICAgICAgPGZvcm1seS1maWVsZCBbZmllbGRdPVwic3RlcFwiPjwvZm9ybWx5LWZpZWxkPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTQgZmxleFwiPlxuICAgICAgICAgICAgICAgIEBpZiAoaW5kZXggIT09IDApIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXRTdGVwcGVyUHJldmlvdXMgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZmxleCBtci0yIG1sLTJcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0JVVFRPTi5QUkVWSU9VUycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICghbGFzdCkge1xuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0U3RlcHBlck5leHQgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZsZXggbXItMiBtbC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdCVVRUT04uTkVYVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChsYXN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1hcm91bmQgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkFwcHJvdmUoKVwiICpuZ0lmPVwibW9kZWwuaWRcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnQlVUVE9OLkFQUFJPVkUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvblJlamVjdCgpXCIgKm5nSWY9XCJtb2RlbC5pZFwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdCVVRUT04uUkVKRUNUJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1zdGVwPlxuICAgIH1cbjwvbWF0LWhvcml6b250YWwtc3RlcHBlcj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgICAgLnN0ZXBwZXItbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgfVxuICAgICAgLmVycm9yLXN0ZXAge1xuICAgICAgICBjb2xvcjogI2QzMmYyZiAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgOjpuZy1kZWVwIG1hdC1zdGVwLWhlYWRlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTVFNEUyICAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICA6Om5nLWRlZXAgbWF0LXN0ZXAtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0U1RTRFMiAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIDo6bmctZGVlcCAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IFxuICAgICAgbWF4LXdpZHRoOiAxMDB2dzsgXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyBcbiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBhdXRvO1xuICAgIH1cblxuICAgIDo6bmctZGVlcCAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXItY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gIDo6bmctZGVlcCAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXItY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cblxuICA6Om5nLWRlZXAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRTdGVwcGVyQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGlzTGluZWFyID0gZmFsc2U7XG4gIHNlbGVjdGVkU3RlcEluZGV4ID0gMDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSB0aGlzLmZpZWxkLmZpZWxkR3JvdXA/LmZpbmRJbmRleChzdGVwID0+IHN0ZXAucHJvcHM/Llsnc2VsZWN0ZWRJbmRleCddKSA/PyAwO1xuICAgICAgdGhpcy5zZWxlY3RlZFN0ZXBJbmRleCA9IChzZWxlY3RlZEluZGV4ID4gLTEpID8gc2VsZWN0ZWRJbmRleCA6IDA7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICB9XG5cbiAgaXNWYWxpZChmaWVsZDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKGZpZWxkLmtleSkge1xuICAgICAgbGV0IGV4Y2x1ZGVWYWxpZGF0aW9uRmxhZyA9IHRydWU7XG4gICAgICBpZihmaWVsZC5wcm9wcz8uZXhjbHVkZVZhbGlkYXRpb24pIHtcbiAgICAgICAgaWYoZmllbGQucHJvcHM/Lm1pblJvd1ZhbGlkYXRpb24pIHtcbiAgICAgICAgICBleGNsdWRlVmFsaWRhdGlvbkZsYWcgPSBmaWVsZC5tb2RlbFtmaWVsZC5wcm9wcz8ubWluUm93VmFsaWRhdGlvbl0/Lmxlbmd0aCA+IDAgPyB0cnVlIDogZmFsc2VcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBleGNsdWRlVmFsaWRhdGlvbkZsYWcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsZXQgbWluUm93VmFsaWRhdGlvbkZsYWcgPSB0cnVlO1xuICAgICAgaWYoZmllbGQucHJvcHM/Lm1pblJvd1ZhbGlkYXRpb24pIHtcbiAgICAgICAgbWluUm93VmFsaWRhdGlvbkZsYWcgPSBmaWVsZC5tb2RlbFtmaWVsZC5wcm9wcz8ubWluUm93VmFsaWRhdGlvbl0/Lmxlbmd0aCA+IDAgPyB0cnVlIDogZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGxldCB1cGxvYWRGaWxlc1ZhbGlkYXRpb24gPSB0cnVlO1xuICAgICAgaWYoZmllbGQucHJvcHM/LnVwbG9hZFZhbGlkYXRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgdXBsb2FkRmlsZXNWYWxpZGF0aW9uID0gZmllbGQucHJvcHM/LnVwbG9hZFZhbGlkYXRpb25zLmV2ZXJ5KCh1cGxGaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IHZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICBpZihBcnJheS5pc0FycmF5KGZpZWxkLm1vZGVsW3VwbEZpZWxkXSkgJiYgZmllbGQubW9kZWxbdXBsRmllbGRdPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHZhbGlkID0gZmllbGQubW9kZWxbdXBsRmllbGRdPy5ldmVyeShmID0+IGYuZmlsZU5hbWUgPyAhIWYubm9kZUlkIDogdHJ1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbGlkID0gZmllbGQubW9kZWxbdXBsRmllbGRdPy5maWxlTmFtZSA/ICEhZmllbGQubW9kZWxbdXBsRmllbGRdPy5ub2RlSWQgOiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdmFsaWQgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYoZmllbGQucHJvcHM/LnNraXBGb3JtVmFsaWRhdGlvbnMpIHsgICAgICAgXG4gICAgICAgIGlmKGV4Y2x1ZGVWYWxpZGF0aW9uRmxhZyAmJiBtaW5Sb3dWYWxpZGF0aW9uRmxhZyAmJiB1cGxvYWRGaWxlc1ZhbGlkYXRpb24pIHtcbiAgICAgICAgICBpZighZmllbGQ/LmZvcm1Db250cm9sPy52YWxpZCkge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbHNMaXN0ID0gZmllbGQ/LmZvcm1Db250cm9sPy5jb250cm9scztcbiAgICAgICAgICAgIGRlbGV0ZSBjb250cm9sc0xpc3RbZmllbGQucHJvcHM/Lm1pblJvd1ZhbGlkYXRpb25dO1xuICAgICAgICAgICAgaWYoY29udHJvbHNMaXN0W2ZpZWxkLnByb3BzPy5za2lwRm9ybVZhbGlkYXRpb25zXSkgZGVsZXRlIGNvbnRyb2xzTGlzdFtmaWVsZC5wcm9wcz8uc2tpcEZvcm1WYWxpZGF0aW9uc107XG4gICAgICAgICAgICBjb25zdCBjaGVja1ZhbGlkaXR5ID0gKGNvbnRyb2xzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKGNvbnRyb2xzKS5ldmVyeShjb250cm9sID0+IGNvbnRyb2wudmFsaWQpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGlzRm9ybVZhbGlkID0gY2hlY2tWYWxpZGl0eShjb250cm9sc0xpc3QpO1xuICAgICAgICAgICAgcmV0dXJuIGlzRm9ybVZhbGlkO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGQ/LmZvcm1Db250cm9sPy52YWxpZCB8fCBmaWVsZD8ucHJvcHM/LmV4Y2x1ZGVWYWxpZGF0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgcmV0dXJuIChleGNsdWRlVmFsaWRhdGlvbkZsYWcgJiYgbWluUm93VmFsaWRhdGlvbkZsYWcgJiYgdXBsb2FkRmlsZXNWYWxpZGF0aW9uKSBcbiAgICAgICAgPyAoZmllbGQ/LmZvcm1Db250cm9sPy52YWxpZCB8fCBmaWVsZD8ucHJvcHM/LmV4Y2x1ZGVWYWxpZGF0aW9uKSBcbiAgICAgICAgOiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGZpZWxkLmZpZWxkR3JvdXBcbiAgICAgID8gZmllbGQuZmllbGRHcm91cC5ldmVyeSgoZjogYW55KSA9PiB0aGlzLmlzVmFsaWQoZikpXG4gICAgICA6IHRydWU7XG4gIH1cblxuICBvbkFwcHJvdmUoKSB7XG4gICAgLy8gVE9ETzogYWRkIGxvZ2ljIGZvciBhcHByb3ZlXG4gIH1cblxuICBvblJlamVjdCgpIHtcbiAgICAvLyBUT0RPOiBhZGQgbG9naWMgZm9yIHJlamVjdFxuICAgfVxuXG4gICBvblN0ZXBDaGFuZ2UoZXZlbnQ6IFN0ZXBwZXJTZWxlY3Rpb25FdmVudCkge1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICBpZiAodGhpcy5maWVsZCAmJiB0aGlzLmZpZWxkLnByb3BzPy5bJ3N0ZXBDaGFuZ2UnXSkge1xuICAgICAgdGhpcy5maWVsZC5wcm9wcz8uWydzdGVwQ2hhbmdlJ10oZXZlbnQsIHRoaXMuZmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRpb25zRm9yVGFidWxhckZvcm1GaWVsZHMoZmllbGRzOiBhbnkpIHtcbiAgICBpZihmaWVsZHMuZmllbGRHcm91cCkge1xuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMuZmllbGRHcm91cCkge1xuICAgICAgICBpZihmaWVsZC50eXBlID09PSAnbXUtdGFidWxhci1mb3JtJykge1xuICAgICAgICAgIGlmKGZpZWxkLmZpZWxkR3JvdXBbMF0/LmZpZWxkR3JvdXApIHtcbiAgICAgICAgICAgIGZpZWxkLmZpZWxkR3JvdXBbMF0uZmllbGRHcm91cC5mb3JFYWNoKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGlmKGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5maWVsZEdyb3VwLmZvckVhY2goKGY6IGFueSkgPT4gdGhpcy5ybXZWYWxpZGl0eShmKSlcbiAgICAgICAgICAgICAgICB0aGlzLnJtdlZhbGlkaXR5KGZpZWxkLmZpZWxkR3JvdXApXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ybXZWYWxpZGl0eShmaWVsZClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbnNGb3JUYWJ1bGFyRm9ybUZpZWxkcyhmaWVsZC5maWVsZEdyb3VwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgICAgICBpZihmaWVsZC50eXBlID09PSAnbXUtdGFidWxhci1mb3JtJykge1xuICAgICAgICAgIGlmKGZpZWxkLmZpZWxkR3JvdXBbMF0/LmZpZWxkR3JvdXApIHtcbiAgICAgICAgICAgIGZpZWxkLmZpZWxkR3JvdXBbMF0uZmllbGRHcm91cC5mb3JFYWNoKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGlmKGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5maWVsZEdyb3VwLmZvckVhY2goKGY6IGFueSkgPT4gdGhpcy5ybXZWYWxpZGl0eShmKSlcbiAgICAgICAgICAgICAgICB0aGlzLnJtdlZhbGlkaXR5KGZpZWxkLmZpZWxkR3JvdXApXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ybXZWYWxpZGl0eShmaWVsZClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbnNGb3JUYWJ1bGFyRm9ybUZpZWxkcyhmaWVsZC5maWVsZEdyb3VwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgfVxuXG4gIHJtdlZhbGlkaXR5KGZpZWxkOiBhbnkpIHtcbiAgICBpZiAoZmllbGQuZm9ybUNvbnRyb2wgfHwgdGhpcy5mb3JtLmdldChmaWVsZC5rZXkpKSB7XG4gICAgICBmaWVsZC5mb3JtQ29udHJvbD8uc2V0VmFsaWRhdG9ycyhbXSk7XG4gICAgICBmaWVsZC5mb3JtQ29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgKHRoaXMuZm9ybSBhcyBGb3JtR3JvdXApLnJlbW92ZUNvbnRyb2woZmllbGQua2V5KTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxUb1RvcCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHN0ZXBwZXJDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubWF0LWhvcml6b250YWwtY29udGVudC1jb250YWluZXInKTtcbiAgICAgIGlmIChzdGVwcGVyQ29udGFpbmVyKSB7XG4gICAgICAgIHN0ZXBwZXJDb250YWluZXIuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgIH1cbiAgICB9LCAxMDApO1xuICB9XG5cbiAgZ2V0Q29sb3JGb3JUaGVUYWJDaGFuZ2VkKHN0ZXA6IGFueSkge1xuICAgIGxldCB0YWJFZGl0ZWRDb2xvciA9ICcjMDAwMDAwJztcbiAgICBpZiAoIXRoaXMuaXNWYWxpZChzdGVwKSAmJiB0aGlzLm9wdGlvbnMuZm9ybVN0YXRlPy5zaG93VmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0YWJFZGl0ZWRDb2xvciA9ICcjZmYwMDAwJztcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5lZGl0ZWRUYWJzU3RhdHVzICYmIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5lZGl0ZWRUYWJzU3RhdHVzW3N0ZXA/LmtleV0pIHtcbiAgICAgIHRhYkVkaXRlZENvbG9yID0gJyNmZjAwMDAnXG4gICAgfVxuICAgIHJldHVybiB0YWJFZGl0ZWRDb2xvcjtcbiAgfVxuXG4gIGlzVGFiRGF0YUNoYW5nZWQoc3RlcDogYW55KTogYm9vbGVhbiB7XG4gICAgbGV0IGlzVGFiQ2hhbmdlZCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZT8uZWRpdGVkVGFic1N0YXR1cyAmJiB0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZT8uZWRpdGVkVGFic1N0YXR1c1tzdGVwPy5rZXldKSB7XG4gICAgICBpc1RhYkNoYW5nZWQgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gaXNUYWJDaGFuZ2VkO1xuICB9XG59Il19
|
|
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
76
76
|
type: ViewChild,
|
|
77
77
|
args: [MatSort]
|
|
78
78
|
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zvcm0vc3JjL2xpYi90eXBlcy90YWJsZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBYSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBUSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBNkI3RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsY0FBYztJQTNCN0Q7O1FBNEJJLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUNoQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDaEMsU0FBSSxHQUFHLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7S0FnQnJDO0lBWEMsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFckMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUMsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsR0FBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekQsQ0FBQzsrR0FsQk0seUJBQXlCO21HQUF6Qix5QkFBeUIsdUhBSXZCLFlBQVksdUVBRVosT0FBTyx1RUF2QlI7Ozs7Ozs7Ozs7Ozs7O0tBY1QsMkRBcEJHLGNBQWMsc2dDQUNkLG9CQUFvQiw4QkFDcEIsWUFBWSw4QkFDWixhQUFhLGlkQUNiLGtCQUFrQjs7NEZBbUJiLHlCQUF5QjtrQkEzQnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDTCxjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGtCQUFrQjtxQkFDckI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO2lCQUNKOzhCQU00QixTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBRUgsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRBcnJheVR5cGUsIEZpZWxkVHlwZSwgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZSwgTWF0VGFibGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IEZvcm1seU1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTWF0U29ydCwgU29ydCwgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHtNYXRQYWdpbmF0b3IsIE1hdFBhZ2luYXRvck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtdS1zZWxlY3Rvci1uYW1lJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTWF0VGFibGVNb2R1bGUsXG4gICAgICAgIEZvcm1seU1hdGVyaWFsTW9kdWxlLFxuICAgICAgICBGb3JtbHlNb2R1bGUsXG4gICAgICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgICAgIE1hdFBhZ2luYXRvck1vZHVsZVxuICAgIF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgXG4gICAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVwiIG1hdFNvcnQgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCI+XG4gICAgICAgIEBmb3IgKGNvbHVtbiBvZiBkaXNwbGF5ZWRDb2x1bW5zOyB0cmFjayBjb2x1bW4pIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgbWF0LXNvcnQtaGVhZGVyICptYXRIZWFkZXJDZWxsRGVmPiB7e2NvbHVtbn19IDwvdGg+XG4gICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnRbY29sdW1uXX19IDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuXG4gICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiY29sdW1uc1RvRGlzcGxheVwiPjwvdHI+XG4gICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2x1bW5zVG9EaXNwbGF5O1wiPjwvdHI+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICAgIDxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiIGFyaWEtbGFiZWw9XCJTZWxlY3QgcGFnZSBvZiB1c2Vyc1wiPjwvbWF0LXBhZ2luYXRvcj5cbiAgICBgXG59KVxuXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRUYWJsZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQXJyYXlUeXBlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbHVtbnNUb0Rpc3BsYXk6IHN0cmluZ1tdID0gW107XG4gICAgZGF0YSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoW10pO1xuICAgIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3IhOiBNYXRQYWdpbmF0b3I7XG5cbiAgICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmRhdGEucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG5cbiAgICB0aGlzLmRhdGEuc29ydCA9IHRoaXMuc29ydDtcbiAgfVxuICBcbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmZpZWxkLnByb3BzWydncmlkT3B0aW9ucyddPy5kYXRhKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5maWVsZC5wcm9wc1snZ3JpZE9wdGlvbnMnXT8uY29sdW1uRGVmcztcbiAgICAgICAgdGhpcy5jb2x1bW5zVG9EaXNwbGF5ID0gIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5zbGljZSgpO1xuICAgICAgfVxufSJdfQ==
|
|
@@ -290,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
290
290
|
type: ViewChild,
|
|
291
291
|
args: ['tabGroup']
|
|
292
292
|
}] } });
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tbGliL3NyYy9saWIvdHlwZXMvdGFicy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFrQyxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBc0MsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7QUFnR3RELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxTQUEwQjtJQTlGeEU7O1FBaUdFLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFHeEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsWUFBTyxHQUFZLEtBQUssQ0FBQztLQTZHMUI7SUEzR0MsT0FBTyxDQUFDLFFBQXFCO1FBQzNCLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLENBQUM7WUFDL0MsTUFBTSxZQUFZLEdBQUcs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ckcsY0FBYyxHQUFHLFNBQVMsQ0FBQTtRQUM1QixDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVM7UUFDeEIsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEcsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzsrR0FuSFUsd0JBQXdCO21HQUF4Qix3QkFBd0IsNk1BakZ6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwRVQsK0dBbkZDLGFBQWEscXVCQUNiLG1CQUFtQiw4QkFDbkIsWUFBWSx3SEFDWixlQUFlLDJOQUNmLFlBQVksdU5BQ1osZUFBZSwyRkFDZixhQUFhLG1MQUNiLGdCQUFnQjs7NEZBbUZQLHdCQUF3QjtrQkE5RnBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwRVQ7OEJBWXNCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUYWJDaGFuZ2VFdmVudCwgTWF0VGFiR3JvdXAsIE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ211LWZvcm1seS1maWVsZC10YWJzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtbHlNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC10YWItZ3JvdXAgICN0YWJHcm91cCAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgQGZvcih0YWIgb2YgZmllbGQuZmllbGRHcm91cDsgdHJhY2sgdGFiOyBsZXQgaSA9ICRpbmRleDsgbGV0IGxhc3QgPVxuICAgICAgJGxhc3Qpe1xuICAgICAgPG1hdC10YWJcbiAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgIGkgIT09IDAgJiYgIWlzVmFsaWQoZmllbGQuZmllbGRHcm91cCA/IGZpZWxkLmZpZWxkR3JvdXBbaSAtIDFdIDoge30pICYmIHRhYj8ucHJvcHM/LlsnZGlzYWJsZVRhYnMnXSAmJiB0aGlzLnNob3dTdWJtaXRCdG5cbiAgICAgICAgXCJcbiAgICAgICAgKm5nSWY9XCIhdGFiPy5wcm9wcz8uWydoaWRlVGFiJ11cIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cbiAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogKCFpc1ZhbGlkKGZpZWxkLmZpZWxkR3JvdXAgPyBmaWVsZC5maWVsZEdyb3VwW2ldIDoge30pICYmIG9wdGlvbnMuZm9ybVN0YXRlPy5zaG93VmFsaWRhdGlvbkVycm9yKSA/ICdyZWQnIDogJ2JsYWNrJ31cIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieydjb2xvcic6IGdldENvbG9yRm9yVGhlVGFiQ2hhbmdlZCh0YWIpfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgdGFiPy5wcm9wcz8ubGFiZWwgfHwgJycgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFRvb2x0aXA9XCJ7eydFRElURURfVEFCJyB8IHRyYW5zbGF0ZX19XCIgKm5nSWY9XCJpc1RhYkRhdGFDaGFuZ2VkKHRhYikgJiYgISghaXNWYWxpZChmaWVsZC5maWVsZEdyb3VwID8gZmllbGQuZmllbGRHcm91cFtpXSA6IHt9KSAmJiBvcHRpb25zLmZvcm1TdGF0ZT8uc2hvd1ZhbGlkYXRpb25FcnJvcilcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogZ2V0Q29sb3JGb3JUaGVUYWJDaGFuZ2VkKHRhYil9XCI+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdFRvb2x0aXA9XCJ7eydNQU5EQVRPUllfRklFTERTX1RPT0xUSVAnIHwgdHJhbnNsYXRlfX1cIiAqbmdJZj1cIiFpc1ZhbGlkKGZpZWxkLmZpZWxkR3JvdXAgPyBmaWVsZC5maWVsZEdyb3VwW2ldIDoge30pICYmIG9wdGlvbnMuZm9ybVN0YXRlPy5zaG93VmFsaWRhdGlvbkVycm9yXCIgY2xhc3M9XCJlcnJvci1zdGVwXCI+ZXJyb3I8L21hdC1pY29uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIGZvcm0tY29udGVudFwiPlxuICAgICAgICA8Zm9ybWx5LWZpZWxkIFtmaWVsZF09XCJ0YWJcIj48L2Zvcm1seS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmKHRhYj8ucHJvcHM/Llsnc2hvd05leHRQcmV2aW91cyddKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBib3R0b20tMiBmbGV4IGp1c3RpZnktZW5kIG1yLTJcIj5cbiAgICAgICAgICBAaWYoaT09PTAgJiYgZmllbGQucHJvcHNbJ3Nob3dCdG5Gb3JQcmV2aW91c0Zvcm0nXSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJnb1RvUHJldmlvdXNGb3JtKHRhYkdyb3VwKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBtci0yIG1sLTIgbXQtNVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdCVVRUT04uUFJFVklPVVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChpICE9PSAwKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRmlyc3RUYWIodGFiR3JvdXApXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzVGFiKHRhYkdyb3VwKVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggbXItMiBtbC0yIG10LTVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdCVVRUT04uUFJFVklPVVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfSBAaWYgKCFsYXN0KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzVmFsaWQodGFiKSAmJiBzaG93U3VibWl0QnRuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJuZXh0VGFiKHRhYkdyb3VwKVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggbXQtNVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgIHt7ICdCVVRUT04uTkVYVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmKGxhc3QgJiYgc2hvd1N1Ym1pdEJ0bikge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBtdC01IHN1Ym1pdC1idG5cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBmaWVsZC5wcm9wc1snU1VCTUlUX0JUTl9OQU1FJ10gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8L21hdC10YWI+XG4gICAgICB9XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmVycm9yLXN0ZXAge1xuICAgICAgY29sb3I6ICNkMzJmMmYgIWltcG9ydGFudDtcbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkVGFic0NvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc3VibWl0dGVkRGF0YSE6IGFueVtdO1xuXG4gIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICB1c2VyOiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJykgdGFiR3JvdXAhOiBNYXRUYWJHcm91cDtcbiAgc2hvd1N1Ym1pdEJ0biA9IGZhbHNlO1xuICBoaWRlVGFiOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbmV4dFRhYih0YWJHcm91cDogTWF0VGFiR3JvdXApIHtcbiAgICBpZiAodGFiR3JvdXAgJiYgdGFiR3JvdXAuc2VsZWN0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0YWJHcm91cC5zZWxlY3RlZEluZGV4O1xuICAgICAgaWYgKGN1cnJlbnRJbmRleCA8ICh0YWJHcm91cC5fdGFicz8ubGVuZ3RoIHx8IDApIC0gMSkge1xuICAgICAgICB0YWJHcm91cC5zZWxlY3RlZEluZGV4ID0gY3VycmVudEluZGV4ICsgMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcmV2aW91c1RhYih0YWJHcm91cDogTWF0VGFiR3JvdXApIHtcbiAgICBpZiAodGFiR3JvdXAgJiYgdGFiR3JvdXAuc2VsZWN0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0YWJHcm91cC5zZWxlY3RlZEluZGV4O1xuICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgICAgdGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IGN1cnJlbnRJbmRleCAtIDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNGaXJzdFRhYih0YWJHcm91cDogTWF0VGFiR3JvdXApOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFiR3JvdXAgJiYgdGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9PT0gMDtcbiAgfVxuXG4gIGlzTGFzdFRhYih0YWJHcm91cDogTWF0VGFiR3JvdXApOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFiR3JvdXAgJiYgdGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9PT0gKHRhYkdyb3VwLl90YWJzPy5sZW5ndGggfHwgMCkgLSAxO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbG9nZ2VkSW5Vc2VyJykgfHwgJ3t9Jyk7XG4gICAgaWYodGhpcy5maWVsZC5wcm9wcz8uWydzaG93U3VibWl0QnRuRm9yU3RhdHVzJ10/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zaG93U3VibWl0QnRuID0gdGhpcy5maWVsZC5wcm9wcz8uWydzaG93U3VibWl0QnRuRm9yU3RhdHVzJ10uZmluZCgocm9sZTogYW55KSA9PiB0aGlzLm9wdGlvbnMuZm9ybVN0YXRlPy5zdGF0dXMgPT0gcm9sZSkgJiYgIXRoaXMub3B0aW9ucy5mb3JtU3RhdGU/LmlzUmVhZG9ubHk7XG4gICAgfVxuICB9XG5cbiAgaXNWYWxpZChmaWVsZDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKGZpZWxkLmtleSkge1xuICAgICAgaWYoZmllbGQucHJvcHM/LmV4Y2x1ZGVWYWxpZGF0aW9uKSB7XG4gICAgICAgIGlmKGZpZWxkLnByb3BzPy5taW5Sb3dWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkLmZvcm1Db250cm9sLnZhbHVlW2ZpZWxkLnByb3BzPy5taW5Sb3dWYWxpZGF0aW9uXS5sZW5ndGggPiAwID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoZmllbGQucHJvcHM/LnVwbG9hZFZhbGlkYXRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkLnByb3BzPy51cGxvYWRWYWxpZGF0aW9ucy5ldmVyeSgodXBsRmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgIGxldCB2YWxpZCA9IHRydWU7XG4gICAgICAgICAgaWYoQXJyYXkuaXNBcnJheShmaWVsZC5tb2RlbFt1cGxGaWVsZF0pICYmIGZpZWxkLm1vZGVsW3VwbEZpZWxkXT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB2YWxpZCA9IGZpZWxkLm1vZGVsW3VwbEZpZWxkXT8uZXZlcnkoZiA9PiBmLmZpbGVOYW1lID8gISFmLm5vZGVJZCA6IHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWxpZCA9IGZpZWxkLm1vZGVsW3VwbEZpZWxkXT8uZmlsZU5hbWUgPyAhIWZpZWxkLm1vZGVsW3VwbEZpZWxkXT8ubm9kZUlkIDogdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHZhbGlkID8gZmllbGQ/LmZvcm1Db250cm9sPy52YWxpZCA6IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWVsZD8uZm9ybUNvbnRyb2w/LnZhbGlkIHx8IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZihmaWVsZC5wcm9wcz8uZXhjbHVkZVZhbGlkYXRpb24pIHtcbiAgICAgICAgaWYoZmllbGQucHJvcHM/Lm1pblJvd1ZhbGlkYXRpb24pIHtcbiAgICAgICAgICByZXR1cm4gZmllbGQuZm9ybUNvbnRyb2wudmFsdWVbZmllbGQucHJvcHM/Lm1pblJvd1ZhbGlkYXRpb25dLmxlbmd0aCA+IDAgPyB0cnVlIDogZmFsc2VcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWVsZC5maWVsZEdyb3VwXG4gICAgICA/IGZpZWxkLmZpZWxkR3JvdXAuZXZlcnkoKGY6IGFueSkgPT4gdGhpcy5pc1ZhbGlkKGYpKVxuICAgICAgOiB0cnVlO1xuICB9XG5cbiAgb25UYWJDaGFuZ2UoZXZlbnQ6IE1hdFRhYkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5wcm9wcz8uWyd0YWJDaGFuZ2UnXSkge1xuICAgICAgdGhpcy5maWVsZC5wcm9wcz8uWyd0YWJDaGFuZ2UnXShldmVudCwgdGhpcy5maWVsZCk7XG4gICAgfVxuICB9XG5cbiAgZ29Ub1ByZXZpb3VzRm9ybSh0YWJHcm91cDogTWF0VGFiR3JvdXApIHtcbiAgICBpZiAodGhpcy5maWVsZCAmJiB0aGlzLmZpZWxkLnByb3BzPy5bJ2Zvcm1DaGFuZ2UnXSkge1xuICAgICAgdGhpcy5maWVsZC5wcm9wcz8uWydmb3JtQ2hhbmdlJ10odGFiR3JvdXAsIHRoaXMuZmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIGdldFRhYkhlaWdodENsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZmllbGQucHJvcHM/LlsnYXBwbHlPbGRIZWlnaHQnXSkge1xuICAgICAgcmV0dXJuICcyeGw6aC1bNjF2aF0geGw6aC1bNjB2aF0gbWQ6aC1bNTZ2aF0nO1xuICAgIH1cbiAgICByZXR1cm4gJzJ4bDpoLWF1dG8geGw6aC1hdXRvIG1kOmgtYXV0byc7XG4gIH1cblxuICBnZXRDb2xvckZvclRoZVRhYkNoYW5nZWQodGFiOiBhbnkpIHtcbiAgICBsZXQgdGFiRWRpdGVkQ29sb3IgPSAnIzAwMDAwMCc7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQodGFiKSAmJiB0aGlzLm9wdGlvbnMuZm9ybVN0YXRlPy5zaG93VmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0YWJFZGl0ZWRDb2xvciA9ICcjZmYwMDAwJztcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5lZGl0ZWRUYWJzU3RhdHVzICYmIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5lZGl0ZWRUYWJzU3RhdHVzW3RhYj8ua2V5XSkge1xuICAgICAgdGFiRWRpdGVkQ29sb3IgPSAnI2ZmMDAwMCdcbiAgICB9XG4gICAgcmV0dXJuIHRhYkVkaXRlZENvbG9yO1xuICB9XG5cbiAgaXNUYWJEYXRhQ2hhbmdlZChzdGVwOiBhbnkpOiBib29sZWFuIHtcbiAgICBsZXQgaXNUYWJDaGFuZ2VkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5lZGl0ZWRUYWJzU3RhdHVzICYmIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5lZGl0ZWRUYWJzU3RhdHVzW3N0ZXA/LmtleV0pIHtcbiAgICAgIGlzVGFiQ2hhbmdlZCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBpc1RhYkNoYW5nZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZm9ybS9zcmMvbGliL3R5cGVzL3RhYnMudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBa0MsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQXNDLE1BQU0sa0JBQWtCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBZ0d0RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBMEI7SUE5RnhFOztRQWlHRSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBR3hCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLFlBQU8sR0FBWSxLQUFLLENBQUM7S0E2RzFCO0lBM0dDLE9BQU8sQ0FBQyxRQUFxQjtRQUMzQixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQy9DLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FB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R0FBRyxTQUFTLENBQUE7UUFDNUIsQ0FBQztRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFTO1FBQ3hCLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RHLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7K0dBbkhVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDZNQWpGekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEVULCtHQW5GQyxhQUFhLHF1QkFDYixtQkFBbUIsOEJBQ25CLFlBQVksd0hBQ1osZUFBZSwyTkFDZixZQUFZLHVOQUNaLGVBQWUsMkZBQ2YsYUFBYSxtTEFDYixnQkFBZ0I7OzRGQW1GUCx3QkFBd0I7a0JBOUZwQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEVUOzhCQVlzQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VGFiQ2hhbmdlRXZlbnQsIE1hdFRhYkdyb3VwLCBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdS1mb3JtbHktZmllbGQtdGFicycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtdGFiLWdyb3VwICAjdGFiR3JvdXAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uVGFiQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIEBmb3IodGFiIG9mIGZpZWxkLmZpZWxkR3JvdXA7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXg7IGxldCBsYXN0ID1cbiAgICAgICRsYXN0KXtcbiAgICAgIDxtYXQtdGFiXG4gICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICBpICE9PSAwICYmICFpc1ZhbGlkKGZpZWxkLmZpZWxkR3JvdXAgPyBmaWVsZC5maWVsZEdyb3VwW2kgLSAxXSA6IHt9KSAmJiB0YWI/LnByb3BzPy5bJ2Rpc2FibGVUYWJzJ10gJiYgdGhpcy5zaG93U3VibWl0QnRuXG4gICAgICAgIFwiXG4gICAgICAgICpuZ0lmPVwiIXRhYj8ucHJvcHM/LlsnaGlkZVRhYiddXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwieydjb2xvcic6ICghaXNWYWxpZChmaWVsZC5maWVsZEdyb3VwID8gZmllbGQuZmllbGRHcm91cFtpXSA6IHt9KSAmJiBvcHRpb25zLmZvcm1TdGF0ZT8uc2hvd1ZhbGlkYXRpb25FcnJvcikgPyAncmVkJyA6ICdibGFjayd9XCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnY29sb3InOiBnZXRDb2xvckZvclRoZVRhYkNoYW5nZWQodGFiKX1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHRhYj8ucHJvcHM/LmxhYmVsIHx8ICcnIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwie3snRURJVEVEX1RBQicgfCB0cmFuc2xhdGV9fVwiICpuZ0lmPVwiaXNUYWJEYXRhQ2hhbmdlZCh0YWIpICYmICEoIWlzVmFsaWQoZmllbGQuZmllbGRHcm91cCA/IGZpZWxkLmZpZWxkR3JvdXBbaV0gOiB7fSkgJiYgb3B0aW9ucy5mb3JtU3RhdGU/LnNob3dWYWxpZGF0aW9uRXJyb3IpXCIgW25nU3R5bGVdPVwieydjb2xvcic6IGdldENvbG9yRm9yVGhlVGFiQ2hhbmdlZCh0YWIpfVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwie3snTUFOREFUT1JZX0ZJRUxEU19UT09MVElQJyB8IHRyYW5zbGF0ZX19XCIgKm5nSWY9XCIhaXNWYWxpZChmaWVsZC5maWVsZEdyb3VwID8gZmllbGQuZmllbGRHcm91cFtpXSA6IHt9KSAmJiBvcHRpb25zLmZvcm1TdGF0ZT8uc2hvd1ZhbGlkYXRpb25FcnJvclwiIGNsYXNzPVwiZXJyb3Itc3RlcFwiPmVycm9yPC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIG92ZXJmbG93LXktYXV0byBvdmVyZmxvdy14LWhpZGRlbiBmb3JtLWNvbnRlbnRcIj5cbiAgICAgICAgPGZvcm1seS1maWVsZCBbZmllbGRdPVwidGFiXCI+PC9mb3JtbHktZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZih0YWI/LnByb3BzPy5bJ3Nob3dOZXh0UHJldmlvdXMnXSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgYm90dG9tLTIgZmxleCBqdXN0aWZ5LWVuZCBtci0yXCI+XG4gICAgICAgICAgQGlmKGk9PT0wICYmIGZpZWxkLnByb3BzWydzaG93QnRuRm9yUHJldmlvdXNGb3JtJ10pIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1ByZXZpb3VzRm9ybSh0YWJHcm91cClcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggbXItMiBtbC0yIG10LTVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnQlVUVE9OLlBSRVZJT1VTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoaSAhPT0gMCkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0ZpcnN0VGFiKHRhYkdyb3VwKVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJwcmV2aW91c1RhYih0YWJHcm91cClcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IG1yLTIgbWwtMiBtdC01XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQlVUVE9OLlBSRVZJT1VTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH0gQGlmICghbGFzdCkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1ZhbGlkKHRhYikgJiYgc2hvd1N1Ym1pdEJ0blwiXG4gICAgICAgICAgICAoY2xpY2spPVwibmV4dFRhYih0YWJHcm91cClcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IG10LTVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgICB7eyAnQlVUVE9OLk5FWFQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZihsYXN0ICYmIHNob3dTdWJtaXRCdG4pIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggbXQtNSBzdWJtaXQtYnRuXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgZmllbGQucHJvcHNbJ1NVQk1JVF9CVE5fTkFNRSddIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgfVxuICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5lcnJvci1zdGVwIHtcbiAgICAgIGNvbG9yOiAjZDMyZjJmICFpbXBvcnRhbnQ7XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZFRhYnNDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHN1Ym1pdHRlZERhdGEhOiBhbnlbXTtcblxuICByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgdXNlcjogYW55O1xuICBAVmlld0NoaWxkKCd0YWJHcm91cCcpIHRhYkdyb3VwITogTWF0VGFiR3JvdXA7XG4gIHNob3dTdWJtaXRCdG4gPSBmYWxzZTtcbiAgaGlkZVRhYjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5leHRUYWIodGFiR3JvdXA6IE1hdFRhYkdyb3VwKSB7XG4gICAgaWYgKHRhYkdyb3VwICYmIHRhYkdyb3VwLnNlbGVjdGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGFiR3JvdXAuc2VsZWN0ZWRJbmRleDtcbiAgICAgIGlmIChjdXJyZW50SW5kZXggPCAodGFiR3JvdXAuX3RhYnM/Lmxlbmd0aCB8fCAwKSAtIDEpIHtcbiAgICAgICAgdGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IGN1cnJlbnRJbmRleCArIDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJldmlvdXNUYWIodGFiR3JvdXA6IE1hdFRhYkdyb3VwKSB7XG4gICAgaWYgKHRhYkdyb3VwICYmIHRhYkdyb3VwLnNlbGVjdGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGFiR3JvdXAuc2VsZWN0ZWRJbmRleDtcbiAgICAgIGlmIChjdXJyZW50SW5kZXggPiAwKSB7XG4gICAgICAgIHRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSBjdXJyZW50SW5kZXggLSAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzRmlyc3RUYWIodGFiR3JvdXA6IE1hdFRhYkdyb3VwKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRhYkdyb3VwICYmIHRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPT09IDA7XG4gIH1cblxuICBpc0xhc3RUYWIodGFiR3JvdXA6IE1hdFRhYkdyb3VwKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRhYkdyb3VwICYmIHRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPT09ICh0YWJHcm91cC5fdGFicz8ubGVuZ3RoIHx8IDApIC0gMTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xvZ2dlZEluVXNlcicpIHx8ICd7fScpO1xuICAgIGlmKHRoaXMuZmllbGQucHJvcHM/Llsnc2hvd1N1Ym1pdEJ0bkZvclN0YXR1cyddPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2hvd1N1Ym1pdEJ0biA9IHRoaXMuZmllbGQucHJvcHM/Llsnc2hvd1N1Ym1pdEJ0bkZvclN0YXR1cyddLmZpbmQoKHJvbGU6IGFueSkgPT4gdGhpcy5vcHRpb25zLmZvcm1TdGF0ZT8uc3RhdHVzID09IHJvbGUpICYmICF0aGlzLm9wdGlvbnMuZm9ybVN0YXRlPy5pc1JlYWRvbmx5O1xuICAgIH1cbiAgfVxuXG4gIGlzVmFsaWQoZmllbGQ6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChmaWVsZC5rZXkpIHtcbiAgICAgIGlmKGZpZWxkLnByb3BzPy5leGNsdWRlVmFsaWRhdGlvbikge1xuICAgICAgICBpZihmaWVsZC5wcm9wcz8ubWluUm93VmFsaWRhdGlvbikge1xuICAgICAgICAgIHJldHVybiBmaWVsZC5mb3JtQ29udHJvbC52YWx1ZVtmaWVsZC5wcm9wcz8ubWluUm93VmFsaWRhdGlvbl0ubGVuZ3RoID4gMCA/IHRydWUgOiBmYWxzZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmKGZpZWxkLnByb3BzPy51cGxvYWRWYWxpZGF0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC5wcm9wcz8udXBsb2FkVmFsaWRhdGlvbnMuZXZlcnkoKHVwbEZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgdmFsaWQgPSB0cnVlO1xuICAgICAgICAgIGlmKEFycmF5LmlzQXJyYXkoZmllbGQubW9kZWxbdXBsRmllbGRdKSAmJiBmaWVsZC5tb2RlbFt1cGxGaWVsZF0/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdmFsaWQgPSBmaWVsZC5tb2RlbFt1cGxGaWVsZF0/LmV2ZXJ5KGYgPT4gZi5maWxlTmFtZSA/ICEhZi5ub2RlSWQgOiB0cnVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsaWQgPSBmaWVsZC5tb2RlbFt1cGxGaWVsZF0/LmZpbGVOYW1lID8gISFmaWVsZC5tb2RlbFt1cGxGaWVsZF0/Lm5vZGVJZCA6IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB2YWxpZCA/IGZpZWxkPy5mb3JtQ29udHJvbD8udmFsaWQgOiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmllbGQ/LmZvcm1Db250cm9sPy52YWxpZCB8fCBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYoZmllbGQucHJvcHM/LmV4Y2x1ZGVWYWxpZGF0aW9uKSB7XG4gICAgICAgIGlmKGZpZWxkLnByb3BzPy5taW5Sb3dWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkLmZvcm1Db250cm9sLnZhbHVlW2ZpZWxkLnByb3BzPy5taW5Sb3dWYWxpZGF0aW9uXS5sZW5ndGggPiAwID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGQuZmllbGRHcm91cFxuICAgICAgPyBmaWVsZC5maWVsZEdyb3VwLmV2ZXJ5KChmOiBhbnkpID0+IHRoaXMuaXNWYWxpZChmKSlcbiAgICAgIDogdHJ1ZTtcbiAgfVxuXG4gIG9uVGFiQ2hhbmdlKGV2ZW50OiBNYXRUYWJDaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpZWxkICYmIHRoaXMuZmllbGQucHJvcHM/LlsndGFiQ2hhbmdlJ10pIHtcbiAgICAgIHRoaXMuZmllbGQucHJvcHM/LlsndGFiQ2hhbmdlJ10oZXZlbnQsIHRoaXMuZmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIGdvVG9QcmV2aW91c0Zvcm0odGFiR3JvdXA6IE1hdFRhYkdyb3VwKSB7XG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5wcm9wcz8uWydmb3JtQ2hhbmdlJ10pIHtcbiAgICAgIHRoaXMuZmllbGQucHJvcHM/LlsnZm9ybUNoYW5nZSddKHRhYkdyb3VwLCB0aGlzLmZpZWxkKTtcbiAgICB9XG4gIH1cblxuICBnZXRUYWJIZWlnaHRDbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmZpZWxkLnByb3BzPy5bJ2FwcGx5T2xkSGVpZ2h0J10pIHtcbiAgICAgIHJldHVybiAnMnhsOmgtWzYxdmhdIHhsOmgtWzYwdmhdIG1kOmgtWzU2dmhdJztcbiAgICB9XG4gICAgcmV0dXJuICcyeGw6aC1hdXRvIHhsOmgtYXV0byBtZDpoLWF1dG8nO1xuICB9XG5cbiAgZ2V0Q29sb3JGb3JUaGVUYWJDaGFuZ2VkKHRhYjogYW55KSB7XG4gICAgbGV0IHRhYkVkaXRlZENvbG9yID0gJyMwMDAwMDAnO1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKHRhYikgJiYgdGhpcy5vcHRpb25zLmZvcm1TdGF0ZT8uc2hvd1ZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGFiRWRpdGVkQ29sb3IgPSAnI2ZmMDAwMCc7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZT8uZWRpdGVkVGFic1N0YXR1cyAmJiB0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZT8uZWRpdGVkVGFic1N0YXR1c1t0YWI/LmtleV0pIHtcbiAgICAgIHRhYkVkaXRlZENvbG9yID0gJyNmZjAwMDAnXG4gICAgfVxuICAgIHJldHVybiB0YWJFZGl0ZWRDb2xvcjtcbiAgfVxuXG4gIGlzVGFiRGF0YUNoYW5nZWQoc3RlcDogYW55KTogYm9vbGVhbiB7XG4gICAgbGV0IGlzVGFiQ2hhbmdlZCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZT8uZWRpdGVkVGFic1N0YXR1cyAmJiB0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZT8uZWRpdGVkVGFic1N0YXR1c1tzdGVwPy5rZXldKSB7XG4gICAgICBpc1RhYkNoYW5nZWQgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gaXNUYWJDaGFuZ2VkO1xuICB9XG59XG4iXX0=
|
|
@@ -328,4 +328,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
328
328
|
}] }, { type: i2.FormlyFormBuilder }, { type: i3.TranslateService }, { type: i1.MatDialog }, { type: i0.ElementRef }, { type: i4.BreakpointObserver }], propDecorators: { saveData: [{
|
|
329
329
|
type: Output
|
|
330
330
|
}] } });
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFidWxhci1mb3JtLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWxpYi9zcmMvbGliL3R5cGVzL3RhYnVsYXItZm9ybS1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQWEsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBcUIsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUs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LENBQUMsQ0FBQyxTQUF1QyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUMxVSxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDOytHQXhTVSwwQkFBMEIsOENBZ0IzQixlQUFlO21HQWhCZCwwQkFBMEIscUhBeEIzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVCwyREF6QlMsWUFBWSx1TkFBRSxtQkFBbUIsOEJBQUUsa0JBQWtCLDhCQUFFLGNBQWMsOEJBQUUsZUFBZSw4QkFBRSxjQUFjLDhCQUFFLGlCQUFpQiw4QkFDakksZUFBZSx5YkFBRSxZQUFZLDZLQUFFLGVBQWUsMkZBQUUsZUFBZSwyTkFBRSxnQkFBZ0I7OzRGQTBCeEUsMEJBQTBCO2tCQTlCdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGlCQUFpQjt3QkFDakksZUFBZSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGdCQUFnQjtxQkFDbEY7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JUO2lCQUNGOzswQkFpQkksTUFBTTsyQkFBQyxlQUFlOzBMQVRmLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgRm9ybWx5Rm9ybUJ1aWxkZXIsIEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBOZ3hTcGlubmVyTW9kdWxlIH0gZnJvbSAnbmd4LXNwaW5uZXInO1xuaW1wb3J0IHsgZm9ya0pvaW4sIG9mLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2N1c3RvbS1mb3JtLWZpZWxkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXUtYXBwLWFkZC1kYXRhLWRpYWxvZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgTWF0UmFkaW9Nb2R1bGUsIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSwgRm9ybWx5TW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTmd4U3Bpbm5lck1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxoMSBtYXQtZGlhbG9nLXRpdGxlPnt7IGRpYWxvZ0xhYmVsIHwgdHJhbnNsYXRlfX08L2gxPlxuICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWluLWgtbWF4ICFwdC0xICFmbGV4XCI+XG4gICAgICA8Zm9ybWx5LWZvcm1cbiAgICAgICAgW25nU3R5bGVdPVwieyd3aWR0aCc6IChwcm9wc09mRGlhbG9nICYmIHByb3BzT2ZEaWFsb2c/LnZpZXdEb2NTaWRlQnlTaWRlICYmICFpc01vYmlsZURldmljZSkgPyAnNTAlJyA6ICcnfVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgW2ZpZWxkc109XCJmaWVsZHNcIlxuICAgICAgICAgICAgICAgIFttb2RlbF09XCJtb2RlbFwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L2Zvcm1seS1mb3JtPlxuICAgICAgICA8aWZyYW1lIGlkPVwiZGlhbG9nSWZyYW1lXCIgKm5nSWY9XCJwcm9wc09mRGlhbG9nICYmIHByb3BzT2ZEaWFsb2c/LnZpZXdEb2NTaWRlQnlTaWRlICYmICFpc01vYmlsZURldmljZVwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAocHJvcHNPZkRpYWxvZyAmJiBwcm9wc09mRGlhbG9nPy52aWV3RG9jU2lkZUJ5U2lkZSAmJiAhaXNNb2JpbGVEZXZpY2UpID8gJzUwJScgOiAnJ31cIiBmcmFtZWJvcmRlcj1cIjBcIj48L2lmcmFtZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib25DYW5jZWwoKVwiPnt7J1RBQlVMQVJfRk9STV9ESUFMT0cuQ0FOQ0VMJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCIhc2VsZWN0ZWRSb3dEYXRhICYmICFwcm9wc09mRGlhbG9nLmhpZGVTYXZlQW5kQWRkTmV3XCIgKGNsaWNrKT1cIm9uU2F2ZUFkZE5ldygpXCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCAhaXNGaWxlc1VwbG9hZGVkKClcIj57eydUQUJVTEFSX0ZPUk1fRElBTE9HLlNBVkVfQU5EX05FVycgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwiIXNlbGVjdGVkUm93RGF0YVwiIChjbGljayk9XCJvblNhdmUoKVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgIWlzRmlsZXNVcGxvYWRlZCgpXCI+e3snVEFCVUxBUl9GT1JNX0RJQUxPRy5BREQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cInNlbGVjdGVkUm93RGF0YSAmJiAhZGF0YS5oaWRlVXBkYXRlQnRuXCIgKGNsaWNrKT1cIm9uU2F2ZSgpXCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCAhaXNGaWxlc1VwbG9hZGVkKClcIj57eydUQUJVTEFSX0ZPUk1fRElBTE9HLkVESVQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmd4LXNwaW5uZXIgbmFtZT1cInRhYnVsYXItZGlhbG9nXCIgYmRDb2xvcj1cInJnYmEoMCwgMCwgMCwgMC4yKVwiIHNpemU9XCJtZWRpdW1cIiBjb2xvcj1cIiNmZmZcIiB0ZW1wbGF0ZT1cIjxpbWcgc3JjPSdhc3NldHMvaW1hZ2VzL2x1cGluLWljb25naWYuZ2lmJyBzdHlsZT0naGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7Jy8+XCJcbiAgICAgIFtmdWxsU2NyZWVuXT1cInRydWVcIj5cbiAgICA8L25neC1zcGlubmVyPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIFRhYnVsYXJGb3JtRGlhbG9nQ29tcG9uZW50IHtcbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBmaWVsZENvbmZpZzogYW55W107XG4gIGZpZWxkcyE6IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnW107XG4gIG1vZGVsOiBhbnk7XG4gIG9wdGlvbnM6IGFueTtcbiAgZGlhbG9nTGFiZWw9ICcnO1xuICBAT3V0cHV0KCkgc2F2ZURhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgc2VsZWN0ZWRSb3dEYXRhOmFueTtcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJvcHNPZkRpYWxvZzogYW55O1xuICBwYXJlbnRNb2RlbDogYW55O1xuICBpc01vYmlsZURldmljZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUYWJ1bGFyRm9ybURpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXG4gICAgcHJpdmF0ZSBmb3JtbHlCdWlsZGVyOiBGb3JtbHlGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICkge1xuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyPy5vYnNlcnZlKFtCcmVha3BvaW50cy5IYW5kc2V0XSkucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMuaXNNb2JpbGVEZXZpY2UgPSByZXN1bHQ/Lm1hdGNoZXM7XG4gICAgfSk7XG4gICAgdGhpcy5maWVsZENvbmZpZyA9IGRhdGEuZmllbGRDb25maWc7XG4gICAgdGhpcy5zZWxlY3RlZFJvd0RhdGEgPSBkYXRhLnNlbGVjdGVkUm93RGF0YTtcbiAgICBpZiAoZGF0YT8uc2VsZWN0ZWRSb3dEYXRhKSB7XG4gICAgICB0aGlzLm1vZGVsID0gZGF0YT8uc2VsZWN0ZWRSb3dEYXRhO1xuICAgIH1cbiAgICB0aGlzLnByb3BzT2ZEaWFsb2cgPSBkYXRhLnRhYnVsYXJQcm9wcztcbiAgICB0aGlzLmRpYWxvZ0xhYmVsID0gZGF0YS5sYWJlbDtcbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMudHJhbnNsYXRlRm9ybUNvbmZpZyhkYXRhLmZpZWxkQ29uZmlnKTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICBmb3JtU3RhdGU6IGRhdGE/LmZvcm1TdGF0ZVxuICAgIH1cbiAgICB0aGlzLnBhcmVudE1vZGVsID0gZGF0YT8ucGFyZW50TW9kZWw7XG5cbiAgICB0aGlzLmZvcm1seUJ1aWxkZXIuYnVpbGRGb3JtKHRoaXMuZm9ybSwgdGhpcy5maWVsZHMsIHRoaXMubW9kZWwsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy51cGRhdGVEZXBlbmRlbnRGaWVsZHNGdWxsTmFtZSh0aGlzLmZpZWxkcyk7XG4gIH1cblxuXG4gIHByaXZhdGUgcmVzZXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICB9XG5cbiAgb25TYXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIGlmICh0aGlzLmZpZWxkc1swXT8uY29uZmlybWF0aW9uRGlhbG9nUHJvcHM/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBjb25maXJtYXRpb25EaWFsb2dzID0gdGhpcy5maWVsZHNbMF0uY29uZmlybWF0aW9uRGlhbG9nUHJvcHNcbiAgICAgICAgICAuZmlsdGVyKChjb25maXJtYXRpb25EaWFsb2dQcm9wOiBhbnkpID0+IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmVuYWJsZUNvbmZpcm1hdGlvbilcbiAgICAgICAgICAubWFwKChjb25maXJtYXRpb25EaWFsb2dQcm9wOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgIWNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmVuYWJsZUNvbmZpcm1hdGlvbkRpYWxvZ0ZvclJvbGVzPy5sZW5ndGggfHxcbiAgICAgICAgICAgICAgY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uZW5hYmxlQ29uZmlybWF0aW9uRGlhbG9nRm9yUm9sZXM/LnNvbWUoKHJvbGU6IHN0cmluZykgPT4gdGhpcy5vcHRpb25zPy5mb3JtU3RhdGU/LnVzZXJSb2xlcz8uaW5jbHVkZXMocm9sZSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgaWYoY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uc2hvd0ZvckNoYW5nZVJlcXVlc3RPbmx5KSB7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5vcHRpb25zLmZvcm1TdGF0ZS5zaG93T2xkVmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLm1hdERpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDpjb25maXJtYXRpb25EaWFsb2dQcm9wPy5bJ21pbldpZHRoJ10gPz8gJzQwJScsXG4gICAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5bJ21heFdpZHRoJ10gPz8gJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LlsnbWluSGVpZ2h0J10gPz8gJzMwJScsXG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uWydtYXhIZWlnaHQnXSA/PyAnNDAlJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChjb25maXJtYXRpb25EaWFsb2dQcm9wPy5kYXRhPy50aXRsZSksXG4gICAgICAgICAgICAgICAgICAgICAgc2hvd09rOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2UoMSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLm1hdERpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/Llsnd2lkdGgnXSA/PyAnMzAlJyxcbiAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uWydtaW5IZWlnaHQnXSA/PyAnMzAlJyxcbiAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uWydtYXhIZWlnaHQnXSA/PyAnNDAlJyxcbiAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmRhdGE/LnRpdGxlKSxcbiAgICAgICAgICAgICAgICAgICAgc2hvd09rOiB0cnVlXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlKDEpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChjb25maXJtYXRpb25EaWFsb2dzLmxlbmd0aCkge1xuICAgICAgICAgIGZvcmtKb2luKGNvbmZpcm1hdGlvbkRpYWxvZ3MpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLm1vZGVsLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICAgICAgICAuLi50aGlzLm1vZGVsLFxuICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICAgICAgLi4udGhpcy5tb2RlbCxcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBvblNhdmVBZGROZXcoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgY29uc3QgZGF0YVRvU2F2ZSA9IHtcbiAgICAgICAgLi4udGhpcy5tb2RlbCxcbiAgICAgICAgLi4udGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5maWVsZHNbMF0/LmNvbmZpcm1hdGlvbkRpYWxvZ1Byb3BzPy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgY29uZmlybWF0aW9uRGlhbG9ncyA9IHRoaXMuZmllbGRzWzBdLmNvbmZpcm1hdGlvbkRpYWxvZ1Byb3BzXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIChjb25maXJtYXRpb25EaWFsb2dQcm9wOiBhbnkpID0+XG4gICAgICAgICAgICAgIGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmVuYWJsZUNvbmZpcm1hdGlvblxuICAgICAgICAgIClcbiAgICAgICAgICAubWFwKChjb25maXJtYXRpb25EaWFsb2dQcm9wOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgIWNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmVuYWJsZUNvbmZpcm1hdGlvbkRpYWxvZ0ZvclJvbGVzXG4gICAgICAgICAgICAgICAgPy5sZW5ndGggfHxcbiAgICAgICAgICAgICAgY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uZW5hYmxlQ29uZmlybWF0aW9uRGlhbG9nRm9yUm9sZXM/LnNvbWUoXG4gICAgICAgICAgICAgICAgKHJvbGU6IHN0cmluZykgPT5cbiAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy51c2VyUm9sZXM/LmluY2x1ZGVzKHJvbGUpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBpZiAoY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uc2hvd0ZvckNoYW5nZVJlcXVlc3RPbmx5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5mb3JtU3RhdGUuc2hvd09sZFZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5tYXREaWFsb2cub3BlbihcbiAgICAgICAgICAgICAgICAgICAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/Llsnd2lkdGgnXSA/PyAnMzAlJyxcbiAgICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LlsnbWluSGVpZ2h0J10gPz8gJzMwJScsXG4gICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5bJ21heEhlaWdodCddID8/ICc0MCUnLFxuICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uZGF0YT8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93T2s6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2UoMSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLm1hdERpYWxvZy5vcGVuKFxuICAgICAgICAgICAgICAgICAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uWyd3aWR0aCddID8/ICczMCUnLFxuICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LlsnbWluSGVpZ2h0J10gPz8gJzMwJScsXG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uWydtYXhIZWlnaHQnXSA/PyAnNDAlJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmRhdGE/LnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICBzaG93T2s6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZSgxKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAoY29uZmlybWF0aW9uRGlhbG9ncy5sZW5ndGgpIHtcbiAgICAgICAgICBmb3JrSm9pbihjb25maXJtYXRpb25EaWFsb2dzKVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wc09mRGlhbG9nPy5bJ2lzU2VxdWVudGlhbE51bUdlbmVyYXRpb25SZXF1aXJlZCddKSB7XG4gICAgICAgICAgICAgICAgZGF0YVRvU2F2ZS5zZXF1ZW50aWFsTnVtYmVySWQgPSBgMDAwJHt0aGlzLmdlbmVyYXRlU2VxdWVudGlhbElkTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRNb2RlbFxuICAgICAgICAgICAgICAgICl9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLnNhdmVEYXRhLmVtaXQoZGF0YVRvU2F2ZSk7XG4gICAgICAgICAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5wcm9wc09mRGlhbG9nPy5bJ2lzU2VxdWVudGlhbE51bUdlbmVyYXRpb25SZXF1aXJlZCddKSB7XG4gICAgICAgICAgICBkYXRhVG9TYXZlLnNlcXVlbnRpYWxOdW1iZXJJZCA9IGAwMDAke3RoaXMuZ2VuZXJhdGVTZXF1ZW50aWFsSWROdW1iZXIoXG4gICAgICAgICAgICAgIHRoaXMucGFyZW50TW9kZWxcbiAgICAgICAgICAgICl9YDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5zYXZlRGF0YS5lbWl0KGRhdGFUb1NhdmUpO1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzT2ZEaWFsb2c/LlsnaXNTZXF1ZW50aWFsTnVtR2VuZXJhdGlvblJlcXVpcmVkJ10pIHtcbiAgICAgICAgICBkYXRhVG9TYXZlLnNlcXVlbnRpYWxOdW1iZXJJZCA9IGAwMDAke3RoaXMuZ2VuZXJhdGVTZXF1ZW50aWFsSWROdW1iZXIoXG4gICAgICAgICAgICB0aGlzLnBhcmVudE1vZGVsXG4gICAgICAgICAgKX1gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2F2ZURhdGEuZW1pdChkYXRhVG9TYXZlKTtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2xhdGVGb3JtQ29uZmlnKFxuICAgIGNvbmZpZzogQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXVxuICApOiBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICByZXR1cm4gY29uZmlnLm1hcCgoZmllbGQpID0+IHtcbiAgICAgIGlmIChmaWVsZC5wcm9wcz8ubGFiZWwpIHtcbiAgICAgICAgZmllbGQuZXhwcmVzc2lvbnMgPSB7XG4gICAgICAgICAgLi4uZmllbGQuZXhwcmVzc2lvbnMsXG4gICAgICAgICAgJ3Byb3BzLmxhYmVsJzogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShmaWVsZC5wcm9wcy5sYWJlbCB8fCAnJyksXG4gICAgICAgICAgJ3Byb3BzLnRvb2x0aXAnOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKFxuICAgICAgICAgICAgZmllbGQucHJvcHMubGFiZWwgfHwgJydcbiAgICAgICAgICApLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgaWYgKGZpZWxkLnByb3BzPy5wbGFjZWhvbGRlcikge1xuICAgICAgICBmaWVsZC5leHByZXNzaW9ucyA9IHtcbiAgICAgICAgICAuLi5maWVsZC5leHByZXNzaW9ucyxcbiAgICAgICAgICAncHJvcHMucGxhY2Vob2xkZXInOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKFxuICAgICAgICAgICAgZmllbGQucHJvcHMucGxhY2Vob2xkZXIgfHwgJydcbiAgICAgICAgICApLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgaWYgKGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVGb3JtQ29uZmlnKGZpZWxkLmZpZWxkR3JvdXApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpZWxkO1xuICAgIH0pO1xuICB9XG5cbiAgb25Nb2RlbENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5tb2RlbCA9IGV2ZW50O1xuICAgIHRoaXMuc3Vic2NyaWJlVG9EZXBlbmRlbmNpZXModGhpcy5maWVsZHMsIHRoaXMuZm9ybSwgdGhpcy5tb2RlbCk7XG4gIH1cblxuICBzdWJzY3JpYmVUb0RlcGVuZGVuY2llcyhmaWVsZHM6IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnW10sIGZvcm06IEZvcm1Hcm91cCwgdmVuZG9yTW9kZWw6IGFueSkge1xuICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZDogYW55KSA9PiB7XG4gICAgICBpZiAoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvRGVwZW5kZW5jaWVzKGZpZWxkLmZpZWxkR3JvdXAsIGZvcm0sIHZlbmRvck1vZGVsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZURlcGVuZGVudEZpZWxkc0Z1bGxOYW1lKGZpZWxkczogYW55KSB7XG4gICAgZmllbGRzLmZvckVhY2goKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgIGlmKGZpZWxkLmZvcm1Db250cm9sICYmIGZpZWxkLnVwZGF0ZVRhYnVsYXJGaWVsZCkge1xuICAgICAgICBmaWVsZC5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVMYWJlbFZhbHVlRm9yRmllbGQoZmllbGQsIHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICB0aGlzLnVwZGF0ZURlcGVuZGVudEZpZWxkc0Z1bGxOYW1lKGZpZWxkLmZpZWxkR3JvdXApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlTGFiZWxWYWx1ZUZvckZpZWxkKGZpZWxkOiBhbnksIHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBvcHRpb25zJCA9IGZpZWxkLnByb3BzPy5vcHRpb25zO1xuICAgIGlmIChvcHRpb25zJCAmJiB0eXBlb2Ygb3B0aW9ucyQuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvcHRpb25zJC5zdWJzY3JpYmUoKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVGaWVsZEtleSA9IGZpZWxkLnVwZGF0ZVRhYnVsYXJGaWVsZDtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zLmZpbmQoKG9wdGlvbjogYW55KSA9PiBvcHRpb24udmFsdWUgPT09IHZhbHVlKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgdGhpcy5tb2RlbFt1cGRhdGVGaWVsZEtleV0gPSBzZWxlY3RlZE9wdGlvbi5sYWJlbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaXNGaWxlc1VwbG9hZGVkKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2VuZXJhdGVTZXF1ZW50aWFsSWROdW1iZXIocGFyZW50TW9kZWw6IGFueSkge1xuICAgIGlmIChwYXJlbnRNb2RlbD8uW3RoaXMucHJvcHNPZkRpYWxvZz8uWydwYXJlbmV0TW9kZWxLZXlUb0dlbmVyYXRlU2VxdWVudGlhbE51bWJlciddXT8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBsYXRlc3RSZWNvcmRJZE51bWJlciA9IHBhcmVudE1vZGVsPy5bdGhpcy5wcm9wc09mRGlhbG9nPy5bJ3BhcmVuZXRNb2RlbEtleVRvR2VuZXJhdGVTZXF1ZW50aWFsTnVtYmVyJ11dPy5zb3J0KChhOiB7IHNlcXVlbnRpYWxOdW1iZXJJZDogbnVtYmVyOyB9LCBiOiB7IHNlcXVlbnRpYWxOdW1iZXJJZDogbnVtYmVyOyB9KSA9PiArKGI/LnNlcXVlbnRpYWxOdW1iZXJJZCkgLSArKGE/LnNlcXVlbnRpYWxOdW1iZXJJZCkpPy5maW5kKChwYXJlbkRhdGE6IHsgc2VxdWVudGlhbE51bWJlcklkOiBhbnk7IH0pID0+ICsocGFyZW5EYXRhPy5zZXF1ZW50aWFsTnVtYmVySWQpKTtcbiAgICAgIHJldHVybiArKGxhdGVzdFJlY29yZElkTnVtYmVyPy5zZXF1ZW50aWFsTnVtYmVySWQpICsgMTtcbiAgICB9XG4gICAgcmV0dXJuIDE7XG4gIH1cbn0iXX0=
|
|
331
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFidWxhci1mb3JtLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zvcm0vc3JjL2xpYi90eXBlcy90YWJ1bGFyLWZvcm0tZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFhLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQXFCLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFB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QUMsU0FBdUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDMVUsT0FBTyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzsrR0F4U1UsMEJBQTBCLDhDQWdCM0IsZUFBZTttR0FoQmQsMEJBQTBCLHFIQXhCM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQsMkRBekJTLFlBQVksdU5BQUUsbUJBQW1CLDhCQUFFLGtCQUFrQiw4QkFBRSxjQUFjLDhCQUFFLGVBQWUsOEJBQUUsY0FBYyw4QkFBRSxpQkFBaUIsOEJBQ2pJLGVBQWUseWJBQUUsWUFBWSw2S0FBRSxlQUFlLDJGQUFFLGVBQWUsMk5BQUUsZ0JBQWdCOzs0RkEwQnhFLDBCQUEwQjtrQkE5QnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxpQkFBaUI7d0JBQ2pJLGVBQWUsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0I7cUJBQ2xGO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDtpQkFDRjs7MEJBaUJJLE1BQU07MkJBQUMsZUFBZTswTEFUZixRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIEluamVjdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEZvcm1seUZvcm1CdWlsZGVyLCBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmd4U3Bpbm5lck1vZHVsZSB9IGZyb20gJ25neC1zcGlubmVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBvZiwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4uL21vZGVscy9jdXN0b20tZm9ybS1maWVsZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ211LWFwcC1hZGQtZGF0YS1kaWFsb2cnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBNYXRTZWxlY3RNb2R1bGUsIE1hdFJhZGlvTW9kdWxlLCBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsIEZvcm1seU1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE5neFNwaW5uZXJNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aDEgbWF0LWRpYWxvZy10aXRsZT57eyBkaWFsb2dMYWJlbCB8IHRyYW5zbGF0ZX19PC9oMT5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1pbi1oLW1heCAhcHQtMSAhZmxleFwiPlxuICAgICAgPGZvcm1seS1mb3JtXG4gICAgICAgIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAocHJvcHNPZkRpYWxvZyAmJiBwcm9wc09mRGlhbG9nPy52aWV3RG9jU2lkZUJ5U2lkZSAmJiAhaXNNb2JpbGVEZXZpY2UpID8gJzUwJScgOiAnJ31cIlxuICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgICAgICAgICAgICAgICBbbW9kZWxdPVwibW9kZWxcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9mb3JtbHktZm9ybT5cbiAgICAgICAgPGlmcmFtZSBpZD1cImRpYWxvZ0lmcmFtZVwiICpuZ0lmPVwicHJvcHNPZkRpYWxvZyAmJiBwcm9wc09mRGlhbG9nPy52aWV3RG9jU2lkZUJ5U2lkZSAmJiAhaXNNb2JpbGVEZXZpY2VcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogKHByb3BzT2ZEaWFsb2cgJiYgcHJvcHNPZkRpYWxvZz8udmlld0RvY1NpZGVCeVNpZGUgJiYgIWlzTW9iaWxlRGV2aWNlKSA/ICc1MCUnIDogJyd9XCIgZnJhbWVib3JkZXI9XCIwXCI+PC9pZnJhbWU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj57eydUQUJVTEFSX0ZPUk1fRElBTE9HLkNBTkNFTCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwiIXNlbGVjdGVkUm93RGF0YSAmJiAhcHJvcHNPZkRpYWxvZy5oaWRlU2F2ZUFuZEFkZE5ld1wiIChjbGljayk9XCJvblNhdmVBZGROZXcoKVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgIWlzRmlsZXNVcGxvYWRlZCgpXCI+e3snVEFCVUxBUl9GT1JNX0RJQUxPRy5TQVZFX0FORF9ORVcnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cIiFzZWxlY3RlZFJvd0RhdGFcIiAoY2xpY2spPVwib25TYXZlKClcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8ICFpc0ZpbGVzVXBsb2FkZWQoKVwiPnt7J1RBQlVMQVJfRk9STV9ESUFMT0cuQUREJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJzZWxlY3RlZFJvd0RhdGEgJiYgIWRhdGEuaGlkZVVwZGF0ZUJ0blwiIChjbGljayk9XCJvblNhdmUoKVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgIWlzRmlsZXNVcGxvYWRlZCgpXCI+e3snVEFCVUxBUl9GT1JNX0RJQUxPRy5FRElUJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG5neC1zcGlubmVyIG5hbWU9XCJ0YWJ1bGFyLWRpYWxvZ1wiIGJkQ29sb3I9XCJyZ2JhKDAsIDAsIDAsIDAuMilcIiBzaXplPVwibWVkaXVtXCIgY29sb3I9XCIjZmZmXCIgdGVtcGxhdGU9XCI8aW1nIHNyYz0nYXNzZXRzL2ltYWdlcy9sdXBpbi1pY29uZ2lmLmdpZicgc3R5bGU9J2hlaWdodDogNzBweCAhaW1wb3J0YW50OycvPlwiXG4gICAgICBbZnVsbFNjcmVlbl09XCJ0cnVlXCI+XG4gICAgPC9uZ3gtc3Bpbm5lcj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBUYWJ1bGFyRm9ybURpYWxvZ0NvbXBvbmVudCB7XG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgZmllbGRDb25maWc6IGFueVtdO1xuICBmaWVsZHMhOiBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZ1tdO1xuICBtb2RlbDogYW55O1xuICBvcHRpb25zOiBhbnk7XG4gIGRpYWxvZ0xhYmVsPSAnJztcbiAgQE91dHB1dCgpIHNhdmVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHNlbGVjdGVkUm93RGF0YTphbnk7XG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByb3BzT2ZEaWFsb2c6IGFueTtcbiAgcGFyZW50TW9kZWw6IGFueTtcbiAgaXNNb2JpbGVEZXZpY2UgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGFidWxhckZvcm1EaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIHByaXZhdGUgZm9ybWx5QnVpbGRlcjogRm9ybWx5Rm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICApIHtcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlcj8ub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldF0pLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlRGV2aWNlID0gcmVzdWx0Py5tYXRjaGVzO1xuICAgIH0pO1xuICAgIHRoaXMuZmllbGRDb25maWcgPSBkYXRhLmZpZWxkQ29uZmlnO1xuICAgIHRoaXMuc2VsZWN0ZWRSb3dEYXRhID0gZGF0YS5zZWxlY3RlZFJvd0RhdGE7XG4gICAgaWYgKGRhdGE/LnNlbGVjdGVkUm93RGF0YSkge1xuICAgICAgdGhpcy5tb2RlbCA9IGRhdGE/LnNlbGVjdGVkUm93RGF0YTtcbiAgICB9XG4gICAgdGhpcy5wcm9wc09mRGlhbG9nID0gZGF0YS50YWJ1bGFyUHJvcHM7XG4gICAgdGhpcy5kaWFsb2dMYWJlbCA9IGRhdGEubGFiZWw7XG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLnRyYW5zbGF0ZUZvcm1Db25maWcoZGF0YS5maWVsZENvbmZpZyk7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgZm9ybVN0YXRlOiBkYXRhPy5mb3JtU3RhdGVcbiAgICB9XG4gICAgdGhpcy5wYXJlbnRNb2RlbCA9IGRhdGE/LnBhcmVudE1vZGVsO1xuXG4gICAgdGhpcy5mb3JtbHlCdWlsZGVyLmJ1aWxkRm9ybSh0aGlzLmZvcm0sIHRoaXMuZmllbGRzLCB0aGlzLm1vZGVsLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMudXBkYXRlRGVwZW5kZW50RmllbGRzRnVsbE5hbWUodGhpcy5maWVsZHMpO1xuICB9XG5cblxuICBwcml2YXRlIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgfVxuXG4gIG9uU2F2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICBpZiAodGhpcy5maWVsZHNbMF0/LmNvbmZpcm1hdGlvbkRpYWxvZ1Byb3BzPy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgY29uZmlybWF0aW9uRGlhbG9ncyA9IHRoaXMuZmllbGRzWzBdLmNvbmZpcm1hdGlvbkRpYWxvZ1Byb3BzXG4gICAgICAgICAgLmZpbHRlcigoY29uZmlybWF0aW9uRGlhbG9nUHJvcDogYW55KSA9PiBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5lbmFibGVDb25maXJtYXRpb24pXG4gICAgICAgICAgLm1hcCgoY29uZmlybWF0aW9uRGlhbG9nUHJvcDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICFjb25maXJtYXRpb25EaWFsb2dQcm9wPy5lbmFibGVDb25maXJtYXRpb25EaWFsb2dGb3JSb2xlcz8ubGVuZ3RoIHx8XG4gICAgICAgICAgICAgIGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmVuYWJsZUNvbmZpcm1hdGlvbkRpYWxvZ0ZvclJvbGVzPy5zb21lKChyb2xlOiBzdHJpbmcpID0+IHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy51c2VyUm9sZXM/LmluY2x1ZGVzKHJvbGUpKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGlmKGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LnNob3dGb3JDaGFuZ2VSZXF1ZXN0T25seSkge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMub3B0aW9ucy5mb3JtU3RhdGUuc2hvd09sZFZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5tYXREaWFsb2cub3BlbihDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6Y29uZmlybWF0aW9uRGlhbG9nUHJvcD8uWydtaW5XaWR0aCddID8/ICc0MCUnLFxuICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aDogY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uWydtYXhXaWR0aCddID8/ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5bJ21pbkhlaWdodCddID8/ICczMCUnLFxuICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LlsnbWF4SGVpZ2h0J10gPz8gJzQwJScsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uZGF0YT8udGl0bGUpLFxuICAgICAgICAgICAgICAgICAgICAgIHNob3dPazogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcbiAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlKDEpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5tYXREaWFsb2cub3BlbihDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5bJ3dpZHRoJ10gPz8gJzMwJScsXG4gICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LlsnbWluSGVpZ2h0J10gPz8gJzMwJScsXG4gICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LlsnbWF4SGVpZ2h0J10gPz8gJzQwJScsXG4gICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChjb25maXJtYXRpb25EaWFsb2dQcm9wPy5kYXRhPy50aXRsZSksXG4gICAgICAgICAgICAgICAgICAgIHNob3dPazogdHJ1ZVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZSgxKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAoY29uZmlybWF0aW9uRGlhbG9ncy5sZW5ndGgpIHtcbiAgICAgICAgICBmb3JrSm9pbihjb25maXJtYXRpb25EaWFsb2dzKVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5tb2RlbCxcbiAgICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgICAgICAgLi4udGhpcy5tb2RlbCxcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgICAgIC4uLnRoaXMubW9kZWwsXG4gICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgb25TYXZlQWRkTmV3KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIGNvbnN0IGRhdGFUb1NhdmUgPSB7XG4gICAgICAgIC4uLnRoaXMubW9kZWwsXG4gICAgICAgIC4uLnRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpLFxuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMuZmllbGRzWzBdPy5jb25maXJtYXRpb25EaWFsb2dQcm9wcz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1hdGlvbkRpYWxvZ3MgPSB0aGlzLmZpZWxkc1swXS5jb25maXJtYXRpb25EaWFsb2dQcm9wc1xuICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAoY29uZmlybWF0aW9uRGlhbG9nUHJvcDogYW55KSA9PlxuICAgICAgICAgICAgICBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5lbmFibGVDb25maXJtYXRpb25cbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcCgoY29uZmlybWF0aW9uRGlhbG9nUHJvcDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICFjb25maXJtYXRpb25EaWFsb2dQcm9wPy5lbmFibGVDb25maXJtYXRpb25EaWFsb2dGb3JSb2xlc1xuICAgICAgICAgICAgICAgID8ubGVuZ3RoIHx8XG4gICAgICAgICAgICAgIGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmVuYWJsZUNvbmZpcm1hdGlvbkRpYWxvZ0ZvclJvbGVzPy5zb21lKFxuICAgICAgICAgICAgICAgIChyb2xlOiBzdHJpbmcpID0+XG4gICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZT8udXNlclJvbGVzPy5pbmNsdWRlcyhyb2xlKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgaWYgKGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LnNob3dGb3JDaGFuZ2VSZXF1ZXN0T25seSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZm9ybVN0YXRlLnNob3dPbGRWYWx1ZXMpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4oXG4gICAgICAgICAgICAgICAgICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5bJ3dpZHRoJ10gPz8gJzMwJScsXG4gICAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5bJ21pbkhlaWdodCddID8/ICczMCUnLFxuICAgICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogY29uZmlybWF0aW9uRGlhbG9nUHJvcD8uWydtYXhIZWlnaHQnXSA/PyAnNDAlJyxcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LmRhdGE/LnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd09rOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlKDEpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5tYXREaWFsb2cub3BlbihcbiAgICAgICAgICAgICAgICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/Llsnd2lkdGgnXSA/PyAnMzAlJyxcbiAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5bJ21pbkhlaWdodCddID8/ICczMCUnLFxuICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGNvbmZpcm1hdGlvbkRpYWxvZ1Byb3A/LlsnbWF4SGVpZ2h0J10gPz8gJzQwJScsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maXJtYXRpb25EaWFsb2dQcm9wPy5kYXRhPy50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgc2hvd09rOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2UoMSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGNvbmZpcm1hdGlvbkRpYWxvZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgZm9ya0pvaW4oY29uZmlybWF0aW9uRGlhbG9ncylcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHNPZkRpYWxvZz8uWydpc1NlcXVlbnRpYWxOdW1HZW5lcmF0aW9uUmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgICAgIGRhdGFUb1NhdmUuc2VxdWVudGlhbE51bWJlcklkID0gYDAwMCR7dGhpcy5nZW5lcmF0ZVNlcXVlbnRpYWxJZE51bWJlcihcbiAgICAgICAgICAgICAgICAgIHRoaXMucGFyZW50TW9kZWxcbiAgICAgICAgICAgICAgICApfWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5zYXZlRGF0YS5lbWl0KGRhdGFUb1NhdmUpO1xuICAgICAgICAgICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHNPZkRpYWxvZz8uWydpc1NlcXVlbnRpYWxOdW1HZW5lcmF0aW9uUmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgZGF0YVRvU2F2ZS5zZXF1ZW50aWFsTnVtYmVySWQgPSBgMDAwJHt0aGlzLmdlbmVyYXRlU2VxdWVudGlhbElkTnVtYmVyKFxuICAgICAgICAgICAgICB0aGlzLnBhcmVudE1vZGVsXG4gICAgICAgICAgICApfWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc2F2ZURhdGEuZW1pdChkYXRhVG9TYXZlKTtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5wcm9wc09mRGlhbG9nPy5bJ2lzU2VxdWVudGlhbE51bUdlbmVyYXRpb25SZXF1aXJlZCddKSB7XG4gICAgICAgICAgZGF0YVRvU2F2ZS5zZXF1ZW50aWFsTnVtYmVySWQgPSBgMDAwJHt0aGlzLmdlbmVyYXRlU2VxdWVudGlhbElkTnVtYmVyKFxuICAgICAgICAgICAgdGhpcy5wYXJlbnRNb2RlbFxuICAgICAgICAgICl9YDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNhdmVEYXRhLmVtaXQoZGF0YVRvU2F2ZSk7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNsYXRlRm9ybUNvbmZpZyhcbiAgICBjb25maWc6IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnW11cbiAgKTogQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgcmV0dXJuIGNvbmZpZy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICBpZiAoZmllbGQucHJvcHM/LmxhYmVsKSB7XG4gICAgICAgIGZpZWxkLmV4cHJlc3Npb25zID0ge1xuICAgICAgICAgIC4uLmZpZWxkLmV4cHJlc3Npb25zLFxuICAgICAgICAgICdwcm9wcy5sYWJlbCc6IHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oZmllbGQucHJvcHMubGFiZWwgfHwgJycpLFxuICAgICAgICAgICdwcm9wcy50b29sdGlwJzogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShcbiAgICAgICAgICAgIGZpZWxkLnByb3BzLmxhYmVsIHx8ICcnXG4gICAgICAgICAgKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWVsZC5wcm9wcz8ucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgZmllbGQuZXhwcmVzc2lvbnMgPSB7XG4gICAgICAgICAgLi4uZmllbGQuZXhwcmVzc2lvbnMsXG4gICAgICAgICAgJ3Byb3BzLnBsYWNlaG9sZGVyJzogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShcbiAgICAgICAgICAgIGZpZWxkLnByb3BzLnBsYWNlaG9sZGVyIHx8ICcnXG4gICAgICAgICAgKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWVsZC5maWVsZEdyb3VwKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlRm9ybUNvbmZpZyhmaWVsZC5maWVsZEdyb3VwKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9KTtcbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubW9kZWwgPSBldmVudDtcbiAgICB0aGlzLnN1YnNjcmliZVRvRGVwZW5kZW5jaWVzKHRoaXMuZmllbGRzLCB0aGlzLmZvcm0sIHRoaXMubW9kZWwpO1xuICB9XG5cbiAgc3Vic2NyaWJlVG9EZXBlbmRlbmNpZXMoZmllbGRzOiBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZ1tdLCBmb3JtOiBGb3JtR3JvdXAsIHZlbmRvck1vZGVsOiBhbnkpIHtcbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgaWYgKGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0RlcGVuZGVuY2llcyhmaWVsZC5maWVsZEdyb3VwLCBmb3JtLCB2ZW5kb3JNb2RlbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVEZXBlbmRlbnRGaWVsZHNGdWxsTmFtZShmaWVsZHM6IGFueSkge1xuICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZDogYW55KSA9PiB7XG4gICAgICBpZihmaWVsZC5mb3JtQ29udHJvbCAmJiBmaWVsZC51cGRhdGVUYWJ1bGFyRmllbGQpIHtcbiAgICAgICAgZmllbGQuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlTGFiZWxWYWx1ZUZvckZpZWxkKGZpZWxkLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgdGhpcy51cGRhdGVEZXBlbmRlbnRGaWVsZHNGdWxsTmFtZShmaWVsZC5maWVsZEdyb3VwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUxhYmVsVmFsdWVGb3JGaWVsZChmaWVsZDogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgb3B0aW9ucyQgPSBmaWVsZC5wcm9wcz8ub3B0aW9ucztcbiAgICBpZiAob3B0aW9ucyQgJiYgdHlwZW9mIG9wdGlvbnMkLnN1YnNjcmliZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb3B0aW9ucyQuc3Vic2NyaWJlKChvcHRpb25zOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlRmllbGRLZXkgPSBmaWVsZC51cGRhdGVUYWJ1bGFyRmllbGQ7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHRpb246IGFueSkgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgIHRoaXMubW9kZWxbdXBkYXRlRmllbGRLZXldID0gc2VsZWN0ZWRPcHRpb24ubGFiZWw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlzRmlsZXNVcGxvYWRlZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdlbmVyYXRlU2VxdWVudGlhbElkTnVtYmVyKHBhcmVudE1vZGVsOiBhbnkpIHtcbiAgICBpZiAocGFyZW50TW9kZWw/Llt0aGlzLnByb3BzT2ZEaWFsb2c/LlsncGFyZW5ldE1vZGVsS2V5VG9HZW5lcmF0ZVNlcXVlbnRpYWxOdW1iZXInXV0/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgbGF0ZXN0UmVjb3JkSWROdW1iZXIgPSBwYXJlbnRNb2RlbD8uW3RoaXMucHJvcHNPZkRpYWxvZz8uWydwYXJlbmV0TW9kZWxLZXlUb0dlbmVyYXRlU2VxdWVudGlhbE51bWJlciddXT8uc29ydCgoYTogeyBzZXF1ZW50aWFsTnVtYmVySWQ6IG51bWJlcjsgfSwgYjogeyBzZXF1ZW50aWFsTnVtYmVySWQ6IG51bWJlcjsgfSkgPT4gKyhiPy5zZXF1ZW50aWFsTnVtYmVySWQpIC0gKyhhPy5zZXF1ZW50aWFsTnVtYmVySWQpKT8uZmluZCgocGFyZW5EYXRhOiB7IHNlcXVlbnRpYWxOdW1iZXJJZDogYW55OyB9KSA9PiArKHBhcmVuRGF0YT8uc2VxdWVudGlhbE51bWJlcklkKSk7XG4gICAgICByZXR1cm4gKyhsYXRlc3RSZWNvcmRJZE51bWJlcj8uc2VxdWVudGlhbE51bWJlcklkKSArIDE7XG4gICAgfVxuICAgIHJldHVybiAxO1xuICB9XG59Il19
|