@smarterplan/ngx-smarterplan-core 1.4.12 → 1.4.13

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.
@@ -191,6 +191,13 @@ export class ViewerService {
191
191
  await this.actionAddObjectFromPOI(object, poi);
192
192
  }
193
193
  }));
194
+ // Newly created tags have no opacity/allowAction applied yet (only set by
195
+ // updateTagsVisibilityForContext, which runs on Mode/Sweep/Floor/Room/Camera
196
+ // events). If this batch loaded after those fired, the tags stay in whatever
197
+ // default state the SDK gave them until something else nudges a refresh.
198
+ if (this.checkMode('Matterport')) {
199
+ this.matterportService.refreshTagsVisibility();
200
+ }
194
201
  }
195
202
  async actionAddObjectFromPOI(object, poi) {
196
203
  if (this.checkMode('Matterport')) {
@@ -443,4 +450,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
443
450
  type: Inject,
444
451
  args: [MATTERPORT_SDK_KEY]
445
452
  }] }, { type: i1.PoiService }, { type: i2.MatterportService }] });
446
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3NlcnZpY2VzL3ZpZXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUNyQyw4QkFBOEI7QUFDOUIseUNBQXlDO0FBQ3pDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFHTCxrQkFBa0IsRUFDbEIsT0FBTyxFQUtQLFFBQVEsR0FDVCxNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7O0FBTXRILE1BQU0sT0FBTyxhQUFhO0lBcUR1QjtJQUNyQztJQUNBO0lBdERGLFVBQVUsR0FBVyxZQUFZLENBQUM7SUFFbkMsY0FBYyxDQUFTO0lBRXRCLE9BQU8sQ0FBUztJQUVqQixVQUFVLEdBS1osSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVaLFlBQVksR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUUvQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFdEIsV0FBVyxDQUFnQjtJQUUzQixjQUFjLENBQW1DO0lBRWpELGFBQWEsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU3QyxhQUFhLEdBQUc7UUFDckIsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLEtBQUs7WUFDWCxNQUFNLEVB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bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFzREksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1hd2FpdC1pbi1sb29wICovXHJcbi8qIGVzbGludC1kaXNhYmxlIGNhbWVsY2FzZSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRURVJQT1JUX1NES19LRVkgfSBmcm9tICcuLi90b2tlbnMvbWF0dGVycG9ydC1zZGsta2V5LnRva2VuJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNYXR0ZXJwb3J0U2VydmljZSB9IGZyb20gJy4vbWF0dGVycG9ydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZVRhZ1NlcnZpY2UgfSBmcm9tICcuL3RhZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBEYk9iamVjdFR5cGUsXHJcbiAgUE9JLFxyXG4gIFZpZXdlckludGVyYWN0aW9ucyxcclxuICBQb2lUeXBlLFxyXG4gIENvbW1lbnQsXHJcbiAgRXF1aXBtZW50LFxyXG4gIFRpY2tldCxcclxuICBGZWF0dXJlLFxyXG4gIFNwTW9kdWxlLFxyXG59IGZyb20gJy4uL3R5cGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb2lTZXJ2aWNlIH0gZnJvbSAnLi9tb2RlbHMvcG9pLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBtYWtlU2VjdXJpdHlDYW1lcmEsIHNlY3VyaXR5Q2FtZXJhVHlwZSB9IGZyb20gXCIuLi9tYXR0ZXJwb3J0LWV4dGVuc2lvbnMvc2VjdXJpdHktY2FtZXJhL1NlY3VyaXR5Q2FtZXJhXCI7XHJcbmltcG9ydCB7IFZpZXdGcnVzdHVtTWVzaFR5cGUsIG1ha2VWaWV3RnJ1c3R1bU1lc2ggfSBmcm9tIFwiLi4vbWF0dGVycG9ydC1leHRlbnNpb25zL3ZpZXctZnJ1c3R1bS1tZXNoL1ZpZXdGcnVzdHVtTWVzaFwiO1xyXG5pbXBvcnQgeyBOYXZpZ2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi9uYXZpZ2F0b3Iuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld2VyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB2aWV3ZXJNb2RlOiBzdHJpbmcgPSAnTWF0dGVycG9ydCc7XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50TW9kZWwzRDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIHRvdXJVcmw6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHZpZXdlcklzT246IFN1YmplY3Q8e1xyXG4gICAgc3BhY2VJRDogc3RyaW5nIHwgbnVsbDtcclxuICAgIG1vZGVsM0Q6IHN0cmluZyB8IG51bGw7XHJcbiAgICBzd2VlcDogc3RyaW5nIHwgbnVsbDtcclxuICAgIHJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9IHwgbnVsbDtcclxuICB9PiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHB1YmxpYyBkYXRhSXNMb2FkZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwdWJsaWMgaXNMb2FkZWQgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHNob3dpbmdWaWV3ZXIgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHN3ZWVwVG9Nb3ZlOiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICBwdWJsaWMgcm90YXRpb25Ub01vdmU6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH0gfCBudWxsO1xyXG5cclxuICBwdWJsaWMgZ29Ub1RyaWdnZXJlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHB1YmxpYyB0b29sYm94U3RhdGVzID0ge1xyXG4gICAgZG9sbGhvdXNlOiB7XHJcbiAgICAgIHN0YXQ6IGZhbHNlLFxyXG4gICAgICBpY29uSWQ6ICd1aS1kb2xsaG91c2UnLFxyXG4gICAgICBzaG93KCkge1xyXG4gICAgICB9LFxyXG4gICAgICBoaWRlKCkge1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIGZsb29ycGxhbjoge1xyXG4gICAgICBzdGF0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBtZXN1cmU6IHtcclxuICAgICAgc3RhdDogZmFsc2UsXHJcbiAgICAgIGljb25JZDogJ3VpLW1lc3VyZScsXHJcbiAgICAgIHNob3coKSB7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhpZGUoKSB7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgZmlsdGVyOiB7XHJcbiAgICAgIHN0YXQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICB9O1xyXG4gIHByaXZhdGUgaXNPYmplY3RMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVFRFUlBPUlRfU0RLX0tFWSkgcHJpdmF0ZSByZWFkb25seSBzZGtLZXk6IHN0cmluZyxcclxuICAgIHByaXZhdGUgcG9pU2VydmljZTogUG9pU2VydmljZSxcclxuICAgIHByaXZhdGUgbWF0dGVycG9ydFNlcnZpY2U6IE1hdHRlcnBvcnRTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5zZXRNb2RlKCdNYXR0ZXJwb3J0Jyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgVXRpbHNcclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbiAgY2hlY2tNb2RlKGluZGV4TW9kZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy52aWV3ZXJNb2RlID09PSBpbmRleE1vZGU7XHJcbiAgfVxyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICBTZXR0ZXJzXHJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4gIHNldE1vZGUoaW5kZXhNb2RlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudmlld2VyTW9kZSA9IGluZGV4TW9kZTtcclxuICB9XHJcblxyXG4gIHNldFRvdXJVcmwob3B0aW9uczoge1xyXG4gICAgbW9kZWwzZDogc3RyaW5nLFxyXG4gICAgc2hvd0ljb25QbGFuPzogYm9vbGVhbixcclxuICAgIHNob3dJY29uRG9sbGhvdXNlPzogYm9vbGVhbixcclxuICAgIHNob3dJY29uRmxvb3JzPzogYm9vbGVhbixcclxuICAgIHNob3dRdWlja1N0YXJ0PzogYm9vbGVhbixcclxuICAgIHNob3dGdWxsc2NyZWVuPzogYm9vbGVhbixcclxuICAgIHNob3dHdWlkZWRUb3VyPzogYm9vbGVhbixcclxuICAgIHNob3dIaWdobGlnaHRSZWVsPzogYm9vbGVhbixcclxuICAgIHNob3dEZWZ1cm5pc2g/OiBib29sZWFuLFxyXG4gICAgc2hvd1Jvb21NZWFzdXJlbWVudHM/OiBib29sZWFuXHJcbiAgfSkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBtb2RlbDNkLFxyXG4gICAgICBzaG93SWNvblBsYW4gPSB0cnVlLFxyXG4gICAgICBzaG93SWNvbkRvbGxob3VzZSA9IHRydWUsXHJcbiAgICAgIHNob3dJY29uRmxvb3JzID0gdHJ1ZSxcclxuICAgICAgc2hvd1F1aWNrU3RhcnQgPSB0cnVlLFxyXG4gICAgICBzaG93RnVsbHNjcmVlbiA9IHRydWUsXHJcbiAgICAgIHNob3dHdWlkZWRUb3VyID0gdHJ1ZSxcclxuICAgICAgc2hvd0hpZ2hsaWdodFJlZWwgPSB0cnVlLFxyXG4gICAgICBzaG93RGVmdXJuaXNoID0gdHJ1ZSxcclxuICAgICAgc2hvd1Jvb21NZWFzdXJlbWVudHMgPSB0cnVlXHJcbiAgICB9ID0gb3B0aW9ucztcclxuXHJcbiAgICBjb25zdCBiYXNlVXJsID0gYC9hc3NldHMvYnVuZGxlL3Nob3djYXNlLmh0bWxgO1xyXG5cclxuICAgIGNvbnN0IHBhcmFtczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAvLyBNb2TDqGxlXHJcbiAgICBwYXJhbXMucHVzaChgbT0ke21vZGVsM2R9YCk7XHJcblxyXG4gICAgLy8gQ29tcG9ydGVtZW50IGfDqW7DqXJhbFxyXG4gICAgcGFyYW1zLnB1c2goYHBsYXk9MWApO1xyXG4gICAgcGFyYW1zLnB1c2goYHVpPTFgKTtcclxuICAgIHBhcmFtcy5wdXNoKGB0aXRsZT0wYCk7XHJcbiAgICBwYXJhbXMucHVzaChgbG9nPTBgKTtcclxuICAgIHBhcmFtcy5wdXNoKGBicmFuZD0wYCk7XHJcbiAgICBwYXJhbXMucHVzaChgc2VhcmNoPTBgKTtcclxuICAgIHBhcmFtcy5wdXNoKGBhcHBsaWNhdGlvbktleT0ke3RoaXMuc2RrS2V5fWApO1xyXG4gICAgcGFyYW1zLnB1c2goYG1kcz0wYCk7XHJcblxyXG4gICAgLy8gUXVpY2sgc3RhcnRcclxuICAgIGlmIChzaG93UXVpY2tTdGFydCkge1xyXG4gICAgICBwYXJhbXMucHVzaChgcXM9MWApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZsb29ycGxhbiAocGxhbilcclxuICAgIGlmICghc2hvd0ljb25QbGFuKSB7XHJcbiAgICAgIHBhcmFtcy5wdXNoKGBmcD0wYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRG9sbGhvdXNlIChtYWlzb24vcG91cMOpZSlcclxuICAgIGlmICghc2hvd0ljb25Eb2xsaG91c2UpIHtcclxuICAgICAgcGFyYW1zLnB1c2goYGRoPTBgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTw6lsZWN0ZXVyIGTigJnDqXRhZ2VzXHJcbiAgICBpZiAoIXNob3dJY29uRmxvb3JzKSB7XHJcbiAgICAgIHBhcmFtcy5wdXNoKGBzZj0wYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gR3VpZGVkIHRvdXJcclxuICAgIGlmICghc2hvd0d1aWRlZFRvdXIpIHtcclxuICAgICAgcGFyYW1zLnB1c2goYGd0PTBgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBIaWdobGlnaHQgcmVlbCAoYmFuZGUgZHUgYmFzKVxyXG4gICAgaWYgKCFzaG93SGlnaGxpZ2h0UmVlbCkge1xyXG4gICAgICAvLyBTZWxvbiB0b24gYnVuZGxlIDogaHI9MSBvdSBocj0wIG1hc3F1ZVxyXG4gICAgICBwYXJhbXMucHVzaChgaHI9MWApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBsZWluIMOpY3JhblxyXG4gICAgaWYgKCFzaG93RnVsbHNjcmVlbikge1xyXG4gICAgICBwYXJhbXMucHVzaChgZnM9MGApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIERlZnVybmlzaFxyXG4gICAgaWYgKHNob3dEZWZ1cm5pc2gpIHtcclxuICAgICAgcGFyYW1zLnB1c2goYGFkPTFgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSb29tIE1lYXN1cmVtZW50c1xyXG4gICAgaWYgKHNob3dSb29tTWVhc3VyZW1lbnRzKSB7XHJcbiAgICAgIHBhcmFtcy5wdXNoKGBtZWFzdXJlbWVudHM9MWApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG91clVybCA9IGAke2Jhc2VVcmx9PyR7cGFyYW1zLmpvaW4oXCImXCIpfWA7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjbGVhckFsbCgpIHtcclxuICAgIC8vIHRoaXMuc3dlZXBUb01vdmUgPSBudWxsO1xyXG4gICAgLy8gdGhpcy5yb3RhdGlvblRvTW92ZSA9IG51bGw7XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLnNob3dpbmdWaWV3ZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xyXG4gICAgICBhd2FpdCB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmNsZWFyQWxsKCk7XHJcbiAgICAgIHRoaXMudmlld2VySXNPbi5uZXh0KHtcclxuICAgICAgICBzcGFjZUlEOiBudWxsLFxyXG4gICAgICAgIG1vZGVsM0Q6IG51bGwsXHJcbiAgICAgICAgc3dlZXA6IG51bGwsXHJcbiAgICAgICAgcm90YXRpb246IG51bGwsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgR2V0dGVyc1xyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICBnZXRNb2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmlld2VyTW9kZTtcclxuICB9XHJcblxyXG4gIGdldFZpZXdlclNlbGVjdGVkU2VydmljZSgpIHtcclxuICAgIC8vIE1hdHRlcnBvcnRcclxuICAgIC8vIGlmICh0aGlzLmNoZWNrTW9kZShcIk1hdHRlcnBvcnRcIikpIHtcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5nZXRNYXR0ZXJwb3J0U2VydmljZSgpO1xyXG4gICAgLy8gfVxyXG4gICAgcmV0dXJuIHRoaXMuZ2V0TWF0dGVycG9ydFNlcnZpY2UoKTtcclxuICB9XHJcblxyXG4gIGdldFRvdXJVcmwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50b3VyVXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWF0dGVycG9ydFNlcnZpY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXR0ZXJwb3J0U2VydmljZTtcclxuICB9XHJcblxyXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgIEdlbmVyaWMgTWFpbiBhY3Rpb24gZnVuY3Rpb25zXHJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgc2V0U3dlZXBUb01vdmUoc3dlZXA6IHN0cmluZykge1xyXG4gICAgdGhpcy5zd2VlcFRvTW92ZSA9IHN3ZWVwO1xyXG4gIH1cclxuXHJcbiAgc2V0Um90YXRpb25Ub01vdmUocm90YXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH0pIHtcclxuICAgIHRoaXMucm90YXRpb25Ub01vdmUgPSByb3RhdGlvbjtcclxuICB9XHJcblxyXG5cclxuICBhc3luYyBhY3Rpb25fbW92ZV90b190YWcoZWxlbWVudElkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIC8vIE1hdHRlcnBvcnRcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0VGFnRnJvbUVsZW1lbnRJZChlbGVtZW50SWQpO1xyXG4gICAgICBpZiAocmVzdWx0LnRhZykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ29Ub1RhZyhyZXN1bHQudGFnKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocmVzdWx0LnN3ZWVwKSB7XHJcbiAgICAgICAgdGhpcy5zd2VlcFRvTW92ZSA9IHJlc3VsdC5zd2VlcDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIE1hdHRlcnRhZ3MgdG8gVmlld2VyXHJcbiAgICogQHBhcmFtIG9iamVjdHMgTGlzdCBvZiBvYmplY3RzICh0aWNrZXRzLCBlcXVpcG1lbnRzKSBldGMgdG8gYmUgYWRkZWQgYXMgTWF0dGVydGFnc1xyXG4gICAqL1xyXG4gIGFzeW5jIGFkZE9iamVjdFRhZ3NUb1ZpZXdlcihvYmplY3RzOiBEYk9iamVjdFR5cGVbXSkge1xyXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgIG9iamVjdHMubWFwKGFzeW5jIChvYmplY3QpID0+IHtcclxuICAgICAgICBjb25zdCBwb2kgPSBhd2FpdCB0aGlzLnBvaVNlcnZpY2UuZ2V0UG9pQnlFbGVtZW50SWQob2JqZWN0LmlkISk7XHJcbiAgICAgICAgaWYgKHBvaSAmJiBwb2kuY29vcmRpbmF0ZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5hY3Rpb25BZGRPYmplY3RGcm9tUE9JKG9iamVjdCwgcG9pKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgYWN0aW9uQWRkT2JqZWN0RnJvbVBPSShvYmplY3Q6IERiT2JqZWN0VHlwZSwgcG9pOiBQT0kpIHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmNyZWF0ZU1hdHRlcnRhZ0Zyb21QT0koXHJcbiAgICAgICAgcG9pLnR5cGUhLFxyXG4gICAgICAgIG9iamVjdCxcclxuICAgICAgICBwb2lcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIC8vIEN1cGl4XHJcbiAgICAvLyBUT0RPXHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBhY3Rpb25fZGVsZXRlX2VsZW1lbnQoZWxlbWVudDogRGJPYmplY3RUeXBlKSB7XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICBhd2FpdCB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmRlbGV0ZU1hdHRlcnRhZ0Zvck9iamVjdChlbGVtZW50LmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVuYWJsZSB0YWcgcGxhY2VtZW50IG1lbnUgdG8gYWRkIGEgbmV3IGVsZW1lbnQgZGVwZW5kaW5nIG9uIGl0cyB0eXBlIChUSUNLRVQsIERBVEEsIEVRVUlQTUVOVCBldGMpXHJcbiAgICovXHJcbiAgYXN5bmMgYWN0aW9uQWRkTmV3RWxlbWVudFRvVmlld2VyKHBvaVR5cGU6IFBvaVR5cGUpIHtcclxuICAgIHRoaXMuYWN0aW9uX3Rvb2xib3hfaW5zaWRlX3ZpZXcoKTtcclxuXHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykgJiZcclxuICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5nZXRJbnRlcmFjdGlvbk1vZGUoKSA9PT0gVmlld2VySW50ZXJhY3Rpb25zLkRFRkFVTFRcclxuICAgICkge1xyXG4gICAgICBhd2FpdCB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmFkZE1hdHRlcnRhZ1doZW5BZGRpbmcocG9pVHlwZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMYXVuY2hlcyB0aGUgcmVwb3NpdGlvbmluZyBvZiBhbiBleGlzdGluZyBNYXR0ZXJ0YWcgcmVsYXRlZCB0byBwYXJhbWV0ZXIgb2JqZWN0XHJcbiAgICogQHBhcmFtIGVsZW1lbnQgb2JqZWN0IChUSUNLRVQsIEVRVUlQTUVOVCwgRkVBVFVSRSwgZXRjKVxyXG4gICAqIEBwYXJhbSBwb2lUeXBlIHR5cGUgb2Ygb2JqZWN0XHJcbiAgICovXHJcbiAgYXN5bmMgYWN0aW9uUmVwb3NpdGlvbkVsZW1lbnRJblZpZXdlcihcclxuICAgIGVsZW1lbnQ6IERiT2JqZWN0VHlwZSxcclxuICAgIHBvaVR5cGU6IFBvaVR5cGVcclxuICApIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSAmJlxyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldEludGVyYWN0aW9uTW9kZSgpID09PSBWaWV3ZXJJbnRlcmFjdGlvbnMuREVGQVVMVFxyXG4gICAgKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuYWRkTWF0dGVydGFnV2hlblJlcG9zaXRpb25pbmcocG9pVHlwZSwgZWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbmFibGUgdGlja2V0IHBsYWNlbWVudCBtZW51IHRvIGFkZCBhIG5ldyB0aWNrZXRcclxuICAgKi9cclxuICBhY3Rpb25fY2FuY2VsZWQoKSB7XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmNhbmNlbEZvbGxvd2luZ0N1cnNvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aW9uX3Rvb2xib3hfaW5zaWRlX3ZpZXcoKSB7XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmFjdGlvbl90b29sYm94X2luc2lkZV92aWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3Rpb25TaG93QWxsRmxvb3JzKCkge1xyXG4gICAgLy8gTWF0dGVycG9ydFxyXG4gICAgaWYgKHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykpIHtcclxuICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5hY3Rpb25TaG93QWxsRmxvb3JzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3Rpb25fdG9vbGJveF9kb2xsaG91c2UoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0SW50ZXJhY3Rpb25Nb2RlKCkgIT09IFZpZXdlckludGVyYWN0aW9ucy5ERUZBVUxUXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5hY3Rpb25fY2FuY2VsZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGlvbl90b29sYm94X2NhbmNlbF9tZXN1cmUoKTtcclxuICAgIC8vIE1hdHRlcnBvcnRcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuYWN0aW9uX3Rvb2xib3hfZG9sbGhvdXNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBhY3Rpb25fZmxvb3JwbGFuKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldEludGVyYWN0aW9uTW9kZSgpICE9PSBWaWV3ZXJJbnRlcmFjdGlvbnMuREVGQVVMVFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuYWN0aW9uX2NhbmNlbGVkKCk7XHJcbiAgICB9XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICBhd2FpdCB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmFjdGlvbl90b29sYm94X2Zsb29ycGxhbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aW9uX3Rvb2xib3hfbWVzdXJlKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldEludGVyYWN0aW9uTW9kZSgpICE9PSBWaWV3ZXJJbnRlcmFjdGlvbnMuREVGQVVMVFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuYWN0aW9uX2NhbmNlbGVkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3Rpb25fdG9vbGJveF9pbnNpZGVfdmlldygpO1xyXG4gICAgLy8gTWF0dGVycG9ydFxyXG4gICAgaWYgKHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykpIHtcclxuICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5hY3Rpb25fdG9vbGJveF9tZXN1cmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGlvbl90b29sYm94X2NhbmNlbF9tZXN1cmUoKSB7XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmFjdGlvbl90b29sYm94X2NhbmNlbF9tZXN1cmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGFjdGlvbl91cGRhdGVfcG9pKFxyXG4gICAgcG9pOiBQT0ksXHJcbiAgICBpc1ZhbGlkOiBib29sZWFuLFxyXG4gICAgZWxlbWVudDogRGJPYmplY3RUeXBlXHJcbiAgKTogUHJvbWlzZTxQT0k+IHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGlmIChpc1ZhbGlkKSB7XHJcbiAgICAgICAgY29uc3QgbGFzdFRhZyA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UubWF0dGVydGFnVG9Gb2xsb3dcclxuICAgICAgICAgID8gdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5tYXR0ZXJ0YWdUb0ZvbGxvd1xyXG4gICAgICAgICAgOiB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldExhc3RUYWcoKTtcclxuICAgICAgICBpZiAoIWxhc3RUYWcpIHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocG9pKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdGFnRGF0YSA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0TWF0dGVyVGFnRGF0YUZvck1hdHRlcnRhZyhsYXN0VGFnKTtcclxuICAgICAgICBpZiAoIXRhZ0RhdGEpIHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocG9pKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHBvaU1ldGFkYXRhID0gKCEhcG9pICYmIHBvaS5tZXRhZGF0YSkgPyBKU09OLnBhcnNlKHBvaS5tZXRhZGF0YSkgOiB7fTtcclxuICAgICAgICBwb2lNZXRhZGF0YS5ub3JtYWwgPSB0YWdEYXRhLmdldE5vcm1hbCgpO1xyXG4gICAgICAgIGlmICghcG9pKSB7XHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcG9pSW5wdXQgPSB7XHJcbiAgICAgICAgICBpZDogcG9pLmlkLFxyXG4gICAgICAgICAgY29vcmRpbmF0ZTogdGFnRGF0YS5nZXRDb29yZGluYXRlU3RyaW5nKCksXHJcbiAgICAgICAgICBtYXR0ZXJwb3J0U3dlZXBJRDogdGFnRGF0YS5nZXRTd2VlcElEKCksXHJcbiAgICAgICAgICBtZXRhZGF0YTogSlNPTi5zdHJpbmdpZnkocG9pTWV0YWRhdGEpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgdXBkYXRlZFBvaTogUE9JID0gYXdhaXQgdGhpcy5wb2lTZXJ2aWNlLnVwZGF0ZVBvaShwb2lJbnB1dCk7XHJcbiAgICAgICAgdGFnRGF0YS5zZXRQb2kodXBkYXRlZFBvaSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5zZXRPYmplY3RBbmRQb2lJblRhZyhsYXN0VGFnLCBlbGVtZW50LCBQb2lUeXBlLkRFU0ssIHVwZGF0ZWRQb2kpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuaW5qZWN0SHRtbEluVGFnKFxyXG4gICAgICAgICAgcG9pLnR5cGUhLFxyXG4gICAgICAgICAgZWxlbWVudCxcclxuICAgICAgICAgIGxhc3RUYWdcclxuICAgICAgICApO1xyXG4gICAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2Uuc2V0VGFnSWNvbkFuZE9wYWNpdHkobGFzdFRhZywgdGFnRGF0YSk7XHJcbiAgICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5nb1RvVGFnKGxhc3RUYWcpO1xyXG5cclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHVwZGF0ZWRQb2kpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZGVsZXRlTGFzdE1hdHRlcnRhZygpO1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBvaSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBvaSk7XHJcbiAgfVxyXG5cclxuICBlZGl0T25seVRhZ1N0eWxlRm9yUG9pKHBvaTogUE9JLCBvYmplY3Q6IERiT2JqZWN0VHlwZSkge1xyXG4gICAgaWYgKHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykpIHtcclxuICAgICAgY29uc3QgdGFnRGF0YSA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0VGFnRnJvbUVsZW1lbnRJZChwb2kuZWxlbWVudElEKTtcclxuICAgICAgaWYgKHRhZ0RhdGEudGFnKSB7XHJcbiAgICAgICAgY29uc3QgbWF0dGVydGFnRGF0YSA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0TWF0dGVyVGFnRGF0YUZvck1hdHRlcnRhZyhcclxuICAgICAgICAgIHRhZ0RhdGEudGFnXHJcbiAgICAgICAgKTtcclxuICAgICAgICBtYXR0ZXJ0YWdEYXRhLnNldE9iamVjdChvYmplY3QsIFBvaVR5cGUuUk9PTSk7XHJcbiAgICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5zZXRUYWdJY29uQW5kT3BhY2l0eSh0YWdEYXRhLnRhZywgbWF0dGVydGFnRGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZEljb25BbmRTZXRGb3JQb2kocG9pOiBQT0ksIGljb25QYXRoOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGNvbnN0IHRhZ0RhdGEgPSB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldFRhZ0Zyb21FbGVtZW50SWQocG9pLmVsZW1lbnRJRCk7XHJcbiAgICAgIGlmICh0YWdEYXRhLnRhZykge1xyXG4gICAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuYWRkTmV3SWNvbkFuZFNldEZvclRhZyh0YWdEYXRhLnRhZywgaWNvblBhdGgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VUb1JlZ2lzdHJlZEljb25Gb3JQb2kocG9pOiBQT0ksIGljb25OYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGNvbnN0IHRhZ0RhdGEgPSB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldFRhZ0Zyb21FbGVtZW50SWQocG9pLmVsZW1lbnRJRCk7XHJcbiAgICAgIGlmICh0YWdEYXRhLnRhZykge1xyXG4gICAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2Uuc2V0UmVnaXN0cmVkSWNvbkZvclRhZyh0YWdEYXRhLnRhZywgaWNvbk5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGRhdGVIdG1sVGFnRm9yUG9pV2l0aE9iamVjdChwb2k6IFBPSSwgb2JqZWN0OiBEYk9iamVjdFR5cGUpIHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGNvbnN0IHRhZ0RhdGEgPSB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldFRhZ0Zyb21FbGVtZW50SWQocG9pLmVsZW1lbnRJRCk7XHJcbiAgICAgIGlmICh0YWdEYXRhLnRhZykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2UudXBkYXRlSW5qZWN0ZWRIdG1sRm9yVGFnSUQoXHJcbiAgICAgICAgICB0YWdEYXRhLnRhZyxcclxuICAgICAgICAgIG9iamVjdCxcclxuICAgICAgICAgIHBvaS50eXBlXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTW92ZSBhbiBleGlzdGluZyBwb2kgaW4gTWF0dGVycG9ydFxyXG4gICAqIEBwYXJhbSBwb2lcclxuICAgKiBAcGFyYW0gZWxlbWVudFxyXG4gICAqL1xyXG4gIGFzeW5jIGFjdGlvbl9tb3ZlX3BvaV92aXN1YWxseShcclxuICAgIHBvaTogUE9JLFxyXG4gICAgZWxlbWVudDogVGlja2V0IHwgRmVhdHVyZSB8IEVxdWlwbWVudCB8IENvbW1lbnRcclxuICApIHtcclxuICAgIGF3YWl0IHRoaXMuYWN0aW9uX2RlbGV0ZV9lbGVtZW50KGVsZW1lbnQpO1xyXG4gICAgYXdhaXQgdGhpcy5hY3Rpb25BZGRPYmplY3RGcm9tUE9JKGVsZW1lbnQsIHBvaSk7XHJcbiAgfVxyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBDdXBpeFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBNYXR0ZXJwb3J0XHJcbiAgICBodHRwczovL21hdHRlcnBvcnQuZ2l0aHViLmlvL3Nob3djYXNlLXNkay9kb2NzL3Nkay9yZWZlcmVuY2UvY3VycmVudC9tb2R1bGVzL21hdHRlcnRhZy5odG1sI2FkZFxyXG4gICAgaHR0cHM6Ly9tYXR0ZXJwb3J0LmdpdGh1Yi5pby9zaG93Y2FzZS1zZGsvZG9jcy9zZGsvcmVmZXJlbmNlL2N1cnJlbnQvbW9kdWxlcy9tYXR0ZXJ0YWcuaHRtbCNyZW1vdmVcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICBhc3luYyBpbml0TWF0dGVycG9ydFNkayhcclxuICAgIHNwYWNlSUQ6IHN0cmluZyxcclxuICAgIG1vZGVsM0Q6IHN0cmluZyxcclxuICAgIHRhZ1NlcnZpY2U6IEJhc2VUYWdTZXJ2aWNlLFxyXG4gICAgbW9kdWxlOiBTcE1vZHVsZSA9IFNwTW9kdWxlLklNTU9cclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcclxuICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuY3VycmVudFNwYWNlSUQgPSBzcGFjZUlEO1xyXG4gICAgaWYgKHRoaXMubWF0dGVycG9ydFNlcnZpY2Uuc2RrKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuY2xlYXJBbGwoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlXHJcbiAgICAgIC5pbml0U2RrKHRhZ1NlcnZpY2UsIG1vZHVsZSlcclxuICAgICAgLnRoZW4oYXN5bmMgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIGNvbnN0IHsgc2RrIH0gPSB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlO1xyXG5cclxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcclxuICAgICAgICAgICAgc2RrLlNjZW5lLnJlZ2lzdGVyKHNlY3VyaXR5Q2FtZXJhVHlwZSwgbWFrZVNlY3VyaXR5Q2FtZXJhLmJpbmQoc2RrLlNjZW5lKSksXHJcbiAgICAgICAgICAgIHNkay5TY2VuZS5yZWdpc3RlcihWaWV3RnJ1c3R1bU1lc2hUeXBlLCBtYWtlVmlld0ZydXN0dW1NZXNoLmJpbmQoc2RrLlNjZW5lKSlcclxuICAgICAgICAgIF0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuc2hvd2luZ1ZpZXdlciA9IHRydWU7XHJcblxyXG4gICAgICAgICAgc2RrLkFwcC5zdGF0ZS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChhcHBTdGF0ZSkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoJ1RoZSBjdXJyZW50IHBoYXNlOiAnLCBhcHBTdGF0ZS5waGFzZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGFwcFN0YXRlLnBoYXNlID09PSBzZGsuQXBwLlBoYXNlLlBMQVlJTkcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdUaGUgYXBwIGlzIHBsYXlpbmcnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd2luZ1ZpZXdlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdlcklzT24ubmV4dCh7XHJcbiAgICAgICAgICAgICAgICAgIHNwYWNlSUQsXHJcbiAgICAgICAgICAgICAgICAgIG1vZGVsM0QsXHJcbiAgICAgICAgICAgICAgICAgIHN3ZWVwOiB0aGlzLnN3ZWVwVG9Nb3ZlLFxyXG4gICAgICAgICAgICAgICAgICByb3RhdGlvbjogdGhpcy5yb3RhdGlvblRvTW92ZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhSXNMb2FkZWQubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zd2VlcFRvTW92ZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdGF0aW9uVG9Nb3ZlID0gbnVsbDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnZpZXdlcklzT24ubmV4dCh7XHJcbiAgICAgICAgICAgIHNwYWNlSUQsXHJcbiAgICAgICAgICAgIG1vZGVsM0QsXHJcbiAgICAgICAgICAgIHN3ZWVwOiB0aGlzLnN3ZWVwVG9Nb3ZlLFxyXG4gICAgICAgICAgICByb3RhdGlvbjogdGhpcy5yb3RhdGlvblRvTW92ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5kYXRhSXNMb2FkZWQubmV4dCh0cnVlKTtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5zd2VlcFRvTW92ZSA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLnJvdGF0aW9uVG9Nb3ZlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUZvcmJpZGRlblN3ZWVwcyhmb3JiaWRkZW5Td2VlcHM6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLnJlbW92ZUZvcmJpZGRlblN3ZWVwcyhmb3JiaWRkZW5Td2VlcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0T2JqZWN0M0RMb2FkZWRJblBvc2l0aW9uKG9iamVjdExvYWRlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc09iamVjdExvYWRlZCA9IG9iamVjdExvYWRlZDtcclxuICB9XHJcblxyXG4gIGlzT2JqZWN0M0RMb2FkZWRJblBvc2l0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNPYmplY3RMb2FkZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
453
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3NlcnZpY2VzL3ZpZXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUNyQyw4QkFBOEI7QUFDOUIseUNBQXlDO0FBQ3pDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFHTCxrQkFBa0IsRUFDbEIsT0FBTyxFQUtQLFFBQVEsR0FDVCxNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7O0FBTXRILE1BQU0sT0FBTyxhQUFhO0lBcUR1QjtJQUNyQztJQUNBO0lBdERGLFVBQVUsR0FBVyxZQUFZLENBQUM7SUFFbkMsY0FBYyxDQUFTO0lBRXRCLE9BQU8sQ0FBUztJQUVqQixVQUFVLEdBS1osSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVaLFlBQVksR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUUvQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFdEIsV0FBVyxDQUFnQjtJQUUzQixjQUFjLENBQW1DO0lBRWpELGFBQWEsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU3QyxhQUFhLEdBQUc7UUFDckIsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLEtBQUs7WUFDWCxNQUFNLEVB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QUFjLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7d0dBempCVSxhQUFhLGtCQXFEZCxrQkFBa0I7NEdBckRqQixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXNESSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWF3YWl0LWluLWxvb3AgKi9cclxuLyogZXNsaW50LWRpc2FibGUgY2FtZWxjYXNlICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVyc2NvcmUtZGFuZ2xlICovXHJcbi8qIGVzbGludC1kaXNhYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVFRFUlBPUlRfU0RLX0tFWSB9IGZyb20gJy4uL3Rva2Vucy9tYXR0ZXJwb3J0LXNkay1rZXkudG9rZW4nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdHRlcnBvcnRTZXJ2aWNlIH0gZnJvbSAnLi9tYXR0ZXJwb3J0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlVGFnU2VydmljZSB9IGZyb20gJy4vdGFnLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIERiT2JqZWN0VHlwZSxcclxuICBQT0ksXHJcbiAgVmlld2VySW50ZXJhY3Rpb25zLFxyXG4gIFBvaVR5cGUsXHJcbiAgQ29tbWVudCxcclxuICBFcXVpcG1lbnQsXHJcbiAgVGlja2V0LFxyXG4gIEZlYXR1cmUsXHJcbiAgU3BNb2R1bGUsXHJcbn0gZnJvbSAnLi4vdHlwZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvaVNlcnZpY2UgfSBmcm9tICcuL21vZGVscy9wb2kuc2VydmljZSc7XHJcbmltcG9ydCB7IG1ha2VTZWN1cml0eUNhbWVyYSwgc2VjdXJpdHlDYW1lcmFUeXBlIH0gZnJvbSBcIi4uL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy9zZWN1cml0eS1jYW1lcmEvU2VjdXJpdHlDYW1lcmFcIjtcclxuaW1wb3J0IHsgVmlld0ZydXN0dW1NZXNoVHlwZSwgbWFrZVZpZXdGcnVzdHVtTWVzaCB9IGZyb20gXCIuLi9tYXR0ZXJwb3J0LWV4dGVuc2lvbnMvdmlldy1mcnVzdHVtLW1lc2gvVmlld0ZydXN0dW1NZXNoXCI7XHJcbmltcG9ydCB7IE5hdmlnYXRvclNlcnZpY2UgfSBmcm9tICcuL25hdmlnYXRvci5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3ZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIHZpZXdlck1vZGU6IHN0cmluZyA9ICdNYXR0ZXJwb3J0JztcclxuXHJcbiAgcHVibGljIGN1cnJlbnRNb2RlbDNEOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgdG91clVybDogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgdmlld2VySXNPbjogU3ViamVjdDx7XHJcbiAgICBzcGFjZUlEOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgbW9kZWwzRDogc3RyaW5nIHwgbnVsbDtcclxuICAgIHN3ZWVwOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgcm90YXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH0gfCBudWxsO1xyXG4gIH0+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgcHVibGljIGRhdGFJc0xvYWRlZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHB1YmxpYyBpc0xvYWRlZCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc2hvd2luZ1ZpZXdlciA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc3dlZXBUb01vdmU6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIHB1YmxpYyByb3RhdGlvblRvTW92ZTogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfSB8IG51bGw7XHJcblxyXG4gIHB1YmxpYyBnb1RvVHJpZ2dlcmVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgcHVibGljIHRvb2xib3hTdGF0ZXMgPSB7XHJcbiAgICBkb2xsaG91c2U6IHtcclxuICAgICAgc3RhdDogZmFsc2UsXHJcbiAgICAgIGljb25JZDogJ3VpLWRvbGxob3VzZScsXHJcbiAgICAgIHNob3coKSB7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhpZGUoKSB7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgZmxvb3JwbGFuOiB7XHJcbiAgICAgIHN0YXQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIG1lc3VyZToge1xyXG4gICAgICBzdGF0OiBmYWxzZSxcclxuICAgICAgaWNvbklkOiAndWktbWVzdXJlJyxcclxuICAgICAgc2hvdygpIHtcclxuICAgICAgfSxcclxuICAgICAgaGlkZSgpIHtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICBmaWx0ZXI6IHtcclxuICAgICAgc3RhdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gIH07XHJcbiAgcHJpdmF0ZSBpc09iamVjdExvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUVEVSUE9SVF9TREtfS0VZKSBwcml2YXRlIHJlYWRvbmx5IHNka0tleTogc3RyaW5nLFxyXG4gICAgcHJpdmF0ZSBwb2lTZXJ2aWNlOiBQb2lTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYXR0ZXJwb3J0U2VydmljZTogTWF0dGVycG9ydFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnNldE1vZGUoJ01hdHRlcnBvcnQnKTtcclxuICB9XHJcblxyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICBVdGlsc1xyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICBjaGVja01vZGUoaW5kZXhNb2RlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnZpZXdlck1vZGUgPT09IGluZGV4TW9kZTtcclxuICB9XHJcblxyXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgIFNldHRlcnNcclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbiAgc2V0TW9kZShpbmRleE1vZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy52aWV3ZXJNb2RlID0gaW5kZXhNb2RlO1xyXG4gIH1cclxuXHJcbiAgc2V0VG91clVybChvcHRpb25zOiB7XHJcbiAgICBtb2RlbDNkOiBzdHJpbmcsXHJcbiAgICBzaG93SWNvblBsYW4/OiBib29sZWFuLFxyXG4gICAgc2hvd0ljb25Eb2xsaG91c2U/OiBib29sZWFuLFxyXG4gICAgc2hvd0ljb25GbG9vcnM/OiBib29sZWFuLFxyXG4gICAgc2hvd1F1aWNrU3RhcnQ/OiBib29sZWFuLFxyXG4gICAgc2hvd0Z1bGxzY3JlZW4/OiBib29sZWFuLFxyXG4gICAgc2hvd0d1aWRlZFRvdXI/OiBib29sZWFuLFxyXG4gICAgc2hvd0hpZ2hsaWdodFJlZWw/OiBib29sZWFuLFxyXG4gICAgc2hvd0RlZnVybmlzaD86IGJvb2xlYW4sXHJcbiAgICBzaG93Um9vbU1lYXN1cmVtZW50cz86IGJvb2xlYW5cclxuICB9KSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIG1vZGVsM2QsXHJcbiAgICAgIHNob3dJY29uUGxhbiA9IHRydWUsXHJcbiAgICAgIHNob3dJY29uRG9sbGhvdXNlID0gdHJ1ZSxcclxuICAgICAgc2hvd0ljb25GbG9vcnMgPSB0cnVlLFxyXG4gICAgICBzaG93UXVpY2tTdGFydCA9IHRydWUsXHJcbiAgICAgIHNob3dGdWxsc2NyZWVuID0gdHJ1ZSxcclxuICAgICAgc2hvd0d1aWRlZFRvdXIgPSB0cnVlLFxyXG4gICAgICBzaG93SGlnaGxpZ2h0UmVlbCA9IHRydWUsXHJcbiAgICAgIHNob3dEZWZ1cm5pc2ggPSB0cnVlLFxyXG4gICAgICBzaG93Um9vbU1lYXN1cmVtZW50cyA9IHRydWVcclxuICAgIH0gPSBvcHRpb25zO1xyXG5cclxuICAgIGNvbnN0IGJhc2VVcmwgPSBgL2Fzc2V0cy9idW5kbGUvc2hvd2Nhc2UuaHRtbGA7XHJcblxyXG4gICAgY29uc3QgcGFyYW1zOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIC8vIE1vZMOobGVcclxuICAgIHBhcmFtcy5wdXNoKGBtPSR7bW9kZWwzZH1gKTtcclxuXHJcbiAgICAvLyBDb21wb3J0ZW1lbnQgZ8OpbsOpcmFsXHJcbiAgICBwYXJhbXMucHVzaChgcGxheT0xYCk7XHJcbiAgICBwYXJhbXMucHVzaChgdWk9MWApO1xyXG4gICAgcGFyYW1zLnB1c2goYHRpdGxlPTBgKTtcclxuICAgIHBhcmFtcy5wdXNoKGBsb2c9MGApO1xyXG4gICAgcGFyYW1zLnB1c2goYGJyYW5kPTBgKTtcclxuICAgIHBhcmFtcy5wdXNoKGBzZWFyY2g9MGApO1xyXG4gICAgcGFyYW1zLnB1c2goYGFwcGxpY2F0aW9uS2V5PSR7dGhpcy5zZGtLZXl9YCk7XHJcbiAgICBwYXJhbXMucHVzaChgbWRzPTBgKTtcclxuXHJcbiAgICAvLyBRdWljayBzdGFydFxyXG4gICAgaWYgKHNob3dRdWlja1N0YXJ0KSB7XHJcbiAgICAgIHBhcmFtcy5wdXNoKGBxcz0xYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmxvb3JwbGFuIChwbGFuKVxyXG4gICAgaWYgKCFzaG93SWNvblBsYW4pIHtcclxuICAgICAgcGFyYW1zLnB1c2goYGZwPTBgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEb2xsaG91c2UgKG1haXNvbi9wb3Vww6llKVxyXG4gICAgaWYgKCFzaG93SWNvbkRvbGxob3VzZSkge1xyXG4gICAgICBwYXJhbXMucHVzaChgZGg9MGApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFPDqWxlY3RldXIgZOKAmcOpdGFnZXNcclxuICAgIGlmICghc2hvd0ljb25GbG9vcnMpIHtcclxuICAgICAgcGFyYW1zLnB1c2goYHNmPTBgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBHdWlkZWQgdG91clxyXG4gICAgaWYgKCFzaG93R3VpZGVkVG91cikge1xyXG4gICAgICBwYXJhbXMucHVzaChgZ3Q9MGApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhpZ2hsaWdodCByZWVsIChiYW5kZSBkdSBiYXMpXHJcbiAgICBpZiAoIXNob3dIaWdobGlnaHRSZWVsKSB7XHJcbiAgICAgIC8vIFNlbG9uIHRvbiBidW5kbGUgOiBocj0xIG91IGhyPTAgbWFzcXVlXHJcbiAgICAgIHBhcmFtcy5wdXNoKGBocj0xYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUGxlaW4gw6ljcmFuXHJcbiAgICBpZiAoIXNob3dGdWxsc2NyZWVuKSB7XHJcbiAgICAgIHBhcmFtcy5wdXNoKGBmcz0wYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGVmdXJuaXNoXHJcbiAgICBpZiAoc2hvd0RlZnVybmlzaCkge1xyXG4gICAgICBwYXJhbXMucHVzaChgYWQ9MWApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJvb20gTWVhc3VyZW1lbnRzXHJcbiAgICBpZiAoc2hvd1Jvb21NZWFzdXJlbWVudHMpIHtcclxuICAgICAgcGFyYW1zLnB1c2goYG1lYXN1cmVtZW50cz0xYCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b3VyVXJsID0gYCR7YmFzZVVybH0/JHtwYXJhbXMuam9pbihcIiZcIil9YDtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNsZWFyQWxsKCkge1xyXG4gICAgLy8gdGhpcy5zd2VlcFRvTW92ZSA9IG51bGw7XHJcbiAgICAvLyB0aGlzLnJvdGF0aW9uVG9Nb3ZlID0gbnVsbDtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIHRoaXMuc2hvd2luZ1ZpZXdlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XHJcbiAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuY2xlYXJBbGwoKTtcclxuICAgICAgdGhpcy52aWV3ZXJJc09uLm5leHQoe1xyXG4gICAgICAgIHNwYWNlSUQ6IG51bGwsXHJcbiAgICAgICAgbW9kZWwzRDogbnVsbCxcclxuICAgICAgICBzd2VlcDogbnVsbCxcclxuICAgICAgICByb3RhdGlvbjogbnVsbCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICBHZXR0ZXJzXHJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4gIGdldE1vZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy52aWV3ZXJNb2RlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Vmlld2VyU2VsZWN0ZWRTZXJ2aWNlKCkge1xyXG4gICAgLy8gTWF0dGVycG9ydFxyXG4gICAgLy8gaWYgKHRoaXMuY2hlY2tNb2RlKFwiTWF0dGVycG9ydFwiKSkge1xyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLmdldE1hdHRlcnBvcnRTZXJ2aWNlKCk7XHJcbiAgICAvLyB9XHJcbiAgICByZXR1cm4gdGhpcy5nZXRNYXR0ZXJwb3J0U2VydmljZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG91clVybCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRvdXJVcmw7XHJcbiAgfVxyXG5cclxuICBnZXRNYXR0ZXJwb3J0U2VydmljZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICAgR2VuZXJpYyBNYWluIGFjdGlvbiBmdW5jdGlvbnNcclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBzZXRTd2VlcFRvTW92ZShzd2VlcDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnN3ZWVwVG9Nb3ZlID0gc3dlZXA7XHJcbiAgfVxyXG5cclxuICBzZXRSb3RhdGlvblRvTW92ZShyb3RhdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfSkge1xyXG4gICAgdGhpcy5yb3RhdGlvblRvTW92ZSA9IHJvdGF0aW9uO1xyXG4gIH1cclxuXHJcblxyXG4gIGFzeW5jIGFjdGlvbl9tb3ZlX3RvX3RhZyhlbGVtZW50SWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgLy8gTWF0dGVycG9ydFxyXG4gICAgaWYgKHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykpIHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5nZXRUYWdGcm9tRWxlbWVudElkKGVsZW1lbnRJZCk7XHJcbiAgICAgIGlmIChyZXN1bHQudGFnKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5nb1RvVGFnKHJlc3VsdC50YWcpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChyZXN1bHQuc3dlZXApIHtcclxuICAgICAgICB0aGlzLnN3ZWVwVG9Nb3ZlID0gcmVzdWx0LnN3ZWVwO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHMgTWF0dGVydGFncyB0byBWaWV3ZXJcclxuICAgKiBAcGFyYW0gb2JqZWN0cyBMaXN0IG9mIG9iamVjdHMgKHRpY2tldHMsIGVxdWlwbWVudHMpIGV0YyB0byBiZSBhZGRlZCBhcyBNYXR0ZXJ0YWdzXHJcbiAgICovXHJcbiAgYXN5bmMgYWRkT2JqZWN0VGFnc1RvVmlld2VyKG9iamVjdHM6IERiT2JqZWN0VHlwZVtdKSB7XHJcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgb2JqZWN0cy5tYXAoYXN5bmMgKG9iamVjdCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBvaSA9IGF3YWl0IHRoaXMucG9pU2VydmljZS5nZXRQb2lCeUVsZW1lbnRJZChvYmplY3QuaWQhKTtcclxuICAgICAgICBpZiAocG9pICYmIHBvaS5jb29yZGluYXRlKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmFjdGlvbkFkZE9iamVjdEZyb21QT0kob2JqZWN0LCBwb2kpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICAvLyBOZXdseSBjcmVhdGVkIHRhZ3MgaGF2ZSBubyBvcGFjaXR5L2FsbG93QWN0aW9uIGFwcGxpZWQgeWV0IChvbmx5IHNldCBieVxyXG4gICAgLy8gdXBkYXRlVGFnc1Zpc2liaWxpdHlGb3JDb250ZXh0LCB3aGljaCBydW5zIG9uIE1vZGUvU3dlZXAvRmxvb3IvUm9vbS9DYW1lcmFcclxuICAgIC8vIGV2ZW50cykuIElmIHRoaXMgYmF0Y2ggbG9hZGVkIGFmdGVyIHRob3NlIGZpcmVkLCB0aGUgdGFncyBzdGF5IGluIHdoYXRldmVyXHJcbiAgICAvLyBkZWZhdWx0IHN0YXRlIHRoZSBTREsgZ2F2ZSB0aGVtIHVudGlsIHNvbWV0aGluZyBlbHNlIG51ZGdlcyBhIHJlZnJlc2guXHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLnJlZnJlc2hUYWdzVmlzaWJpbGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgYWN0aW9uQWRkT2JqZWN0RnJvbVBPSShvYmplY3Q6IERiT2JqZWN0VHlwZSwgcG9pOiBQT0kpIHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmNyZWF0ZU1hdHRlcnRhZ0Zyb21QT0koXHJcbiAgICAgICAgcG9pLnR5cGUhLFxyXG4gICAgICAgIG9iamVjdCxcclxuICAgICAgICBwb2lcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIC8vIEN1cGl4XHJcbiAgICAvLyBUT0RPXHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBhY3Rpb25fZGVsZXRlX2VsZW1lbnQoZWxlbWVudDogRGJPYmplY3RUeXBlKSB7XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICBhd2FpdCB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmRlbGV0ZU1hdHRlcnRhZ0Zvck9iamVjdChlbGVtZW50LmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVuYWJsZSB0YWcgcGxhY2VtZW50IG1lbnUgdG8gYWRkIGEgbmV3IGVsZW1lbnQgZGVwZW5kaW5nIG9uIGl0cyB0eXBlIChUSUNLRVQsIERBVEEsIEVRVUlQTUVOVCBldGMpXHJcbiAgICovXHJcbiAgYXN5bmMgYWN0aW9uQWRkTmV3RWxlbWVudFRvVmlld2VyKHBvaVR5cGU6IFBvaVR5cGUpIHtcclxuICAgIHRoaXMuYWN0aW9uX3Rvb2xib3hfaW5zaWRlX3ZpZXcoKTtcclxuXHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykgJiZcclxuICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5nZXRJbnRlcmFjdGlvbk1vZGUoKSA9PT0gVmlld2VySW50ZXJhY3Rpb25zLkRFRkFVTFRcclxuICAgICkge1xyXG4gICAgICBhd2FpdCB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmFkZE1hdHRlcnRhZ1doZW5BZGRpbmcocG9pVHlwZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMYXVuY2hlcyB0aGUgcmVwb3NpdGlvbmluZyBvZiBhbiBleGlzdGluZyBNYXR0ZXJ0YWcgcmVsYXRlZCB0byBwYXJhbWV0ZXIgb2JqZWN0XHJcbiAgICogQHBhcmFtIGVsZW1lbnQgb2JqZWN0IChUSUNLRVQsIEVRVUlQTUVOVCwgRkVBVFVSRSwgZXRjKVxyXG4gICAqIEBwYXJhbSBwb2lUeXBlIHR5cGUgb2Ygb2JqZWN0XHJcbiAgICovXHJcbiAgYXN5bmMgYWN0aW9uUmVwb3NpdGlvbkVsZW1lbnRJblZpZXdlcihcclxuICAgIGVsZW1lbnQ6IERiT2JqZWN0VHlwZSxcclxuICAgIHBvaVR5cGU6IFBvaVR5cGVcclxuICApIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSAmJlxyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldEludGVyYWN0aW9uTW9kZSgpID09PSBWaWV3ZXJJbnRlcmFjdGlvbnMuREVGQVVMVFxyXG4gICAgKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuYWRkTWF0dGVydGFnV2hlblJlcG9zaXRpb25pbmcocG9pVHlwZSwgZWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbmFibGUgdGlja2V0IHBsYWNlbWVudCBtZW51IHRvIGFkZCBhIG5ldyB0aWNrZXRcclxuICAgKi9cclxuICBhY3Rpb25fY2FuY2VsZWQoKSB7XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmNhbmNlbEZvbGxvd2luZ0N1cnNvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aW9uX3Rvb2xib3hfaW5zaWRlX3ZpZXcoKSB7XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmFjdGlvbl90b29sYm94X2luc2lkZV92aWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3Rpb25TaG93QWxsRmxvb3JzKCkge1xyXG4gICAgLy8gTWF0dGVycG9ydFxyXG4gICAgaWYgKHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykpIHtcclxuICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5hY3Rpb25TaG93QWxsRmxvb3JzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3Rpb25fdG9vbGJveF9kb2xsaG91c2UoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0SW50ZXJhY3Rpb25Nb2RlKCkgIT09IFZpZXdlckludGVyYWN0aW9ucy5ERUZBVUxUXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5hY3Rpb25fY2FuY2VsZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGlvbl90b29sYm94X2NhbmNlbF9tZXN1cmUoKTtcclxuICAgIC8vIE1hdHRlcnBvcnRcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuYWN0aW9uX3Rvb2xib3hfZG9sbGhvdXNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBhY3Rpb25fZmxvb3JwbGFuKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldEludGVyYWN0aW9uTW9kZSgpICE9PSBWaWV3ZXJJbnRlcmFjdGlvbnMuREVGQVVMVFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuYWN0aW9uX2NhbmNlbGVkKCk7XHJcbiAgICB9XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICBhd2FpdCB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmFjdGlvbl90b29sYm94X2Zsb29ycGxhbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aW9uX3Rvb2xib3hfbWVzdXJlKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldEludGVyYWN0aW9uTW9kZSgpICE9PSBWaWV3ZXJJbnRlcmFjdGlvbnMuREVGQVVMVFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuYWN0aW9uX2NhbmNlbGVkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3Rpb25fdG9vbGJveF9pbnNpZGVfdmlldygpO1xyXG4gICAgLy8gTWF0dGVycG9ydFxyXG4gICAgaWYgKHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykpIHtcclxuICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5hY3Rpb25fdG9vbGJveF9tZXN1cmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGlvbl90b29sYm94X2NhbmNlbF9tZXN1cmUoKSB7XHJcbiAgICAvLyBNYXR0ZXJwb3J0XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmFjdGlvbl90b29sYm94X2NhbmNlbF9tZXN1cmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGFjdGlvbl91cGRhdGVfcG9pKFxyXG4gICAgcG9pOiBQT0ksXHJcbiAgICBpc1ZhbGlkOiBib29sZWFuLFxyXG4gICAgZWxlbWVudDogRGJPYmplY3RUeXBlXHJcbiAgKTogUHJvbWlzZTxQT0k+IHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGlmIChpc1ZhbGlkKSB7XHJcbiAgICAgICAgY29uc3QgbGFzdFRhZyA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UubWF0dGVydGFnVG9Gb2xsb3dcclxuICAgICAgICAgID8gdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5tYXR0ZXJ0YWdUb0ZvbGxvd1xyXG4gICAgICAgICAgOiB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldExhc3RUYWcoKTtcclxuICAgICAgICBpZiAoIWxhc3RUYWcpIHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocG9pKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdGFnRGF0YSA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0TWF0dGVyVGFnRGF0YUZvck1hdHRlcnRhZyhsYXN0VGFnKTtcclxuICAgICAgICBpZiAoIXRhZ0RhdGEpIHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocG9pKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHBvaU1ldGFkYXRhID0gKCEhcG9pICYmIHBvaS5tZXRhZGF0YSkgPyBKU09OLnBhcnNlKHBvaS5tZXRhZGF0YSkgOiB7fTtcclxuICAgICAgICBwb2lNZXRhZGF0YS5ub3JtYWwgPSB0YWdEYXRhLmdldE5vcm1hbCgpO1xyXG4gICAgICAgIGlmICghcG9pKSB7XHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcG9pSW5wdXQgPSB7XHJcbiAgICAgICAgICBpZDogcG9pLmlkLFxyXG4gICAgICAgICAgY29vcmRpbmF0ZTogdGFnRGF0YS5nZXRDb29yZGluYXRlU3RyaW5nKCksXHJcbiAgICAgICAgICBtYXR0ZXJwb3J0U3dlZXBJRDogdGFnRGF0YS5nZXRTd2VlcElEKCksXHJcbiAgICAgICAgICBtZXRhZGF0YTogSlNPTi5zdHJpbmdpZnkocG9pTWV0YWRhdGEpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgdXBkYXRlZFBvaTogUE9JID0gYXdhaXQgdGhpcy5wb2lTZXJ2aWNlLnVwZGF0ZVBvaShwb2lJbnB1dCk7XHJcbiAgICAgICAgdGFnRGF0YS5zZXRQb2kodXBkYXRlZFBvaSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5zZXRPYmplY3RBbmRQb2lJblRhZyhsYXN0VGFnLCBlbGVtZW50LCBQb2lUeXBlLkRFU0ssIHVwZGF0ZWRQb2kpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuaW5qZWN0SHRtbEluVGFnKFxyXG4gICAgICAgICAgcG9pLnR5cGUhLFxyXG4gICAgICAgICAgZWxlbWVudCxcclxuICAgICAgICAgIGxhc3RUYWdcclxuICAgICAgICApO1xyXG4gICAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2Uuc2V0VGFnSWNvbkFuZE9wYWNpdHkobGFzdFRhZywgdGFnRGF0YSk7XHJcbiAgICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5nb1RvVGFnKGxhc3RUYWcpO1xyXG5cclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHVwZGF0ZWRQb2kpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZGVsZXRlTGFzdE1hdHRlcnRhZygpO1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBvaSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBvaSk7XHJcbiAgfVxyXG5cclxuICBlZGl0T25seVRhZ1N0eWxlRm9yUG9pKHBvaTogUE9JLCBvYmplY3Q6IERiT2JqZWN0VHlwZSkge1xyXG4gICAgaWYgKHRoaXMuY2hlY2tNb2RlKCdNYXR0ZXJwb3J0JykpIHtcclxuICAgICAgY29uc3QgdGFnRGF0YSA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0VGFnRnJvbUVsZW1lbnRJZChwb2kuZWxlbWVudElEKTtcclxuICAgICAgaWYgKHRhZ0RhdGEudGFnKSB7XHJcbiAgICAgICAgY29uc3QgbWF0dGVydGFnRGF0YSA9IHRoaXMubWF0dGVycG9ydFNlcnZpY2UuZ2V0TWF0dGVyVGFnRGF0YUZvck1hdHRlcnRhZyhcclxuICAgICAgICAgIHRhZ0RhdGEudGFnXHJcbiAgICAgICAgKTtcclxuICAgICAgICBtYXR0ZXJ0YWdEYXRhLnNldE9iamVjdChvYmplY3QsIFBvaVR5cGUuUk9PTSk7XHJcbiAgICAgICAgdGhpcy5tYXR0ZXJwb3J0U2VydmljZS5zZXRUYWdJY29uQW5kT3BhY2l0eSh0YWdEYXRhLnRhZywgbWF0dGVydGFnRGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZEljb25BbmRTZXRGb3JQb2kocG9pOiBQT0ksIGljb25QYXRoOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGNvbnN0IHRhZ0RhdGEgPSB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldFRhZ0Zyb21FbGVtZW50SWQocG9pLmVsZW1lbnRJRCk7XHJcbiAgICAgIGlmICh0YWdEYXRhLnRhZykge1xyXG4gICAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuYWRkTmV3SWNvbkFuZFNldEZvclRhZyh0YWdEYXRhLnRhZywgaWNvblBhdGgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VUb1JlZ2lzdHJlZEljb25Gb3JQb2kocG9pOiBQT0ksIGljb25OYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGNvbnN0IHRhZ0RhdGEgPSB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldFRhZ0Zyb21FbGVtZW50SWQocG9pLmVsZW1lbnRJRCk7XHJcbiAgICAgIGlmICh0YWdEYXRhLnRhZykge1xyXG4gICAgICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2Uuc2V0UmVnaXN0cmVkSWNvbkZvclRhZyh0YWdEYXRhLnRhZywgaWNvbk5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGRhdGVIdG1sVGFnRm9yUG9pV2l0aE9iamVjdChwb2k6IFBPSSwgb2JqZWN0OiBEYk9iamVjdFR5cGUpIHtcclxuICAgIGlmICh0aGlzLmNoZWNrTW9kZSgnTWF0dGVycG9ydCcpKSB7XHJcbiAgICAgIGNvbnN0IHRhZ0RhdGEgPSB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLmdldFRhZ0Zyb21FbGVtZW50SWQocG9pLmVsZW1lbnRJRCk7XHJcbiAgICAgIGlmICh0YWdEYXRhLnRhZykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMubWF0dGVycG9ydFNlcnZpY2UudXBkYXRlSW5qZWN0ZWRIdG1sRm9yVGFnSUQoXHJcbiAgICAgICAgICB0YWdEYXRhLnRhZyxcclxuICAgICAgICAgIG9iamVjdCxcclxuICAgICAgICAgIHBvaS50eXBlXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTW92ZSBhbiBleGlzdGluZyBwb2kgaW4gTWF0dGVycG9ydFxyXG4gICAqIEBwYXJhbSBwb2lcclxuICAgKiBAcGFyYW0gZWxlbWVudFxyXG4gICAqL1xyXG4gIGFzeW5jIGFjdGlvbl9tb3ZlX3BvaV92aXN1YWxseShcclxuICAgIHBvaTogUE9JLFxyXG4gICAgZWxlbWVudDogVGlja2V0IHwgRmVhdHVyZSB8IEVxdWlwbWVudCB8IENvbW1lbnRcclxuICApIHtcclxuICAgIGF3YWl0IHRoaXMuYWN0aW9uX2RlbGV0ZV9lbGVtZW50KGVsZW1lbnQpO1xyXG4gICAgYXdhaXQgdGhpcy5hY3Rpb25BZGRPYmplY3RGcm9tUE9JKGVsZW1lbnQsIHBvaSk7XHJcbiAgfVxyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBDdXBpeFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBNYXR0ZXJwb3J0XHJcbiAgICBodHRwczovL21hdHRlcnBvcnQuZ2l0aHViLmlvL3Nob3djYXNlLXNkay9kb2NzL3Nkay9yZWZlcmVuY2UvY3VycmVudC9tb2R1bGVzL21hdHRlcnRhZy5odG1sI2FkZFxyXG4gICAgaHR0cHM6Ly9tYXR0ZXJwb3J0LmdpdGh1Yi5pby9zaG93Y2FzZS1zZGsvZG9jcy9zZGsvcmVmZXJlbmNlL2N1cnJlbnQvbW9kdWxlcy9tYXR0ZXJ0YWcuaHRtbCNyZW1vdmVcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICBhc3luYyBpbml0TWF0dGVycG9ydFNkayhcclxuICAgIHNwYWNlSUQ6IHN0cmluZyxcclxuICAgIG1vZGVsM0Q6IHN0cmluZyxcclxuICAgIHRhZ1NlcnZpY2U6IEJhc2VUYWdTZXJ2aWNlLFxyXG4gICAgbW9kdWxlOiBTcE1vZHVsZSA9IFNwTW9kdWxlLklNTU9cclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcclxuICAgIHRoaXMubWF0dGVycG9ydFNlcnZpY2UuY3VycmVudFNwYWNlSUQgPSBzcGFjZUlEO1xyXG4gICAgaWYgKHRoaXMubWF0dGVycG9ydFNlcnZpY2Uuc2RrKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuY2xlYXJBbGwoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlXHJcbiAgICAgIC5pbml0U2RrKHRhZ1NlcnZpY2UsIG1vZHVsZSlcclxuICAgICAgLnRoZW4oYXN5bmMgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIGNvbnN0IHsgc2RrIH0gPSB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlO1xyXG5cclxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtcclxuICAgICAgICAgICAgc2RrLlNjZW5lLnJlZ2lzdGVyKHNlY3VyaXR5Q2FtZXJhVHlwZSwgbWFrZVNlY3VyaXR5Q2FtZXJhLmJpbmQoc2RrLlNjZW5lKSksXHJcbiAgICAgICAgICAgIHNkay5TY2VuZS5yZWdpc3RlcihWaWV3RnJ1c3R1bU1lc2hUeXBlLCBtYWtlVmlld0ZydXN0dW1NZXNoLmJpbmQoc2RrLlNjZW5lKSlcclxuICAgICAgICAgIF0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuc2hvd2luZ1ZpZXdlciA9IHRydWU7XHJcblxyXG4gICAgICAgICAgc2RrLkFwcC5zdGF0ZS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChhcHBTdGF0ZSkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoJ1RoZSBjdXJyZW50IHBoYXNlOiAnLCBhcHBTdGF0ZS5waGFzZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGFwcFN0YXRlLnBoYXNlID09PSBzZGsuQXBwLlBoYXNlLlBMQVlJTkcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdUaGUgYXBwIGlzIHBsYXlpbmcnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd2luZ1ZpZXdlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdlcklzT24ubmV4dCh7XHJcbiAgICAgICAgICAgICAgICAgIHNwYWNlSUQsXHJcbiAgICAgICAgICAgICAgICAgIG1vZGVsM0QsXHJcbiAgICAgICAgICAgICAgICAgIHN3ZWVwOiB0aGlzLnN3ZWVwVG9Nb3ZlLFxyXG4gICAgICAgICAgICAgICAgICByb3RhdGlvbjogdGhpcy5yb3RhdGlvblRvTW92ZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhSXNMb2FkZWQubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zd2VlcFRvTW92ZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdGF0aW9uVG9Nb3ZlID0gbnVsbDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnZpZXdlcklzT24ubmV4dCh7XHJcbiAgICAgICAgICAgIHNwYWNlSUQsXHJcbiAgICAgICAgICAgIG1vZGVsM0QsXHJcbiAgICAgICAgICAgIHN3ZWVwOiB0aGlzLnN3ZWVwVG9Nb3ZlLFxyXG4gICAgICAgICAgICByb3RhdGlvbjogdGhpcy5yb3RhdGlvblRvTW92ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5kYXRhSXNMb2FkZWQubmV4dCh0cnVlKTtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5zd2VlcFRvTW92ZSA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLnJvdGF0aW9uVG9Nb3ZlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUZvcmJpZGRlblN3ZWVwcyhmb3JiaWRkZW5Td2VlcHM6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAodGhpcy5jaGVja01vZGUoJ01hdHRlcnBvcnQnKSkge1xyXG4gICAgICB0aGlzLm1hdHRlcnBvcnRTZXJ2aWNlLnJlbW92ZUZvcmJpZGRlblN3ZWVwcyhmb3JiaWRkZW5Td2VlcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0T2JqZWN0M0RMb2FkZWRJblBvc2l0aW9uKG9iamVjdExvYWRlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc09iamVjdExvYWRlZCA9IG9iamVjdExvYWRlZDtcclxuICB9XHJcblxyXG4gIGlzT2JqZWN0M0RMb2FkZWRJblBvc2l0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNPYmplY3RMb2FkZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -321,4 +321,12 @@ export var SpModule;
321
321
  SpModule["HOTEL"] = "HOTEL";
