@uiapplib/ngx-ui-web-lib 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +10 -10
- package/esm2022/lib/models/LibConstants.mjs +4 -9
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -4
- package/esm2022/lib/services/login/login.service.mjs +5 -7
- package/fesm2022/uiapplib-ngx-ui-web-lib.mjs +17 -26
- package/fesm2022/uiapplib-ngx-ui-web-lib.mjs.map +1 -1
- package/lib/models/LibConstants.d.ts +1 -4
- package/lib/models/LibConstants.d.ts.map +1 -1
- package/lib/services/chatbot/chatbot.service.d.ts.map +1 -1
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,15 +28,15 @@ export class HttpHeaderInterceptor {
|
|
|
28
28
|
.append('Authorization', `Bearer ${currentUser.access_token}`)
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
/*if(!(currentUser && currentUser.username) && (request.url.includes("/oauth/token") || request.url.includes('/check_token')) ){
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
/* if(!(currentUser && currentUser.username) && (request.url.includes("/oauth/token") || request.url.includes('/check_token')) ){
|
|
32
|
+
if(!request.headers.get('Authorization')){
|
|
33
|
+
request = request.clone({
|
|
34
|
+
withCredentials: false,
|
|
35
|
+
headers: request.headers
|
|
36
|
+
.append('Authorization', `Basic ` + btoa(`${LibConstants.oauthClientUser}:${LibConstants.oauthClientSecret}`))
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}*/
|
|
40
40
|
let value = localStorage.getItem('language');
|
|
41
41
|
let language = value != null ? value : 'en';
|
|
42
42
|
request = request.clone({
|
|
@@ -95,4 +95,4 @@ export class HttpHeaderInterceptor {
|
|
|
95
95
|
providedIn: 'root'
|
|
96
96
|
}]
|
|
97
97
|
}], () => [{ type: i1.LoginService }, { type: i2.UtilService }, { type: i3.LoggerService }, { type: i4.CaptchaService }, { type: i5.FingerprintService }, { type: i6.ClaimantContextService }], null); })();
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oZWFkZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2ludGVyY2VwdG9ycy9oZWFkZXItaW50ZXJjZXB0b3IvaHR0cC1oZWFkZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFlM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUFtQixZQUEyQixFQUFTLElBQWlCLEVBQVUsTUFBcUIsRUFDbkYsY0FBOEIsRUFBVSxrQkFBc0MsRUFBVSxzQkFBOEM7UUFEdkksaUJBQVksR0FBWixZQUFZLENBQWU7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNuRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVUsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtJQUUxSixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHdEQUF3RCxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25GLHlCQUF5QjtRQUN6QixJQUFJLFdBQVcsR0FBZSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFELElBQUksV0FBVyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQ3BDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLE1B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QzFFLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUN0QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87cUJBQ2pCLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDL0UsQ0FBQyxDQUFDO1NBQ047UUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztzRkFyRlUscUJBQXFCO3VFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCLG1CQUZwQixNQUFNOztpRkFFUCxxQkFBcUI7Y0FIakMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXB0Y2hhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbmdlcnByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZwanMvZmluZ2VycHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDbGFpbWFudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtY29udGV4dC9jbGFpbWFudC1jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIdHRwSGVhZGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3J7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxvZ2luU2VydmljZSA6IExvZ2luU2VydmljZSwgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSwgXG4gICAgICAgICAgICAgIHByaXZhdGUgY2FwdGNoYVNlcnZpY2U6IENhcHRjaGFTZXJ2aWNlLCBwcml2YXRlIGZpbmdlcnByaW50U2VydmljZTogRmluZ2VycHJpbnRTZXJ2aWNlLCBwcml2YXRlIGNsYWltYW50Q29udGV4dFNlcnZpY2U6IENsYWltYW50Q29udGV4dFNlcnZpY2UpIHsgXG5cbiAgfVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAvLyBhZGQgYXV0aG9yaXphdGlvbiBoZWFkZXIgd2l0aCBqd3QgdG9rZW4gaWYgYXZhaWxhYmxlXG4gICAgdGhpcy5sb2dnZXIubG9nKCdbSHR0cEhlYWRlckludGVyY2VwdG9yXSBJbnNpZGUgSW50ZXJjZXB0b3IgYmVmb3JlIC0tPiAnLCByZXF1ZXN0KTtcbiAgICAvL3RoaXMudXRpbC5zaG93TG9hZGVyKCk7XG4gICAgbGV0IGN1cnJlbnRVc2VyIDogVXNlck1vZGVsID0gdGhpcy5sb2dpblNlcnZpY2UuZ2V0VXNlcigpO1xuICAgIGlmIChjdXJyZW50VXNlciAmJiAhKHJlcXVlc3QudXJsLmluY2x1ZGVzKFwiL29hdXRoL3Rva2VuXCIpIHx8IFxuICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJsLmluY2x1ZGVzKCcvY2hlY2tfdG9rZW4nKSB8fCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAocmVxdWVzdC51cmwuaW5jbHVkZXMoJy90cmVuZHMnKSAmJiByZXF1ZXN0Lm1ldGhvZC50b0xvY2FsZUxvd2VyQ2FzZSgpID09ICdnZXQnKSkpIHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAuYXBwZW5kKCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke2N1cnJlbnRVc2VyLmFjY2Vzc190b2tlbn1gKVxuICAgICAgfSk7XG4gICAgfVxuICAgLyogaWYoIShjdXJyZW50VXNlciAmJiBjdXJyZW50VXNlci51c2VybmFtZSkgJiYgKHJlcXVlc3QudXJsLmluY2x1ZGVzKFwiL29hdXRoL3Rva2VuXCIpIHx8IHJlcXVlc3QudXJsLmluY2x1ZGVzKCcvY2hlY2tfdG9rZW4nKSkgKXtcbiAgICAgIGlmKCFyZXF1ZXN0LmhlYWRlcnMuZ2V0KCdBdXRob3JpemF0aW9uJykpe1xuICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBmYWxzZSxcbiAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsIGBCYXNpYyBgICsgYnRvYShgJHtMaWJDb25zdGFudHMub2F1dGhDbGllbnRVc2VyfToke0xpYkNvbnN0YW50cy5vYXV0aENsaWVudFNlY3JldH1gKSlcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSovXG5cbiAgICAgIGxldCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpO1xuICAgICAgbGV0IGxhbmd1YWdlID0gdmFsdWUgIT0gbnVsbCA/IHZhbHVlIDogJ2VuJztcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLmFwcGVuZCgnQWNjZXB0LUxhbmd1YWdlJywgbGFuZ3VhZ2UpXG4gICAgICB9KTtcbiAgXG4gICAgICBpZih0aGlzLmZpbmdlcnByaW50U2VydmljZS5nZXRCcm93c2VyRmluZ2VycHJpbnQoKSl7XG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnNcbiAgICAgICAgICAgICAgICAuYXBwZW5kKCdYLUN1c3RvbS1GaW5nZXJwcmludCcsIHRoaXMuZmluZ2VycHJpbnRTZXJ2aWNlLmdldEJyb3dzZXJGaW5nZXJwcmludCgpKVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICBcbiAgICAgIGlmKHRoaXMuZmluZ2VycHJpbnRTZXJ2aWNlLmdldFJlcXVlc3RJZCgpKXtcbiAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVyc1xuICAgICAgICAgICAgICAgIC5hcHBlbmQoJ1gtQ3VzdG9tLUlQUVMtUmVxdWVzdElkJywgdGhpcy5maW5nZXJwcmludFNlcnZpY2UuZ2V0UmVxdWVzdElkKCkpXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmKHRoaXMuY2FwdGNoYVNlcnZpY2UuZ2V0Q2FwdGNoYSgpKXtcbiAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVyc1xuICAgICAgICAgICAgICAgIC5hcHBlbmQoJ1gtQ3VzdG9tLUNhcHRjaGEnLCB0aGlzLmNhcHRjaGFTZXJ2aWNlLmdldENhcHRjaGEoKSlcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgXG4gICAgICBpZih0aGlzLmNhcHRjaGFTZXJ2aWNlLmdldEludmlzaWJlbENhcHRjaGEoKSl7XG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnNcbiAgICAgICAgICAgICAgICAuYXBwZW5kKCdYLUN1c3RvbS1DYXB0Y2hhLXYzJywgdGhpcy5jYXB0Y2hhU2VydmljZS5nZXRJbnZpc2liZWxDYXB0Y2hhKCkpXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gIFxuICAgICAgaWYodGhpcy5sb2dpblNlcnZpY2UuZ2V0QXV0aGNvZGUoKSl7XG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnNcbiAgICAgICAgICAgICAgICAuYXBwZW5kKCdYLUN1c3RvbS1BdXRoY29kZScsIHRoaXMubG9naW5TZXJ2aWNlLmdldEF1dGhjb2RlKCkgKyAnJylcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgXG4gICAgICBpZih0aGlzLmxvZ2luU2VydmljZS5pc0NzcigpICYmIHRoaXMuY2xhaW1hbnRDb250ZXh0U2VydmljZS5nZXRTc24oKSl7XG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnNcbiAgICAgICAgICAgICAgICAuYXBwZW5kKCdYLUN1c3RvbS1QYXJhbS1Tb2MnLCB0aGlzLmNsYWltYW50Q29udGV4dFNlcnZpY2UuZ2V0U3NuKCkpXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gIFxuICAgICAgaWYodGhpcy5sb2dpblNlcnZpY2UuaXNDc3IoKSAmJiB0aGlzLmNsYWltYW50Q29udGV4dFNlcnZpY2UuZ2V0Q2xhaW1hbnRJZCgpKXtcbiAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVyc1xuICAgICAgICAgICAgICAgIC5hcHBlbmQoJ1gtQ3VzdG9tLVBhcmFtLUNpZCcsIHRoaXMuY2xhaW1hbnRDb250ZXh0U2VydmljZS5nZXRDbGFpbWFudElkKCkpXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICB9XG59XG4iXX0=
|
|
@@ -16,19 +16,14 @@ export const LibConstants = {
|
|
|
16
16
|
appVersion: window["env"]["appVersion"] || "localhost",
|
|
17
17
|
ssoCookieName: window["env"]["ssoCookieName"] || "SSO_COOKIE_DEV",
|
|
18
18
|
ssoDomain: window["env"]["ssoDomain"] || ".mdes.ms.gov",
|
|
19
|
-
|
|
20
|
-
//oauthClientSecret : window["env"]["oauthClientSecret"] || "pin",
|
|
21
|
-
oauthWingsClientUser: window["env"]["oauthWingsClientUser"] || "wingsuser",
|
|
22
|
-
oauthWingsClientSecret: window["env"]["oauthWingsClientSecret"] || "wingspass",
|
|
19
|
+
ocu: window["env"]["ocu"] || "mobile",
|
|
23
20
|
enableChatbot: window["env"]["enableChatbot"] || 'true',
|
|
24
21
|
enableLanguageChange: window["env"]["enableLanguageChange"] || 'false',
|
|
25
22
|
PhaseTwoProofOfUIView: window["env"]["PhaseTwoProofOfUIView"] || 'false',
|
|
26
23
|
koreAiWebSdkUrl: window["env"]["koreAiWebSdkUrl"] || "http://localhost:8080",
|
|
27
|
-
koreAiJwtService: window["env"]["koreAiJwtService"] || "http://localhost:
|
|
24
|
+
koreAiJwtService: window["env"]["koreAiJwtService"] || "http://localhost:9016/jwt-service/users/sts",
|
|
28
25
|
koreAiChatbotServer: window["env"]["koreAiChatbotServer"] || "http://stchatbot.mdes.ms.gov:8081/api/",
|
|
29
|
-
|
|
30
|
-
koreAiClientSecret: window["env"]["koreAiClientSecret"] || "+Y10D8ys3jO+espPHarfGP2CbtFHELYvRCZkzs/yZMk=",
|
|
31
|
-
koreAiBotId: window["env"]["koreAiBotId"] || "st-1c88bdf7-ae3c-5f33-8120-1a838c1abbb1",
|
|
26
|
+
koreAiBotId: window["env"]["koreAiBotId"] || "st-3b7b7689-b7ed-528f-bfa2-207ac20c42fe",
|
|
32
27
|
koreAiBotName: window["env"]["koreAiBotName"] || "ReEmployMSChat",
|
|
33
28
|
isAddressValidationEnabled: window["env"]["isAddressValidationEnabled"] || "false",
|
|
34
29
|
blankString: '',
|
|
@@ -168,4 +163,4 @@ export function getBaseUrl() {
|
|
|
168
163
|
LibConstants.colon +
|
|
169
164
|
LibConstants.port;
|
|
170
165
|
}
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGliQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9tb2RlbHMvTGliQ29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUs7SUFDaEQsUUFBUSxFQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSyxNQUFNO0lBQy9DLElBQUksRUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUssV0FBVztJQUM1QyxJQUFJLEVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU07SUFDdEMsT0FBTyxFQUFHLGtCQUFrQjtJQUM1QixLQUFLLEVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVM7SUFDM0MsS0FBSyxFQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTO0lBQzNDLFdBQVcsRUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksU0FBUztJQUN2RCxtQkFBbUIsRUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBSSxTQUFTO0lBQ3ZFLFVBQVUsRUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksU0FBUztJQUNyRCxNQUFNLEVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVM7SUFDN0MsY0FBYyxFQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLFNBQVM7SUFDN0Qs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TUFBTTtJQUMxRyxlQUFlLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksT0FBTztJQUM1RCxxQkFBcUIsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsdUJBQXVCLENBQUMsSUFBSSxJQUFJO0lBQ3JFLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLElBQUk7SUFDdEUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxvQkFBb0I7SUFDcEUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxrQ0FBa0M7SUFDakYsZUFBZSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLG1FQUFtRTtJQUN4SCxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLDRDQUE0QztDQUN0RixDQUFBO0FBRUQsTUFBTSxVQUFVLFVBQVU7SUFDdEIsT0FBTyxZQUFZLENBQUMsUUFBUTtRQUNyQixZQUFZLENBQUMsS0FBSztRQUNsQixZQUFZLENBQUMsa0JBQWtCO1FBQy9CLFlBQVksQ0FBQyxJQUFJO1FBQ2pCLFlBQVksQ0FBQyxLQUFLO1FBQ2xCLFlBQVksQ0FBQyxJQUFJLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBMaWJDb25zdGFudHMgPSB7XG4gICAgcHJvZHVjdGlvbjogd2luZG93W1wiZW52XCJdW1wicHJvZHVjdGlvblwiXSB8fCBmYWxzZSxcbiAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICBob3N0IDogd2luZG93W1wiZW52XCJdW1wiaG9zdFwiXSB8fCAgXCJsb2NhbGhvc3RcIixcbiAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwMTBcIixcbiAgICBjb250ZXh0IDogXCJzZWN1cml0eS1zZXJ2aWNlXCIsXG4gICAgU1RBVEUgOiB3aW5kb3dbXCJlbnZcIl1bXCJTVEFURVwiXSB8fCBcImludmFsaWRcIixcbiAgICBzdGF0ZSA6IHdpbmRvd1tcImVudlwiXVtcInN0YXRlXCJdIHx8IFwiaW52YWxpZFwiLFxuICAgIGJlbmVmaXRzVXJsIDogd2luZG93W1wiZW52XCJdW1wiYmVuZWZpdHNVcmxcIl0gfHwgXCJpbnZhbGlkXCIsXG4gICAgYmVuZWZpdHNVcmxFeHRlcm5hbCA6IHdpbmRvd1tcImVudlwiXVtcImJlbmVmaXRzVXJsRXh0ZXJuYWxcIl0gfHwgXCJpbnZhbGlkXCIsXG4gICAgbXN3b3Jrc1VybCA6IHdpbmRvd1tcImVudlwiXVtcIm1zd29ya3NVcmxcIl0gfHwgXCJpbnZhbGlkXCIsXG4gICAgdGF4VXJsIDogd2luZG93W1wiZW52XCJdW1widGF4VXJsXCJdIHx8IFwiaW52YWxpZFwiLFxuICAgIHRheFVybEV4dGVybmFsIDogd2luZG93W1wiZW52XCJdW1widGF4VXJsRXh0ZXJuYWxcIl0gfHwgXCJpbnZhbGlkXCIsXG4gICAgY29nbm9zVXJsIDogd2luZG93W1wiZW52XCJdW1wiY29nbm9zVXJsXCJdIHx8IFwiaW52YWxpZFwiLFxuICAgIGdhSWQgOiB3aW5kb3dbXCJlbnZcIl1bXCJnYUlkXCJdIHx8IFwiVUEtMTc4NjM3OTUwLTFcIixcbiAgICBhcHBWZXJzaW9uIDogd2luZG93W1wiZW52XCJdW1wiYXBwVmVyc2lvblwiXSB8fCBcImxvY2FsaG9zdFwiLFxuICAgIHNzb0Nvb2tpZU5hbWUgOiB3aW5kb3dbXCJlbnZcIl1bXCJzc29Db29raWVOYW1lXCJdIHx8IFwiU1NPX0NPT0tJRV9ERVZcIixcbiAgICBzc29Eb21haW4gOiB3aW5kb3dbXCJlbnZcIl1bXCJzc29Eb21haW5cIl0gfHwgXCIubWRlcy5tcy5nb3ZcIixcbiAgICAvL29hdXRoQ2xpZW50VXNlciA6IHdpbmRvd1tcImVudlwiXVtcIm9hdXRoQ2xpZW50VXNlclwiXSB8fCBcIm1vYmlsZVwiLFxuICAgIC8vb2F1dGhDbGllbnRTZWNyZXQgOiB3aW5kb3dbXCJlbnZcIl1bXCJvYXV0aENsaWVudFNlY3JldFwiXSB8fCBcInBpblwiLFxuICAgIG9hdXRoV2luZ3NDbGllbnRVc2VyIDogd2luZG93W1wiZW52XCJdW1wib2F1dGhXaW5nc0NsaWVudFVzZXJcIl0gfHwgXCJ3aW5nc3VzZXJcIixcbiAgICBvYXV0aFdpbmdzQ2xpZW50U2VjcmV0IDogd2luZG93W1wiZW52XCJdW1wib2F1dGhXaW5nc0NsaWVudFNlY3JldFwiXSB8fCBcIndpbmdzcGFzc1wiLFxuICAgIGVuYWJsZUNoYXRib3Q6IHdpbmRvd1tcImVudlwiXVtcImVuYWJsZUNoYXRib3RcIl0gfHwgJ3RydWUnLFxuICAgIGVuYWJsZUxhbmd1YWdlQ2hhbmdlOiB3aW5kb3dbXCJlbnZcIl1bXCJlbmFibGVMYW5ndWFnZUNoYW5nZVwiXSB8fCAnZmFsc2UnLFxuICAgIFBoYXNlVHdvUHJvb2ZPZlVJVmlldzogd2luZG93W1wiZW52XCJdW1wiUGhhc2VUd29Qcm9vZk9mVUlWaWV3XCJdIHx8ICdmYWxzZScsXG4gICAga29yZUFpV2ViU2RrVXJsOiB3aW5kb3dbXCJlbnZcIl1bXCJrb3JlQWlXZWJTZGtVcmxcIl0gfHwgXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIixcbiAgICBrb3JlQWlKd3RTZXJ2aWNlOiB3aW5kb3dbXCJlbnZcIl1bXCJrb3JlQWlKd3RTZXJ2aWNlXCJdIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo5MDEyL2p3dC1zZXJ2aWNlL3VzZXJzL3N0c1wiLFxuICAgIGtvcmVBaUNoYXRib3RTZXJ2ZXI6IHdpbmRvd1tcImVudlwiXVtcImtvcmVBaUNoYXRib3RTZXJ2ZXJcIl0gfHwgXCJodHRwOi8vc3RjaGF0Ym90Lm1kZXMubXMuZ292OjgwODEvYXBpL1wiLFxuICAgIGtvcmVBaUNsaWVudElkOiB3aW5kb3dbXCJlbnZcIl1bXCJrb3JlQWlDbGllbnRJZFwiXSB8fCBcImNzLWZkYzk2OGM2LWViNjQtNWM5YS1hNzg0LTFkNDdkMGE2Zjk0YlwiLFxuICAgIGtvcmVBaUNsaWVudFNlY3JldDogd2luZG93W1wiZW52XCJdW1wia29yZUFpQ2xpZW50U2VjcmV0XCJdIHx8IFwiK1kxMEQ4eXMzak8rZXNwUEhhcmZHUDJDYnRGSEVMWXZSQ1prenMveVpNaz1cIixcbiAgICBrb3JlQWlCb3RJZDogd2luZG93W1wiZW52XCJdW1wia29yZUFpQm90SWRcIl0gfHwgXCJzdC0xYzg4YmRmNy1hZTNjLTVmMzMtODEyMC0xYTgzOGMxYWJiYjFcIixcbiAgICBrb3JlQWlCb3ROYW1lOiB3aW5kb3dbXCJlbnZcIl1bXCJrb3JlQWlCb3ROYW1lXCJdIHx8IFwiUmVFbXBsb3lNU0NoYXRcIixcbiAgICBpc0FkZHJlc3NWYWxpZGF0aW9uRW5hYmxlZDogd2luZG93W1wiZW52XCJdW1wiaXNBZGRyZXNzVmFsaWRhdGlvbkVuYWJsZWRcIl0gfHwgXCJmYWxzZVwiLFxuICAgIGJsYW5rU3RyaW5nIDogICcnLFxuICAgIGZvcndhcmRTbGFzaCA6ICAnLycsXG4gICAgZG91YmxlRm9yd2FyZFNsYXNoIDogICcvLycsXG4gICAgY29sb24gOiAgXCI6XCIsXG4gICAgYXBwZWFsX3NlcnZpY2UgOiB7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAyN1wiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDogXCJhcHBlYWwtc2VydmljZVwiXG4gICAgfSxcbiAgICBub3RpZmljYXRpb25fc2VydmljZSA6ICB7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAxMVwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDogXCJ1c2Vybm90aWZpY2F0aW9uLXNlcnZpY2VcIlxuICAgIH0sXG4gICAgZG1zX3NlcnZpY2UgOiB7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAxOVwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDogXCJkbXMtc2VydmljZVwiXG4gICAgfSxcbiAgICBxdWVzdGlvbm5haXJlX3NlcnZpY2UgOntcbiAgICAgIHByb3RvY29sIDogd2luZG93W1wiZW52XCJdW1wicHJvdG9jb2xcIl0gfHwgIFwiaHR0cFwiLFxuICAgICAgcG9ydCA6IHdpbmRvd1tcImVudlwiXVtcInBvcnRcIl0gfHwgXCI5MDA5XCIsXG4gICAgICBob3N0IDogd2luZG93W1wiZW52XCJdW1wiaG9zdFwiXSB8fCAgXCJsb2NhbGhvc3RcIixcbiAgICAgIGNvbnRleHQgOlwicXVlc3Rpb25uYWlyZS1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIGNsYWltc19zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAxNVwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcImNsYWltcy1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIGVtcGxveWVyX3NlcnZpY2UgOntcbiAgICAgIHByb3RvY29sIDogd2luZG93W1wiZW52XCJdW1wicHJvdG9jb2xcIl0gfHwgIFwiaHR0cFwiLFxuICAgICAgcG9ydCA6IHdpbmRvd1tcImVudlwiXVtcInBvcnRcIl0gfHwgXCI5MDIxXCIsXG4gICAgICBob3N0IDogd2luZG93W1wiZW52XCJdW1wiaG9zdFwiXSB8fCAgXCJsb2NhbGhvc3RcIixcbiAgICAgIGNvbnRleHQgOlwiZW1wbG95ZXItc2VydmljZVwiXG4gICAgfSxcbiAgICBjbGFpbWFudF9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAyM1wiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcImNsYWltYW50LXNlcnZpY2VcIlxuICAgIH0sXG4gICAgY21wX3NlcnZpY2UgOntcbiAgICAgIHByb3RvY29sIDogd2luZG93W1wiZW52XCJdW1wicHJvdG9jb2xcIl0gfHwgIFwiaHR0cFwiLFxuICAgICAgcG9ydCA6IHdpbmRvd1tcImVudlwiXVtcInBvcnRcIl0gfHwgXCI5MDUxXCIsXG4gICAgICBob3N0IDogd2luZG93W1wiZW52XCJdW1wiaG9zdFwiXSB8fCAgXCJsb2NhbGhvc3RcIixcbiAgICAgIGNvbnRleHQgOlwiY21wLXNlcnZpY2VcIlxuICAgIH0sXG4gICAgcG9sbGluZ19zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTEzNVwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcInBvbGxpbmctc2VydmljZVwiXG4gICAgfSxcbiAgICBzZWN1cml0eV9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAxMFwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcInNlY3VyaXR5LXNlcnZpY2VcIlxuICAgIH0sXG4gICAgZGFzaGJvYXJkX3NlcnZpY2UgOntcbiAgICAgIHByb3RvY29sIDogd2luZG93W1wiZW52XCJdW1wicHJvdG9jb2xcIl0gfHwgIFwiaHR0cFwiLFxuICAgICAgcG9ydCA6IHdpbmRvd1tcImVudlwiXVtcInBvcnRcIl0gfHwgXCI5MDE3XCIsXG4gICAgICBob3N0IDogd2luZG93W1wiZW52XCJdW1wiaG9zdFwiXSB8fCAgXCJsb2NhbGhvc3RcIixcbiAgICAgIGNvbnRleHQgOlwiZGFzaGJvYXJkLXNlcnZpY2VcIlxuICAgIH0sXG4gICAgY2FzZV9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTA1MlwiLCBcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6XCJjYXNlLXNlcnZpY2VcIlxuICAgIH0sXG4gICAgd2Vla2x5Y2VydF9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAxOFwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcIndlZWtseWNlcnQtc2VydmljZVwiXG4gICAgfSxcblx0XHQgICAgYmlydF9zZXJ2aWNlOntcbiAgICAgIHByb3RvY29sIDogd2luZG93W1wiZW52XCJdW1wicHJvdG9jb2xcIl0gfHxcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8XCIxMDk5OVwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgXCJsb2NhbGhvc3RcIixcbiAgICAgIGNvbnRleHQgOlwiYmlydC1zZXJ2aWNlXCJcbiAgICAgIFxuICAgIH0sXG4gICAgdGF4X2F1ZGl0X3NlcnZpY2U6e1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTA1MFwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgXCJsb2NhbGhvc3RcIixcbiAgICAgIGNvbnRleHQ6IFwidGF4LWF1ZGl0XCJcbiAgICB9LFxuICAgIGFkZHJlc3NfdmFsaWRhdGlvbl9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTEzOFwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcImFkZHJlc3MtdmFsaWRhdGlvbi1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIGV2ZW50X3NlcnZpY2UgOntcbiAgICAgIHByb3RvY29sIDogd2luZG93W1wiZW52XCJdW1wicHJvdG9jb2xcIl0gfHwgIFwiaHR0cFwiLFxuICAgICAgcG9ydCA6IHdpbmRvd1tcImVudlwiXVtcInBvcnRcIl0gfHwgXCI5MTMzXCIsXG4gICAgICBob3N0IDogd2luZG93W1wiZW52XCJdW1wiaG9zdFwiXSB8fCAgXCJsb2NhbGhvc3RcIixcbiAgICAgIGNvbnRleHQgOlwiZXZlbnQtc2VydmljZVwiXG4gICAgfSxcbiAgICBjYXB0Y2hhU2l0ZUtleTogd2luZG93W1wiZW52XCJdW1wiY2FwdGNoYVNpdGVLZXlcIl0gfHwgXCI2TGRmX2pBc0FBQUFBRHI5eFpCbTNNWUN0OHhUQXVZUFh3VHhoUjBsXCIsXG4gICAgaW52aXNpYmxlQ2FwdGNoYUtleSA6IHdpbmRvd1tcImVudlwiXVtcImludmlzaWJsZUNhcHRjaGFLZXlcIl0gfHwgXCI2TGNwX2pBc0FBQUFBRDFYeHBEQU96VDZtbTZPTG9ienVFeU9rTmVqXCIsXG4gICAgZW5hYmxlRmluZ2VycHJpbnRpbmc6IHdpbmRvd1tcImVudlwiXVtcImVuYWJsZUZpbmdlcnByaW50aW5nXCJdIHx8ICdmYWxzZScsXG4gICAgZnBqc1Rva2VuOiB3aW5kb3dbXCJlbnZcIl1bXCJmcGpzVG9rZW5cIl0gfHwgXCJtQURIUXh3MUJLV3FiTnc4anlsV1wiLFxuICAgIGxlZ2FjeU1lbnU6IHdpbmRvd1tcImVudlwiXVtcImxlZ2FjeU1lbnVcIl0gfHwgXCJmYWxzZVwiLFxuICAgIGVuYWJsZUJ0bk5hdkNTUjogd2luZG93W1wiZW52XCJdW1wiZW5hYmxlQnRuTmF2Q1NSXCJdIHx8IFwidHJ1ZVwiLFxuICAgIG1haW50ZW5hbmNlVXJsIDogd2luZG93W1wiZW52XCJdW1wibWFpbnRlbmFuY2VVcmxcIl0gfHwgKCh3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIpICsgXCI6Ly9cIiArICh3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8IFwibG9jYWxob3N0XCIpICsgXCI6XCIgKyAod2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCAgXCI5MDExXCIpICsgXCIvXCIgKyAoXCJ1c2Vybm90aWZpY2F0aW9uLXNlcnZpY2UvbWFpbnRlbmFuY2Uvc3RhdHVzXCIpKSxcbiAgICBpZGxlVGltZSA6IHdpbmRvd1tcImVudlwiXVtcImlkbGVUaW1lXCJdIHx8IDE4MCxcbiAgICB0aW1lT3V0UGVyaW9kIDogd2luZG93W1wiZW52XCJdW1widGltZU91dFBlcmlvZFwiXSB8fCAxMjAsXG4gICAgbWFpbnRlbmFuY2VNb2RlRmVhdHVyZUVuYWJsZWQgOiB3aW5kb3dbXCJlbnZcIl1bXCJtYWludGVuYW5jZU1vZGVGZWF0dXJlRW5hYmxlZFwiXSB8fCBcInRydWVcIixcbiAgICBlbmFibGVNdWx0aU1mYU9wdGlvbnMgOiB3aW5kb3dbXCJlbnZcIl1bXCJlbmFibGVNdWx0aU1mYU9wdGlvbnNcIl0gfHwgXCJ0cnVlXCIsXG4gICAgaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWQgOiB3aW5kb3dbXCJlbnZcIl1bXCJpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZFwiXSB8fCBcInRydWVcIixcbiAgICBpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZEZvckNsYWltYW50IDogd2luZG93W1wiZW52XCJdW1wiaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRGb3JDbGFpbWFudFwiXSB8fCBcImZhbHNlXCIsXG4gICAgaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRGb3JFbXBsb3llciA6IHdpbmRvd1tcImVudlwiXVtcImlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkRm9yRW1wbG95ZXJcIl0gfHwgXCJmYWxzZVwiLFxuICAgIGlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5IDogd2luZG93W1wiZW52XCJdW1wiaXNTYW1lU3ltYm9sUG9saWN5Rm9yQ2xhaW1hbnRBbmRBZ2VuY3lcIl0gfHwgXCJ0cnVlXCIsXG4gICAgaW50ZXJpbUhvbWVQYWdlOiB3aW5kb3dbXCJlbnZcIl1bXCJpbnRlcmltSG9tZVBhZ2VcIl0gfHwgXCJmYWxzZVwiLFxuICAgIGVycm9yTWVzc2FnZVBvcHVwTGlmZTogd2luZG93W1wiZW52XCJdW1wiZXJyb3JNZXNzYWdlUG9wdXBMaWZlXCJdIHx8IDcwMDAsXG4gICAgc3VjY2Vzc01lc3NhZ2VQb3B1cExpZmU6IHdpbmRvd1tcImVudlwiXVtcInN1Y2Nlc3NNZXNzYWdlUG9wdXBMaWZlXCJdIHx8IDcwMDAsXG5cdFx0XHQgICAgaWRtZUJhc2VVcmw6IHdpbmRvd1tcImVudlwiXVtcImlkbWVCYXNlVXJsXCJdIHx8IFwiaHR0cHM6Ly9hcGkuaWQubWUvXCIsXG4gICAgaWRtZUNsaWVudElkOiB3aW5kb3dbXCJlbnZcIl1bXCJpZG1lQ2xpZW50SWRcIl0gfHwgXCIyNjVkODhjNjVjN2Y5NjIzZDUzOGJjNjZjZmM5NTlkNFwiLFxuICAgIGlkbWVSZWRpcmVjdFVybDogd2luZG93W1wiZW52XCJdW1wiaWRtZVJlZGlyZWN0VXJsXCJdIHx8IFwiaHR0cHM6Ly9yZW1zLXN0Lm1kZXMubXMuZ292L2lkLXZlcmlmaWNhdGlvbi1zZXJ2aWNlL2lkbWUvcmVzcG9uc2VcIixcbiAgICBpZG1lU2NvcGU6IHdpbmRvd1tcImVudlwiXVtcImlkbWVTY29wZVwiXSB8fCBcImh0dHA6Ly9pZG1hbmFnZW1lbnQuZ292L25zL2Fzc3VyYW5jZS9sb2EvM1wiLFxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEJhc2VVcmwoKXtcbiAgICAgIHJldHVybiBMaWJDb25zdGFudHMucHJvdG9jb2wgKyBcbiAgICAgICAgICAgICBMaWJDb25zdGFudHMuY29sb24gKyBcbiAgICAgICAgICAgICBMaWJDb25zdGFudHMuZG91YmxlRm9yd2FyZFNsYXNoICtcbiAgICAgICAgICAgICBMaWJDb25zdGFudHMuaG9zdCArIFxuICAgICAgICAgICAgIExpYkNvbnN0YW50cy5jb2xvbiArIFxuICAgICAgICAgICAgIExpYkNvbnN0YW50cy5wb3J0O1xuICB9XG5cbiAgIl19
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGliQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9tb2RlbHMvTGliQ29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUs7SUFDaEQsUUFBUSxFQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSyxNQUFNO0lBQy9DLElBQUksRUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUssV0FBVztJQUM1QyxJQUFJLEVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU07SUFDdEMsT0FBTyxFQUFHLGtCQUFrQjtJQUM1QixLQUFLLEVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVM7SUFDM0MsS0FBSyxFQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTO0lBQzNDLFdBQVcsRUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksU0FBUztJQUN2RCxtQkFBbUIsRUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBSSxTQUFTO0lBQ3ZFLFVBQVUsRUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksU0FBUztJQUNyRCxNQUFNLEVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVM7SUFDN0MsY0FBYyxFQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLFNBQVM7SUFDN0Qs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SyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksb0JBQW9CO0lBQ3BFLFlBQVksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksa0NBQWtDO0lBQ2pGLGVBQWUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxtRUFBbUU7SUFDeEgsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSw0Q0FBNEM7Q0FDdEYsQ0FBQTtBQUVELE1BQU0sVUFBVSxVQUFVO0lBQ3RCLE9BQU8sWUFBWSxDQUFDLFFBQVE7UUFDckIsWUFBWSxDQUFDLEtBQUs7UUFDbEIsWUFBWSxDQUFDLGtCQUFrQjtRQUMvQixZQUFZLENBQUMsSUFBSTtRQUNqQixZQUFZLENBQUMsS0FBSztRQUNsQixZQUFZLENBQUMsSUFBSSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTGliQ29uc3RhbnRzID0ge1xuICAgIHByb2R1Y3Rpb246IHdpbmRvd1tcImVudlwiXVtcInByb2R1Y3Rpb25cIl0gfHwgZmFsc2UsXG4gICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgcG9ydCA6IHdpbmRvd1tcImVudlwiXVtcInBvcnRcIl0gfHwgXCI5MDEwXCIsXG4gICAgY29udGV4dCA6IFwic2VjdXJpdHktc2VydmljZVwiLFxuICAgIFNUQVRFIDogd2luZG93W1wiZW52XCJdW1wiU1RBVEVcIl0gfHwgXCJpbnZhbGlkXCIsXG4gICAgc3RhdGUgOiB3aW5kb3dbXCJlbnZcIl1bXCJzdGF0ZVwiXSB8fCBcImludmFsaWRcIixcbiAgICBiZW5lZml0c1VybCA6IHdpbmRvd1tcImVudlwiXVtcImJlbmVmaXRzVXJsXCJdIHx8IFwiaW52YWxpZFwiLFxuICAgIGJlbmVmaXRzVXJsRXh0ZXJuYWwgOiB3aW5kb3dbXCJlbnZcIl1bXCJiZW5lZml0c1VybEV4dGVybmFsXCJdIHx8IFwiaW52YWxpZFwiLFxuICAgIG1zd29ya3NVcmwgOiB3aW5kb3dbXCJlbnZcIl1bXCJtc3dvcmtzVXJsXCJdIHx8IFwiaW52YWxpZFwiLFxuICAgIHRheFVybCA6IHdpbmRvd1tcImVudlwiXVtcInRheFVybFwiXSB8fCBcImludmFsaWRcIixcbiAgICB0YXhVcmxFeHRlcm5hbCA6IHdpbmRvd1tcImVudlwiXVtcInRheFVybEV4dGVybmFsXCJdIHx8IFwiaW52YWxpZFwiLFxuICAgIGNvZ25vc1VybCA6IHdpbmRvd1tcImVudlwiXVtcImNvZ25vc1VybFwiXSB8fCBcImludmFsaWRcIixcbiAgICBnYUlkIDogd2luZG93W1wiZW52XCJdW1wiZ2FJZFwiXSB8fCBcIlVBLTE3ODYzNzk1MC0xXCIsXG4gICAgYXBwVmVyc2lvbiA6IHdpbmRvd1tcImVudlwiXVtcImFwcFZlcnNpb25cIl0gfHwgXCJsb2NhbGhvc3RcIixcbiAgICBzc29Db29raWVOYW1lIDogd2luZG93W1wiZW52XCJdW1wic3NvQ29va2llTmFtZVwiXSB8fCBcIlNTT19DT09LSUVfREVWXCIsXG4gICAgc3NvRG9tYWluIDogd2luZG93W1wiZW52XCJdW1wic3NvRG9tYWluXCJdIHx8IFwiLm1kZXMubXMuZ292XCIsXG4gICAgb2N1IDogd2luZG93W1wiZW52XCJdW1wib2N1XCJdIHx8IFwibW9iaWxlXCIsXG4gICAgZW5hYmxlQ2hhdGJvdDogd2luZG93W1wiZW52XCJdW1wiZW5hYmxlQ2hhdGJvdFwiXSB8fCAndHJ1ZScsXG4gICAgZW5hYmxlTGFuZ3VhZ2VDaGFuZ2U6IHdpbmRvd1tcImVudlwiXVtcImVuYWJsZUxhbmd1YWdlQ2hhbmdlXCJdIHx8ICdmYWxzZScsXG4gICAgUGhhc2VUd29Qcm9vZk9mVUlWaWV3OiB3aW5kb3dbXCJlbnZcIl1bXCJQaGFzZVR3b1Byb29mT2ZVSVZpZXdcIl0gfHwgJ2ZhbHNlJyxcbiAgICBrb3JlQWlXZWJTZGtVcmw6IHdpbmRvd1tcImVudlwiXVtcImtvcmVBaVdlYlNka1VybFwiXSB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MFwiLFxuICAgIGtvcmVBaUp3dFNlcnZpY2U6IHdpbmRvd1tcImVudlwiXVtcImtvcmVBaUp3dFNlcnZpY2VcIl0gfHwgXCJodHRwOi8vbG9jYWxob3N0OjkwMTYvand0LXNlcnZpY2UvdXNlcnMvc3RzXCIsXG4gICAga29yZUFpQ2hhdGJvdFNlcnZlcjogd2luZG93W1wiZW52XCJdW1wia29yZUFpQ2hhdGJvdFNlcnZlclwiXSB8fCBcImh0dHA6Ly9zdGNoYXRib3QubWRlcy5tcy5nb3Y6ODA4MS9hcGkvXCIsXG4gICAga29yZUFpQm90SWQ6IHdpbmRvd1tcImVudlwiXVtcImtvcmVBaUJvdElkXCJdIHx8IFwic3QtM2I3Yjc2ODktYjdlZC01MjhmLWJmYTItMjA3YWMyMGM0MmZlXCIsXG4gICAga29yZUFpQm90TmFtZTogd2luZG93W1wiZW52XCJdW1wia29yZUFpQm90TmFtZVwiXSB8fCBcIlJlRW1wbG95TVNDaGF0XCIsXG4gICAgaXNBZGRyZXNzVmFsaWRhdGlvbkVuYWJsZWQ6IHdpbmRvd1tcImVudlwiXVtcImlzQWRkcmVzc1ZhbGlkYXRpb25FbmFibGVkXCJdIHx8IFwiZmFsc2VcIixcbiAgICBibGFua1N0cmluZyA6ICAnJyxcbiAgICBmb3J3YXJkU2xhc2ggOiAgJy8nLFxuICAgIGRvdWJsZUZvcndhcmRTbGFzaCA6ICAnLy8nLFxuICAgIGNvbG9uIDogIFwiOlwiLFxuICAgIGFwcGVhbF9zZXJ2aWNlIDoge1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwMjdcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6IFwiYXBwZWFsLXNlcnZpY2VcIlxuICAgIH0sXG4gICAgbm90aWZpY2F0aW9uX3NlcnZpY2UgOiAge1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwMTFcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6IFwidXNlcm5vdGlmaWNhdGlvbi1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIGRtc19zZXJ2aWNlIDoge1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwMTlcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6IFwiZG1zLXNlcnZpY2VcIlxuICAgIH0sXG4gICAgcXVlc3Rpb25uYWlyZV9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAwOVwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcInF1ZXN0aW9ubmFpcmUtc2VydmljZVwiXG4gICAgfSxcbiAgICBjbGFpbXNfc2VydmljZSA6e1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwMTVcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6XCJjbGFpbXMtc2VydmljZVwiXG4gICAgfSxcbiAgICBlbXBsb3llcl9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAyMVwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcImVtcGxveWVyLXNlcnZpY2VcIlxuICAgIH0sXG4gICAgY2xhaW1hbnRfc2VydmljZSA6e1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwMjNcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6XCJjbGFpbWFudC1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIGNtcF9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTA1MVwiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcImNtcC1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIHBvbGxpbmdfc2VydmljZSA6e1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkxMzVcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6XCJwb2xsaW5nLXNlcnZpY2VcIlxuICAgIH0sXG4gICAgc2VjdXJpdHlfc2VydmljZSA6e1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwMTBcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6XCJzZWN1cml0eS1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIGRhc2hib2FyZF9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTAxN1wiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcImRhc2hib2FyZC1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIGNhc2Vfc2VydmljZSA6e1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwNTJcIiwgXG4gICAgICBob3N0IDogd2luZG93W1wiZW52XCJdW1wiaG9zdFwiXSB8fCAgXCJsb2NhbGhvc3RcIixcbiAgICAgIGNvbnRleHQgOlwiY2FzZS1zZXJ2aWNlXCJcbiAgICB9LFxuICAgIHdlZWtseWNlcnRfc2VydmljZSA6e1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwMThcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6XCJ3ZWVrbHljZXJ0LXNlcnZpY2VcIlxuICAgIH0sXG5cdFx0ICAgIGJpcnRfc2VydmljZTp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8XCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fFwiMTA5OTlcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8IFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcImJpcnQtc2VydmljZVwiXG4gICAgICBcbiAgICB9LFxuICAgIHRheF9hdWRpdF9zZXJ2aWNlOntcbiAgICAgIHByb3RvY29sIDogd2luZG93W1wiZW52XCJdW1wicHJvdG9jb2xcIl0gfHwgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkwNTBcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8IFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0OiBcInRheC1hdWRpdFwiXG4gICAgfSxcbiAgICBhZGRyZXNzX3ZhbGlkYXRpb25fc2VydmljZSA6e1xuICAgICAgcHJvdG9jb2wgOiB3aW5kb3dbXCJlbnZcIl1bXCJwcm90b2NvbFwiXSB8fCAgXCJodHRwXCIsXG4gICAgICBwb3J0IDogd2luZG93W1wiZW52XCJdW1wicG9ydFwiXSB8fCBcIjkxMzhcIixcbiAgICAgIGhvc3QgOiB3aW5kb3dbXCJlbnZcIl1bXCJob3N0XCJdIHx8ICBcImxvY2FsaG9zdFwiLFxuICAgICAgY29udGV4dCA6XCJhZGRyZXNzLXZhbGlkYXRpb24tc2VydmljZVwiXG4gICAgfSxcbiAgICBldmVudF9zZXJ2aWNlIDp7XG4gICAgICBwcm90b2NvbCA6IHdpbmRvd1tcImVudlwiXVtcInByb3RvY29sXCJdIHx8ICBcImh0dHBcIixcbiAgICAgIHBvcnQgOiB3aW5kb3dbXCJlbnZcIl1bXCJwb3J0XCJdIHx8IFwiOTEzM1wiLFxuICAgICAgaG9zdCA6IHdpbmRvd1tcImVudlwiXVtcImhvc3RcIl0gfHwgIFwibG9jYWxob3N0XCIsXG4gICAgICBjb250ZXh0IDpcImV2ZW50LXNlcnZpY2VcIlxuICAgIH0sXG4gICAgY2FwdGNoYVNpdGVLZXk6IHdpbmRvd1tcImVudlwiXVtcImNhcHRjaGFTaXRlS2V5XCJdIHx8IFwiNkxkZl9qQXNBQUFBQURyOXhaQm0zTVlDdDh4VEF1WVBYd1R4aFIwbFwiLFxuICAgIGludmlzaWJsZUNhcHRjaGFLZXkgOiB3aW5kb3dbXCJlbnZcIl1bXCJpbnZpc2libGVDYXB0Y2hhS2V5XCJdIHx8IFwiNkxjcF9qQXNBQUFBQUQxWHhwREFPelQ2bW02T0xvYnp1RXlPa05lalwiLFxuICAgIGVuYWJsZUZpbmdlcnByaW50aW5nOiB3aW5kb3dbXCJlbnZcIl1bXCJlbmFibGVGaW5nZXJwcmludGluZ1wiXSB8fCAnZmFsc2UnLFxuICAgIGZwanNUb2tlbjogd2luZG93W1wiZW52XCJdW1wiZnBqc1Rva2VuXCJdIHx8IFwibUFESFF4dzFCS1dxYk53OGp5bFdcIixcbiAgICBsZWdhY3lNZW51OiB3aW5kb3dbXCJlbnZcIl1bXCJsZWdhY3lNZW51XCJdIHx8IFwiZmFsc2VcIixcbiAgICBlbmFibGVCdG5OYXZDU1I6IHdpbmRvd1tcImVudlwiXVtcImVuYWJsZUJ0bk5hdkNTUlwiXSB8fCBcInRydWVcIixcbiAgICBtYWludGVuYW5jZVVybCA6IHdpbmRvd1tcImVudlwiXVtcIm1haW50ZW5hbmNlVXJsXCJdIHx8ICgod2luZG93W1wiZW52XCJdW1wicHJvdG9jb2xcIl0gfHwgIFwiaHR0cFwiKSArIFwiOi8vXCIgKyAod2luZG93W1wiZW52XCJdW1wiaG9zdFwiXSB8fCBcImxvY2FsaG9zdFwiKSArIFwiOlwiICsgKHdpbmRvd1tcImVudlwiXVtcInBvcnRcIl0gfHwgIFwiOTAxMVwiKSArIFwiL1wiICsgKFwidXNlcm5vdGlmaWNhdGlvbi1zZXJ2aWNlL21haW50ZW5hbmNlL3N0YXR1c1wiKSksXG4gICAgaWRsZVRpbWUgOiB3aW5kb3dbXCJlbnZcIl1bXCJpZGxlVGltZVwiXSB8fCAxODAsXG4gICAgdGltZU91dFBlcmlvZCA6IHdpbmRvd1tcImVudlwiXVtcInRpbWVPdXRQZXJpb2RcIl0gfHwgMTIwLFxuICAgIG1haW50ZW5hbmNlTW9kZUZlYXR1cmVFbmFibGVkIDogd2luZG93W1wiZW52XCJdW1wibWFpbnRlbmFuY2VNb2RlRmVhdHVyZUVuYWJsZWRcIl0gfHwgXCJ0cnVlXCIsXG4gICAgZW5hYmxlTXVsdGlNZmFPcHRpb25zIDogd2luZG93W1wiZW52XCJdW1wiZW5hYmxlTXVsdGlNZmFPcHRpb25zXCJdIHx8IFwidHJ1ZVwiLFxuICAgIGlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkIDogd2luZG93W1wiZW52XCJdW1wiaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRcIl0gfHwgXCJ0cnVlXCIsXG4gICAgaXNOZXdQYXNzd29yZFBvbGljeUVuYWJsZWRGb3JDbGFpbWFudCA6IHdpbmRvd1tcImVudlwiXVtcImlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkRm9yQ2xhaW1hbnRcIl0gfHwgXCJmYWxzZVwiLFxuICAgIGlzTmV3UGFzc3dvcmRQb2xpY3lFbmFibGVkRm9yRW1wbG95ZXIgOiB3aW5kb3dbXCJlbnZcIl1bXCJpc05ld1Bhc3N3b3JkUG9saWN5RW5hYmxlZEZvckVtcGxveWVyXCJdIHx8IFwiZmFsc2VcIixcbiAgICBpc1NhbWVTeW1ib2xQb2xpY3lGb3JDbGFpbWFudEFuZEFnZW5jeSA6IHdpbmRvd1tcImVudlwiXVtcImlzU2FtZVN5bWJvbFBvbGljeUZvckNsYWltYW50QW5kQWdlbmN5XCJdIHx8IFwidHJ1ZVwiLFxuICAgIGludGVyaW1Ib21lUGFnZTogd2luZG93W1wiZW52XCJdW1wiaW50ZXJpbUhvbWVQYWdlXCJdIHx8IFwiZmFsc2VcIixcbiAgICBlcnJvck1lc3NhZ2VQb3B1cExpZmU6IHdpbmRvd1tcImVudlwiXVtcImVycm9yTWVzc2FnZVBvcHVwTGlmZVwiXSB8fCA3MDAwLFxuICAgIHN1Y2Nlc3NNZXNzYWdlUG9wdXBMaWZlOiB3aW5kb3dbXCJlbnZcIl1bXCJzdWNjZXNzTWVzc2FnZVBvcHVwTGlmZVwiXSB8fCA3MDAwLFxuXHRcdFx0ICAgIGlkbWVCYXNlVXJsOiB3aW5kb3dbXCJlbnZcIl1bXCJpZG1lQmFzZVVybFwiXSB8fCBcImh0dHBzOi8vYXBpLmlkLm1lL1wiLFxuICAgIGlkbWVDbGllbnRJZDogd2luZG93W1wiZW52XCJdW1wiaWRtZUNsaWVudElkXCJdIHx8IFwiMjY1ZDg4YzY1YzdmOTYyM2Q1MzhiYzY2Y2ZjOTU5ZDRcIixcbiAgICBpZG1lUmVkaXJlY3RVcmw6IHdpbmRvd1tcImVudlwiXVtcImlkbWVSZWRpcmVjdFVybFwiXSB8fCBcImh0dHBzOi8vcmVtcy1zdC5tZGVzLm1zLmdvdi9pZC12ZXJpZmljYXRpb24tc2VydmljZS9pZG1lL3Jlc3BvbnNlXCIsXG4gICAgaWRtZVNjb3BlOiB3aW5kb3dbXCJlbnZcIl1bXCJpZG1lU2NvcGVcIl0gfHwgXCJodHRwOi8vaWRtYW5hZ2VtZW50Lmdvdi9ucy9hc3N1cmFuY2UvbG9hLzNcIixcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRCYXNlVXJsKCl7XG4gICAgICByZXR1cm4gTGliQ29uc3RhbnRzLnByb3RvY29sICsgXG4gICAgICAgICAgICAgTGliQ29uc3RhbnRzLmNvbG9uICsgXG4gICAgICAgICAgICAgTGliQ29uc3RhbnRzLmRvdWJsZUZvcndhcmRTbGFzaCArXG4gICAgICAgICAgICAgTGliQ29uc3RhbnRzLmhvc3QgKyBcbiAgICAgICAgICAgICBMaWJDb25zdGFudHMuY29sb24gKyBcbiAgICAgICAgICAgICBMaWJDb25zdGFudHMucG9ydDtcbiAgfVxuXG4gICJdfQ==
|
|
@@ -188,7 +188,6 @@ export class ChatbotService {
|
|
|
188
188
|
customData: this.map.get(this.util.getStateLowercase()) ? this.map.get(this.util.getStateLowercase()) : this.map.get('ms'),
|
|
189
189
|
// customData: { connectingMessage: "Welcome to ReEmployME. I am your virtual assistant to help you with ME related queries.", hoverMessage: "Ask Blue", botState: "ME", showCollectUserDetailForm: false, showDisclaimerPopUp: true, botIconImageName: "chatboticon.png", botAvatarImageName: "chatboticon.png", rootFilePath: "UI/", supportedLanguages: ["en", "es"], initialLanguage: "en", disclaimerPopup: { header: "Important Message", message: `The virtual assistant will need to ask for specific identifying information that is needed to answer you question(s) such as date of birth or Social Security number. The agency follows strict federal security guidelines to protect your sensitive information. To further protect your information, if you are on a public computer, please log out and close your browser when you are finished.`, }, headerConfig: { showLanguageToggle: true, showMinimizeButton: true, showExpandbutton: false, showReloadButton: true, } }
|
|
190
190
|
}; // bot name is case sensitive
|
|
191
|
-
this.botOptions.clientId = LibConstants.koreAiClientId;
|
|
192
191
|
//this.botOptions.clientSecret = LibConstants.koreAiClientSecret;
|
|
193
192
|
//this.botOptions.reemployUsBearerToken= "";
|
|
194
193
|
// will need to pass token to koreAiChatBotServer when authentication needs to be validated for server side api call
|
|
@@ -216,8 +215,7 @@ export class ChatbotService {
|
|
|
216
215
|
}
|
|
217
216
|
assertion(options, callback) {
|
|
218
217
|
var jsonData = {
|
|
219
|
-
"
|
|
220
|
-
"clientSecret": this.botOptions.clientSecret,
|
|
218
|
+
"botId": LibConstants.koreAiBotId,
|
|
221
219
|
"identity": options.userIdentity || this.botOptions.userIdentity,
|
|
222
220
|
"aud": "",
|
|
223
221
|
"isAnonymous": (this.ls.getUser() == null),
|
|
@@ -254,4 +252,4 @@ export class ChatbotService {
|
|
|
254
252
|
providedIn: 'root'
|
|
255
253
|
}]
|
|
256
254
|
}], () => [{ type: i0.RendererFactory2 }, { type: i1.LoggerService }, { type: i2.LoginService }, { type: i3.UtilService }], null); })();
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jaGF0Ym90L2NoYXRib3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBcUNoRCxNQUFNLE9BQU8sY0FBYztJQW1GekIsWUFBWSxlQUFpQyxFQUFVLE1BQXFCLEVBQVUsRUFBZ0IsRUFBVSxJQUFpQjtRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7UUFqRmpJLFFBQUcsR0FBNEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV6QyxpQkFBWSxHQUFlO1lBQ3pCLGlCQUFpQixFQUFFLDJGQUEyRjtZQUM5RyxZQUFZLEVBQUUsY0FBYztZQUM1QixRQUFRLEVBQUUsSUFBSTtZQUNkLHlCQUF5QixFQUFFLElBQUk7WUFDL0IsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLGtCQUFrQixFQUFFLGdCQUFnQjtZQUNwQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDMUIsZUFBZSxFQUFFLElBQUk7WUFDckIsNkRBQTZEO1lBQzdELGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixP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QUksRUFBRSxFQUFFO2dCQUNoQixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQzdCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7Z0JBQzdDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7Z0JBQzdDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3hCLFVBQVUsQ0FBQztvQkFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7d0JBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUNqQztnQkFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDWCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytFQTNQVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07O2lGQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTY3JpcHRDb25zdGFudCB9IGZyb20gJy4vc2NyaXB0LmNvbnN0JztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi91dGlsL3V0aWwuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3Qga29yZUJvdENoYXQ6IGFueTtcbmRlY2xhcmUgY29uc3QgJDogYW55O1xuXG5pbnRlcmZhY2UgRGlzY2xhaW1lclBvcHVwIHtcbiAgaGVhZGVyOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZ1xufVxuaW50ZXJmYWNlIEhlYWRlckNvbmZpZyB7XG4gIHNob3dMYW5ndWFnZVRvZ2dsZTogYm9vbGVhbjtcbiAgc2hvd01pbmltaXplQnV0dG9uOiBib29sZWFuO1xuICBzaG93RXhwYW5kQnV0dG9uOiBib29sZWFuO1xuICBzaG93UmVsb2FkQnV0dG9uOiBib29sZWFuO1xufVxuaW50ZXJmYWNlIEN1c3RvbURhdGEge1xuICBjb25uZWN0aW5nTWVzc2FnZTogc3RyaW5nO1xuICBob3Zlck1lc3NhZ2U6IHN0cmluZztcbiAgYm90U3RhdGU6IHN0cmluZztcbiAgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogYm9vbGVhbjtcbiAgc2hvd0Rpc2NsYWltZXJQb3BVcDogYm9vbGVhbjtcbiAgc2hvd0NoYXRCdWJibGVBdENsb3NlZDogYm9vbGVhbjtcbiAgYm90QXZhdGFySW1hZ2VOYW1lOiBzdHJpbmc7XG4gIGJvdEljb25JbWFnZU5hbWU6IHN0cmluZztcbiAgZm9ybUJhbm5lclBhdGg6IHN0cmluZyxcbiAgcm9vdEZpbGVQYXRoOiBzdHJpbmc7XG4gIHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW107XG4gIGluaXRpYWxMYW5ndWFnZTogc3RyaW5nO1xuICBkaXNjbGFpbWVyUG9wdXA6IERpc2NsYWltZXJQb3B1cDtcbiAgaGVhZGVyQ29uZmlnOiBIZWFkZXJDb25maWc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoYXRib3RTZXJ2aWNlIHtcblxuICBtYXA6IE1hcDxzdHJpbmcsIEN1c3RvbURhdGE+ID0gbmV3IE1hcCgpO1xuXG4gIG1zQ3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcbiAgICBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95TVMuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1ERVMgcmVsYXRlZCBxdWVyaWVzLlwiLFxuICAgIGhvdmVyTWVzc2FnZTogXCJBc2sgY2hhdCBib3RcIixcbiAgICBib3RTdGF0ZTogXCJNU1wiLFxuICAgIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IHRydWUsXG4gICAgc2hvd0Rpc2NsYWltZXJQb3BVcDogdHJ1ZSxcbiAgICBzaG93Q2hhdEJ1YmJsZUF0Q2xvc2VkOiBmYWxzZSxcbiAgICBib3RBdmF0YXJJbWFnZU5hbWU6IFwiQXZhdGFySWNvbi5wbmdcIixcbiAgICBib3RJY29uSW1hZ2VOYW1lOiBcIkF2YXRhckljb24ucG5nXCIsXG4gICAgZm9ybUJhbm5lclBhdGg6IFwiXCIsXG4gICAgcm9vdEZpbGVQYXRoOiBcIlVJL1wiLFxuICAgIHN1cHBvcnRlZExhbmd1YWdlczogW1wiZW5cIl0sXG4gICAgaW5pdGlhbExhbmd1YWdlOiBcImVuXCIsXG4gICAgLy8gc3RhcnRlclRhc2s6IHtlbjpcIkZvcmdvdCBQYXNzd29yZFwiLCBlczpcIkZvcmdvdCBQYXNzd29yZFwifSxcbiAgICBkaXNjbGFpbWVyUG9wdXA6IHtcbiAgICAgIGhlYWRlcjogXCJJbXBvcnRhbnQgbWVzc2FnZVwiLFxuICAgICAgbWVzc2FnZTogYE1ERVMnIHZpcnR1YWwgYXNzaXN0YW50IHdpbGwgYXNrIGZvciBzcGVjaWZpYyBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiwgc3VjaCBhcyBTb2NpYWwgU2VjdXJpdHkgTnVtYmVyIGFuZCBEYXRlIG9mIEJpcnRoLCB0aGF0IGlzIG5lZWRlZCB0byBhbnN3ZXIgeW91ciBxdWVzdGlvbihzKS48L2JyPjwvYnI+IE1ERVMgZm9sbG93cyBzdHJpY3QgZmVkZXJhbCBzZWN1cml0eSBndWlkZWxpbmVzIHRvIHByb3RlY3QgeW91ciBzZW5zaXRpdmUgaW5mb3JtYXRpb24uPC9icj48L2JyPlRvIGZ1cnRoZXIgcHJvdGVjdCB5b3VyIGluZm9ybWF0aW9uIHlvdSBzaG91bGQgY2xvc2UgdGhlIGNoYXQgd2luZG93IGFuZCBicm93c2VyIHdoZW4geW91IGFyZSBmaW5pc2hlZC48L3A+YFxuICAgIH0sXG4gICAgaGVhZGVyQ29uZmlnOiB7XG4gICAgICBzaG93TGFuZ3VhZ2VUb2dnbGU6IGZhbHNlLFxuICAgICAgc2hvd01pbmltaXplQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dFeHBhbmRCdXR0b246IGZhbHNlLFxuICAgICAgc2hvd1JlbG9hZEJ1dHRvbjogZmFsc2UsXG4gICAgfVxuICB9XG5cbiAgbWVDdXN0b21EYXRhOiBDdXN0b21EYXRhID0ge1xuICAgIGNvbm5lY3RpbmdNZXNzYWdlOiBcIldlbGNvbWUgdG8gUmVFbXBsb3lNRS4gSSBhbSB5b3VyIHZpcnR1YWwgYXNzaXN0YW50IHRvIGhlbHAgeW91IHdpdGggTUUgcmVsYXRlZCBxdWVyaWVzLlwiLFxuICAgIGhvdmVyTWVzc2FnZTogXCJBc2sgQmx1ZVwiLFxuICAgIGJvdFN0YXRlOiBcIk1FXCIsXG4gICAgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogZmFsc2UsXG4gICAgc2hvd0Rpc2NsYWltZXJQb3BVcDogdHJ1ZSxcbiAgICBzaG93Q2hhdEJ1YmJsZUF0Q2xvc2VkOiBmYWxzZSxcbiAgICBib3RJY29uSW1hZ2VOYW1lOiBcIkJsdWVJY29uLnN2Z1wiLFxuICAgIGJvdEF2YXRhckltYWdlTmFtZTogXCJCbHVlSWNvbi5zdmdcIixcbiAgICBmb3JtQmFubmVyUGF0aDogXCJcIixcbiAgICByb290RmlsZVBhdGg6IFwiVUkvXCIsXG4gICAgc3VwcG9ydGVkTGFuZ3VhZ2VzOiBbXCJlblwiXSxcbiAgICBpbml0aWFsTGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBkaXNjbGFpbWVyUG9wdXA6IHtcbiAgICAgIGhlYWRlcjogXCJJbXBvcnRhbnQgbWVzc2FnZVwiLFxuICAgICAgbWVzc2FnZTogYE1FRE9MJ3MgdmlydHVhbCBhc3Npc3RhbnQgbWF5IGFzayB5b3Ugc3BlY2lmaWMgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIHN1Y2ggYXMgU29jaWFsIFNlY3VyaXR5IE51bWJlciBhbmQgRGF0ZSBvZiBCaXJ0aCwgdGhhdCBpcyBuZWVkZWQgdG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24ocykuIE1FIERPTCBmb2xsb3dzIHN0cmljdCBmZWRlcmFsIHNlY3VyaXR5IGd1aWRlbGluZXMgdG8gcHJvdGVjdCB5b3VyIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbi4gVG8gZnVydGhlciBwcm90ZWN0IHlvdXIgaW5mb3JtYXRpb24geW91IHNob3VsZCBjbG9zZSB0aGUgY2hhdCB3aW5kb3cgYW5kIGJyb3dzZXIgd2hlbiB5b3UgYXJlIGZpbmlzaGVkLmBcbiAgICB9LFxuICAgIGhlYWRlckNvbmZpZzoge1xuICAgICAgc2hvd0xhbmd1YWdlVG9nZ2xlOiBmYWxzZSxcbiAgICAgIHNob3dNaW5pbWl6ZUJ1dHRvbjogdHJ1ZSxcbiAgICAgIHNob3dFeHBhbmRCdXR0b246IGZhbHNlLFxuICAgICAgc2hvd1JlbG9hZEJ1dHRvbjogdHJ1ZSxcbiAgICB9XG4gIH1cbiAgY3RDdXN0b21EYXRhOiBDdXN0b21EYXRhID0ge1xuICAgIGNvbm5lY3RpbmdNZXNzYWdlOiBcIldlbGNvbWUgdG8gUmVFbXBsb3lDVC4gSSBhbSB5b3VyIHZpcnR1YWwgYXNzaXN0YW50IHRvIGhlbHAgeW91IHdpdGggTUUgcmVsYXRlZCBxdWVyaWVzLlwiLFxuICAgIGhvdmVyTWVzc2FnZTogXCJBc2sgQmx1ZVwiLFxuICAgIGJvdFN0YXRlOiBcIkNUXCIsXG4gICAgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogdHJ1ZSxcbiAgICBzaG93RGlzY2xhaW1lclBvcFVwOiB0cnVlLFxuICAgIHNob3dDaGF0QnViYmxlQXRDbG9zZWQ6IGZhbHNlLFxuICAgIGJvdEljb25JbWFnZU5hbWU6IFwiY2hhdGJvdGljb24ucG5nXCIsXG4gICAgYm90QXZhdGFySW1hZ2VOYW1lOiBcImNoYXRib3RpY29uLnBuZ1wiLFxuICAgIGZvcm1CYW5uZXJQYXRoOiBcIlwiLFxuICAgIHJvb3RGaWxlUGF0aDogXCJVSS9cIixcbiAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IFtcImVuXCIsIFwiZXNcIl0sXG4gICAgaW5pdGlhbExhbmd1YWdlOiBcImVuXCIsXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XG4gICAgICBoZWFkZXI6IFwiSW1wb3J0YW50IG1lc3NhZ2VcIixcbiAgICAgIG1lc3NhZ2U6IGBUaGUgQ1RET0wgdmlydHVhbCBhc3Npc3RhbnQgd2lsbCBuZWVkIHRvIGFzayBmb3Igc3BlY2lmaWMgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gdGhhdCBpcyBuZWVkZWQgdG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24ocykgc3VjaCBhcyBkYXRlIG9mIGJpcnRoIG9yIFNvY2lhbCBTZWN1cml0eSBudW1iZXIuIFRoZSBhZ2VuY3kgZm9sbG93cyBzdHJpY3QgZmVkZXJhbCBzZWN1cml0eSBndWlkZWxpbmVzIHRvIHByb3RlY3QgeW91ciBzZW5zaXRpdmUgaW5mb3JtYXRpb24uIFRvIGZ1cnRoZXIgcHJvdGVjdCB5b3VyIGluZm9ybWF0aW9uLCBpZiB5b3UgYXJlIG9uIGEgcHVibGljIGNvbXB1dGVyLCBwbGVhc2UgbG9nIG91dCBhbmQgY2xvc2UgeW91ciBicm93c2VyIHdoZW4geW91IGFyZSBmaW5pc2hlZC5gXG4gICAgfSxcbiAgICBoZWFkZXJDb25maWc6IHtcbiAgICAgIHNob3dMYW5ndWFnZVRvZ2dsZTogdHJ1ZSxcbiAgICAgIHNob3dNaW5pbWl6ZUJ1dHRvbjogdHJ1ZSxcbiAgICAgIHNob3dFeHBhbmRCdXR0b246IGZhbHNlLFxuICAgICAgc2hvd1JlbG9hZEJ1dHRvbjogdHJ1ZSxcbiAgICB9XG4gIH1cbiAgcHVibGljIGJvdE9wdGlvbnM6IGFueSA9IHt9O1xuICBwdWJsaWMga29yZUJvdDogYW55ID0ge307XG4gIGluaXRDaGF0Ym90OiBCZWhhdmlvclN1YmplY3Q8Qm9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuICBwdWJsaWMgc2hvd0NoYXRib3Q6IGJvb2xlYW4gPSAoTGliQ29uc3RhbnRzLmVuYWJsZUNoYXRib3QgPT0gJ3RydWUnKTtcbiAgY29uc3RydWN0b3IocmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSwgcHJpdmF0ZSBsczogTG9naW5TZXJ2aWNlLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdDaGF0Ym90U2VydmljZSBpbml0aWFsaXp6ZWQgc3VjY2Vzc2Z1bGx5LicpO1xuXG4gICAgdGhpcy5tYXAuc2V0KFwibXNcIiwgdGhpcy5tc0N1c3RvbURhdGEpO1xuICAgIHRoaXMubWFwLnNldChcIm1lXCIsIHRoaXMubWVDdXN0b21EYXRhKTtcbiAgICB0aGlzLm1hcC5zZXQoXCJjdFwiLCB0aGlzLmN0Q3VzdG9tRGF0YSk7XG4gICAgdGhpcy5nZXRDaGF0Ym90QnMoKS5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbygnSW5pdGlhbGl6aW5nIENoYXRib3QuJyk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNoYXRib3QoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldENoYXRib3RCcygpIHtcbiAgICByZXR1cm4gdGhpcy5pbml0Q2hhdGJvdDtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5pbml0Q2hhdGJvdC5uZXh0KHRydWUpO1xuICB9XG5cbiAgbG9hZFNjcmlwQW5kU3R5bGUoKSB7XG4gICAgaWYgKCFMaWJDb25zdGFudHMucHJvZHVjdGlvbiAmJiB0aGlzLnNob3dDaGF0Ym90KSB7IC8vc2V0IHRoaXMgcHJvcGVydHkgdG8gdHJ1ZSBpZiB5b3Ugd2FudCB0byB0ZXN0IHRoaXMgaW4gbG9jYWwgZW52LlxuICAgICAgdGhpcy5sb2dnZXIuaW5mbygnTm90IExvYWRpbmcgQ2hhdGJvdCBhcyBjdXJyZW50IGVudmlyb25tZW50IGlzIG5vdCBwcm9kdWN0aW9uLiBTZXQgXCJwcm9kdWN0aW9uPXRydWVcIiBhbmQgXCJzaG93Q2hhdGJvdD10cnVlXCIgaWYgeW91IHdhbnQgdG8gdGVzdCBjaGF0Ym90IGluIGxvY2FsIGVudi4nKTtcbiAgICAgIHJldHVybjs7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0xvYWRpbmcgY2hhdGJvdCAuLi4nKTtcbiAgICB9XG5cbiAgICBTY3JpcHRDb25zdGFudC5pbXBvcnRVcmxzLmZvckVhY2goc2NyaXB0RWxlbWVudCA9PiB7XG4gICAgICAvLyBvdGhlciB0aGFuIGpzIGFuZCBzdHlsZXNoZWV0IGFyZSBpZ25vcmVkXG4gICAgICBpZiAoc2NyaXB0RWxlbWVudC50eXBlID09PSBTY3JpcHRDb25zdGFudC5qc1Byb3BlcnR5KSB7XG4gICAgICAgIGNvbnN0IGpzU2NyaXB0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAvLy8vIGpzU2NyaXB0Tm9kZS5zcmMgPSBlbnZpcm9ubWVudC5rb3JlQWlXZWJTZGtVcmwgKyBzY3JpcHRFbGVtZW50LnVybDtcbiAgICAgICAganNTY3JpcHROb2RlLnNyYyA9IExpYkNvbnN0YW50cy5rb3JlQWlXZWJTZGtVcmwgKyBzY3JpcHRFbGVtZW50LnVybDtcblxuICAgICAgICBqc1NjcmlwdE5vZGUudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuXG4gICAgICAgIGlmIChzY3JpcHRFbGVtZW50LmFzeW5jID09IG51bGwpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKGpzU2NyaXB0Tm9kZS5zcmMgKyBcIiB3aWxsIGJlIGxvYWRlZCBhcyBhc3luYyBiZWNhdXNlIG9mIG51bGwgYXN5bmMgdmFsdWVcIik7XG4gICAgICAgICAganNTY3JpcHROb2RlLmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChzY3JpcHRFbGVtZW50LmFzeW5jID09IHRydWUpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKHNjcmlwdEVsZW1lbnQudXJsICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmMgYmVjYXVzZSBvZiBudWxsIGFzeW5jIHRydWVcIik7XG5cbiAgICAgICAgICBqc1NjcmlwdE5vZGUuYXN5bmMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oc2NyaXB0RWxlbWVudC51cmwgKyBcIiB3aWxsIGJlIGxvYWRlZCBhcyBhc3luYz1mYWxzZVwiKTtcblxuICAgICAgICAgIGpzU2NyaXB0Tm9kZS5hc3luYyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSwganNTY3JpcHROb2RlKTtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChqc1NjcmlwdE5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JpcHRFbGVtZW50LnR5cGUgPT09IFNjcmlwdENvbnN0YW50LmNzc1Byb3BlcnR5KSB7XG4gICAgICAgIGNvbnN0IHN0eWxlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgc3R5bGVOb2RlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgc3R5bGVOb2RlLmhyZWYgPSBMaWJDb25zdGFudHMua29yZUFpV2ViU2RrVXJsICsgc2NyaXB0RWxlbWVudC51cmw7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSwgc3R5bGVOb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC50eXBlID09PSBTY3JpcHRDb25zdGFudC5jc3NQcm9wZXJ0eUFic29sdXRlKSB7XG4gICAgICAgIGNvbnN0IHN0eWxlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgc3R5bGVOb2RlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgc3R5bGVOb2RlLmhyZWYgPSBzY3JpcHRFbGVtZW50LnVybDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLCBzdHlsZU5vZGUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCd1cmwgJyArIHNjcmlwdEVsZW1lbnQudXJsICsgJyBpcyBub3QgZ29pbmcgdG8gYmUgbG9hZGVkIGJlY2F1c2Ugb2YgaW52YWxpZCB0eXBlICcgKyBzY3JpcHRFbGVtZW50LnR5cGUpO1xuICAgICAgfVxuICAgIH0pOyAvLyBmb3IgZWFjaFxuICB9XG5cblxuXG4gIHB1YmxpYyBpbml0aWFsaXplQ2hhdGJvdCgpIHtcbiAgICB0aGlzLm9wZW5ib3QoKTtcbiAgfVxuXG4gIC8qKipcbiAgICogXG4gICAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplIHRoZSBjaGF0Ym90IHdpdGggbG9nZ2VkLWluIHVzZXIuIElmIHVzZXIgaXMgbm90IGxvZ2dlZC1pbiB0aGVuIGJvdCBzZXNzaW9uIHdpbGwgYmUgY3JlYXRlZCB1c2luZyB1bmlxdWUgdGltZXN0YW1wLlxuICAgKi9cbiAgb3BlbmJvdCgpIHtcbiAgICBsZXQgdXNlcklkID0gbnVsbDtcbiAgICBpZiAodGhpcy5scy5nZXRVc2VyKCkpIHtcbiAgICAgIHVzZXJJZCA9IHRoaXMubHMuZ2V0VXNlcigpLnVzZXJuYW1lICsgJ18nICsgdGhpcy5scy5nZXRVc2VyKCkudXNlclR5cGU7XG4gICAgICB0aGlzLmJvdE9wdGlvbnMuYWNjZXNzVG9rZW4gPSB0aGlzLmxzLmdldFVzZXIoKS5hY2Nlc3NfdG9rZW47XG4gICAgfSBlbHNlIHtcbiAgICAgIHVzZXJJZCA9IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMCkgKyAxKSArIFwiX1wiICsgbmV3IERhdGUoKS5nZXRNaWxsaXNlY29uZHMoKSArIFwiQG1kZXMubXMuZ292XCI7XG4gICAgfVxuICAgIC8vKioqQ09ERV9TVEFSVFxuICAgIHRoaXMuYm90T3B0aW9ucy5sb2dMZXZlbCA9ICdkZWJ1Zyc7XG4gICAgdGhpcy5ib3RPcHRpb25zLmtvcmVBUElVcmwgPSBMaWJDb25zdGFudHMua29yZUFpQ2hhdGJvdFNlcnZlcjtcbiAgICAvL2JvdE9wdGlvbnMua29yZVNwZWVjaEFQSVVybCA9IFwiaHR0cHM6Ly9zcGVlY2gua29yZS5haS9cIjtcbiAgICAvL2JvdE9wdGlvbnMuYmVhcmVyID0gXCJiZWFyZXIgeHl6LS0tLS0tLS0tLS0tLS0tLS0tLVwiO1xuICAgIC8vYm90T3B0aW9ucy50dHNTb2NrZXRVcmwgPSAnd3NzOi8vc3BlZWNoLmtvcmUuYWkvdHRzL3dzJztcbiAgICB0aGlzLmJvdE9wdGlvbnMucmVjb3JkZXJXb3JrZXJQYXRoID0gJy4vbGlicy9yZWNvcmRlcldvcmtlci5qcyc7XG4gICAgdGhpcy5ib3RPcHRpb25zLmFzc2VydGlvbkZuID0gKG9wdGlvbnMsIGNhbGxiYWNrKSA9PiB0aGlzLmFzc2VydGlvbihvcHRpb25zLCBjYWxsYmFjayk7XG4gICAgLy9ib3RPcHRpb25zLmtvcmVBbm9ueW1vdXNGbiA9IGtvcmVBbm9ueW1vdXNGbjtcblxuICAgIHRoaXMuYm90T3B0aW9ucy5KV1RVcmwgPSBMaWJDb25zdGFudHMua29yZUFpSnd0U2VydmljZTtcbiAgICBcbiAgICB0aGlzLmJvdE9wdGlvbnMudXNlcklkZW50aXR5ID0gdXNlcklkOy8vIFByb3ZpZGUgdXNlcnMgZW1haWwgaWQgaGVyZVxuICAgIHRoaXMuYm90T3B0aW9ucy5ib3RJbmZvID0ge1xuICAgICAgbmFtZTogTGliQ29uc3RhbnRzLmtvcmVBaUJvdE5hbWUsXG4gICAgICBcIl9pZFwiOiBMaWJDb25zdGFudHMua29yZUFpQm90SWQsXG4gICAgICBjdXN0b21EYXRhIDogdGhpcy5tYXAuZ2V0KHRoaXMudXRpbC5nZXRTdGF0ZUxvd2VyY2FzZSgpKSA/IHRoaXMubWFwLmdldCh0aGlzLnV0aWwuZ2V0U3RhdGVMb3dlcmNhc2UoKSkgOiB0aGlzLm1hcC5nZXQoJ21zJyksXG4gICAgICAvLyBjdXN0b21EYXRhOiB7IGNvbm5lY3RpbmdNZXNzYWdlOiBcIldlbGNvbWUgdG8gUmVFbXBsb3lNRS4gSSBhbSB5b3VyIHZpcnR1YWwgYXNzaXN0YW50IHRvIGhlbHAgeW91IHdpdGggTUUgcmVsYXRlZCBxdWVyaWVzLlwiLCBob3Zlck1lc3NhZ2U6IFwiQXNrIEJsdWVcIiwgYm90U3RhdGU6IFwiTUVcIiwgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogZmFsc2UsIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsIGJvdEljb25JbWFnZU5hbWU6IFwiY2hhdGJvdGljb24ucG5nXCIsIGJvdEF2YXRhckltYWdlTmFtZTogXCJjaGF0Ym90aWNvbi5wbmdcIiwgcm9vdEZpbGVQYXRoOiBcIlVJL1wiLCBzdXBwb3J0ZWRMYW5ndWFnZXM6IFtcImVuXCIsIFwiZXNcIl0sIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLCBkaXNjbGFpbWVyUG9wdXA6IHsgaGVhZGVyOiBcIkltcG9ydGFudCBNZXNzYWdlXCIsIG1lc3NhZ2U6IGBUaGUgdmlydHVhbCBhc3Npc3RhbnQgd2lsbCBuZWVkIHRvIGFzayBmb3Igc3BlY2lmaWMgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gdGhhdCBpcyBuZWVkZWQgdG8gYW5zd2VyIHlvdSBxdWVzdGlvbihzKSBzdWNoIGFzIGRhdGUgb2YgYmlydGggb3IgU29jaWFsIFNlY3VyaXR5IG51bWJlci4gVGhlIGFnZW5jeSBmb2xsb3dzIHN0cmljdCBmZWRlcmFsIHNlY3VyaXR5IGd1aWRlbGluZXMgdG8gcHJvdGVjdCB5b3VyIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbi4gVG8gZnVydGhlciBwcm90ZWN0IHlvdXIgaW5mb3JtYXRpb24sIGlmIHlvdSBhcmUgb24gYSBwdWJsaWMgY29tcHV0ZXIsIHBsZWFzZSBsb2cgb3V0IGFuZCBjbG9zZSB5b3VyIGJyb3dzZXIgd2hlbiB5b3UgYXJlIGZpbmlzaGVkLmAsIH0sIGhlYWRlckNvbmZpZzogeyBzaG93TGFuZ3VhZ2VUb2dnbGU6IHRydWUsIHNob3dNaW5pbWl6ZUJ1dHRvbjogdHJ1ZSwgc2hvd0V4cGFuZGJ1dHRvbjogZmFsc2UsIHNob3dSZWxvYWRCdXR0b246IHRydWUsIH0gfVxuICAgIH07IC8vIGJvdCBuYW1lIGlzIGNhc2Ugc2Vuc2l0aXZlXG4gICAgdGhpcy5ib3RPcHRpb25zLmNsaWVudElkID0gTGliQ29uc3RhbnRzLmtvcmVBaUNsaWVudElkO1xuICAgIC8vdGhpcy5ib3RPcHRpb25zLmNsaWVudFNlY3JldCA9IExpYkNvbnN0YW50cy5rb3JlQWlDbGllbnRTZWNyZXQ7XG5cbiAgICAvL3RoaXMuYm90T3B0aW9ucy5yZWVtcGxveVVzQmVhcmVyVG9rZW49IFwiXCI7ICBcbiAgICAvLyB3aWxsIG5lZWQgdG8gcGFzcyB0b2tlbiB0byBrb3JlQWlDaGF0Qm90U2VydmVyIHdoZW4gYXV0aGVudGljYXRpb24gbmVlZHMgdG8gYmUgdmFsaWRhdGVkIGZvciBzZXJ2ZXIgc2lkZSBhcGkgY2FsbFxuXG4gICAgdmFyIGNoYXRDb25maWcgPSB7XG4gICAgICBib3RPcHRpb25zOiB0aGlzLmJvdE9wdGlvbnMsXG4gICAgICBhbGxvd0lmcmFtZTogZmFsc2UsXG4gICAgICBpc1NlbmRCdXR0b246IHRydWUsXG4gICAgICBpc1RUU0VuYWJsZWQ6IGZhbHNlLFxuICAgICAgaXNTcGVlY2hFbmFibGVkOiBmYWxzZSxcbiAgICAgIGFsbG93R29vZ2xlU3BlZWNoOiBmYWxzZSxcbiAgICAgIGFsbG93TG9jYXRpb246IGZhbHNlLFxuICAgICAgbG9hZEhpc3Rvcnk6IGZhbHNlLFxuICAgICAgbWVzc2FnZUhpc3RvcnlMaW1pdDogMTAsXG4gICAgICBhdXRvRW5hYmxlU3BlZWNoQW5kVFRTOiBmYWxzZSxcbiAgICAgIGdyYXBoTGliOiBcImQzXCJcbiAgICB9O1xuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmtvcmVCb3QpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5rb3JlQm90ID0ga29yZUJvdENoYXQoKTtcbiAgICAgIHRoaXMua29yZUJvdC5zaG93KGNoYXRDb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmtvcmVCb3QucmVzdW1lQ2hhdFdpbmRvdygpXG4gICAgfVxuICAgIC8vKioqQ09ERV9FTkRcblxuICB9XG5cbiAgYXNzZXJ0aW9uKG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGpzb25EYXRhID0ge1xuICAgICAgXCJjbGllbnRJZFwiOiB0aGlzLmJvdE9wdGlvbnMuY2xpZW50SWQsXG4gICAgICBcImNsaWVudFNlY3JldFwiOiB0aGlzLmJvdE9wdGlvbnMuY2xpZW50U2VjcmV0LFxuICAgICAgXCJpZGVudGl0eVwiOiBvcHRpb25zLnVzZXJJZGVudGl0eSB8fCB0aGlzLmJvdE9wdGlvbnMudXNlcklkZW50aXR5LFxuICAgICAgXCJhdWRcIjogXCJcIixcbiAgICAgIFwiaXNBbm9ueW1vdXNcIjogKHRoaXMubHMuZ2V0VXNlcigpID09IG51bGwpLFxuICAgICAgXCJhY2Nlc3NUb2tlblwiOiB0aGlzLmJvdE9wdGlvbnMuYWNjZXNzVG9rZW5cbiAgICB9O1xuICAgICQuYWpheCh7XG4gICAgICB1cmw6IHRoaXMuYm90T3B0aW9ucy5KV1RVcmwsXG4gICAgICB0eXBlOiAncG9zdCcsXG4gICAgICBkYXRhOiBqc29uRGF0YSxcbiAgICAgIGRhdGFUeXBlOiAnanNvbicsXG4gICAgICBzdWNjZXNzOiAoZGF0YSkgPT4ge1xuICAgICAgICBvcHRpb25zLmFzc2VydGlvbiA9IGRhdGEuand0O1xuICAgICAgICBvcHRpb25zLmhhbmRsZUVycm9yID0gdGhpcy5rb3JlQm90LnNob3dFcnJvcjtcbiAgICAgICAgb3B0aW9ucy5jaGF0SGlzdG9yeSA9IHRoaXMua29yZUJvdC5jaGF0SGlzdG9yeTtcbiAgICAgICAgb3B0aW9ucy5ib3REZXRhaWxzID0gdGhpcy5rb3JlQm90LmJvdERldGFpbHM7XG4gICAgICAgIGNhbGxiYWNrKG51bGwsIG9wdGlvbnMpO1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAodGhpcy5rb3JlQm90ICYmIHRoaXMua29yZUJvdC5pbml0VG9rZW4pIHtcbiAgICAgICAgICAgIHRoaXMua29yZUJvdC5pbml0VG9rZW4ob3B0aW9ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAyMDAwKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICB0aGlzLmtvcmVCb3Quc2hvd0Vycm9yKGVyci5yZXNwb25zZVRleHQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jaGF0Ym90L2NoYXRib3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBcUNoRCxNQUFNLE9BQU8sY0FBYztJQW1GekIsWUFBWSxlQUFpQyxFQUFVLE1BQXFCLEVBQVUsRUFBZ0IsRUFBVSxJQUFpQjtRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7UUFqRmpJLFFBQUcsR0FBNEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV6QyxpQkFBWSxHQUFlO1lBQ3pCLGlCQUFpQixFQUFFLDJGQUEyRjtZQUM5RyxZQUFZLEVBQUUsY0FBYztZQUM1QixRQUFRLEVBQUUsSUFBSTtZQUNkLHlCQUF5QixFQUFFLElBQUk7WUFDL0IsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLGtCQUFrQixFQUFFLGdCQUFnQjtZQUNwQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDMUIsZUFBZSxFQUFFLElBQUk7WUFDckIsNkRBQTZEO1lBQzdELGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixPQUFPLEVBQUUsMlhBQTJYO2FBQ3JZO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLGtCQUFrQixFQUFFLEtBQUs7Z0JBQ3pCLGtCQUFrQixFQUFFLEtBQUs7Z0JBQ3pCLGdCQUFnQixFQUFFLEtBQUs7Z0JBQ3ZCLGdCQUFnQixFQUFFLEtBQUs7YUFDeEI7U0FDRixDQUFBO1FBRUQsaUJBQVksR0FBZTtZQUN6QixpQkFBaUIsRUFBRSx5RkFBeUY7WUFDNUcsWUFBWSxFQUFFLFVBQVU7WUFDeEIsUUFBUSxFQUFFLElBQUk7WUFDZCx5QkFBeUIsRUFBRSxLQUFLO1lBQ2hDLG1CQUFtQixFQUFFLElBQUk7WUFDekIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixnQkFBZ0IsRUFBRSxjQUFjO1lBQ2hDLGtCQUFrQixFQUFFLGNBQWM7WUFDbEMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDMUIsZUFBZSxFQUFFLElBQUk7WUFDckIsZUFBZSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxtQkFBbUI7Z0JBQzNCLE9BQU8sRUFBRSx1V0FBdVc7YUFDalg7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osa0JBQWtCLEVBQUUsS0FBSztnQkFDekIsa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsZ0JBQWdCLEVBQUUsS0FBSztnQkFDdkIsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtTQUNGLENBQUE7UUFDRCxpQkFBWSxHQUFlO1lBQ3pCLGlCQUFpQixFQUFFLHlGQUF5RjtZQUM1RyxZQUFZLEVBQUUsVUFBVTtZQUN4QixRQUFRLEVBQUUsSUFBSTtZQUNkLHlCQUF5QixFQUFFLElBQUk7WUFDL0IsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLGdCQUFnQixFQUFFLGlCQUFpQjtZQUNuQyxrQkFBa0IsRUFBRSxpQkFBaUI7WUFDckMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ2hDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixPQUFPLEVBQUUsOFlBQThZO2FBQ3haO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGdCQUFnQixFQUFFLEtBQUs7Z0JBQ3ZCLGdCQUFnQixFQUFFLElBQUk7YUFDdkI7U0FDRixDQUFBO1FBQ00sZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVELGdCQUFXLEdBQVksQ0FBQyxZQUFZLENBQUMsYUFBYSxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBRW5FLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsa0VBQWtFO1lBQ3BILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNKQUFzSixDQUFDLENBQUM7WUFDekssT0FBTztZQUFBLENBQUM7U0FDVDthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN6QztRQUVELGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2hELDJDQUEyQztZQUMzQyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLFVBQVUsRUFBRTtnQkFDcEQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEQsd0VBQXdFO2dCQUN4RSxZQUFZLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQztnQkFFcEUsWUFBWSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztnQkFFdEMsSUFBSSxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtvQkFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxzREFBc0QsQ0FBQyxDQUFDO29CQUM1RixZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztpQkFDM0I7cUJBQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtvQkFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxxREFBcUQsQ0FBQyxDQUFDO29CQUU1RixZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztpQkFDM0I7cUJBQ0k7b0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDO29CQUV2RSxZQUFZLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDNUI7Z0JBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUNsRixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3BFO2lCQUFNLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsV0FBVyxFQUFFO2dCQUM1RCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRCxTQUFTLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztnQkFDN0IsU0FBUyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUM7Z0JBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUNoRjtpQkFBTSxJQUFJLGFBQWEsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLG1CQUFtQixFQUFFO2dCQUNwRSxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRCxTQUFTLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztnQkFDN0IsU0FBUyxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDaEY7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcscURBQXFELEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVIO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO0lBQ2pCLENBQUM7SUFJTSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPO1FBQ0wsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO1NBQzlEO2FBQU07WUFDTCxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxjQUFjLENBQUM7U0FDM0c7UUFDRCxlQUFlO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztRQUM5RCwwREFBMEQ7UUFDMUQsc0RBQXNEO1FBQ3RELDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixHQUFHLDBCQUEwQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkYsK0NBQStDO1FBRS9DLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztRQUV2RCxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQSw4QkFBOEI7UUFDcEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUc7WUFDeEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxhQUFhO1lBQ2hDLEtBQUssRUFBRSxZQUFZLENBQUMsV0FBVztZQUMvQixVQUFVLEVBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDM0gsNjdCQUE2N0I7U0FDOTdCLENBQUMsQ0FBQyw2QkFBNkI7UUFDaEMsaUVBQWlFO1FBRWpFLDhDQUE4QztRQUM5QyxvSEFBb0g7UUFFcEgsSUFBSSxVQUFVLEdBQUc7WUFDZixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7WUFDbEIsWUFBWSxFQUFFLElBQUk7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixhQUFhLEVBQUUsS0FBSztZQUNwQixXQUFXLEVBQUUsS0FBSztZQUNsQixtQkFBbUIsRUFBRSxFQUFFO1lBQ3ZCLHNCQUFzQixFQUFFLEtBQUs7WUFDN0IsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtTQUNoQztRQUNELGFBQWE7SUFFZixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRO1FBQ3pCLElBQUksUUFBUSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFlBQVksQ0FBQyxXQUFXO1lBQ2pDLFVBQVUsRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWTtZQUNoRSxLQUFLLEVBQUUsRUFBRTtZQUNULGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDO1lBQzFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVc7U0FDM0MsQ0FBQztRQUNGLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQzNCLElBQUksRUFBRSxNQUFNO1lBQ1osSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsTUFBTTtZQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUM3QixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUM3QyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUMvQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUM3QyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QixVQUFVLENBQUM7b0JBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO3dCQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDakM7Z0JBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrRUF6UFUsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNOztpRkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyaXB0Q29uc3RhbnQgfSBmcm9tICcuL3NjcmlwdC5jb25zdCc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbC91dGlsLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IGtvcmVCb3RDaGF0OiBhbnk7XG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcblxuaW50ZXJmYWNlIERpc2NsYWltZXJQb3B1cCB7XG4gIGhlYWRlcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmdcbn1cbmludGVyZmFjZSBIZWFkZXJDb25maWcge1xuICBzaG93TGFuZ3VhZ2VUb2dnbGU6IGJvb2xlYW47XG4gIHNob3dNaW5pbWl6ZUJ1dHRvbjogYm9vbGVhbjtcbiAgc2hvd0V4cGFuZEJ1dHRvbjogYm9vbGVhbjtcbiAgc2hvd1JlbG9hZEJ1dHRvbjogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDdXN0b21EYXRhIHtcbiAgY29ubmVjdGluZ01lc3NhZ2U6IHN0cmluZztcbiAgaG92ZXJNZXNzYWdlOiBzdHJpbmc7XG4gIGJvdFN0YXRlOiBzdHJpbmc7XG4gIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IGJvb2xlYW47XG4gIHNob3dEaXNjbGFpbWVyUG9wVXA6IGJvb2xlYW47XG4gIHNob3dDaGF0QnViYmxlQXRDbG9zZWQ6IGJvb2xlYW47XG4gIGJvdEF2YXRhckltYWdlTmFtZTogc3RyaW5nO1xuICBib3RJY29uSW1hZ2VOYW1lOiBzdHJpbmc7XG4gIGZvcm1CYW5uZXJQYXRoOiBzdHJpbmcsXG4gIHJvb3RGaWxlUGF0aDogc3RyaW5nO1xuICBzdXBwb3J0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdO1xuICBpbml0aWFsTGFuZ3VhZ2U6IHN0cmluZztcbiAgZGlzY2xhaW1lclBvcHVwOiBEaXNjbGFpbWVyUG9wdXA7XG4gIGhlYWRlckNvbmZpZzogSGVhZGVyQ29uZmlnO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGF0Ym90U2VydmljZSB7XG5cbiAgbWFwOiBNYXA8c3RyaW5nLCBDdXN0b21EYXRhPiA9IG5ldyBNYXAoKTtcblxuICBtc0N1c3RvbURhdGE6IEN1c3RvbURhdGEgPSB7XG4gICAgY29ubmVjdGluZ01lc3NhZ2U6IFwiV2VsY29tZSB0byBSZUVtcGxveU1TLiBJIGFtIHlvdXIgdmlydHVhbCBhc3Npc3RhbnQgdG8gaGVscCB5b3Ugd2l0aCBNREVTIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIGNoYXQgYm90XCIsXG4gICAgYm90U3RhdGU6IFwiTVNcIixcbiAgICBzaG93Q29sbGVjdFVzZXJEZXRhaWxGb3JtOiB0cnVlLFxuICAgIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsXG4gICAgc2hvd0NoYXRCdWJibGVBdENsb3NlZDogZmFsc2UsXG4gICAgYm90QXZhdGFySW1hZ2VOYW1lOiBcIkF2YXRhckljb24ucG5nXCIsXG4gICAgYm90SWNvbkltYWdlTmFtZTogXCJBdmF0YXJJY29uLnBuZ1wiLFxuICAgIGZvcm1CYW5uZXJQYXRoOiBcIlwiLFxuICAgIHJvb3RGaWxlUGF0aDogXCJVSS9cIixcbiAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IFtcImVuXCJdLFxuICAgIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLFxuICAgIC8vIHN0YXJ0ZXJUYXNrOiB7ZW46XCJGb3Jnb3QgUGFzc3dvcmRcIiwgZXM6XCJGb3Jnb3QgUGFzc3dvcmRcIn0sXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XG4gICAgICBoZWFkZXI6IFwiSW1wb3J0YW50IG1lc3NhZ2VcIixcbiAgICAgIG1lc3NhZ2U6IGBNREVTJyB2aXJ0dWFsIGFzc2lzdGFudCB3aWxsIGFzayBmb3Igc3BlY2lmaWMgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIHN1Y2ggYXMgU29jaWFsIFNlY3VyaXR5IE51bWJlciBhbmQgRGF0ZSBvZiBCaXJ0aCwgdGhhdCBpcyBuZWVkZWQgdG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24ocykuPC9icj48L2JyPiBNREVTIGZvbGxvd3Mgc3RyaWN0IGZlZGVyYWwgc2VjdXJpdHkgZ3VpZGVsaW5lcyB0byBwcm90ZWN0IHlvdXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLjwvYnI+PC9icj5UbyBmdXJ0aGVyIHByb3RlY3QgeW91ciBpbmZvcm1hdGlvbiB5b3Ugc2hvdWxkIGNsb3NlIHRoZSBjaGF0IHdpbmRvdyBhbmQgYnJvd3NlciB3aGVuIHlvdSBhcmUgZmluaXNoZWQuPC9wPmBcbiAgICB9LFxuICAgIGhlYWRlckNvbmZpZzoge1xuICAgICAgc2hvd0xhbmd1YWdlVG9nZ2xlOiBmYWxzZSxcbiAgICAgIHNob3dNaW5pbWl6ZUJ1dHRvbjogZmFsc2UsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IGZhbHNlLFxuICAgIH1cbiAgfVxuXG4gIG1lQ3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcbiAgICBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95TUUuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1FIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIEJsdWVcIixcbiAgICBib3RTdGF0ZTogXCJNRVwiLFxuICAgIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IGZhbHNlLFxuICAgIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsXG4gICAgc2hvd0NoYXRCdWJibGVBdENsb3NlZDogZmFsc2UsXG4gICAgYm90SWNvbkltYWdlTmFtZTogXCJCbHVlSWNvbi5zdmdcIixcbiAgICBib3RBdmF0YXJJbWFnZU5hbWU6IFwiQmx1ZUljb24uc3ZnXCIsXG4gICAgZm9ybUJhbm5lclBhdGg6IFwiXCIsXG4gICAgcm9vdEZpbGVQYXRoOiBcIlVJL1wiLFxuICAgIHN1cHBvcnRlZExhbmd1YWdlczogW1wiZW5cIl0sXG4gICAgaW5pdGlhbExhbmd1YWdlOiBcImVuXCIsXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XG4gICAgICBoZWFkZXI6IFwiSW1wb3J0YW50IG1lc3NhZ2VcIixcbiAgICAgIG1lc3NhZ2U6IGBNRURPTCdzIHZpcnR1YWwgYXNzaXN0YW50IG1heSBhc2sgeW91IHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLCBzdWNoIGFzIFNvY2lhbCBTZWN1cml0eSBOdW1iZXIgYW5kIERhdGUgb2YgQmlydGgsIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpLiBNRSBET0wgZm9sbG93cyBzdHJpY3QgZmVkZXJhbCBzZWN1cml0eSBndWlkZWxpbmVzIHRvIHByb3RlY3QgeW91ciBzZW5zaXRpdmUgaW5mb3JtYXRpb24uIFRvIGZ1cnRoZXIgcHJvdGVjdCB5b3VyIGluZm9ybWF0aW9uIHlvdSBzaG91bGQgY2xvc2UgdGhlIGNoYXQgd2luZG93IGFuZCBicm93c2VyIHdoZW4geW91IGFyZSBmaW5pc2hlZC5gXG4gICAgfSxcbiAgICBoZWFkZXJDb25maWc6IHtcbiAgICAgIHNob3dMYW5ndWFnZVRvZ2dsZTogZmFsc2UsXG4gICAgICBzaG93TWluaW1pemVCdXR0b246IHRydWUsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IHRydWUsXG4gICAgfVxuICB9XG4gIGN0Q3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcbiAgICBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95Q1QuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1FIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIEJsdWVcIixcbiAgICBib3RTdGF0ZTogXCJDVFwiLFxuICAgIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IHRydWUsXG4gICAgc2hvd0Rpc2NsYWltZXJQb3BVcDogdHJ1ZSxcbiAgICBzaG93Q2hhdEJ1YmJsZUF0Q2xvc2VkOiBmYWxzZSxcbiAgICBib3RJY29uSW1hZ2VOYW1lOiBcImNoYXRib3RpY29uLnBuZ1wiLFxuICAgIGJvdEF2YXRhckltYWdlTmFtZTogXCJjaGF0Ym90aWNvbi5wbmdcIixcbiAgICBmb3JtQmFubmVyUGF0aDogXCJcIixcbiAgICByb290RmlsZVBhdGg6IFwiVUkvXCIsXG4gICAgc3VwcG9ydGVkTGFuZ3VhZ2VzOiBbXCJlblwiLCBcImVzXCJdLFxuICAgIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLFxuICAgIGRpc2NsYWltZXJQb3B1cDoge1xuICAgICAgaGVhZGVyOiBcIkltcG9ydGFudCBtZXNzYWdlXCIsXG4gICAgICBtZXNzYWdlOiBgVGhlIENURE9MIHZpcnR1YWwgYXNzaXN0YW50IHdpbGwgbmVlZCB0byBhc2sgZm9yIHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpIHN1Y2ggYXMgZGF0ZSBvZiBiaXJ0aCBvciBTb2NpYWwgU2VjdXJpdHkgbnVtYmVyLiBUaGUgYWdlbmN5IGZvbGxvd3Mgc3RyaWN0IGZlZGVyYWwgc2VjdXJpdHkgZ3VpZGVsaW5lcyB0byBwcm90ZWN0IHlvdXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLiBUbyBmdXJ0aGVyIHByb3RlY3QgeW91ciBpbmZvcm1hdGlvbiwgaWYgeW91IGFyZSBvbiBhIHB1YmxpYyBjb21wdXRlciwgcGxlYXNlIGxvZyBvdXQgYW5kIGNsb3NlIHlvdXIgYnJvd3NlciB3aGVuIHlvdSBhcmUgZmluaXNoZWQuYFxuICAgIH0sXG4gICAgaGVhZGVyQ29uZmlnOiB7XG4gICAgICBzaG93TGFuZ3VhZ2VUb2dnbGU6IHRydWUsXG4gICAgICBzaG93TWluaW1pemVCdXR0b246IHRydWUsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IHRydWUsXG4gICAgfVxuICB9XG4gIHB1YmxpYyBib3RPcHRpb25zOiBhbnkgPSB7fTtcbiAgcHVibGljIGtvcmVCb3Q6IGFueSA9IHt9O1xuICBpbml0Q2hhdGJvdDogQmVoYXZpb3JTdWJqZWN0PEJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHVibGljIHNob3dDaGF0Ym90OiBib29sZWFuID0gKExpYkNvbnN0YW50cy5lbmFibGVDaGF0Ym90ID09ICd0cnVlJyk7XG4gIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MiwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgbHM6IExvZ2luU2VydmljZSwgcHJpdmF0ZSB1dGlsOiBVdGlsU2VydmljZSkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnQ2hhdGJvdFNlcnZpY2UgaW5pdGlhbGl6emVkIHN1Y2Nlc3NmdWxseS4nKTtcblxuICAgIHRoaXMubWFwLnNldChcIm1zXCIsIHRoaXMubXNDdXN0b21EYXRhKTtcbiAgICB0aGlzLm1hcC5zZXQoXCJtZVwiLCB0aGlzLm1lQ3VzdG9tRGF0YSk7XG4gICAgdGhpcy5tYXAuc2V0KFwiY3RcIiwgdGhpcy5jdEN1c3RvbURhdGEpO1xuICAgIHRoaXMuZ2V0Q2hhdGJvdEJzKCkuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZiAodmFsKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0luaXRpYWxpemluZyBDaGF0Ym90LicpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVDaGF0Ym90KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRDaGF0Ym90QnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdENoYXRib3Q7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHRoaXMuaW5pdENoYXRib3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGxvYWRTY3JpcEFuZFN0eWxlKCkge1xuICAgIGlmICghTGliQ29uc3RhbnRzLnByb2R1Y3Rpb24gJiYgdGhpcy5zaG93Q2hhdGJvdCkgeyAvL3NldCB0aGlzIHByb3BlcnR5IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gdGVzdCB0aGlzIGluIGxvY2FsIGVudi5cbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ05vdCBMb2FkaW5nIENoYXRib3QgYXMgY3VycmVudCBlbnZpcm9ubWVudCBpcyBub3QgcHJvZHVjdGlvbi4gU2V0IFwicHJvZHVjdGlvbj10cnVlXCIgYW5kIFwic2hvd0NoYXRib3Q9dHJ1ZVwiIGlmIHlvdSB3YW50IHRvIHRlc3QgY2hhdGJvdCBpbiBsb2NhbCBlbnYuJyk7XG4gICAgICByZXR1cm47O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdMb2FkaW5nIGNoYXRib3QgLi4uJyk7XG4gICAgfVxuXG4gICAgU2NyaXB0Q29uc3RhbnQuaW1wb3J0VXJscy5mb3JFYWNoKHNjcmlwdEVsZW1lbnQgPT4ge1xuICAgICAgLy8gb3RoZXIgdGhhbiBqcyBhbmQgc3R5bGVzaGVldCBhcmUgaWdub3JlZFxuICAgICAgaWYgKHNjcmlwdEVsZW1lbnQudHlwZSA9PT0gU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSkge1xuICAgICAgICBjb25zdCBqc1NjcmlwdE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgLy8vLyBqc1NjcmlwdE5vZGUuc3JjID0gZW52aXJvbm1lbnQua29yZUFpV2ViU2RrVXJsICsgc2NyaXB0RWxlbWVudC51cmw7XG4gICAgICAgIGpzU2NyaXB0Tm9kZS5zcmMgPSBMaWJDb25zdGFudHMua29yZUFpV2ViU2RrVXJsICsgc2NyaXB0RWxlbWVudC51cmw7XG5cbiAgICAgICAganNTY3JpcHROb2RlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcblxuICAgICAgICBpZiAoc2NyaXB0RWxlbWVudC5hc3luYyA9PSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhqc1NjcmlwdE5vZGUuc3JjICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmMgYmVjYXVzZSBvZiBudWxsIGFzeW5jIHZhbHVlXCIpO1xuICAgICAgICAgIGpzU2NyaXB0Tm9kZS5hc3luYyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC5hc3luYyA9PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhzY3JpcHRFbGVtZW50LnVybCArIFwiIHdpbGwgYmUgbG9hZGVkIGFzIGFzeW5jIGJlY2F1c2Ugb2YgbnVsbCBhc3luYyB0cnVlXCIpO1xuXG4gICAgICAgICAganNTY3JpcHROb2RlLmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKHNjcmlwdEVsZW1lbnQudXJsICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmM9ZmFsc2VcIik7XG5cbiAgICAgICAgICBqc1NjcmlwdE5vZGUuYXN5bmMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0sIGpzU2NyaXB0Tm9kZSk7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoanNTY3JpcHROb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC50eXBlID09PSBTY3JpcHRDb25zdGFudC5jc3NQcm9wZXJ0eSkge1xuICAgICAgICBjb25zdCBzdHlsZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHN0eWxlTm9kZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIHN0eWxlTm9kZS5ocmVmID0gTGliQ29uc3RhbnRzLmtvcmVBaVdlYlNka1VybCArIHNjcmlwdEVsZW1lbnQudXJsO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0sIHN0eWxlTm9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHNjcmlwdEVsZW1lbnQudHlwZSA9PT0gU2NyaXB0Q29uc3RhbnQuY3NzUHJvcGVydHlBYnNvbHV0ZSkge1xuICAgICAgICBjb25zdCBzdHlsZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHN0eWxlTm9kZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIHN0eWxlTm9kZS5ocmVmID0gc2NyaXB0RWxlbWVudC51cmw7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSwgc3R5bGVOb2RlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcigndXJsICcgKyBzY3JpcHRFbGVtZW50LnVybCArICcgaXMgbm90IGdvaW5nIHRvIGJlIGxvYWRlZCBiZWNhdXNlIG9mIGludmFsaWQgdHlwZSAnICsgc2NyaXB0RWxlbWVudC50eXBlKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gZm9yIGVhY2hcbiAgfVxuXG5cblxuICBwdWJsaWMgaW5pdGlhbGl6ZUNoYXRib3QoKSB7XG4gICAgdGhpcy5vcGVuYm90KCk7XG4gIH1cblxuICAvKioqXG4gICAqIFxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZSB0aGUgY2hhdGJvdCB3aXRoIGxvZ2dlZC1pbiB1c2VyLiBJZiB1c2VyIGlzIG5vdCBsb2dnZWQtaW4gdGhlbiBib3Qgc2Vzc2lvbiB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdW5pcXVlIHRpbWVzdGFtcC5cbiAgICovXG4gIG9wZW5ib3QoKSB7XG4gICAgbGV0IHVzZXJJZCA9IG51bGw7XG4gICAgaWYgKHRoaXMubHMuZ2V0VXNlcigpKSB7XG4gICAgICB1c2VySWQgPSB0aGlzLmxzLmdldFVzZXIoKS51c2VybmFtZSArICdfJyArIHRoaXMubHMuZ2V0VXNlcigpLnVzZXJUeXBlO1xuICAgICAgdGhpcy5ib3RPcHRpb25zLmFjY2Vzc1Rva2VuID0gdGhpcy5scy5nZXRVc2VyKCkuYWNjZXNzX3Rva2VuO1xuICAgIH0gZWxzZSB7XG4gICAgICB1c2VySWQgPSBNYXRoLmZsb29yKChNYXRoLnJhbmRvbSgpICogMTAwMDAwMDApICsgMSkgKyBcIl9cIiArIG5ldyBEYXRlKCkuZ2V0TWlsbGlzZWNvbmRzKCkgKyBcIkBtZGVzLm1zLmdvdlwiO1xuICAgIH1cbiAgICAvLyoqKkNPREVfU1RBUlRcbiAgICB0aGlzLmJvdE9wdGlvbnMubG9nTGV2ZWwgPSAnZGVidWcnO1xuICAgIHRoaXMuYm90T3B0aW9ucy5rb3JlQVBJVXJsID0gTGliQ29uc3RhbnRzLmtvcmVBaUNoYXRib3RTZXJ2ZXI7XG4gICAgLy9ib3RPcHRpb25zLmtvcmVTcGVlY2hBUElVcmwgPSBcImh0dHBzOi8vc3BlZWNoLmtvcmUuYWkvXCI7XG4gICAgLy9ib3RPcHRpb25zLmJlYXJlciA9IFwiYmVhcmVyIHh5ei0tLS0tLS0tLS0tLS0tLS0tLS1cIjtcbiAgICAvL2JvdE9wdGlvbnMudHRzU29ja2V0VXJsID0gJ3dzczovL3NwZWVjaC5rb3JlLmFpL3R0cy93cyc7XG4gICAgdGhpcy5ib3RPcHRpb25zLnJlY29yZGVyV29ya2VyUGF0aCA9ICcuL2xpYnMvcmVjb3JkZXJXb3JrZXIuanMnO1xuICAgIHRoaXMuYm90T3B0aW9ucy5hc3NlcnRpb25GbiA9IChvcHRpb25zLCBjYWxsYmFjaykgPT4gdGhpcy5hc3NlcnRpb24ob3B0aW9ucywgY2FsbGJhY2spO1xuICAgIC8vYm90T3B0aW9ucy5rb3JlQW5vbnltb3VzRm4gPSBrb3JlQW5vbnltb3VzRm47XG5cbiAgICB0aGlzLmJvdE9wdGlvbnMuSldUVXJsID0gTGliQ29uc3RhbnRzLmtvcmVBaUp3dFNlcnZpY2U7XG4gICAgXG4gICAgdGhpcy5ib3RPcHRpb25zLnVzZXJJZGVudGl0eSA9IHVzZXJJZDsvLyBQcm92aWRlIHVzZXJzIGVtYWlsIGlkIGhlcmVcbiAgICB0aGlzLmJvdE9wdGlvbnMuYm90SW5mbyA9IHtcbiAgICAgIG5hbWU6IExpYkNvbnN0YW50cy5rb3JlQWlCb3ROYW1lLFxuICAgICAgXCJfaWRcIjogTGliQ29uc3RhbnRzLmtvcmVBaUJvdElkLFxuICAgICAgY3VzdG9tRGF0YSA6IHRoaXMubWFwLmdldCh0aGlzLnV0aWwuZ2V0U3RhdGVMb3dlcmNhc2UoKSkgPyB0aGlzLm1hcC5nZXQodGhpcy51dGlsLmdldFN0YXRlTG93ZXJjYXNlKCkpIDogdGhpcy5tYXAuZ2V0KCdtcycpLFxuICAgICAgLy8gY3VzdG9tRGF0YTogeyBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95TUUuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1FIHJlbGF0ZWQgcXVlcmllcy5cIiwgaG92ZXJNZXNzYWdlOiBcIkFzayBCbHVlXCIsIGJvdFN0YXRlOiBcIk1FXCIsIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IGZhbHNlLCBzaG93RGlzY2xhaW1lclBvcFVwOiB0cnVlLCBib3RJY29uSW1hZ2VOYW1lOiBcImNoYXRib3RpY29uLnBuZ1wiLCBib3RBdmF0YXJJbWFnZU5hbWU6IFwiY2hhdGJvdGljb24ucG5nXCIsIHJvb3RGaWxlUGF0aDogXCJVSS9cIiwgc3VwcG9ydGVkTGFuZ3VhZ2VzOiBbXCJlblwiLCBcImVzXCJdLCBpbml0aWFsTGFuZ3VhZ2U6IFwiZW5cIiwgZGlzY2xhaW1lclBvcHVwOiB7IGhlYWRlcjogXCJJbXBvcnRhbnQgTWVzc2FnZVwiLCBtZXNzYWdlOiBgVGhlIHZpcnR1YWwgYXNzaXN0YW50IHdpbGwgbmVlZCB0byBhc2sgZm9yIHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3UgcXVlc3Rpb24ocykgc3VjaCBhcyBkYXRlIG9mIGJpcnRoIG9yIFNvY2lhbCBTZWN1cml0eSBudW1iZXIuIFRoZSBhZ2VuY3kgZm9sbG93cyBzdHJpY3QgZmVkZXJhbCBzZWN1cml0eSBndWlkZWxpbmVzIHRvIHByb3RlY3QgeW91ciBzZW5zaXRpdmUgaW5mb3JtYXRpb24uIFRvIGZ1cnRoZXIgcHJvdGVjdCB5b3VyIGluZm9ybWF0aW9uLCBpZiB5b3UgYXJlIG9uIGEgcHVibGljIGNvbXB1dGVyLCBwbGVhc2UgbG9nIG91dCBhbmQgY2xvc2UgeW91ciBicm93c2VyIHdoZW4geW91IGFyZSBmaW5pc2hlZC5gLCB9LCBoZWFkZXJDb25maWc6IHsgc2hvd0xhbmd1YWdlVG9nZ2xlOiB0cnVlLCBzaG93TWluaW1pemVCdXR0b246IHRydWUsIHNob3dFeHBhbmRidXR0b246IGZhbHNlLCBzaG93UmVsb2FkQnV0dG9uOiB0cnVlLCB9IH1cbiAgICB9OyAvLyBib3QgbmFtZSBpcyBjYXNlIHNlbnNpdGl2ZVxuICAgIC8vdGhpcy5ib3RPcHRpb25zLmNsaWVudFNlY3JldCA9IExpYkNvbnN0YW50cy5rb3JlQWlDbGllbnRTZWNyZXQ7XG5cbiAgICAvL3RoaXMuYm90T3B0aW9ucy5yZWVtcGxveVVzQmVhcmVyVG9rZW49IFwiXCI7ICBcbiAgICAvLyB3aWxsIG5lZWQgdG8gcGFzcyB0b2tlbiB0byBrb3JlQWlDaGF0Qm90U2VydmVyIHdoZW4gYXV0aGVudGljYXRpb24gbmVlZHMgdG8gYmUgdmFsaWRhdGVkIGZvciBzZXJ2ZXIgc2lkZSBhcGkgY2FsbFxuXG4gICAgdmFyIGNoYXRDb25maWcgPSB7XG4gICAgICBib3RPcHRpb25zOiB0aGlzLmJvdE9wdGlvbnMsXG4gICAgICBhbGxvd0lmcmFtZTogZmFsc2UsXG4gICAgICBpc1NlbmRCdXR0b246IHRydWUsXG4gICAgICBpc1RUU0VuYWJsZWQ6IGZhbHNlLFxuICAgICAgaXNTcGVlY2hFbmFibGVkOiBmYWxzZSxcbiAgICAgIGFsbG93R29vZ2xlU3BlZWNoOiBmYWxzZSxcbiAgICAgIGFsbG93TG9jYXRpb246IGZhbHNlLFxuICAgICAgbG9hZEhpc3Rvcnk6IGZhbHNlLFxuICAgICAgbWVzc2FnZUhpc3RvcnlMaW1pdDogMTAsXG4gICAgICBhdXRvRW5hYmxlU3BlZWNoQW5kVFRTOiBmYWxzZSxcbiAgICAgIGdyYXBoTGliOiBcImQzXCJcbiAgICB9O1xuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmtvcmVCb3QpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5rb3JlQm90ID0ga29yZUJvdENoYXQoKTtcbiAgICAgIHRoaXMua29yZUJvdC5zaG93KGNoYXRDb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmtvcmVCb3QucmVzdW1lQ2hhdFdpbmRvdygpXG4gICAgfVxuICAgIC8vKioqQ09ERV9FTkRcblxuICB9XG5cbiAgYXNzZXJ0aW9uKG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGpzb25EYXRhID0ge1xuICAgICAgXCJib3RJZFwiOiBMaWJDb25zdGFudHMua29yZUFpQm90SWQsXG4gICAgICBcImlkZW50aXR5XCI6IG9wdGlvbnMudXNlcklkZW50aXR5IHx8IHRoaXMuYm90T3B0aW9ucy51c2VySWRlbnRpdHksXG4gICAgICBcImF1ZFwiOiBcIlwiLFxuICAgICAgXCJpc0Fub255bW91c1wiOiAodGhpcy5scy5nZXRVc2VyKCkgPT0gbnVsbCksXG4gICAgICBcImFjY2Vzc1Rva2VuXCI6IHRoaXMuYm90T3B0aW9ucy5hY2Nlc3NUb2tlblxuICAgIH07XG4gICAgJC5hamF4KHtcbiAgICAgIHVybDogdGhpcy5ib3RPcHRpb25zLkpXVFVybCxcbiAgICAgIHR5cGU6ICdwb3N0JyxcbiAgICAgIGRhdGE6IGpzb25EYXRhLFxuICAgICAgZGF0YVR5cGU6ICdqc29uJyxcbiAgICAgIHN1Y2Nlc3M6IChkYXRhKSA9PiB7XG4gICAgICAgIG9wdGlvbnMuYXNzZXJ0aW9uID0gZGF0YS5qd3Q7XG4gICAgICAgIG9wdGlvbnMuaGFuZGxlRXJyb3IgPSB0aGlzLmtvcmVCb3Quc2hvd0Vycm9yO1xuICAgICAgICBvcHRpb25zLmNoYXRIaXN0b3J5ID0gdGhpcy5rb3JlQm90LmNoYXRIaXN0b3J5O1xuICAgICAgICBvcHRpb25zLmJvdERldGFpbHMgPSB0aGlzLmtvcmVCb3QuYm90RGV0YWlscztcbiAgICAgICAgY2FsbGJhY2sobnVsbCwgb3B0aW9ucyk7XG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICh0aGlzLmtvcmVCb3QgJiYgdGhpcy5rb3JlQm90LmluaXRUb2tlbikge1xuICAgICAgICAgICAgdGhpcy5rb3JlQm90LmluaXRUb2tlbihvcHRpb25zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDIwMDApO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMua29yZUJvdC5zaG93RXJyb3IoZXJyLnJlc3BvbnNlVGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -131,25 +131,23 @@ export class LoginService {
|
|
|
131
131
|
}
|
|
132
132
|
async refreshToken(refreshToken) {
|
|
133
133
|
let headers = new HttpHeaders({
|
|
134
|
-
"Accept": "application/x-www-form-urlencoded"
|
|
135
|
-
//'Authorization': `Basic ` + btoa(`${LibConstants.oauthClientUser}:${LibConstants.oauthClientSecret}`)
|
|
134
|
+
"Accept": "application/x-www-form-urlencoded"
|
|
136
135
|
});
|
|
137
136
|
this.options = { headers: headers };
|
|
138
137
|
let authData = new FormData();
|
|
139
138
|
authData.set('grant_type', 'refresh_token');
|
|
140
|
-
|
|
139
|
+
authData.set('client_id', LibConstants.ocu);
|
|
141
140
|
authData.set('refresh_token', refreshToken);
|
|
142
141
|
return this.util.postFormData(`oauth/token`, authData, this.options).toPromise();
|
|
143
142
|
}
|
|
144
143
|
async refreshTokenWings(refreshToken) {
|
|
145
144
|
let headers = new HttpHeaders({
|
|
146
|
-
"Accept": "application/x-www-form-urlencoded"
|
|
147
|
-
'Authorization': `Basic ` + btoa(`${LibConstants.oauthWingsClientUser}:${LibConstants.oauthWingsClientSecret}`)
|
|
145
|
+
"Accept": "application/x-www-form-urlencoded"
|
|
148
146
|
});
|
|
149
147
|
this.options = { headers: headers };
|
|
150
148
|
let authData = new FormData();
|
|
151
149
|
authData.set('grant_type', 'refresh_token');
|
|
152
|
-
authData.set('client_id', LibConstants.oauthWingsClientUser);
|
|
150
|
+
//authData.set('client_id', LibConstants.oauthWingsClientUser);
|
|
153
151
|
authData.set('refresh_token', refreshToken);
|
|
154
152
|
return this.util.postFormData(`oauth/token`, authData, this.options).toPromise();
|
|
155
153
|
}
|
|
@@ -355,4 +353,4 @@ export class LoginService {
|
|
|
355
353
|
providedIn: 'root'
|
|
356
354
|
}]
|
|
357
355
|
}], () => [{ type: i1.UtilService }, { type: i2.Storage }, { type: i3.ClaimantContextService }], null); })();
|
|
358
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxZQUFZO0lBWXZCLFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlO1FBQzNCLElBQUcsR0FBRyxFQUFDO1lBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxR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O0lBRUQsb0JBQW9CLENBQUMsR0FBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxNQUFlO1FBQy9DLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLFlBQVksTUFBTSxFQUFFLENBQUM7aUJBQzNDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzs2RUExWlUsWUFBWTt1RUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNOztpRkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IE90cEF1dGhNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9PdHBBdXRoTW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyRGV0YWlsc01vZGVsJztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IENsYWltYW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1jb250ZXh0L2NsYWltYW50LWNvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luU2VydmljZSB7XG5cbiAgb3B0aW9ucyA9IHt9O1xuXG4gIHByaXZhdGUgdXNlckJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwcml2YXRlIHVzZXJJZEluVW5pdEJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgbWVudUJzIDogQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBwcml2YXRlIHVzZXIgOiBVc2VyTW9kZWw7XG5cbiAgcHJpdmF0ZSBhdXRoQ29kZSA6IHN0cmluZztcblxuICBzZXRBdXRoQ29kZShhdXRoY29kZSA6IHN0cmluZyl7XG4gICAgdGhpcy5hdXRoQ29kZSA9IGF1dGhjb2RlO1xuICB9XG5cbiAgZ2V0QXV0aGNvZGUoKXtcbiAgICByZXR1cm4gdGhpcy5hdXRoQ29kZTtcbiAgfVxuXG4gIGdldFVzZXIoKSA6IFVzZXJNb2RlbHtcbiAgICByZXR1cm4gdGhpcy51c2VyQnMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldFVzZXJCcygpIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXNlckJzO1xuICB9XG5cbiAgZ2V0TWVudUJzKCkgOiBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT57XG4gICAgcmV0dXJuIHRoaXMubWVudUJzO1xuICB9XG5cbiAgYXN5bmMgc2V0VXNlcihyZXMgOiBVc2VyTW9kZWwpe1xuICAgIGlmKHJlcyl7XG4gICAgICBsZXQgdXNlciA9IG5ldyBVc2VyTW9kZWwoKTtcbiAgICAgIHVzZXIuZmlyc3ROYW1lID0gcmVzLmZpcnN0TmFtZTtcbiAgICAgIHVzZXIubGFzdE5hbWUgPSByZXMubGFzdE5hbWU7XG4gICAgICB1c2VyLnVzZXJuYW1lID0gcmVzWyd1c2VyX25hbWUnXTtcbiAgICAgIHVzZXIubWlkZGxlTmFtZSA9IHJlcy5taWRkbGVOYW1lO1xuICAgICAgdXNlci5pc0FjdGl2ZSA9IHJlcy5pc0FjdGl2ZVxuICAgICAgdXNlci5yb2xlcyA9IHJlcy5yb2xlcztcbiAgICAgIHVzZXIuZnVuY3Rpb25zID0gcmVzLmZ1bmN0aW9ucztcbiAgICAgIHVzZXIuZG9iID0gcmVzLmRvYjtcbiAgICAgIHVzZXIudXNlclR5cGUgPSByZXMudXNlclR5cGU7XG4gICAgICB1c2VyLmdlbmRlciA9IHJlcy5nZW5kZXI7XG4gICAgICB1c2VyLmVtYWlsSWQ9cmVzLmVtYWlsSWQ7XG4gICAgICB1c2VyLnBhc3N3b3JkRXhwaXJhdGlvbkRhdGUgPSByZXMucGFzc3dvcmRFeHBpcmF0aW9uRGF0ZTtcbiAgICAgIHVzZXIuZW1haWxTdGF0dXMgPSByZXMuZW1haWxTdGF0dXM7XG4gICAgICB1c2VyLmlzTG9nZ2VkSW4gPSByZXMuaXNMb2dnZWRJbjtcbiAgICAgIHVzZXIuY2hhbmdlUHdkID0gcmVzLmNoYW5nZVB3ZDtcbiAgICAgIHVzZXIuZXhwaXJhdGlvbiA9IHJlcy5leHBpcmF0aW9uO1xuICAgICAgdXNlci5leHBpcmVzX2luID0gcmVzLmV4cGlyZXNfaW47XG4gICAgICB1c2VyLnNzbiA9IHJlcy5zc247XG4gICAgICB1c2VyLmNsYWltYW50SWQgPSByZXMuY2xhaW1hbnRJZDtcbiAgICAgIHVzZXIuZW1wbG95ZXJJZCA9IHJlcy5lbXBsb3llcklkO1xuICAgICAgdXNlci5jb29raWVOYW1lID0gcmVzLmNvb2tpZU5hbWU7XG4gICAgICB1c2VyLmNvb2tpZVZhbHVlID0gcmVzLmNvb2tpZVZhbHVlO1xuICAgICAgdXNlci51c2VyVW5pdCA9IHJlcy51c2VyVW5pdDtcbiAgICAgIHVzZXIuZG9tYWluTmFtZSA9IHJlcy5kb21haW5OYW1lO1xuICAgICAgdXNlci5pczJGQVJlcXVpcmVkID0gcmVzLmlzMkZBUmVxdWlyZWQ7XG4gICAgICB1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgPSByZXMuZGF5c1RpbGxQYXNzd29yZEV4cGlyZTtcbiAgICAgIHVzZXIuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkID0gcmVzLmlzRW1haWxWZXJpZmljYXRpb25SZXF1aXJlZDtcbiAgICAgIHVzZXIuY2VsbHBob25lTm8gPSByZXMuY2VsbHBob25lTm87XG4gICAgICB1c2VyLmNlbGxwaG9uZVN0YXR1cyA9IHJlcy5jZWxscGhvbmVTdGF0dXM7XG4gICAgICB1c2VyLnN1cHBvcnRlZE1mYVR5cGVzID0gcmVzLnN1cHBvcnRlZE1mYVR5cGVzO1xuICAgICAgaWYocmVzLmFjY2Vzc190b2tlbiAmJiByZXMucmVmcmVzaF90b2tlbil7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gcmVzLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gcmVzLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHJlcy5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVzLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gdGhpcy51c2VyLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gdGhpcy51c2VyLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHRoaXMudXNlci5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgdGhpcy51c2VyLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgndXNlcm5hbWUnLCBidG9hKHVzZXIudXNlcm5hbWUpKTtcbiAgICAgIGxldCBzaG93X2Rpc2Nsb3N1cmUgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KCdzaG93X2Rpc2Nsb3N1cmUnKTtcbiAgICAgIGlmKHNob3dfZGlzY2xvc3VyZSA9PSBudWxsIHx8IHNob3dfZGlzY2xvc3VyZSA9PSB1bmRlZmluZWQgfHwgc2hvd19kaXNjbG9zdXJlICE9ICdmYWxzZScpe1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdzaG93X2Rpc2Nsb3N1cmUnLCAndHJ1ZScpO1xuICAgICAgfVxuICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgIHRoaXMudXNlckJzLm5leHQodGhpcy51c2VyKTtcbiAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdtcycpKXtcbiAgICAgICAgaWYoIXVzZXIuaXMyRkFSZXF1aXJlZCl7XG4gICAgICAgICAgdGhpcy5jcmVhdGVDb29raWUoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUsIGBcIiR7dXNlci5jb29raWVWYWx1ZX1cImAsIHVzZXIuZXhwaXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKS5maXJzdE5hbWUgKyAodGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSAhPSBudWxsID8gJyAnICsgdGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSA6ICcnKSArICcgJyArIHRoaXMuZ2V0VXNlcigpLmxhc3ROYW1lO1xuICB9XG5cbiAgZ2V0SXNVc2VyUHJvZmlsZUNvbXBsZXRlKCl7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkudXNlclByb2ZpbGVDb21wbGV0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgcHJpdmF0ZSBjbGFpbWFudENvbnRleHRTZXJ2aWNlIDogQ2xhaW1hbnRDb250ZXh0U2VydmljZSkgeyBcbiAgICBcbiAgfVxuXG4gIGdldFVzZXJQZXJzb25hbERldGFpbHMoKSA6IE9ic2VydmFibGU8VXNlckRldGFpbHNNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8VXNlckRldGFpbHNNb2RlbD4oJ3VzZXIvZGV0YWlscy8nICsgdGhpcy51c2VyLnVzZXJuYW1lKTtcbiAgfVxuXG4gIGdlbmVyYXRlT3RwKHVzZXJJZCA6IHN0cmluZywgdHlwZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvb3RwLyR7dXNlcklkfT90eXBlPSR7dHlwZX1gKTtcbiAgfVxuXG4gIGxvZ2luKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJyk7XG4gICAgYXV0aERhdGEuc2V0KCd1c2VybmFtZScsIGF1dGgudXNlcklkKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3Bhc3N3b3JkJywgYXV0aC5wYXNzd29yZCk7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGF1dGhEYXRhLHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBsb2dpbkFuZENoZWNrRm9yTUZBKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ21mYScpO1xuICAgIGF1dGhEYXRhLnNldCgndXNlcm5hbWUnLCBhdXRoLnVzZXJJZCk7XG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xuICAgIGlmKGF1dGgub3RwKXtcbiAgICAgIGF1dGhEYXRhLnNldCgnbWZhX2NvZGUnLCBhdXRoLm90cCk7XG4gICAgICBhdXRoRGF0YS5zZXQoJ2lzX3RydXN0ZWRfZGV2aWNlJywgYXV0aC5pc3RydXN0ZWREZXZpY2UpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYXV0aERhdGEsdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxuICAgICAgLy8nQXV0aG9yaXphdGlvbic6IGBCYXNpYyBgICsgYnRvYShgJHtMaWJDb25zdGFudHMub2F1dGhDbGllbnRVc2VyfToke0xpYkNvbnN0YW50cy5vYXV0aENsaWVudFNlY3JldH1gKVxuICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuXG4gICAgbGV0IGF1dGhEYXRhIDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAncmVmcmVzaF90b2tlbicpO1xuICAgIC8vYXV0aERhdGEuc2V0KCdjbGllbnRfaWQnLCBMaWJDb25zdGFudHMub2F1dGhDbGllbnRVc2VyKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZWZyZXNoVG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0Rm9ybURhdGE8VXNlck1vZGVsPihgb2F1dGgvdG9rZW5gLCBhdXRoRGF0YSwgdGhpcy5vcHRpb25zKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbldpbmdzKHJlZnJlc2hUb2tlbil7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIsXG4gICAgICAnQXV0aG9yaXphdGlvbic6IGBCYXNpYyBgICsgYnRvYShgJHtMaWJDb25zdGFudHMub2F1dGhXaW5nc0NsaWVudFVzZXJ9OiR7TGliQ29uc3RhbnRzLm9hdXRoV2luZ3NDbGllbnRTZWNyZXR9YClcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2NsaWVudF9pZCcsIExpYkNvbnN0YW50cy5vYXV0aFdpbmdzQ2xpZW50VXNlcik7XG4gICAgYXV0aERhdGEuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVmcmVzaFRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oYG9hdXRoL3Rva2VuYCwgYXV0aERhdGEsIHRoaXMub3B0aW9ucykudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBjcmVhdGVUb2tlblBvc3RTc29WYWxpZGF0aW9uKCl7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpO1xuICAgIGNvbnN0IGJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIGdyYW50X3R5cGU6ICdjdXN0b21fc3NvJ1xuICAgIH0pLnRvU3RyaW5nKCk7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGJvZHksIHsgaGVhZGVycyx3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBsb2FkVXNlckluZm8oKXtcbiAgICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XG4gICAgICBsZXQgYXV0aFRva2VuID0gYXdhaXQgdGhpcy5nZXRTdG9yZWRBY2Nlc3NUb3BlbigpO1xuICAgICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8VXNlck1vZGVsPihgb2F1dGgvY2hlY2tfdG9rZW4/dG9rZW49JHthdXRoVG9rZW59YCkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRTdG9yZWRBY2Nlc3NUb3Blbigpe1xuICAgIGxldCBhY2Nlc3NUb2tlbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoJ2FjY2Vzc190b2tlbicpLnRoZW4ocmVzID0+IHJlcyk7XG4gICAgcmV0dXJuIGFjY2Vzc1Rva2VuO1xuICB9XG5cbiAgZ2VuZXJhdGVPdHBVbnJlZ2lzdGVyZWQobW9iaWxlTm8gOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KCdhdXRoL290cC9uZXd1c2VyLycgKyBtb2JpbGVObyk7XG4gIH1cblxuICBzaWduVXAodXNlck1vZGVsIDogVXNlck1vZGVsKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoJ3VzZXInLCB1c2VyTW9kZWwpO1xuICB9XG5cbiAgdXBkYXRlUGVyc29uYWxEZXRhaWxzKHVzckR0bHMgOiBVc2VyRGV0YWlsc01vZGVsKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoJ3VzZXIvZGV0YWlscycsIHVzckR0bHMpO1xuICB9XG5cbiAgcmVzZXQoKXtcbiAgICB0aGlzLnVzZXIgPSBudWxsO1xuICAgIHRoaXMudXNlckJzLm5leHQobnVsbCk7XG4gICAgdGhpcy5tZW51QnMubmV4dChudWxsKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdhY2Nlc3NfdG9rZW4nKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdyZWZyZXNoX3Rva2VuJyk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnc2hvd19kaXNjbG9zdXJlJyk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgndXNlcm5hbWUnKTtcbiAgICB0aGlzLmNsYWltYW50Q29udGV4dFNlcnZpY2UuY2xlYXJDb250ZXh0KCk7XG4gICAgdGhpcy5yZW1vdmVDb29raWVzKCk7XG4gIH1cblxuICByZW1vdmVDb29raWVzKCl7XG4gICAgdGhpcy5kZWxldGVDb29raWUoJ2F0Jyk7XG4gICAgdGhpcy5kZWxldGVDb29raWUoJ3J0Jyk7XG4gICAgdGhpcy5kZWxldGVDb29raWUoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUpO1xuICB9XG5cbiAgZGVsZXRlQ29va2llKGNvb2tpZU5hbWUpe1xuICAgIGxldCBjb29raWUgPSBgJHtjb29raWVOYW1lfT07IE1heC1BZ2U9MDsgcGF0aD0vOyBkb21haW49JHtMaWJDb25zdGFudHMuc3NvRG9tYWlufWA7XG4gICAgZG9jdW1lbnQuY29va2llID0gY29va2llO1xuICB9XG5cbiAgY3JlYXRlQ29va2llKGNvb2tpZU5hbWUsIHZhbHVlLCBleHBpcmF0aW9uKXtcbiAgICBsZXQgY29va2llID0gYCR7Y29va2llTmFtZX09JHt2YWx1ZX07IGV4cGlyZXM9JHtleHBpcmF0aW9uICsgJy4wMDAnfTsgcGF0aD0vOyBkb21haW49JHtMaWJDb25zdGFudHMuc3NvRG9tYWlufWA7XG4gICAgZG9jdW1lbnQuY29va2llID0gY29va2llO1xuICB9XG5cbiAgbG9nb3V0KCl7XG4gICAgaWYodGhpcy51c2VyKXtcbiAgICAgIHRoaXMudXRpbC5nZXQoJ3VzZXIvbG9nb3V0JylcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBpc0xvZ2dlZEluKCl7XG4gICAgcmV0dXJuIHRoaXMudXNlciAmJiB0aGlzLnVzZXIuaXNMb2dnZWRJbjtcbiAgfVxuXG4gIGlzMkZBUmVxdWlyZWQoKXtcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5pczJGQVJlcXVpcmVkO1xuICB9XG5cbiAgdXBkYXRlUHJvZmlsZSh1c2VyIDogVXNlck1vZGVsKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoJ3VzZXIvcHJvZmlsZScsIHVzZXIpO1xuICB9XG5cbiAgdXBkYXRlUGFzc3dvcmQob2xkUGFzc3dvcmQsIG5ld1Bhc3N3b3JkLCBjb25maXJtUGFzc3dvcmQpe1xuICAgIGxldCBwd2RDaGFuZ2VNb2RlbCA6IHtvbGRQYXNzd29yZDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBjb25maXJtUGFzc3dvcmQ6IHN0cmluZ30gPSB7b2xkUGFzc3dvcmQ6IG9sZFBhc3N3b3JkLCBwYXNzd29yZDogbmV3UGFzc3dvcmQsIGNvbmZpcm1QYXNzd29yZDogY29uZmlybVBhc3N3b3JkfTtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoYHVzZXIvcGFzc3dvcmQvJHt0aGlzLmdldFVzZXIoKS51c2VybmFtZX1gLCBwd2RDaGFuZ2VNb2RlbCk7XG4gIH1cblxuICBpbml0aWF0ZUZvcmdvdFBhc3N3b3JkKHVzZXJJZCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvcGFzc3dvcmQvcmVzZXQvJHt1c2VySWR9YCk7XG4gIH1cblxuICBpbml0aWF0ZUZvcmdvdFBhc3N3b3JkVjIodXNlcklkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci92Mi9wYXNzd29yZC9yZXNldC8ke3VzZXJJZH1gKTtcbiAgfVxuXG4gIGhhc1JvbGUocm9sZU5hbWUgOiBzdHJpbmcpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5yb2xlcyAmJiB0aGlzLnVzZXIucm9sZXMuaW5jbHVkZXMocm9sZU5hbWUpO1xuICB9XG5cbiAgaGFzRnVuY3Rpb24oZnVuY3Rpb25OYW1lIDogc3RyaW5nKSA6IGJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMudXNlciAmJiB0aGlzLnVzZXIuZnVuY3Rpb25zICYmIHRoaXMudXNlci5mdW5jdGlvbnMuaW5jbHVkZXMoZnVuY3Rpb25OYW1lKTtcbiAgfVxuXG4gIGhhc1JvbGVzKC4uLnJvbGVzIDogc3RyaW5nW10pe1xuICAgIGxldCBpc1ByZXNlbnQgPSBmYWxzZTtcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IHJvbGVzLmxlbmd0aCA7IGkrKyl7XG4gICAgICBpZih0aGlzLmhhc1JvbGUocm9sZXNbaV0udG9TdHJpbmcoKSkpe1xuICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzUHJlc2VudDtcbiAgfVxuXG4gIGhhc0Z1bmN0aW9ucyguLi5mdW5jdGlvbnMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgZnVuY3Rpb25zLmxlbmd0aCA7IGkrKyl7XG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xuICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzUHJlc2VudDtcbiAgfVxuXG4gIGNoZWNrUm9sZXMocm9sZXMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgcm9sZXMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzUm9sZShyb2xlc1tpXS50b1N0cmluZygpKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgY2hlY2tGdW5jdGlvbnMoZnVuY3Rpb25zIDogc3RyaW5nW10pe1xuICAgIGxldCBpc1ByZXNlbnQgPSBmYWxzZTtcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IGZ1bmN0aW9ucy5sZW5ndGggOyBpKyspe1xuICAgICAgaWYodGhpcy5oYXNGdW5jdGlvbihmdW5jdGlvbnNbaV0pKXtcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc1ByZXNlbnQ7XG4gIH1cblxuICBpc0Nzcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnXG4gIH1cblxuICBpc1RheEF1ZGl0U3VwZXJ2aXNvcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmhhc1JvbGUoJ3RheGF1ZGl0c3VwZXJ2aXNvcicpICYmdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdNREVTJyBcbiAgfVxuXG4gIGlzVGF4QXVkaXRBdWRpdG9yKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuaGFzUm9sZSgndGF4YXVkaXRzcGVjaWFsaXN0JykgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdNREVTJ1xuICB9XG5cbiAgaXNUYXhBdWRpdERpcmVjdG9yKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuaGFzUm9sZSgndGF4QXVkaXREaXJlY3RvcicpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUydcbiAgfVxuXG4gIGlzRW1wbG95ZXIoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdFTVBMJ1xuICB9XG5cbiAgaXNUcGEoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdUUEEnXG4gIH1cblxuICBpc0NsYWltYW50KCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnQ0xNVCdcbiAgfVxuXG4gIGhhc1NzbkFzc29jaWF0ZWQoKSA6IGJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnQ0xNVCcgJiYgdGhpcy5nZXRVc2VyKCkuc3NuICE9PSB1bmRlZmluZWQgXG4gIH1cblxuICBnZXRVc2VyTWVudXMoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxNZW51SXRlbVtdPihgbWVudS9gKTtcbiAgfVxuXG4gIG1hcmtGYXYobWVudUlkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3Q8TWVudUl0ZW1bXT4oYG1lbnUvZmF2LyR7bWVudUlkfWAsIG51bGwpO1xuICB9XG5cbiAgcmVtb3ZlRmF2KG1lbnVJZCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5kZWxldGU8TWVudUl0ZW1bXT4oYG1lbnUvZmF2LyR7bWVudUlkfWApO1xuICB9XG5cbiAgZ2V0RmF2b3VyaXRlTWVudSgpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PE1lbnVJdGVtW10+KGBtZW51L2ZhdmApO1xuICB9XG5cbiAgZ2V0VHJlbmRpbmdNZW51KCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvdHJlbmRpbmdgKTtcbiAgfVxuXG4gIHZlcmlmeUVtYWlsKGNvZGUgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdChgdXNlci9lbWFpbC8ke2NvZGV9YCwgbnVsbCk7XG4gIH1cblxuICBnZXROZXdDb2RlKCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvZW1haWxgKTtcbiAgfVxuXG4gIHVwZGF0ZUVtYWlsQW5kR2V0TmV3Q29kZShlbWFpbCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wYXRjaChgdXNlci9lbWFpbC8ke2VtYWlsfWAsIG51bGwpO1xuICB9XG5cbiAgZ2V0TmV3QXV0aENvZGUodHlwZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvb3RwP3R5cGU9JHt0eXBlfWApO1xuICB9XG5cbiAgYXNzb2NpYXRlU3NuVG9Vc2VySWQoc3NuIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoYGNsYWltYW50L2Fzc29jaWF0ZS1zc24vJHtzc259YCwgbnVsbCk7XG4gIH1cblxuICBnZXRVc2VySWRJblVuaXRCcygpe1xuICAgIHJldHVybiB0aGlzLnVzZXJJZEluVW5pdEJzO1xuICB9XG5cbiAgbG9hZFVzZXJJZHNGcm9tVW5pdE9mTG9nZ2VkSW5Vc2VyKHVuaXRJZCA6IHN0cmluZyl7XG4gICAgaWYodGhpcy51c2VySWRJblVuaXRCcy5nZXRWYWx1ZSgpID09IG51bGwpXG4gICAgICB0aGlzLnV0aWwuZ2V0PFVzZXJNb2RlbFtdPihgdXNlci9hbGwvJHt1bml0SWR9YClcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnVzZXJJZEluVW5pdEJzLm5leHQocmVzKSk7XG4gIH1cbn1cbiJdfQ==
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxZQUFZO0lBWXZCLFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlO1FBQzNCLElBQUcsR0FBRyxFQUFDO1lBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUE7WUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxHQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDekIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7WUFDdkMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztZQUN6RCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxDQUFDLDJCQUEyQixDQUFDO1lBQ25FLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQyxJQUFHLEdBQUcsQ0FBQyxZQUFZLElBQUksR0FBRyxDQUFDLGFBQWEsRUFBQztnQkFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7Z0JBQ3ZDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDekQsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzVEO2lCQUFJO2dCQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQzdDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQy9ELE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbEU7WUFDRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDeEQsSUFBSSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2hFLElBQUcsZUFBZSxJQUFJLElBQUksSUFBSSxlQUFlLElBQUksU0FBUyxJQUFJLGVBQWUsSUFBSSxPQUFPLEVBQUM7Z0JBQ3ZGLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDbkQ7WUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDekIsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUM7b0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3pGO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUMvSSxDQUFDO0lBRUQsd0JBQXdCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUFtQixJQUFrQixFQUFVLE9BQWdCLEVBQVUsc0JBQStDO1FBQXJHLFNBQUksR0FBSixJQUFJLENBQWM7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF5QjtRQWpHeEgsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUVMLFdBQU0sR0FBZ0MsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsbUJBQWMsR0FBa0MsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUUsV0FBTSxHQUFpQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQStGekUsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQixlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWUsRUFBRSxJQUFhO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxNQUFNLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQW1CO1FBQ3ZCLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQzVCLGdEQUFnRDtTQUNqRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXBDLElBQUksUUFBUSxHQUFjLElBQUksUUFBUSxFQUFFLENBQUM7UUFDekMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFZLGFBQWEsRUFBRSxRQUFRLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFtQjtRQUNyQyxJQUFJLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUM1QixnREFBZ0Q7U0FDakQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVwQyxJQUFJLFFBQVEsR0FBYyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsSUFBRyxJQUFJLENBQUMsR0FBRyxFQUFDO1lBQ1YsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3pEO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBWSxhQUFhLEVBQUUsUUFBUSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZO1FBQzdCLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzVCLFFBQVEsRUFBRyxtQ0FBbUM7U0FDOUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVwQyxJQUFJLFFBQVEsR0FBYyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzVDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUU1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFZLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsWUFBWTtRQUNsQyxJQUFJLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQztZQUM1QixRQUFRLEVBQUcsbUNBQW1DO1NBQy9DLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFcEMsSUFBSSxRQUFRLEdBQWMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN6QyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUM1QywrREFBK0Q7UUFDL0QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBWSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM5RixDQUFDO0lBRUQsS0FBSyxDQUFDLDRCQUE0QjtRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztRQUMzRixNQUFNLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUMvQixVQUFVLEVBQUUsWUFBWTtTQUN6QixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFZLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0csQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZO1FBQ2QsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDNUIsUUFBUSxFQUFHLG1DQUFtQztTQUMvQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLElBQUksU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBWSwyQkFBMkIsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4RixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQjtRQUN4QixJQUFJLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxRQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsU0FBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQTBCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxZQUFZLENBQUMsVUFBVTtRQUNyQixJQUFJLE1BQU0sR0FBRyxHQUFHLFVBQVUsZ0NBQWdDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuRixRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVTtRQUN4QyxJQUFJLE1BQU0sR0FBRyxHQUFHLFVBQVUsSUFBSSxLQUFLLGFBQWEsVUFBVSxHQUFHLE1BQU0sb0JBQW9CLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoSCxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUcsSUFBSSxDQUFDLElBQUksRUFBQztZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztpQkFDM0IsU0FBUyxDQUNSLEdBQUcsQ0FBQyxFQUFFO2dCQUNKLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtnQkFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUNGLENBQUE7U0FDRjthQUFJO1lBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlO1FBQ3RELElBQUksY0FBYyxHQUFzRSxFQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFDLENBQUM7UUFDNUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxNQUFlO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELHdCQUF3QixDQUFDLE1BQWU7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxZQUFxQjtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBRyxLQUFnQjtRQUMxQixJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsS0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUcsQ0FBQyxFQUFFLEVBQUM7WUFDckMsSUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFDO2dCQUNuQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNqQixNQUFNO2FBQ1A7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBRyxTQUFvQjtRQUNsQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsS0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUcsQ0FBQyxFQUFFLEVBQUM7WUFDekMsSUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDO2dCQUNoQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNqQixNQUFNO2FBQ1A7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0I7UUFDekIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFHLENBQUMsRUFBRSxFQUFDO1lBQ3JDLElBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBQztnQkFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDakIsTUFBTTthQUNQO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQW9CO1FBQ2pDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRyxDQUFDLEVBQUUsRUFBQztZQUN6QyxJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUM7Z0JBQ2hDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLE1BQU07YUFDUDtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQTtJQUM3RCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQTtJQUNsRyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFBO0lBQ25HLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFBO0lBQ2pHLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUE7SUFDN0QsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQTtJQUM1RCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFBO0lBQzdELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQTtJQUNqRyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWEsWUFBWSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBYSxZQUFZLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxXQUFXLENBQUMsSUFBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFjO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQWE7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxNQUFlO1FBQy9DLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLFlBQVksTUFBTSxFQUFFLENBQUM7aUJBQzNDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzs2RUF4WlUsWUFBWTt1RUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNOztpRkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IE90cEF1dGhNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9PdHBBdXRoTW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyRGV0YWlsc01vZGVsJztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IENsYWltYW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1jb250ZXh0L2NsYWltYW50LWNvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luU2VydmljZSB7XG5cbiAgb3B0aW9ucyA9IHt9O1xuXG4gIHByaXZhdGUgdXNlckJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwcml2YXRlIHVzZXJJZEluVW5pdEJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgbWVudUJzIDogQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBwcml2YXRlIHVzZXIgOiBVc2VyTW9kZWw7XG5cbiAgcHJpdmF0ZSBhdXRoQ29kZSA6IHN0cmluZztcblxuICBzZXRBdXRoQ29kZShhdXRoY29kZSA6IHN0cmluZyl7XG4gICAgdGhpcy5hdXRoQ29kZSA9IGF1dGhjb2RlO1xuICB9XG5cbiAgZ2V0QXV0aGNvZGUoKXtcbiAgICByZXR1cm4gdGhpcy5hdXRoQ29kZTtcbiAgfVxuXG4gIGdldFVzZXIoKSA6IFVzZXJNb2RlbHtcbiAgICByZXR1cm4gdGhpcy51c2VyQnMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldFVzZXJCcygpIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXNlckJzO1xuICB9XG5cbiAgZ2V0TWVudUJzKCkgOiBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT57XG4gICAgcmV0dXJuIHRoaXMubWVudUJzO1xuICB9XG5cbiAgYXN5bmMgc2V0VXNlcihyZXMgOiBVc2VyTW9kZWwpe1xuICAgIGlmKHJlcyl7XG4gICAgICBsZXQgdXNlciA9IG5ldyBVc2VyTW9kZWwoKTtcbiAgICAgIHVzZXIuZmlyc3ROYW1lID0gcmVzLmZpcnN0TmFtZTtcbiAgICAgIHVzZXIubGFzdE5hbWUgPSByZXMubGFzdE5hbWU7XG4gICAgICB1c2VyLnVzZXJuYW1lID0gcmVzWyd1c2VyX25hbWUnXTtcbiAgICAgIHVzZXIubWlkZGxlTmFtZSA9IHJlcy5taWRkbGVOYW1lO1xuICAgICAgdXNlci5pc0FjdGl2ZSA9IHJlcy5pc0FjdGl2ZVxuICAgICAgdXNlci5yb2xlcyA9IHJlcy5yb2xlcztcbiAgICAgIHVzZXIuZnVuY3Rpb25zID0gcmVzLmZ1bmN0aW9ucztcbiAgICAgIHVzZXIuZG9iID0gcmVzLmRvYjtcbiAgICAgIHVzZXIudXNlclR5cGUgPSByZXMudXNlclR5cGU7XG4gICAgICB1c2VyLmdlbmRlciA9IHJlcy5nZW5kZXI7XG4gICAgICB1c2VyLmVtYWlsSWQ9cmVzLmVtYWlsSWQ7XG4gICAgICB1c2VyLnBhc3N3b3JkRXhwaXJhdGlvbkRhdGUgPSByZXMucGFzc3dvcmRFeHBpcmF0aW9uRGF0ZTtcbiAgICAgIHVzZXIuZW1haWxTdGF0dXMgPSByZXMuZW1haWxTdGF0dXM7XG4gICAgICB1c2VyLmlzTG9nZ2VkSW4gPSByZXMuaXNMb2dnZWRJbjtcbiAgICAgIHVzZXIuY2hhbmdlUHdkID0gcmVzLmNoYW5nZVB3ZDtcbiAgICAgIHVzZXIuZXhwaXJhdGlvbiA9IHJlcy5leHBpcmF0aW9uO1xuICAgICAgdXNlci5leHBpcmVzX2luID0gcmVzLmV4cGlyZXNfaW47XG4gICAgICB1c2VyLnNzbiA9IHJlcy5zc247XG4gICAgICB1c2VyLmNsYWltYW50SWQgPSByZXMuY2xhaW1hbnRJZDtcbiAgICAgIHVzZXIuZW1wbG95ZXJJZCA9IHJlcy5lbXBsb3llcklkO1xuICAgICAgdXNlci5jb29raWVOYW1lID0gcmVzLmNvb2tpZU5hbWU7XG4gICAgICB1c2VyLmNvb2tpZVZhbHVlID0gcmVzLmNvb2tpZVZhbHVlO1xuICAgICAgdXNlci51c2VyVW5pdCA9IHJlcy51c2VyVW5pdDtcbiAgICAgIHVzZXIuZG9tYWluTmFtZSA9IHJlcy5kb21haW5OYW1lO1xuICAgICAgdXNlci5pczJGQVJlcXVpcmVkID0gcmVzLmlzMkZBUmVxdWlyZWQ7XG4gICAgICB1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgPSByZXMuZGF5c1RpbGxQYXNzd29yZEV4cGlyZTtcbiAgICAgIHVzZXIuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkID0gcmVzLmlzRW1haWxWZXJpZmljYXRpb25SZXF1aXJlZDtcbiAgICAgIHVzZXIuY2VsbHBob25lTm8gPSByZXMuY2VsbHBob25lTm87XG4gICAgICB1c2VyLmNlbGxwaG9uZVN0YXR1cyA9IHJlcy5jZWxscGhvbmVTdGF0dXM7XG4gICAgICB1c2VyLnN1cHBvcnRlZE1mYVR5cGVzID0gcmVzLnN1cHBvcnRlZE1mYVR5cGVzO1xuICAgICAgaWYocmVzLmFjY2Vzc190b2tlbiAmJiByZXMucmVmcmVzaF90b2tlbil7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gcmVzLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gcmVzLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHJlcy5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVzLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gdGhpcy51c2VyLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gdGhpcy51c2VyLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHRoaXMudXNlci5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgdGhpcy51c2VyLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgndXNlcm5hbWUnLCBidG9hKHVzZXIudXNlcm5hbWUpKTtcbiAgICAgIGxldCBzaG93X2Rpc2Nsb3N1cmUgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KCdzaG93X2Rpc2Nsb3N1cmUnKTtcbiAgICAgIGlmKHNob3dfZGlzY2xvc3VyZSA9PSBudWxsIHx8IHNob3dfZGlzY2xvc3VyZSA9PSB1bmRlZmluZWQgfHwgc2hvd19kaXNjbG9zdXJlICE9ICdmYWxzZScpe1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdzaG93X2Rpc2Nsb3N1cmUnLCAndHJ1ZScpO1xuICAgICAgfVxuICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgIHRoaXMudXNlckJzLm5leHQodGhpcy51c2VyKTtcbiAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdtcycpKXtcbiAgICAgICAgaWYoIXVzZXIuaXMyRkFSZXF1aXJlZCl7XG4gICAgICAgICAgdGhpcy5jcmVhdGVDb29raWUoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUsIGBcIiR7dXNlci5jb29raWVWYWx1ZX1cImAsIHVzZXIuZXhwaXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKS5maXJzdE5hbWUgKyAodGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSAhPSBudWxsID8gJyAnICsgdGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSA6ICcnKSArICcgJyArIHRoaXMuZ2V0VXNlcigpLmxhc3ROYW1lO1xuICB9XG5cbiAgZ2V0SXNVc2VyUHJvZmlsZUNvbXBsZXRlKCl7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkudXNlclByb2ZpbGVDb21wbGV0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgcHJpdmF0ZSBjbGFpbWFudENvbnRleHRTZXJ2aWNlIDogQ2xhaW1hbnRDb250ZXh0U2VydmljZSkgeyBcbiAgICBcbiAgfVxuXG4gIGdldFVzZXJQZXJzb25hbERldGFpbHMoKSA6IE9ic2VydmFibGU8VXNlckRldGFpbHNNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8VXNlckRldGFpbHNNb2RlbD4oJ3VzZXIvZGV0YWlscy8nICsgdGhpcy51c2VyLnVzZXJuYW1lKTtcbiAgfVxuXG4gIGdlbmVyYXRlT3RwKHVzZXJJZCA6IHN0cmluZywgdHlwZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvb3RwLyR7dXNlcklkfT90eXBlPSR7dHlwZX1gKTtcbiAgfVxuXG4gIGxvZ2luKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJyk7XG4gICAgYXV0aERhdGEuc2V0KCd1c2VybmFtZScsIGF1dGgudXNlcklkKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3Bhc3N3b3JkJywgYXV0aC5wYXNzd29yZCk7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGF1dGhEYXRhLHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBsb2dpbkFuZENoZWNrRm9yTUZBKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ21mYScpO1xuICAgIGF1dGhEYXRhLnNldCgndXNlcm5hbWUnLCBhdXRoLnVzZXJJZCk7XG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xuICAgIGlmKGF1dGgub3RwKXtcbiAgICAgIGF1dGhEYXRhLnNldCgnbWZhX2NvZGUnLCBhdXRoLm90cCk7XG4gICAgICBhdXRoRGF0YS5zZXQoJ2lzX3RydXN0ZWRfZGV2aWNlJywgYXV0aC5pc3RydXN0ZWREZXZpY2UpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYXV0aERhdGEsdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiXG4gICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuXG4gICAgbGV0IGF1dGhEYXRhIDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAncmVmcmVzaF90b2tlbicpO1xuICAgIGF1dGhEYXRhLnNldCgnY2xpZW50X2lkJywgTGliQ29uc3RhbnRzLm9jdSk7XG4gICAgYXV0aERhdGEuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVmcmVzaFRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oYG9hdXRoL3Rva2VuYCwgYXV0aERhdGEsIHRoaXMub3B0aW9ucykudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoVG9rZW5XaW5ncyhyZWZyZXNoVG9rZW4pe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiXG4gICAgfSk7XG4gICAgdGhpcy5vcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XG5cbiAgICBsZXQgYXV0aERhdGEgOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGF1dGhEYXRhLnNldCgnZ3JhbnRfdHlwZScsICdyZWZyZXNoX3Rva2VuJyk7XG4gICAgLy9hdXRoRGF0YS5zZXQoJ2NsaWVudF9pZCcsIExpYkNvbnN0YW50cy5vYXV0aFdpbmdzQ2xpZW50VXNlcik7XG4gICAgYXV0aERhdGEuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVmcmVzaFRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oYG9hdXRoL3Rva2VuYCwgYXV0aERhdGEsIHRoaXMub3B0aW9ucykudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBjcmVhdGVUb2tlblBvc3RTc29WYWxpZGF0aW9uKCl7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpO1xuICAgIGNvbnN0IGJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIGdyYW50X3R5cGU6ICdjdXN0b21fc3NvJ1xuICAgIH0pLnRvU3RyaW5nKCk7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGJvZHksIHsgaGVhZGVycyx3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBsb2FkVXNlckluZm8oKXtcbiAgICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XG4gICAgICBsZXQgYXV0aFRva2VuID0gYXdhaXQgdGhpcy5nZXRTdG9yZWRBY2Nlc3NUb3BlbigpO1xuICAgICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8VXNlck1vZGVsPihgb2F1dGgvY2hlY2tfdG9rZW4/dG9rZW49JHthdXRoVG9rZW59YCkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRTdG9yZWRBY2Nlc3NUb3Blbigpe1xuICAgIGxldCBhY2Nlc3NUb2tlbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoJ2FjY2Vzc190b2tlbicpLnRoZW4ocmVzID0+IHJlcyk7XG4gICAgcmV0dXJuIGFjY2Vzc1Rva2VuO1xuICB9XG5cbiAgZ2VuZXJhdGVPdHBVbnJlZ2lzdGVyZWQobW9iaWxlTm8gOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KCdhdXRoL290cC9uZXd1c2VyLycgKyBtb2JpbGVObyk7XG4gIH1cblxuICBzaWduVXAodXNlck1vZGVsIDogVXNlck1vZGVsKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoJ3VzZXInLCB1c2VyTW9kZWwpO1xuICB9XG5cbiAgdXBkYXRlUGVyc29uYWxEZXRhaWxzKHVzckR0bHMgOiBVc2VyRGV0YWlsc01vZGVsKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoJ3VzZXIvZGV0YWlscycsIHVzckR0bHMpO1xuICB9XG5cbiAgcmVzZXQoKXtcbiAgICB0aGlzLnVzZXIgPSBudWxsO1xuICAgIHRoaXMudXNlckJzLm5leHQobnVsbCk7XG4gICAgdGhpcy5tZW51QnMubmV4dChudWxsKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdhY2Nlc3NfdG9rZW4nKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdyZWZyZXNoX3Rva2VuJyk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnc2hvd19kaXNjbG9zdXJlJyk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgndXNlcm5hbWUnKTtcbiAgICB0aGlzLmNsYWltYW50Q29udGV4dFNlcnZpY2UuY2xlYXJDb250ZXh0KCk7XG4gICAgdGhpcy5yZW1vdmVDb29raWVzKCk7XG4gIH1cblxuICByZW1vdmVDb29raWVzKCl7XG4gICAgdGhpcy5kZWxldGVDb29raWUoJ2F0Jyk7XG4gICAgdGhpcy5kZWxldGVDb29raWUoJ3J0Jyk7XG4gICAgdGhpcy5kZWxldGVDb29raWUoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUpO1xuICB9XG5cbiAgZGVsZXRlQ29va2llKGNvb2tpZU5hbWUpe1xuICAgIGxldCBjb29raWUgPSBgJHtjb29raWVOYW1lfT07IE1heC1BZ2U9MDsgcGF0aD0vOyBkb21haW49JHtMaWJDb25zdGFudHMuc3NvRG9tYWlufWA7XG4gICAgZG9jdW1lbnQuY29va2llID0gY29va2llO1xuICB9XG5cbiAgY3JlYXRlQ29va2llKGNvb2tpZU5hbWUsIHZhbHVlLCBleHBpcmF0aW9uKXtcbiAgICBsZXQgY29va2llID0gYCR7Y29va2llTmFtZX09JHt2YWx1ZX07IGV4cGlyZXM9JHtleHBpcmF0aW9uICsgJy4wMDAnfTsgcGF0aD0vOyBkb21haW49JHtMaWJDb25zdGFudHMuc3NvRG9tYWlufWA7XG4gICAgZG9jdW1lbnQuY29va2llID0gY29va2llO1xuICB9XG5cbiAgbG9nb3V0KCl7XG4gICAgaWYodGhpcy51c2VyKXtcbiAgICAgIHRoaXMudXRpbC5nZXQoJ3VzZXIvbG9nb3V0JylcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBpc0xvZ2dlZEluKCl7XG4gICAgcmV0dXJuIHRoaXMudXNlciAmJiB0aGlzLnVzZXIuaXNMb2dnZWRJbjtcbiAgfVxuXG4gIGlzMkZBUmVxdWlyZWQoKXtcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5pczJGQVJlcXVpcmVkO1xuICB9XG5cbiAgdXBkYXRlUHJvZmlsZSh1c2VyIDogVXNlck1vZGVsKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoJ3VzZXIvcHJvZmlsZScsIHVzZXIpO1xuICB9XG5cbiAgdXBkYXRlUGFzc3dvcmQob2xkUGFzc3dvcmQsIG5ld1Bhc3N3b3JkLCBjb25maXJtUGFzc3dvcmQpe1xuICAgIGxldCBwd2RDaGFuZ2VNb2RlbCA6IHtvbGRQYXNzd29yZDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBjb25maXJtUGFzc3dvcmQ6IHN0cmluZ30gPSB7b2xkUGFzc3dvcmQ6IG9sZFBhc3N3b3JkLCBwYXNzd29yZDogbmV3UGFzc3dvcmQsIGNvbmZpcm1QYXNzd29yZDogY29uZmlybVBhc3N3b3JkfTtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoYHVzZXIvcGFzc3dvcmQvJHt0aGlzLmdldFVzZXIoKS51c2VybmFtZX1gLCBwd2RDaGFuZ2VNb2RlbCk7XG4gIH1cblxuICBpbml0aWF0ZUZvcmdvdFBhc3N3b3JkKHVzZXJJZCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvcGFzc3dvcmQvcmVzZXQvJHt1c2VySWR9YCk7XG4gIH1cblxuICBpbml0aWF0ZUZvcmdvdFBhc3N3b3JkVjIodXNlcklkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci92Mi9wYXNzd29yZC9yZXNldC8ke3VzZXJJZH1gKTtcbiAgfVxuXG4gIGhhc1JvbGUocm9sZU5hbWUgOiBzdHJpbmcpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5yb2xlcyAmJiB0aGlzLnVzZXIucm9sZXMuaW5jbHVkZXMocm9sZU5hbWUpO1xuICB9XG5cbiAgaGFzRnVuY3Rpb24oZnVuY3Rpb25OYW1lIDogc3RyaW5nKSA6IGJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMudXNlciAmJiB0aGlzLnVzZXIuZnVuY3Rpb25zICYmIHRoaXMudXNlci5mdW5jdGlvbnMuaW5jbHVkZXMoZnVuY3Rpb25OYW1lKTtcbiAgfVxuXG4gIGhhc1JvbGVzKC4uLnJvbGVzIDogc3RyaW5nW10pe1xuICAgIGxldCBpc1ByZXNlbnQgPSBmYWxzZTtcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IHJvbGVzLmxlbmd0aCA7IGkrKyl7XG4gICAgICBpZih0aGlzLmhhc1JvbGUocm9sZXNbaV0udG9TdHJpbmcoKSkpe1xuICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzUHJlc2VudDtcbiAgfVxuXG4gIGhhc0Z1bmN0aW9ucyguLi5mdW5jdGlvbnMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgZnVuY3Rpb25zLmxlbmd0aCA7IGkrKyl7XG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xuICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzUHJlc2VudDtcbiAgfVxuXG4gIGNoZWNrUm9sZXMocm9sZXMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgcm9sZXMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzUm9sZShyb2xlc1tpXS50b1N0cmluZygpKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgY2hlY2tGdW5jdGlvbnMoZnVuY3Rpb25zIDogc3RyaW5nW10pe1xuICAgIGxldCBpc1ByZXNlbnQgPSBmYWxzZTtcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IGZ1bmN0aW9ucy5sZW5ndGggOyBpKyspe1xuICAgICAgaWYodGhpcy5oYXNGdW5jdGlvbihmdW5jdGlvbnNbaV0pKXtcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc1ByZXNlbnQ7XG4gIH1cblxuICBpc0Nzcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnXG4gIH1cblxuICBpc1RheEF1ZGl0U3VwZXJ2aXNvcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmhhc1JvbGUoJ3RheGF1ZGl0c3VwZXJ2aXNvcicpICYmdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdNREVTJyBcbiAgfVxuXG4gIGlzVGF4QXVkaXRBdWRpdG9yKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuaGFzUm9sZSgndGF4YXVkaXRzcGVjaWFsaXN0JykgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdNREVTJ1xuICB9XG5cbiAgaXNUYXhBdWRpdERpcmVjdG9yKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuaGFzUm9sZSgndGF4QXVkaXREaXJlY3RvcicpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUydcbiAgfVxuXG4gIGlzRW1wbG95ZXIoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdFTVBMJ1xuICB9XG5cbiAgaXNUcGEoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdUUEEnXG4gIH1cblxuICBpc0NsYWltYW50KCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnQ0xNVCdcbiAgfVxuXG4gIGhhc1NzbkFzc29jaWF0ZWQoKSA6IGJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnQ0xNVCcgJiYgdGhpcy5nZXRVc2VyKCkuc3NuICE9PSB1bmRlZmluZWQgXG4gIH1cblxuICBnZXRVc2VyTWVudXMoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxNZW51SXRlbVtdPihgbWVudS9gKTtcbiAgfVxuXG4gIG1hcmtGYXYobWVudUlkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3Q8TWVudUl0ZW1bXT4oYG1lbnUvZmF2LyR7bWVudUlkfWAsIG51bGwpO1xuICB9XG5cbiAgcmVtb3ZlRmF2KG1lbnVJZCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5kZWxldGU8TWVudUl0ZW1bXT4oYG1lbnUvZmF2LyR7bWVudUlkfWApO1xuICB9XG5cbiAgZ2V0RmF2b3VyaXRlTWVudSgpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PE1lbnVJdGVtW10+KGBtZW51L2ZhdmApO1xuICB9XG5cbiAgZ2V0VHJlbmRpbmdNZW51KCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvdHJlbmRpbmdgKTtcbiAgfVxuXG4gIHZlcmlmeUVtYWlsKGNvZGUgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdChgdXNlci9lbWFpbC8ke2NvZGV9YCwgbnVsbCk7XG4gIH1cblxuICBnZXROZXdDb2RlKCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvZW1haWxgKTtcbiAgfVxuXG4gIHVwZGF0ZUVtYWlsQW5kR2V0TmV3Q29kZShlbWFpbCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wYXRjaChgdXNlci9lbWFpbC8ke2VtYWlsfWAsIG51bGwpO1xuICB9XG5cbiAgZ2V0TmV3QXV0aENvZGUodHlwZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvb3RwP3R5cGU9JHt0eXBlfWApO1xuICB9XG5cbiAgYXNzb2NpYXRlU3NuVG9Vc2VySWQoc3NuIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoYGNsYWltYW50L2Fzc29jaWF0ZS1zc24vJHtzc259YCwgbnVsbCk7XG4gIH1cblxuICBnZXRVc2VySWRJblVuaXRCcygpe1xuICAgIHJldHVybiB0aGlzLnVzZXJJZEluVW5pdEJzO1xuICB9XG5cbiAgbG9hZFVzZXJJZHNGcm9tVW5pdE9mTG9nZ2VkSW5Vc2VyKHVuaXRJZCA6IHN0cmluZyl7XG4gICAgaWYodGhpcy51c2VySWRJblVuaXRCcy5nZXRWYWx1ZSgpID09IG51bGwpXG4gICAgICB0aGlzLnV0aWwuZ2V0PFVzZXJNb2RlbFtdPihgdXNlci9hbGwvJHt1bml0SWR9YClcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnVzZXJJZEluVW5pdEJzLm5leHQocmVzKSk7XG4gIH1cbn1cbiJdfQ==
|