@smarterplan/ngx-smarterplan-core 1.2.6 → 1.2.8
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 +24 -24
- package/esm2020/lib/components/csv-export/csv-export.component.mjs +3 -3
- package/esm2020/lib/components/loader/loader.component.mjs +3 -3
- package/esm2020/lib/components/menu-bar/avatar/avatar.component.mjs +1 -1
- package/esm2020/lib/components/menu-bar/menu-bar.component.mjs +32 -20
- package/esm2020/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +3 -3
- package/esm2020/lib/components/menu-bar/range-date-picker/range-date-picker.component.mjs +1 -1
- package/esm2020/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +3 -3
- package/esm2020/lib/components/search-bar/search-bar.component.mjs +3 -3
- package/esm2020/lib/components/support-modal/support-modal.component.mjs +3 -3
- package/esm2020/lib/config.mjs +1 -1
- package/esm2020/lib/helpers.service.mjs +1 -1
- package/esm2020/lib/matterport-extensions/nest-thermostat/CanvasImage.mjs +1 -1
- package/esm2020/lib/matterport-extensions/nest-thermostat/PlaneRenderer.mjs +1 -1
- package/esm2020/lib/matterport-extensions/scene-component/SceneComponent.mjs +1 -1
- package/esm2020/lib/matterport-extensions/tv-player/TvPlayer.mjs +1 -1
- package/esm2020/lib/mattertagData.mjs +1 -1
- package/esm2020/lib/ngx-smarterplan-core.module.mjs +1 -1
- package/esm2020/lib/ngx-smarterplan-core.service.mjs +1 -1
- package/esm2020/lib/pipes/duration-to-string.pipe.mjs +1 -1
- package/esm2020/lib/pipes/format-date-number-to-digits.pipe.mjs +1 -1
- package/esm2020/lib/pipes/hashtag-from-id.pipe.mjs +1 -1
- package/esm2020/lib/pipes/safe-url.pipe.mjs +1 -1
- package/esm2020/lib/pipes/time-date-to-local-string.pipe.mjs +1 -1
- package/esm2020/lib/pipes/username-from-id.pipe.mjs +1 -1
- package/esm2020/lib/services/amplify-cache.service.mjs +1 -1
- package/esm2020/lib/services/base-tab.service.mjs +1 -1
- package/esm2020/lib/services/baseVisibility.service.mjs +6 -5
- package/esm2020/lib/services/content.service.mjs +1 -1
- package/esm2020/lib/services/filter.service.mjs +22 -2
- package/esm2020/lib/services/intervention.service.mjs +1 -1
- package/esm2020/lib/services/locale.service.mjs +1 -1
- package/esm2020/lib/services/matterport-import.service.mjs +1 -1
- package/esm2020/lib/services/matterport.service.mjs +4 -1
- package/esm2020/lib/services/models/affectation.service.mjs +1 -1
- package/esm2020/lib/services/models/base-object.service.mjs +1 -1
- package/esm2020/lib/services/models/capture.service.mjs +1 -1
- package/esm2020/lib/services/models/comment.service.mjs +1 -1
- package/esm2020/lib/services/models/domain.service.mjs +1 -1
- package/esm2020/lib/services/models/equipment.service.mjs +1 -1
- package/esm2020/lib/services/models/event.service.mjs +1 -1
- package/esm2020/lib/services/models/feature.service.mjs +1 -1
- package/esm2020/lib/services/models/hashtag.service.mjs +1 -1
- package/esm2020/lib/services/models/layer.service.mjs +1 -1
- package/esm2020/lib/services/models/measurement.service.mjs +1 -1
- package/esm2020/lib/services/models/mission.service.mjs +1 -1
- package/esm2020/lib/services/models/navigation.service.mjs +1 -1
- package/esm2020/lib/services/models/node.service.mjs +1 -1
- package/esm2020/lib/services/models/object3D.service.mjs +8 -1
- package/esm2020/lib/services/models/operation.service.mjs +1 -1
- package/esm2020/lib/services/models/organisation.service.mjs +1 -1
- package/esm2020/lib/services/models/plan.service.mjs +1 -1
- package/esm2020/lib/services/models/poi.service.mjs +1 -1
- package/esm2020/lib/services/models/profile.service.mjs +1 -1
- package/esm2020/lib/services/models/property.service.mjs +1 -1
- package/esm2020/lib/services/models/space.service.mjs +1 -1
- package/esm2020/lib/services/models/template.service.mjs +1 -1
- package/esm2020/lib/services/models/ticket.service.mjs +1 -1
- package/esm2020/lib/services/models/visit.service.mjs +1 -1
- package/esm2020/lib/services/models/zone.service.mjs +1 -1
- package/esm2020/lib/services/navigator.service.mjs +1 -1
- package/esm2020/lib/services/s3.service.mjs +1 -1
- package/esm2020/lib/services/search.service.mjs +1 -1
- package/esm2020/lib/services/support.service.mjs +1 -1
- package/esm2020/lib/services/tag.service.mjs +18 -18
- package/esm2020/lib/services/user.service.mjs +1 -1
- package/esm2020/lib/services/validators.service.mjs +1 -1
- package/esm2020/lib/services/zone-drawer.service.mjs +1 -1
- package/esm2020/lib/services/zoneChange.service.mjs +1 -1
- package/esm2020/lib/types.service.mjs +1 -1
- package/esm2020/lib/validators/email.directive.mjs +1 -1
- package/esm2020/lib/validators/no-empty.directive.mjs +1 -1
- package/esm2020/lib/validators/number.directive.mjs +1 -1
- package/esm2020/lib/validators/text.directive.mjs +1 -1
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/smarterplan-ngx-smarterplan-core.mjs +88 -44
- package/fesm2015/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
- package/fesm2020/smarterplan-ngx-smarterplan-core.mjs +86 -44
- package/fesm2020/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
- package/lib/components/menu-bar/menu-bar.component.d.ts +5 -1
- package/lib/services/baseVisibility.service.d.ts +2 -1
- package/lib/services/filter.service.d.ts +4 -2
- package/lib/services/matterport.service.d.ts +1 -0
- package/lib/types.service.d.ts +3 -0
- package/package.json +1 -1
|
@@ -498,4 +498,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
498
498
|
type: Inject,
|
|
499
499
|
args: ['SPModule']
|
|
500
500
|
}] }]; } });
|
|
501
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkvQixPQUFPLEVBQUUsV0FBVyxFQUFrQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQUNqSixPQUFPLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXhLLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7O0FBVW5DOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUF1QnhCLFlBQ1ksY0FBOEIsRUFDOUIsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsTUFBYyxFQUNkLFFBQWtCLEVBQ2xCLE1BQWMsRUFDZCxTQUEyQixFQUNmLGdCQUEwQjtRQVB0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUE1QnZDLGNBQVMsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUVyRCxhQUFR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QUk7U0FDZCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDOzs0R0E5a0JRLGVBQWUsaU5BK0JaLFVBQVU7Z0hBL0JiLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFnQ1EsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTGV2ZWxTdGF0dXMsIE1pc3Npb24sIE9yZ2FuaXNhdGlvbiwgUHJvZmlsZSwgUHJvZmlsZUVudGl0eSwgUHJvZmlsZVN0YXR1cywgUHJvcGVydHlUeXBlLCBSb2xlU3RhdHVzLCBTcE1vZHVsZSB9IGZyb20gXCIuLi90eXBlcy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBlbnVtVG9BcnJheSwgZmlsdGVyVW5pcXVlQXJyYXlCeUlELCBnZXRIaWdoZXN0TGV2ZWxGb3JNaXNzaW9ucywgZ2V0SGlnaGVzdFJvbGVGb3JNaXNzaW9ucywgZ2V0TGV2ZWxzQmVsb3csIGdldFJvbGVzQmVsb3dGb3JNYW5hZ2VyIH0gZnJvbSBcIi4uL2hlbHBlcnMuc2VydmljZVwiO1xuaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UgfSBmcm9tIFwiLi9tb2RlbHMvcHJvZmlsZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBNaXNzaW9uU2VydmljZSB9IGZyb20gXCIuL21vZGVscy9taXNzaW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IFByb3BlcnR5U2VydmljZSB9IGZyb20gXCIuL21vZGVscy9wcm9wZXJ0eS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgQXV0aCB9IGZyb20gXCJhd3MtYW1wbGlmeVwiO1xuXG5pbnRlcmZhY2UgQ3JlYXRlVXNlciB7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBwaG9uZT86IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgIHBhc3N3b3JkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFVzZXJTZXJ2aWNlIGhhbmRsZXMgdXNlcidzIGxpZmVjeWNsZSwgZnJvbSBjcmVhdGlvbiB0byBkZWxldGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VVc2VyU2VydmljZSB7XG5cbiAgICBpc0NoYW5nZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgdXBkYXRpbmcgPSBmYWxzZTtcblxuICAgIG1hbmFnZXJzID0gW1xuICAgICAgICBSb2xlU3RhdHVzLkFETUlOLFxuICAgICAgICBSb2xlU3RhdHVzLk1BTkFHRVIsXG4gICAgICAgIFJvbGVTdGF0dXMuT1dORVIsXG4gICAgICAgIFJvbGVTdGF0dXMuR1VJREVfTVVTRVVNLFxuICAgIF07XG5cbiAgICBjdXJyZW50TWlzc2lvbnM6IE1pc3Npb25bXTtcblxuICAgIGxhc3RFeHBpcmVkTWlzc2lvbjogTWlzc2lvbjtcblxuICAgIG5leHRNaXNzaW9uVG9TdGFydDogTWlzc2lvbjtcblxuICAgIGN1OiBQcm9maWxlRW50aXR5ID0gbnVsbDtcblxuICAgIHNwTW9kdWxlOiBTcE1vZHVsZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBtaXNzaW9uU2VydmljZTogTWlzc2lvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQEluamVjdCgnU1BNb2R1bGUnKSBzcE1vZHVsZUluamVjdGVkOiBTcE1vZHVsZSxcbiAgICApIHtcbiAgICAgICAgLy8gdGhpcy5jaGVja0Nvbm5lY3RlZEFXU1VzZXIoKTtcbiAgICAgICAgdGhpcy5taXNzaW9uU2VydmljZS5jdXJyZW50TWlzc2lvbnNVcGRhdGVkLnN1YnNjcmliZShhc3luYyAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TWlzc2lvbnMgPVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubWlzc2lvblNlcnZpY2UuaW5zdGFudE1pc3Npb25zT2ZDdXJyZW50KHRoaXMuY3UuaWQpO1xuICAgICAgICAgICAgdGhpcy5pc0NoYW5nZWQubmV4dCh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3BNb2R1bGUgPSBzcE1vZHVsZUluamVjdGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBBV1MgdXNlciBpcyBjb25uZWN0ZWQgYW5kIGFzc2lnbmcgaXQgdG8gY3VycmVudCB1c2VyICh0aGlzLmN1KVxuICAgICoqL1xuICAgIGFzeW5jIGNoZWNrQ29ubmVjdGVkQVdTVXNlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1KSB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcImNoZWNrIEFXUyB1c2VyXCIpO1xuICAgICAgICAgICAgbGV0IGNhdSA9IG51bGw7XG4gICAgICAgICAgICBsZXQgdXNlciA9IG51bGw7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy51cGRhdGluZykge1xuICAgICAgICAgICAgICAgICAgICBjYXUgPSBhd2FpdCBBdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpO1xuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcImNvbm5lY3RlZFwiLCBjYXUpO1xuICAgICAgICAgICAgICAgICAgICB1c2VyID0gYXdhaXQgdGhpcy5jdXJyZW50KGNhdSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiY3VycmVudCBvZiB1c2VyU2VydmljZVwiLCB1c2VyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuICAgICAgICAgICAgaWYgKCF1c2VyICYmICF0aGlzLnVwZGF0aW5nKSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJubyB1c2VyIGluIGNoZWNrIGNvbm5lY3RlZCBhd3MgdXNlclwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJhdXRoXCJdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNyZWF0ZVVzZXIgc3Bhd25zIGEgbmV3IFVzZXIsIGFsb25nIHdpdGg6XG4gICAgICogLSBhIHByb3BlciBBV1NDb2duaXRvIHNpZ251cFxuICAgICAqIC0gYSBQcm9maWxlIGVudHJ5IGhvbGRpbmcgdGhlIEFXU0NvZ25pdG8gSURcbiAgICAgKiAtIGEgTWlzc2lvbiBlbnRyeSBob2xkaW5nIHRoZSBPcmdhbmlzYXRpb24gSURcbiAgICAgKlxuICAgICAqIEBzZWUgMTc0XG4gICAgICogQHNlZSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvbGliL2F1dGgvZW1haWxwYXNzd29yZC9xL3BsYXRmb3JtL2pzI3NpZ24tdXBcbiAgICAgKiBAdG9kbyB3b25kZXIgaWYgd2UgY2FuIG1hc2ggdG9nZXRoZXIgUHJvZmlsZSwgTWlzc2lvbiBhbmQgVXNlciBlbnRyaWVzXG4gICAgICogQHBhcmFtIHUgVXNlciB0byBiZSBjcmVhdGVkXG4gICAgICovXG4gICAgYXN5bmMgY3JlYXRlVXNlckFXU2FuZFByb2ZpbGUoXG4gICAgICAgIHU6IHtcbiAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgICBwaG9uZTogc3RyaW5nO1xuICAgICAgICAgICAgbGFzdE5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgICAgIH0sXG4gICAgICAgIHByZXZhbGlkYXRlZDogYm9vbGVhbiA9IGZhbHNlLFxuICAgICk6IFByb21pc2U8UHJvZmlsZT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgICAgICAgICAgZW1haWw6IHUuZW1haWwudHJpbSgpLFxuICAgICAgICAgICAgZ2l2ZW5fbmFtZTogdS5maXJzdE5hbWUsXG4gICAgICAgICAgICBmYW1pbHlfbmFtZTogdS5sYXN0TmFtZSxcbiAgICAgICAgICAgIHpvbmVpbmZvOiBcImZyXCIsIC8vIEB0b2RvIGRlYWwgd2l0aCB6b25laW5mbyBhbmQgbG9jYWxlXG4gICAgICAgICAgICBsb2NhbGU6IFwiZnJcIixcbiAgICAgICAgICAgIFwiY3VzdG9tOnByZXZhbGlkYXRlZFwiOiBcImZhbHNlXCIsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwcmV2YWxpZGF0ZWQpIHtcbiAgICAgICAgICAgIGF0dHJpYnV0ZXNbXCJjdXN0b206cHJldmFsaWRhdGVkXCJdID0gXCJ0cnVlXCI7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQVdTQ29nbml0b1xuICAgICAgICBjb25zdCBwYXNzd29yZCA9IHUucGFzc3dvcmQgPyB1LnBhc3N3b3JkIDogXCJ0ZW1wb3JhcnlwXCI7XG4gICAgICAgIGxldCBlcnJvcjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgdXNlclN1YiB9ID0gYXdhaXQgQXV0aC5zaWduVXAoe1xuICAgICAgICAgICAgICAgIHVzZXJuYW1lOiB1LmVtYWlsLCAvLyB1c2VybmFtZSBzaG91bGQgYmUgYW4gZW1haWwgdGhleSBzYXlcbiAgICAgICAgICAgICAgICBwYXNzd29yZCxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICAgIGNsaWVudE1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHBob25lOiB1LnBob25lLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh1c2VyU3ViKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUHJvZmlsZSh1c2VyU3ViLCB1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3JfOiBhbnkpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZXJyb3JfLmNvZGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiSW52YWxpZFBhc3N3b3JkRXhjZXB0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gXCJhdXRoLmVycm9yLndyb25nX3Bhc3N3b3JkXCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gXCJhdXRoLmVycm9yLnVzZXJfbm90X2NvbmZpcm1lZFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvblwiOlxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IFwiYXV0aC5lcnJvci5pbnZhbGlkX3BhcmFtZXRlclwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGVycm9yXy5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc29sZS5sb2coYEFXUyBTaWduIFVQIGVycm9yIDogJHtlcnJvcn1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIC0gQ3JlYXRlcyBBV1MgdXNlciBpbiBDb2duaXRvIGZvciBIb3RlbCBVc2VyIFBvb2wgU2NoZW1hIChvbmx5IGVtYWlsIGlzIHJlcXVpcmVkKVxuICAgICAqIC0gQ3JlYXRlcyBQcm9maWxlIGluIER5bmFtb0RCXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdSBVc2VyIHRvIGJlIGNyZWF0ZWRcbiAgICAgKi9cbiAgICBhc3luYyBjcmVhdGVIb3RlbFVzZXJBV1NhbmRQcm9maWxlKFxuICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgICAgbGFzdE5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgICAgICB9LFxuICAgICk6IFByb21pc2U8UHJvZmlsZT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgICAgICAgICAgZW1haWw6IHVzZXIuZW1haWwudHJpbSgpXG4gICAgICAgIH07XG4gICAgICAgIC8vIEFXU0NvZ25pdG9cbiAgICAgICAgY29uc3QgcGFzc3dvcmQgPSBcInRlbXBvcmFyeXBcIjtcbiAgICAgICAgbGV0IGVycm9yO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgeyB1c2VyU3ViIH0gPSBhd2FpdCBBdXRoLnNpZ25VcCh7XG4gICAgICAgICAgICAgICAgdXNlcm5hbWU6IHVzZXIuZW1haWwudHJpbSgpLFxuICAgICAgICAgICAgICAgIHBhc3N3b3JkLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh1c2VyU3ViKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUHJvZmlsZSh1c2VyU3ViLCB1c2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3JfOiBhbnkpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZXJyb3JfLmNvZGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiSW52YWxpZFBhc3N3b3JkRXhjZXB0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gXCJhdXRoLmVycm9yLndyb25nX3Bhc3N3b3JkXCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gXCJhdXRoLmVycm9yLnVzZXJfbm90X2NvbmZpcm1lZFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvblwiOlxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IFwiYXV0aC5lcnJvci5pbnZhbGlkX3BhcmFtZXRlclwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGVycm9yXy5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc29sZS5sb2coYEFXUyBTaWduIFVQIGVycm9yIDogJHtlcnJvcn1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZVByb2ZpbGUoXG4gICAgICAgIGF3c1VzZXJJRDogc3RyaW5nLFxuICAgICAgICB1OiBDcmVhdGVVc2VyLFxuICAgICk6IFByb21pc2U8UHJvZmlsZT4ge1xuICAgICAgICBjb25zdCBwcm9maWxlID0gYXdhaXQgdGhpcy5wcm9maWxlU2VydmljZS5jcmVhdGVQcm9maWxlKHtcbiAgICAgICAgICAgIHVzZXJJRDogYXdzVXNlcklELFxuICAgICAgICAgICAgbWV0YWRhdGE6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbWFpbDogdS5lbWFpbCxcbiAgICAgICAgICAgICAgICBwaG9uZTogdS5waG9uZSxcbiAgICAgICAgICAgICAgICBsYXN0TmFtZTogdS5sYXN0TmFtZSxcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU6IHUuZmlyc3ROYW1lLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdGF0dXM6IFByb2ZpbGVTdGF0dXMuV0FJVElOR19GT1JfQUNUSVZBVElPTixcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwcm9maWxlO1xuICAgIH1cblxuICAgIGN1cnJlbnRPcmdhbmlzYXRpb24oc3BhY2VJRDogc3RyaW5nID0gbnVsbCk6IE9yZ2FuaXNhdGlvbiB7XG4gICAgICAgIGlmICh0aGlzLmN1KSB7XG4gICAgICAgICAgICBpZiAoIXNwYWNlSUQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnNbMF0ub3JnYW5pc2F0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1pc3Npb24oc3BhY2VJRCkub3JnYW5pc2F0aW9uO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGFzeW5jIGN1cnJlbnQoXG4gICAgICAgIHVzZXIsXG4gICAgICAgIGZhc3RDb25uZWN0OiBib29sZWFuID0gZmFsc2UsXG4gICAgKTogUHJvbWlzZTxQcm9maWxlRW50aXR5IHwgbnVsbD4ge1xuICAgICAgICBpZiAoIXRoaXMuY3UgJiYgIXRoaXMudXBkYXRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jdSA9IGF3YWl0IHRoaXMudXNlckZyb21BV1NJRCh1c2VyLnVzZXJuYW1lKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5jdSAmJiB1c2VyLmF0dHJpYnV0ZXMuZW1haWwpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICAgICAgYE5vIHByb2ZpbGUgZm9yIHVzZXJJRCDwn5SqICR7dXNlci5hdHRyaWJ1dGVzLmVtYWlsfWAsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAvLyBUaGVyZSdzIG5vIHByb2ZpbGVzLCBwcm9maWxlcy5pdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgICAvLyBJdCdzIG1heWJlIHRoZSDwn6SuIGNhc2Ugd2hlcmUgdGhlIHByb2ZpbGUgaGFzIGJlZW4gc2F2ZWQgd2l0aCBhbiBlbWFpbFxuICAgICAgICAgICAgICAgIC8vIGluc3RlYWQgb2YgYW4gaGFzaGVkIGlkXG4gICAgICAgICAgICAgICAgLy8gSWYgZm91bmQsIHdlIG5lZWQgdG8gcmVwbGFjZSB0aGUgaWQgaW4gYm90aCB0aGUgUHJvZmlsZVxuICAgICAgICAgICAgICAgIGNvbnN0IGVtYWlsUHJvZmlsZSA9IGF3YWl0IHRoaXMudXNlckZyb21BV1NJRChcbiAgICAgICAgICAgICAgICAgICAgdXNlci5hdHRyaWJ1dGVzLmVtYWlsLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKGVtYWlsUHJvZmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGDwn5GPIGRvaW5nIHRoZSBzcGFjZWhpcCByZXZlcnNhbCBlbWFpbCBvbiAke3VzZXIuYXR0cmlidXRlcy5lbWFpbH1gLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1ID0gYXdhaXQgdGhpcy51c2VyRnJvbUFXU0lEKHVzZXIudXNlcm5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5jdSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBhd2FpdCBBdXRoLnNpZ25PdXQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1pc3Npb25zID0gYXdhaXQgdGhpcy5taXNzaW9uU2VydmljZS5pbnN0YW50TWlzc2lvbnNPZkN1cnJlbnQoXG4gICAgICAgICAgICAgICAgdGhpcy5jdS5pZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1pc3Npb25zID0gbWlzc2lvbnM7XG4gICAgICAgICAgICBsZXQgb2tUb0xvZ2luID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICghZmFzdENvbm5lY3QgJiYgIXRoaXMuaGFzTWFuYWdlclJvbGVJbkFueU1pc3Npb24oKSkge1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGFjY2VzcyB0b2tlbiBpZiBub3QgRmFzdCBjb25uZWN0IChmYXN0IGNvbm5lY3QgaXMgZm9yIHRoZSBndWVzdCBjb25uZWN0aW9uIHZpYSBsaW5rKC9yZWRpcmVjdD91c2VyPSkpXG4gICAgICAgICAgICAgICAgLy8gY2hlY2tzIHZpc2l0b3JzKG11c2V1bSBvciBub3QpLCBvY2N1cGFudHMsIHNlcnZpY2VcbiAgICAgICAgICAgICAgICBva1RvTG9naW4gPSBhd2FpdCB0aGlzLmNoZWNrQWNjZXNzVG9rZW4oXG4gICAgICAgICAgICAgICAgICAgIHVzZXIuc2lnbkluVXNlclNlc3Npb24uYWNjZXNzVG9rZW4uand0VG9rZW4sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghb2tUb0xvZ2luKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TWlzc2lvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYXdhaXQgQXV0aC5zaWduT3V0KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVwZGF0ZVByb2ZpbGUoe1xuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmN1LmlkLFxuICAgICAgICAgICAgICAgIGxhc3RDb25uZWN0ZWRBdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFtaXNzaW9ucyAmJiB0aGlzLmxvY2F0aW9uLnBhdGgoKSAhPT0gXCIvbm8tbWlzc2lvblwiKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL25vLW1pc3Npb25cIl0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJ1c2VyIGlzIGNoYW5nZWQgZW1pdHRpbmdcIik7XG4gICAgICAgICAgICB0aGlzLmlzQ2hhbmdlZC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmN1O1xuICAgIH1cblxuICAgIGFzeW5jIHVzZXJGcm9tQVdTSUQodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPFByb2ZpbGVFbnRpdHkgfCBudWxsPiB7XG4gICAgICAgIGNvbnN0IHByb2ZpbGUgPSBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldFByb2ZpbGVGcm9tQVdTSUQodXNlcklkKTtcbiAgICAgICAgaWYgKHByb2ZpbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvZmlsZUVudGl0eShwcm9maWxlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBhc3luYyB1c2VyRnJvbVVzZXJJRCh1c2VySUQ6IHN0cmluZyk6IFByb21pc2U8UHJvZmlsZUVudGl0eSB8IG51bGw+IHtcbiAgICAgICAgY29uc3QgcHJvZmlsZSA9IGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0UHJvZmlsZSh1c2VySUQpO1xuICAgICAgICByZXR1cm4gbmV3IFByb2ZpbGVFbnRpdHkocHJvZmlsZSk7XG4gICAgfVxuXG4gICAgY3VycmVudE1pc3Npb24oc3BhY2VJRDogc3RyaW5nKTogTWlzc2lvbiB7XG4gICAgICAgIGNvbnN0IG1pc3Npb24gPSB0aGlzLmdldE1pc3Npb25Gb3JTcGFjZShzcGFjZUlEKTtcbiAgICAgICAgcmV0dXJuIG1pc3Npb247XG4gICAgfVxuXG4gICAgaXNNYW5hZ2VyKHNwYWNlSUQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBtaXNzaW9uID0gdGhpcy5nZXRNaXNzaW9uRm9yU3BhY2Uoc3BhY2VJRCk7XG4gICAgICAgIGlmIChtaXNzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2Vycy5pbmNsdWRlcyhtaXNzaW9uLnJvbGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpc1NlcnZpY2Uoc3BhY2VJRDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1pc3Npb24gPSB0aGlzLmdldE1pc3Npb25Gb3JTcGFjZShzcGFjZUlEKTtcbiAgICAgICAgaWYgKG1pc3Npb24pIHtcbiAgICAgICAgICAgIHJldHVybiBtaXNzaW9uLnJvbGUgPT09IFJvbGVTdGF0dXMuU0VSVklDRTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNBZG1pbihzcGFjZUlEOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbWlzc2lvbiA9IHRoaXMuZ2V0TWlzc2lvbkZvclNwYWNlKHNwYWNlSUQpO1xuICAgICAgICBpZiAobWlzc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuIG1pc3Npb24ucm9sZSA9PT0gUm9sZVN0YXR1cy5BRE1JTjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNTbWFydGVyUGxhbigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRNaXNzaW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNwTWlzc2lvbnMgPSB0aGlzLmN1cnJlbnRNaXNzaW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAobSkgPT5cbiAgICAgICAgICAgICAgICBtLm9yZ2FuaXNhdGlvbklEID09PSBcIjZlMjgyMDFmLTQ2NzktNGMyOS05ZDJkLThhMzI1ZjU3Y2VlOVwiICYmXG4gICAgICAgICAgICAgICAgdGhpcy5tYW5hZ2Vycy5pbmNsdWRlcyhtLnJvbGUpLFxuICAgICAgICApOyAvLyBJRCBvZiBTbWFydGVyUGxhblxuICAgICAgICByZXR1cm4gc3BNaXNzaW9ucy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGlzU1BBZG1pbigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRNaXNzaW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNwTWlzc2lvbnMgPSB0aGlzLmN1cnJlbnRNaXNzaW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAobSkgPT5cbiAgICAgICAgICAgICAgICBtLm9yZ2FuaXNhdGlvbklEID09PSBcIjZlMjgyMDFmLTQ2NzktNGMyOS05ZDJkLThhMzI1ZjU3Y2VlOVwiICYmXG4gICAgICAgICAgICAgICAgbS5yb2xlID09PSBSb2xlU3RhdHVzLkFETUlOLFxuICAgICAgICApOyAvLyBJRCBvZiBTbWFydGVyUGxhblxuICAgICAgICByZXR1cm4gc3BNaXNzaW9ucy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGdldE1pc3Npb25Gb3JTcGFjZShzcGFjZUlEOiBzdHJpbmcpOiBNaXNzaW9uIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRNaXNzaW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1pc3Npb25zLmZpbmQoKG0pID0+IG0uc3BhY2VJRCA9PT0gc3BhY2VJRCk7XG4gICAgfVxuXG4gICAgaGFzTWFuYWdlclJvbGVJbkFueU1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnMuc29tZSgobWlzKSA9PlxuICAgICAgICAgICAgdGhpcy5tYW5hZ2Vycy5pbmNsdWRlcyhtaXMucm9sZSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaGFzU2VydmljZVJvbGVJbkFueU1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnMuc29tZShcbiAgICAgICAgICAgIChtaXMpID0+IG1pcy5yb2xlID09PSBSb2xlU3RhdHVzLlNFUlZJQ0UsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaGFzQWRtaW5Sb2xlSW5BbnlNaXNzaW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVudE1pc3Npb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1pc3Npb25zLnNvbWUoXG4gICAgICAgICAgICAobWlzKSA9PiBtaXMucm9sZSA9PT0gUm9sZVN0YXR1cy5BRE1JTixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhc3luYyBjcmVhdGVPclVwZGF0ZU1pc3Npb25Gb3JPcmdXaXRoUHJvcGVydHkoXG4gICAgICAgIG1pc3Npb25JbnB1dDogTWlzc2lvbixcbiAgICAgICAgb3JnSUQ6IHN0cmluZyxcbiAgICAgICAgY3JlYXRlOiBib29sZWFuID0gdHJ1ZSxcbiAgICApOiBQcm9taXNlPE1pc3Npb24+IHtcbiAgICAgICAgY29uc3QgbWlzc2lvbiA9IGF3YWl0IChjcmVhdGVcbiAgICAgICAgICAgID8gdGhpcy5taXNzaW9uU2VydmljZS5jcmVhdGUobWlzc2lvbklucHV0KVxuICAgICAgICAgICAgOiB0aGlzLm1pc3Npb25TZXJ2aWNlLnVwZGF0ZShtaXNzaW9uSW5wdXQpKTtcblxuICAgICAgICBpZiAodGhpcy5tYW5hZ2Vycy5pbmNsdWRlcyhtaXNzaW9uLnJvbGUpICYmIG1pc3Npb24uc3BhY2VJRCkge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9wZXJ0eVNlcnZpY2UuZ2V0UHJvcGVydGllc0Zvck9yZ2FuaXNhdGlvbihvcmdJRCk7XG4gICAgICAgICAgICBjb25zdCBwcm9wZXJ0eVNwYWNlSURzID0gcHJvcGVydGllcy5tYXAoXG4gICAgICAgICAgICAgICAgKHByb3BlcnR5XykgPT4gcHJvcGVydHlfLnNwYWNlSUQsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHByb3BlcnR5U3BhY2VJRHMuaW5jbHVkZXMobWlzc2lvbi5zcGFjZUlEKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBtaXNzaW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gd2UgZGVsZWdhdGUgdGhlIHJpZ2h0cyBvZiB0aGUgc3BhY2VcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvcGVydHlTZXJ2aWNlLmNyZWF0ZVByb3BlcnR5KHtcbiAgICAgICAgICAgICAgICBzcGFjZUlEOiBtaXNzaW9uLnNwYWNlSUQsXG4gICAgICAgICAgICAgICAgb3JnYW5pc2F0aW9uSUQ6IG9yZ0lELFxuICAgICAgICAgICAgICAgIHR5cGU6IFByb3BlcnR5VHlwZS5TSEFSRUQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWlzc2lvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzb2Z0RGVsZXRlVXNlcih1c2VySUQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBtaXNzaW9ucyA9IGF3YWl0IHRoaXMubWlzc2lvblNlcnZpY2UuZ2V0TWlzc2lvbnNGcm9tVXNlcklEKHVzZXJJRCk7XG4gICAgICAgIGlmIChtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UudXBkYXRlUHJvZmlsZSh7IGlkOiB1c2VySUQsIGRlbGV0ZWRBdDogRGF0ZS5ub3coKSB9KTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUHJvZmlsZSBzb2Z0IGRlbGV0ZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBQcm9maWxlIChieSBpZCkgY2FuIGJlIHJlbW92ZWQgY29tcGxldGVseSBmcm9tIHRoZSBEQiAobm8gbWlzc2lvbnMgaW4gdGhlIERCKVxuICAgICAqIEBwYXJhbSBwcm9maWxlSURcbiAgICAgKiBAcmV0dXJucyBib29sZWFuXG4gICAgICovXG4gICAgYXN5bmMgY2FuSGFyZERlbGV0ZVVzZXIocHJvZmlsZUlEOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgbWlzc2lvbnMgPSAoYXdhaXQgdGhpcy5taXNzaW9uU2VydmljZS5nZXRNaXNzaW9uc0Zyb21Vc2VySUQocHJvZmlsZUlEKSk7XG4gICAgICAgIHJldHVybiBtaXNzaW9ucy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgYXN5bmMgaGFyZERlbGV0ZVVzZXIodXNlcklEOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZGVsZXRlZCA9IGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuZGVsZXRlUHJvZmlsZSh1c2VySUQpO1xuICAgICAgICBjb25zb2xlLmxvZyhcIlByb2ZpbGUgaGFyZCBkZWxldGVkXCIpO1xuICAgICAgICByZXR1cm4gZGVsZXRlZDtcbiAgICB9XG5cbiAgICBnZXRNYW5hZ2VyTWlzc2lvbnMoKTogTWlzc2lvbltdIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRNaXNzaW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNaXNzaW9ucy5maWx0ZXIoKG1pcykgPT5cbiAgICAgICAgICAgIHRoaXMubWFuYWdlcnMuaW5jbHVkZXMobWlzLnJvbGUpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEF2YWxhYmxlTGV2ZWxzRm9yQ3VycmVudFVzZXIoKTogTGV2ZWxTdGF0dXNbXSB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBbTGV2ZWxTdGF0dXMuTUlOSU1VTV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGV2ZWxzID0gZW51bVRvQXJyYXkoTGV2ZWxTdGF0dXMpO1xuICAgICAgICBjb25zdCBoaWdoZXN0TGV2ZWwgPSBnZXRIaWdoZXN0TGV2ZWxGb3JNaXNzaW9ucyh0aGlzLmN1cnJlbnRNaXNzaW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIGxldmVscy5maWx0ZXIoKGxldmVsKSA9PlxuICAgICAgICAgICAgZ2V0TGV2ZWxzQmVsb3coaGlnaGVzdExldmVsKS5pbmNsdWRlcyhsZXZlbCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlUm9sZXNGb3JDdXJyZW50VXNlcigpOiBSb2xlU3RhdHVzW10ge1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVudE1pc3Npb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gW1JvbGVTdGF0dXMuVklTSVRPUl07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm9sZXMgPSBlbnVtVG9BcnJheShSb2xlU3RhdHVzKTtcbiAgICAgICAgY29uc3QgaGlnaGVzdFJvbGUgPSBnZXRIaWdoZXN0Um9sZUZvck1pc3Npb25zKHRoaXMuY3VycmVudE1pc3Npb25zKTtcbiAgICAgICAgcmV0dXJuIHJvbGVzLmZpbHRlcigocm9sZSkgPT5cbiAgICAgICAgICAgIGdldFJvbGVzQmVsb3dGb3JNYW5hZ2VyKGhpZ2hlc3RSb2xlKS5pbmNsdWRlcyhyb2xlKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogVGVzdCBpZiB0aGUgdXNlciBoYXZlIHRoZSByb2xlIGdpdmVuIGluIHBhcmFtZXRlciA6IFwicm9sZVN0YXR1c1wiICovXG4gICAgaXNSb2xlKHJvbGVTdGF0dXM6IFJvbGVTdGF0dXMpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRNaXNzaW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNaXNzaW9ucy5zb21lKChtKSA9PiBtLnJvbGUgPT09IHJvbGVTdGF0dXMpO1xuICAgIH1cblxuICAgIGlzR3VpZGUoc3BhY2VJRDogc3RyaW5nID0gbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoc3BhY2VJRCkge1xuICAgICAgICAgICAgY29uc3QgbWlzc2lvbiA9IHRoaXMuZ2V0TWlzc2lvbkZvclNwYWNlKHNwYWNlSUQpO1xuICAgICAgICAgICAgaWYgKG1pc3Npb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWlzc2lvbi5yb2xlID09PSBSb2xlU3RhdHVzLkdVSURFX01VU0VVTTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5pc1JvbGUoUm9sZVN0YXR1cy5HVUlERV9NVVNFVU0pO1xuICAgIH1cblxuICAgIGlzTXVzZXVtVmlzaXRvcihzcGFjZUlEOiBzdHJpbmcgPSBudWxsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChzcGFjZUlEKSB7XG4gICAgICAgICAgICBjb25zdCBtaXNzaW9uID0gdGhpcy5nZXRNaXNzaW9uRm9yU3BhY2Uoc3BhY2VJRCk7XG4gICAgICAgICAgICBpZiAobWlzc2lvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBtaXNzaW9uLnJvbGUgPT09IFJvbGVTdGF0dXMuVklTSVRPUl9NVVNFVU07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSb2xlKFJvbGVTdGF0dXMuVklTSVRPUl9NVVNFVU0pO1xuICAgIH1cblxuICAgIGlzT2NjdXBhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUm9sZShSb2xlU3RhdHVzLk9DQ1VQQU5UKTtcbiAgICB9XG5cbiAgICBpc1Zpc2l0b3Ioc3BhY2VJRDogc3RyaW5nID0gbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoc3BhY2VJRCkge1xuICAgICAgICAgICAgY29uc3QgbWlzc2lvbiA9IHRoaXMuZ2V0TWlzc2lvbkZvclNwYWNlKHNwYWNlSUQpO1xuICAgICAgICAgICAgaWYgKG1pc3Npb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWlzc2lvbi5yb2xlID09PSBSb2xlU3RhdHVzLlZJU0lUT1I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSb2xlKFJvbGVTdGF0dXMuVklTSVRPUik7XG4gICAgfVxuXG4gICAgaXNNdXNldW1Vc2VyKHNwYWNlSUQ6IHN0cmluZyA9IG51bGwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNHdWlkZShzcGFjZUlEKSB8fCB0aGlzLmlzTXVzZXVtVmlzaXRvcihzcGFjZUlEKTtcbiAgICB9XG5cbiAgICBoYXNPbmx5TXVzZXVtUm9sZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudE1pc3Npb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnMuZXZlcnkoXG4gICAgICAgICAgICAgICAgKG0pID0+XG4gICAgICAgICAgICAgICAgICAgIG0ucm9sZSA9PT0gUm9sZVN0YXR1cy5HVUlERV9NVVNFVU0gfHxcbiAgICAgICAgICAgICAgICAgICAgbS5yb2xlID09PSBSb2xlU3RhdHVzLlZJU0lUT1JfTVVTRVVNLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgYXN5bmMgcHJvZmlsZUZvck1haWwobWFpbDogc3RyaW5nKTogUHJvbWlzZTxQcm9maWxlPiB7XG4gICAgICAgIGNvbnN0IHVzZXJzV2l0aE1haWwgPSBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldFVzZXJzRm9yTWFpbChtYWlsKTtcbiAgICAgICAgcmV0dXJuIHVzZXJzV2l0aE1haWwubGVuZ3RoID4gMCA/IHVzZXJzV2l0aE1haWxbMF0gOiBudWxsO1xuICAgIH1cblxuICAgIGN1cnJlbnRPcmRlcmVkT3JnTGlzdCgpOiBPcmdhbmlzYXRpb25bXSB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcmRlcmVkT3JnTGlzdCA9IHRoaXMuY3VycmVudE1pc3Npb25zLm1hcChcbiAgICAgICAgICAgIChtaXMpID0+IG1pcy5vcmRlcmVkT3JnYW5pc2F0aW9uLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZmlsdGVyVW5pcXVlQXJyYXlCeUlEKG9yZGVyZWRPcmdMaXN0KTtcbiAgICB9XG5cbiAgICB1c2VySGFzQWNjZXNzVG9BbGxab25lc0luU3BhY2Uoc3BhY2VJRDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1pc3Npb25zRm9yU3BhY2UgPSB0aGlzLmN1cnJlbnRNaXNzaW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAobWlzKSA9PiBtaXMuc3BhY2VJRCA9PT0gc3BhY2VJRCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG1pc3Npb25zRm9yU3BhY2Uuc29tZShcbiAgICAgICAgICAgIChtaXNzaW9uKSA9PlxuICAgICAgICAgICAgICAgICFtaXNzaW9uLnpvbmVJRCB8fCAobWlzc2lvbi56b25lICYmICFtaXNzaW9uLnpvbmUucGFyZW50SUQpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIGxvZ291dEN1cnJlbnRBbmRTaWduT3V0QXV0aCgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5wcm9maWxlU2VydmljZS51cGRhdGVQcm9maWxlKHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmN1LmlkLFxuICAgICAgICAgICAgdG9rZW46IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmN1ID0gbnVsbDtcbiAgICAgICAgdGhpcy5jdXJyZW50TWlzc2lvbnMgPSBudWxsO1xuICAgICAgICB0aGlzLmlzQ2hhbmdlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgYXdhaXQgQXV0aC5zaWduT3V0KCk7XG4gICAgfVxuXG4gICAgYXN5bmMgbG9nb3V0Q3VycmVudFdpaHRvdXRBdXRoKCkge1xuICAgICAgICBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVwZGF0ZVByb2ZpbGUoe1xuICAgICAgICAgICAgaWQ6IHRoaXMuY3UuaWQsXG4gICAgICAgICAgICB0b2tlbjogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY3UgPSBudWxsO1xuICAgICAgICB0aGlzLmN1cnJlbnRNaXNzaW9ucyA9IG51bGw7XG4gICAgICAgIHRoaXMuaXNDaGFuZ2VkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIGFzeW5jIGNoZWNrQWNjZXNzVG9rZW4oand0VG9rZW46IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBjb25zdCBub3cgPSBEYXRlVGltZS5sb2NhbCgpO1xuICAgICAgICBpZiAodGhpcy5jdS50b2tlbiAmJiB0aGlzLmN1LnRva2VuRXhwaXJlZEF0ID4gbm93LnRvTWlsbGlzKCkpIHtcbiAgICAgICAgICAgIC8vIGNoZWNrIHRva2VuXG4gICAgICAgICAgICBpZiAodGhpcy5jdS50b2tlbiA9PT0gand0VG9rZW4pIHtcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcInNhbWUgYXdzIHRva2VuXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWxlcnQodGhpcy50cmFuc2xhdGUuaW5zdGFudChcImF1dGguZXJyb3IuYWN0aXZlVG9rZW5cIikpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UudXBkYXRlUHJvZmlsZSh7XG4gICAgICAgICAgICBpZDogdGhpcy5jdS5pZCxcbiAgICAgICAgICAgIHRva2VuRXhwaXJlZEF0OiBub3cucGx1cyh7IG1pbnV0ZXM6IDUgfSkudG9NaWxsaXMoKSxcbiAgICAgICAgICAgIHRva2VuOiBqd3RUb2tlbixcbiAgICAgICAgICAgIHN0YXR1czogUHJvZmlsZVN0YXR1cy5BQ1RJVkUsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBhc3luYyBjbGVhclVzZXJUb2tlbihpZCkge1xuICAgICAgICBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVwZGF0ZVByb2ZpbGUoe1xuICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgdG9rZW46IG51bGwsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZUN1cnJlbnRVc2VyKHByb2ZpbGU6IFByb2ZpbGUpIHtcbiAgICAgICAgdGhpcy5jdSA9IG5ldyBQcm9maWxlRW50aXR5KHByb2ZpbGUpO1xuICAgICAgICB0aGlzLmlzQ2hhbmdlZC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIGdldFNwTW9kdWxlKCk6IFNwTW9kdWxlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3BNb2R1bGU7XG4gICAgfVxufVxuIl19
|
|
501
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkvQixPQUFPLEVBQUUsV0FBVyxFQUFrQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQUNqSixPQUFPLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXhLLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7O0FBVW5DOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUF1QnhCLFlBQ1ksY0FBOEIsRUFDOUIsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsTUFBYyxFQUNkLFFBQWtCLEVBQ2xCLE1BQWMsRUFDZCxTQUEyQixFQUNmLGdCQUEwQjtRQVB0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUE1QnZDLGNBQVMsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUVyRCxhQUFR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QUk7U0FDZCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDOzs0R0E5a0JRLGVBQWUsaU5BK0JaLFVBQVU7Z0hBL0JiLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFnQ1EsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IExldmVsU3RhdHVzLCBNaXNzaW9uLCBPcmdhbmlzYXRpb24sIFByb2ZpbGUsIFByb2ZpbGVFbnRpdHksIFByb2ZpbGVTdGF0dXMsIFByb3BlcnR5VHlwZSwgUm9sZVN0YXR1cywgU3BNb2R1bGUgfSBmcm9tIFwiLi4vdHlwZXMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBlbnVtVG9BcnJheSwgZmlsdGVyVW5pcXVlQXJyYXlCeUlELCBnZXRIaWdoZXN0TGV2ZWxGb3JNaXNzaW9ucywgZ2V0SGlnaGVzdFJvbGVGb3JNaXNzaW9ucywgZ2V0TGV2ZWxzQmVsb3csIGdldFJvbGVzQmVsb3dGb3JNYW5hZ2VyIH0gZnJvbSBcIi4uL2hlbHBlcnMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQcm9maWxlU2VydmljZSB9IGZyb20gXCIuL21vZGVscy9wcm9maWxlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWlzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi9tb2RlbHMvbWlzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb3BlcnR5U2VydmljZSB9IGZyb20gXCIuL21vZGVscy9wcm9wZXJ0eS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XHJcbmltcG9ydCB7IEF1dGggfSBmcm9tIFwiYXdzLWFtcGxpZnlcIjtcclxuXHJcbmludGVyZmFjZSBDcmVhdGVVc2VyIHtcclxuICAgIGVtYWlsOiBzdHJpbmc7XHJcbiAgICBwaG9uZT86IHN0cmluZztcclxuICAgIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcclxuICAgIHBhc3N3b3JkPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogVXNlclNlcnZpY2UgaGFuZGxlcyB1c2VyJ3MgbGlmZWN5Y2xlLCBmcm9tIGNyZWF0aW9uIHRvIGRlbGV0aW9uXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VVc2VyU2VydmljZSB7XHJcblxyXG4gICAgaXNDaGFuZ2VkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICB1cGRhdGluZyA9IGZhbHNlO1xyXG5cclxuICAgIG1hbmFnZXJzID0gW1xyXG4gICAgICAgIFJvbGVTdGF0dXMuQURNSU4sXHJcbiAgICAgICAgUm9sZVN0YXR1cy5NQU5BR0VSLFxyXG4gICAgICAgIFJvbGVTdGF0dXMuT1dORVIsXHJcbiAgICAgICAgUm9sZVN0YXR1cy5HVUlERV9NVVNFVU0sXHJcbiAgICBdO1xyXG5cclxuICAgIGN1cnJlbnRNaXNzaW9uczogTWlzc2lvbltdO1xyXG5cclxuICAgIGxhc3RFeHBpcmVkTWlzc2lvbjogTWlzc2lvbjtcclxuXHJcbiAgICBuZXh0TWlzc2lvblRvU3RhcnQ6IE1pc3Npb247XHJcblxyXG4gICAgY3U6IFByb2ZpbGVFbnRpdHkgPSBudWxsO1xyXG5cclxuICAgIHNwTW9kdWxlOiBTcE1vZHVsZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1pc3Npb25TZXJ2aWNlOiBNaXNzaW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHByb3BlcnR5U2VydmljZTogUHJvcGVydHlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KCdTUE1vZHVsZScpIHNwTW9kdWxlSW5qZWN0ZWQ6IFNwTW9kdWxlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgLy8gdGhpcy5jaGVja0Nvbm5lY3RlZEFXU1VzZXIoKTtcclxuICAgICAgICB0aGlzLm1pc3Npb25TZXJ2aWNlLmN1cnJlbnRNaXNzaW9uc1VwZGF0ZWQuc3Vic2NyaWJlKGFzeW5jIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1pc3Npb25zID1cclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubWlzc2lvblNlcnZpY2UuaW5zdGFudE1pc3Npb25zT2ZDdXJyZW50KHRoaXMuY3UuaWQpO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2hhbmdlZC5uZXh0KHRydWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc3BNb2R1bGUgPSBzcE1vZHVsZUluamVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIGlmIEFXUyB1c2VyIGlzIGNvbm5lY3RlZCBhbmQgYXNzaWduZyBpdCB0byBjdXJyZW50IHVzZXIgKHRoaXMuY3UpXHJcbiAgICAqKi9cclxuICAgIGFzeW5jIGNoZWNrQ29ubmVjdGVkQVdTVXNlcigpIHtcclxuICAgICAgICBpZiAoIXRoaXMuY3UpIHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJjaGVjayBBV1MgdXNlclwiKTtcclxuICAgICAgICAgICAgbGV0IGNhdSA9IG51bGw7XHJcbiAgICAgICAgICAgIGxldCB1c2VyID0gbnVsbDtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy51cGRhdGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhdSA9IGF3YWl0IEF1dGguY3VycmVudEF1dGhlbnRpY2F0ZWRVc2VyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJjb25uZWN0ZWRcIiwgY2F1KTtcclxuICAgICAgICAgICAgICAgICAgICB1c2VyID0gYXdhaXQgdGhpcy5jdXJyZW50KGNhdSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJjdXJyZW50IG9mIHVzZXJTZXJ2aWNlXCIsIHVzZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxyXG4gICAgICAgICAgICBpZiAoIXVzZXIgJiYgIXRoaXMudXBkYXRpbmcpIHtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwibm8gdXNlciBpbiBjaGVjayBjb25uZWN0ZWQgYXdzIHVzZXJcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJhdXRoXCJdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGNyZWF0ZVVzZXIgc3Bhd25zIGEgbmV3IFVzZXIsIGFsb25nIHdpdGg6XHJcbiAgICAgKiAtIGEgcHJvcGVyIEFXU0NvZ25pdG8gc2lnbnVwXHJcbiAgICAgKiAtIGEgUHJvZmlsZSBlbnRyeSBob2xkaW5nIHRoZSBBV1NDb2duaXRvIElEXHJcbiAgICAgKiAtIGEgTWlzc2lvbiBlbnRyeSBob2xkaW5nIHRoZSBPcmdhbmlzYXRpb24gSURcclxuICAgICAqXHJcbiAgICAgKiBAc2VlIDE3NFxyXG4gICAgICogQHNlZSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvbGliL2F1dGgvZW1haWxwYXNzd29yZC9xL3BsYXRmb3JtL2pzI3NpZ24tdXBcclxuICAgICAqIEB0b2RvIHdvbmRlciBpZiB3ZSBjYW4gbWFzaCB0b2dldGhlciBQcm9maWxlLCBNaXNzaW9uIGFuZCBVc2VyIGVudHJpZXNcclxuICAgICAqIEBwYXJhbSB1IFVzZXIgdG8gYmUgY3JlYXRlZFxyXG4gICAgICovXHJcbiAgICBhc3luYyBjcmVhdGVVc2VyQVdTYW5kUHJvZmlsZShcclxuICAgICAgICB1OiB7XHJcbiAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIHBob25lOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGZpcnN0TmFtZTogc3RyaW5nO1xyXG4gICAgICAgICAgICBwYXNzd29yZD86IHN0cmluZztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHByZXZhbGlkYXRlZDogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgKTogUHJvbWlzZTxQcm9maWxlPiB7XHJcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHtcclxuICAgICAgICAgICAgZW1haWw6IHUuZW1haWwudHJpbSgpLFxyXG4gICAgICAgICAgICBnaXZlbl9uYW1lOiB1LmZpcnN0TmFtZSxcclxuICAgICAgICAgICAgZmFtaWx5X25hbWU6IHUubGFzdE5hbWUsXHJcbiAgICAgICAgICAgIHpvbmVpbmZvOiBcImZyXCIsIC8vIEB0b2RvIGRlYWwgd2l0aCB6b25laW5mbyBhbmQgbG9jYWxlXHJcbiAgICAgICAgICAgIGxvY2FsZTogXCJmclwiLFxyXG4gICAgICAgICAgICBcImN1c3RvbTpwcmV2YWxpZGF0ZWRcIjogXCJmYWxzZVwiLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKHByZXZhbGlkYXRlZCkge1xyXG4gICAgICAgICAgICBhdHRyaWJ1dGVzW1wiY3VzdG9tOnByZXZhbGlkYXRlZFwiXSA9IFwidHJ1ZVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBV1NDb2duaXRvXHJcbiAgICAgICAgY29uc3QgcGFzc3dvcmQgPSB1LnBhc3N3b3JkID8gdS5wYXNzd29yZCA6IFwidGVtcG9yYXJ5cFwiO1xyXG4gICAgICAgIGxldCBlcnJvcjtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB7IHVzZXJTdWIgfSA9IGF3YWl0IEF1dGguc2lnblVwKHtcclxuICAgICAgICAgICAgICAgIHVzZXJuYW1lOiB1LmVtYWlsLCAvLyB1c2VybmFtZSBzaG91bGQgYmUgYW4gZW1haWwgdGhleSBzYXlcclxuICAgICAgICAgICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcyxcclxuICAgICAgICAgICAgICAgIGNsaWVudE1ldGFkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGhvbmU6IHUucGhvbmUsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKHVzZXJTdWIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVByb2ZpbGUodXNlclN1YiwgdSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlcnJvcl86IGFueSkge1xyXG4gICAgICAgICAgICBzd2l0Y2ggKGVycm9yXy5jb2RlKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiSW52YWxpZFBhc3N3b3JkRXhjZXB0aW9uXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBcImF1dGguZXJyb3Iud3JvbmdfcGFzc3dvcmRcIjtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBcImF1dGguZXJyb3IudXNlcl9ub3RfY29uZmlybWVkXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvblwiOlxyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gXCJhdXRoLmVycm9yLmludmFsaWRfcGFyYW1ldGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gZXJyb3JfLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2coYEFXUyBTaWduIFVQIGVycm9yIDogJHtlcnJvcn1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIC0gQ3JlYXRlcyBBV1MgdXNlciBpbiBDb2duaXRvIGZvciBIb3RlbCBVc2VyIFBvb2wgU2NoZW1hIChvbmx5IGVtYWlsIGlzIHJlcXVpcmVkKVxyXG4gICAgICogLSBDcmVhdGVzIFByb2ZpbGUgaW4gRHluYW1vREJcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gdSBVc2VyIHRvIGJlIGNyZWF0ZWRcclxuICAgICAqL1xyXG4gICAgYXN5bmMgY3JlYXRlSG90ZWxVc2VyQVdTYW5kUHJvZmlsZShcclxuICAgICAgICB1c2VyOiB7XHJcbiAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGZpcnN0TmFtZTogc3RyaW5nO1xyXG4gICAgICAgIH0sXHJcbiAgICApOiBQcm9taXNlPFByb2ZpbGU+IHtcclxuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0ge1xyXG4gICAgICAgICAgICBlbWFpbDogdXNlci5lbWFpbC50cmltKClcclxuICAgICAgICB9O1xyXG4gICAgICAgIC8vIEFXU0NvZ25pdG9cclxuICAgICAgICBjb25zdCBwYXNzd29yZCA9IFwidGVtcG9yYXJ5cFwiO1xyXG4gICAgICAgIGxldCBlcnJvcjtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB7IHVzZXJTdWIgfSA9IGF3YWl0IEF1dGguc2lnblVwKHtcclxuICAgICAgICAgICAgICAgIHVzZXJuYW1lOiB1c2VyLmVtYWlsLnRyaW0oKSxcclxuICAgICAgICAgICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmICh1c2VyU3ViKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVQcm9maWxlKHVzZXJTdWIsIHVzZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3JfOiBhbnkpIHtcclxuICAgICAgICAgICAgc3dpdGNoIChlcnJvcl8uY29kZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIkludmFsaWRQYXNzd29yZEV4Y2VwdGlvblwiOlxyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gXCJhdXRoLmVycm9yLndyb25nX3Bhc3N3b3JkXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5vdENvbmZpcm1lZEV4Y2VwdGlvblwiOlxyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gXCJhdXRoLmVycm9yLnVzZXJfbm90X2NvbmZpcm1lZFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIkludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb25cIjpcclxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IFwiYXV0aC5lcnJvci5pbnZhbGlkX3BhcmFtZXRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGVycm9yXy5tZXNzYWdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBBV1MgU2lnbiBVUCBlcnJvciA6ICR7ZXJyb3J9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlUHJvZmlsZShcclxuICAgICAgICBhd3NVc2VySUQ6IHN0cmluZyxcclxuICAgICAgICB1OiBDcmVhdGVVc2VyLFxyXG4gICAgKTogUHJvbWlzZTxQcm9maWxlPiB7XHJcbiAgICAgICAgY29uc3QgcHJvZmlsZSA9IGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuY3JlYXRlUHJvZmlsZSh7XHJcbiAgICAgICAgICAgIHVzZXJJRDogYXdzVXNlcklELFxyXG4gICAgICAgICAgICBtZXRhZGF0YTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgZW1haWw6IHUuZW1haWwsXHJcbiAgICAgICAgICAgICAgICBwaG9uZTogdS5waG9uZSxcclxuICAgICAgICAgICAgICAgIGxhc3ROYW1lOiB1Lmxhc3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lOiB1LmZpcnN0TmFtZSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHN0YXR1czogUHJvZmlsZVN0YXR1cy5XQUlUSU5HX0ZPUl9BQ1RJVkFUSU9OLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBwcm9maWxlO1xyXG4gICAgfVxyXG5cclxuICAgIGN1cnJlbnRPcmdhbmlzYXRpb24oc3BhY2VJRDogc3RyaW5nID0gbnVsbCk6IE9yZ2FuaXNhdGlvbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3UpIHtcclxuICAgICAgICAgICAgaWYgKCFzcGFjZUlEKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnNbMF0ub3JnYW5pc2F0aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNaXNzaW9uKHNwYWNlSUQpLm9yZ2FuaXNhdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3VycmVudChcclxuICAgICAgICB1c2VyLFxyXG4gICAgICAgIGZhc3RDb25uZWN0OiBib29sZWFuID0gZmFsc2UsXHJcbiAgICApOiBQcm9taXNlPFByb2ZpbGVFbnRpdHkgfCBudWxsPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1ICYmICF0aGlzLnVwZGF0aW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmN1ID0gYXdhaXQgdGhpcy51c2VyRnJvbUFXU0lEKHVzZXIudXNlcm5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuY3UgJiYgdXNlci5hdHRyaWJ1dGVzLmVtYWlsKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcclxuICAgICAgICAgICAgICAgICAgICBgTm8gcHJvZmlsZSBmb3IgdXNlcklEIPCflKogJHt1c2VyLmF0dHJpYnV0ZXMuZW1haWx9YCxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAvLyBUaGVyZSdzIG5vIHByb2ZpbGVzLCBwcm9maWxlcy5pdGVtcy5sZW5ndGggPT09IDBcclxuICAgICAgICAgICAgICAgIC8vIEl0J3MgbWF5YmUgdGhlIPCfpK4gY2FzZSB3aGVyZSB0aGUgcHJvZmlsZSBoYXMgYmVlbiBzYXZlZCB3aXRoIGFuIGVtYWlsXHJcbiAgICAgICAgICAgICAgICAvLyBpbnN0ZWFkIG9mIGFuIGhhc2hlZCBpZFxyXG4gICAgICAgICAgICAgICAgLy8gSWYgZm91bmQsIHdlIG5lZWQgdG8gcmVwbGFjZSB0aGUgaWQgaW4gYm90aCB0aGUgUHJvZmlsZVxyXG4gICAgICAgICAgICAgICAgY29uc3QgZW1haWxQcm9maWxlID0gYXdhaXQgdGhpcy51c2VyRnJvbUFXU0lEKFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZXIuYXR0cmlidXRlcy5lbWFpbCxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZW1haWxQcm9maWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGDwn5GPIGRvaW5nIHRoZSBzcGFjZWhpcCByZXZlcnNhbCBlbWFpbCBvbiAke3VzZXIuYXR0cmlidXRlcy5lbWFpbH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdSA9IGF3YWl0IHRoaXMudXNlckZyb21BV1NJRCh1c2VyLnVzZXJuYW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoIXRoaXMuY3UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGF3YWl0IEF1dGguc2lnbk91dCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgbWlzc2lvbnMgPSBhd2FpdCB0aGlzLm1pc3Npb25TZXJ2aWNlLmluc3RhbnRNaXNzaW9uc09mQ3VycmVudChcclxuICAgICAgICAgICAgICAgIHRoaXMuY3UuaWRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TWlzc2lvbnMgPSBtaXNzaW9ucztcclxuICAgICAgICAgICAgbGV0IG9rVG9Mb2dpbiA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmICghZmFzdENvbm5lY3QgJiYgIXRoaXMuaGFzTWFuYWdlclJvbGVJbkFueU1pc3Npb24oKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gY2hlY2sgYWNjZXNzIHRva2VuIGlmIG5vdCBGYXN0IGNvbm5lY3QgKGZhc3QgY29ubmVjdCBpcyBmb3IgdGhlIGd1ZXN0IGNvbm5lY3Rpb24gdmlhIGxpbmsoL3JlZGlyZWN0P3VzZXI9KSlcclxuICAgICAgICAgICAgICAgIC8vIGNoZWNrcyB2aXNpdG9ycyhtdXNldW0gb3Igbm90KSwgb2NjdXBhbnRzLCBzZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICBva1RvTG9naW4gPSBhd2FpdCB0aGlzLmNoZWNrQWNjZXNzVG9rZW4oXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlci5zaWduSW5Vc2VyU2Vzc2lvbi5hY2Nlc3NUb2tlbi5qd3RUb2tlbixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFva1RvTG9naW4pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3UgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGF3YWl0IEF1dGguc2lnbk91dCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9maWxlU2VydmljZS51cGRhdGVQcm9maWxlKHtcclxuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmN1LmlkLFxyXG4gICAgICAgICAgICAgICAgbGFzdENvbm5lY3RlZEF0OiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKCFtaXNzaW9ucyAmJiB0aGlzLmxvY2F0aW9uLnBhdGgoKSAhPT0gXCIvbm8tbWlzc2lvblwiKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9uby1taXNzaW9uXCJdKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwidXNlciBpcyBjaGFuZ2VkIGVtaXR0aW5nXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2hhbmdlZC5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmN1O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVzZXJGcm9tQVdTSUQodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPFByb2ZpbGVFbnRpdHkgfCBudWxsPiB7XHJcbiAgICAgICAgY29uc3QgcHJvZmlsZSA9IGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0UHJvZmlsZUZyb21BV1NJRCh1c2VySWQpO1xyXG4gICAgICAgIGlmIChwcm9maWxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvZmlsZUVudGl0eShwcm9maWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdXNlckZyb21Vc2VySUQodXNlcklEOiBzdHJpbmcpOiBQcm9taXNlPFByb2ZpbGVFbnRpdHkgfCBudWxsPiB7XHJcbiAgICAgICAgY29uc3QgcHJvZmlsZSA9IGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0UHJvZmlsZSh1c2VySUQpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvZmlsZUVudGl0eShwcm9maWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBjdXJyZW50TWlzc2lvbihzcGFjZUlEOiBzdHJpbmcpOiBNaXNzaW9uIHtcclxuICAgICAgICBjb25zdCBtaXNzaW9uID0gdGhpcy5nZXRNaXNzaW9uRm9yU3BhY2Uoc3BhY2VJRCk7XHJcbiAgICAgICAgcmV0dXJuIG1pc3Npb247XHJcbiAgICB9XHJcblxyXG4gICAgaXNNYW5hZ2VyKHNwYWNlSUQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG1pc3Npb24gPSB0aGlzLmdldE1pc3Npb25Gb3JTcGFjZShzcGFjZUlEKTtcclxuICAgICAgICBpZiAobWlzc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2Vycy5pbmNsdWRlcyhtaXNzaW9uLnJvbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaXNTZXJ2aWNlKHNwYWNlSUQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG1pc3Npb24gPSB0aGlzLmdldE1pc3Npb25Gb3JTcGFjZShzcGFjZUlEKTtcclxuICAgICAgICBpZiAobWlzc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gbWlzc2lvbi5yb2xlID09PSBSb2xlU3RhdHVzLlNFUlZJQ0U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpc0FkbWluKHNwYWNlSUQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG1pc3Npb24gPSB0aGlzLmdldE1pc3Npb25Gb3JTcGFjZShzcGFjZUlEKTtcclxuICAgICAgICBpZiAobWlzc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gbWlzc2lvbi5yb2xlID09PSBSb2xlU3RhdHVzLkFETUlOO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaXNTbWFydGVyUGxhbigpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMuY3VycmVudE1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgc3BNaXNzaW9ucyA9IHRoaXMuY3VycmVudE1pc3Npb25zLmZpbHRlcihcclxuICAgICAgICAgICAgKG0pID0+XHJcbiAgICAgICAgICAgICAgICBtLm9yZ2FuaXNhdGlvbklEID09PSBcIjZlMjgyMDFmLTQ2NzktNGMyOS05ZDJkLThhMzI1ZjU3Y2VlOVwiICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hbmFnZXJzLmluY2x1ZGVzKG0ucm9sZSksXHJcbiAgICAgICAgKTsgLy8gSUQgb2YgU21hcnRlclBsYW5cclxuICAgICAgICByZXR1cm4gc3BNaXNzaW9ucy5sZW5ndGggPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlzU1BBZG1pbigpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMuY3VycmVudE1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgc3BNaXNzaW9ucyA9IHRoaXMuY3VycmVudE1pc3Npb25zLmZpbHRlcihcclxuICAgICAgICAgICAgKG0pID0+XHJcbiAgICAgICAgICAgICAgICBtLm9yZ2FuaXNhdGlvbklEID09PSBcIjZlMjgyMDFmLTQ2NzktNGMyOS05ZDJkLThhMzI1ZjU3Y2VlOVwiICYmXHJcbiAgICAgICAgICAgICAgICBtLnJvbGUgPT09IFJvbGVTdGF0dXMuQURNSU4sXHJcbiAgICAgICAgKTsgLy8gSUQgb2YgU21hcnRlclBsYW5cclxuICAgICAgICByZXR1cm4gc3BNaXNzaW9ucy5sZW5ndGggPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1pc3Npb25Gb3JTcGFjZShzcGFjZUlEOiBzdHJpbmcpOiBNaXNzaW9uIHtcclxuICAgICAgICBpZiAoIXRoaXMuY3VycmVudE1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnMuZmluZCgobSkgPT4gbS5zcGFjZUlEID09PSBzcGFjZUlEKTtcclxuICAgIH1cclxuXHJcbiAgICBoYXNNYW5hZ2VyUm9sZUluQW55TWlzc2lvbigpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMuY3VycmVudE1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1pc3Npb25zLnNvbWUoKG1pcykgPT5cclxuICAgICAgICAgICAgdGhpcy5tYW5hZ2Vycy5pbmNsdWRlcyhtaXMucm9sZSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBoYXNTZXJ2aWNlUm9sZUluQW55TWlzc2lvbigpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMuY3VycmVudE1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1pc3Npb25zLnNvbWUoXHJcbiAgICAgICAgICAgIChtaXMpID0+IG1pcy5yb2xlID09PSBSb2xlU3RhdHVzLlNFUlZJQ0UsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBoYXNBZG1pblJvbGVJbkFueU1pc3Npb24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRNaXNzaW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNaXNzaW9ucy5zb21lKFxyXG4gICAgICAgICAgICAobWlzKSA9PiBtaXMucm9sZSA9PT0gUm9sZVN0YXR1cy5BRE1JTixcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZU9yVXBkYXRlTWlzc2lvbkZvck9yZ1dpdGhQcm9wZXJ0eShcclxuICAgICAgICBtaXNzaW9uSW5wdXQ6IE1pc3Npb24sXHJcbiAgICAgICAgb3JnSUQ6IHN0cmluZyxcclxuICAgICAgICBjcmVhdGU6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgKTogUHJvbWlzZTxNaXNzaW9uPiB7XHJcbiAgICAgICAgY29uc3QgbWlzc2lvbiA9IGF3YWl0IChjcmVhdGVcclxuICAgICAgICAgICAgPyB0aGlzLm1pc3Npb25TZXJ2aWNlLmNyZWF0ZShtaXNzaW9uSW5wdXQpXHJcbiAgICAgICAgICAgIDogdGhpcy5taXNzaW9uU2VydmljZS51cGRhdGUobWlzc2lvbklucHV0KSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1hbmFnZXJzLmluY2x1ZGVzKG1pc3Npb24ucm9sZSkgJiYgbWlzc2lvbi5zcGFjZUlEKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPVxyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9wZXJ0eVNlcnZpY2UuZ2V0UHJvcGVydGllc0Zvck9yZ2FuaXNhdGlvbihvcmdJRCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5U3BhY2VJRHMgPSBwcm9wZXJ0aWVzLm1hcChcclxuICAgICAgICAgICAgICAgIChwcm9wZXJ0eV8pID0+IHByb3BlcnR5Xy5zcGFjZUlELFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBpZiAocHJvcGVydHlTcGFjZUlEcy5pbmNsdWRlcyhtaXNzaW9uLnNwYWNlSUQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWlzc2lvbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyB3ZSBkZWxlZ2F0ZSB0aGUgcmlnaHRzIG9mIHRoZSBzcGFjZVxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb3BlcnR5U2VydmljZS5jcmVhdGVQcm9wZXJ0eSh7XHJcbiAgICAgICAgICAgICAgICBzcGFjZUlEOiBtaXNzaW9uLnNwYWNlSUQsXHJcbiAgICAgICAgICAgICAgICBvcmdhbmlzYXRpb25JRDogb3JnSUQsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBQcm9wZXJ0eVR5cGUuU0hBUkVELFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1pc3Npb247XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc29mdERlbGV0ZVVzZXIodXNlcklEOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBtaXNzaW9ucyA9IGF3YWl0IHRoaXMubWlzc2lvblNlcnZpY2UuZ2V0TWlzc2lvbnNGcm9tVXNlcklEKHVzZXJJRCk7XHJcbiAgICAgICAgaWYgKG1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVwZGF0ZVByb2ZpbGUoeyBpZDogdXNlcklELCBkZWxldGVkQXQ6IERhdGUubm93KCkgfSk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUHJvZmlsZSBzb2Z0IGRlbGV0ZWRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVja3MgaWYgdGhlIFByb2ZpbGUgKGJ5IGlkKSBjYW4gYmUgcmVtb3ZlZCBjb21wbGV0ZWx5IGZyb20gdGhlIERCIChubyBtaXNzaW9ucyBpbiB0aGUgREIpXHJcbiAgICAgKiBAcGFyYW0gcHJvZmlsZUlEXHJcbiAgICAgKiBAcmV0dXJucyBib29sZWFuXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGNhbkhhcmREZWxldGVVc2VyKHByb2ZpbGVJRDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgY29uc3QgbWlzc2lvbnMgPSAoYXdhaXQgdGhpcy5taXNzaW9uU2VydmljZS5nZXRNaXNzaW9uc0Zyb21Vc2VySUQocHJvZmlsZUlEKSk7XHJcbiAgICAgICAgcmV0dXJuIG1pc3Npb25zLmxlbmd0aCA9PT0gMDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBoYXJkRGVsZXRlVXNlcih1c2VySUQ6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGRlbGV0ZWQgPSBhd2FpdCB0aGlzLnByb2ZpbGVTZXJ2aWNlLmRlbGV0ZVByb2ZpbGUodXNlcklEKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlByb2ZpbGUgaGFyZCBkZWxldGVkXCIpO1xyXG4gICAgICAgIHJldHVybiBkZWxldGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1hbmFnZXJNaXNzaW9ucygpOiBNaXNzaW9uW10ge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TWlzc2lvbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnMuZmlsdGVyKChtaXMpID0+XHJcbiAgICAgICAgICAgIHRoaXMubWFuYWdlcnMuaW5jbHVkZXMobWlzLnJvbGUpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QXZhbGFibGVMZXZlbHNGb3JDdXJyZW50VXNlcigpOiBMZXZlbFN0YXR1c1tdIHtcclxuICAgICAgICBpZiAoIXRoaXMuY3VycmVudE1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbTGV2ZWxTdGF0dXMuTUlOSU1VTV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxldmVscyA9IGVudW1Ub0FycmF5KExldmVsU3RhdHVzKTtcclxuICAgICAgICBjb25zdCBoaWdoZXN0TGV2ZWwgPSBnZXRIaWdoZXN0TGV2ZWxGb3JNaXNzaW9ucyh0aGlzLmN1cnJlbnRNaXNzaW9ucyk7XHJcblxyXG4gICAgICAgIHJldHVybiBsZXZlbHMuZmlsdGVyKChsZXZlbCkgPT5cclxuICAgICAgICAgICAgZ2V0TGV2ZWxzQmVsb3coaGlnaGVzdExldmVsKS5pbmNsdWRlcyhsZXZlbCksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBdmFpbGFibGVSb2xlc0ZvckN1cnJlbnRVc2VyKCk6IFJvbGVTdGF0dXNbXSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRNaXNzaW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4gW1JvbGVTdGF0dXMuVklTSVRPUl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJvbGVzID0gZW51bVRvQXJyYXkoUm9sZVN0YXR1cyk7XHJcbiAgICAgICAgY29uc3QgaGlnaGVzdFJvbGUgPSBnZXRIaWdoZXN0Um9sZUZvck1pc3Npb25zKHRoaXMuY3VycmVudE1pc3Npb25zKTtcclxuICAgICAgICByZXR1cm4gcm9sZXMuZmlsdGVyKChyb2xlKSA9PlxyXG4gICAgICAgICAgICBnZXRSb2xlc0JlbG93Rm9yTWFuYWdlcihoaWdoZXN0Um9sZSkuaW5jbHVkZXMocm9sZSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogVGVzdCBpZiB0aGUgdXNlciBoYXZlIHRoZSByb2xlIGdpdmVuIGluIHBhcmFtZXRlciA6IFwicm9sZVN0YXR1c1wiICovXHJcbiAgICBpc1JvbGUocm9sZVN0YXR1czogUm9sZVN0YXR1cyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TWlzc2lvbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnMuc29tZSgobSkgPT4gbS5yb2xlID09PSByb2xlU3RhdHVzKTtcclxuICAgIH1cclxuXHJcbiAgICBpc0d1aWRlKHNwYWNlSUQ6IHN0cmluZyA9IG51bGwpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoc3BhY2VJRCkge1xyXG4gICAgICAgICAgICBjb25zdCBtaXNzaW9uID0gdGhpcy5nZXRNaXNzaW9uRm9yU3BhY2Uoc3BhY2VJRCk7XHJcbiAgICAgICAgICAgIGlmIChtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWlzc2lvbi5yb2xlID09PSBSb2xlU3RhdHVzLkdVSURFX01VU0VVTTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5pc1JvbGUoUm9sZVN0YXR1cy5HVUlERV9NVVNFVU0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlzTXVzZXVtVmlzaXRvcihzcGFjZUlEOiBzdHJpbmcgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHNwYWNlSUQpIHtcclxuICAgICAgICAgICAgY29uc3QgbWlzc2lvbiA9IHRoaXMuZ2V0TWlzc2lvbkZvclNwYWNlKHNwYWNlSUQpO1xyXG4gICAgICAgICAgICBpZiAobWlzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1pc3Npb24ucm9sZSA9PT0gUm9sZVN0YXR1cy5WSVNJVE9SX01VU0VVTTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5pc1JvbGUoUm9sZVN0YXR1cy5WSVNJVE9SX01VU0VVTSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNPY2N1cGFudCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1JvbGUoUm9sZVN0YXR1cy5PQ0NVUEFOVCk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNWaXNpdG9yKHNwYWNlSUQ6IHN0cmluZyA9IG51bGwpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoc3BhY2VJRCkge1xyXG4gICAgICAgICAgICBjb25zdCBtaXNzaW9uID0gdGhpcy5nZXRNaXNzaW9uRm9yU3BhY2Uoc3BhY2VJRCk7XHJcbiAgICAgICAgICAgIGlmIChtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWlzc2lvbi5yb2xlID09PSBSb2xlU3RhdHVzLlZJU0lUT1I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSb2xlKFJvbGVTdGF0dXMuVklTSVRPUik7XHJcbiAgICB9XHJcblxyXG4gICAgaXNNdXNldW1Vc2VyKHNwYWNlSUQ6IHN0cmluZyA9IG51bGwpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0d1aWRlKHNwYWNlSUQpIHx8IHRoaXMuaXNNdXNldW1WaXNpdG9yKHNwYWNlSUQpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhc09ubHlNdXNldW1Sb2xlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNaXNzaW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWlzc2lvbnMuZXZlcnkoXHJcbiAgICAgICAgICAgICAgICAobSkgPT5cclxuICAgICAgICAgICAgICAgICAgICBtLnJvbGUgPT09IFJvbGVTdGF0dXMuR1VJREVfTVVTRVVNIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgbS5yb2xlID09PSBSb2xlU3RhdHVzLlZJU0lUT1JfTVVTRVVNLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcHJvZmlsZUZvck1haWwobWFpbDogc3RyaW5nKTogUHJvbWlzZTxQcm9maWxlPiB7XHJcbiAgICAgICAgY29uc3QgdXNlcnNXaXRoTWFpbCA9IGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0VXNlcnNGb3JNYWlsKG1haWwpO1xyXG4gICAgICAgIHJldHVybiB1c2Vyc1dpdGhNYWlsLmxlbmd0aCA+IDAgPyB1c2Vyc1dpdGhNYWlsWzBdIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjdXJyZW50T3JkZXJlZE9yZ0xpc3QoKTogT3JnYW5pc2F0aW9uW10ge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TWlzc2lvbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvcmRlcmVkT3JnTGlzdCA9IHRoaXMuY3VycmVudE1pc3Npb25zLm1hcChcclxuICAgICAgICAgICAgKG1pcykgPT4gbWlzLm9yZGVyZWRPcmdhbmlzYXRpb24sXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZmlsdGVyVW5pcXVlQXJyYXlCeUlEKG9yZGVyZWRPcmdMaXN0KTtcclxuICAgIH1cclxuXHJcbiAgICB1c2VySGFzQWNjZXNzVG9BbGxab25lc0luU3BhY2Uoc3BhY2VJRDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgbWlzc2lvbnNGb3JTcGFjZSA9IHRoaXMuY3VycmVudE1pc3Npb25zLmZpbHRlcihcclxuICAgICAgICAgICAgKG1pcykgPT4gbWlzLnNwYWNlSUQgPT09IHNwYWNlSUQsXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gbWlzc2lvbnNGb3JTcGFjZS5zb21lKFxyXG4gICAgICAgICAgICAobWlzc2lvbikgPT5cclxuICAgICAgICAgICAgICAgICFtaXNzaW9uLnpvbmVJRCB8fCAobWlzc2lvbi56b25lICYmICFtaXNzaW9uLnpvbmUucGFyZW50SUQpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbG9nb3V0Q3VycmVudEFuZFNpZ25PdXRBdXRoKCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UudXBkYXRlUHJvZmlsZSh7XHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmN1LmlkLFxyXG4gICAgICAgICAgICB0b2tlbjogbnVsbCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmN1ID0gbnVsbDtcclxuICAgICAgICB0aGlzLmN1cnJlbnRNaXNzaW9ucyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pc0NoYW5nZWQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgYXdhaXQgQXV0aC5zaWduT3V0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbG9nb3V0Q3VycmVudFdpaHRvdXRBdXRoKCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UudXBkYXRlUHJvZmlsZSh7XHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmN1LmlkLFxyXG4gICAgICAgICAgICB0b2tlbjogbnVsbCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmN1ID0gbnVsbDtcclxuICAgICAgICB0aGlzLmN1cnJlbnRNaXNzaW9ucyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pc0NoYW5nZWQubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY2hlY2tBY2Nlc3NUb2tlbihqd3RUb2tlbjogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgY29uc3Qgbm93ID0gRGF0ZVRpbWUubG9jYWwoKTtcclxuICAgICAgICBpZiAodGhpcy5jdS50b2tlbiAmJiB0aGlzLmN1LnRva2VuRXhwaXJlZEF0ID4gbm93LnRvTWlsbGlzKCkpIHtcclxuICAgICAgICAgICAgLy8gY2hlY2sgdG9rZW5cclxuICAgICAgICAgICAgaWYgKHRoaXMuY3UudG9rZW4gPT09IGp3dFRva2VuKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcInNhbWUgYXdzIHRva2VuXCIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYWxlcnQodGhpcy50cmFuc2xhdGUuaW5zdGFudChcImF1dGguZXJyb3IuYWN0aXZlVG9rZW5cIikpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UudXBkYXRlUHJvZmlsZSh7XHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmN1LmlkLFxyXG4gICAgICAgICAgICB0b2tlbkV4cGlyZWRBdDogbm93LnBsdXMoeyBtaW51dGVzOiA1IH0pLnRvTWlsbGlzKCksXHJcbiAgICAgICAgICAgIHRva2VuOiBqd3RUb2tlbixcclxuICAgICAgICAgICAgc3RhdHVzOiBQcm9maWxlU3RhdHVzLkFDVElWRSxcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjbGVhclVzZXJUb2tlbihpZCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMucHJvZmlsZVNlcnZpY2UudXBkYXRlUHJvZmlsZSh7XHJcbiAgICAgICAgICAgIGlkOiBpZCxcclxuICAgICAgICAgICAgdG9rZW46IG51bGwsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQ3VycmVudFVzZXIocHJvZmlsZTogUHJvZmlsZSkge1xyXG4gICAgICAgIHRoaXMuY3UgPSBuZXcgUHJvZmlsZUVudGl0eShwcm9maWxlKTtcclxuICAgICAgICB0aGlzLmlzQ2hhbmdlZC5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFNwTW9kdWxlKCk6IFNwTW9kdWxlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zcE1vZHVsZTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
47
47
|
providedIn: 'root'
|
|
48
48
|
}]
|
|
49
49
|
}], ctorParameters: function () { return []; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy92YWxpZGF0b3JzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixnQkFBZ0IsQ0FBQztJQUVqQjs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLE9BQU87UUFDM0IsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxPQUFPO1FBQ3JCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUMzQixPQUFPLG9CQUFvQixDQUFDO2FBQzdCO1lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsT0FBTyxtQkFBbUIsQ0FBQzthQUM1QjtZQUNELElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZCLE9BQU8sZ0JBQWdCLENBQUM7YUFDekI7WUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUN4QixPQUFPLGlCQUFpQixDQUFDO2FBQzFCO1lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDNUIsT0FBTyxxQkFBcUIsQ0FBQzthQUM5QjtZQUNELElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLE9BQU8sa0JBQWtCLENBQUM7YUFDM0I7U0FDRjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7OEdBekNVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvcnNTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJuIGlmIGNvbnRyb2wgYXMgZXJyb3JcclxuICAgKiBAcGFyYW0gY29udHJvbCBcclxuICAgKiBAcmV0dXJucyBcclxuICAgKi9cclxuICBwdWJsaWMgaXNDb250cm9sRXJyb3IoY29udHJvbCkge1xyXG4gICAgcmV0dXJuIChjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiBjb250cm9sLnRvdWNoZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJuIGVycm9yIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbCBcclxuICAgKiBAcmV0dXJucyBcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0RXJyb3IoY29udHJvbCkge1xyXG4gICAgaWYgKGNvbnRyb2wuZXJyb3JzKSB7XHJcbiAgICAgIGlmIChjb250cm9sLmVycm9ycy5yZXF1aXJlZCkge1xyXG4gICAgICAgIHJldHVybiAnZXJyb3JGb3JtLnJlcXVpcmVkJztcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29udHJvbC5lcnJvcnMuaXNFbXB0eSkge1xyXG4gICAgICAgIHJldHVybiAnZXJyb3JGb3JtLmlzRW1wdHknO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb250cm9sLmVycm9ycy50ZXh0KSB7XHJcbiAgICAgICAgcmV0dXJuICdlcnJvckZvcm0udGV4dCc7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbnRyb2wuZXJyb3JzLmVtYWlsKSB7XHJcbiAgICAgICAgcmV0dXJuICdlcnJvckZvcm0uZW1haWwnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb250cm9sLmVycm9ycy5tYXhsZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4gJ2Vycm9yRm9ybS5tYXhMZW5ndGgnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb250cm9sLmVycm9ycy5udW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gJ2Vycm9yRm9ybS5udW1iZXInO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -73,4 +73,4 @@ export const showScanPointsOnPlanInDiv = async (plan, divPlan, navigations) => {
|
|
|
73
73
|
}));
|
|
74
74
|
return buttons;
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1kcmF3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvem9uZS1kcmF3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzNELE1BQU0sVUFBVSx1QkFBdUIsQ0FDbkMsR0FBcUIsRUFDckIsU0FBYztJQUVkLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxNQUFNLENBQUM7SUFDWCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDeEMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ3JELCtDQUErQztJQUMvQywrREFBK0Q7SUFDL0Qsb0NBQW9DO0lBQ3BDLElBQUksUUFBUSxHQUFHLFNBQVMsRUFBRTtRQUN0QixzQ0FBc0M7UUFDdEMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNyQyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDO0tBQzlDO1NBQU07UUFDSCxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUM7S0FDNUM7SUFDRCwrQkFBK0I7SUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUF5QjtJQUNqRCxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxpRkFBaUYsQ0FBQztJQUNqSCxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUM7SUFDN0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQ25DLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUM3QixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDNUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQzdCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxLQUFLLEVBQzFDLElBQVUsRUFDVixPQUFvQixFQUNwQixXQUF5QixFQUNHLEVBQUU7SUFDOUIsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRS9DLE1BQU0sR0FBRyxHQUFHLE1BQU0sZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxPQUFPLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQztJQUN4RCxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7SUFDekMsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUM7SUFDN0MsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQywrQkFBK0I7SUFDakQsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7SUFDL0QsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDN0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUQsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ25CLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDYixXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixPQUFPLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztRQUMxQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZiw2QkFBNkI7WUFDN0IsaUNBQWlDO1lBQ2pDLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDcEIsQ0FBQztZQUNGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQ3ZDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQ3BDLENBQUM7WUFDRixJQUFJLGNBQWMsRUFBRTtnQkFDaEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ3JDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO2dCQUN2QyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUNoQixDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsU0FBUyxDQUFDLFNBQVM7b0JBQ3JELEVBQ0osSUFBSSxDQUFDO2dCQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQ2pCLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsUUFBUSxHQUFHLEVBQzFELElBQUksQ0FBQzthQUNSO1NBQ0o7YUFBTTtZQUNILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQU0sR0FBRyxFQUFFLElBQUksQ0FBQztZQUMzQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLEdBQUcsRUFBRSxJQUFJLENBQUM7U0FDL0M7UUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNGLE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldE1ldGFGb3JJbWFnZSwgd2FpdCB9IGZyb20gXCIuLi9oZWxwZXJzLnNlcnZpY2VcIjtcbmltcG9ydCB7IE5hdmlnYXRpb24sIFBsYW4gfSBmcm9tIFwiLi4vdHlwZXMuc2VydmljZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29lZmZpY2llbnRzRm9ySW1hZ2UoXG4gICAgaW1nOiBIVE1MSW1hZ2VFbGVtZW50LFxuICAgIHJlY3RhbmdsZTogYW55LFxuKTogeyBjb2VmZlg6IG51bWJlcjsgY29lZmZZOiBudW1iZXIgfSB7XG4gICAgbGV0IGNvZWZmWTtcbiAgICBsZXQgY29lZmZYO1xuICAgIGNvbnN0IGltZ1JhdGlvID0gaW1nLndpZHRoIC8gaW1nLmhlaWdodDtcbiAgICBjb25zdCByZWN0UmF0aW8gPSByZWN0YW5nbGUud2lkdGggLyByZWN0YW5nbGUuaGVpZ2h0O1xuICAgIC8vIGNvbnNvbGUubG9nKFwiaW1hZ2VcIiwgaW1nLndpZHRoLCBpbWcuaGVpZ2h0KTtcbiAgICAvLyBjb25zb2xlLmxvZyhcInJlY3RhbmdsZVwiLCByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQpO1xuICAgIC8vIGNvbnNvbGUubG9nKGltZ1JhdGlvLCByZWN0UmF0aW8pO1xuICAgIGlmIChpbWdSYXRpbyA+IHJlY3RSYXRpbykge1xuICAgICAgICAvLyBpbWcgaXMgZml0dGVkIGluIHJlY3RhbmdsZSBieSB3aWR0aFxuICAgICAgICBjb2VmZlggPSBpbWcud2lkdGggLyByZWN0YW5nbGUud2lkdGg7XG4gICAgICAgIGNvbnN0IGVmZmVjdGl2ZUltYWdlSGVpZ2h0ID0gcmVjdGFuZ2xlLndpZHRoIC8gaW1nUmF0aW87XG4gICAgICAgIGNvZWZmWSA9IGltZy5oZWlnaHQgLyBlZmZlY3RpdmVJbWFnZUhlaWdodDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb2VmZlkgPSBpbWcuaGVpZ2h0IC8gcmVjdGFuZ2xlLmhlaWdodDtcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlSW1hZ2VXaWR0aCA9IHJlY3RhbmdsZS5oZWlnaHQgKiBpbWdSYXRpbztcbiAgICAgICAgY29lZmZYID0gaW1nLndpZHRoIC8gZWZmZWN0aXZlSW1hZ2VXaWR0aDtcbiAgICB9XG4gICAgLy8gY29uc29sZS5sb2coY29lZmZYLCBjb2VmZlkpO1xuICAgIHJldHVybiB7IGNvZWZmWCwgY29lZmZZIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHlsZUJ1dHRvbihidXR0b246IEhUTUxCdXR0b25FbGVtZW50KSB7XG4gICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoXCJodHRwczovL2FwaS5pY29uaWZ5LmRlc2lnbi9tZGk6YWRqdXN0LnN2Zz9jb2xvcj1ncmVlbiZoZWlnaHQ9MTcmd2lkdGg9MTdcIilgO1xuICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBcInRyYW5zcGFyZW50XCI7XG4gICAgYnV0dG9uLnN0eWxlLnBvc2l0aW9uID0gXCJhYnNvbHV0ZVwiO1xuICAgIGJ1dHRvbi5zdHlsZS5ib3JkZXIgPSBcIm5vbmVcIjtcbiAgICBidXR0b24uc3R5bGUud2lkdGggPSBcIjE3cHhcIjtcbiAgICBidXR0b24uc3R5bGUuaGVpZ2h0ID0gXCIxN3B4XCI7XG4gICAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTtcbn1cblxuZXhwb3J0IGNvbnN0IHNob3dTY2FuUG9pbnRzT25QbGFuSW5EaXYgPSBhc3luYyAoXG4gICAgcGxhbjogUGxhbixcbiAgICBkaXZQbGFuOiBIVE1MRWxlbWVudCxcbiAgICBuYXZpZ2F0aW9uczogTmF2aWdhdGlvbltdLFxuKTogUHJvbWlzZTxIVE1MQnV0dG9uRWxlbWVudFtdPiA9PiB7XG4gICAgaWYgKCFkaXZQbGFuIHx8ICFwbGFuLmZpbGVwYXRoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgY2FsaWJyYWdlID0gSlNPTi5wYXJzZShwbGFuLmNhbGlicmF0aW9uKTtcblxuICAgIGNvbnN0IGltZyA9IGF3YWl0IGdldE1ldGFGb3JJbWFnZShwbGFuLmZpbGVwYXRoKTtcbiAgICBkaXZQbGFuLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHtwbGFuLmZpbGVwYXRofSlgO1xuICAgIGRpdlBsYW4uc3R5bGUuYmFja2dyb3VuZFNpemUgPSBcImNvbnRhaW5cIjtcbiAgICBkaXZQbGFuLnN0eWxlLmJhY2tncm91bmRSZXBlYXQgPSBcIm5vLXJlcGVhdFwiO1xuICAgIGF3YWl0IHdhaXQoMTUwMCk7IC8vIHdoaWxlIGltYWdlIGlzIGxvYWRlZCB0byBkaXZcbiAgICBkaXZQbGFuLmlubmVySFRNTCA9IFwiXCI7IC8vIHJlbW92ZSBhbGwgcHJldmlvdXMgYnV0dG9ucyBpZiBleGlzdFxuICAgIGNvbnN0IHJlY3QgPSBkaXZQbGFuLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHsgY29lZmZYLCBjb2VmZlkgfSA9IGdldENvZWZmaWNpZW50c0ZvckltYWdlKGltZywgcmVjdCk7XG4gICAgY29uc3QgYnV0dG9ucyA9IFtdO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBuYXZpZ2F0aW9ucy5tYXAoYXN5bmMgKG5hdmlnYXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICAgICAgICAgICAgc3R5bGVCdXR0b24oZWxlbWVudCk7XG4gICAgICAgICAgICBlbGVtZW50LmlkID0gbmF2aWdhdGlvbi5tYXR0ZXJwb3J0U3dlZXBJRDtcbiAgICAgICAgICAgIGlmIChjYWxpYnJhZ2UubmV3KSB7XG4gICAgICAgICAgICAgICAgLy8gbmV3IHByb2NlZHVyZSBvZiBjYWxpYnJhZ2VcbiAgICAgICAgICAgICAgICAvLyBmaW5kIHBvc2l0aW9uIGZvciBhIGdpdmVuIHBsYW5cbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbnNPblBsYW4gPSBuYXZpZ2F0aW9uLnBvc2l0aW9uT25QbGFuLm1hcCgoZW50cnkpID0+XG4gICAgICAgICAgICAgICAgICAgIEpTT04ucGFyc2UoZW50cnkpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25PblBsYW4gPSBwb3NpdGlvbnNPblBsYW4uZmluZChcbiAgICAgICAgICAgICAgICAgICAgKGRhdGEpID0+IGRhdGEucGxhbklEID09PSBwbGFuLmlkLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKHBvc2l0aW9uT25QbGFuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYWxXaWR0aCA9IGltZy53aWR0aCAvIGNvZWZmWDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVhbEhlaWdodCA9IGltZy5oZWlnaHQgLyBjb2VmZlk7XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUudG9wID0gYCR7XG4gICAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb25PblBsYW4ueSAqIHJlYWxIZWlnaHQpIC8gY2FsaWJyYWdlLmltZ0hlaWdodCAtXG4gICAgICAgICAgICAgICAgICAgICAgICAxMFxuICAgICAgICAgICAgICAgICAgICB9cHhgO1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSBgJHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbk9uUGxhbi54ICogcmVhbFdpZHRoKSAvIGNhbGlicmFnZS5pbWdXaWR0aCAtIDEwXG4gICAgICAgICAgICAgICAgICAgIH1weGA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IEpTT04ucGFyc2UobmF2aWdhdGlvbi5wb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgY29uc3QgeCA9IGNhbGlicmFnZS5vZmZzZXRYICsgcG9zaXRpb24ueCAqIGNhbGlicmFnZS54O1xuICAgICAgICAgICAgICAgIGNvbnN0IHkgPSBjYWxpYnJhZ2Uub2Zmc2V0WSArIHBvc2l0aW9uLnogKiBjYWxpYnJhZ2UueTtcbiAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLnRvcCA9IGAke3kgLyBjb2VmZlkgLSAxMH1weGA7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7eCAvIGNvZWZmWCAtIDEwfXB4YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpdlBsYW4uYXBwZW5kKGVsZW1lbnQpO1xuICAgICAgICAgICAgYnV0dG9ucy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9KSxcbiAgICApO1xuICAgIHJldHVybiBidXR0b25zO1xufTtcbiJdfQ==
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1kcmF3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvem9uZS1kcmF3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzNELE1BQU0sVUFBVSx1QkFBdUIsQ0FDbkMsR0FBcUIsRUFDckIsU0FBYztJQUVkLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxNQUFNLENBQUM7SUFDWCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDeEMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ3JELCtDQUErQztJQUMvQywrREFBK0Q7SUFDL0Qsb0NBQW9DO0lBQ3BDLElBQUksUUFBUSxHQUFHLFNBQVMsRUFBRTtRQUN0QixzQ0FBc0M7UUFDdEMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNyQyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDO0tBQzlDO1NBQU07UUFDSCxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUM7S0FDNUM7SUFDRCwrQkFBK0I7SUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVB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Q0osSUFBSSxDQUFDO2dCQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQ2pCLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsUUFBUSxHQUFHLEVBQzFELElBQUksQ0FBQzthQUNSO1NBQ0o7YUFBTTtZQUNILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQU0sR0FBRyxFQUFFLElBQUksQ0FBQztZQUMzQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLEdBQUcsRUFBRSxJQUFJLENBQUM7U0FDL0M7UUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNGLE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldE1ldGFGb3JJbWFnZSwgd2FpdCB9IGZyb20gXCIuLi9oZWxwZXJzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbiwgUGxhbiB9IGZyb20gXCIuLi90eXBlcy5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29lZmZpY2llbnRzRm9ySW1hZ2UoXHJcbiAgICBpbWc6IEhUTUxJbWFnZUVsZW1lbnQsXHJcbiAgICByZWN0YW5nbGU6IGFueSxcclxuKTogeyBjb2VmZlg6IG51bWJlcjsgY29lZmZZOiBudW1iZXIgfSB7XHJcbiAgICBsZXQgY29lZmZZO1xyXG4gICAgbGV0IGNvZWZmWDtcclxuICAgIGNvbnN0IGltZ1JhdGlvID0gaW1nLndpZHRoIC8gaW1nLmhlaWdodDtcclxuICAgIGNvbnN0IHJlY3RSYXRpbyA9IHJlY3RhbmdsZS53aWR0aCAvIHJlY3RhbmdsZS5oZWlnaHQ7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImltYWdlXCIsIGltZy53aWR0aCwgaW1nLmhlaWdodCk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcInJlY3RhbmdsZVwiLCByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQpO1xyXG4gICAgLy8gY29uc29sZS5sb2coaW1nUmF0aW8sIHJlY3RSYXRpbyk7XHJcbiAgICBpZiAoaW1nUmF0aW8gPiByZWN0UmF0aW8pIHtcclxuICAgICAgICAvLyBpbWcgaXMgZml0dGVkIGluIHJlY3RhbmdsZSBieSB3aWR0aFxyXG4gICAgICAgIGNvZWZmWCA9IGltZy53aWR0aCAvIHJlY3RhbmdsZS53aWR0aDtcclxuICAgICAgICBjb25zdCBlZmZlY3RpdmVJbWFnZUhlaWdodCA9IHJlY3RhbmdsZS53aWR0aCAvIGltZ1JhdGlvO1xyXG4gICAgICAgIGNvZWZmWSA9IGltZy5oZWlnaHQgLyBlZmZlY3RpdmVJbWFnZUhlaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29lZmZZID0gaW1nLmhlaWdodCAvIHJlY3RhbmdsZS5oZWlnaHQ7XHJcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlSW1hZ2VXaWR0aCA9IHJlY3RhbmdsZS5oZWlnaHQgKiBpbWdSYXRpbztcclxuICAgICAgICBjb2VmZlggPSBpbWcud2lkdGggLyBlZmZlY3RpdmVJbWFnZVdpZHRoO1xyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS5sb2coY29lZmZYLCBjb2VmZlkpO1xyXG4gICAgcmV0dXJuIHsgY29lZmZYLCBjb2VmZlkgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHN0eWxlQnV0dG9uKGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQpIHtcclxuICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmFkanVzdC5zdmc/Y29sb3I9Z3JlZW4maGVpZ2h0PTE3JndpZHRoPTE3XCIpYDtcclxuICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBcInRyYW5zcGFyZW50XCI7XHJcbiAgICBidXR0b24uc3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCI7XHJcbiAgICBidXR0b24uc3R5bGUuYm9yZGVyID0gXCJub25lXCI7XHJcbiAgICBidXR0b24uc3R5bGUud2lkdGggPSBcIjE3cHhcIjtcclxuICAgIGJ1dHRvbi5zdHlsZS5oZWlnaHQgPSBcIjE3cHhcIjtcclxuICAgIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBzaG93U2NhblBvaW50c09uUGxhbkluRGl2ID0gYXN5bmMgKFxyXG4gICAgcGxhbjogUGxhbixcclxuICAgIGRpdlBsYW46IEhUTUxFbGVtZW50LFxyXG4gICAgbmF2aWdhdGlvbnM6IE5hdmlnYXRpb25bXSxcclxuKTogUHJvbWlzZTxIVE1MQnV0dG9uRWxlbWVudFtdPiA9PiB7XHJcbiAgICBpZiAoIWRpdlBsYW4gfHwgIXBsYW4uZmlsZXBhdGgpIHtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICBjb25zdCBjYWxpYnJhZ2UgPSBKU09OLnBhcnNlKHBsYW4uY2FsaWJyYXRpb24pO1xyXG5cclxuICAgIGNvbnN0IGltZyA9IGF3YWl0IGdldE1ldGFGb3JJbWFnZShwbGFuLmZpbGVwYXRoKTtcclxuICAgIGRpdlBsYW4uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3BsYW4uZmlsZXBhdGh9KWA7XHJcbiAgICBkaXZQbGFuLnN0eWxlLmJhY2tncm91bmRTaXplID0gXCJjb250YWluXCI7XHJcbiAgICBkaXZQbGFuLnN0eWxlLmJhY2tncm91bmRSZXBlYXQgPSBcIm5vLXJlcGVhdFwiO1xyXG4gICAgYXdhaXQgd2FpdCgxNTAwKTsgLy8gd2hpbGUgaW1hZ2UgaXMgbG9hZGVkIHRvIGRpdlxyXG4gICAgZGl2UGxhbi5pbm5lckhUTUwgPSBcIlwiOyAvLyByZW1vdmUgYWxsIHByZXZpb3VzIGJ1dHRvbnMgaWYgZXhpc3RcclxuICAgIGNvbnN0IHJlY3QgPSBkaXZQbGFuLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgeyBjb2VmZlgsIGNvZWZmWSB9ID0gZ2V0Q29lZmZpY2llbnRzRm9ySW1hZ2UoaW1nLCByZWN0KTtcclxuICAgIGNvbnN0IGJ1dHRvbnMgPSBbXTtcclxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgIG5hdmlnYXRpb25zLm1hcChhc3luYyAobmF2aWdhdGlvbikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcclxuICAgICAgICAgICAgc3R5bGVCdXR0b24oZWxlbWVudCk7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuaWQgPSBuYXZpZ2F0aW9uLm1hdHRlcnBvcnRTd2VlcElEO1xyXG4gICAgICAgICAgICBpZiAoY2FsaWJyYWdlLm5ldykge1xyXG4gICAgICAgICAgICAgICAgLy8gbmV3IHByb2NlZHVyZSBvZiBjYWxpYnJhZ2VcclxuICAgICAgICAgICAgICAgIC8vIGZpbmQgcG9zaXRpb24gZm9yIGEgZ2l2ZW4gcGxhblxyXG4gICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25zT25QbGFuID0gbmF2aWdhdGlvbi5wb3NpdGlvbk9uUGxhbi5tYXAoKGVudHJ5KSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIEpTT04ucGFyc2UoZW50cnkpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uT25QbGFuID0gcG9zaXRpb25zT25QbGFuLmZpbmQoXHJcbiAgICAgICAgICAgICAgICAgICAgKGRhdGEpID0+IGRhdGEucGxhbklEID09PSBwbGFuLmlkLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGlmIChwb3NpdGlvbk9uUGxhbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYWxXaWR0aCA9IGltZy53aWR0aCAvIGNvZWZmWDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWFsSGVpZ2h0ID0gaW1nLmhlaWdodCAvIGNvZWZmWTtcclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLnRvcCA9IGAke1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb25PblBsYW4ueSAqIHJlYWxIZWlnaHQpIC8gY2FsaWJyYWdlLmltZ0hlaWdodCAtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwXHJcbiAgICAgICAgICAgICAgICAgICAgfXB4YDtcclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSBgJHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uT25QbGFuLnggKiByZWFsV2lkdGgpIC8gY2FsaWJyYWdlLmltZ1dpZHRoIC0gMTBcclxuICAgICAgICAgICAgICAgICAgICB9cHhgO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBKU09OLnBhcnNlKG5hdmlnYXRpb24ucG9zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgeCA9IGNhbGlicmFnZS5vZmZzZXRYICsgcG9zaXRpb24ueCAqIGNhbGlicmFnZS54O1xyXG4gICAgICAgICAgICAgICAgY29uc3QgeSA9IGNhbGlicmFnZS5vZmZzZXRZICsgcG9zaXRpb24ueiAqIGNhbGlicmFnZS55O1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS50b3AgPSBgJHt5IC8gY29lZmZZIC0gMTB9cHhgO1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7eCAvIGNvZWZmWCAtIDEwfXB4YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBkaXZQbGFuLmFwcGVuZChlbGVtZW50KTtcclxuICAgICAgICAgICAgYnV0dG9ucy5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgKTtcclxuICAgIHJldHVybiBidXR0b25zO1xyXG59O1xyXG4iXX0=
|
|
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
27
27
|
providedIn: 'root',
|
|
28
28
|
}]
|
|
29
29
|
}], ctorParameters: function () { return []; } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZUNoYW5nZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy96b25lQ2hhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFHN0I7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBVTVCO1FBUkEsZUFBVSxHQUF5QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2pELHVCQUFrQixHQUEyQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBS3BELG9CQUFlLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHcEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxtREFBbUQ7WUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUMscURBQXFEO1lBQ3JELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBcEJVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtab25lfSBmcm9tICcuLi90eXBlcy5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBBdG9taWMgem9uZSBjaGFuZ2Ugc2VydmljZSB0byBicmVhayBjeWNsaWMgZGVwZW5kZW5jaWVzIGlzc3VlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWm9uZUNoYW5nZVNlcnZpY2Uge1xyXG5cclxuICB6b25lQ2hhbmdlOiBTdWJqZWN0PFpvbmUgfCBudWxsPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgem9uZXNGb3JVc2VyQ2hhbmdlOiBTdWJqZWN0PFpvbmVbXSB8IG51bGw+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50Wm9uZTogWm9uZTtcclxuICBwcml2YXRlIGN1cnJlbnRab25lczogWm9uZVtdO1xyXG5cclxuICBwdWJsaWMgZmxvb3JIYXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Wm9uZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFpvbmU+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy56b25lQ2hhbmdlLnN1YnNjcmliZSgoem9uZSkgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhgbmV3IHpvbmUgJHtKU09OLnN0cmluZ2lmeSh6b25lKX1gKTtcclxuICAgICAgdGhpcy5jdXJyZW50Wm9uZSA9IHpvbmU7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnpvbmVzRm9yVXNlckNoYW5nZS5zdWJzY3JpYmUoKHpvbmVzKSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGBuZXcgem9uZXMgJHtKU09OLnN0cmluZ2lmeSh6b25lcyl9YCk7XHJcbiAgICAgIHRoaXMuY3VycmVudFpvbmVzID0gem9uZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -307,4 +307,4 @@ export var SpModule;
|
|
|
307
307
|
SpModule["HOTEL"] = "HOTEL";
|
|
308
308
|
SpModule["IMMO"] = "IMMO";
|
|
309
309
|
})(SpModule || (SpModule = {}));
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvdHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQU1YO0FBTkQsV0FBWSxVQUFVO0lBQ3BCLDBDQUE0QixDQUFBO0lBQzVCLDBDQUE0QixDQUFBO0lBQzVCLG9DQUFzQixDQUFBO0lBQ3RCLHNDQUF3QixDQUFBO0lBQ3hCLGtEQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUFOVyxVQUFVLEtBQVYsVUFBVSxRQU1yQjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQWFYO0FBYkQsV0FBWSxtQkFBbUI7SUFDN0IsNkRBQXNDLENBQUE7SUFDdEMsZ0RBQXlCLENBQUE7SUFDekIsb0RBQTZCLENBQUE7SUFDN0IsaUVBQTBDLENBQUE7SUFDMUMsK0RBQXdDLENBQUE7SUFDeEMsa0RBQTJCLENBQUE7SUFDM0IsNERBQXFDLENBQUE7SUFDckMsK0NBQXdCLENBQUE7SUFDeEIsNERBQXFDLENBQUE7SUFDckMsNENBQXFCLENBQUE7SUFDckIseURBQWtDLENBQUE7SUFDbEMsNENBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFhOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxPQVVYO0FBVkQsV0FBWSxPQUFPO0lBQ2pCLGtDQUF1QixDQUFBO0lBQ3ZCLHNDQUEyQixDQUFBO0lBQzNCLDRCQUFpQixDQUFBO0lBQ2pCLGdDQUFxQixDQUFBO0lBQ3JCLDhCQUFtQixDQUFBO0lBQ25CLHdCQUFhLENBQUE7SUFDYiw0QkFBaUIsQ0FBQTtJQUNqQix3QkFBYSxDQUFBO0lBQ2Isd0JBQWEsQ0FBQTtBQUNmLENBQUMsRUFWVyxPQUFPLEtBQVAsT0FBTyxRQVVsQjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7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O1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQXdTRCxNQUFNLENBQU4sSUFBWSxRQUlYO0FBSkQsV0FBWSxRQUFRO0lBQ2xCLDZCQUFpQixDQUFBO0lBQ2pCLDJCQUFlLENBQUE7SUFDZix5QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLFFBQVEsS0FBUixRQUFRLFFBSW5CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2FtZXJhTW9kZSB7XHJcbiAgRE9MTEhPVVNFID0gJ21vZGUuZG9sbGhvdXNlJyxcclxuICBGTE9PUlBMQU4gPSAnbW9kZS5mbG9vcnBsYW4nLFxyXG4gIElOU0lERSA9ICdtb2RlLmluc2lkZScsXHJcbiAgT1VUU0lERSA9ICdtb2RlLm91dHNpZGUnLFxyXG4gIFRSQU5TSVRJT05JTkcgPSAnbW9kZS50cmFuc2l0aW9uaW5nJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTWF0dGVydGFnQWN0aW9uTW9kZSB7XHJcbiAgUE9TSVRJT05fVElDS0VUID0gJ3Bvc2l0aW9uaW5nX3RpY2tldCcsXHJcbiAgQUREX1RJQ0tFVCA9ICdhZGRfdGlja2V0JyxcclxuICBBRERfT0JKRUNUM0QgPSAnYWRkX29iamVjdDNEJyxcclxuICBQT1NJVElPTl9PQkpFQ1QzRCA9ICdwb3NpdGlvbmluZ19vYmplY3QzRCcsXHJcbiAgUE9TSVRJT05fRVFVSVBNRU5UID0gJ3Bvc2l0aW9uaW5nX2VxdWlwJyxcclxuICBBRERfRVFVSVBNRU5UID0gJ2FkZF9lcXVpcCcsXHJcbiAgUE9TSVRJT05fREFUQSA9ICdwb3NpdGlvbmluZ19mZWF0dXJlJyxcclxuICBBRERfREFUQSA9ICdhZGRfZmVhdHVyZScsXHJcbiAgUE9TSVRJT05fREVTSyA9ICdwb3NpdGlvbmluZ19mZWF0dXJlJyxcclxuICBBRERfREVTSyA9ICdhZGRfZGVzaycsXHJcbiAgUE9TSVRJT05fUk9PTSA9ICdwb3NpdGlvbmluZ19yb29tJyxcclxuICBBRERfUk9PTSA9ICdhZGRfcm9vbScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBvaVR5cGUge1xyXG4gIEVRVUlQTUVOVCA9ICdFUVVJUE1FTlQnLFxyXG4gIElORk9STUFUSU9OID0gJ0lORk9STUFUSU9OJyxcclxuICBUSUNLRVQgPSAnVElDS0VUJyxcclxuICBPQkpFQ1QzRCA9ICdPQkpFQ1QzRCcsXHJcbiAgTUVBU1VSRSA9ICdNRUFTVVJFJyxcclxuICBEQVRBID0gJ0RBVEEnLFxyXG4gIFBFT1BMRSA9ICdQRU9QTEUnLFxyXG4gIERFU0sgPSAnREVTSycsXHJcbiAgUk9PTSA9ICdST09NJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGlja2V0UHJpb3JpdHkge1xyXG4gIE1JTklNVU0gPSAnTUlOSU1VTScsXHJcbiAgTE9XID0gJ0xPVycsXHJcbiAgTUVESVVNID0gJ01FRElVTScsXHJcbiAgSElHSCA9ICdISUdIJyxcclxuICBNQVhJTVVNID0gJ01BWElNVU0nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUYWdBY3Rpb24ge1xyXG4gIEhPVkVSX09OID0gJ2hvdmVyT24nLFxyXG4gIEFVRElPX0NMSUNLID0gJ2F1ZGlvQ2xpY2snLFxyXG4gIFZJREVPX0NMSUNLID0gJ3ZpZGVvQ2xpY2snLFxyXG4gIElNQUdFX0NMSUNLID0gJ2ltYWdlQ2xpY2snLFxyXG4gIERPQ19DTElDSyA9ICdkb2NDbGljaycsXHJcbiAgQ0xPU0VfTU9EQUwgPSAnY2xvc2VNb2RhbCcsXHJcbiAgTkVYVF9TTElERSA9ICduZXh0U2xpZGUnLFxyXG4gIERFVEFJTF9DTElDSyA9ICdkZXRhaWxzQ2xpY2snLFxyXG4gIFRJQ0tFVF9DTElDSyA9ICd0aWNrZXRDbGljaycsXHJcbiAgWU9VVFVCRV9DTElDSyA9ICd5b3V0dWJlQ2xpY2snLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUaWNrZXRTdGF0dXMge1xyXG4gIFRPX0JFX1BST0NFU1NFRCA9ICdUT19CRV9QUk9DRVNTRUQnLFxyXG4gIFBMQU5ORUQgPSAnUExBTk5FRCcsXHJcbiAgSU5fUFJPR1JFU1MgPSAnSU5fUFJPR1JFU1MnLFxyXG4gIFdBSVRJTkdfRk9SX1ZBTElEQVRJT04gPSAnV0FJVElOR19GT1JfVkFMSURBVElPTicsXHJcbiAgVkFMSURBVEVEID0gJ1ZBTElEQVRFRCcsXHJcbiAgUkVKRUNURUQgPSAnUkVKRUNURUQnLFxyXG4gIFJFU09MVkVEID0gJ1JFU09MVkVEJyxcclxuICBBUkNISVZFRCA9ICdBUkNISVZFRCcsXHJcbiAgTEFURSA9ICdMQVRFJyxcclxuICBCTE9DS0VEID0gJ0JMT0NLRUQnLFxyXG4gIENPTVBMRVRFRCA9ICdDT01QTEVURUQnLFxyXG4gIERFTEFZRUQgPSAnREVMQVlFRCcsXHJcbiAgQ0FOQ0VMTEVEID0gJ0NBTkNFTExFRCcsXHJcbiAgVE9fUkVETyA9ICdUT19SRURPJyxcclxuICBDUkVBVEVEID0gJ0NSRUFURUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBEb21haW5UeXBlIHtcclxuICBFUVVJUE1FTlQgPSAnRVFVSVBNRU5UJyxcclxuICBNSVNTSU9OID0gJ01JU1NJT04nLFxyXG4gIFRJQ0tFVCA9ICdUSUNLRVQnLFxyXG4gIE9CSkVDVDNEID0gJ09CSkVDVDNEJyxcclxuICBQT0kgPSAnUE9JJyxcclxuICBGRUFUVVJFID0gJ0ZFQVRVUkUnLFxyXG4gIEJPT0tJTkcgPSAnQk9PS0lORycsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFJvbGVTdGF0dXMge1xyXG4gIFZJU0lUT1IgPSAnVklTSVRPUicsXHJcbiAgVklTSVRPUl9NVVNFVU0gPSAnVklTSVRPUl9NVVNFVU0nLFxyXG4gIEdVSURFX01VU0VVTSA9ICdHVUlERV9NVVNFVU0nLFxyXG4gIE9DQ1VQQU5UID0gJ09DQ1VQQU5UJyxcclxuICBTRVJWSUNFID0gJ1NFUlZJQ0UnLFxyXG4gIE1BTkFHRVIgPSAnTUFOQUdFUicsXHJcbiAgT1dORVIgPSAnT1dORVInLFxyXG4gIEFETUlOID0gJ0FETUlOJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUHJvZmlsZVN0YXR1cyB7XHJcbiAgV0FJVElOR19GT1JfVkFMSURBVElPTiA9ICdXQUlUSU5HX0ZPUl9WQUxJREFUSU9OJyxcclxuICBXQUlUSU5HX0ZPUl9BQ1RJVkFUSU9OID0gJ1dBSVRJTkdfRk9SX0FDVElWQVRJT04nLFxyXG4gIEFDVElWRSA9ICdBQ1RJVkUnLFxyXG4gIElOQUNUSVZFID0gJ0lOQUNUSVZFJyxcclxuICBCTE9DS0VEID0gJ0JMT0NLRUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBMZXZlbFN0YXR1cyB7XHJcbiAgTUlOSU1VTSA9ICdNSU5JTVVNJyxcclxuICBMT1cgPSAnTE9XJyxcclxuICBNRURJVU0gPSAnTUVESVVNJyxcclxuICBISUdIID0gJ0hJR0gnLFxyXG4gIE1BWElNVU0gPSAnTUFYSU1VTScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFByb3BlcnR5VHlwZSB7XHJcbiAgUFJPUEVSVFkgPSAnUFJPUEVSVFknLFxyXG4gIFZJU0lUID0gJ1ZJU0lUJyxcclxuICBPQ0NVUEFOVCA9ICdPQ0NVUEFOVCcsXHJcbiAgU0hBUkVEID0gJ1NIQVJFRCcsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNwYWNlU3RhdHVzIHtcclxuICBEUEVfVE9fVkFMSURBVEUgPSAnRFBFX1RPX1ZBTElEQVRFJyxcclxuICBEUEVfVkFMSURBVEVEID0gJ0RQRV9WQUxJREFURUQnLFxyXG4gIERQRV9GRVRDSCA9ICdEUEVfRkVUQ0gnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBMb2NhbGUge1xyXG4gIEZSID0gJ0ZSJyxcclxuICBFTiA9ICdFTicsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVtYWlsU3RhdHVzIHtcclxuICBDUkVBVElPTl9UT19ERUxJVkVSID0gJ0NSRUFUSU9OX1RPX0RFTElWRVInLFxyXG4gIFVQREFURV9UT19ERUxJVkVSID0gJ1VQREFURV9UT19ERUxJVkVSJyxcclxuICBDQU5DRUxMQVRJT05fVE9fREVMSVZFUiA9ICdDQU5DRUxMQVRJT05fVE9fREVMSVZFUicsXHJcbiAgU0VOVCA9ICdTRU5UJyxcclxuICBTT0ZUX0JPVU5DRSA9ICdTT0ZUX0JPVU5DRScsXHJcbiAgSEFSRF9CT1VOQ0UgPSAnSEFSRF9CT1VOQ0UnLFxyXG4gIFJFSkVDVEVEID0gJ1JFSkVDVEVEJyxcclxuICBTQVRJU0ZBQ1RJT05fVE9fREVMSVZFUiA9ICdTQVRJU0ZBQ1RJT05fVE9fREVMSVZFUicsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENhcHR1cmVWaWV3ZXIge1xyXG4gIENVUElYID0gJ0NVUElYJyxcclxuICBNQVRURVJQT1JUID0gJ01BVFRFUlBPUlQnLFxyXG4gIFNNQVJURVJQTEFOX1YxID0gJ1NNQVJURVJQTEFOX1YxJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gSW52ZW50b3J5U3RhdHVzIHtcclxuICBTVUNDRVNTID0gJ1NVQ0NFU1MnLFxyXG4gIEVSUk9SID0gJ0VSUk9SJyxcclxuICBUT19SVU4gPSAnVE9fUlVOJyxcclxuICBUT19SVU5fT05FX0lNQUdFID0gJ1RPX1JVTl9PTkVfSU1BR0UnLFxyXG4gIEVSUk9SX0ZJTEVfT0JKX05PVF9FWElTVCA9ICdFUlJPUl9GSUxFX09CSl9OT1RfRVhJU1QnLFxyXG4gIEVSUk9SX0ZJTEVfSlNPTl9OT1RfRVhJU1QgPSAnRVJST1JfRklMRV9KU09OX05PVF9FWElTVCcsXHJcbiAgRVJST1JfRklMRV9NT0RFTF9OT1RfRVhJU1QgPSAnRVJST1JfRklMRV9NT0RFTF9OT1RfRVhJU1QnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUeXBlTm90ZSB7XHJcbiAgQ09OVFJBQ1RVQUwgPSAnQ09OVFJBQ1RVQUwnLFxyXG4gIElORk9STUFUSU9OID0gJ0lORk9STUFUSU9OJyxcclxuICBURUNITklDQUwgPSAnVEVDSE5JQ0FMJyxcclxuICBGSU5BTkNJQUwgPSAnRklOQU5DSUFMJyxcclxuICBPVEhFUiA9ICdPVEhFUicsXHJcbiAgSU1BR0UgPSAnSU1BR0UnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBGZWF0dXJlVHlwZSB7XHJcbiAgREVTSyA9ICdERVNLJyxcclxuICBJTkRJQ0FUT1JfVEVNUCA9ICdJTkRJQ0FUT1JfVEVNUCcsXHJcbiAgSU5GT1JNQVRJT04gPSAnSU5GT1JNQVRJT04nLFxyXG4gIElORElDQVRPUl9DTzIgPSAnSU5ESUNBVE9SX0NPMicsXHJcbiAgUFVSQ0hBU0UgPSAnUFVSQ0hBU0UnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUaWNrZXRUeXBlIHtcclxuICBSRVBPUlRJTkcgPSAnUkVQT1JUSU5HJyxcclxuICBSRVFVRVNUX0ZPUl9JTlRFUlZFTlRJT04gPSAnUkVRVUVTVF9GT1JfSU5URVJWRU5USU9OJyxcclxuICBSRVFVRVNUX0ZPUl9NQUlOVEVOQU5DRSA9ICdSRVFVRVNUX0ZPUl9NQUlOVEVOQU5DRScsXHJcbiAgV09SS19PUkRFUiA9ICdXT1JLX09SREVSJyxcclxuICBJTkNJREVOVCA9ICdJTkNJREVOVCcsXHJcbiAgSU5GT1JNQVRJT04gPSAnSU5GT1JNQVRJT04nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFdmVudFR5cGUge1xyXG4gIEVRVUlQTUVOVCA9ICdFUVVJUE1FTlQnLFxyXG4gIENPTU1FTlQgPSAnQ09NTUVOVCcsXHJcbiAgQ09OVFJBQ1RVQUxfSU5URVJWRU5USU9OID0gJ0NPTlRSQUNUVUFMX0lOVEVSVkVOVElPTicsXHJcbiAgTk9OX0NPTlRSQUNUVUFMX0lOVEVSVkVOVElPTiA9ICdOT05fQ09OVFJBQ1RVQUxfSU5URVJWRU5USU9OJyxcclxuICBUSUNLRVQgPSAnVElDS0VUJyxcclxuICBPQkpFQ1QzRCA9ICdPQkpFQ1QzRCcsXHJcbiAgUkVQT1JUSU5HID0gJ1JFUE9SVElORycsXHJcbiAgUkVRVUVTVF9GT1JfSU5URVJWRU5USU9OID0gJ1JFUVVFU1RfRk9SX0lOVEVSVkVOVElPTicsXHJcbiAgUkVRVUVTVF9GT1JfTUFJTlRFTkFOQ0UgPSAnUkVRVUVTVF9GT1JfTUFJTlRFTkFOQ0UnLFxyXG4gIFdPUktfT1JERVIgPSAnV09SS19PUkRFUicsXHJcbiAgSU5DSURFTlQgPSAnSU5DSURFTlQnLFxyXG4gIE1FQVNVUkUgPSAnTUVBU1VSRScsXHJcbiAgQk9PS0lORyA9ICdCT09LSU5HJyxcclxuICBCT09LSU5HX1NVQkNSSVBUSU9OID0gJ0JPT0tJTkdfU1VCQ1JJUFRJT04nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFdmVudFN0YXR1cyB7XHJcbiAgVE9fQkVfUFJPQ0VTU0VEID0gJ1RPX0JFX1BST0NFU1NFRCcsXHJcbiAgUExBTk5FRCA9ICdQTEFOTkVEJyxcclxuICBJTl9QUk9HUkVTUyA9ICdJTl9QUk9HUkVTUycsXHJcbiAgV0FJVElOR19GT1JfVkFMSURBVElPTiA9ICdXQUlUSU5HX0ZPUl9WQUxJREFUSU9OJyxcclxuICBWQUxJREFURUQgPSAnVkFMSURBVEVEJyxcclxuICBSRUpFQ1RFRCA9ICdSRUpFQ1RFRCcsXHJcbiAgUkVTT0xWRUQgPSAnUkVTT0xWRUQnLFxyXG4gIEFSQ0hJVkVEID0gJ0FSQ0hJVkVEJyxcclxuICBMQVRFID0gJ0xBVEUnLFxyXG4gIEJMT0NLRUQgPSAnQkxPQ0tFRCcsXHJcbiAgQ09NUExFVEVEID0gJ0NPTVBMRVRFRCcsXHJcbiAgREVMQVlFRCA9ICdERUxBWUVEJyxcclxuICBDQU5DRUxMRUQgPSAnQ0FOQ0VMTEVEJyxcclxuICBUT19SRURPID0gJ1RPX1JFRE8nLFxyXG4gIENSRUFURUQgPSAnQ1JFQVRFRCcsXHJcbiAgTElOS0VEX1RPX0VRVUlQTUVOVCA9ICdMSU5LRURfVE9fRVFVSVBNRU5UJyxcclxuICBVTkxJTktFRF9GUk9NX0VRVUlQTUVOVCA9ICdVTkxJTktFRF9GUk9NX0VRVUlQTUVOVCcsXHJcbiAgRURJVEVEID0gJ0VESVRFRCcsXHJcbiAgTElOS0VEX1RPX0FfUEFSRU5UX1RJQ0tFVCA9ICdMSU5LRURfVE9fQV9QQVJFTlRfVElDS0VUJyxcclxuICBXQUlUSU5HX0ZPUl9BQ0NFUFRBVElPTiA9ICdXQUlUSU5HX0ZPUl9BQ0NFUFRBVElPTicsXHJcbiAgQUNDRVBURUQgPSAnQUNDRVBURUQnLFxyXG4gIFJFRlVTRUQgPSAnUkVGVVNFRCcsXHJcbiAgRE9NQUlOX1VQREFURUQgPSAnRE9NQUlOX1VQREFURUQnLFxyXG4gIERBVEVTX1VQREFURUQgPSAnREFURVNfVVBEQVRFRCcsXHJcbiAgVElDS0VUX0NISUxEX1JFTU9WRUQgPSAnVElDS0VUX0NISUxEX1JFTU9WRUQnLFxyXG4gIFRZUEVfVVBEQVRFRCA9ICdUWVBFX1VQREFURUQnLFxyXG4gIERBVEVfRU5EX1VQREFURUQgPSAnREFURV9FTkRfVVBEQVRFRCcsXHJcbiAgREFURV9TVEFSVF9VUERBVEVEID0gJ0RBVEVfU1RBUlRfVVBEQVRFRCcsXHJcbiAgUE9TSVRJT05fU0VUID0gJ1BPU0lUSU9OX1NFVCcsXHJcbiAgUE9TSVRJT05fVVBEQVRFRCA9ICdQT1NJVElPTl9VUERBVEVEJyxcclxuICBQT1NJVElPTl9SRU1PVkVEID0gJ1BPU0lUSU9OX1JFTU9WRUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQYXltZW50U3RhdHVzIHtcclxuICBVTlBBSUQgPSAnVU5QQUlEJyxcclxuICBQQUlEID0gJ1BBSUQnLFxyXG4gIFBFTkRJTkcgPSAnUEVORElORycsXHJcbiAgRVJST1IgPSAnRVJST1InLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBDb21tZW50VHlwZSB7XHJcbiAgTUVBU1VSRSA9ICdNRUFTVVJFJyxcclxuICBWSURFTyA9ICdWSURFTycsXHJcbiAgRE9DVU1FTlQgPSAnRE9DVU1FTlQnLFxyXG4gIElNQUdFID0gJ0lNQUdFJyxcclxuICBURVhUID0gJ1RFWFQnLFxyXG4gIEFVRElPID0gJ0FVRElPJyxcclxuICBVUkwgPSAnVVJMJyxcclxuICBZT1VUVUJFID0gJ1lPVVRVQkUnLFxyXG4gIFVSTF9TSE9QID0gJ1VSTF9TSE9QJyxcclxuICBFTUJFRCA9ICdFTUJFRCcsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN0YXR1c0VxdWlwbWVudCB7XHJcbiAgVE9fU0VUVVAgPSAnVE9fU0VUVVAnLFxyXG4gIEJST0tFTiA9ICdCUk9LRU4nLFxyXG4gIFVOSU5TVEFMTEVEID0gJ1VOSU5TVEFMTEVEJyxcclxuICBJTkNJREVOVCA9ICdJTkNJREVOVCcsXHJcbiAgSU5fT1BFUkFUSU9OID0gJ0lOX09QRVJBVElPTicsXHJcbiAgV0FJVElOR19GT1JfUkVQQUlSID0gJ1dBSVRJTkdfRk9SX1JFUEFJUicsXHJcbiAgREVMRVRFRCA9ICdERUxFVEVEJyxcclxuICBPVVRfT0ZfT1JERVIgPSAnT1VUX09GX09SREVSJyxcclxuICBUT19CRV9SRVBMQUNFRCA9ICdUT19CRV9SRVBMQUNFRCcsXHJcbn1cclxuXHJcbi8qKiBJbnRlcmZhY2UgZm9yIFVwZGF0ZSAob25seSBpZCBpcyByZXF1aXJlZCkgKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlIHtcclxuICBpZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBBV1NUeXBlID0ge1xyXG4gIF9fdHlwZW5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XHJcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGJPYmplY3RUeXBlID0ge1xyXG4gIHNwYWNlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBwb2lzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbFBPSUNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxQT0k+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfSB8IG51bGw7XHJcbiAgc3BhY2U/OiBTcGFjZSB8IG51bGw7XHJcbiAgZG9tYWluSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBUaWNrZXQgPSB7XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgc3RhdHVzPzogVGlja2V0U3RhdHVzIHwgbnVsbDtcclxuICBwcmlvcml0eT86IFRpY2tldFByaW9yaXR5IHwgbnVsbDtcclxuICBvd25lck1pc3Npb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgb3duZXJNaXNzaW9uPzogTWlzc2lvbiB8IG51bGw7XHJcbiAgdHlwZT86IFRpY2tldFR5cGUgfCBudWxsO1xyXG4gIHBhcmVudElEPzogc3RyaW5nIHwgbnVsbDtcclxuICBsZXZlbD86IExldmVsU3RhdHVzIHwgbnVsbDtcclxuICBmcmllbmRseUxhYmVsPzogc3RyaW5nIHwgbnVsbDtcclxuICBkb21haW46IERvbWFpbiB8IG51bGw7XHJcbiAgZG9tYWluSUQ6IHN0cmluZyB8IG51bGw7XHJcbiAgZXZlbnRzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbEV2ZW50Q29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PEV2ZW50PiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH0gfCBudWxsO1xyXG4gIGFzc2lnbmVlcz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxBZmZlY3RhdGlvbkNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxBZmZlY3RhdGlvbj4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9IHwgbnVsbDtcclxuICBlcXVpcG1lbnRzPzogQXJyYXk8RXF1aXBtZW50PiB8IG51bGw7XHJcbiAgb3BlcmF0aW9ucz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxPcGVyYXRpb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8T3BlcmF0aW9uIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGNvbW1lbnRzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbENvbW1lbnRDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8Q29tbWVudCB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBwcmVzdGF0YWlyZT86IFByZXN0YXRhaXJlIHwgbnVsbDtcclxuICBjaGlsZHJlbj86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxUaWNrZXRDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8VGlja2V0IHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGFyY2hpdmVkRm9yTWlzc2lvbklEPzogc3RyaW5nW10gfCBudWxsO1xyXG59ICYgRGJPYmplY3RUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgT3BlcmF0aW9uID0ge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgZXF1aXBtZW50SUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgdGlja2V0PzogVGlja2V0IHwgbnVsbDtcclxuICBlcXVpcG1lbnQ/OiBFcXVpcG1lbnQgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIEVxdWlwbWVudCA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbm90ZXM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsTm90ZUNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxOb3RlIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGRvY3VtZW50cz86IEFycmF5PEVxdWlwbWVudERvY3VtZW50PiB8IG51bGw7XHJcbiAgZG9jdW1lbnRhdGlvbkltYWdlVXJsU2lnbmVkPzogc3RyaW5nIHwgbnVsbDtcclxuICBzdWJFcXVpcG1lbnRzPzogQXJyYXk8RXF1aXBtZW50IHwgbnVsbD4gfCBudWxsO1xyXG4gIHN1YmVxdWlwbWVudHNJRHM/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgc2VyaWFsTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcclxuICBkb21haW4/OiBEb21haW4gfCBudWxsO1xyXG4gIGNoaWxkRG9tYWluPzogRG9tYWluIHwgbnVsbDtcclxuICBwYXJlbnREb21haW4/OiBEb21haW4gfCBudWxsO1xyXG4gIHBob3RvPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lPzogWm9uZSB8IG51bGw7XHJcbiAgdGlja2V0cz86IFRpY2tldFtdIHwgbnVsbDtcclxuICBkb21haW5JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIGFyY2hpdmVkRm9yTWlzc2lvbklEPzogc3RyaW5nW10gfCBudWxsO1xyXG4gIGFubm90YXRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHN0YXR1cz86IFN0YXR1c0VxdWlwbWVudCB8IG51bGw7XHJcbiAgZmFtaWx5PzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIG1hbnVmYWN0dXJlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgc2t1Pzogc3RyaW5nIHwgbnVsbDtcclxuICBpbnN0YWxsRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgd2FycmFudHlFbmREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBpc0NyZWF0ZWRCeUFJPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgb3BlcmF0aW9ucz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxPcGVyYXRpb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8T3BlcmF0aW9uIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG59ICYgRGJPYmplY3RUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgRXF1aXBtZW50U2VsZWN0ZWQgPSB7XHJcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xyXG59ICYgRXF1aXBtZW50O1xyXG5cclxuLy8gbm90IGluIGRiXHJcbmV4cG9ydCB0eXBlIEVxdWlwbWVudERvY3VtZW50ID0ge1xyXG4gIGZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgdXJsU2lnbmVkOiBzdHJpbmc7XHJcbiAgbm90ZUlEOiBzdHJpbmc7XHJcbn07XHJcblxyXG4vLyBub3QgaW4gZGJcclxuZXhwb3J0IHR5cGUgUHJlc3RhdGFpcmUgPSB7XHJcbiAgb3JnYW5pc2F0aW9uOiBPcmdhbmlzYXRpb247XHJcbiAgbWlzc2lvbjogTWlzc2lvbjtcclxuICBwcm9maWxlOiBQcm9maWxlO1xyXG4gIG5hbWU6IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vdGUgPSB7XHJcbiAgaWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGF0dGFjaG1lbnQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNpZ25EYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBleHBpcmF0aW9uRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgdHlwZT86IFR5cGVOb3RlIHwgbnVsbDtcclxuICBvd25lck1pc3Npb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgZXF1aXBtZW50SUQ/OiBzdHJpbmcgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIERvbWFpbiA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc2x1Zz86IHN0cmluZyB8IG51bGw7XHJcbiAgYWJicmV2aWF0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHBhcmVudElEPzogc3RyaW5nIHwgbnVsbDtcclxuICB0eXBlPzogRG9tYWluVHlwZSB8IG51bGw7XHJcbiAgcGFyZW50PzogRG9tYWluIHwgbnVsbDtcclxuICBjaGlsZHJlbj86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxEb21haW5Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8RG9tYWluIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIFBPSSA9IHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgY29vcmRpbmF0ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgdGFnSWNvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgdGFnRGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRhZ0ltYWdlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1ldGFkYXRhPzogc3RyaW5nIHwgbnVsbDtcclxuICBtYXR0ZXJwb3J0U3dlZXBJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdHlwZT86IFBvaVR5cGUgfCBudWxsO1xyXG4gIGVsZW1lbnRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdmlydHVhbD86IGJvb2xlYW4gfCBudWxsO1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gVmlld2VySW50ZXJhY3Rpb25zIHtcclxuICBERUZBVUxUID0gMCxcclxuICBBRERJTkcsXHJcbiAgUE9TSVRJT05JTkcsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1pc3Npb24gPSB7XHJcbiAgdXNlcklEOiBzdHJpbmc7XHJcbiAgcm9sZT86IFJvbGVTdGF0dXMgfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEOiBzdHJpbmc7XHJcbiAgc3BhY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbGV2ZWw/OiBMZXZlbFN0YXR1cyB8IG51bGw7XHJcbiAgb3JkZXJlZE9yZ2FuaXNhdGlvbklEPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGdyb3Vwcz86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBlbWFpbFN0YXR1cz86IEVtYWlsU3RhdHVzIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgYXNzaWdubWVudHM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsQWZmZWN0YXRpb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8QWZmZWN0YXRpb24gfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbiAgb3JnYW5pc2F0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICBvcmRlcmVkT3JnYW5pc2F0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICB1c2VyPzogUHJvZmlsZSB8IG51bGw7XHJcbiAgZG9tYWlucz86IHN0cmluZ1tdIHwgbnVsbDtcclxuICAvLyBkb21haW5PYmplY3RzPzogRG9tYWluW10gfCBudWxsO1xyXG4gIHNwYWNlPzogU3BhY2UgfCBudWxsO1xyXG4gIHpvbmU/OiBab25lIHwgbnVsbDtcclxuICBzdGFydERhdGVUaW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBlbmREYXRlVGltZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaGFzaHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgdGVtcGxhdGVNaXNzaW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRlbXBsYXRlTWlzc2lvbj86IFZpc2l0VGVtcGxhdGUgfCBudWxsO1xyXG4gIGxvY2FsZT86IExvY2FsZSB8IG51bGw7XHJcbiAgaXNJbldhaXRpbmdSb29tPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgYmxvY2tlZEluQ2hhdD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGNvbm5lY3RlZFRvTGl2ZUF0Pzogc3RyaW5nW10gfCBudWxsO1xyXG4gIGRpc2Nvbm5lY3RlZEZyb21MaXZlQXQ/OiBzdHJpbmdbXSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgQWZmZWN0YXRpb24gPSB7XHJcbiAgbWlzc2lvbj86IE1pc3Npb24gfCBudWxsO1xyXG4gIGdyb3VwOiBzdHJpbmc7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgbWlzc2lvbklEOiBzdHJpbmc7XHJcbiAgdGlja2V0SUQ6IHN0cmluZztcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBNZWRpYUNvbnRlbnQgPSB7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBzaG93SW5UYWc/OiBib29sZWFuO1xyXG4gIHR5cGU/OiBDb21tZW50VHlwZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbW1lbnQgPSB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0aWNrZXQ/OiBUaWNrZXQgfCBudWxsO1xyXG4gIG93bmVySUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG93bmVyPzogTWlzc2lvbiB8IG51bGw7XHJcbiAgYW5uZXhlPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdHlwZT86IENvbW1lbnRUeXBlIHwgbnVsbDtcclxuICBkaW1lbnNpb25zPzogQXJyYXk8bnVtYmVyIHwgbnVsbD4gfCBudWxsO1xyXG4gIGZlYXR1cmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNDb3ZlckltYWdlPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaW5kZXg/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNob3duSW5UYWc/OiBib29sZWFuIHwgbnVsbDtcclxuICBleHRlcm5hbExpbms/OiBzdHJpbmcgfCBudWxsO1xyXG59ICYgQVdTVHlwZSAmXHJcbiAgRGJPYmplY3RUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgWm9uZSA9IHtcclxuICBzd2VlcElEcz86IHN0cmluZ1tdIHwgbnVsbDtcclxuICBsYXllcklEPzogc3RyaW5nIHwgbnVsbDtcclxuICBjb2RlX3JlZj86IHN0cmluZyB8IG51bGw7XHJcbiAgbGF5ZXI/OiBMYXllciB8IG51bGw7XHJcbiAgcGFyZW50PzogWm9uZSB8IG51bGw7XHJcbiAgdmlydHVhbD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0YWdzPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIHBhcmVudElEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZT86IFNwYWNlIHwgbnVsbDtcclxuICBpc011c2V1bVZpc2l0Wm9uZT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIG5vZGVJRHM/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgc3VyZmFjZT86IG51bWJlciB8IG51bGw7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGlzTXVsdGlwbGVGbG9vclpvbmU/OiBib29sZWFuIHwgbnVsbDtcclxuICBhdWRpb0lEPzogc3RyaW5nIHwgbnVsbDtcclxuICBhdWRpbz86IENvbW1lbnQgfCBudWxsO1xyXG4gIHN0YXJ0U3dlZXBJRD86IHN0cmluZyB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgTGF5ZXIgPSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2ZpbGUgPSB7XHJcbiAgaWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHVzZXJJRDogc3RyaW5nO1xyXG4gIGF2YXRhcj86IHN0cmluZyB8IG51bGw7XHJcbiAgdG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRva2VuRXhwaXJlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBzdGF0dXM/OiBQcm9maWxlU3RhdHVzIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgbGFzdENvbm5lY3RlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBwc2V1ZG8/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IGNsYXNzIFByb2ZpbGVFbnRpdHkgaW1wbGVtZW50cyBQcm9maWxlIHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIHVzZXJJRDogc3RyaW5nO1xyXG5cclxuICBhdmF0YXI/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICB0b2tlbj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIHRva2VuRXhwaXJlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgc3RhdHVzPzogUHJvZmlsZVN0YXR1cyB8IG51bGw7XHJcblxyXG4gIGNyZWF0ZWRBdD86IHN0cmluZztcclxuXHJcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xyXG5cclxuICBmaXJzdE5hbWU6IHN0cmluZztcclxuXHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuXHJcbiAgZW1haWw6IHN0cmluZztcclxuXHJcbiAgcGhvbmU6IHN0cmluZztcclxuXHJcbiAgcHNldWRvOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPFByb2ZpbGU+KSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xyXG4gICAgdGhpcy5tZXRhZGF0YSA9IGluaXQubWV0YWRhdGE7XHJcbiAgfVxyXG5cclxuICBnZXQgbWV0YWRhdGEoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgIGZpcnN0TmFtZTogdGhpcy5maXJzdE5hbWUsXHJcbiAgICAgIGxhc3ROYW1lOiB0aGlzLmxhc3ROYW1lLFxyXG4gICAgICBlbWFpbDogdGhpcy5lbWFpbCxcclxuICAgICAgcGhvbmU6IHRoaXMucGhvbmUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldCBtZXRhZGF0YShtOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGQgPSBKU09OLnBhcnNlKG0pO1xyXG4gICAgaWYgKGQpIHtcclxuICAgICAgdGhpcy5maXJzdE5hbWUgPSBkLmZpcnN0TmFtZTtcclxuICAgICAgdGhpcy5sYXN0TmFtZSA9IGQubGFzdE5hbWU7XHJcbiAgICAgIHRoaXMuZW1haWwgPSBkLmVtYWlsO1xyXG4gICAgICB0aGlzLnBob25lID0gZC5waG9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBkaXNwbGF5TmFtZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMucHNldWRvKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBzZXVkbztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmxhc3ROYW1lLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMuZmlyc3ROYW1lfSAke3RoaXMubGFzdE5hbWV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmVtYWlsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3JnYW5pc2F0aW9uID0ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzaXJldD86IHN0cmluZyB8IG51bGw7XHJcbiAgYWRkcmVzcz86IHN0cmluZyB8IG51bGw7XHJcbiAgY2l0eT86IHN0cmluZyB8IG51bGw7XHJcbiAgcG9zdGFsPzogbnVtYmVyIHwgbnVsbDtcclxuICBsb2dvVXJsPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmlnaW5EYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBkZWxldGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNoYXJlVG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRva2VuRXhwaXJlc0F0PzogbnVtYmVyIHwgbnVsbDtcclxuICBjb25uZWN0ZWRBY2NvdW50U3RyaXBlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHN0cmlwZU9uQm9hcmRpbmdDb21wbGV0ZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBzdHJpcGVUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgc3RyaXBlQ2hhcmdlc0VuYWJsZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBjb250YWN0RGV0YWlscz86IHN0cmluZyB8IG51bGw7XHJcbiAgdGlja2V0T3JnYW5pc2F0aW9uc0lkPzogc3RyaW5nIHwgbnVsbDtcclxuICAvLyBwcm9wZXJ0aWVzPzoge1xyXG4gIC8vICAgICBfX3R5cGVuYW1lPzogXCJNb2RlbFByb3BlcnR5Q29ubmVjdGlvblwiO1xyXG4gIC8vICAgICBpdGVtcz86IEFycmF5PFByb3BlcnR5IHwgbnVsbD4gfCBudWxsO1xyXG4gIC8vICAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIC8vIH0gfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb3BlcnR5ID0ge1xyXG4gIHR5cGU6IFByb3BlcnR5VHlwZTtcclxuICBkZWxldGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEOiBzdHJpbmc7XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIHpvbmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3BhY2U/OiBTcGFjZSB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICAvLyB6b25lPzogWm9uZSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgU3BhY2UgPSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGFkZHJlc3Nlcz86IHN0cmluZyB8IG51bGw7XHJcbiAgYW5uZXhlcz86IHN0cmluZyB8IG51bGw7XHJcbiAgdGFncz86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBsYXRpdHVkZT86IG51bWJlciB8IG51bGw7XHJcbiAgbG9uZ2l0dWRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgbGV2ZWw/OiBMZXZlbFN0YXR1cyB8IG51bGw7XHJcbiAgZGVsZXRlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBjb25zdHJ1Y3Rpb25ZZWFyPzogc3RyaW5nIHwgbnVsbDtcclxuICBjbGFzc0VuZXJneUNvbnN1bXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBjbGFzc0dlcz86IHN0cmluZyB8IG51bGw7XHJcbiAgc3RhdHVzPzogU3BhY2VTdGF0dXMgfCBudWxsO1xyXG4gIGd1ZXN0TGluaz86IHN0cmluZyB8IG51bGw7XHJcbiAgc2lnbmVkSW1hZ2VVcmw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHpvbmVzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbFpvbmVDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8Wm9uZSB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBwcm9wZXJ0aWVzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbFByb3BlcnR5Q29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PFByb3BlcnR5IHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIHZpc2l0cz86IFZpc2l0W10gfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmdhbmlzYXRpb24/OiBPcmdhbmlzYXRpb24gfCBudWxsO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBhdHRhY2htZW50cz86IENvbW1lbnRbXSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuLy8gbm90IGluIERCXHJcbmV4cG9ydCB0eXBlIFZpc2l0ID0ge1xyXG4gIGNhcHR1cmVJRDogc3RyaW5nO1xyXG4gIG1vZGVsM2Q6IHN0cmluZztcclxuICB0YWtlbkF0OiBudW1iZXI7XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIHZpZXdlcjogQ2FwdHVyZVZpZXdlcjtcclxuICBzdXJmYWNlOiBudW1iZXI7XHJcbiAgbm9kZTogTm9kZTtcclxuICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBubWJJbWFnZXNJbXBvcnRlZDogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSGFzaHRhZyA9IHtcclxuICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmdhbmlzYXRpb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3BhY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgb3JnYW5pemF0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICBzcGFjZT86IFNwYWNlIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBDYXB0dXJlID0ge1xyXG4gIC8vIGNsaWVudFJlZj86IHN0cmluZyB8IG51bGw7XHJcbiAgLy8gb3JpZ2luQ29vcmRpbmF0ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgLy8gb3JpZ2luQW5nbGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIC8vIG9yaWdpblpvb20/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRha2VuQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHZpZXdlcj86IENhcHR1cmVWaWV3ZXIgfCBudWxsO1xyXG4gIHB1Ymxpc2hlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBzdXJmYWNlPzogbnVtYmVyIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgc3BhY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbm9kZXM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsTm9kZUNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxOb2RlIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vZGUgPSB7XHJcbiAgbW9kZWwzRD86IHN0cmluZyB8IG51bGw7XHJcbiAgY29vcmRpbmF0ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgc2l6ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgc2NhbGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHZlcnNpb24/OiBudW1iZXIgfCBudWxsO1xyXG4gIGFjdGl2ZT86IG51bWJlciB8IG51bGw7XHJcbiAgb3JkZXI/OiBudW1iZXIgfCBudWxsO1xyXG4gIC8vIHF1YWxpdHk/OiBOb2RlUXVhbGl0eSB8IG51bGw7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNhcHR1cmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgaW52ZW50b3J5U3RhdHVzPzogSW52ZW50b3J5U3RhdHVzIHwgbnVsbDtcclxuICBuYXZpZ2F0aW9uRm9ySW52ZW50b3J5Pzogc3RyaW5nIHwgbnVsbDtcclxuICBjYXB0dXJlPzogQ2FwdHVyZSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgUGxhbiA9IHtcclxuICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBhbm5leGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNhbGlicmF0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGlzQ3VycmVudEZvclpvbmU/OiBib29sZWFuIHwgbnVsbDtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBpc01vZGlmaWVkPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNJbXBvcnRlZE1hdHRlcnBvcnQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBmaWxlcGF0aD86IHN0cmluZztcclxuICBtb2RlbDNkPzogc3RyaW5nIHwgbnVsbDtcclxuICBmbG9vcj86IHN0cmluZyB8IG51bGw7XHJcbiAgdmlzaXROYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lPzogWm9uZSB8IG51bGw7XHJcbiAgZXh0ZW5zaW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBuYXZpZ2F0aW9uSURzPzogc3RyaW5nW10gfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIE5hdmlnYXRpb24gPSB7XHJcbiAgbWF0dGVycG9ydFN3ZWVwSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHBvc2l0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICByb3RhdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgcmFkaXVzPzogbnVtYmVyIHwgbnVsbDtcclxuICB1cmw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgbGV2ZWw/OiBMZXZlbFN0YXR1cyB8IG51bGw7XHJcbiAgbm9kZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBwb3NpdGlvbk9uUGxhbj86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBuYXZpZ2F0aW9uU2libGluZ3NJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgcG9pcz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxQT0lDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8UE9JIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIG5vZGU/OiBOb2RlIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBNZW51SXRlbSA9IHsgbGFiZWw6IHN0cmluZzsgdXJsPzogc3RyaW5nOyBiYWNrPzogYW55IH07XHJcblxyXG4vLyBub3QgaW4gZGJcclxuZXhwb3J0IHR5cGUgTWVhc3VyZW1lbnQgPSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwb2k6IFBPSTtcclxuICBjb21tZW50OiBDb21tZW50O1xyXG4gIHNpbmdlZFVybFBob3RvPzogc3RyaW5nIHwgbnVsbDtcclxuICB2YWx1ZXM6IEFycmF5PG51bWJlcj4gfCBudWxsO1xyXG4gIG51bWJlclBvaW50czogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmVhdHVyZSA9IHtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgc2hvcnREZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgb3duZXJNaXNzaW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGxldmVsPzogTGV2ZWxTdGF0dXMgfCBudWxsO1xyXG4gIGluZGV4PzogbnVtYmVyIHwgbnVsbDtcclxuICB0eXBlPzogRmVhdHVyZVR5cGUgfCBudWxsO1xyXG4gIGFyY2hpdmVkRm9yTWlzc2lvbklEPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIHN0cmlwZVByb2R1Y3RJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3RyaXBlUHJpY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgYm9va2luZ1ByaWNlTWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGxvY2FsZT86IExvY2FsZSB8IG51bGw7XHJcbiAgaGFzaHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgY292ZXJJbWFnZVVybD86IHN0cmluZyB8IG51bGw7XHJcbiAgaW1hZ2VzPzogQXJyYXk8TWVkaWFDb250ZW50PiB8IG51bGw7XHJcbiAgdmlkZW9zPzogQXJyYXk8TWVkaWFDb250ZW50PiB8IG51bGw7XHJcbiAgYXVkaW9zPzogQXJyYXk8TWVkaWFDb250ZW50PiB8IG51bGw7XHJcbiAgZXh0ZXJuYWxMaW5rcz86IEFycmF5PE1lZGlhQ29udGVudD4gfCBudWxsO1xyXG4gIGRvY3VtZW50cz86IEFycmF5PHtcclxuICAgIHBhdGg6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIH0+IHwgbnVsbDtcclxuICBlbWJlZHM/OiBBcnJheTxNZWRpYUNvbnRlbnQ+IHwgbnVsbDtcclxuICBjb21tZW50cz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxDb21tZW50Q29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PENvbW1lbnQgfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbiAgZG9tYWluPzogRG9tYWluIHwgbnVsbDtcclxuICBpc0Jvb2tpbmdQbGFjZT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGV2ZW50cz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxFdmVudENvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxFdmVudCB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBzcGFjZUlEOiBzdHJpbmc7XHJcbn0gJiBEYk9iamVjdFR5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBFdmVudCA9IHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU/OiBFdmVudFR5cGUgfCBudWxsO1xyXG4gIGVzdGltYXRlU3RhcnREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBlc3RpbWF0ZUR1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICBlc3RpbWF0ZUVuZERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHJlYWxTdGFydERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHRpbWVTcGVudD86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbEVuZERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHN0YXR1cz86IEV2ZW50U3RhdHVzIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgZ3JvdXA/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1ldGFkYXRhPzogc3RyaW5nIHwgbnVsbDtcclxuICBvd25lcklEPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgY3JlYXRlZEF0Pzogc3RyaW5nIHwgbnVsbDtcclxuICB0cmFuc2xhdGlvblBhdGg/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGZlYXR1cmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgYXJjaGl2ZWRCeU93bmVyPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgcGF5bWVudFN0YXR1cz86IFBheW1lbnRTdGF0dXMgfCBudWxsO1xyXG4gIHN0cmlwZVNlc3Npb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbm90aWZpY2F0aW9uU3RhdHVzPzogRW1haWxTdGF0dXMgfCBudWxsO1xyXG4gIHJlZnVzYWxSZWFzb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGFnb1N0cj86IGJvb2xlYW4gfCBzdHJpbmcgfCBudWxsO1xyXG4gIG93bmVyPzogTWlzc2lvbiB8IG51bGw7XHJcbiAgYXV0aG9yPzogUHJvZmlsZUVudGl0eSB8IG51bGw7XHJcbiAgZmVhdHVyZT86IEZlYXR1cmUgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbi8vbm90IGluIERCICh2YXJpYXRpb24gb2YgRXZlbnQpXHJcbmV4cG9ydCB0eXBlIFJlcXVlc3RJbnRlcnZlbnRpb24gPSB7XHJcbiAgZXN0aW1hdGVTdGFydERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIGVzdGltYXRlRHVyYXRpb24/OiBudW1iZXIgfCBudWxsO1xyXG4gIGVzdGltYXRlRW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbFN0YXJ0RGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbER1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICByZWFsRW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgdHlwZTogRXZlbnRUeXBlLlJFUVVFU1RfRk9SX0lOVEVSVkVOVElPTjtcclxuICBzdGF0dXM6IEV2ZW50U3RhdHVzO1xyXG4gIGludGVydmVudGlvbj86IEV2ZW50IHwgbnVsbDtcclxuICByZXBvcnQ/OiBFdmVudCB8IG51bGw7XHJcbiAgdGlja2V0SUQ6IHN0cmluZztcclxufSAmIEFXU1R5cGU7XHJcblxyXG4vL25vdCBpbiBEQiAodmFyaWF0aW9uIG9mIEV2ZW50KVxyXG5leHBvcnQgdHlwZSBJbnRlcnZlbnRpb24gPSB7XHJcbiAgZXN0aW1hdGVTdGFydERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIGVzdGltYXRlRHVyYXRpb24/OiBudW1iZXIgfCBudWxsO1xyXG4gIGVzdGltYXRlRW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbFN0YXJ0RGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbER1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICByZWFsRW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgdHlwZTogRXZlbnRUeXBlO1xyXG4gIHN0YXR1czogRXZlbnRTdGF0dXM7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgVmlzaXRUZW1wbGF0ZSA9IHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgdGl0bGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGxldmVsPzogTGV2ZWxTdGF0dXMgfCBudWxsO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgZGVsZXRlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBzdGFydERhdGVUaW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBlbmREYXRlVGltZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaGFzaHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZztcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGxvY2FsZT86IExvY2FsZSB8IG51bGw7XHJcbiAgcmVhbFN0YXJ0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbEVuZGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNwYWNlPzogU3BhY2UgfCBudWxsO1xyXG4gIHpvbmU/OiBab25lIHwgbnVsbDtcclxuICBvcmdhbmlzYXRpb24/OiBPcmdhbmlzYXRpb24gfCBudWxsO1xyXG4gIHVzZXJNaXNzaW9ucz86IHtcclxuICAgIF9fdHlwZW5hbWU6ICdNb2RlbE1pc3Npb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zOiBBcnJheTxNaXNzaW9uIHwgbnVsbD47XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH0gfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCBlbnVtIFNwTW9kdWxlIHtcclxuICBNVVNFVU0gPSAnTVVTRVVNJyxcclxuICBIT1RFTCA9ICdIT1RFTCcsXHJcbiAgSU1NTyA9ICdJTU1PJyxcclxufVxyXG5cclxuLyoqXHJcbiAqIFRocmVlSlMgb2JqZWN0M0RcclxuICovXHJcbmV4cG9ydCB0eXBlIElPYmplY3QzRCA9IHtcclxuICBpZD86IHN0cmluZzsgLy8gdXNlZCB0byByZXBsYWNlIHRocmVlSlMgdXVpZFxyXG4gIG9iamVjdDogc3RyaW5nO1xyXG4gIGZvcm1hdDogc3RyaW5nO1xyXG4gIG1vZGU6IHN0cmluZztcclxuICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyOyB9O1xyXG4gIHJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XHJcbiAgc2NhbGU6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlcjsgfTtcclxuICB2aWV3RnJ1c3R1bTogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcblxyXG4vKipcclxuICogRHluYW1vRGIgb2JqZWN0M0RcclxuICovXHJcbmV4cG9ydCB0eXBlIE9iamVjdDNEID0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHMzQnVja2V0OiBib29sZWFuO1xyXG4gIHBvc2l0aW9uOiBudW1iZXJbXTtcclxuICByb3RhdGlvbjogbnVtYmVyW107XHJcbiAgc2NhbGU6IG51bWJlcltdO1xyXG4gIHNwYWNlSUQ6IHN0cmluZztcclxuICB2aWV3RnJ1c3R1bTogYm9vbGVhbjtcclxuICAvLyBOb3QgdXNlZCB5ZXRcclxuICAvLyBkb21haW46IERvbWFpbiB8IG51bGw7XHJcbiAgLy8gZG9tYWluSUQ6IHN0cmluZyB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG4iXX0=
|
|
310
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvdHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQU1YO0FBTkQsV0FBWSxVQUFVO0lBQ3BCLDBDQUE0QixDQUFBO0lBQzVCLDBDQUE0QixDQUFBO0lBQzVCLG9DQUFzQixDQUFBO0lBQ3RCLHNDQUF3QixDQUFBO0lBQ3hCLGtEQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUFOVyxVQUFVLEtBQVYsVUFBVSxRQU1yQjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQWFYO0FBYkQsV0FBWSxtQkFBbUI7SUFDN0IsNkRBQXNDLENBQUE7SUFDdEMsZ0RBQXlCLENBQUE7SUFDekIsb0RBQTZCLENBQUE7SUFDN0IsaUVBQTBDLENBQUE7SUFDMUMsK0RBQXdDLENBQUE7SUFDeEMsa0RBQTJCLENBQUE7SUFDM0IsNERBQXFDLENBQUE7SUFDckMsK0NBQXdCLENBQUE7SUFDeEIsNERBQXFDLENBQUE7SUFDckMsNENBQXFCLENBQUE7SUFDckIseURBQWtDLENBQUE7SUFDbEMsNENBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFhOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxPQVVYO0FBVkQsV0FBWSxPQUFPO0lBQ2pCLGtDQUF1QixDQUFBO0lBQ3ZCLHNDQUEyQixDQUFBO0lBQzNCLDRCQUFpQixDQUFBO0lBQ2pCLGdDQUFxQixDQUFBO0lBQ3JCLDhCQUFtQixDQUFBO0lBQ25CLHdCQUFhLENBQUE7SUFDYiw0QkFBaUIsQ0FBQTtJQUNqQix3QkFBYSxDQUFBO0lBQ2Isd0JBQWEsQ0FBQTtBQUNmLENBQUMsRUFWVyxPQUFPLEtBQVAsT0FBTyxRQVVsQjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7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O1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQXdTRCxNQUFNLENBQU4sSUFBWSxRQUlYO0FBSkQsV0FBWSxRQUFRO0lBQ2xCLDZCQUFpQixDQUFBO0lBQ2pCLDJCQUFlLENBQUE7SUFDZix5QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLFFBQVEsS0FBUixRQUFRLFFBSW5CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2FtZXJhTW9kZSB7XHJcbiAgRE9MTEhPVVNFID0gJ21vZGUuZG9sbGhvdXNlJyxcclxuICBGTE9PUlBMQU4gPSAnbW9kZS5mbG9vcnBsYW4nLFxyXG4gIElOU0lERSA9ICdtb2RlLmluc2lkZScsXHJcbiAgT1VUU0lERSA9ICdtb2RlLm91dHNpZGUnLFxyXG4gIFRSQU5TSVRJT05JTkcgPSAnbW9kZS50cmFuc2l0aW9uaW5nJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTWF0dGVydGFnQWN0aW9uTW9kZSB7XHJcbiAgUE9TSVRJT05fVElDS0VUID0gJ3Bvc2l0aW9uaW5nX3RpY2tldCcsXHJcbiAgQUREX1RJQ0tFVCA9ICdhZGRfdGlja2V0JyxcclxuICBBRERfT0JKRUNUM0QgPSAnYWRkX29iamVjdDNEJyxcclxuICBQT1NJVElPTl9PQkpFQ1QzRCA9ICdwb3NpdGlvbmluZ19vYmplY3QzRCcsXHJcbiAgUE9TSVRJT05fRVFVSVBNRU5UID0gJ3Bvc2l0aW9uaW5nX2VxdWlwJyxcclxuICBBRERfRVFVSVBNRU5UID0gJ2FkZF9lcXVpcCcsXHJcbiAgUE9TSVRJT05fREFUQSA9ICdwb3NpdGlvbmluZ19mZWF0dXJlJyxcclxuICBBRERfREFUQSA9ICdhZGRfZmVhdHVyZScsXHJcbiAgUE9TSVRJT05fREVTSyA9ICdwb3NpdGlvbmluZ19mZWF0dXJlJyxcclxuICBBRERfREVTSyA9ICdhZGRfZGVzaycsXHJcbiAgUE9TSVRJT05fUk9PTSA9ICdwb3NpdGlvbmluZ19yb29tJyxcclxuICBBRERfUk9PTSA9ICdhZGRfcm9vbScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBvaVR5cGUge1xyXG4gIEVRVUlQTUVOVCA9ICdFUVVJUE1FTlQnLFxyXG4gIElORk9STUFUSU9OID0gJ0lORk9STUFUSU9OJyxcclxuICBUSUNLRVQgPSAnVElDS0VUJyxcclxuICBPQkpFQ1QzRCA9ICdPQkpFQ1QzRCcsXHJcbiAgTUVBU1VSRSA9ICdNRUFTVVJFJyxcclxuICBEQVRBID0gJ0RBVEEnLFxyXG4gIFBFT1BMRSA9ICdQRU9QTEUnLFxyXG4gIERFU0sgPSAnREVTSycsXHJcbiAgUk9PTSA9ICdST09NJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGlja2V0UHJpb3JpdHkge1xyXG4gIE1JTklNVU0gPSAnTUlOSU1VTScsXHJcbiAgTE9XID0gJ0xPVycsXHJcbiAgTUVESVVNID0gJ01FRElVTScsXHJcbiAgSElHSCA9ICdISUdIJyxcclxuICBNQVhJTVVNID0gJ01BWElNVU0nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUYWdBY3Rpb24ge1xyXG4gIEhPVkVSX09OID0gJ2hvdmVyT24nLFxyXG4gIEFVRElPX0NMSUNLID0gJ2F1ZGlvQ2xpY2snLFxyXG4gIFZJREVPX0NMSUNLID0gJ3ZpZGVvQ2xpY2snLFxyXG4gIElNQUdFX0NMSUNLID0gJ2ltYWdlQ2xpY2snLFxyXG4gIERPQ19DTElDSyA9ICdkb2NDbGljaycsXHJcbiAgQ0xPU0VfTU9EQUwgPSAnY2xvc2VNb2RhbCcsXHJcbiAgTkVYVF9TTElERSA9ICduZXh0U2xpZGUnLFxyXG4gIERFVEFJTF9DTElDSyA9ICdkZXRhaWxzQ2xpY2snLFxyXG4gIFRJQ0tFVF9DTElDSyA9ICd0aWNrZXRDbGljaycsXHJcbiAgWU9VVFVCRV9DTElDSyA9ICd5b3V0dWJlQ2xpY2snLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUaWNrZXRTdGF0dXMge1xyXG4gIFRPX0JFX1BST0NFU1NFRCA9ICdUT19CRV9QUk9DRVNTRUQnLFxyXG4gIFBMQU5ORUQgPSAnUExBTk5FRCcsXHJcbiAgSU5fUFJPR1JFU1MgPSAnSU5fUFJPR1JFU1MnLFxyXG4gIFdBSVRJTkdfRk9SX1ZBTElEQVRJT04gPSAnV0FJVElOR19GT1JfVkFMSURBVElPTicsXHJcbiAgVkFMSURBVEVEID0gJ1ZBTElEQVRFRCcsXHJcbiAgUkVKRUNURUQgPSAnUkVKRUNURUQnLFxyXG4gIFJFU09MVkVEID0gJ1JFU09MVkVEJyxcclxuICBBUkNISVZFRCA9ICdBUkNISVZFRCcsXHJcbiAgTEFURSA9ICdMQVRFJyxcclxuICBCTE9DS0VEID0gJ0JMT0NLRUQnLFxyXG4gIENPTVBMRVRFRCA9ICdDT01QTEVURUQnLFxyXG4gIERFTEFZRUQgPSAnREVMQVlFRCcsXHJcbiAgQ0FOQ0VMTEVEID0gJ0NBTkNFTExFRCcsXHJcbiAgVE9fUkVETyA9ICdUT19SRURPJyxcclxuICBDUkVBVEVEID0gJ0NSRUFURUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBEb21haW5UeXBlIHtcclxuICBFUVVJUE1FTlQgPSAnRVFVSVBNRU5UJyxcclxuICBNSVNTSU9OID0gJ01JU1NJT04nLFxyXG4gIFRJQ0tFVCA9ICdUSUNLRVQnLFxyXG4gIE9CSkVDVDNEID0gJ09CSkVDVDNEJyxcclxuICBQT0kgPSAnUE9JJyxcclxuICBGRUFUVVJFID0gJ0ZFQVRVUkUnLFxyXG4gIEJPT0tJTkcgPSAnQk9PS0lORycsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFJvbGVTdGF0dXMge1xyXG4gIFZJU0lUT1IgPSAnVklTSVRPUicsXHJcbiAgVklTSVRPUl9NVVNFVU0gPSAnVklTSVRPUl9NVVNFVU0nLFxyXG4gIEdVSURFX01VU0VVTSA9ICdHVUlERV9NVVNFVU0nLFxyXG4gIE9DQ1VQQU5UID0gJ09DQ1VQQU5UJyxcclxuICBTRVJWSUNFID0gJ1NFUlZJQ0UnLFxyXG4gIE1BTkFHRVIgPSAnTUFOQUdFUicsXHJcbiAgT1dORVIgPSAnT1dORVInLFxyXG4gIEFETUlOID0gJ0FETUlOJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUHJvZmlsZVN0YXR1cyB7XHJcbiAgV0FJVElOR19GT1JfVkFMSURBVElPTiA9ICdXQUlUSU5HX0ZPUl9WQUxJREFUSU9OJyxcclxuICBXQUlUSU5HX0ZPUl9BQ1RJVkFUSU9OID0gJ1dBSVRJTkdfRk9SX0FDVElWQVRJT04nLFxyXG4gIEFDVElWRSA9ICdBQ1RJVkUnLFxyXG4gIElOQUNUSVZFID0gJ0lOQUNUSVZFJyxcclxuICBCTE9DS0VEID0gJ0JMT0NLRUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBMZXZlbFN0YXR1cyB7XHJcbiAgTUlOSU1VTSA9ICdNSU5JTVVNJyxcclxuICBMT1cgPSAnTE9XJyxcclxuICBNRURJVU0gPSAnTUVESVVNJyxcclxuICBISUdIID0gJ0hJR0gnLFxyXG4gIE1BWElNVU0gPSAnTUFYSU1VTScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFByb3BlcnR5VHlwZSB7XHJcbiAgUFJPUEVSVFkgPSAnUFJPUEVSVFknLFxyXG4gIFZJU0lUID0gJ1ZJU0lUJyxcclxuICBPQ0NVUEFOVCA9ICdPQ0NVUEFOVCcsXHJcbiAgU0hBUkVEID0gJ1NIQVJFRCcsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNwYWNlU3RhdHVzIHtcclxuICBEUEVfVE9fVkFMSURBVEUgPSAnRFBFX1RPX1ZBTElEQVRFJyxcclxuICBEUEVfVkFMSURBVEVEID0gJ0RQRV9WQUxJREFURUQnLFxyXG4gIERQRV9GRVRDSCA9ICdEUEVfRkVUQ0gnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBMb2NhbGUge1xyXG4gIEZSID0gJ0ZSJyxcclxuICBFTiA9ICdFTicsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVtYWlsU3RhdHVzIHtcclxuICBDUkVBVElPTl9UT19ERUxJVkVSID0gJ0NSRUFUSU9OX1RPX0RFTElWRVInLFxyXG4gIFVQREFURV9UT19ERUxJVkVSID0gJ1VQREFURV9UT19ERUxJVkVSJyxcclxuICBDQU5DRUxMQVRJT05fVE9fREVMSVZFUiA9ICdDQU5DRUxMQVRJT05fVE9fREVMSVZFUicsXHJcbiAgU0VOVCA9ICdTRU5UJyxcclxuICBTT0ZUX0JPVU5DRSA9ICdTT0ZUX0JPVU5DRScsXHJcbiAgSEFSRF9CT1VOQ0UgPSAnSEFSRF9CT1VOQ0UnLFxyXG4gIFJFSkVDVEVEID0gJ1JFSkVDVEVEJyxcclxuICBTQVRJU0ZBQ1RJT05fVE9fREVMSVZFUiA9ICdTQVRJU0ZBQ1RJT05fVE9fREVMSVZFUicsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENhcHR1cmVWaWV3ZXIge1xyXG4gIENVUElYID0gJ0NVUElYJyxcclxuICBNQVRURVJQT1JUID0gJ01BVFRFUlBPUlQnLFxyXG4gIFNNQVJURVJQTEFOX1YxID0gJ1NNQVJURVJQTEFOX1YxJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gSW52ZW50b3J5U3RhdHVzIHtcclxuICBTVUNDRVNTID0gJ1NVQ0NFU1MnLFxyXG4gIEVSUk9SID0gJ0VSUk9SJyxcclxuICBUT19SVU4gPSAnVE9fUlVOJyxcclxuICBUT19SVU5fT05FX0lNQUdFID0gJ1RPX1JVTl9PTkVfSU1BR0UnLFxyXG4gIEVSUk9SX0ZJTEVfT0JKX05PVF9FWElTVCA9ICdFUlJPUl9GSUxFX09CSl9OT1RfRVhJU1QnLFxyXG4gIEVSUk9SX0ZJTEVfSlNPTl9OT1RfRVhJU1QgPSAnRVJST1JfRklMRV9KU09OX05PVF9FWElTVCcsXHJcbiAgRVJST1JfRklMRV9NT0RFTF9OT1RfRVhJU1QgPSAnRVJST1JfRklMRV9NT0RFTF9OT1RfRVhJU1QnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUeXBlTm90ZSB7XHJcbiAgQ09OVFJBQ1RVQUwgPSAnQ09OVFJBQ1RVQUwnLFxyXG4gIElORk9STUFUSU9OID0gJ0lORk9STUFUSU9OJyxcclxuICBURUNITklDQUwgPSAnVEVDSE5JQ0FMJyxcclxuICBGSU5BTkNJQUwgPSAnRklOQU5DSUFMJyxcclxuICBPVEhFUiA9ICdPVEhFUicsXHJcbiAgSU1BR0UgPSAnSU1BR0UnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBGZWF0dXJlVHlwZSB7XHJcbiAgREVTSyA9ICdERVNLJyxcclxuICBJTkRJQ0FUT1JfVEVNUCA9ICdJTkRJQ0FUT1JfVEVNUCcsXHJcbiAgSU5GT1JNQVRJT04gPSAnSU5GT1JNQVRJT04nLFxyXG4gIElORElDQVRPUl9DTzIgPSAnSU5ESUNBVE9SX0NPMicsXHJcbiAgUFVSQ0hBU0UgPSAnUFVSQ0hBU0UnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUaWNrZXRUeXBlIHtcclxuICBSRVBPUlRJTkcgPSAnUkVQT1JUSU5HJyxcclxuICBSRVFVRVNUX0ZPUl9JTlRFUlZFTlRJT04gPSAnUkVRVUVTVF9GT1JfSU5URVJWRU5USU9OJyxcclxuICBSRVFVRVNUX0ZPUl9NQUlOVEVOQU5DRSA9ICdSRVFVRVNUX0ZPUl9NQUlOVEVOQU5DRScsXHJcbiAgV09SS19PUkRFUiA9ICdXT1JLX09SREVSJyxcclxuICBJTkNJREVOVCA9ICdJTkNJREVOVCcsXHJcbiAgSU5GT1JNQVRJT04gPSAnSU5GT1JNQVRJT04nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFdmVudFR5cGUge1xyXG4gIEVRVUlQTUVOVCA9ICdFUVVJUE1FTlQnLFxyXG4gIENPTU1FTlQgPSAnQ09NTUVOVCcsXHJcbiAgQ09OVFJBQ1RVQUxfSU5URVJWRU5USU9OID0gJ0NPTlRSQUNUVUFMX0lOVEVSVkVOVElPTicsXHJcbiAgTk9OX0NPTlRSQUNUVUFMX0lOVEVSVkVOVElPTiA9ICdOT05fQ09OVFJBQ1RVQUxfSU5URVJWRU5USU9OJyxcclxuICBUSUNLRVQgPSAnVElDS0VUJyxcclxuICBPQkpFQ1QzRCA9ICdPQkpFQ1QzRCcsXHJcbiAgUkVQT1JUSU5HID0gJ1JFUE9SVElORycsXHJcbiAgUkVRVUVTVF9GT1JfSU5URVJWRU5USU9OID0gJ1JFUVVFU1RfRk9SX0lOVEVSVkVOVElPTicsXHJcbiAgUkVRVUVTVF9GT1JfTUFJTlRFTkFOQ0UgPSAnUkVRVUVTVF9GT1JfTUFJTlRFTkFOQ0UnLFxyXG4gIFdPUktfT1JERVIgPSAnV09SS19PUkRFUicsXHJcbiAgSU5DSURFTlQgPSAnSU5DSURFTlQnLFxyXG4gIE1FQVNVUkUgPSAnTUVBU1VSRScsXHJcbiAgQk9PS0lORyA9ICdCT09LSU5HJyxcclxuICBCT09LSU5HX1NVQkNSSVBUSU9OID0gJ0JPT0tJTkdfU1VCQ1JJUFRJT04nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFdmVudFN0YXR1cyB7XHJcbiAgVE9fQkVfUFJPQ0VTU0VEID0gJ1RPX0JFX1BST0NFU1NFRCcsXHJcbiAgUExBTk5FRCA9ICdQTEFOTkVEJyxcclxuICBJTl9QUk9HUkVTUyA9ICdJTl9QUk9HUkVTUycsXHJcbiAgV0FJVElOR19GT1JfVkFMSURBVElPTiA9ICdXQUlUSU5HX0ZPUl9WQUxJREFUSU9OJyxcclxuICBWQUxJREFURUQgPSAnVkFMSURBVEVEJyxcclxuICBSRUpFQ1RFRCA9ICdSRUpFQ1RFRCcsXHJcbiAgUkVTT0xWRUQgPSAnUkVTT0xWRUQnLFxyXG4gIEFSQ0hJVkVEID0gJ0FSQ0hJVkVEJyxcclxuICBMQVRFID0gJ0xBVEUnLFxyXG4gIEJMT0NLRUQgPSAnQkxPQ0tFRCcsXHJcbiAgQ09NUExFVEVEID0gJ0NPTVBMRVRFRCcsXHJcbiAgREVMQVlFRCA9ICdERUxBWUVEJyxcclxuICBDQU5DRUxMRUQgPSAnQ0FOQ0VMTEVEJyxcclxuICBUT19SRURPID0gJ1RPX1JFRE8nLFxyXG4gIENSRUFURUQgPSAnQ1JFQVRFRCcsXHJcbiAgTElOS0VEX1RPX0VRVUlQTUVOVCA9ICdMSU5LRURfVE9fRVFVSVBNRU5UJyxcclxuICBVTkxJTktFRF9GUk9NX0VRVUlQTUVOVCA9ICdVTkxJTktFRF9GUk9NX0VRVUlQTUVOVCcsXHJcbiAgRURJVEVEID0gJ0VESVRFRCcsXHJcbiAgTElOS0VEX1RPX0FfUEFSRU5UX1RJQ0tFVCA9ICdMSU5LRURfVE9fQV9QQVJFTlRfVElDS0VUJyxcclxuICBXQUlUSU5HX0ZPUl9BQ0NFUFRBVElPTiA9ICdXQUlUSU5HX0ZPUl9BQ0NFUFRBVElPTicsXHJcbiAgQUNDRVBURUQgPSAnQUNDRVBURUQnLFxyXG4gIFJFRlVTRUQgPSAnUkVGVVNFRCcsXHJcbiAgRE9NQUlOX1VQREFURUQgPSAnRE9NQUlOX1VQREFURUQnLFxyXG4gIERBVEVTX1VQREFURUQgPSAnREFURVNfVVBEQVRFRCcsXHJcbiAgVElDS0VUX0NISUxEX1JFTU9WRUQgPSAnVElDS0VUX0NISUxEX1JFTU9WRUQnLFxyXG4gIFRZUEVfVVBEQVRFRCA9ICdUWVBFX1VQREFURUQnLFxyXG4gIERBVEVfRU5EX1VQREFURUQgPSAnREFURV9FTkRfVVBEQVRFRCcsXHJcbiAgREFURV9TVEFSVF9VUERBVEVEID0gJ0RBVEVfU1RBUlRfVVBEQVRFRCcsXHJcbiAgUE9TSVRJT05fU0VUID0gJ1BPU0lUSU9OX1NFVCcsXHJcbiAgUE9TSVRJT05fVVBEQVRFRCA9ICdQT1NJVElPTl9VUERBVEVEJyxcclxuICBQT1NJVElPTl9SRU1PVkVEID0gJ1BPU0lUSU9OX1JFTU9WRUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQYXltZW50U3RhdHVzIHtcclxuICBVTlBBSUQgPSAnVU5QQUlEJyxcclxuICBQQUlEID0gJ1BBSUQnLFxyXG4gIFBFTkRJTkcgPSAnUEVORElORycsXHJcbiAgRVJST1IgPSAnRVJST1InLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBDb21tZW50VHlwZSB7XHJcbiAgTUVBU1VSRSA9ICdNRUFTVVJFJyxcclxuICBWSURFTyA9ICdWSURFTycsXHJcbiAgRE9DVU1FTlQgPSAnRE9DVU1FTlQnLFxyXG4gIElNQUdFID0gJ0lNQUdFJyxcclxuICBURVhUID0gJ1RFWFQnLFxyXG4gIEFVRElPID0gJ0FVRElPJyxcclxuICBVUkwgPSAnVVJMJyxcclxuICBZT1VUVUJFID0gJ1lPVVRVQkUnLFxyXG4gIFVSTF9TSE9QID0gJ1VSTF9TSE9QJyxcclxuICBFTUJFRCA9ICdFTUJFRCcsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN0YXR1c0VxdWlwbWVudCB7XHJcbiAgVE9fU0VUVVAgPSAnVE9fU0VUVVAnLFxyXG4gIEJST0tFTiA9ICdCUk9LRU4nLFxyXG4gIFVOSU5TVEFMTEVEID0gJ1VOSU5TVEFMTEVEJyxcclxuICBJTkNJREVOVCA9ICdJTkNJREVOVCcsXHJcbiAgSU5fT1BFUkFUSU9OID0gJ0lOX09QRVJBVElPTicsXHJcbiAgV0FJVElOR19GT1JfUkVQQUlSID0gJ1dBSVRJTkdfRk9SX1JFUEFJUicsXHJcbiAgREVMRVRFRCA9ICdERUxFVEVEJyxcclxuICBPVVRfT0ZfT1JERVIgPSAnT1VUX09GX09SREVSJyxcclxuICBUT19CRV9SRVBMQUNFRCA9ICdUT19CRV9SRVBMQUNFRCcsXHJcbn1cclxuXHJcbi8qKiBJbnRlcmZhY2UgZm9yIFVwZGF0ZSAob25seSBpZCBpcyByZXF1aXJlZCkgKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlIHtcclxuICBpZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBBV1NUeXBlID0ge1xyXG4gIF9fdHlwZW5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XHJcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGJPYmplY3RUeXBlID0ge1xyXG4gIHNwYWNlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBwb2lzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbFBPSUNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxQT0k+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfSB8IG51bGw7XHJcbiAgc3BhY2U/OiBTcGFjZSB8IG51bGw7XHJcbiAgZG9tYWluSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBUaWNrZXQgPSB7XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgc3RhdHVzPzogVGlja2V0U3RhdHVzIHwgbnVsbDtcclxuICBwcmlvcml0eT86IFRpY2tldFByaW9yaXR5IHwgbnVsbDtcclxuICBvd25lck1pc3Npb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgb3duZXJNaXNzaW9uPzogTWlzc2lvbiB8IG51bGw7XHJcbiAgdHlwZT86IFRpY2tldFR5cGUgfCBudWxsO1xyXG4gIHBhcmVudElEPzogc3RyaW5nIHwgbnVsbDtcclxuICBsZXZlbD86IExldmVsU3RhdHVzIHwgbnVsbDtcclxuICBmcmllbmRseUxhYmVsPzogc3RyaW5nIHwgbnVsbDtcclxuICBkb21haW46IERvbWFpbiB8IG51bGw7XHJcbiAgZG9tYWluSUQ6IHN0cmluZyB8IG51bGw7XHJcbiAgZXZlbnRzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbEV2ZW50Q29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PEV2ZW50PiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH0gfCBudWxsO1xyXG4gIGFzc2lnbmVlcz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxBZmZlY3RhdGlvbkNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxBZmZlY3RhdGlvbj4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9IHwgbnVsbDtcclxuICBlcXVpcG1lbnRzPzogQXJyYXk8RXF1aXBtZW50PiB8IG51bGw7XHJcbiAgb3BlcmF0aW9ucz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxPcGVyYXRpb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8T3BlcmF0aW9uIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGNvbW1lbnRzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbENvbW1lbnRDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8Q29tbWVudCB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBwcmVzdGF0YWlyZT86IFByZXN0YXRhaXJlIHwgbnVsbDtcclxuICBjaGlsZHJlbj86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxUaWNrZXRDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8VGlja2V0IHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGFyY2hpdmVkRm9yTWlzc2lvbklEPzogc3RyaW5nW10gfCBudWxsO1xyXG59ICYgRGJPYmplY3RUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgT3BlcmF0aW9uID0ge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgZXF1aXBtZW50SUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgdGlja2V0PzogVGlja2V0IHwgbnVsbDtcclxuICBlcXVpcG1lbnQ/OiBFcXVpcG1lbnQgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIEVxdWlwbWVudCA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbm90ZXM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsTm90ZUNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxOb3RlIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGRvY3VtZW50cz86IEFycmF5PEVxdWlwbWVudERvY3VtZW50PiB8IG51bGw7XHJcbiAgZG9jdW1lbnRhdGlvbkltYWdlVXJsU2lnbmVkPzogc3RyaW5nIHwgbnVsbDtcclxuICBzdWJFcXVpcG1lbnRzPzogQXJyYXk8RXF1aXBtZW50IHwgbnVsbD4gfCBudWxsO1xyXG4gIHN1YmVxdWlwbWVudHNJRHM/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgc2VyaWFsTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcclxuICBkb21haW4/OiBEb21haW4gfCBudWxsO1xyXG4gIGNoaWxkRG9tYWluPzogRG9tYWluIHwgbnVsbDtcclxuICBwYXJlbnREb21haW4/OiBEb21haW4gfCBudWxsO1xyXG4gIHBob3RvPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lPzogWm9uZSB8IG51bGw7XHJcbiAgdGlja2V0cz86IFRpY2tldFtdIHwgbnVsbDtcclxuICBkb21haW5JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIGFyY2hpdmVkRm9yTWlzc2lvbklEPzogc3RyaW5nW10gfCBudWxsO1xyXG4gIGFubm90YXRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHN0YXR1cz86IFN0YXR1c0VxdWlwbWVudCB8IG51bGw7XHJcbiAgZmFtaWx5PzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIG1hbnVmYWN0dXJlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgc2t1Pzogc3RyaW5nIHwgbnVsbDtcclxuICBpbnN0YWxsRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgd2FycmFudHlFbmREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBpc0NyZWF0ZWRCeUFJPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgb3BlcmF0aW9ucz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxPcGVyYXRpb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8T3BlcmF0aW9uIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG59ICYgRGJPYmplY3RUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgRXF1aXBtZW50U2VsZWN0ZWQgPSB7XHJcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xyXG59ICYgRXF1aXBtZW50O1xyXG5cclxuLy8gbm90IGluIGRiXHJcbmV4cG9ydCB0eXBlIEVxdWlwbWVudERvY3VtZW50ID0ge1xyXG4gIGZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgdXJsU2lnbmVkOiBzdHJpbmc7XHJcbiAgbm90ZUlEOiBzdHJpbmc7XHJcbn07XHJcblxyXG4vLyBub3QgaW4gZGJcclxuZXhwb3J0IHR5cGUgUHJlc3RhdGFpcmUgPSB7XHJcbiAgb3JnYW5pc2F0aW9uOiBPcmdhbmlzYXRpb247XHJcbiAgbWlzc2lvbjogTWlzc2lvbjtcclxuICBwcm9maWxlOiBQcm9maWxlO1xyXG4gIG5hbWU6IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vdGUgPSB7XHJcbiAgaWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGF0dGFjaG1lbnQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNpZ25EYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBleHBpcmF0aW9uRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgdHlwZT86IFR5cGVOb3RlIHwgbnVsbDtcclxuICBvd25lck1pc3Npb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgZXF1aXBtZW50SUQ/OiBzdHJpbmcgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIERvbWFpbiA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc2x1Zz86IHN0cmluZyB8IG51bGw7XHJcbiAgYWJicmV2aWF0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHBhcmVudElEPzogc3RyaW5nIHwgbnVsbDtcclxuICB0eXBlPzogRG9tYWluVHlwZSB8IG51bGw7XHJcbiAgcGFyZW50PzogRG9tYWluIHwgbnVsbDtcclxuICBjaGlsZHJlbj86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxEb21haW5Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8RG9tYWluIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIFBPSSA9IHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgY29vcmRpbmF0ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgdGFnSWNvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgdGFnRGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRhZ0ltYWdlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1ldGFkYXRhPzogc3RyaW5nIHwgbnVsbDtcclxuICBtYXR0ZXJwb3J0U3dlZXBJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdHlwZT86IFBvaVR5cGUgfCBudWxsO1xyXG4gIGVsZW1lbnRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdmlydHVhbD86IGJvb2xlYW4gfCBudWxsO1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gVmlld2VySW50ZXJhY3Rpb25zIHtcclxuICBERUZBVUxUID0gMCxcclxuICBBRERJTkcsXHJcbiAgUE9TSVRJT05JTkcsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1pc3Npb24gPSB7XHJcbiAgdXNlcklEOiBzdHJpbmc7XHJcbiAgcm9sZT86IFJvbGVTdGF0dXMgfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEOiBzdHJpbmc7XHJcbiAgc3BhY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbGV2ZWw/OiBMZXZlbFN0YXR1cyB8IG51bGw7XHJcbiAgb3JkZXJlZE9yZ2FuaXNhdGlvbklEPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGdyb3Vwcz86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBlbWFpbFN0YXR1cz86IEVtYWlsU3RhdHVzIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgYXNzaWdubWVudHM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsQWZmZWN0YXRpb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8QWZmZWN0YXRpb24gfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbiAgb3JnYW5pc2F0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICBvcmRlcmVkT3JnYW5pc2F0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICB1c2VyPzogUHJvZmlsZSB8IG51bGw7XHJcbiAgZG9tYWlucz86IHN0cmluZ1tdIHwgbnVsbDtcclxuICAvLyBkb21haW5PYmplY3RzPzogRG9tYWluW10gfCBudWxsO1xyXG4gIHNwYWNlPzogU3BhY2UgfCBudWxsO1xyXG4gIHpvbmU/OiBab25lIHwgbnVsbDtcclxuICBzdGFydERhdGVUaW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBlbmREYXRlVGltZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaGFzaHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgdGVtcGxhdGVNaXNzaW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRlbXBsYXRlTWlzc2lvbj86IFZpc2l0VGVtcGxhdGUgfCBudWxsO1xyXG4gIGxvY2FsZT86IExvY2FsZSB8IG51bGw7XHJcbiAgaXNJbldhaXRpbmdSb29tPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgYmxvY2tlZEluQ2hhdD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGNvbm5lY3RlZFRvTGl2ZUF0Pzogc3RyaW5nW10gfCBudWxsO1xyXG4gIGRpc2Nvbm5lY3RlZEZyb21MaXZlQXQ/OiBzdHJpbmdbXSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgQWZmZWN0YXRpb24gPSB7XHJcbiAgbWlzc2lvbj86IE1pc3Npb24gfCBudWxsO1xyXG4gIGdyb3VwOiBzdHJpbmc7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgbWlzc2lvbklEOiBzdHJpbmc7XHJcbiAgdGlja2V0SUQ6IHN0cmluZztcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBNZWRpYUNvbnRlbnQgPSB7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBzaG93SW5UYWc/OiBib29sZWFuO1xyXG4gIHR5cGU/OiBDb21tZW50VHlwZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbW1lbnQgPSB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0aWNrZXQ/OiBUaWNrZXQgfCBudWxsO1xyXG4gIG93bmVySUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG93bmVyPzogTWlzc2lvbiB8IG51bGw7XHJcbiAgYW5uZXhlPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdHlwZT86IENvbW1lbnRUeXBlIHwgbnVsbDtcclxuICBkaW1lbnNpb25zPzogQXJyYXk8bnVtYmVyIHwgbnVsbD4gfCBudWxsO1xyXG4gIGZlYXR1cmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNDb3ZlckltYWdlPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaW5kZXg/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNob3duSW5UYWc/OiBib29sZWFuIHwgbnVsbDtcclxuICBleHRlcm5hbExpbms/OiBzdHJpbmcgfCBudWxsO1xyXG59ICYgQVdTVHlwZSAmXHJcbiAgRGJPYmplY3RUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgWm9uZSA9IHtcclxuICBzd2VlcElEcz86IHN0cmluZ1tdIHwgbnVsbDtcclxuICBsYXllcklEPzogc3RyaW5nIHwgbnVsbDtcclxuICBjb2RlX3JlZj86IHN0cmluZyB8IG51bGw7XHJcbiAgbGF5ZXI/OiBMYXllciB8IG51bGw7XHJcbiAgcGFyZW50PzogWm9uZSB8IG51bGw7XHJcbiAgdmlydHVhbD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0YWdzPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIHBhcmVudElEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZT86IFNwYWNlIHwgbnVsbDtcclxuICBpc011c2V1bVZpc2l0Wm9uZT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIG5vZGVJRHM/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgc3VyZmFjZT86IG51bWJlciB8IG51bGw7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGlzTXVsdGlwbGVGbG9vclpvbmU/OiBib29sZWFuIHwgbnVsbDtcclxuICBhdWRpb0lEPzogc3RyaW5nIHwgbnVsbDtcclxuICBhdWRpbz86IENvbW1lbnQgfCBudWxsO1xyXG4gIHN0YXJ0U3dlZXBJRD86IHN0cmluZyB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgTGF5ZXIgPSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2ZpbGUgPSB7XHJcbiAgaWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHVzZXJJRDogc3RyaW5nO1xyXG4gIGF2YXRhcj86IHN0cmluZyB8IG51bGw7XHJcbiAgdG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRva2VuRXhwaXJlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBzdGF0dXM/OiBQcm9maWxlU3RhdHVzIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgbGFzdENvbm5lY3RlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBwc2V1ZG8/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IGNsYXNzIFByb2ZpbGVFbnRpdHkgaW1wbGVtZW50cyBQcm9maWxlIHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIHVzZXJJRDogc3RyaW5nO1xyXG5cclxuICBhdmF0YXI/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICB0b2tlbj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIHRva2VuRXhwaXJlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgc3RhdHVzPzogUHJvZmlsZVN0YXR1cyB8IG51bGw7XHJcblxyXG4gIGNyZWF0ZWRBdD86IHN0cmluZztcclxuXHJcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xyXG5cclxuICBmaXJzdE5hbWU6IHN0cmluZztcclxuXHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuXHJcbiAgZW1haWw6IHN0cmluZztcclxuXHJcbiAgcGhvbmU6IHN0cmluZztcclxuXHJcbiAgcHNldWRvOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPFByb2ZpbGU+KSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xyXG4gICAgdGhpcy5tZXRhZGF0YSA9IGluaXQubWV0YWRhdGE7XHJcbiAgfVxyXG5cclxuICBnZXQgbWV0YWRhdGEoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgIGZpcnN0TmFtZTogdGhpcy5maXJzdE5hbWUsXHJcbiAgICAgIGxhc3ROYW1lOiB0aGlzLmxhc3ROYW1lLFxyXG4gICAgICBlbWFpbDogdGhpcy5lbWFpbCxcclxuICAgICAgcGhvbmU6IHRoaXMucGhvbmUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldCBtZXRhZGF0YShtOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGQgPSBKU09OLnBhcnNlKG0pO1xyXG4gICAgaWYgKGQpIHtcclxuICAgICAgdGhpcy5maXJzdE5hbWUgPSBkLmZpcnN0TmFtZTtcclxuICAgICAgdGhpcy5sYXN0TmFtZSA9IGQubGFzdE5hbWU7XHJcbiAgICAgIHRoaXMuZW1haWwgPSBkLmVtYWlsO1xyXG4gICAgICB0aGlzLnBob25lID0gZC5waG9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBkaXNwbGF5TmFtZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMucHNldWRvKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBzZXVkbztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmxhc3ROYW1lLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMuZmlyc3ROYW1lfSAke3RoaXMubGFzdE5hbWV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmVtYWlsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3JnYW5pc2F0aW9uID0ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzaXJldD86IHN0cmluZyB8IG51bGw7XHJcbiAgYWRkcmVzcz86IHN0cmluZyB8IG51bGw7XHJcbiAgY2l0eT86IHN0cmluZyB8IG51bGw7XHJcbiAgcG9zdGFsPzogbnVtYmVyIHwgbnVsbDtcclxuICBsb2dvVXJsPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmlnaW5EYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBkZWxldGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNoYXJlVG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRva2VuRXhwaXJlc0F0PzogbnVtYmVyIHwgbnVsbDtcclxuICBjb25uZWN0ZWRBY2NvdW50U3RyaXBlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHN0cmlwZU9uQm9hcmRpbmdDb21wbGV0ZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBzdHJpcGVUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgc3RyaXBlQ2hhcmdlc0VuYWJsZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBjb250YWN0RGV0YWlscz86IHN0cmluZyB8IG51bGw7XHJcbiAgdGlja2V0T3JnYW5pc2F0aW9uc0lkPzogc3RyaW5nIHwgbnVsbDtcclxuICAvLyBwcm9wZXJ0aWVzPzoge1xyXG4gIC8vICAgICBfX3R5cGVuYW1lPzogXCJNb2RlbFByb3BlcnR5Q29ubmVjdGlvblwiO1xyXG4gIC8vICAgICBpdGVtcz86IEFycmF5PFByb3BlcnR5IHwgbnVsbD4gfCBudWxsO1xyXG4gIC8vICAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIC8vIH0gfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb3BlcnR5ID0ge1xyXG4gIHR5cGU6IFByb3BlcnR5VHlwZTtcclxuICBkZWxldGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEOiBzdHJpbmc7XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIHpvbmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3BhY2U/OiBTcGFjZSB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICAvLyB6b25lPzogWm9uZSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgU3BhY2UgPSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGFkZHJlc3Nlcz86IHN0cmluZyB8IG51bGw7XHJcbiAgYW5uZXhlcz86IHN0cmluZyB8IG51bGw7XHJcbiAgdGFncz86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBsYXRpdHVkZT86IG51bWJlciB8IG51bGw7XHJcbiAgbG9uZ2l0dWRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgbGV2ZWw/OiBMZXZlbFN0YXR1cyB8IG51bGw7XHJcbiAgZGVsZXRlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBjb25zdHJ1Y3Rpb25ZZWFyPzogc3RyaW5nIHwgbnVsbDtcclxuICBjbGFzc0VuZXJneUNvbnN1bXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBjbGFzc0dlcz86IHN0cmluZyB8IG51bGw7XHJcbiAgc3RhdHVzPzogU3BhY2VTdGF0dXMgfCBudWxsO1xyXG4gIGd1ZXN0TGluaz86IHN0cmluZyB8IG51bGw7XHJcbiAgc2lnbmVkSW1hZ2VVcmw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHpvbmVzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbFpvbmVDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8Wm9uZSB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBwcm9wZXJ0aWVzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbFByb3BlcnR5Q29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PFByb3BlcnR5IHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIHZpc2l0cz86IFZpc2l0W10gfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmdhbmlzYXRpb24/OiBPcmdhbmlzYXRpb24gfCBudWxsO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBhdHRhY2htZW50cz86IENvbW1lbnRbXSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuLy8gbm90IGluIERCXHJcbmV4cG9ydCB0eXBlIFZpc2l0ID0ge1xyXG4gIGNhcHR1cmVJRDogc3RyaW5nO1xyXG4gIG1vZGVsM2Q6IHN0cmluZztcclxuICB0YWtlbkF0OiBudW1iZXI7XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIHZpZXdlcjogQ2FwdHVyZVZpZXdlcjtcclxuICBzdXJmYWNlOiBudW1iZXI7XHJcbiAgbm9kZTogTm9kZTtcclxuICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBubWJJbWFnZXNJbXBvcnRlZDogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSGFzaHRhZyA9IHtcclxuICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmdhbmlzYXRpb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3BhY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgb3JnYW5pemF0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICBzcGFjZT86IFNwYWNlIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBDYXB0dXJlID0ge1xyXG4gIC8vIGNsaWVudFJlZj86IHN0cmluZyB8IG51bGw7XHJcbiAgLy8gb3JpZ2luQ29vcmRpbmF0ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgLy8gb3JpZ2luQW5nbGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIC8vIG9yaWdpblpvb20/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRha2VuQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHZpZXdlcj86IENhcHR1cmVWaWV3ZXIgfCBudWxsO1xyXG4gIHB1Ymxpc2hlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBzdXJmYWNlPzogbnVtYmVyIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgc3BhY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbm9kZXM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsTm9kZUNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxOb2RlIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vZGUgPSB7XHJcbiAgbW9kZWwzRD86IHN0cmluZyB8IG51bGw7XHJcbiAgY29vcmRpbmF0ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgc2l6ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgc2NhbGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHZlcnNpb24/OiBudW1iZXIgfCBudWxsO1xyXG4gIGFjdGl2ZT86IG51bWJlciB8IG51bGw7XHJcbiAgb3JkZXI/OiBudW1iZXIgfCBudWxsO1xyXG4gIC8vIHF1YWxpdHk/OiBOb2RlUXVhbGl0eSB8IG51bGw7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNhcHR1cmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgaW52ZW50b3J5U3RhdHVzPzogSW52ZW50b3J5U3RhdHVzIHwgbnVsbDtcclxuICBuYXZpZ2F0aW9uRm9ySW52ZW50b3J5Pzogc3RyaW5nIHwgbnVsbDtcclxuICBjYXB0dXJlPzogQ2FwdHVyZSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgUGxhbiA9IHtcclxuICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBhbm5leGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNhbGlicmF0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGlzQ3VycmVudEZvclpvbmU/OiBib29sZWFuIHwgbnVsbDtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBpc01vZGlmaWVkPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNJbXBvcnRlZE1hdHRlcnBvcnQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBmaWxlcGF0aD86IHN0cmluZztcclxuICBtb2RlbDNkPzogc3RyaW5nIHwgbnVsbDtcclxuICBmbG9vcj86IHN0cmluZyB8IG51bGw7XHJcbiAgdmlzaXROYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lPzogWm9uZSB8IG51bGw7XHJcbiAgZXh0ZW5zaW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBuYXZpZ2F0aW9uSURzPzogc3RyaW5nW10gfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIE5hdmlnYXRpb24gPSB7XHJcbiAgbWF0dGVycG9ydFN3ZWVwSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHBvc2l0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICByb3RhdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgcmFkaXVzPzogbnVtYmVyIHwgbnVsbDtcclxuICB1cmw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgbGV2ZWw/OiBMZXZlbFN0YXR1cyB8IG51bGw7XHJcbiAgbm9kZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBwb3NpdGlvbk9uUGxhbj86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBuYXZpZ2F0aW9uU2libGluZ3NJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgcG9pcz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxQT0lDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8UE9JIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIG5vZGU/OiBOb2RlIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBNZW51SXRlbSA9IHsgbGFiZWw6IHN0cmluZzsgdXJsPzogc3RyaW5nOyBiYWNrPzogYW55IH07XHJcblxyXG4vLyBub3QgaW4gZGJcclxuZXhwb3J0IHR5cGUgTWVhc3VyZW1lbnQgPSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwb2k6IFBPSTtcclxuICBjb21tZW50OiBDb21tZW50O1xyXG4gIHNpbmdlZFVybFBob3RvPzogc3RyaW5nIHwgbnVsbDtcclxuICB2YWx1ZXM6IEFycmF5PG51bWJlcj4gfCBudWxsO1xyXG4gIG51bWJlclBvaW50czogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmVhdHVyZSA9IHtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgc2hvcnREZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgb3duZXJNaXNzaW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGxldmVsPzogTGV2ZWxTdGF0dXMgfCBudWxsO1xyXG4gIGluZGV4PzogbnVtYmVyIHwgbnVsbDtcclxuICB0eXBlPzogRmVhdHVyZVR5cGUgfCBudWxsO1xyXG4gIGFyY2hpdmVkRm9yTWlzc2lvbklEPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIHN0cmlwZVByb2R1Y3RJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3RyaXBlUHJpY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgYm9va2luZ1ByaWNlTWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGxvY2FsZT86IExvY2FsZSB8IG51bGw7XHJcbiAgaGFzaHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgY292ZXJJbWFnZVVybD86IHN0cmluZyB8IG51bGw7XHJcbiAgaW1hZ2VzPzogQXJyYXk8TWVkaWFDb250ZW50PiB8IG51bGw7XHJcbiAgdmlkZW9zPzogQXJyYXk8TWVkaWFDb250ZW50PiB8IG51bGw7XHJcbiAgYXVkaW9zPzogQXJyYXk8TWVkaWFDb250ZW50PiB8IG51bGw7XHJcbiAgZXh0ZXJuYWxMaW5rcz86IEFycmF5PE1lZGlhQ29udGVudD4gfCBudWxsO1xyXG4gIGRvY3VtZW50cz86IEFycmF5PHtcclxuICAgIHBhdGg6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIH0+IHwgbnVsbDtcclxuICBlbWJlZHM/OiBBcnJheTxNZWRpYUNvbnRlbnQ+IHwgbnVsbDtcclxuICBjb21tZW50cz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxDb21tZW50Q29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PENvbW1lbnQgfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbiAgZG9tYWluPzogRG9tYWluIHwgbnVsbDtcclxuICBpc0Jvb2tpbmdQbGFjZT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGV2ZW50cz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxFdmVudENvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxFdmVudCB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBzcGFjZUlEOiBzdHJpbmc7XHJcbn0gJiBEYk9iamVjdFR5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBFdmVudCA9IHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU/OiBFdmVudFR5cGUgfCBudWxsO1xyXG4gIGVzdGltYXRlU3RhcnREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBlc3RpbWF0ZUR1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICBlc3RpbWF0ZUVuZERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHJlYWxTdGFydERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHRpbWVTcGVudD86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbEVuZERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHN0YXR1cz86IEV2ZW50U3RhdHVzIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgZ3JvdXA/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1ldGFkYXRhPzogc3RyaW5nIHwgbnVsbDtcclxuICBvd25lcklEPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgY3JlYXRlZEF0Pzogc3RyaW5nIHwgbnVsbDtcclxuICB0cmFuc2xhdGlvblBhdGg/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGZlYXR1cmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgYXJjaGl2ZWRCeU93bmVyPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgcGF5bWVudFN0YXR1cz86IFBheW1lbnRTdGF0dXMgfCBudWxsO1xyXG4gIHN0cmlwZVNlc3Npb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbm90aWZpY2F0aW9uU3RhdHVzPzogRW1haWxTdGF0dXMgfCBudWxsO1xyXG4gIHJlZnVzYWxSZWFzb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGFnb1N0cj86IGJvb2xlYW4gfCBzdHJpbmcgfCBudWxsO1xyXG4gIG93bmVyPzogTWlzc2lvbiB8IG51bGw7XHJcbiAgYXV0aG9yPzogUHJvZmlsZUVudGl0eSB8IG51bGw7XHJcbiAgZmVhdHVyZT86IEZlYXR1cmUgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbi8vbm90IGluIERCICh2YXJpYXRpb24gb2YgRXZlbnQpXHJcbmV4cG9ydCB0eXBlIFJlcXVlc3RJbnRlcnZlbnRpb24gPSB7XHJcbiAgZXN0aW1hdGVTdGFydERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIGVzdGltYXRlRHVyYXRpb24/OiBudW1iZXIgfCBudWxsO1xyXG4gIGVzdGltYXRlRW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbFN0YXJ0RGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbER1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICByZWFsRW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgdHlwZTogRXZlbnRUeXBlLlJFUVVFU1RfRk9SX0lOVEVSVkVOVElPTjtcclxuICBzdGF0dXM6IEV2ZW50U3RhdHVzO1xyXG4gIGludGVydmVudGlvbj86IEV2ZW50IHwgbnVsbDtcclxuICByZXBvcnQ/OiBFdmVudCB8IG51bGw7XHJcbiAgdGlja2V0SUQ6IHN0cmluZztcclxufSAmIEFXU1R5cGU7XHJcblxyXG4vL25vdCBpbiBEQiAodmFyaWF0aW9uIG9mIEV2ZW50KVxyXG5leHBvcnQgdHlwZSBJbnRlcnZlbnRpb24gPSB7XHJcbiAgZXN0aW1hdGVTdGFydERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIGVzdGltYXRlRHVyYXRpb24/OiBudW1iZXIgfCBudWxsO1xyXG4gIGVzdGltYXRlRW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbFN0YXJ0RGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbER1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICByZWFsRW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgdHlwZTogRXZlbnRUeXBlO1xyXG4gIHN0YXR1czogRXZlbnRTdGF0dXM7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgVmlzaXRUZW1wbGF0ZSA9IHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgdGl0bGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGxldmVsPzogTGV2ZWxTdGF0dXMgfCBudWxsO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgZGVsZXRlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBzdGFydERhdGVUaW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBlbmREYXRlVGltZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaGFzaHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZztcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICB6b25lSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGxvY2FsZT86IExvY2FsZSB8IG51bGw7XHJcbiAgcmVhbFN0YXJ0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbEVuZGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNwYWNlPzogU3BhY2UgfCBudWxsO1xyXG4gIHpvbmU/OiBab25lIHwgbnVsbDtcclxuICBvcmdhbmlzYXRpb24/OiBPcmdhbmlzYXRpb24gfCBudWxsO1xyXG4gIHVzZXJNaXNzaW9ucz86IHtcclxuICAgIF9fdHlwZW5hbWU6ICdNb2RlbE1pc3Npb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zOiBBcnJheTxNaXNzaW9uIHwgbnVsbD47XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH0gfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCBlbnVtIFNwTW9kdWxlIHtcclxuICBNVVNFVU0gPSAnTVVTRVVNJyxcclxuICBIT1RFTCA9ICdIT1RFTCcsXHJcbiAgSU1NTyA9ICdJTU1PJyxcclxufVxyXG5cclxuLyoqXHJcbiAqIFRocmVlSlMgb2JqZWN0M0RcclxuICovXHJcbmV4cG9ydCB0eXBlIElPYmplY3QzRCA9IHtcclxuICBpZD86IHN0cmluZzsgLy8gdXNlZCB0byByZXBsYWNlIHRocmVlSlMgdXVpZFxyXG4gIG9iamVjdDogc3RyaW5nO1xyXG4gIGZvcm1hdDogc3RyaW5nO1xyXG4gIG1vZGU6IHN0cmluZztcclxuICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyOyB9O1xyXG4gIHJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XHJcbiAgc2NhbGU6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlcjsgfTtcclxuICB2aWV3RnJ1c3R1bTogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBEeW5hbW9EYiBvYmplY3QzRFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgT2JqZWN0M0QgPSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgczNCdWNrZXQ6IGJvb2xlYW47XHJcbiAgcG9zaXRpb246IG51bWJlcltdO1xyXG4gIHJvdGF0aW9uOiBudW1iZXJbXTtcclxuICBzY2FsZTogbnVtYmVyW107XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIHZpZXdGcnVzdHVtOiBib29sZWFuO1xyXG4gIHBvaXM6IHsgaXRlbXM6IFBPSVtdIH07XHJcbiAgLy8gTm90IHVzZWQgeWV0XHJcbiAgLy8gZG9tYWluOiBEb21haW4gfCBudWxsO1xyXG4gIC8vIGRvbWFpbklEOiBzdHJpbmcgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuIl19
|
|
@@ -4,4 +4,4 @@ export function emailValidator() {
|
|
|
4
4
|
return !regex.test(control.value) ? { email: control.value } : null;
|
|
5
5
|
};
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi92YWxpZGF0b3JzL2VtYWlsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsY0FBYztJQUMxQixPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxNQUFNLEtBQUssR0FBRyw4SEFBOEgsQ0FBQztRQUM3SSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BFLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZW1haWxWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL14oKFteXFxzXCIoKSwuOjs8PkBbXFxcXFxcXV0rKFxcLlteXFxzXCIoKSwuOjs8PkBbXFxcXFxcXV0rKSopfChcIi4rXCIpKUAoKFxcWyg/OlxcZHsxLDN9XFwuKXszfVxcZHsxLDN9XSl8KChbXFxkQS1aYS16XFwtXStcXC4pK1tBLVphLXpdezIsfSkpJC87XHJcbiAgICAgIHJldHVybiAhcmVnZXgudGVzdChjb250cm9sLnZhbHVlKSA/IHtlbWFpbDogY29udHJvbC52YWx1ZX0gOiBudWxsO1xyXG4gICAgfTtcclxuICB9Il19
|
|
@@ -9,4 +9,4 @@ export function noEmptyValidator() {
|
|
|
9
9
|
}
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZW1wdHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi92YWxpZGF0b3JzL25vLWVtcHR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsZ0JBQWdCO0lBQzVCLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELElBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBQztZQUV2QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN0RDthQUFJO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbm9FbXB0eVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYoY29udHJvbC52YWx1ZSAmJiBjb250cm9sLnZhbHVlICE9PSAnJyl7XHJcblxyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBjb250cm9sLnZhbHVlLnJlcGxhY2UoLyAvZywgJycpO1xyXG4gICAgICAgIHJldHVybiBkYXRhID09PSAnJyA/IHtpc0VtcHR5OiBjb250cm9sLnZhbHVlfSA6IG51bGw7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH0iXX0=
|
|
@@ -9,4 +9,4 @@ export function floatValidator() {
|
|
|
9
9
|
}
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxjQUFjO0lBQzVCLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sS0FBSyxHQUFHLDJCQUEyQixDQUFDO1FBQzFDLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUN6QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ3RFO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmbG9hdFZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICBjb25zdCByZWdleCA9IC9eWystXT8oWzAtOV0qWy5dKT9bMC05XSskLztcclxuICAgIGlmIChjb250cm9sLnZhbHVlICYmIGNvbnRyb2wudmFsdWUgIT09ICcnKSB7XHJcbiAgICAgIHJldHVybiAhcmVnZXgudGVzdChjb250cm9sLnZhbHVlKSA/IHsgbnVtYmVyOiBjb250cm9sLnZhbHVlIH0gOiBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfTtcclxufSJdfQ==
|
|
@@ -9,4 +9,4 @@ export function textValidator() {
|
|
|
9
9
|
}
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLGFBQWE7SUFDM0IsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0QsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBQzVCLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUN6QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ3BFO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0ZXh0VmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL1thLXpBLVoxLTldLztcclxuICAgIGlmIChjb250cm9sLnZhbHVlICYmIGNvbnRyb2wudmFsdWUgIT09ICcnKSB7XHJcbiAgICAgIHJldHVybiAhcmVnZXgudGVzdChjb250cm9sLnZhbHVlKSA/IHsgdGV4dDogY29udHJvbC52YWx1ZSB9IDogbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH07XHJcbn0iXX0=
|