322
322
  SpModule["IMMO"] = "IMMO";
323
323
  })(SpModule || (SpModule = {}));
324
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvdHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQU1YO0FBTkQsV0FBWSxVQUFVO0lBQ3BCLDBDQUE0QixDQUFBO0lBQzVCLDBDQUE0QixDQUFBO0lBQzVCLG9DQUFzQixDQUFBO0lBQ3RCLHNDQUF3QixDQUFBO0lBQ3hCLGtEQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUFOVyxVQUFVLEtBQVYsVUFBVSxRQU1yQjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQWFYO0FBYkQsV0FBWSxtQkFBbUI7SUFDN0IsNkRBQXNDLENBQUE7SUFDdEMsZ0RBQXlCLENBQUE7SUFDekIsb0RBQTZCLENBQUE7SUFDN0IsaUVBQTBDLENBQUE7SUFDMUMsK0RBQXdDLENBQUE7SUFDeEMsa0RBQTJCLENBQUE7SUFDM0IsNERBQXFDLENBQUE7SUFDckMsK0NBQXdCLENBQUE7SUFDeEIsNERBQXFDLENBQUE7SUFDckMsNENBQXFCLENBQUE7SUFDckIseURBQWtDLENBQUE7SUFDbEMsNENBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFhOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxPQVVYO0FBVkQsV0FBWSxPQUFPO0lBQ2pCLGtDQUF1QixDQUFBO0lBQ3ZCLHNDQUEyQixDQUFBO0lBQzNCLDRCQUFpQixDQUFBO0lBQ2pCLGdDQUFxQixDQUFBO0lBQ3JCLDhCQUFtQixDQUFBO0lBQ25CLHdCQUFhLENBQUE7SUFDYiw0QkFBaUIsQ0FBQTtJQUNqQix3QkFBYSxDQUFBO0lBQ2Isd0JBQWEsQ0FBQTtBQUNmLENBQUMsRUFWVyxPQUFPLEtBQVAsT0FBTyxRQVVsQjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7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QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUF5U0QsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQiw2QkFBaUIsQ0FBQTtJQUNqQiwyQkFBZSxDQUFBO0lBQ2YseUJBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxRQUFRLEtBQVIsUUFBUSxRQUluQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENhbWVyYU1vZGUge1xyXG4gIERPTExIT1VTRSA9ICdtb2RlLmRvbGxob3VzZScsXHJcbiAgRkxPT1JQTEFOID0gJ21vZGUuZmxvb3JwbGFuJyxcclxuICBJTlNJREUgPSAnbW9kZS5pbnNpZGUnLFxyXG4gIE9VVFNJREUgPSAnbW9kZS5vdXRzaWRlJyxcclxuICBUUkFOU0lUSU9OSU5HID0gJ21vZGUudHJhbnNpdGlvbmluZycsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIE1hdHRlcnRhZ0FjdGlvbk1vZGUge1xyXG4gIFBPU0lUSU9OX1RJQ0tFVCA9ICdwb3NpdGlvbmluZ190aWNrZXQnLFxyXG4gIEFERF9USUNLRVQgPSAnYWRkX3RpY2tldCcsXHJcbiAgQUREX09CSkVDVDNEID0gJ2FkZF9vYmplY3QzRCcsXHJcbiAgUE9TSVRJT05fT0JKRUNUM0QgPSAncG9zaXRpb25pbmdfb2JqZWN0M0QnLFxyXG4gIFBPU0lUSU9OX0VRVUlQTUVOVCA9ICdwb3NpdGlvbmluZ19lcXVpcCcsXHJcbiAgQUREX0VRVUlQTUVOVCA9ICdhZGRfZXF1aXAnLFxyXG4gIFBPU0lUSU9OX0RBVEEgPSAncG9zaXRpb25pbmdfZmVhdHVyZScsXHJcbiAgQUREX0RBVEEgPSAnYWRkX2ZlYXR1cmUnLFxyXG4gIFBPU0lUSU9OX0RFU0sgPSAncG9zaXRpb25pbmdfZmVhdHVyZScsXHJcbiAgQUREX0RFU0sgPSAnYWRkX2Rlc2snLFxyXG4gIFBPU0lUSU9OX1JPT00gPSAncG9zaXRpb25pbmdfcm9vbScsXHJcbiAgQUREX1JPT00gPSAnYWRkX3Jvb20nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQb2lUeXBlIHtcclxuICBFUVVJUE1FTlQgPSAnRVFVSVBNRU5UJyxcclxuICBJTkZPUk1BVElPTiA9ICdJTkZPUk1BVElPTicsXHJcbiAgVElDS0VUID0gJ1RJQ0tFVCcsXHJcbiAgT0JKRUNUM0QgPSAnT0JKRUNUM0QnLFxyXG4gIE1FQVNVUkUgPSAnTUVBU1VSRScsXHJcbiAgREFUQSA9ICdEQVRBJyxcclxuICBQRU9QTEUgPSAnUEVPUExFJyxcclxuICBERVNLID0gJ0RFU0snLFxyXG4gIFJPT00gPSAnUk9PTScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRpY2tldFByaW9yaXR5IHtcclxuICBNSU5JTVVNID0gJ01JTklNVU0nLFxyXG4gIExPVyA9ICdMT1cnLFxyXG4gIE1FRElVTSA9ICdNRURJVU0nLFxyXG4gIEhJR0ggPSAnSElHSCcsXHJcbiAgTUFYSU1VTSA9ICdNQVhJTVVNJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGFnQWN0aW9uIHtcclxuICBIT1ZFUl9PTiA9ICdob3Zlck9uJyxcclxuICBBVURJT19DTElDSyA9ICdhdWRpb0NsaWNrJyxcclxuICBWSURFT19DTElDSyA9ICd2aWRlb0NsaWNrJyxcclxuICBJTUFHRV9DTElDSyA9ICdpbWFnZUNsaWNrJyxcclxuICBET0NfQ0xJQ0sgPSAnZG9jQ2xpY2snLFxyXG4gIENMT1NFX01PREFMID0gJ2Nsb3NlTW9kYWwnLFxyXG4gIE5FWFRfU0xJREUgPSAnbmV4dFNsaWRlJyxcclxuICBERVRBSUxfQ0xJQ0sgPSAnZGV0YWlsc0NsaWNrJyxcclxuICBUSUNLRVRfQ0xJQ0sgPSAndGlja2V0Q2xpY2snLFxyXG4gIFlPVVRVQkVfQ0xJQ0sgPSAneW91dHViZUNsaWNrJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGlja2V0U3RhdHVzIHtcclxuICBUT19CRV9QUk9DRVNTRUQgPSAnVE9fQkVfUFJPQ0VTU0VEJyxcclxuICBQTEFOTkVEID0gJ1BMQU5ORUQnLFxyXG4gIElOX1BST0dSRVNTID0gJ0lOX1BST0dSRVNTJyxcclxuICBXQUlUSU5HX0ZPUl9WQUxJREFUSU9OID0gJ1dBSVRJTkdfRk9SX1ZBTElEQVRJT04nLFxyXG4gIFZBTElEQVRFRCA9ICdWQUxJREFURUQnLFxyXG4gIFJFSkVDVEVEID0gJ1JFSkVDVEVEJyxcclxuICBSRVNPTFZFRCA9ICdSRVNPTFZFRCcsXHJcbiAgQVJDSElWRUQgPSAnQVJDSElWRUQnLFxyXG4gIExBVEUgPSAnTEFURScsXHJcbiAgQkxPQ0tFRCA9ICdCTE9DS0VEJyxcclxuICBDT01QTEVURUQgPSAnQ09NUExFVEVEJyxcclxuICBERUxBWUVEID0gJ0RFTEFZRUQnLFxyXG4gIENBTkNFTExFRCA9ICdDQU5DRUxMRUQnLFxyXG4gIFRPX1JFRE8gPSAnVE9fUkVETycsXHJcbiAgQ1JFQVRFRCA9ICdDUkVBVEVEJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRG9tYWluVHlwZSB7XHJcbiAgRVFVSVBNRU5UID0gJ0VRVUlQTUVOVCcsXHJcbiAgTUlTU0lPTiA9ICdNSVNTSU9OJyxcclxuICBUSUNLRVQgPSAnVElDS0VUJyxcclxuICBPQkpFQ1QzRCA9ICdPQkpFQ1QzRCcsXHJcbiAgUE9JID0gJ1BPSScsXHJcbiAgRkVBVFVSRSA9ICdGRUFUVVJFJyxcclxuICBCT09LSU5HID0gJ0JPT0tJTkcnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBSb2xlU3RhdHVzIHtcclxuICBWSVNJVE9SID0gJ1ZJU0lUT1InLFxyXG4gIFZJU0lUT1JfTVVTRVVNID0gJ1ZJU0lUT1JfTVVTRVVNJyxcclxuICBHVUlERV9NVVNFVU0gPSAnR1VJREVfTVVTRVVNJyxcclxuICBPQ0NVUEFOVCA9ICdPQ0NVUEFOVCcsXHJcbiAgU0VSVklDRSA9ICdTRVJWSUNFJyxcclxuICBNQU5BR0VSID0gJ01BTkFHRVInLFxyXG4gIE9XTkVSID0gJ09XTkVSJyxcclxuICBBRE1JTiA9ICdBRE1JTicsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFByb2ZpbGVTdGF0dXMge1xyXG4gIFdBSVRJTkdfRk9SX1ZBTElEQVRJT04gPSAnV0FJVElOR19GT1JfVkFMSURBVElPTicsXHJcbiAgV0FJVElOR19GT1JfQUNUSVZBVElPTiA9ICdXQUlUSU5HX0ZPUl9BQ1RJVkFUSU9OJyxcclxuICBBQ1RJVkUgPSAnQUNUSVZFJyxcclxuICBJTkFDVElWRSA9ICdJTkFDVElWRScsXHJcbiAgQkxPQ0tFRCA9ICdCTE9DS0VEJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTGV2ZWxTdGF0dXMge1xyXG4gIE1JTklNVU0gPSAnTUlOSU1VTScsXHJcbiAgTE9XID0gJ0xPVycsXHJcbiAgTUVESVVNID0gJ01FRElVTScsXHJcbiAgSElHSCA9ICdISUdIJyxcclxuICBNQVhJTVVNID0gJ01BWElNVU0nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQcm9wZXJ0eVR5cGUge1xyXG4gIFBST1BFUlRZID0gJ1BST1BFUlRZJyxcclxuICBWSVNJVCA9ICdWSVNJVCcsXHJcbiAgT0NDVVBBTlQgPSAnT0NDVVBBTlQnLFxyXG4gIFNIQVJFRCA9ICdTSEFSRUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTcGFjZVN0YXR1cyB7XHJcbiAgRFBFX1RPX1ZBTElEQVRFID0gJ0RQRV9UT19WQUxJREFURScsXHJcbiAgRFBFX1ZBTElEQVRFRCA9ICdEUEVfVkFMSURBVEVEJyxcclxuICBEUEVfRkVUQ0ggPSAnRFBFX0ZFVENIJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTG9jYWxlIHtcclxuICBGUiA9ICdGUicsXHJcbiAgRU4gPSAnRU4nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFbWFpbFN0YXR1cyB7XHJcbiAgQ1JFQVRJT05fVE9fREVMSVZFUiA9ICdDUkVBVElPTl9UT19ERUxJVkVSJyxcclxuICBVUERBVEVfVE9fREVMSVZFUiA9ICdVUERBVEVfVE9fREVMSVZFUicsXHJcbiAgQ0FOQ0VMTEFUSU9OX1RPX0RFTElWRVIgPSAnQ0FOQ0VMTEFUSU9OX1RPX0RFTElWRVInLFxyXG4gIFNFTlQgPSAnU0VOVCcsXHJcbiAgU09GVF9CT1VOQ0UgPSAnU09GVF9CT1VOQ0UnLFxyXG4gIEhBUkRfQk9VTkNFID0gJ0hBUkRfQk9VTkNFJyxcclxuICBSRUpFQ1RFRCA9ICdSRUpFQ1RFRCcsXHJcbiAgU0FUSVNGQUNUSU9OX1RPX0RFTElWRVIgPSAnU0FUSVNGQUNUSU9OX1RPX0RFTElWRVInLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBDYXB0dXJlVmlld2VyIHtcclxuICBDVVBJWCA9ICdDVVBJWCcsXHJcbiAgTUFUVEVSUE9SVCA9ICdNQVRURVJQT1JUJyxcclxuICBTTUFSVEVSUExBTl9WMSA9ICdTTUFSVEVSUExBTl9WMScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEludmVudG9yeVN0YXR1cyB7XHJcbiAgU1VDQ0VTUyA9ICdTVUNDRVNTJyxcclxuICBFUlJPUiA9ICdFUlJPUicsXHJcbiAgVE9fUlVOID0gJ1RPX1JVTicsXHJcbiAgVE9fUlVOX09ORV9JTUFHRSA9ICdUT19SVU5fT05FX0lNQUdFJyxcclxuICBFUlJPUl9GSUxFX09CSl9OT1RfRVhJU1QgPSAnRVJST1JfRklMRV9PQkpfTk9UX0VYSVNUJyxcclxuICBFUlJPUl9GSUxFX0pTT05fTk9UX0VYSVNUID0gJ0VSUk9SX0ZJTEVfSlNPTl9OT1RfRVhJU1QnLFxyXG4gIEVSUk9SX0ZJTEVfTU9ERUxfTk9UX0VYSVNUID0gJ0VSUk9SX0ZJTEVfTU9ERUxfTk9UX0VYSVNUJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVHlwZU5vdGUge1xyXG4gIENPTlRSQUNUVUFMID0gJ0NPTlRSQUNUVUFMJyxcclxuICBJTkZPUk1BVElPTiA9ICdJTkZPUk1BVElPTicsXHJcbiAgVEVDSE5JQ0FMID0gJ1RFQ0hOSUNBTCcsXHJcbiAgRklOQU5DSUFMID0gJ0ZJTkFOQ0lBTCcsXHJcbiAgT1RIRVIgPSAnT1RIRVInLFxyXG4gIElNQUdFID0gJ0lNQUdFJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRmVhdHVyZVR5cGUge1xyXG4gIERFU0sgPSAnREVTSycsXHJcbiAgSU5ESUNBVE9SX1RFTVAgPSAnSU5ESUNBVE9SX1RFTVAnLFxyXG4gIElORk9STUFUSU9OID0gJ0lORk9STUFUSU9OJyxcclxuICBJTkRJQ0FUT1JfQ08yID0gJ0lORElDQVRPUl9DTzInLFxyXG4gIFBVUkNIQVNFID0gJ1BVUkNIQVNFJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGlja2V0VHlwZSB7XHJcbiAgUkVQT1JUSU5HID0gJ1JFUE9SVElORycsXHJcbiAgUkVRVUVTVF9GT1JfSU5URVJWRU5USU9OID0gJ1JFUVVFU1RfRk9SX0lOVEVSVkVOVElPTicsXHJcbiAgUkVRVUVTVF9GT1JfTUFJTlRFTkFOQ0UgPSAnUkVRVUVTVF9GT1JfTUFJTlRFTkFOQ0UnLFxyXG4gIFdPUktfT1JERVIgPSAnV09SS19PUkRFUicsXHJcbiAgSU5DSURFTlQgPSAnSU5DSURFTlQnLFxyXG4gIElORk9STUFUSU9OID0gJ0lORk9STUFUSU9OJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRXZlbnRUeXBlIHtcclxuICBFUVVJUE1FTlQgPSAnRVFVSVBNRU5UJyxcclxuICBDT01NRU5UID0gJ0NPTU1FTlQnLFxyXG4gIENPTlRSQUNUVUFMX0lOVEVSVkVOVElPTiA9ICdDT05UUkFDVFVBTF9JTlRFUlZFTlRJT04nLFxyXG4gIE5PTl9DT05UUkFDVFVBTF9JTlRFUlZFTlRJT04gPSAnTk9OX0NPTlRSQUNUVUFMX0lOVEVSVkVOVElPTicsXHJcbiAgVElDS0VUID0gJ1RJQ0tFVCcsXHJcbiAgT0JKRUNUM0QgPSAnT0JKRUNUM0QnLFxyXG4gIFJFUE9SVElORyA9ICdSRVBPUlRJTkcnLFxyXG4gIFJFUVVFU1RfRk9SX0lOVEVSVkVOVElPTiA9ICdSRVFVRVNUX0ZPUl9JTlRFUlZFTlRJT04nLFxyXG4gIFJFUVVFU1RfRk9SX01BSU5URU5BTkNFID0gJ1JFUVVFU1RfRk9SX01BSU5URU5BTkNFJyxcclxuICBXT1JLX09SREVSID0gJ1dPUktfT1JERVInLFxyXG4gIElOQ0lERU5UID0gJ0lOQ0lERU5UJyxcclxuICBNRUFTVVJFID0gJ01FQVNVUkUnLFxyXG4gIEJPT0tJTkcgPSAnQk9PS0lORycsXHJcbiAgQk9PS0lOR19TVUJDUklQVElPTiA9ICdCT09LSU5HX1NVQkNSSVBUSU9OJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRXZlbnRTdGF0dXMge1xyXG4gIFRPX0JFX1BST0NFU1NFRCA9ICdUT19CRV9QUk9DRVNTRUQnLFxyXG4gIFBMQU5ORUQgPSAnUExBTk5FRCcsXHJcbiAgSU5fUFJPR1JFU1MgPSAnSU5fUFJPR1JFU1MnLFxyXG4gIFdBSVRJTkdfRk9SX1ZBTElEQVRJT04gPSAnV0FJVElOR19GT1JfVkFMSURBVElPTicsXHJcbiAgVkFMSURBVEVEID0gJ1ZBTElEQVRFRCcsXHJcbiAgUkVKRUNURUQgPSAnUkVKRUNURUQnLFxyXG4gIFJFU09MVkVEID0gJ1JFU09MVkVEJyxcclxuICBBUkNISVZFRCA9ICdBUkNISVZFRCcsXHJcbiAgTEFURSA9ICdMQVRFJyxcclxuICBCTE9DS0VEID0gJ0JMT0NLRUQnLFxyXG4gIENPTVBMRVRFRCA9ICdDT01QTEVURUQnLFxyXG4gIERFTEFZRUQgPSAnREVMQVlFRCcsXHJcbiAgQ0FOQ0VMTEVEID0gJ0NBTkNFTExFRCcsXHJcbiAgVE9fUkVETyA9ICdUT19SRURPJyxcclxuICBDUkVBVEVEID0gJ0NSRUFURUQnLFxyXG4gIExJTktFRF9UT19FUVVJUE1FTlQgPSAnTElOS0VEX1RPX0VRVUlQTUVOVCcsXHJcbiAgVU5MSU5LRURfRlJPTV9FUVVJUE1FTlQgPSAnVU5MSU5LRURfRlJPTV9FUVVJUE1FTlQnLFxyXG4gIEVESVRFRCA9ICdFRElURUQnLFxyXG4gIExJTktFRF9UT19BX1BBUkVOVF9USUNLRVQgPSAnTElOS0VEX1RPX0FfUEFSRU5UX1RJQ0tFVCcsXHJcbiAgV0FJVElOR19GT1JfQUNDRVBUQVRJT04gPSAnV0FJVElOR19GT1JfQUNDRVBUQVRJT04nLFxyXG4gIEFDQ0VQVEVEID0gJ0FDQ0VQVEVEJyxcclxuICBSRUZVU0VEID0gJ1JFRlVTRUQnLFxyXG4gIERPTUFJTl9VUERBVEVEID0gJ0RPTUFJTl9VUERBVEVEJyxcclxuICBEQVRFU19VUERBVEVEID0gJ0RBVEVTX1VQREFURUQnLFxyXG4gIFRJQ0tFVF9DSElMRF9SRU1PVkVEID0gJ1RJQ0tFVF9DSElMRF9SRU1PVkVEJyxcclxuICBUWVBFX1VQREFURUQgPSAnVFlQRV9VUERBVEVEJyxcclxuICBEQVRFX0VORF9VUERBVEVEID0gJ0RBVEVfRU5EX1VQREFURUQnLFxyXG4gIERBVEVfU1RBUlRfVVBEQVRFRCA9ICdEQVRFX1NUQVJUX1VQREFURUQnLFxyXG4gIFBPU0lUSU9OX1NFVCA9ICdQT1NJVElPTl9TRVQnLFxyXG4gIFBPU0lUSU9OX1VQREFURUQgPSAnUE9TSVRJT05fVVBEQVRFRCcsXHJcbiAgUE9TSVRJT05fUkVNT1ZFRCA9ICdQT1NJVElPTl9SRU1PVkVEJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGF5bWVudFN0YXR1cyB7XHJcbiAgVU5QQUlEID0gJ1VOUEFJRCcsXHJcbiAgUEFJRCA9ICdQQUlEJyxcclxuICBQRU5ESU5HID0gJ1BFTkRJTkcnLFxyXG4gIEVSUk9SID0gJ0VSUk9SJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ29tbWVudFR5cGUge1xyXG4gIE1FQVNVUkUgPSAnTUVBU1VSRScsXHJcbiAgVklERU8gPSAnVklERU8nLFxyXG4gIERPQ1VNRU5UID0gJ0RPQ1VNRU5UJyxcclxuICBJTUFHRSA9ICdJTUFHRScsXHJcbiAgVEVYVCA9ICdURVhUJyxcclxuICBBVURJTyA9ICdBVURJTycsXHJcbiAgVVJMID0gJ1VSTCcsXHJcbiAgWU9VVFVCRSA9ICdZT1VUVUJFJyxcclxuICBVUkxfU0hPUCA9ICdVUkxfU0hPUCcsXHJcbiAgRU1CRUQgPSAnRU1CRUQnLFxyXG4gIElGUkFNRSA9ICdJRlJBTUUnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTdGF0dXNFcXVpcG1lbnQge1xyXG4gIFRPX1NFVFVQID0gJ1RPX1NFVFVQJyxcclxuICBCUk9LRU4gPSAnQlJPS0VOJyxcclxuICBVTklOU1RBTExFRCA9ICdVTklOU1RBTExFRCcsXHJcbiAgSU5DSURFTlQgPSAnSU5DSURFTlQnLFxyXG4gIElOX09QRVJBVElPTiA9ICdJTl9PUEVSQVRJT04nLFxyXG4gIFdBSVRJTkdfRk9SX1JFUEFJUiA9ICdXQUlUSU5HX0ZPUl9SRVBBSVInLFxyXG4gIERFTEVURUQgPSAnREVMRVRFRCcsXHJcbiAgT1VUX09GX09SREVSID0gJ09VVF9PRl9PUkRFUicsXHJcbiAgVE9fQkVfUkVQTEFDRUQgPSAnVE9fQkVfUkVQTEFDRUQnLFxyXG59XHJcblxyXG4vKiogSW50ZXJmYWNlIGZvciBVcGRhdGUgKG9ubHkgaWQgaXMgcmVxdWlyZWQpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZSB7XHJcbiAgaWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQVdTVHlwZSA9IHtcclxuICBfX3R5cGVuYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgY3JlYXRlZEF0Pzogc3RyaW5nO1xyXG4gIHVwZGF0ZWRBdD86IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERiT2JqZWN0VHlwZSA9IHtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgcG9pcz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxQT0lDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8UE9JPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH0gfCBudWxsO1xyXG4gIHNwYWNlPzogU3BhY2UgfCBudWxsO1xyXG4gIGRvbWFpbklEPzogc3RyaW5nIHwgbnVsbDtcclxuICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgVGlja2V0ID0ge1xyXG4gIHNwYWNlSUQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHN0YXR1cz86IFRpY2tldFN0YXR1cyB8IG51bGw7XHJcbiAgcHJpb3JpdHk/OiBUaWNrZXRQcmlvcml0eSB8IG51bGw7XHJcbiAgb3duZXJNaXNzaW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG93bmVyTWlzc2lvbj86IE1pc3Npb24gfCBudWxsO1xyXG4gIHR5cGU/OiBUaWNrZXRUeXBlIHwgbnVsbDtcclxuICBwYXJlbnRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbGV2ZWw/OiBMZXZlbFN0YXR1cyB8IG51bGw7XHJcbiAgZnJpZW5kbHlMYWJlbD86IHN0cmluZyB8IG51bGw7XHJcbiAgZG9tYWluOiBEb21haW4gfCBudWxsO1xyXG4gIGRvbWFpbklEOiBzdHJpbmcgfCBudWxsO1xyXG4gIGV2ZW50cz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxFdmVudENvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxFdmVudD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9IHwgbnVsbDtcclxuICBhc3NpZ25lZXM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsQWZmZWN0YXRpb25Db25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8QWZmZWN0YXRpb24+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfSB8IG51bGw7XHJcbiAgZXF1aXBtZW50cz86IEFycmF5PEVxdWlwbWVudD4gfCBudWxsO1xyXG4gIG9wZXJhdGlvbnM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsT3BlcmF0aW9uQ29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PE9wZXJhdGlvbiB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBjb21tZW50cz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxDb21tZW50Q29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PENvbW1lbnQgfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbiAgcHJlc3RhdGFpcmU/OiBQcmVzdGF0YWlyZSB8IG51bGw7XHJcbiAgY2hpbGRyZW4/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsVGlja2V0Q29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PFRpY2tldCB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBhcmNoaXZlZEZvck1pc3Npb25JRD86IHN0cmluZ1tdIHwgbnVsbDtcclxufSAmIERiT2JqZWN0VHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIE9wZXJhdGlvbiA9IHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgdGlja2V0SUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGVxdWlwbWVudElEPzogc3RyaW5nIHwgbnVsbDtcclxuICBkZWxldGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHRpY2tldD86IFRpY2tldCB8IG51bGw7XHJcbiAgZXF1aXBtZW50PzogRXF1aXBtZW50IHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBFcXVpcG1lbnQgPSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIG5vdGVzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbE5vdGVDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8Tm90ZSB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBkb2N1bWVudHM/OiBBcnJheTxFcXVpcG1lbnREb2N1bWVudD4gfCBudWxsO1xyXG4gIGRvY3VtZW50YXRpb25JbWFnZVVybFNpZ25lZD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3ViRXF1aXBtZW50cz86IEFycmF5PEVxdWlwbWVudCB8IG51bGw+IHwgbnVsbDtcclxuICBzdWJlcXVpcG1lbnRzSURzPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIHNlcmlhbE51bWJlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgZG9tYWluPzogRG9tYWluIHwgbnVsbDtcclxuICBjaGlsZERvbWFpbj86IERvbWFpbiB8IG51bGw7XHJcbiAgcGFyZW50RG9tYWluPzogRG9tYWluIHwgbnVsbDtcclxuICBwaG90bz86IHN0cmluZyB8IG51bGw7XHJcbiAgem9uZT86IFpvbmUgfCBudWxsO1xyXG4gIHRpY2tldHM/OiBUaWNrZXRbXSB8IG51bGw7XHJcbiAgZG9tYWluSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNwYWNlSUQ6IHN0cmluZztcclxuICBhcmNoaXZlZEZvck1pc3Npb25JRD86IHN0cmluZ1tdIHwgbnVsbDtcclxuICBhbm5vdGF0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBzdGF0dXM/OiBTdGF0dXNFcXVpcG1lbnQgfCBudWxsO1xyXG4gIGZhbWlseT86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBtYW51ZmFjdHVyZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNrdT86IHN0cmluZyB8IG51bGw7XHJcbiAgaW5zdGFsbERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHdhcnJhbnR5RW5kRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgaXNDcmVhdGVkQnlBST86IGJvb2xlYW4gfCBudWxsO1xyXG4gIG9wZXJhdGlvbnM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsT3BlcmF0aW9uQ29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PE9wZXJhdGlvbiB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxufSAmIERiT2JqZWN0VHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIEVxdWlwbWVudFNlbGVjdGVkID0ge1xyXG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcclxufSAmIEVxdWlwbWVudDtcclxuXHJcbi8vIG5vdCBpbiBkYlxyXG5leHBvcnQgdHlwZSBFcXVpcG1lbnREb2N1bWVudCA9IHtcclxuICBmaWxlbmFtZTogc3RyaW5nO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHVybFNpZ25lZDogc3RyaW5nO1xyXG4gIG5vdGVJRDogc3RyaW5nO1xyXG59O1xyXG5cclxuLy8gbm90IGluIGRiXHJcbmV4cG9ydCB0eXBlIFByZXN0YXRhaXJlID0ge1xyXG4gIG9yZ2FuaXNhdGlvbjogT3JnYW5pc2F0aW9uO1xyXG4gIG1pc3Npb246IE1pc3Npb247XHJcbiAgcHJvZmlsZTogUHJvZmlsZTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOb3RlID0ge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBhdHRhY2htZW50Pzogc3RyaW5nIHwgbnVsbDtcclxuICBzaWduRGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgZXhwaXJhdGlvbkRhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHR5cGU/OiBUeXBlTm90ZSB8IG51bGw7XHJcbiAgb3duZXJNaXNzaW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGVxdWlwbWVudElEPzogc3RyaW5nIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBEb21haW4gPSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHNsdWc/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGFiYnJldmlhdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEPzogc3RyaW5nIHwgbnVsbDtcclxuICBwYXJlbnRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdHlwZT86IERvbWFpblR5cGUgfCBudWxsO1xyXG4gIHBhcmVudD86IERvbWFpbiB8IG51bGw7XHJcbiAgY2hpbGRyZW4/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsRG9tYWluQ29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PERvbWFpbiB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBQT0kgPSB7XHJcbiAgaWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNvb3JkaW5hdGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRhZ0ljb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRhZ0Rlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICB0YWdJbWFnZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgbWF0dGVycG9ydFN3ZWVwSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHR5cGU/OiBQb2lUeXBlIHwgbnVsbDtcclxuICBlbGVtZW50SUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHZpcnR1YWw/OiBib29sZWFuIHwgbnVsbDtcclxuICB4Um90YXRpb24/OiBudW1iZXIgfCBudWxsO1xyXG4gIHlSb3RhdGlvbj86IG51bWJlciB8IG51bGw7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IGVudW0gVmlld2VySW50ZXJhY3Rpb25zIHtcclxuICBERUZBVUxUID0gMCxcclxuICBBRERJTkcsXHJcbiAgUE9TSVRJT05JTkcsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1pc3Npb24gPSB7XHJcbiAgdXNlcklEOiBzdHJpbmc7XHJcbiAgcm9sZT86IFJvbGVTdGF0dXMgfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEOiBzdHJpbmc7XHJcbiAgc3BhY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbGV2ZWw/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+IHwgbnVsbDtcclxuICBpZnJhbWVzPzogQXJyYXk8TWVkaWFDb250ZW50PiB8IG51bGw7XHJcbiAgY29tbWVudHM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsQ29tbWVudENvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxDb21tZW50IHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGRvbWFpbj86IERvbWFpbiB8IG51bGw7XHJcbiAgaXNCb29raW5nUGxhY2U/OiBib29sZWFuIHwgbnVsbDtcclxuICBldmVudHM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsRXZlbnRDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8RXZlbnQgfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG59ICYgRGJPYmplY3RUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgRXZlbnQgPSB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0eXBlPzogRXZlbnRUeXBlIHwgbnVsbDtcclxuICBlc3RpbWF0ZVN0YXJ0RGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgZXN0aW1hdGVEdXJhdGlvbj86IG51bWJlciB8IG51bGw7XHJcbiAgZXN0aW1hdGVFbmREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICByZWFsU3RhcnREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICB0aW1lU3BlbnQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHJlYWxFbmREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBzdGF0dXM/OiBFdmVudFN0YXR1cyB8IG51bGw7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGdyb3VwPzogc3RyaW5nIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgb3duZXJJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdGlja2V0SUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNyZWF0ZWRBdD86IHN0cmluZyB8IG51bGw7XHJcbiAgdHJhbnNsYXRpb25QYXRoPzogc3RyaW5nIHwgbnVsbDtcclxuICBmZWF0dXJlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGFyY2hpdmVkQnlPd25lcj86IGJvb2xlYW4gfCBudWxsO1xyXG4gIHBheW1lbnRTdGF0dXM/OiBQYXltZW50U3RhdHVzIHwgbnVsbDtcclxuICBzdHJpcGVTZXNzaW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG5vdGlmaWNhdGlvblN0YXR1cz86IEVtYWlsU3RhdHVzIHwgbnVsbDtcclxuICByZWZ1c2FsUmVhc29uPzogc3RyaW5nIHwgbnVsbDtcclxuICBhZ29TdHI/OiBib29sZWFuIHwgc3RyaW5nIHwgbnVsbDtcclxuICBvd25lcj86IE1pc3Npb24gfCBudWxsO1xyXG4gIGF1dGhvcj86IFByb2ZpbGVFbnRpdHkgfCBudWxsO1xyXG4gIGZlYXR1cmU/OiBGZWF0dXJlIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG4vL25vdCBpbiBEQiAodmFyaWF0aW9uIG9mIEV2ZW50KVxyXG5leHBvcnQgdHlwZSBSZXF1ZXN0SW50ZXJ2ZW50aW9uID0ge1xyXG4gIGVzdGltYXRlU3RhcnREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBlc3RpbWF0ZUR1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICBlc3RpbWF0ZUVuZERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHJlYWxTdGFydERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHJlYWxEdXJhdGlvbj86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbEVuZERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHR5cGU6IEV2ZW50VHlwZS5SRVFVRVNUX0ZPUl9JTlRFUlZFTlRJT047XHJcbiAgc3RhdHVzOiBFdmVudFN0YXR1cztcclxuICBpbnRlcnZlbnRpb24/OiBFdmVudCB8IG51bGw7XHJcbiAgcmVwb3J0PzogRXZlbnQgfCBudWxsO1xyXG4gIHRpY2tldElEOiBzdHJpbmc7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuLy9ub3QgaW4gREIgKHZhcmlhdGlvbiBvZiBFdmVudClcclxuZXhwb3J0IHR5cGUgSW50ZXJ2ZW50aW9uID0ge1xyXG4gIGVzdGltYXRlU3RhcnREYXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBlc3RpbWF0ZUR1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICBlc3RpbWF0ZUVuZERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHJlYWxTdGFydERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHJlYWxEdXJhdGlvbj86IG51bWJlciB8IG51bGw7XHJcbiAgcmVhbEVuZERhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHR5cGU6IEV2ZW50VHlwZTtcclxuICBzdGF0dXM6IEV2ZW50U3RhdHVzO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIFZpc2l0VGVtcGxhdGUgPSB7XHJcbiAgaWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxuICBsZXZlbD86IExldmVsU3RhdHVzIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgbWV0YWRhdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgc3RhcnREYXRlVGltZT86IHN0cmluZyB8IG51bGw7XHJcbiAgZW5kRGF0ZVRpbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGhhc2h0YWdzPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEOiBzdHJpbmc7XHJcbiAgc3BhY2VJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgem9uZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBsb2NhbGU/OiBMb2NhbGUgfCBudWxsO1xyXG4gIHJlYWxTdGFydGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHJlYWxFbmRlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBzcGFjZT86IFNwYWNlIHwgbnVsbDtcclxuICB6b25lPzogWm9uZSB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uPzogT3JnYW5pc2F0aW9uIHwgbnVsbDtcclxuICB1c2VyTWlzc2lvbnM/OiB7XHJcbiAgICBfX3R5cGVuYW1lOiAnTW9kZWxNaXNzaW9uQ29ubmVjdGlvbic7XHJcbiAgICBpdGVtczogQXJyYXk8TWlzc2lvbiB8IG51bGw+O1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9IHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgZW51bSBTcE1vZHVsZSB7XHJcbiAgTVVTRVVNID0gJ01VU0VVTScsXHJcbiAgSE9URUwgPSAnSE9URUwnLFxyXG4gIElNTU8gPSAnSU1NTycsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaHJlZUpTIG9iamVjdDNEXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBJT2JqZWN0M0QgPSB7XHJcbiAgaWQ/OiBzdHJpbmc7IC8vIHVzZWQgdG8gcmVwbGFjZSB0aHJlZUpTIHV1aWRcclxuICBvYmplY3Q6IHN0cmluZztcclxuICBmb3JtYXQ6IHN0cmluZztcclxuICBtb2RlOiBzdHJpbmc7XHJcbiAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlcjsgfTtcclxuICByb3RhdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyOyB9O1xyXG4gIHNjYWxlOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XHJcbiAgdmlld0ZydXN0dW06IGJvb2xlYW47XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRHluYW1vRGIgb2JqZWN0M0RcclxuICovXHJcbmV4cG9ydCB0eXBlIE9iamVjdDNEID0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHMzQnVja2V0OiBib29sZWFuO1xyXG4gIHBvc2l0aW9uOiBudW1iZXJbXTtcclxuICByb3RhdGlvbjogbnVtYmVyW107XHJcbiAgc2NhbGU6IG51bWJlcltdO1xyXG4gIHNwYWNlSUQ6IHN0cmluZztcclxuICB2aWV3RnJ1c3R1bTogYm9vbGVhbjtcclxuICBwb2lzOiB7IGl0ZW1zOiBQT0lbXSB9O1xyXG4gIC8vIE5vdCB1c2VkIHlldFxyXG4gIC8vIGRvbWFpbjogRG9tYWluIHwgbnVsbDtcclxuICAvLyBkb21haW5JRDogc3RyaW5nIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcbiJdfQ==
324
+ export var MatterportViewType;
325
+ (function (MatterportViewType) {
326
+ MatterportViewType["BASE"] = "viewtype.base";
327
+ MatterportViewType["DEFURNISH"] = "viewtype.defurnish";
328
+ MatterportViewType["LAYERED_BASE"] = "viewtype.layeredbase";
329
+ MatterportViewType["OTHER"] = "viewtype.other";
330
+ MatterportViewType["USER"] = "viewtype.user";
331
+ })(MatterportViewType || (MatterportViewType = {}));
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvdHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQU1YO0FBTkQsV0FBWSxVQUFVO0lBQ3BCLDBDQUE0QixDQUFBO0lBQzVCLDBDQUE0QixDQUFBO0lBQzVCLG9DQUFzQixDQUFBO0lBQ3RCLHNDQUF3QixDQUFBO0lBQ3hCLGtEQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUFOVyxVQUFVLEtBQVYsVUFBVSxRQU1yQjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQWFYO0FBYkQsV0FBWSxtQkFBbUI7SUFDN0IsNkRBQXNDLENBQUE7SUFDdEMsZ0RBQXlCLENBQUE7SUFDekIsb0RBQTZCLENBQUE7SUFDN0IsaUVBQTBDLENBQUE7SUFDMUMsK0RBQXdDLENBQUE7SUFDeEMsa0RBQTJCLENBQUE7SUFDM0IsNERBQXFDLENBQUE7SUFDckMsK0NBQXdCLENBQUE7SUFDeEIsNERBQXFDLENBQUE7SUFDckMsNENBQXFCLENBQUE7SUFDckIseURBQWtDLENBQUE7SUFDbEMsNENBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFhOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxPQVVYO0FBVkQsV0FBWSxPQUFPO0lBQ2pCLGtDQUF1QixDQUFBO0lBQ3ZCLHNDQUEyQixDQUFBO0lBQzNCLDRCQUFpQixDQUFBO0lBQ2pCLGdDQUFxQixDQUFBO0lBQ3JCLDhCQUFtQixDQUFBO0lBQ25CLHdCQUFhLENBQUE7SUFDYiw0QkFBaUIsQ0FBQTtJQUNqQix3QkFBYSxDQUFBO0lBQ2Isd0JBQWEsQ0FBQTtBQUNmLENBQUMsRUFWVyxPQUFPLEtBQVAsT0FBTyxRQVVsQjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7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QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUF5U0QsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQiw2QkFBaUIsQ0FBQTtJQUNqQiwyQkFBZSxDQUFBO0lBQ2YseUJBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxRQUFRLEtBQVIsUUFBUSxRQUluQjtBQXFDRCxNQUFNLENBQU4sSUFBWSxrQkFNWDtBQU5ELFdBQVksa0JBQWtCO0lBQzVCLDRDQUFzQixDQUFBO0lBQ3RCLHNEQUFnQyxDQUFBO0lBQ2hDLDJEQUFxQyxDQUFBO0lBQ3JDLDhDQUF3QixDQUFBO0lBQ3hCLDRDQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFOVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBTTdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2FtZXJhTW9kZSB7XHJcbiAgRE9MTEhPVVNFID0gJ21vZGUuZG9sbGhvdXNlJyxcclxuICBGTE9PUlBMQU4gPSAnbW9kZS5mbG9vcnBsYW4nLFxyXG4gIElOU0lERSA9ICdtb2RlLmluc2lkZScsXHJcbiAgT1VUU0lERSA9ICdtb2RlLm91dHNpZGUnLFxyXG4gIFRSQU5TSVRJT05JTkcgPSAnbW9kZS50cmFuc2l0aW9uaW5nJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTWF0dGVydGFnQWN0aW9uTW9kZSB7XHJcbiAgUE9TSVRJT05fVElDS0VUID0gJ3Bvc2l0aW9uaW5nX3RpY2tldCcsXHJcbiAgQUREX1RJQ0tFVCA9ICdhZGRfdGlja2V0JyxcclxuICBBRERfT0JKRUNUM0QgPSAnYWRkX29iamVjdDNEJyxcclxuICBQT1NJVElPTl9PQkpFQ1QzRCA9ICdwb3NpdGlvbmluZ19vYmplY3QzRCcsXHJcbiAgUE9TSVRJT05fRVFVSVBNRU5UID0gJ3Bvc2l0aW9uaW5nX2VxdWlwJyxcclxuICBBRERfRVFVSVBNRU5UID0gJ2FkZF9lcXVpcCcsXHJcbiAgUE9TSVRJT05fREFUQSA9ICdwb3NpdGlvbmluZ19mZWF0dXJlJyxcclxuICBBRERfREFUQSA9ICdhZGRfZmVhdHVyZScsXHJcbiAgUE9TSVRJT05fREVTSyA9ICdwb3NpdGlvbmluZ19mZWF0dXJlJyxcclxuICBBRERfREVTSyA9ICdhZGRfZGVzaycsXHJcbiAgUE9TSVRJT05fUk9PTSA9ICdwb3NpdGlvbmluZ19yb29tJyxcclxuICBBRERfUk9PTSA9ICdhZGRfcm9vbScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBvaVR5cGUge1xyXG4gIEVRVUlQTUVOVCA9ICdFUVVJUE1FTlQnLFxyXG4gIElORk9STUFUSU9OID0gJ0lORk9STUFUSU9OJyxcclxuICBUSUNLRVQgPSAnVElDS0VUJyxcclxuICBPQkpFQ1QzRCA9ICdPQkpFQ1QzRCcsXHJcbiAgTUVBU1VSRSA9ICdNRUFTVVJFJyxcclxuICBEQVRBID0gJ0RBVEEnLFxyXG4gIFBFT1BMRSA9ICdQRU9QTEUnLFxyXG4gIERFU0sgPSAnREVTSycsXHJcbiAgUk9PTSA9ICdST09NJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGlja2V0UHJpb3JpdHkge1xyXG4gIE1JTklNVU0gPSAnTUlOSU1VTScsXHJcbiAgTE9XID0gJ0xPVycsXHJcbiAgTUVESVVNID0gJ01FRElVTScsXHJcbiAgSElHSCA9ICdISUdIJyxcclxuICBNQVhJTVVNID0gJ01BWElNVU0nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUYWdBY3Rpb24ge1xyXG4gIEhPVkVSX09OID0gJ2hvdmVyT24nLFxyXG4gIEFVRElPX0NMSUNLID0gJ2F1ZGlvQ2xpY2snLFxyXG4gIFZJREVPX0NMSUNLID0gJ3ZpZGVvQ2xpY2snLFxyXG4gIElNQUdFX0NMSUNLID0gJ2ltYWdlQ2xpY2snLFxyXG4gIERPQ19DTElDSyA9ICdkb2NDbGljaycsXHJcbiAgQ0xPU0VfTU9EQUwgPSAnY2xvc2VNb2RhbCcsXHJcbiAgTkVYVF9TTElERSA9ICduZXh0U2xpZGUnLFxyXG4gIERFVEFJTF9DTElDSyA9ICdkZXRhaWxzQ2xpY2snLFxyXG4gIFRJQ0tFVF9DTElDSyA9ICd0aWNrZXRDbGljaycsXHJcbiAgWU9VVFVCRV9DTElDSyA9ICd5b3V0dWJlQ2xpY2snLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUaWNrZXRTdGF0dXMge1xyXG4gIFRPX0JFX1BST0NFU1NFRCA9ICdUT19CRV9QUk9DRVNTRUQnLFxyXG4gIFBMQU5ORUQgPSAnUExBTk5FRCcsXHJcbiAgSU5fUFJPR1JFU1MgPSAnSU5fUFJPR1JFU1MnLFxyXG4gIFdBSVRJTkdfRk9SX1ZBTElEQVRJT04gPSAnV0FJVElOR19GT1JfVkFMSURBVElPTicsXHJcbiAgVkFMSURBVEVEID0gJ1ZBTElEQVRFRCcsXHJcbiAgUkVKRUNURUQgPSAnUkVKRUNURUQnLFxyXG4gIFJFU09MVkVEID0gJ1JFU09MVkVEJyxcclxuICBBUkNISVZFRCA9ICdBUkNISVZFRCcsXHJcbiAgTEFURSA9ICdMQVRFJyxcclxuICBCTE9DS0VEID0gJ0JMT0NLRUQnLFxyXG4gIENPTVBMRVRFRCA9ICdDT01QTEVURUQnLFxyXG4gIERFTEFZRUQgPSAnREVMQVlFRCcsXHJcbiAgQ0FOQ0VMTEVEID0gJ0NBTkNFTExFRCcsXHJcbiAgVE9fUkVETyA9ICdUT19SRURPJyxcclxuICBDUkVBVEVEID0gJ0NSRUFURUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBEb21haW5UeXBlIHtcclxuICBFUVVJUE1FTlQgPSAnRVFVSVBNRU5UJyxcclxuICBNSVNTSU9OID0gJ01JU1NJT04nLFxyXG4gIFRJQ0tFVCA9ICdUSUNLRVQnLFxyXG4gIE9CSkVDVDNEID0gJ09CSkVDVDNEJyxcclxuICBQT0kgPSAnUE9JJyxcclxuICBGRUFUVVJFID0gJ0ZFQVRVUkUnLFxyXG4gIEJPT0tJTkcgPSAnQk9PS0lORycsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFJvbGVTdGF0dXMge1xyXG4gIFZJU0lUT1IgPSAnVklTSVRPUicsXHJcbiAgVklTSVRPUl9NVVNFVU0gPSAnVklTSVRPUl9NVVNFVU0nLFxyXG4gIEdVSURFX01VU0VVTSA9ICdHVUlERV9NVVNFVU0nLFxyXG4gIE9DQ1VQQU5UID0gJ09DQ1VQQU5UJyxcclxuICBTRVJWSUNFID0gJ1NFUlZJQ0UnLFxyXG4gIE1BTkFHRVIgPSAnTUFOQUdFUicsXHJcbiAgT1dORVIgPSAnT1dORVInLFxyXG4gIEFETUlOID0gJ0FETUlOJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUHJvZmlsZVN0YXR1cyB7XHJcbiAgV0FJVElOR19GT1JfVkFMSURBVElPTiA9ICdXQUlUSU5HX0ZPUl9WQUxJREFUSU9OJyxcclxuICBXQUlUSU5HX0ZPUl9BQ1RJVkFUSU9OID0gJ1dBSVRJTkdfRk9SX0FDVElWQVRJT04nLFxyXG4gIEFDVElWRSA9ICdBQ1RJVkUnLFxyXG4gIElOQUNUSVZFID0gJ0lOQUNUSVZFJyxcclxuICBCTE9DS0VEID0gJ0JMT0NLRUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBMZXZlbFN0YXR1cyB7XHJcbiAgTUlOSU1VTSA9ICdNSU5JTVVNJyxcclxuICBMT1cgPSAnTE9XJyxcclxuICBNRURJVU0gPSAnTUVESVVNJyxcclxuICBISUdIID0gJ0hJR0gnLFxyXG4gIE1BWElNVU0gPSAnTUFYSU1VTScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFByb3BlcnR5VHlwZSB7XHJcbiAgUFJPUEVSVFkgPSAnUFJPUEVSVFknLFxyXG4gIFZJU0lUID0gJ1ZJU0lUJyxcclxuICBPQ0NVUEFOVCA9ICdPQ0NVUEFOVCcsXHJcbiAgU0hBUkVEID0gJ1NIQVJFRCcsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNwYWNlU3RhdHVzIHtcclxuICBEUEVfVE9fVkFMSURBVEUgPSAnRFBFX1RPX1ZBTElEQVRFJyxcclxuICBEUEVfVkFMSURBVEVEID0gJ0RQRV9WQUxJREFURUQnLFxyXG4gIERQRV9GRVRDSCA9ICdEUEVfRkVUQ0gnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBMb2NhbGUge1xyXG4gIEZSID0gJ0ZSJyxcclxuICBFTiA9ICdFTicsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVtYWlsU3RhdHVzIHtcclxuICBDUkVBVElPTl9UT19ERUxJVkVSID0gJ0NSRUFUSU9OX1RPX0RFTElWRVInLFxyXG4gIFVQREFURV9UT19ERUxJVkVSID0gJ1VQREFURV9UT19ERUxJVkVSJyxcclxuICBDQU5DRUxMQVRJT05fVE9fREVMSVZFUiA9ICdDQU5DRUxMQVRJT05fVE9fREVMSVZFUicsXHJcbiAgU0VOVCA9ICdTRU5UJyxcclxuICBTT0ZUX0JPVU5DRSA9ICdTT0ZUX0JPVU5DRScsXHJcbiAgSEFSRF9CT1VOQ0UgPSAnSEFSRF9CT1VOQ0UnLFxyXG4gIFJFSkVDVEVEID0gJ1JFSkVDVEVEJyxcclxuICBTQVRJU0ZBQ1RJT05fVE9fREVMSVZFUiA9ICdTQVRJU0ZBQ1RJT05fVE9fREVMSVZFUicsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENhcHR1cmVWaWV3ZXIge1xyXG4gIENVUElYID0gJ0NVUElYJyxcclxuICBNQVRURVJQT1JUID0gJ01BVFRFUlBPUlQnLFxyXG4gIFNNQVJURVJQTEFOX1YxID0gJ1NNQVJURVJQTEFOX1YxJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gSW52ZW50b3J5U3RhdHVzIHtcclxuICBTVUNDRVNTID0gJ1NVQ0NFU1MnLFxyXG4gIEVSUk9SID0gJ0VSUk9SJyxcclxuICBUT19SVU4gPSAnVE9fUlVOJyxcclxuICBUT19SVU5fT05FX0lNQUdFID0gJ1RPX1JVTl9PTkVfSU1BR0UnLFxyXG4gIEVSUk9SX0ZJTEVfT0JKX05PVF9FWElTVCA9ICdFUlJPUl9GSUxFX09CSl9OT1RfRVhJU1QnLFxyXG4gIEVSUk9SX0ZJTEVfSlNPTl9OT1RfRVhJU1QgPSAnRVJST1JfRklMRV9KU09OX05PVF9FWElTVCcsXHJcbiAgRVJST1JfRklMRV9NT0RFTF9OT1RfRVhJU1QgPSAnRVJST1JfRklMRV9NT0RFTF9OT1RfRVhJU1QnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUeXBlTm90ZSB7XHJcbiAgQ09OVFJBQ1RVQUwgPSAnQ09OVFJBQ1RVQUwnLFxyXG4gIElORk9STUFUSU9OID0gJ0lORk9STUFUSU9OJyxcclxuICBURUNITklDQUwgPSAnVEVDSE5JQ0FMJyxcclxuICBGSU5BTkNJQUwgPSAnRklOQU5DSUFMJyxcclxuICBPVEhFUiA9ICdPVEhFUicsXHJcbiAgSU1BR0UgPSAnSU1BR0UnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBGZWF0dXJlVHlwZSB7XHJcbiAgREVTSyA9ICdERVNLJyxcclxuICBJTkRJQ0FUT1JfVEVNUCA9ICdJTkRJQ0FUT1JfVEVNUCcsXHJcbiAgSU5GT1JNQVRJT04gPSAnSU5GT1JNQVRJT04nLFxyXG4gIElORElDQVRPUl9DTzIgPSAnSU5ESUNBVE9SX0NPMicsXHJcbiAgUFVSQ0hBU0UgPSAnUFVSQ0hBU0UnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUaWNrZXRUeXBlIHtcclxuICBSRVBPUlRJTkcgPSAnUkVQT1JUSU5HJyxcclxuICBSRVFVRVNUX0ZPUl9JTlRFUlZFTlRJT04gPSAnUkVRVUVTVF9GT1JfSU5URVJWRU5USU9OJyxcclxuICBSRVFVRVNUX0ZPUl9NQUlOVEVOQU5DRSA9ICdSRVFVRVNUX0ZPUl9NQUlOVEVOQU5DRScsXHJcbiAgV09SS19PUkRFUiA9ICdXT1JLX09SREVSJyxcclxuICBJTkNJREVOVCA9ICdJTkNJREVOVCcsXHJcbiAgSU5GT1JNQVRJT04gPSAnSU5GT1JNQVRJT04nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFdmVudFR5cGUge1xyXG4gIEVRVUlQTUVOVCA9ICdFUVVJUE1FTlQnLFxyXG4gIENPTU1FTlQgPSAnQ09NTUVOVCcsXHJcbiAgQ09OVFJBQ1RVQUxfSU5URVJWRU5USU9OID0gJ0NPTlRSQUNUVUFMX0lOVEVSVkVOVElPTicsXHJcbiAgTk9OX0NPTlRSQUNUVUFMX0lOVEVSVkVOVElPTiA9ICdOT05fQ09OVFJBQ1RVQUxfSU5URVJWRU5USU9OJyxcclxuICBUSUNLRVQgPSAnVElDS0VUJyxcclxuICBPQkpFQ1QzRCA9ICdPQkpFQ1QzRCcsXHJcbiAgUkVQT1JUSU5HID0gJ1JFUE9SVElORycsXHJcbiAgUkVRVUVTVF9GT1JfSU5URVJWRU5USU9OID0gJ1JFUVVFU1RfRk9SX0lOVEVSVkVOVElPTicsXHJcbiAgUkVRVUVTVF9GT1JfTUFJTlRFTkFOQ0UgPSAnUkVRVUVTVF9GT1JfTUFJTlRFTkFOQ0UnLFxyXG4gIFdPUktfT1JERVIgPSAnV09SS19PUkRFUicsXHJcbiAgSU5DSURFTlQgPSAnSU5DSURFTlQnLFxyXG4gIE1FQVNVUkUgPSAnTUVBU1VSRScsXHJcbiAgQk9PS0lORyA9ICdCT09LSU5HJyxcclxuICBCT09LSU5HX1NVQkNSSVBUSU9OID0gJ0JPT0tJTkdfU1VCQ1JJUFRJT04nLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFdmVudFN0YXR1cyB7XHJcbiAgVE9fQkVfUFJPQ0VTU0VEID0gJ1RPX0JFX1BST0NFU1NFRCcsXHJcbiAgUExBTk5FRCA9ICdQTEFOTkVEJyxcclxuICBJTl9QUk9HUkVTUyA9ICdJTl9QUk9HUkVTUycsXHJcbiAgV0FJVElOR19GT1JfVkFMSURBVElPTiA9ICdXQUlUSU5HX0ZPUl9WQUxJREFUSU9OJyxcclxuICBWQUxJREFURUQgPSAnVkFMSURBVEVEJyxcclxuICBSRUpFQ1RFRCA9ICdSRUpFQ1RFRCcsXHJcbiAgUkVTT0xWRUQgPSAnUkVTT0xWRUQnLFxyXG4gIEFSQ0hJVkVEID0gJ0FSQ0hJVkVEJyxcclxuICBMQVRFID0gJ0xBVEUnLFxyXG4gIEJMT0NLRUQgPSAnQkxPQ0tFRCcsXHJcbiAgQ09NUExFVEVEID0gJ0NPTVBMRVRFRCcsXHJcbiAgREVMQVlFRCA9ICdERUxBWUVEJyxcclxuICBDQU5DRUxMRUQgPSAnQ0FOQ0VMTEVEJyxcclxuICBUT19SRURPID0gJ1RPX1JFRE8nLFxyXG4gIENSRUFURUQgPSAnQ1JFQVRFRCcsXHJcbiAgTElOS0VEX1RPX0VRVUlQTUVOVCA9ICdMSU5LRURfVE9fRVFVSVBNRU5UJyxcclxuICBVTkxJTktFRF9GUk9NX0VRVUlQTUVOVCA9ICdVTkxJTktFRF9GUk9NX0VRVUlQTUVOVCcsXHJcbiAgRURJVEVEID0gJ0VESVRFRCcsXHJcbiAgTElOS0VEX1RPX0FfUEFSRU5UX1RJQ0tFVCA9ICdMSU5LRURfVE9fQV9QQVJFTlRfVElDS0VUJyxcclxuICBXQUlUSU5HX0ZPUl9BQ0NFUFRBVElPTiA9ICdXQUlUSU5HX0ZPUl9BQ0NFUFRBVElPTicsXHJcbiAgQUNDRVBURUQgPSAnQUNDRVBURUQnLFxyXG4gIFJFRlVTRUQgPSAnUkVGVVNFRCcsXHJcbiAgRE9NQUlOX1VQREFURUQgPSAnRE9NQUlOX1VQREFURUQnLFxyXG4gIERBVEVTX1VQREFURUQgPSAnREFURVNfVVBEQVRFRCcsXHJcbiAgVElDS0VUX0NISUxEX1JFTU9WRUQgPSAnVElDS0VUX0NISUxEX1JFTU9WRUQnLFxyXG4gIFRZUEVfVVBEQVRFRCA9ICdUWVBFX1VQREFURUQnLFxyXG4gIERBVEVfRU5EX1VQREFURUQgPSAnREFURV9FTkRfVVBEQVRFRCcsXHJcbiAgREFURV9TVEFSVF9VUERBVEVEID0gJ0RBVEVfU1RBUlRfVVBEQVRFRCcsXHJcbiAgUE9TSVRJT05fU0VUID0gJ1BPU0lUSU9OX1NFVCcsXHJcbiAgUE9TSVRJT05fVVBEQVRFRCA9ICdQT1NJVElPTl9VUERBVEVEJyxcclxuICBQT1NJVElPTl9SRU1PVkVEID0gJ1BPU0lUSU9OX1JFTU9WRUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQYXltZW50U3RhdHVzIHtcclxuICBVTlBBSUQgPSAnVU5QQUlEJyxcclxuICBQQUlEID0gJ1BBSUQnLFxyXG4gIFBFTkRJTkcgPSAnUEVORElORycsXHJcbiAgRVJST1IgPSAnRVJST1InLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBDb21tZW50VHlwZSB7XHJcbiAgTUVBU1VSRSA9ICdNRUFTVVJFJyxcclxuICBWSURFTyA9ICdWSURFTycsXHJcbiAgRE9DVU1FTlQgPSAnRE9DVU1FTlQnLFxyXG4gIElNQUdFID0gJ0lNQUdFJyxcclxuICBURVhUID0gJ1RFWFQnLFxyXG4gIEFVRElPID0gJ0FVRElPJyxcclxuICBVUkwgPSAnVVJMJyxcclxuICBZT1VUVUJFID0gJ1lPVVRVQkUnLFxyXG4gIFVSTF9TSE9QID0gJ1VSTF9TSE9QJyxcclxuICBFTUJFRCA9ICdFTUJFRCcsXHJcbiAgSUZSQU1FID0gJ0lGUkFNRScsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN0YXR1c0VxdWlwbWVudCB7XHJcbiAgVE9fU0VUVVAgPSAnVE9fU0VUVVAnLFxyXG4gIEJST0tFTiA9ICdCUk9LRU4nLFxyXG4gIFVOSU5TVEFMTEVEID0gJ1VOSU5TVEFMTEVEJyxcclxuICBJTkNJREVOVCA9ICdJTkNJREVOVCcsXHJcbiAgSU5fT1BFUkFUSU9OID0gJ0lOX09QRVJBVElPTicsXHJcbiAgV0FJVElOR19GT1JfUkVQQUlSID0gJ1dBSVRJTkdfRk9SX1JFUEFJUicsXHJcbiAgREVMRVRFRCA9ICdERUxFVEVEJyxcclxuICBPVVRfT0ZfT1JERVIgPSAnT1VUX09GX09SREVSJyxcclxuICBUT19CRV9SRVBMQUNFRCA9ICdUT19CRV9SRVBMQUNFRCcsXHJcbn1cclxuXHJcbi8qKiBJbnRlcmZhY2UgZm9yIFVwZGF0ZSAob25seSBpZCBpcyByZXF1aXJlZCkgKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVXBkYXRlIHtcclxuICBpZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBBV1NUeXBlID0ge1xyXG4gIF9fdHlwZW5hbWU/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/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1ldGFkYXRhPzogc3RyaW5nIHwgbnVsbDtcclxuICBtYXR0ZXJwb3J0U3dlZXBJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdHlwZT86IFBvaVR5cGUgfCBudWxsO1xyXG4gIGVsZW1lbnRJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdmlydHVhbD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIHhSb3RhdGlvbj86IG51bWJlciB8IG51bGw7XHJcbiAgeVJvdGF0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgZW51bSBWaWV3ZXJJbnRlcmFjdGlvbnMge1xyXG4gIERFRkFVTFQgPSAwLFxyXG4gIEFERElORyxcclxuICBQT1NJVElPTklORyxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTWlzc2lvbiA9IHtcclxuICB1c2VySUQ6IHN0cmluZztcclxuICByb2xlPzogUm9sZVN0YXR1cyB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZztcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBsZXZlbD86IExldmVsU3RhdHVzIHwgbnVsbDtcclxuICBvcmRlcmVkT3JnYW5pc2F0aW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHpvbmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgZ3JvdXBzPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIGVtYWlsU3RhdHVzPzogRW1haWxTdGF0dXMgfCBudWxsO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgZGVsZXRlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBhc3NpZ25tZW50cz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxBZmZlY3RhdGlvbkNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxBZmZlY3RhdGlvbiB8IG51bGw+IHwgbnVsbDtcclxuICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgfTtcclxuICBvcmdhbmlzYXRpb24/OiBPcmdhbmlzYXRpb24gfCBudWxsO1xyXG4gIG9yZGVyZWRPcmdhbmlzYXRpb24/OiBPcmdhbmlzYXRpb24gfCBudWxsO1xyXG4gIHVzZXI/OiBQcm9maWxlIHwgbnVsbDtcclxuICBkb21haW5zPzogc3RyaW5nW10gfCBudWxsO1xyXG4gIC8vIGRvbWFpbk9iamVjdHM/OiBEb21haW5bXSB8IG51bGw7XHJcbiAgc3BhY2U/OiBTcGFjZSB8IG51bGw7XHJcbiAgem9uZT86IFpvbmUgfCBudWxsO1xyXG4gIHN0YXJ0RGF0ZVRpbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGVuZERhdGVUaW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBoYXNodGFncz86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICB0ZW1wbGF0ZU1pc3Npb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgdGVtcGxhdGVNaXNzaW9uPzogVmlzaXRUZW1wbGF0ZSB8IG51bGw7XHJcbiAgbG9jYWxlPzogTG9jYWxlIHwgbnVsbDtcclxuICBpc0luV2FpdGluZ1Jvb20/OiBib29sZWFuIHwgbnVsbDtcclxuICBibG9ja2VkSW5DaGF0PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgY29ubmVjdGVkVG9MaXZlQXQ/OiBzdHJpbmdbXSB8IG51bGw7XHJcbiAgZGlzY29ubmVjdGVkRnJvbUxpdmVBdD86IHN0cmluZ1tdIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBBZmZlY3RhdGlvbiA9IHtcclxuICBtaXNzaW9uPzogTWlzc2lvbiB8IG51bGw7XHJcbiAgZ3JvdXA6IHN0cmluZztcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgZGVsZXRlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxuICBtaXNzaW9uSUQ6IHN0cmluZztcclxuICB0aWNrZXRJRDogc3RyaW5nO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIE1lZGlhQ29udGVudCA9IHtcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIHNob3dJblRhZz86IGJvb2xlYW47XHJcbiAgdHlwZT86IENvbW1lbnRUeXBlO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29tbWVudCA9IHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRpY2tldD86IFRpY2tldCB8IG51bGw7XHJcbiAgb3duZXJJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgb3duZXI/OiBNaXNzaW9uIHwgbnVsbDtcclxuICBhbm5leGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRpY2tldElEPzogc3RyaW5nIHwgbnVsbDtcclxuICB0eXBlPzogQ29tbWVudFR5cGUgfCBudWxsO1xyXG4gIGRpbWVuc2lvbnM/OiBBcnJheTxudW1iZXIgfCBudWxsPiB8IG51bGw7XHJcbiAgZmVhdHVyZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBpc0NvdmVySW1hZ2U/OiBib29sZWFuIHwgbnVsbDtcclxuICBpbmRleD86IG51bWJlciB8IG51bGw7XHJcbiAgc2hvd25JblRhZz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGV4dGVybmFsTGluaz86IHN0cmluZyB8IG51bGw7XHJcbn0gJiBBV1NUeXBlICZcclxuICBEYk9iamVjdFR5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBab25lID0ge1xyXG4gIHN3ZWVwSURzPzogc3RyaW5nW10gfCBudWxsO1xyXG4gIGxheWVySUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNvZGVfcmVmPzogc3RyaW5nIHwgbnVsbDtcclxuICBsYXllcj86IExheWVyIHwgbnVsbDtcclxuICBwYXJlbnQ/OiBab25lIHwgbnVsbDtcclxuICB2aXJ0dWFsPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRhZ3M/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgcGFyZW50SUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNwYWNlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNwYWNlPzogU3BhY2UgfCBudWxsO1xyXG4gIGlzTXVzZXVtVmlzaXRab25lPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgbm9kZUlEcz86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBzdXJmYWNlPzogbnVtYmVyIHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNNdWx0aXBsZUZsb29yWm9uZT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGF1ZGlvSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGF1ZGlvPzogQ29tbWVudCB8IG51bGw7XHJcbiAgc3RhcnRTd2VlcElEPzogc3RyaW5nIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBMYXllciA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZmlsZSA9IHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgdXNlcklEOiBzdHJpbmc7XHJcbiAgYXZhdGFyPzogc3RyaW5nIHwgbnVsbDtcclxuICB0b2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgdG9rZW5FeHBpcmVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHN0YXR1cz86IFByb2ZpbGVTdGF0dXMgfCBudWxsO1xyXG4gIG1ldGFkYXRhPzogc3RyaW5nIHwgbnVsbDtcclxuICBsYXN0Q29ubmVjdGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHBzZXVkbz86IHN0cmluZyB8IG51bGw7XHJcbiAgZGVsZXRlZEF0PzogbnVtYmVyIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZUVudGl0eSBpbXBsZW1lbnRzIFByb2ZpbGUge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgdXNlcklEOiBzdHJpbmc7XHJcblxyXG4gIGF2YXRhcj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIHRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgdG9rZW5FeHBpcmVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG5cclxuICBzdGF0dXM/OiBQcm9maWxlU3RhdHVzIHwgbnVsbDtcclxuXHJcbiAgY3JlYXRlZEF0Pzogc3RyaW5nO1xyXG5cclxuICB1cGRhdGVkQXQ/OiBzdHJpbmc7XHJcblxyXG4gIGZpcnN0TmFtZTogc3RyaW5nO1xyXG5cclxuICBsYXN0TmFtZTogc3RyaW5nO1xyXG5cclxuICBlbWFpbDogc3RyaW5nO1xyXG5cclxuICBwaG9uZTogc3RyaW5nO1xyXG5cclxuICBwc2V1ZG86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8UHJvZmlsZT4pIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XHJcbiAgICB0aGlzLm1ldGFkYXRhID0gaW5pdC5tZXRhZGF0YTtcclxuICB9XHJcblxyXG4gIGdldCBtZXRhZGF0YSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgZmlyc3ROYW1lOiB0aGlzLmZpcnN0TmFtZSxcclxuICAgICAgbGFzdE5hbWU6IHRoaXMubGFzdE5hbWUsXHJcbiAgICAgIGVtYWlsOiB0aGlzLmVtYWlsLFxyXG4gICAgICBwaG9uZTogdGhpcy5waG9uZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0IG1ldGFkYXRhKG06IHN0cmluZykge1xyXG4gICAgY29uc3QgZCA9IEpTT04ucGFyc2UobSk7XHJcbiAgICBpZiAoZCkge1xyXG4gICAgICB0aGlzLmZpcnN0TmFtZSA9IGQuZmlyc3ROYW1lO1xyXG4gICAgICB0aGlzLmxhc3ROYW1lID0gZC5sYXN0TmFtZTtcclxuICAgICAgdGhpcy5lbWFpbCA9IGQuZW1haWw7XHJcbiAgICAgIHRoaXMucGhvbmUgPSBkLnBob25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGRpc3BsYXlOYW1lKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5wc2V1ZG8pIHtcclxuICAgICAgcmV0dXJuIHRoaXMucHNldWRvO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubGFzdE5hbWUubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gYCR7dGhpcy5maXJzdE5hbWV9ICR7dGhpcy5sYXN0TmFtZX1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZW1haWw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcmdhbmlzYXRpb24gPSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHNpcmV0Pzogc3RyaW5nIHwgbnVsbDtcclxuICBhZGRyZXNzPzogc3RyaW5nIHwgbnVsbDtcclxuICBjaXR5Pzogc3RyaW5nIHwgbnVsbDtcclxuICBwb3N0YWw/OiBudW1iZXIgfCBudWxsO1xyXG4gIGxvZ29Vcmw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG9yaWdpbkRhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgc2hhcmVUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgdG9rZW5FeHBpcmVzQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIGNvbm5lY3RlZEFjY291bnRTdHJpcGVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgc3RyaXBlT25Cb2FyZGluZ0NvbXBsZXRlZD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIHN0cmlwZVRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICBzdHJpcGVDaGFyZ2VzRW5hYmxlZD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGNvbnRhY3REZXRhaWxzPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRPcmdhbmlzYXRpb25zSWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIC8vIHByb3BlcnRpZXM/OiB7XHJcbiAgLy8gICAgIF9fdHlwZW5hbWU/OiBcIk1vZGVsUHJvcGVydHlDb25uZWN0aW9uXCI7XHJcbiAgLy8gICAgIGl0ZW1zPzogQXJyYXk8UHJvcGVydHkgfCBudWxsPiB8IG51bGw7XHJcbiAgLy8gICAgIG5leHRUb2tlbj86IHN0cmluZyB8IG51bGw7XHJcbiAgLy8gfSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvcGVydHkgPSB7XHJcbiAgdHlwZTogUHJvcGVydHlUeXBlO1xyXG4gIGRlbGV0ZWRBdD86IG51bWJlciB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZztcclxuICBzcGFjZUlEOiBzdHJpbmc7XHJcbiAgem9uZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZT86IFNwYWNlIHwgbnVsbDtcclxuICBvcmdhbmlzYXRpb24/OiBPcmdhbmlzYXRpb24gfCBudWxsO1xyXG4gIC8vIHpvbmU/OiBab25lIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBTcGFjZSA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgYWRkcmVzc2VzPzogc3RyaW5nIHwgbnVsbDtcclxuICBhbm5leGVzPzogc3RyaW5nIHwgbnVsbDtcclxuICB0YWdzPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIGxhdGl0dWRlPzogbnVtYmVyIHwgbnVsbDtcclxuICBsb25naXR1ZGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIG1ldGFkYXRhPzogc3RyaW5nIHwgbnVsbDtcclxuICBsZXZlbD86IExldmVsU3RhdHVzIHwgbnVsbDtcclxuICBkZWxldGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIGNvbnN0cnVjdGlvblllYXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNsYXNzRW5lcmd5Q29uc3VtcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNsYXNzR2VzPzogc3RyaW5nIHwgbnVsbDtcclxuICBzdGF0dXM/OiBTcGFjZVN0YXR1cyB8IG51bGw7XHJcbiAgZ3Vlc3RMaW5rPzogc3RyaW5nIHwgbnVsbDtcclxuICBzaWduZWRJbWFnZVVybD86IHN0cmluZyB8IG51bGw7XHJcbiAgem9uZXM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsWm9uZUNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxab25lIHwgbnVsbD4gfCBudWxsO1xyXG4gICAgbmV4dFRva2VuPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIHByb3BlcnRpZXM/OiB7XHJcbiAgICBfX3R5cGVuYW1lPzogJ01vZGVsUHJvcGVydHlDb25uZWN0aW9uJztcclxuICAgIGl0ZW1zPzogQXJyYXk8UHJvcGVydHkgfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbiAgdmlzaXRzPzogVmlzaXRbXSB8IG51bGw7XHJcbiAgb3JnYW5pc2F0aW9uSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbj86IE9yZ2FuaXNhdGlvbiB8IG51bGw7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGF0dGFjaG1lbnRzPzogQ29tbWVudFtdIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG4vLyBub3QgaW4gREJcclxuZXhwb3J0IHR5cGUgVmlzaXQgPSB7XHJcbiAgY2FwdHVyZUlEOiBzdHJpbmc7XHJcbiAgbW9kZWwzZDogc3RyaW5nO1xyXG4gIHRha2VuQXQ6IG51bWJlcjtcclxuICBzcGFjZUlEOiBzdHJpbmc7XHJcbiAgdmlld2VyOiBDYXB0dXJlVmlld2VyO1xyXG4gIHN1cmZhY2U6IG51bWJlcjtcclxuICBub2RlOiBOb2RlO1xyXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG5tYkltYWdlc0ltcG9ydGVkOiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBIYXNodGFnID0ge1xyXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG9yZ2FuaXNhdGlvbklEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmdhbml6YXRpb24/OiBPcmdhbmlzYXRpb24gfCBudWxsO1xyXG4gIHNwYWNlPzogU3BhY2UgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIENhcHR1cmUgPSB7XHJcbiAgLy8gY2xpZW50UmVmPzogc3RyaW5nIHwgbnVsbDtcclxuICAvLyBvcmlnaW5Db29yZGluYXRlPzogc3RyaW5nIHwgbnVsbDtcclxuICAvLyBvcmlnaW5BbmdsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgLy8gb3JpZ2luWm9vbT86IHN0cmluZyB8IG51bGw7XHJcbiAgdGFrZW5BdD86IG51bWJlciB8IG51bGw7XHJcbiAgdmlld2VyPzogQ2FwdHVyZVZpZXdlciB8IG51bGw7XHJcbiAgcHVibGlzaGVkQXQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHN1cmZhY2U/OiBudW1iZXIgfCBudWxsO1xyXG4gIG1ldGFkYXRhPzogc3RyaW5nIHwgbnVsbDtcclxuICBzcGFjZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBub2Rlcz86IHtcclxuICAgIF9fdHlwZW5hbWU/OiAnTW9kZWxOb2RlQ29ubmVjdGlvbic7XHJcbiAgICBpdGVtcz86IEFycmF5PE5vZGUgfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcclxuICBtb2RlbDNEPzogc3RyaW5nIHwgbnVsbDtcclxuICBjb29yZGluYXRlPzogc3RyaW5nIHwgbnVsbDtcclxuICBzaXplPzogc3RyaW5nIHwgbnVsbDtcclxuICBzY2FsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgdmVyc2lvbj86IG51bWJlciB8IG51bGw7XHJcbiAgYWN0aXZlPzogbnVtYmVyIHwgbnVsbDtcclxuICBvcmRlcj86IG51bWJlciB8IG51bGw7XHJcbiAgLy8gcXVhbGl0eT86IE5vZGVRdWFsaXR5IHwgbnVsbDtcclxuICBtZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgY2FwdHVyZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBpbnZlbnRvcnlTdGF0dXM/OiBJbnZlbnRvcnlTdGF0dXMgfCBudWxsO1xyXG4gIG5hdmlnYXRpb25Gb3JJbnZlbnRvcnk/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNhcHR1cmU/OiBDYXB0dXJlIHwgbnVsbDtcclxufSAmIEFXU1R5cGU7XHJcblxyXG5leHBvcnQgdHlwZSBQbGFuID0ge1xyXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGFubmV4ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgY2FsaWJyYXRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHpvbmVJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNDdXJyZW50Rm9yWm9uZT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIHNwYWNlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGlzTW9kaWZpZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc0ltcG9ydGVkTWF0dGVycG9ydD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGZpbGVwYXRoPzogc3RyaW5nO1xyXG4gIG1vZGVsM2Q/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGZsb29yPzogc3RyaW5nIHwgbnVsbDtcclxuICB2aXNpdE5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHpvbmU/OiBab25lIHwgbnVsbDtcclxuICBleHRlbnNpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG5hdmlnYXRpb25JRHM/OiBzdHJpbmdbXSB8IG51bGw7XHJcbn0gJiBBV1NUeXBlO1xyXG5cclxuZXhwb3J0IHR5cGUgTmF2aWdhdGlvbiA9IHtcclxuICBtYXR0ZXJwb3J0U3dlZXBJRD86IHN0cmluZyB8IG51bGw7XHJcbiAgcG9zaXRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHJvdGF0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICByYWRpdXM/OiBudW1iZXIgfCBudWxsO1xyXG4gIHVybD86IHN0cmluZyB8IG51bGw7XHJcbiAgdGFncz86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBsZXZlbD86IExldmVsU3RhdHVzIHwgbnVsbDtcclxuICBub2RlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNwYWNlSUQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHBvc2l0aW9uT25QbGFuPzogQXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBudWxsO1xyXG4gIG5hdmlnYXRpb25TaWJsaW5nc0lkPzogc3RyaW5nIHwgbnVsbDtcclxuICBwb2lzPzoge1xyXG4gICAgX190eXBlbmFtZT86ICdNb2RlbFBPSUNvbm5lY3Rpb24nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxQT0kgfCBudWxsPiB8IG51bGw7XHJcbiAgICBuZXh0VG9rZW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH07XHJcbiAgbm9kZT86IE5vZGUgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCB0eXBlIE1lbnVJdGVtID0geyBsYWJlbDogc3RyaW5nOyB1cmw/OiBzdHJpbmc7IGJhY2s/OiBhbnkgfTtcclxuXHJcbi8vIG5vdCBpbiBkYlxyXG5leHBvcnQgdHlwZSBNZWFzdXJlbWVudCA9IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHBvaTogUE9JO1xyXG4gIGNvbW1lbnQ6IENvbW1lbnQ7XHJcbiAgc2luZ2VkVXJsUGhvdG8/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHZhbHVlczogQXJyYXk8bnVtYmVyPiB8IG51bGw7XHJcbiAgbnVtYmVyUG9pbnRzOiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGZWF0dXJlID0ge1xyXG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxuICBzaG9ydERlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBvd25lck1pc3Npb25JRD86IHN0cmluZyB8IG51bGw7XHJcbiAgbGV2ZWw/OiBMZXZlbFN0YXR1cyB8IG51bGw7XHJcbiAgaW5kZXg/OiBudW1iZXIgfCBudWxsO1xyXG4gIHR5cGU/OiBGZWF0dXJlVHlwZSB8IG51bGw7XHJcbiAgYXJjaGl2ZWRGb3JNaXNzaW9uSUQ/OiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IG51bGw7XHJcbiAgc3RyaXBlUHJvZHVjdElEPzogc3RyaW5nIHwgbnVsbDtcclxuICBzdHJpcGVQcmljZUlEPzogc3RyaW5nIHwgbnVsbDtcclxuICBib29raW5nUHJpY2VNZXRhZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbiAgbG9jYWxlPzogTG9jYWxlIHwgbnVsbDtcclxuICBoYXNodGFncz86IEFycmF5PHN0cmluZyB8IG51bGw+IHwgbnVsbDtcclxuICBjb3ZlckltYWdlVXJsPzogc3RyaW5nIHwgbnVsbDtcclxuICBpbWFnZXM/OiBBcnJheTxNZWRpYUNvbnRlbnQ+IHwgbnVsbDtcclxuICB2aWRlb3M/OiBBcnJheTxNZWRpYUNvbnRlbnQ+IHwgbnVsbDtcclxuICBhdWRpb3M/OiBBcnJheTxNZWRpYUNvbnRlbnQ+IHwgbnVsbDtcclxuICBleHRlcm5hbExpbmtzPzogQXJyYXk8TWVkaWFDb250ZW50PiB8IG51bGw7XHJcbiAgZG9jdW1lbnRzPzogQXJyYXk8e1xyXG4gICAgcGF0aDogc3RyaW5nO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgfT4gfCBudWxsO1xyXG4gIGVtYmVkcz86IEFycmF5PE1lZGlhQ29udGVudD4gfCBudWxsO1xyXG4gIGlmcmFtZXM/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/OiBzdHJpbmcgfCBudWxsO1xyXG4gIH0gfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCBlbnVtIFNwTW9kdWxlIHtcclxuICBNVVNFVU0gPSAnTVVTRVVNJyxcclxuICBIT1RFTCA9ICdIT1RFTCcsXHJcbiAgSU1NTyA9ICdJTU1PJyxcclxufVxyXG5cclxuLyoqXHJcbiAqIFRocmVlSlMgb2JqZWN0M0RcclxuICovXHJcbmV4cG9ydCB0eXBlIElPYmplY3QzRCA9IHtcclxuICBpZD86IHN0cmluZzsgLy8gdXNlZCB0byByZXBsYWNlIHRocmVlSlMgdXVpZFxyXG4gIG9iamVjdDogc3RyaW5nO1xyXG4gIGZvcm1hdDogc3RyaW5nO1xyXG4gIG1vZGU6IHN0cmluZztcclxuICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyOyB9O1xyXG4gIHJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XHJcbiAgc2NhbGU6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlcjsgfTtcclxuICB2aWV3RnJ1c3R1bTogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBEeW5hbW9EYiBvYmplY3QzRFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgT2JqZWN0M0QgPSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgczNCdWNrZXQ6IGJvb2xlYW47XHJcbiAgcG9zaXRpb246IG51bWJlcltdO1xyXG4gIHJvdGF0aW9uOiBudW1iZXJbXTtcclxuICBzY2FsZTogbnVtYmVyW107XHJcbiAgc3BhY2VJRDogc3RyaW5nO1xyXG4gIHZpZXdGcnVzdHVtOiBib29sZWFuO1xyXG4gIHBvaXM6IHsgaXRlbXM6IFBPSVtdIH07XHJcbiAgLy8gTm90IHVzZWQgeWV0XHJcbiAgLy8gZG9tYWluOiBEb21haW4gfCBudWxsO1xyXG4gIC8vIGRvbWFpbklEOiBzdHJpbmcgfCBudWxsO1xyXG59ICYgQVdTVHlwZTtcclxuXHJcbmV4cG9ydCBlbnVtIE1hdHRlcnBvcnRWaWV3VHlwZSB7XHJcbiAgQkFTRSA9ICd2aWV3dHlwZS5iYXNlJyxcclxuICBERUZVUk5JU0ggPSAndmlld3R5cGUuZGVmdXJuaXNoJyxcclxuICBMQVlFUkVEX0JBU0UgPSAndmlld3R5cGUubGF5ZXJlZGJhc2UnLFxyXG4gIE9USEVSID0gJ3ZpZXd0eXBlLm90aGVyJyxcclxuICBVU0VSID0gJ3ZpZXd0eXBlLnVzZXInLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1hdHRlcnBvcnRWaWV3IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgdHlwZTogTWF0dGVycG9ydFZpZXdUeXBlO1xyXG4gIHNldEFjdGl2ZShyZXR1cm5Ub1N0YXJ0PzogYm9vbGVhbik6IFByb21pc2U8dm9pZD47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1hdHRlcnBvcnRWaWV3Q29sbGVjdGlvbiA9IFJlY29yZDxzdHJpbmcsIE1hdHRlcnBvcnRWaWV3PjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWF0dGVycG9ydFN1YnNjcmlwdGlvbiB7XHJcbiAgY2FuY2VsKCk6IHZvaWQ7XHJcbn0iXX0=