@cartanova/qgrid-cli 2.7.5 → 2.7.7
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/bundle/dist/application/qgrid/qgrid.dispatcher.js +7 -3
- package/bundle/dist/application/qgrid/qgrid.frame.js +31 -13
- package/bundle/dist/application/qgrid/qgrid.types.js +2 -1
- package/bundle/dist/application/qgrid/token-subscriber.js +19 -1
- package/bundle/dist/application/qgrid/token-trigger-setup.js +3 -2
- package/bundle/dist/application/qgrid/token-window-keepalive.js +159 -0
- package/bundle/dist/application/setting/setting.constant.js +16 -2
- package/bundle/dist/application/setting/setting.model.js +4 -3
- package/bundle/dist/application/setting/setting.store.js +2 -2
- package/bundle/dist/application/setting/setting.types.js +4 -2
- package/bundle/dist/application/sonamu.generated.js +5 -3
- package/bundle/dist/application/sonamu.generated.sso.js +3 -2
- package/bundle/dist/application/token/token.model.js +24 -2
- package/bundle/dist/application/token/token.types.js +3 -2
- package/bundle/dist/i18n/sd.generated.js +2 -1
- package/bundle/dist/migrations/20260819102011_alter_tokens_alter1.js +13 -0
- package/bundle/dist/migrations/20260820153531_alter_tokens_add1_alter1.js +15 -0
- package/bundle/dist/sonamu.config.js +9 -1
- package/bundle/dist/utils/providers/anthropic/anthropic-dispatcher.js +7 -4
- package/bundle/dist/utils/providers/openai/openai-dispatcher.js +11 -3
- package/bundle/dist/utils/providers/openai/openai-quota.js +4 -3
- package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +51 -0
- package/bundle/src/application/qgrid/qgrid.dispatcher.ts +14 -4
- package/bundle/src/application/qgrid/qgrid.frame.test.ts +67 -0
- package/bundle/src/application/qgrid/qgrid.frame.ts +41 -12
- package/bundle/src/application/qgrid/qgrid.types.ts +2 -0
- package/bundle/src/application/qgrid/token-subscriber.test.ts +112 -0
- package/bundle/src/application/qgrid/token-subscriber.ts +35 -0
- package/bundle/src/application/qgrid/token-trigger-setup.test.ts +6 -0
- package/bundle/src/application/qgrid/token-trigger-setup.ts +2 -1
- package/bundle/src/application/qgrid/token-window-keepalive.test.ts +244 -0
- package/bundle/src/application/qgrid/token-window-keepalive.ts +237 -0
- package/bundle/src/application/setting/setting.constant.test.ts +11 -1
- package/bundle/src/application/setting/setting.constant.ts +17 -2
- package/bundle/src/application/setting/setting.model.ts +13 -2
- package/bundle/src/application/setting/setting.store.ts +2 -2
- package/bundle/src/application/setting/setting.types.ts +2 -0
- package/bundle/src/application/sonamu.generated.http +4 -1
- package/bundle/src/application/sonamu.generated.sso.ts +1 -0
- package/bundle/src/application/sonamu.generated.ts +3 -0
- package/bundle/src/application/token/token.entity.json +16 -2
- package/bundle/src/application/token/token.model.test.ts +66 -0
- package/bundle/src/application/token/token.model.ts +30 -1
- package/bundle/src/application/token/token.types.test.ts +10 -0
- package/bundle/src/application/token/token.types.ts +1 -0
- package/bundle/src/i18n/sd.generated.ts +1 -0
- package/bundle/src/migrations/20260819102011_alter_tokens_alter1.ts +13 -0
- package/bundle/src/migrations/20260820153531_alter_tokens_add1_alter1.ts +15 -0
- package/bundle/src/sonamu.config.ts +14 -0
- package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.test.ts +46 -0
- package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.ts +13 -4
- package/bundle/src/utils/providers/common/provider-dispatcher.ts +2 -0
- package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +30 -0
- package/bundle/src/utils/providers/openai/openai-dispatcher.ts +17 -1
- package/bundle/src/utils/providers/openai/openai-quota.test.ts +31 -0
- package/bundle/src/utils/providers/openai/openai-quota.ts +8 -2
- package/bundle/web-dist/client/assets/index-BshX4Gd8.css +1 -0
- package/bundle/web-dist/client/assets/index-CokxkK2G.js +106 -0
- package/bundle/web-dist/client/assets/{logs-BrAu0koY.js → logs-Ckqp98Y3.js} +1 -1
- package/bundle/web-dist/client/assets/{monit-D6JEk7n7.js → monit-u0pMHbyf.js} +1 -1
- package/bundle/web-dist/client/assets/{routes-Dvu63qre.js → routes-DobxbCAV.js} +2 -2
- package/bundle/web-dist/client/assets/{services.generated-CA7oRRYY.js → services.generated-Da1Eq5_R.js} +1 -1
- package/bundle/web-dist/client/assets/settings-C8rfyi9z.js +1 -0
- package/bundle/web-dist/client/assets/{show-BFGjYsWb.js → show-FbUQYs4L.js} +1 -1
- package/bundle/web-dist/client/assets/tokens-DFwEavFD.js +1 -0
- package/bundle/web-dist/client/assets/use-oauth-login-flow-D-9h3WUt.js +1 -0
- package/bundle/web-dist/client/assets/use-update-token-mutation-CZ57EKA1.js +1 -0
- package/bundle/web-dist/client/index.html +3 -3
- package/bundle/web-dist/server/assets/{lazyRouteComponent-tS-rTksX.js → lazyRouteComponent-V1S8gqMS.js} +2 -2
- package/bundle/web-dist/server/assets/{logs-ttf79emP.js → logs-2Tkqcncq.js} +2 -2
- package/bundle/web-dist/server/assets/{monit-CJBUH0l6.js → monit-DrJ15xJL.js} +2 -2
- package/bundle/web-dist/server/assets/{plus-BuSuoeon.js → plus-DCai02Na.js} +1 -1
- package/bundle/web-dist/server/assets/{react-dom-7_SqhNWR.js → react-dom-BFiG5Daf.js} +1 -1
- package/bundle/web-dist/server/assets/{routes-z79f1sOM.js → routes-B9X0lvjQ.js} +5 -4
- package/bundle/web-dist/server/assets/{services.generated-B5UkNmgc.js → services.generated-y7xVOTCo.js} +4 -2
- package/bundle/web-dist/server/assets/{settings-nCv71sax.js → settings-JznSjwGQ.js} +80 -5
- package/bundle/web-dist/server/assets/{show-CLrA4ZQ-.js → show-D8kuAFbc.js} +2 -2
- package/bundle/web-dist/server/assets/{tokens-BwlkZELV.js → tokens-CyItE-L-.js} +4 -3
- package/bundle/web-dist/server/assets/{use-oauth-login-flow-B2QllVMi.js → use-oauth-login-flow-CItVKngs.js} +2 -7
- package/bundle/web-dist/server/assets/use-update-token-mutation-BNaRPVaX.js +7 -0
- package/bundle/web-dist/server/entry-server.generated.js +103 -58
- package/package.json +1 -1
- package/skills/qgrid/references/cli-env-and-server-boot.md +1 -0
- package/skills/qgrid/references/sonamu-api-web-flow.md +2 -0
- package/skills/qgrid/references/token-auth-quota-lifecycle.md +25 -1
- package/bundle/web-dist/client/assets/index-CwSSXuZv.js +0 -106
- package/bundle/web-dist/client/assets/index-D9xE_tO7.css +0 -1
- package/bundle/web-dist/client/assets/settings-mwDGFwUi.js +0 -1
- package/bundle/web-dist/client/assets/tokens-D-P__jYk.js +0 -1
- package/bundle/web-dist/client/assets/use-oauth-login-flow-CJpoJD26.js +0 -1
- /package/bundle/web-dist/client/assets/{plus-DqBd6gHk.js → plus-p4vtg6LN.js} +0 -0
|
@@ -4,7 +4,7 @@ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.140.0/hel
|
|
|
4
4
|
import __decorate from "../../_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/decorate.js";
|
|
5
5
|
import { detectSupervisor } from "../../utils/process-supervisor.js";
|
|
6
6
|
import { armServerRestartExit, beginServerRestart } from "../../utils/server-restart.js";
|
|
7
|
-
import { SETTING_DEFS, findSettingDef, maskSecret, validateSettingValue } from "./setting.constant.js";
|
|
7
|
+
import { SETTING_DEFS, TOKEN_WINDOW_KEEPALIVE_RUNNER_ENV_KEY, findSettingDef, maskSecret, validateSettingValue } from "./setting.constant.js";
|
|
8
8
|
import { getSetting, isStored, resetSetting, saveSetting } from "./setting.store.js";
|
|
9
9
|
import { BadRequestException, BaseModelClass, NotFoundException, SoException, Sonamu, api, asArray, exhaustive } from "sonamu";
|
|
10
10
|
import { getLogger } from "@logtape/logtape";
|
|
@@ -152,7 +152,8 @@ var SettingModelClass = class extends BaseModelClass {
|
|
|
152
152
|
};
|
|
153
153
|
}),
|
|
154
154
|
runtime: this.runtimeInfo(),
|
|
155
|
-
supervisor: detectSupervisor()
|
|
155
|
+
supervisor: detectSupervisor(),
|
|
156
|
+
keepaliveRunnerEnabled: process.env[TOKEN_WINDOW_KEEPALIVE_RUNNER_ENV_KEY] === "true"
|
|
156
157
|
};
|
|
157
158
|
}
|
|
158
159
|
runtimeInfo() {
|
|
@@ -313,4 +314,4 @@ const SettingModel = new SettingModelClass();
|
|
|
313
314
|
//#endregion
|
|
314
315
|
export { SettingModel };
|
|
315
316
|
|
|
316
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5tb2RlbC5qcyIsIm5hbWVzIjpbInNhdmVTdG9yZWRTZXR0aW5nIiwicmVzZXRTdG9yZWRTZXR0aW5nIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3NldHRpbmcvc2V0dGluZy5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHtcbiAgQmFzZU1vZGVsQ2xhc3MsXG4gIHR5cGUgTGlzdFJlc3VsdCxcbiAgYXNBcnJheSxcbiAgTm90Rm91bmRFeGNlcHRpb24sXG4gIEJhZFJlcXVlc3RFeGNlcHRpb24sXG4gIFNvRXhjZXB0aW9uLFxuICBTb25hbXUsXG4gIGFwaSxcbiAgZXhoYXVzdGl2ZSxcbn0gZnJvbSBcInNvbmFtdVwiO1xuXG5pbXBvcnQgeyBTRCB9IGZyb20gXCIuLi8uLi9pMThuL3NkLmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgZGV0ZWN0U3VwZXJ2aXNvciB9IGZyb20gXCIuLi8uLi91dGlscy9wcm9jZXNzLXN1cGVydmlzb3JcIjtcbmltcG9ydCB7IGFybVNlcnZlclJlc3RhcnRFeGl0LCBiZWdpblNlcnZlclJlc3RhcnQgfSBmcm9tIFwiLi4vLi4vdXRpbHMvc2VydmVyLXJlc3RhcnRcIjtcbmltcG9ydCB7IHR5cGUgU2V0dGluZ1N1YnNldEtleSwgdHlwZSBTZXR0aW5nU3Vic2V0TWFwcGluZyB9IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgeyBzZXR0aW5nU3Vic2V0UXVlcmllcywgc2V0dGluZ0xvYWRlclF1ZXJpZXMgfSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZC5zc29cIjtcbmltcG9ydCB7IGZpbmRTZXR0aW5nRGVmLCBtYXNrU2VjcmV0LCBTRVRUSU5HX0RFRlMsIHZhbGlkYXRlU2V0dGluZ1ZhbHVlIH0gZnJvbSBcIi4vc2V0dGluZy5jb25zdGFudFwiO1xuaW1wb3J0IHtcbiAgZ2V0U2V0dGluZyxcbiAgaXNTdG9yZWQsXG4gIHJlc2V0U2V0dGluZyBhcyByZXNldFN0b3JlZFNldHRpbmcsXG4gIHNhdmVTZXR0aW5nIGFzIHNhdmVTdG9yZWRTZXR0aW5nLFxufSBmcm9tIFwiLi9zZXR0aW5nLnN0b3JlXCI7XG5pbXBvcnQge1xuICB0eXBlIFJ1bnRpbWVJbmZvSXRlbSxcbiAgdHlwZSBTZXR0aW5nQXBwbGllcyxcbiAgdHlwZSBTZXR0aW5nSXRlbSxcbiAgdHlwZSBTZXR0aW5nTGlzdFBhcmFtcyxcbiAgdHlwZSBTZXR0aW5nU2F2ZVBhcmFtcyxcbiAgdHlwZSBTZXR0aW5nc1Jlc3BvbnNlLFxuICB0eXBlIFN1cGVydmlzb3JLaW5kLFxufSBmcm9tIFwiLi9zZXR0aW5nLnR5cGVzXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGdldExvZ2dlcihbXCJxZ3JpZFwiLCBcInNldHRpbmdcIl0pO1xuXG5jbGFzcyBGb3JiaWRkZW5FeGNlcHRpb24gZXh0ZW5kcyBTb0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKDQwMywgU0QoXCJlcnJvci5mb3JiaWRkZW5cIikpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpcnN0SGVhZGVyVmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIChBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWUpPy5zcGxpdChcIixcIilbMF0/LnRyaW0oKTtcbn1cblxuLyoqIE9yaWdpbiDsl4bripQg7Jq07JiBIENMSSDsmpTssq3snYAg7Ya16rO87Iuc7YKk65CYLCDruIzrnbzsmrDsoIAg6rWQ7LCoIOy2nOyymCBQT1NUIOuKlCDrp4nripTri6QuICovXG5mdW5jdGlvbiBhc3NlcnRSZXN0YXJ0T3JpZ2luKCk6IHZvaWQge1xuICBjb25zdCB7IGhlYWRlcnMgfSA9IFNvbmFtdS5nZXRDb250ZXh0KCk7XG4gIGNvbnN0IG9yaWdpbiA9IGZpcnN0SGVhZGVyVmFsdWUoaGVhZGVycy5vcmlnaW4pO1xuICBpZiAoaGVhZGVycy5vcmlnaW4gPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICBpZiAoIW9yaWdpbikgdGhyb3cgbmV3IEZvcmJpZGRlbkV4Y2VwdGlvbigpO1xuXG4gIGNvbnN0IGhvc3QgPSBmaXJzdEhlYWRlclZhbHVlKGhlYWRlcnNbXCJ4LWZvcndhcmRlZC1ob3N0XCJdKSA/PyBmaXJzdEhlYWRlclZhbHVlKGhlYWRlcnMuaG9zdCk7XG4gIHRyeSB7XG4gICAgaWYgKCFob3N0IHx8IG5ldyBVUkwob3JpZ2luKS5ob3N0ICE9PSBob3N0KSB0aHJvdyBuZXcgRm9yYmlkZGVuRXhjZXB0aW9uKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRm9yYmlkZGVuRXhjZXB0aW9uKSB0aHJvdyBlcnJvcjtcbiAgICB0aHJvdyBuZXcgRm9yYmlkZGVuRXhjZXB0aW9uKCk7XG4gIH1cbn1cblxuLypcbiAgU2V0dGluZyBNb2RlbFxuKi9cbmNsYXNzIFNldHRpbmdNb2RlbENsYXNzIGV4dGVuZHMgQmFzZU1vZGVsQ2xhc3M8XG4gIFNldHRpbmdTdWJzZXRLZXksXG4gIFNldHRpbmdTdWJzZXRNYXBwaW5nLFxuICB0eXBlb2Ygc2V0dGluZ1N1YnNldFF1ZXJpZXMsXG4gIHR5cGVvZiBzZXR0aW5nTG9hZGVyUXVlcmllc1xuPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiU2V0dGluZ1wiLCBzZXR0aW5nU3Vic2V0UXVlcmllcywgc2V0dGluZ0xvYWRlclF1ZXJpZXMpO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0sIHJlc291cmNlTmFtZTogXCJTZXR0aW5nXCIgfSlcbiAgYXN5bmMgZmluZEJ5SWQ8VCBleHRlbmRzIFNldHRpbmdTdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBpZDogbnVtYmVyLFxuICApOiBQcm9taXNlPFNldHRpbmdTdWJzZXRNYXBwaW5nW1RdPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgaWQsXG4gICAgICBudW06IDEsXG4gICAgICBwYWdlOiAxLFxuICAgIH0pO1xuICAgIGlmICghcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXhjZXB0aW9uKFNEKFwiZXJyb3IuZW50aXR5Tm90Rm91bmRcIikoXCJTZXR0aW5nXCIsIGlkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvd3NbMF07XG4gIH1cblxuICBhc3luYyBmaW5kT25lPFQgZXh0ZW5kcyBTZXR0aW5nU3Vic2V0S2V5PihcbiAgICBzdWJzZXQ6IFQsXG4gICAgbGlzdFBhcmFtczogU2V0dGluZ0xpc3RQYXJhbXMsXG4gICk6IFByb21pc2U8U2V0dGluZ1N1YnNldE1hcHBpbmdbVF0gfCBudWxsPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgLi4ubGlzdFBhcmFtcyxcbiAgICAgIG51bTogMSxcbiAgICAgIHBhZ2U6IDEsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcm93c1swXSA/PyBudWxsO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiR0VUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stcXVlcnlcIl0sIHJlc291cmNlTmFtZTogXCJTZXR0aW5nc1wiIH0pXG4gIGFzeW5jIGZpbmRNYW55PFQgZXh0ZW5kcyBTZXR0aW5nU3Vic2V0S2V5LCBMUCBleHRlbmRzIFNldHRpbmdMaXN0UGFyYW1zPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFByb21pc2U8TGlzdFJlc3VsdDxMUCwgU2V0dGluZ1N1YnNldE1hcHBpbmdbVF0+PiB7XG4gICAgLy8gcGFyYW1zIHdpdGggZGVmYXVsdHNcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBudW06IDI0LFxuICAgICAgcGFnZTogMSxcbiAgICAgIHNlYXJjaDogXCJrZXlcIiBhcyBjb25zdCxcbiAgICAgIG9yZGVyQnk6IFwia2V5LWFzY1wiIGFzIGNvbnN0LFxuICAgICAgLi4ucmF3UGFyYW1zLFxuICAgIH0gc2F0aXNmaWVzIFNldHRpbmdMaXN0UGFyYW1zO1xuXG4gICAgLy8gYnVpbGQgcXVlcmllc1xuICAgIGNvbnN0IHsgcWIsIG9uU3Vic2V0OiBfIH0gPSB0aGlzLmdldFN1YnNldFF1ZXJpZXMoc3Vic2V0KTtcblxuICAgIC8vIGlkXG4gICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgcWIud2hlcmVJbihcInNldHRpbmdzLmlkXCIsIGFzQXJyYXkocGFyYW1zLmlkKSk7XG4gICAgfVxuXG4gICAgLy8ga2V5IOKAlCB0b0ZpbHRlciBwcm9wIOydtOyngOunjCDsiqTsupDtj7TrlKnsnbQg66eM65Ok7Ja07KO87KeAIOyViuyVhCDsp4HsoJEg6rG064ukLlxuICAgIGlmIChwYXJhbXMua2V5KSB7XG4gICAgICBxYi53aGVyZShcInNldHRpbmdzLmtleVwiLCBwYXJhbXMua2V5KTtcbiAgICB9XG5cbiAgICAvLyBzZWFyY2gta2V5d29yZFxuICAgIGlmIChwYXJhbXMuc2VhcmNoICYmIHBhcmFtcy5rZXl3b3JkICYmIHBhcmFtcy5rZXl3b3JkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmIChwYXJhbXMuc2VhcmNoID09PSBcImtleVwiKSB7XG4gICAgICAgIHFiLndoZXJlKFwic2V0dGluZ3Mua2V5XCIsIFwibGlrZVwiLCBgJSR7cGFyYW1zLmtleXdvcmR9JWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oU0QoXCJlcnJvci51bmtub3duU2VhcmNoRmllbGRcIikocGFyYW1zLnNlYXJjaCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG9yZGVyQnlcbiAgICBpZiAocGFyYW1zLm9yZGVyQnkpIHtcbiAgICAgIC8vIGRlZmF1bHQgb3JkZXJCeVxuICAgICAgaWYgKHBhcmFtcy5vcmRlckJ5ID09PSBcImtleS1hc2NcIikge1xuICAgICAgICBxYi5vcmRlckJ5KFwic2V0dGluZ3Mua2V5XCIsIFwiYXNjXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhoYXVzdGl2ZShwYXJhbXMub3JkZXJCeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZW5oYW5jZXJzID0gdGhpcy5jcmVhdGVFbmhhbmNlcnMoe1xuICAgICAgQTogKHJvdykgPT4gKHtcbiAgICAgICAgLi4ucm93LFxuICAgICAgICAvLyDshJzruIzshYvrs4TroZwgdmlydHVhbCDtlYTrk5wg6rOE7IKw66Gc7KeBIOy2lOqwgFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5leGVjdXRlU3Vic2V0UXVlcnkoe1xuICAgICAgc3Vic2V0LFxuICAgICAgcWIsXG4gICAgICBwYXJhbXMsXG4gICAgICBlbmhhbmNlcnMsXG4gICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzYXZlKHNwYTogU2V0dGluZ1NhdmVQYXJhbXNbXSk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuXG4gICAgLy8gcmVnaXN0ZXJcbiAgICBzcGEuZm9yRWFjaCgoc3ApID0+IHtcbiAgICAgIHdkYi51YlJlZ2lzdGVyKFwic2V0dGluZ3NcIiwgc3ApO1xuICAgIH0pO1xuXG4gICAgLy8gdHJhbnNhY3Rpb25cbiAgICByZXR1cm4gd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIGNvbnN0IGlkcyA9IGF3YWl0IHRyeC51YlVwc2VydChcInNldHRpbmdzXCIpO1xuXG4gICAgICByZXR1cm4gaWRzO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsKGlkczogbnVtYmVyW10pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IHdkYiA9IHRoaXMuZ2V0UHVyaShcIndcIik7XG5cbiAgICAvLyB0cmFuc2FjdGlvblxuICAgIGF3YWl0IHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICByZXR1cm4gdHJ4LnRhYmxlKFwic2V0dGluZ3NcIikud2hlcmVJbihcInNldHRpbmdzLmlkXCIsIGlkcykuZGVsZXRlKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaWRzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKiDsoIDsnqXrkJwg7ISk7KCVIOyghOyytOulvCBrZXnihpJ2YWx1ZSDroZwuIOu2gO2MhSDsi5wg7ZWcIOuyiCDsnb3slrQg66mU66qo66as7JeQIOyYrOumsOuLpC4gKi9cbiAgYXN5bmMgZmluZEFsbEFzTWFwKCk6IFByb21pc2U8TWFwPHN0cmluZywgc3RyaW5nPj4ge1xuICAgIGNvbnN0IHsgcm93cyB9ID0gYXdhaXQgdGhpcy5maW5kTWFueShcIkFcIiwgeyBudW06IDAsIHBhZ2U6IDEgfSk7XG4gICAgcmV0dXJuIG5ldyBNYXAocm93cy5tYXAoKHIpID0+IFtyLmtleSwgci52YWx1ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBrZXkg66GcIHVwc2VydCDtlZzri6QuIGBzYXZlYCDripQgaWQg6riw7KSA7J206528IGtleSDspJHrs7XsnYQg6rG465+s64K07KeAIOuqu+2VtCwg6riw7KG0IO2WieydhCDrqLzsoIAg7LC+7JWEXG4gICAqIGlkIOulvCDsi6TslrQg67O064K464ukLlxuICAgKi9cbiAgYXN5bmMgc2V0QnlLZXkoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBleGlzdGluZyA9IGF3YWl0IHRoaXMuZmluZE9uZShcIkFcIiwgeyBrZXksIG51bTogMSwgcGFnZTogMSB9KTtcbiAgICBhd2FpdCB0aGlzLnNhdmUoW1xuICAgICAge1xuICAgICAgICAuLi4oZXhpc3RpbmcgPyB7IGlkOiBleGlzdGluZy5pZCB9IDoge30pLFxuICAgICAgICBrZXksXG4gICAgICAgIHZhbHVlLFxuICAgICAgICB1cGRhdGVkX2F0OiBuZXcgRGF0ZSgpLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxuXG4gIC8qKiDsoIDsnqXqsJLsnYQg7KeA7JuMIGVudiDquLDrs7jqsJLsnLzroZwg65CY64+M66aw64ukLiAqL1xuICBhc3luYyBjbGVhckJ5S2V5KGtleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBhd2FpdCB0aGlzLmZpbmRPbmUoXCJBXCIsIHsga2V5LCBudW06IDEsIHBhZ2U6IDEgfSk7XG4gICAgaWYgKGV4aXN0aW5nKSBhd2FpdCB0aGlzLmRlbChbZXhpc3RpbmcuaWRdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDtjrjsp5Eg6rCA64ql7ZWcIOyEpOygleqzvCDsnb3quLAg7KCE7JqpIOufsO2DgOyehCDsoJXrs7QuIO2OuOynkSDrjIDsg4HsnYAgYFNFVFRJTkdfREVGU2Ag7JeQIOygleydmOuQnCDqsoPrv5DsnbTri6Qg4oCUXG4gICAqIERCIOygkeyGjSDsoJXrs7Trgpgg7Y+s7Yq464qUIOyEnOuyhOqwgCDrnKjquLAg7KCE7JeQIO2VhOyalO2VtCDtmZTrqbTsl5DshJwg67CU6r+AIOyImCDsl4bri6QuXG4gICAqL1xuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSwgcmVzb3VyY2VOYW1lOiBcIlNldHRpbmdMaXN0XCIgfSlcbiAgYXN5bmMgbGlzdFNldHRpbmdzKCk6IFByb21pc2U8U2V0dGluZ3NSZXNwb25zZT4ge1xuICAgIGNvbnN0IHNldHRpbmdzOiBTZXR0aW5nSXRlbVtdID0gU0VUVElOR19ERUZTLm1hcCgoZGVmKSA9PiB7XG4gICAgICAvLyDsoIDsnqXqsJLrj4QgZW52IOuPhCDsl4bsnLzrqbQg7L2U65OcIOq4sOuzuOqwkuydtCDsi6TsoJzroZwg7KCB7JqpIOykkeydtOuLpC4g67mI7Lm47Jy866GcIOuRkOuptCDtmZTrqbTqs7xcbiAgICAgIC8vIOufsO2DgOyehOydtCDslrTquIvrgpgg67O07J2464ukLlxuICAgICAgY29uc3Qgc3RvcmVkID0gaXNTdG9yZWQoZGVmLmtleSk7XG4gICAgICBjb25zdCByYXcgPSBnZXRTZXR0aW5nKGRlZi5rZXksIGRlZi5lbnZLZXkpO1xuICAgICAgY29uc3QgZWZmZWN0aXZlID0gcmF3ID8/IGRlZi5mYWxsYmFjaztcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHN0b3JlZCA/IFwiZGJcIiA6IHJhdyAhPT0gdW5kZWZpbmVkID8gXCJlbnZcIiA6IFwiZGVmYXVsdFwiO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGRlZi5rZXksXG4gICAgICAgIGdyb3VwOiBkZWYuZ3JvdXAsXG4gICAgICAgIGxhYmVsOiBkZWYubGFiZWwsXG4gICAgICAgIGtpbmQ6IGRlZi5raW5kLFxuICAgICAgICBhcHBsaWVzOiBkZWYuYXBwbGllcyxcbiAgICAgICAgLy8g64iIIO2GoOq4gOydhCDsnITtlbQgc2VjcmV0IOuPhCDsm5Drs7jsnYQg64K066Ck67O064K464ukLiDsnbQg7JeU65Oc7Y+s7J247Yq464qUIOuwsO2PrCDqsr3qs4Tsl5DshJxcbiAgICAgICAgLy8g67CY65Oc7IucIOyduOymne2VtOyVvCDtlZzri6QuXG4gICAgICAgIHZhbHVlOiBlZmZlY3RpdmUsXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgbWluOiBkZWYubWluID8/IG51bGwsXG4gICAgICAgIG1heDogZGVmLm1heCA/PyBudWxsLFxuICAgICAgICBwcmVzZXRzOiBkZWYucHJlc2V0cyA/PyBbXSxcbiAgICAgICAgaGVscDogZGVmLmhlbHAgPz8gbnVsbCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4geyBzZXR0aW5ncywgcnVudGltZTogdGhpcy5ydW50aW1lSW5mbygpLCBzdXBlcnZpc29yOiBkZXRlY3RTdXBlcnZpc29yKCkgfTtcbiAgfVxuXG4gIHByaXZhdGUgcnVudGltZUluZm8oKTogUnVudGltZUluZm9JdGVtW10ge1xuICAgIGNvbnN0IGVudiA9IHByb2Nlc3MuZW52O1xuICAgIGNvbnN0IHBhc3N3b3JkID0gZW52LlFHUklEX0RCX1BBU1NXT1JEID8/IGVudi5TT05BTVVfREJfUEFTU1dPUkQgPz8gXCJcIjtcbiAgICByZXR1cm4gW1xuICAgICAgeyBsYWJlbDogXCJOT0RFX0VOVlwiLCB2YWx1ZTogZW52Lk5PREVfRU5WID8/IFwiLVwiIH0sXG4gICAgICB7IGxhYmVsOiBcIkhPU1RcIiwgdmFsdWU6IGVudi5IT1NUID8/IFwibG9jYWxob3N0XCIgfSxcbiAgICAgIHsgbGFiZWw6IFwiUE9SVFwiLCB2YWx1ZTogZW52LlBPUlQgPz8gXCI0NDkwMFwiIH0sXG4gICAgICB7IGxhYmVsOiBcIkRCIEhvc3RcIiwgdmFsdWU6IGVudi5RR1JJRF9EQl9IT1NUID8/IGVudi5TT05BTVVfREJfSE9TVCA/PyBcIi1cIiB9LFxuICAgICAgeyBsYWJlbDogXCJEQiBQb3J0XCIsIHZhbHVlOiBlbnYuUUdSSURfREJfUE9SVCA/PyBlbnYuU09OQU1VX0RCX1BPUlQgPz8gXCItXCIgfSxcbiAgICAgIHsgbGFiZWw6IFwiREIgTmFtZVwiLCB2YWx1ZTogZW52LlFHUklEX0RCX05BTUUgPz8gZW52LlNPTkFNVV9EQl9OQU1FID8/IFwiLVwiIH0sXG4gICAgICB7IGxhYmVsOiBcIkRCIFVzZXJcIiwgdmFsdWU6IGVudi5RR1JJRF9EQl9VU0VSID8/IGVudi5TT05BTVVfREJfVVNFUiA/PyBcIi1cIiB9LFxuICAgICAgeyBsYWJlbDogXCJEQiBQYXNzd29yZFwiLCB2YWx1ZTogcGFzc3dvcmQgPyBtYXNrU2VjcmV0KHBhc3N3b3JkKSA6IFwiLVwiIH0sXG4gICAgXTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyB1cGRhdGVTZXR0aW5nKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx7IGFwcGxpZXM6IFNldHRpbmdBcHBsaWVzIH0+IHtcbiAgICBjb25zdCBkZWYgPSBmaW5kU2V0dGluZ0RlZihrZXkpO1xuICAgIGlmICghZGVmKSB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihTRChcInNldHRpbmcudW5rbm93bktleVwiKShrZXkpKTtcblxuICAgIGNvbnN0IHZhbGlkYXRpb24gPSB2YWxpZGF0ZVNldHRpbmdWYWx1ZShkZWYsIHZhbHVlKTtcbiAgICBpZiAoIXZhbGlkYXRpb24ub2spIHtcbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKFNEKFwic2V0dGluZy5pbnZhbGlkVmFsdWVcIikodmFsaWRhdGlvbi5lcnJvcikpO1xuICAgIH1cblxuICAgIGF3YWl0IHNhdmVTdG9yZWRTZXR0aW5nKGtleSwgdmFsaWRhdGlvbi52YWx1ZSk7XG4gICAgcmV0dXJuIHsgYXBwbGllczogZGVmLmFwcGxpZXMgfTtcbiAgfVxuXG4gIC8qKiDsoIDsnqXqsJLsnYQg7KeA7JuMIGVudiDquLDrs7jqsJLsnLzroZwg65CY64+M66aw64ukLiAqL1xuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgcmVzZXRTZXR0aW5nKGtleTogc3RyaW5nKTogUHJvbWlzZTx7IGFwcGxpZXM6IFNldHRpbmdBcHBsaWVzIH0+IHtcbiAgICBjb25zdCBkZWYgPSBmaW5kU2V0dGluZ0RlZihrZXkpO1xuICAgIGlmICghZGVmKSB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihTRChcInNldHRpbmcudW5rbm93bktleVwiKShrZXkpKTtcblxuICAgIGF3YWl0IHJlc2V0U3RvcmVkU2V0dGluZyhrZXkpO1xuICAgIHJldHVybiB7IGFwcGxpZXM6IGRlZi5hcHBsaWVzIH07XG4gIH1cblxuICAvKipcbiAgICog66eM66OMIOyVjOumvOydhCDsp4DquIgg7ZWcIOuyiCDrs7Trgrjri6QuIOyjvOq4sOulvCDquLDri6Trpqzsp4Ag7JWK6rOgIOyEpOygleydtCDsoJzrjIDroZwg67aZ7JeI64qU7KeAIO2ZleyduO2VmOqxsOuCmCxcbiAgICog7J6s66Gc6re47J247J2EIOyerOy0ie2VoCDrlYwg7JO064ukLiDrs7Trgrgg6rG07IiY66W8IOuPjOugpOykmCBcIuuztOuCvCDrjIDsg4Eg7JeG7J2MXCLqs7wg6rWs67aE7ZWc64ukLlxuICAgKi9cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIHRyaWdnZXJFeHBpcnlSZW1pbmRlcigpOiBQcm9taXNlPHsgc2VudDogbnVtYmVyIH0+IHtcbiAgICAvLyDrj5nsoIEgaW1wb3J0IOuhnCDslYzrprwg66qo65OI7J2EIO2YuOy2nCDsi5zsoJDsl5Drp4wg64GM7Ja07Jio64ukLiDsoJXsoIHsnLzroZwg6rG466m0XG4gICAgLy8gc2V0dGluZy5tb2RlbCDihpIgZXhwaXJlZC10b2tlbi1yZW1pbmRlciDihpIgdG9rZW4ubW9kZWwg6rK966Gc6rCAIOyDneqyqCxcbiAgICAvLyB0b2tlbi5tb2RlbCDsnYQgbW9jayDtlZjripQg7YWM7Iqk7Yq46rCAIOyLpOygnCDrqqjrk4jsnYQg66i87KCAIOuhnOuTnO2VmOqyjCDrkJzri6QuXG4gICAgY29uc3QgeyBzZW5kRXhwaXJlZFRva2VuUmVtaW5kZXJOb3cgfSA9IGF3YWl0IGltcG9ydChcIi4uL3FncmlkL2V4cGlyZWQtdG9rZW4tcmVtaW5kZXJcIik7XG4gICAgcmV0dXJuIHsgc2VudDogYXdhaXQgc2VuZEV4cGlyZWRUb2tlblJlbWluZGVyTm93KCkgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDshJzrsoTrpbwg7J6s7Iuc7J6R7ZWc64ukIOKAlCDsoJXtmZXtnojripQg7Iqk7Iqk66GcIOyiheujjO2VmOqzoCwgcG0yIOqwgCDri6Tsi5wg652E7Jqw64qUIOqyg+yXkCDrp6HquLTri6QuXG4gICAqXG4gICAqIGByZXN0YXJ0YCDroZwg7ZGc7Iuc65CcIOybjOy7pCDshKTsoJXsnYAgZGlzcGF0Y2hlciDsg53shLHsnpDsl5DshJwg7ZWcIOuyiOunjCDsnb3tnojrr4DroZwg7J20IOqyveuhnCDrp5Dqs6DripRcbiAgICog67CY7JiB7ZWgIOuwqeuyleydtCDsl4bsl4jri6QuIOyngOq4iOq5jOyngOuKlCBTU0gg66GcIGBwbTIgcmVzdGFydGAg66W8IOyzkOyVvCDtlojri6QuXG4gICAqXG4gICAqIOu2gOyImCDtmqjqs7zqsIAg7ZWY64KYIOuNlCDsnojri6Q6IHBtMiDripQgYGVjb3N5c3RlbS5jb25maWcuY2pzYCDsnZgg7JuQ656YIOuqheugueycvOuhnCDri6Tsi5wg652E7Jqw6rOgLFxuICAgKiDqt7gg66qF66C57JeQIGAtLXNraXAtdXBkYXRlYCDqsIAg7JeG7Jy866m0IENMSSDqsIAgbnBtIOy1nOyLoCDrsoTsoITsnYQg67Cb7JWEIOyYrOumsOuLpC4g7KaJIOyerOyLnOyekeydgFxuICAgKiDrsLDtj6zsnbTquLDrj4Qg7ZWY64ukIOKAlCDtmZTrqbQg66y46rWs6rCAIOydtCDsgqzsi6TsnYQg7ZWo6ruYIOyVjOumsOuLpC5cbiAgICovXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyByZXN0YXJ0U2VydmVyKCk6IFByb21pc2U8eyBzdXBlcnZpc29yOiBTdXBlcnZpc29yS2luZCB9PiB7XG4gICAgYXNzZXJ0UmVzdGFydE9yaWdpbigpO1xuICAgIGNvbnN0IHN1cGVydmlzb3IgPSBkZXRlY3RTdXBlcnZpc29yKCk7XG4gICAgaWYgKCFzdXBlcnZpc29yKSB7XG4gICAgICAvLyDri6Tsi5wg652E7JuM7KSEIOyjvOyytOqwgCDsl4bsnLzrqbQg7KKF66OM6rCAIOqzpyDsoJXsp4Dri6QuIOyCtOumtCDsiJgg7JeG64qU642wIOyjveydtOyngCDslYrripTri6QuXG4gICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihTRChcInNldHRpbmcubm9TdXBlcnZpc29yXCIpKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgcmVwbHkgfSA9IFNvbmFtdS5nZXRDb250ZXh0KCk7XG4gICAgY29uc3Qgc3RhcnRlZCA9IGJlZ2luU2VydmVyUmVzdGFydCgpO1xuICAgIGlmIChzdGFydGVkKSB7XG4gICAgICBsb2dnZXIud2FybihgcmVzdGFydCByZXF1ZXN0ZWQgdmlhIGRhc2hib2FyZCwgZXhpdGluZyBmb3IgJHtzdXBlcnZpc29yfSB0byByZXNwYXduYCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIOygleyggSBpbXBvcnTroZwgcWdyaWQuZnJhbWUvdG9rZW4g6re4656Y7ZSE66W8IOuLueqyqOyYpOuptCDrqqjrk4gg66qpIO2FjOyKpO2KuOqwgCDsmKTsl7zrkJzri6QuXG4gICAgICAgIC8vIOyerOyLnOyekeydtCDsi6TsoJzroZwg7ZmV7KCV65CcIOyLnOygkOyXkCBhY3RpdmUgbmF0aXZlIHJ1biDsoJXtlanshLEg7LKY66as66eMIOuhnOuTnO2VnOuLpC5cbiAgICAgICAgY29uc3QgeyBmaW5pc2hBY3RpdmVOYXRpdmVSdW5zRm9yUmVzdGFydCB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vcWdyaWQvcWdyaWQtcnVuLWxpZmVjeWNsZVwiKTtcbiAgICAgICAgYXdhaXQgZmluaXNoQWN0aXZlTmF0aXZlUnVuc0ZvclJlc3RhcnQoKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIC8vIOygle2VqeyEsSDsspjrpqzqsIAg7Iuk7Yyo7ZW064+EIOydkeuLteydtCBmbHVzaCDrkJwg65Kk7JeQ64qUIOyerOyLnOyekeydhCDrgZ3quYzsp4Ag7KeE7ZaJ7ZWc64ukLlxuICAgICAgICBhcm1TZXJ2ZXJSZXN0YXJ0RXhpdChyZXBseS5yYXcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IHN1cGVydmlzb3IgfTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgU2V0dGluZ01vZGVsID0gbmV3IFNldHRpbmdNb2RlbENsYXNzKCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBbUNBLE1BQU0sU0FBUyxVQUFVLENBQUMsU0FBUyxTQUFTLENBQUM7QUFFN0MsSUFBTSxxQkFBTixjQUFpQyxZQUFZO0NBQzNDLGNBQWM7RUFDWixNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQztDQUNsQztBQUNGO0FBRUEsU0FBUyxpQkFBaUIsT0FBMEQ7Q0FDbEYsUUFBUSxNQUFNLFFBQVEsS0FBSyxJQUFJLE1BQU0sS0FBSyxNQUFBLEVBQVEsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSztBQUN4RTs7QUFHQSxTQUFTLHNCQUE0QjtDQUNuQyxNQUFNLEVBQUUsWUFBWSxPQUFPLFdBQVc7Q0FDdEMsTUFBTSxTQUFTLGlCQUFpQixRQUFRLE1BQU07Q0FDOUMsSUFBSSxRQUFRLFdBQVcsUUFBVztDQUNsQyxJQUFJLENBQUMsUUFBUSxNQUFNLElBQUksbUJBQW1CO0NBRTFDLE1BQU0sT0FBTyxpQkFBaUIsUUFBUSxtQkFBbUIsS0FBSyxpQkFBaUIsUUFBUSxJQUFJO0NBQzNGLElBQUk7RUFDRixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsU0FBUyxNQUFNLE1BQU0sSUFBSSxtQkFBbUI7Q0FDM0UsU0FBUyxPQUFPO0VBQ2QsSUFBSSxpQkFBaUIsb0JBQW9CLE1BQU07RUFDL0MsTUFBTSxJQUFJLG1CQUFtQjtDQUMvQjtBQUNGO0FBS0EsSUFBTSxvQkFBTixjQUFnQyxlQUs5QjtDQUNBLGNBQWM7RUFDWixNQUFNLFdBQVcsc0JBQXNCLG9CQUFvQjtDQUM3RDtDQUVBLE1BQ00sU0FDSixRQUNBLElBQ2tDO0VBQ2xDLE1BQU0sRUFBRSxTQUFTLE1BQU0sS0FBSyxTQUFTLFFBQVE7R0FDM0M7R0FDQSxLQUFLO0dBQ0wsTUFBTTtFQUNSLENBQUM7RUFDRCxJQUFJLENBQUMsS0FBSyxJQUNSLE1BQU0sSUFBSSxrQkFBa0IsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0VBR3ZFLE9BQU8sS0FBSztDQUNkO0NBRUEsTUFBTSxRQUNKLFFBQ0EsWUFDeUM7RUFDekMsTUFBTSxFQUFFLFNBQVMsTUFBTSxLQUFLLFNBQVMsUUFBUTtHQUMzQyxHQUFHO0dBQ0gsS0FBSztHQUNMLE1BQU07RUFDUixDQUFDO0VBRUQsT0FBTyxLQUFLLE1BQU07Q0FDcEI7Q0FFQSxNQUNNLFNBQ0osUUFDQSxXQUNrRDtFQUVsRCxNQUFNLFNBQVM7R0FDYixLQUFLO0dBQ0wsTUFBTTtHQUNOLFFBQVE7R0FDUixTQUFTO0dBQ1QsR0FBRztFQUNMO0VBR0EsTUFBTSxFQUFFLElBQUksVUFBVSxNQUFNLEtBQUssaUJBQWlCLE1BQU07RUFHeEQsSUFBSSxPQUFPLElBQ1QsR0FBRyxRQUFRLGVBQWUsUUFBUSxPQUFPLEVBQUUsQ0FBQztFQUk5QyxJQUFJLE9BQU8sS0FDVCxHQUFHLE1BQU0sZ0JBQWdCLE9BQU8sR0FBRztFQUlyQyxJQUFJLE9BQU8sVUFBVSxPQUFPLFdBQVcsT0FBTyxRQUFRLFNBQVMsR0FDN0QsSUFBSSxPQUFPLFdBQVcsT0FDcEIsR0FBRyxNQUFNLGdCQUFnQixRQUFRLElBQUksT0FBTyxRQUFRLEVBQUU7T0FFdEQsTUFBTSxJQUFJLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDLENBQUMsT0FBTyxNQUFNLENBQUM7RUFLL0UsSUFBSSxPQUFPLFNBRVQsSUFBSSxPQUFPLFlBQVksV0FDckIsR0FBRyxRQUFRLGdCQUFnQixLQUFLO09BRWhDLFdBQVcsT0FBTyxPQUFPO0VBSTdCLE1BQU0sWUFBWSxLQUFLLGdCQUFnQixFQUNyQyxJQUFJLFNBQVMsRUFDWCxHQUFHLElBRUwsR0FDRixDQUFDO0VBRUQsT0FBTyxLQUFLLG1CQUFtQjtHQUM3QjtHQUNBO0dBQ0E7R0FDQTtHQUNBLE9BQU87RUFDVCxDQUFDO0NBQ0g7Q0FFQSxNQUFNLEtBQUssS0FBNkM7RUFDdEQsTUFBTSxNQUFNLEtBQUssUUFBUSxHQUFHO0VBRzVCLElBQUksU0FBUyxPQUFPO0dBQ2xCLElBQUksV0FBVyxZQUFZLEVBQUU7RUFDL0IsQ0FBQztFQUdELE9BQU8sSUFBSSxZQUFZLE9BQU8sUUFBUTtHQUdwQyxPQUFPLE1BRlcsSUFBSSxTQUFTLFVBQVU7RUFHM0MsQ0FBQztDQUNIO0NBRUEsTUFBTSxJQUFJLEtBQWdDO0VBSXhDLE1BSFksS0FBSyxRQUFRLEdBR25CLENBQUEsQ0FBSSxZQUFZLE9BQU8sUUFBUTtHQUNuQyxPQUFPLElBQUksTUFBTSxVQUFVLENBQUMsQ0FBQyxRQUFRLGVBQWUsR0FBRyxDQUFDLENBQUMsT0FBTztFQUNsRSxDQUFDO0VBRUQsT0FBTyxJQUFJO0NBQ2I7O0NBR0EsTUFBTSxlQUE2QztFQUNqRCxNQUFNLEVBQUUsU0FBUyxNQUFNLEtBQUssU0FBUyxLQUFLO0dBQUUsS0FBSztHQUFHLE1BQU07RUFBRSxDQUFDO0VBQzdELE9BQU8sSUFBSSxJQUFJLEtBQUssS0FBSyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7Q0FDbEQ7Ozs7O0NBTUEsTUFBTSxTQUFTLEtBQWEsT0FBOEI7RUFDeEQsTUFBTSxXQUFXLE1BQU0sS0FBSyxRQUFRLEtBQUs7R0FBRTtHQUFLLEtBQUs7R0FBRyxNQUFNO0VBQUUsQ0FBQztFQUNqRSxNQUFNLEtBQUssS0FBSyxDQUNkO0dBQ0UsR0FBSSxXQUFXLEVBQUUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO0dBQ3RDO0dBQ0E7R0FDQSw0QkFBWSxJQUFJLEtBQUs7RUFDdkIsQ0FDRixDQUFDO0NBQ0g7O0NBR0EsTUFBTSxXQUFXLEtBQTRCO0VBQzNDLE1BQU0sV0FBVyxNQUFNLEtBQUssUUFBUSxLQUFLO0dBQUU7R0FBSyxLQUFLO0dBQUcsTUFBTTtFQUFFLENBQUM7RUFDakUsSUFBSSxVQUFVLE1BQU0sS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Q0FDNUM7Ozs7O0NBTUEsTUFDTSxlQUEwQztFQTBCOUMsT0FBTztHQUFFLFVBekJ1QixhQUFhLEtBQUssUUFBUTtJQUd4RCxNQUFNLFNBQVMsU0FBUyxJQUFJLEdBQUc7SUFDL0IsTUFBTSxNQUFNLFdBQVcsSUFBSSxLQUFLLElBQUksTUFBTTtJQUMxQyxNQUFNLFlBQVksT0FBTyxJQUFJO0lBQzdCLE1BQU0sU0FBUyxTQUFTLE9BQU8sUUFBUSxTQUFZLFFBQVE7SUFFM0QsT0FBTztLQUNMLEtBQUssSUFBSTtLQUNULE9BQU8sSUFBSTtLQUNYLE9BQU8sSUFBSTtLQUNYLE1BQU0sSUFBSTtLQUNWLFNBQVMsSUFBSTtLQUdiLE9BQU87S0FDUDtLQUNBLEtBQUssSUFBSSxPQUFPO0tBQ2hCLEtBQUssSUFBSSxPQUFPO0tBQ2hCLFNBQVMsSUFBSSxXQUFXLENBQUM7S0FDekIsTUFBTSxJQUFJLFFBQVE7SUFDcEI7R0FDRixDQUVTO0dBQVUsU0FBUyxLQUFLLFlBQVk7R0FBRyxZQUFZLGlCQUFpQjtFQUFFO0NBQ2pGO0NBRUEsY0FBeUM7RUFDdkMsTUFBTSxNQUFNLFFBQVE7RUFDcEIsTUFBTSxXQUFXLElBQUkscUJBQXFCLElBQUksc0JBQXNCO0VBQ3BFLE9BQU87R0FDTDtJQUFFLE9BQU87SUFBWSxPQUFPLElBQUksWUFBWTtHQUFJO0dBQ2hEO0lBQUUsT0FBTztJQUFRLE9BQU8sSUFBSSxRQUFRO0dBQVk7R0FDaEQ7SUFBRSxPQUFPO0lBQVEsT0FBTyxJQUFJLFFBQVE7R0FBUTtHQUM1QztJQUFFLE9BQU87SUFBVyxPQUFPLElBQUksaUJBQWlCLElBQUksa0JBQWtCO0dBQUk7R0FDMUU7SUFBRSxPQUFPO0lBQVcsT0FBTyxJQUFJLGlCQUFpQixJQUFJLGtCQUFrQjtHQUFJO0dBQzFFO0lBQUUsT0FBTztJQUFXLE9BQU8sSUFBSSxpQkFBaUIsSUFBSSxrQkFBa0I7R0FBSTtHQUMxRTtJQUFFLE9BQU87SUFBVyxPQUFPLElBQUksaUJBQWlCLElBQUksa0JBQWtCO0dBQUk7R0FDMUU7SUFBRSxPQUFPO0lBQWUsT0FBTyxXQUFXLFdBQVcsUUFBUSxJQUFJO0dBQUk7RUFDdkU7Q0FDRjtDQUVBLE1BQ00sY0FBYyxLQUFhLE9BQXFEO0VBQ3BGLE1BQU0sTUFBTSxlQUFlLEdBQUc7RUFDOUIsSUFBSSxDQUFDLEtBQUssTUFBTSxJQUFJLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDO0VBRXJFLE1BQU0sYUFBYSxxQkFBcUIsS0FBSyxLQUFLO0VBQ2xELElBQUksQ0FBQyxXQUFXLElBQ2QsTUFBTSxJQUFJLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDLENBQUMsV0FBVyxLQUFLLENBQUM7RUFHNUUsTUFBTUEsWUFBa0IsS0FBSyxXQUFXLEtBQUs7RUFDN0MsT0FBTyxFQUFFLFNBQVMsSUFBSSxRQUFRO0NBQ2hDOztDQUdBLE1BQ00sYUFBYSxLQUFtRDtFQUNwRSxNQUFNLE1BQU0sZUFBZSxHQUFHO0VBQzlCLElBQUksQ0FBQyxLQUFLLE1BQU0sSUFBSSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQztFQUVyRSxNQUFNQyxhQUFtQixHQUFHO0VBQzVCLE9BQU8sRUFBRSxTQUFTLElBQUksUUFBUTtDQUNoQzs7Ozs7Q0FNQSxNQUNNLHdCQUFtRDtFQUl2RCxNQUFNLEVBQUUsZ0NBQWdDLE1BQU0sT0FBTztFQUNyRCxPQUFPLEVBQUUsTUFBTSxNQUFNLDRCQUE0QixFQUFFO0NBQ3JEOzs7Ozs7Ozs7OztDQVlBLE1BQ00sZ0JBQXlEO0VBQzdELG9CQUFvQjtFQUNwQixNQUFNLGFBQWEsaUJBQWlCO0VBQ3BDLElBQUksQ0FBQyxZQUVILE1BQU0sSUFBSSxvQkFBb0IsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7RUFHNUQsTUFBTSxFQUFFLFVBQVUsT0FBTyxXQUFXO0VBRXBDLElBRGdCLG1CQUNaLEdBQVM7R0FDWCxPQUFPLEtBQUssZ0RBQWdELFdBQVcsWUFBWTtHQUVuRixJQUFJO0lBR0YsTUFBTSxFQUFFLHFDQUFxQyxNQUFNLE9BQU87SUFDMUQsTUFBTSxpQ0FBaUM7R0FDekMsVUFBVTtJQUVSLHFCQUFxQixNQUFNLEdBQUc7R0FDaEM7RUFDRjtFQUVBLE9BQU8sRUFBRSxXQUFXO0NBQ3RCO0FBQ0Y7O0NBOVFHLElBQUk7RUFBRSxZQUFZO0VBQU8sU0FBUyxDQUFDLFNBQVMsZ0JBQWdCO0VBQUcsY0FBYztDQUFVLENBQUM7Ozs7OztDQThCeEYsSUFBSTtFQUFFLFlBQVk7RUFBTyxTQUFTLENBQUMsU0FBUyxnQkFBZ0I7RUFBRyxjQUFjO0NBQVcsQ0FBQzs7Ozs7O0NBeUh6RixJQUFJO0VBQUUsWUFBWTtFQUFPLFNBQVMsQ0FBQyxTQUFTLGdCQUFnQjtFQUFHLGNBQWM7Q0FBYyxDQUFDOzs7Ozs7Q0E2QzVGLElBQUk7RUFBRSxZQUFZO0VBQVEsU0FBUyxDQUFDLFNBQVMsbUJBQW1CO0NBQUUsQ0FBQzs7Ozs7O0NBZW5FLElBQUk7RUFBRSxZQUFZO0VBQVEsU0FBUyxDQUFDLFNBQVMsbUJBQW1CO0NBQUUsQ0FBQzs7Ozs7O0NBYW5FLElBQUk7RUFBRSxZQUFZO0VBQVEsU0FBUyxDQUFDLFNBQVMsbUJBQW1CO0NBQUUsQ0FBQzs7Ozs7O0NBbUJuRSxJQUFJO0VBQUUsWUFBWTtFQUFRLFNBQVMsQ0FBQyxTQUFTLG1CQUFtQjtDQUFFLENBQUM7Ozs7O0FBNkJ0RSxNQUFhLGVBQWUsSUFBSSxrQkFBa0IifQ==
|
|
317
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5tb2RlbC5qcyIsIm5hbWVzIjpbInNhdmVTdG9yZWRTZXR0aW5nIiwicmVzZXRTdG9yZWRTZXR0aW5nIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3NldHRpbmcvc2V0dGluZy5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHtcbiAgQmFzZU1vZGVsQ2xhc3MsXG4gIHR5cGUgTGlzdFJlc3VsdCxcbiAgYXNBcnJheSxcbiAgTm90Rm91bmRFeGNlcHRpb24sXG4gIEJhZFJlcXVlc3RFeGNlcHRpb24sXG4gIFNvRXhjZXB0aW9uLFxuICBTb25hbXUsXG4gIGFwaSxcbiAgZXhoYXVzdGl2ZSxcbn0gZnJvbSBcInNvbmFtdVwiO1xuXG5pbXBvcnQgeyBTRCB9IGZyb20gXCIuLi8uLi9pMThuL3NkLmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgZGV0ZWN0U3VwZXJ2aXNvciB9IGZyb20gXCIuLi8uLi91dGlscy9wcm9jZXNzLXN1cGVydmlzb3JcIjtcbmltcG9ydCB7IGFybVNlcnZlclJlc3RhcnRFeGl0LCBiZWdpblNlcnZlclJlc3RhcnQgfSBmcm9tIFwiLi4vLi4vdXRpbHMvc2VydmVyLXJlc3RhcnRcIjtcbmltcG9ydCB7IHR5cGUgU2V0dGluZ1N1YnNldEtleSwgdHlwZSBTZXR0aW5nU3Vic2V0TWFwcGluZyB9IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgeyBzZXR0aW5nU3Vic2V0UXVlcmllcywgc2V0dGluZ0xvYWRlclF1ZXJpZXMgfSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZC5zc29cIjtcbmltcG9ydCB7XG4gIGZpbmRTZXR0aW5nRGVmLFxuICBtYXNrU2VjcmV0LFxuICBTRVRUSU5HX0RFRlMsXG4gIFRPS0VOX1dJTkRPV19LRUVQQUxJVkVfUlVOTkVSX0VOVl9LRVksXG4gIHZhbGlkYXRlU2V0dGluZ1ZhbHVlLFxufSBmcm9tIFwiLi9zZXR0aW5nLmNvbnN0YW50XCI7XG5pbXBvcnQge1xuICBnZXRTZXR0aW5nLFxuICBpc1N0b3JlZCxcbiAgcmVzZXRTZXR0aW5nIGFzIHJlc2V0U3RvcmVkU2V0dGluZyxcbiAgc2F2ZVNldHRpbmcgYXMgc2F2ZVN0b3JlZFNldHRpbmcsXG59IGZyb20gXCIuL3NldHRpbmcuc3RvcmVcIjtcbmltcG9ydCB7XG4gIHR5cGUgUnVudGltZUluZm9JdGVtLFxuICB0eXBlIFNldHRpbmdBcHBsaWVzLFxuICB0eXBlIFNldHRpbmdJdGVtLFxuICB0eXBlIFNldHRpbmdMaXN0UGFyYW1zLFxuICB0eXBlIFNldHRpbmdTYXZlUGFyYW1zLFxuICB0eXBlIFNldHRpbmdzUmVzcG9uc2UsXG4gIHR5cGUgU3VwZXJ2aXNvcktpbmQsXG59IGZyb20gXCIuL3NldHRpbmcudHlwZXNcIjtcblxuY29uc3QgbG9nZ2VyID0gZ2V0TG9nZ2VyKFtcInFncmlkXCIsIFwic2V0dGluZ1wiXSk7XG5cbmNsYXNzIEZvcmJpZGRlbkV4Y2VwdGlvbiBleHRlbmRzIFNvRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoNDAzLCBTRChcImVycm9yLmZvcmJpZGRlblwiKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmlyc3RIZWFkZXJWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gKEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWVbMF0gOiB2YWx1ZSk/LnNwbGl0KFwiLFwiKVswXT8udHJpbSgpO1xufVxuXG4vKiogT3JpZ2luIOyXhuuKlCDsmrTsmIEgQ0xJIOyalOyyreydgCDthrXqs7zsi5ztgqTrkJgsIOu4jOudvOyasOyggCDqtZDssKgg7Lac7LKYIFBPU1Qg64qUIOunieuKlOuLpC4gKi9cbmZ1bmN0aW9uIGFzc2VydFJlc3RhcnRPcmlnaW4oKTogdm9pZCB7XG4gIGNvbnN0IHsgaGVhZGVycyB9ID0gU29uYW11LmdldENvbnRleHQoKTtcbiAgY29uc3Qgb3JpZ2luID0gZmlyc3RIZWFkZXJWYWx1ZShoZWFkZXJzLm9yaWdpbik7XG4gIGlmIChoZWFkZXJzLm9yaWdpbiA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIGlmICghb3JpZ2luKSB0aHJvdyBuZXcgRm9yYmlkZGVuRXhjZXB0aW9uKCk7XG5cbiAgY29uc3QgaG9zdCA9IGZpcnN0SGVhZGVyVmFsdWUoaGVhZGVyc1tcIngtZm9yd2FyZGVkLWhvc3RcIl0pID8/IGZpcnN0SGVhZGVyVmFsdWUoaGVhZGVycy5ob3N0KTtcbiAgdHJ5IHtcbiAgICBpZiAoIWhvc3QgfHwgbmV3IFVSTChvcmlnaW4pLmhvc3QgIT09IGhvc3QpIHRocm93IG5ldyBGb3JiaWRkZW5FeGNlcHRpb24oKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBGb3JiaWRkZW5FeGNlcHRpb24pIHRocm93IGVycm9yO1xuICAgIHRocm93IG5ldyBGb3JiaWRkZW5FeGNlcHRpb24oKTtcbiAgfVxufVxuXG4vKlxuICBTZXR0aW5nIE1vZGVsXG4qL1xuY2xhc3MgU2V0dGluZ01vZGVsQ2xhc3MgZXh0ZW5kcyBCYXNlTW9kZWxDbGFzczxcbiAgU2V0dGluZ1N1YnNldEtleSxcbiAgU2V0dGluZ1N1YnNldE1hcHBpbmcsXG4gIHR5cGVvZiBzZXR0aW5nU3Vic2V0UXVlcmllcyxcbiAgdHlwZW9mIHNldHRpbmdMb2FkZXJRdWVyaWVzXG4+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJTZXR0aW5nXCIsIHNldHRpbmdTdWJzZXRRdWVyaWVzLCBzZXR0aW5nTG9hZGVyUXVlcmllcyk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSwgcmVzb3VyY2VOYW1lOiBcIlNldHRpbmdcIiB9KVxuICBhc3luYyBmaW5kQnlJZDxUIGV4dGVuZHMgU2V0dGluZ1N1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIGlkOiBudW1iZXIsXG4gICk6IFByb21pc2U8U2V0dGluZ1N1YnNldE1hcHBpbmdbVF0+IHtcbiAgICBjb25zdCB7IHJvd3MgfSA9IGF3YWl0IHRoaXMuZmluZE1hbnkoc3Vic2V0LCB7XG4gICAgICBpZCxcbiAgICAgIG51bTogMSxcbiAgICAgIHBhZ2U6IDEsXG4gICAgfSk7XG4gICAgaWYgKCFyb3dzWzBdKSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFeGNlcHRpb24oU0QoXCJlcnJvci5lbnRpdHlOb3RGb3VuZFwiKShcIlNldHRpbmdcIiwgaWQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm93c1swXTtcbiAgfVxuXG4gIGFzeW5jIGZpbmRPbmU8VCBleHRlbmRzIFNldHRpbmdTdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBsaXN0UGFyYW1zOiBTZXR0aW5nTGlzdFBhcmFtcyxcbiAgKTogUHJvbWlzZTxTZXR0aW5nU3Vic2V0TWFwcGluZ1tUXSB8IG51bGw+IHtcbiAgICBjb25zdCB7IHJvd3MgfSA9IGF3YWl0IHRoaXMuZmluZE1hbnkoc3Vic2V0LCB7XG4gICAgICAuLi5saXN0UGFyYW1zLFxuICAgICAgbnVtOiAxLFxuICAgICAgcGFnZTogMSxcbiAgICB9KTtcblxuICAgIHJldHVybiByb3dzWzBdID8/IG51bGw7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSwgcmVzb3VyY2VOYW1lOiBcIlNldHRpbmdzXCIgfSlcbiAgYXN5bmMgZmluZE1hbnk8VCBleHRlbmRzIFNldHRpbmdTdWJzZXRLZXksIExQIGV4dGVuZHMgU2V0dGluZ0xpc3RQYXJhbXM+KFxuICAgIHN1YnNldDogVCxcbiAgICByYXdQYXJhbXM/OiBMUCxcbiAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PExQLCBTZXR0aW5nU3Vic2V0TWFwcGluZ1tUXT4+IHtcbiAgICAvLyBwYXJhbXMgd2l0aCBkZWZhdWx0c1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIG51bTogMjQsXG4gICAgICBwYWdlOiAxLFxuICAgICAgc2VhcmNoOiBcImtleVwiIGFzIGNvbnN0LFxuICAgICAgb3JkZXJCeTogXCJrZXktYXNjXCIgYXMgY29uc3QsXG4gICAgICAuLi5yYXdQYXJhbXMsXG4gICAgfSBzYXRpc2ZpZXMgU2V0dGluZ0xpc3RQYXJhbXM7XG5cbiAgICAvLyBidWlsZCBxdWVyaWVzXG4gICAgY29uc3QgeyBxYiwgb25TdWJzZXQ6IF8gfSA9IHRoaXMuZ2V0U3Vic2V0UXVlcmllcyhzdWJzZXQpO1xuXG4gICAgLy8gaWRcbiAgICBpZiAocGFyYW1zLmlkKSB7XG4gICAgICBxYi53aGVyZUluKFwic2V0dGluZ3MuaWRcIiwgYXNBcnJheShwYXJhbXMuaWQpKTtcbiAgICB9XG5cbiAgICAvLyBrZXkg4oCUIHRvRmlsdGVyIHByb3Ag7J207KeA66eMIOyKpOy6kO2PtOuUqeydtCDrp4zrk6TslrTso7zsp4Ag7JWK7JWEIOyngeygkSDqsbTri6QuXG4gICAgaWYgKHBhcmFtcy5rZXkpIHtcbiAgICAgIHFiLndoZXJlKFwic2V0dGluZ3Mua2V5XCIsIHBhcmFtcy5rZXkpO1xuICAgIH1cblxuICAgIC8vIHNlYXJjaC1rZXl3b3JkXG4gICAgaWYgKHBhcmFtcy5zZWFyY2ggJiYgcGFyYW1zLmtleXdvcmQgJiYgcGFyYW1zLmtleXdvcmQubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHBhcmFtcy5zZWFyY2ggPT09IFwia2V5XCIpIHtcbiAgICAgICAgcWIud2hlcmUoXCJzZXR0aW5ncy5rZXlcIiwgXCJsaWtlXCIsIGAlJHtwYXJhbXMua2V5d29yZH0lYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihTRChcImVycm9yLnVua25vd25TZWFyY2hGaWVsZFwiKShwYXJhbXMuc2VhcmNoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gb3JkZXJCeVxuICAgIGlmIChwYXJhbXMub3JkZXJCeSkge1xuICAgICAgLy8gZGVmYXVsdCBvcmRlckJ5XG4gICAgICBpZiAocGFyYW1zLm9yZGVyQnkgPT09IFwia2V5LWFzY1wiKSB7XG4gICAgICAgIHFiLm9yZGVyQnkoXCJzZXR0aW5ncy5rZXlcIiwgXCJhc2NcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGhhdXN0aXZlKHBhcmFtcy5vcmRlckJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBlbmhhbmNlcnMgPSB0aGlzLmNyZWF0ZUVuaGFuY2Vycyh7XG4gICAgICBBOiAocm93KSA9PiAoe1xuICAgICAgICAuLi5yb3csXG4gICAgICAgIC8vIOyEnOu4jOyFi+uzhOuhnCB2aXJ0dWFsIO2VhOuTnCDqs4TsgrDroZzsp4Eg7LaU6rCAXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVTdWJzZXRRdWVyeSh7XG4gICAgICBzdWJzZXQsXG4gICAgICBxYixcbiAgICAgIHBhcmFtcyxcbiAgICAgIGVuaGFuY2VycyxcbiAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoc3BhOiBTZXR0aW5nU2F2ZVBhcmFtc1tdKTogUHJvbWlzZTxudW1iZXJbXT4ge1xuICAgIGNvbnN0IHdkYiA9IHRoaXMuZ2V0UHVyaShcIndcIik7XG5cbiAgICAvLyByZWdpc3RlclxuICAgIHNwYS5mb3JFYWNoKChzcCkgPT4ge1xuICAgICAgd2RiLnViUmVnaXN0ZXIoXCJzZXR0aW5nc1wiLCBzcCk7XG4gICAgfSk7XG5cbiAgICAvLyB0cmFuc2FjdGlvblxuICAgIHJldHVybiB3ZGIudHJhbnNhY3Rpb24oYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgY29uc3QgaWRzID0gYXdhaXQgdHJ4LnViVXBzZXJ0KFwic2V0dGluZ3NcIik7XG5cbiAgICAgIHJldHVybiBpZHM7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZWwoaWRzOiBudW1iZXJbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgYXdhaXQgd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIHJldHVybiB0cngudGFibGUoXCJzZXR0aW5nc1wiKS53aGVyZUluKFwic2V0dGluZ3MuaWRcIiwgaWRzKS5kZWxldGUoKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpZHMubGVuZ3RoO1xuICB9XG5cbiAgLyoqIOyggOyepeuQnCDshKTsoJUg7KCE7LK066W8IGtleeKGknZhbHVlIOuhnC4g67aA7YyFIOyLnCDtlZwg67KIIOydveyWtCDrqZTrqqjrpqzsl5Ag7Jis66aw64ukLiAqL1xuICBhc3luYyBmaW5kQWxsQXNNYXAoKTogUHJvbWlzZTxNYXA8c3RyaW5nLCBzdHJpbmc+PiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KFwiQVwiLCB7IG51bTogMCwgcGFnZTogMSB9KTtcbiAgICByZXR1cm4gbmV3IE1hcChyb3dzLm1hcCgocikgPT4gW3Iua2V5LCByLnZhbHVlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGtleSDroZwgdXBzZXJ0IO2VnOuLpC4gYHNhdmVgIOuKlCBpZCDquLDspIDsnbTrnbwga2V5IOykkeuzteydhCDqsbjrn6zrgrTsp4Ag66q77ZW0LCDquLDsobQg7ZaJ7J2EIOuovOyggCDssL7slYRcbiAgICogaWQg66W8IOyLpOyWtCDrs7Trgrjri6QuXG4gICAqL1xuICBhc3luYyBzZXRCeUtleShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gYXdhaXQgdGhpcy5maW5kT25lKFwiQVwiLCB7IGtleSwgbnVtOiAxLCBwYWdlOiAxIH0pO1xuICAgIGF3YWl0IHRoaXMuc2F2ZShbXG4gICAgICB7XG4gICAgICAgIC4uLihleGlzdGluZyA/IHsgaWQ6IGV4aXN0aW5nLmlkIH0gOiB7fSksXG4gICAgICAgIGtleSxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHVwZGF0ZWRfYXQ6IG5ldyBEYXRlKCksXG4gICAgICB9LFxuICAgIF0pO1xuICB9XG5cbiAgLyoqIOyggOyepeqwkuydhCDsp4Dsm4wgZW52IOq4sOuzuOqwkuycvOuhnCDrkJjrj4zrprDri6QuICovXG4gIGFzeW5jIGNsZWFyQnlLZXkoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBleGlzdGluZyA9IGF3YWl0IHRoaXMuZmluZE9uZShcIkFcIiwgeyBrZXksIG51bTogMSwgcGFnZTogMSB9KTtcbiAgICBpZiAoZXhpc3RpbmcpIGF3YWl0IHRoaXMuZGVsKFtleGlzdGluZy5pZF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIO2OuOynkSDqsIDriqXtlZwg7ISk7KCV6rO8IOydveq4sCDsoITsmqkg65+w7YOA7J6EIOygleuztC4g7Y647KeRIOuMgOyDgeydgCBgU0VUVElOR19ERUZTYCDsl5Ag7KCV7J2Y65CcIOqyg+u/kOydtOuLpCDigJRcbiAgICogREIg7KCR7IaNIOygleuztOuCmCDtj6ztirjripQg7ISc67KE6rCAIOucqOq4sCDsoITsl5Ag7ZWE7JqU7ZW0IO2ZlOuptOyXkOyEnCDrsJTqv4Ag7IiYIOyXhuuLpC5cbiAgICovXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdLCByZXNvdXJjZU5hbWU6IFwiU2V0dGluZ0xpc3RcIiB9KVxuICBhc3luYyBsaXN0U2V0dGluZ3MoKTogUHJvbWlzZTxTZXR0aW5nc1Jlc3BvbnNlPiB7XG4gICAgY29uc3Qgc2V0dGluZ3M6IFNldHRpbmdJdGVtW10gPSBTRVRUSU5HX0RFRlMubWFwKChkZWYpID0+IHtcbiAgICAgIC8vIOyggOyepeqwkuuPhCBlbnYg64+EIOyXhuycvOuptCDsvZTrk5wg6riw67O46rCS7J20IOyLpOygnOuhnCDsoIHsmqkg7KSR7J2064ukLiDruYjsubjsnLzroZwg65GQ66m0IO2ZlOuptOqzvFxuICAgICAgLy8g65+w7YOA7J6E7J20IOyWtOq4i+uCmCDrs7Tsnbjri6QuXG4gICAgICBjb25zdCBzdG9yZWQgPSBpc1N0b3JlZChkZWYua2V5KTtcbiAgICAgIGNvbnN0IHJhdyA9IGdldFNldHRpbmcoZGVmLmtleSwgZGVmLmVudktleSk7XG4gICAgICBjb25zdCBlZmZlY3RpdmUgPSByYXcgPz8gZGVmLmZhbGxiYWNrO1xuICAgICAgY29uc3Qgc291cmNlID0gc3RvcmVkID8gXCJkYlwiIDogcmF3ICE9PSB1bmRlZmluZWQgPyBcImVudlwiIDogXCJkZWZhdWx0XCI7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleTogZGVmLmtleSxcbiAgICAgICAgZ3JvdXA6IGRlZi5ncm91cCxcbiAgICAgICAgbGFiZWw6IGRlZi5sYWJlbCxcbiAgICAgICAga2luZDogZGVmLmtpbmQsXG4gICAgICAgIGFwcGxpZXM6IGRlZi5hcHBsaWVzLFxuICAgICAgICAvLyDriIgg7Yag6riA7J2EIOychO2VtCBzZWNyZXQg64+EIOybkOuzuOydhCDrgrTroKTrs7Trgrjri6QuIOydtCDsl5Trk5ztj6zsnbjtirjripQg67Cw7Y+sIOqyveqzhOyXkOyEnFxuICAgICAgICAvLyDrsJjrk5zsi5wg7J247Kad7ZW07JW8IO2VnOuLpC5cbiAgICAgICAgdmFsdWU6IGVmZmVjdGl2ZSxcbiAgICAgICAgc291cmNlLFxuICAgICAgICBtaW46IGRlZi5taW4gPz8gbnVsbCxcbiAgICAgICAgbWF4OiBkZWYubWF4ID8/IG51bGwsXG4gICAgICAgIHByZXNldHM6IGRlZi5wcmVzZXRzID8/IFtdLFxuICAgICAgICBoZWxwOiBkZWYuaGVscCA/PyBudWxsLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBzZXR0aW5ncyxcbiAgICAgIHJ1bnRpbWU6IHRoaXMucnVudGltZUluZm8oKSxcbiAgICAgIHN1cGVydmlzb3I6IGRldGVjdFN1cGVydmlzb3IoKSxcbiAgICAgIGtlZXBhbGl2ZVJ1bm5lckVuYWJsZWQ6IHByb2Nlc3MuZW52W1RPS0VOX1dJTkRPV19LRUVQQUxJVkVfUlVOTkVSX0VOVl9LRVldID09PSBcInRydWVcIixcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBydW50aW1lSW5mbygpOiBSdW50aW1lSW5mb0l0ZW1bXSB7XG4gICAgY29uc3QgZW52ID0gcHJvY2Vzcy5lbnY7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBlbnYuUUdSSURfREJfUEFTU1dPUkQgPz8gZW52LlNPTkFNVV9EQl9QQVNTV09SRCA/PyBcIlwiO1xuICAgIHJldHVybiBbXG4gICAgICB7IGxhYmVsOiBcIk5PREVfRU5WXCIsIHZhbHVlOiBlbnYuTk9ERV9FTlYgPz8gXCItXCIgfSxcbiAgICAgIHsgbGFiZWw6IFwiSE9TVFwiLCB2YWx1ZTogZW52LkhPU1QgPz8gXCJsb2NhbGhvc3RcIiB9LFxuICAgICAgeyBsYWJlbDogXCJQT1JUXCIsIHZhbHVlOiBlbnYuUE9SVCA/PyBcIjQ0OTAwXCIgfSxcbiAgICAgIHsgbGFiZWw6IFwiREIgSG9zdFwiLCB2YWx1ZTogZW52LlFHUklEX0RCX0hPU1QgPz8gZW52LlNPTkFNVV9EQl9IT1NUID8/IFwiLVwiIH0sXG4gICAgICB7IGxhYmVsOiBcIkRCIFBvcnRcIiwgdmFsdWU6IGVudi5RR1JJRF9EQl9QT1JUID8/IGVudi5TT05BTVVfREJfUE9SVCA/PyBcIi1cIiB9LFxuICAgICAgeyBsYWJlbDogXCJEQiBOYW1lXCIsIHZhbHVlOiBlbnYuUUdSSURfREJfTkFNRSA/PyBlbnYuU09OQU1VX0RCX05BTUUgPz8gXCItXCIgfSxcbiAgICAgIHsgbGFiZWw6IFwiREIgVXNlclwiLCB2YWx1ZTogZW52LlFHUklEX0RCX1VTRVIgPz8gZW52LlNPTkFNVV9EQl9VU0VSID8/IFwiLVwiIH0sXG4gICAgICB7IGxhYmVsOiBcIkRCIFBhc3N3b3JkXCIsIHZhbHVlOiBwYXNzd29yZCA/IG1hc2tTZWNyZXQocGFzc3dvcmQpIDogXCItXCIgfSxcbiAgICBdO1xuICB9XG5cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIHVwZGF0ZVNldHRpbmcoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHsgYXBwbGllczogU2V0dGluZ0FwcGxpZXMgfT4ge1xuICAgIGNvbnN0IGRlZiA9IGZpbmRTZXR0aW5nRGVmKGtleSk7XG4gICAgaWYgKCFkZWYpIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKFNEKFwic2V0dGluZy51bmtub3duS2V5XCIpKGtleSkpO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvbiA9IHZhbGlkYXRlU2V0dGluZ1ZhbHVlKGRlZiwgdmFsdWUpO1xuICAgIGlmICghdmFsaWRhdGlvbi5vaykge1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oU0QoXCJzZXR0aW5nLmludmFsaWRWYWx1ZVwiKSh2YWxpZGF0aW9uLmVycm9yKSk7XG4gICAgfVxuXG4gICAgYXdhaXQgc2F2ZVN0b3JlZFNldHRpbmcoa2V5LCB2YWxpZGF0aW9uLnZhbHVlKTtcbiAgICByZXR1cm4geyBhcHBsaWVzOiBkZWYuYXBwbGllcyB9O1xuICB9XG5cbiAgLyoqIOyggOyepeqwkuydhCDsp4Dsm4wgZW52IOq4sOuzuOqwkuycvOuhnCDrkJjrj4zrprDri6QuICovXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyByZXNldFNldHRpbmcoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHsgYXBwbGllczogU2V0dGluZ0FwcGxpZXMgfT4ge1xuICAgIGNvbnN0IGRlZiA9IGZpbmRTZXR0aW5nRGVmKGtleSk7XG4gICAgaWYgKCFkZWYpIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKFNEKFwic2V0dGluZy51bmtub3duS2V5XCIpKGtleSkpO1xuXG4gICAgYXdhaXQgcmVzZXRTdG9yZWRTZXR0aW5nKGtleSk7XG4gICAgcmV0dXJuIHsgYXBwbGllczogZGVmLmFwcGxpZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDrp4zro4wg7JWM66a87J2EIOyngOq4iCDtlZwg67KIIOuztOuCuOuLpC4g7KO86riw66W8IOq4sOuLpOumrOyngCDslYrqs6Ag7ISk7KCV7J20IOygnOuMgOuhnCDrtpnsl4jripTsp4Ag7ZmV7J247ZWY6rGw64KYLFxuICAgKiDsnqzroZzqt7jsnbjsnYQg7J6s7LSJ7ZWgIOuVjCDsk7Tri6QuIOuztOuCuCDqsbTsiJjrpbwg64+M66Ck7KSYIFwi67O064K8IOuMgOyDgSDsl4bsnYxcIuqzvCDqtazrtoTtlZzri6QuXG4gICAqL1xuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgdHJpZ2dlckV4cGlyeVJlbWluZGVyKCk6IFByb21pc2U8eyBzZW50OiBudW1iZXIgfT4ge1xuICAgIC8vIOuPmeyggSBpbXBvcnQg66GcIOyVjOumvCDrqqjrk4jsnYQg7Zi47LacIOyLnOygkOyXkOunjCDrgYzslrTsmKjri6QuIOygleyggeycvOuhnCDqsbjrqbRcbiAgICAvLyBzZXR0aW5nLm1vZGVsIOKGkiBleHBpcmVkLXRva2VuLXJlbWluZGVyIOKGkiB0b2tlbi5tb2RlbCDqsr3roZzqsIAg7IOd6rKoLFxuICAgIC8vIHRva2VuLm1vZGVsIOydhCBtb2NrIO2VmOuKlCDthYzsiqTtirjqsIAg7Iuk7KCcIOuqqOuTiOydhCDrqLzsoIAg66Gc65Oc7ZWY6rKMIOuQnOuLpC5cbiAgICBjb25zdCB7IHNlbmRFeHBpcmVkVG9rZW5SZW1pbmRlck5vdyB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vcWdyaWQvZXhwaXJlZC10b2tlbi1yZW1pbmRlclwiKTtcbiAgICByZXR1cm4geyBzZW50OiBhd2FpdCBzZW5kRXhwaXJlZFRva2VuUmVtaW5kZXJOb3coKSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIOyEnOuyhOulvCDsnqzsi5zsnpHtlZzri6Qg4oCUIOygle2Zle2eiOuKlCDsiqTsiqTroZwg7KKF66OM7ZWY6rOgLCBwbTIg6rCAIOuLpOyLnCDrnYTsmrDripQg6rKD7JeQIOunoeq4tOuLpC5cbiAgICpcbiAgICogYHJlc3RhcnRgIOuhnCDtkZzsi5zrkJwg7JuM7LukIOyEpOygleydgCBkaXNwYXRjaGVyIOyDneyEseyekOyXkOyEnCDtlZwg67KI66eMIOydve2eiOuvgOuhnCDsnbQg6rK966GcIOunkOqzoOuKlFxuICAgKiDrsJjsmIHtlaAg67Cp67KV7J20IOyXhuyXiOuLpC4g7KeA6riI6rmM7KeA64qUIFNTSCDroZwgYHBtMiByZXN0YXJ0YCDrpbwg7LOQ7JW8IO2WiOuLpC5cbiAgICpcbiAgICog67aA7IiYIO2aqOqzvOqwgCDtlZjrgpgg642UIOyeiOuLpDogcG0yIOuKlCBgZWNvc3lzdGVtLmNvbmZpZy5janNgIOydmCDsm5Drnpgg66qF66C57Jy866GcIOuLpOyLnCDrnYTsmrDqs6AsXG4gICAqIOq3uCDrqoXroLnsl5AgYC0tc2tpcC11cGRhdGVgIOqwgCDsl4bsnLzrqbQgQ0xJIOqwgCBucG0g7LWc7IugIOuyhOyghOydhCDrsJvslYQg7Jis66aw64ukLiDspokg7J6s7Iuc7J6R7J2AXG4gICAqIOuwsO2PrOydtOq4sOuPhCDtlZjri6Qg4oCUIO2ZlOuptCDrrLjqtazqsIAg7J20IOyCrOyLpOydhCDtlajqu5gg7JWM66aw64ukLlxuICAgKi9cbiAgQGFwaSh7IGh0dHBNZXRob2Q6IFwiUE9TVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLW11dGF0aW9uXCJdIH0pXG4gIGFzeW5jIHJlc3RhcnRTZXJ2ZXIoKTogUHJvbWlzZTx7IHN1cGVydmlzb3I6IFN1cGVydmlzb3JLaW5kIH0+IHtcbiAgICBhc3NlcnRSZXN0YXJ0T3JpZ2luKCk7XG4gICAgY29uc3Qgc3VwZXJ2aXNvciA9IGRldGVjdFN1cGVydmlzb3IoKTtcbiAgICBpZiAoIXN1cGVydmlzb3IpIHtcbiAgICAgIC8vIOuLpOyLnCDrnYTsm4zspIQg7KO87LK06rCAIOyXhuycvOuptCDsooXro4zqsIAg6rOnIOygleyngOuLpC4g7IK066a0IOyImCDsl4bripTrjbAg7KO97J207KeAIOyViuuKlOuLpC5cbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKFNEKFwic2V0dGluZy5ub1N1cGVydmlzb3JcIikoKSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyByZXBseSB9ID0gU29uYW11LmdldENvbnRleHQoKTtcbiAgICBjb25zdCBzdGFydGVkID0gYmVnaW5TZXJ2ZXJSZXN0YXJ0KCk7XG4gICAgaWYgKHN0YXJ0ZWQpIHtcbiAgICAgIGxvZ2dlci53YXJuKGByZXN0YXJ0IHJlcXVlc3RlZCB2aWEgZGFzaGJvYXJkLCBleGl0aW5nIGZvciAke3N1cGVydmlzb3J9IHRvIHJlc3Bhd25gKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8g7KCV7KCBIGltcG9ydOuhnCBxZ3JpZC5mcmFtZS90b2tlbiDqt7jrnpjtlITrpbwg64u56rKo7Jik66m0IOuqqOuTiCDrqqkg7YWM7Iqk7Yq46rCAIOyYpOyXvOuQnOuLpC5cbiAgICAgICAgLy8g7J6s7Iuc7J6R7J20IOyLpOygnOuhnCDtmZXsoJXrkJwg7Iuc7KCQ7JeQIGFjdGl2ZSBuYXRpdmUgcnVuIOygle2VqeyEsSDsspjrpqzrp4wg66Gc65Oc7ZWc64ukLlxuICAgICAgICBjb25zdCB7IGZpbmlzaEFjdGl2ZU5hdGl2ZVJ1bnNGb3JSZXN0YXJ0IH0gPSBhd2FpdCBpbXBvcnQoXCIuLi9xZ3JpZC9xZ3JpZC1ydW4tbGlmZWN5Y2xlXCIpO1xuICAgICAgICBhd2FpdCBmaW5pc2hBY3RpdmVOYXRpdmVSdW5zRm9yUmVzdGFydCgpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgLy8g7KCV7ZWp7ISxIOyymOumrOqwgCDsi6TtjKjtlbTrj4Qg7J2R64u17J20IGZsdXNoIOuQnCDrkqTsl5DripQg7J6s7Iuc7J6R7J2EIOuBneq5jOyngCDsp4TtlontlZzri6QuXG4gICAgICAgIGFybVNlcnZlclJlc3RhcnRFeGl0KHJlcGx5LnJhdyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc3VwZXJ2aXNvciB9O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBTZXR0aW5nTW9kZWwgPSBuZXcgU2V0dGluZ01vZGVsQ2xhc3MoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUF5Q0EsTUFBTSxTQUFTLFVBQVUsQ0FBQyxTQUFTLFNBQVMsQ0FBQztBQUU3QyxJQUFNLHFCQUFOLGNBQWlDLFlBQVk7Q0FDM0MsY0FBYztFQUNaLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDO0NBQ2xDO0FBQ0Y7QUFFQSxTQUFTLGlCQUFpQixPQUEwRDtDQUNsRixRQUFRLE1BQU0sUUFBUSxLQUFLLElBQUksTUFBTSxLQUFLLE1BQUEsRUFBUSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLO0FBQ3hFOztBQUdBLFNBQVMsc0JBQTRCO0NBQ25DLE1BQU0sRUFBRSxZQUFZLE9BQU8sV0FBVztDQUN0QyxNQUFNLFNBQVMsaUJBQWlCLFFBQVEsTUFBTTtDQUM5QyxJQUFJLFFBQVEsV0FBVyxRQUFXO0NBQ2xDLElBQUksQ0FBQyxRQUFRLE1BQU0sSUFBSSxtQkFBbUI7Q0FFMUMsTUFBTSxPQUFPLGlCQUFpQixRQUFRLG1CQUFtQixLQUFLLGlCQUFpQixRQUFRLElBQUk7Q0FDM0YsSUFBSTtFQUNGLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxTQUFTLE1BQU0sTUFBTSxJQUFJLG1CQUFtQjtDQUMzRSxTQUFTLE9BQU87RUFDZCxJQUFJLGlCQUFpQixvQkFBb0IsTUFBTTtFQUMvQyxNQUFNLElBQUksbUJBQW1CO0NBQy9CO0FBQ0Y7QUFL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
|
|
@@ -42,7 +42,7 @@ async function loadSettings(persistence = SettingModel) {
|
|
|
42
42
|
}
|
|
43
43
|
/** DB → env 순. 둘 다 없으면 undefined 라 호출부의 기본값으로 떨어진다. */
|
|
44
44
|
function getSetting(key, envKey) {
|
|
45
|
-
return cache?.get(key) ?? process.env[envKey];
|
|
45
|
+
return cache?.get(key) ?? (envKey ? process.env[envKey] : void 0);
|
|
46
46
|
}
|
|
47
47
|
/** 저장된 값인지 — 화면에서 출처를 구분해 보여준다. */
|
|
48
48
|
function isStored(key) {
|
|
@@ -63,4 +63,4 @@ async function resetSetting(key, persistence = SettingModel) {
|
|
|
63
63
|
//#endregion
|
|
64
64
|
export { getSetting, isStored, loadSettings, resetSetting, saveSetting, setSettingChangeHandler };
|
|
65
65
|
|
|
66
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5zdG9yZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vc2V0dGluZy9zZXR0aW5nLnN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog65+w7YOA7J6EIOyEpOyglSDsobDtmowg7LqQ7IucLlxuICpcbiAqIOqwkuydmCDstpzsspjripQgREIoYHNldHRpbmdzYCkg4oaSIGVudiDsiJzsnbTri6QuIGVudiDrpbwg64Ko6rKo65GQ64qUIOydtOycoOuKlCDsoITtmZgg65WM66y47J2064ukIOKAlCBkZXYwIOuKlFxuICogYGVjb3N5c3RlbS5jb25maWcuanNvbmAg7Jy866GcIOqwkuydhCDso7zsnoXtlZjripTrjbAsIERCIOunjCDrs7Tqsowg66eM65Ok66m0IOuwsO2PrCDsp4Htm4Qg7ISk7KCV7J20IOyghOu2gFxuICog6riw67O46rCS7Jy866GcIOuWqOyWtOynhOuLpC5cbiAqXG4gKiDshKTsoJXsnYAg7JqU7LKtIOqyveuhnChwZXJtaXQg7ZW07ISdLCDslYzrprwg7KCE7IahKeyXkOyEnCDsnb3tnojrr4DroZwg66ek67KIIERCIOulvCDrlYzrpqzsp4Ag7JWK6rOgIOuplOuqqOumrOyXkFxuICog65GU64ukLiBgaW1tZWRpYXRlYCDrs4Dqsr3rj4Qg7ZiE7J6sIEFQSSDtlITroZzshLjsiqTsl5Drp4wg7KaJ7IucIOuwmOyYgeuQnOuLpC4g7J247Iqk7YS07Iqk6rCAIOyXrOufrCDqsJzrqbQg64uk66W4XG4gKiDsnbjsiqTthLTsiqTsnZgg7LqQ7Iuc64qUIOqwseyLoOuQmOyngCDslYrsnLzrqbAsIOydtCDrspTsnITsl5DshJzripQg7ZSE66Gc7IS47IqkIOqwhCDsoITtjIzrpbwg65GQ7KeAIOyViuuKlOuLpC5cbiAqL1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIkBsb2d0YXBlL2xvZ3RhcGVcIjtcblxuaW1wb3J0IHsgU2V0dGluZ01vZGVsIH0gZnJvbSBcIi4vc2V0dGluZy5tb2RlbFwiO1xuXG5jb25zdCBsb2dnZXIgPSBnZXRMb2dnZXIoW1wicWdyaWRcIiwgXCJzZXR0aW5nXCJdKTtcblxuLyoqIOuhnOuTnCDsoITsl5DripQgbnVsbCDsnbTrnbwg7KCE67aAIGVudiDroZwg65ao7Ja07KeE64ukLiAqL1xubGV0IGNhY2hlOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbnR5cGUgU2V0dGluZ0NoYW5nZUhhbmRsZXIgPSAoa2V5OiBzdHJpbmcpID0+IHZvaWQ7XG5leHBvcnQgdHlwZSBTZXR0aW5nUGVyc2lzdGVuY2UgPSBQaWNrPFxuICB0eXBlb2YgU2V0dGluZ01vZGVsLFxuICBcImNsZWFyQnlLZXlcIiB8IFwiZmluZEFsbEFzTWFwXCIgfCBcInNldEJ5S2V5XCJcbj47XG5sZXQgc2V0dGluZ0NoYW5nZUhhbmRsZXI6IFNldHRpbmdDaGFuZ2VIYW5kbGVyIHwgbnVsbCA9IG51bGw7XG5cbi8qKlxuICog65+w7YOA7J6EIOyGjOu5hOyekOuKlCDsg4HsnIQg7KGw66a9IOqzhOy4teyXkOyEnCDtlZjrgpjrp4wg65Ox66Gd7ZWc64ukLiBoYW5kbGVyIOuKlCDrj5nquLAg7J6R7JeF66eMIO2VtOyVvCDtlZjrqbAsXG4gKiDsi6TtjKjtlbTrj4Qg7J2066+4IOyEseqzte2VnCBEQiDsoIDsnqXsnYQg7Iuk7Yyo66GcIOuwlOq+uOyngCDslYrripTri6QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZXR0aW5nQ2hhbmdlSGFuZGxlcihoYW5kbGVyOiBTZXR0aW5nQ2hhbmdlSGFuZGxlciB8IG51bGwpOiB2b2lkIHtcbiAgc2V0dGluZ0NoYW5nZUhhbmRsZXIgPSBoYW5kbGVyO1xufVxuXG5mdW5jdGlvbiBub3RpZnlTZXR0aW5nQ2hhbmdlZChrZXk6IHN0cmluZyk6IHZvaWQge1xuICB0cnkge1xuICAgIHNldHRpbmdDaGFuZ2VIYW5kbGVyPy4oa2V5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSk7XG4gICAgbG9nZ2VyLndhcm4oYHNldHRpbmcgY2hhbmdlIGhhbmRsZXIgZmFpbGVkIGZvciAke2tleX06ICR7bWVzc2FnZX1gKTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFNldHRpbmdzKHBlcnNpc3RlbmNlOiBTZXR0aW5nUGVyc2lzdGVuY2UgPSBTZXR0aW5nTW9kZWwpOiBQcm9taXNlPHZvaWQ+
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5zdG9yZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vc2V0dGluZy9zZXR0aW5nLnN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog65+w7YOA7J6EIOyEpOyglSDsobDtmowg7LqQ7IucLlxuICpcbiAqIOqwkuydmCDstpzsspjripQgREIoYHNldHRpbmdzYCkg4oaSIGVudiDsiJzsnbTri6QuIGVudiDrpbwg64Ko6rKo65GQ64qUIOydtOycoOuKlCDsoITtmZgg65WM66y47J2064ukIOKAlCBkZXYwIOuKlFxuICogYGVjb3N5c3RlbS5jb25maWcuanNvbmAg7Jy866GcIOqwkuydhCDso7zsnoXtlZjripTrjbAsIERCIOunjCDrs7Tqsowg66eM65Ok66m0IOuwsO2PrCDsp4Htm4Qg7ISk7KCV7J20IOyghOu2gFxuICog6riw67O46rCS7Jy866GcIOuWqOyWtOynhOuLpC5cbiAqXG4gKiDshKTsoJXsnYAg7JqU7LKtIOqyveuhnChwZXJtaXQg7ZW07ISdLCDslYzrprwg7KCE7IahKeyXkOyEnCDsnb3tnojrr4DroZwg66ek67KIIERCIOulvCDrlYzrpqzsp4Ag7JWK6rOgIOuplOuqqOumrOyXkFxuICog65GU64ukLiBgaW1tZWRpYXRlYCDrs4Dqsr3rj4Qg7ZiE7J6sIEFQSSDtlITroZzshLjsiqTsl5Drp4wg7KaJ7IucIOuwmOyYgeuQnOuLpC4g7J247Iqk7YS07Iqk6rCAIOyXrOufrCDqsJzrqbQg64uk66W4XG4gKiDsnbjsiqTthLTsiqTsnZgg7LqQ7Iuc64qUIOqwseyLoOuQmOyngCDslYrsnLzrqbAsIOydtCDrspTsnITsl5DshJzripQg7ZSE66Gc7IS47IqkIOqwhCDsoITtjIzrpbwg65GQ7KeAIOyViuuKlOuLpC5cbiAqL1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIkBsb2d0YXBlL2xvZ3RhcGVcIjtcblxuaW1wb3J0IHsgU2V0dGluZ01vZGVsIH0gZnJvbSBcIi4vc2V0dGluZy5tb2RlbFwiO1xuXG5jb25zdCBsb2dnZXIgPSBnZXRMb2dnZXIoW1wicWdyaWRcIiwgXCJzZXR0aW5nXCJdKTtcblxuLyoqIOuhnOuTnCDsoITsl5DripQgbnVsbCDsnbTrnbwg7KCE67aAIGVudiDroZwg65ao7Ja07KeE64ukLiAqL1xubGV0IGNhY2hlOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbnR5cGUgU2V0dGluZ0NoYW5nZUhhbmRsZXIgPSAoa2V5OiBzdHJpbmcpID0+IHZvaWQ7XG5leHBvcnQgdHlwZSBTZXR0aW5nUGVyc2lzdGVuY2UgPSBQaWNrPFxuICB0eXBlb2YgU2V0dGluZ01vZGVsLFxuICBcImNsZWFyQnlLZXlcIiB8IFwiZmluZEFsbEFzTWFwXCIgfCBcInNldEJ5S2V5XCJcbj47XG5sZXQgc2V0dGluZ0NoYW5nZUhhbmRsZXI6IFNldHRpbmdDaGFuZ2VIYW5kbGVyIHwgbnVsbCA9IG51bGw7XG5cbi8qKlxuICog65+w7YOA7J6EIOyGjOu5hOyekOuKlCDsg4HsnIQg7KGw66a9IOqzhOy4teyXkOyEnCDtlZjrgpjrp4wg65Ox66Gd7ZWc64ukLiBoYW5kbGVyIOuKlCDrj5nquLAg7J6R7JeF66eMIO2VtOyVvCDtlZjrqbAsXG4gKiDsi6TtjKjtlbTrj4Qg7J2066+4IOyEseqzte2VnCBEQiDsoIDsnqXsnYQg7Iuk7Yyo66GcIOuwlOq+uOyngCDslYrripTri6QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZXR0aW5nQ2hhbmdlSGFuZGxlcihoYW5kbGVyOiBTZXR0aW5nQ2hhbmdlSGFuZGxlciB8IG51bGwpOiB2b2lkIHtcbiAgc2V0dGluZ0NoYW5nZUhhbmRsZXIgPSBoYW5kbGVyO1xufVxuXG5mdW5jdGlvbiBub3RpZnlTZXR0aW5nQ2hhbmdlZChrZXk6IHN0cmluZyk6IHZvaWQge1xuICB0cnkge1xuICAgIHNldHRpbmdDaGFuZ2VIYW5kbGVyPy4oa2V5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSk7XG4gICAgbG9nZ2VyLndhcm4oYHNldHRpbmcgY2hhbmdlIGhhbmRsZXIgZmFpbGVkIGZvciAke2tleX06ICR7bWVzc2FnZX1gKTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFNldHRpbmdzKHBlcnNpc3RlbmNlOiBTZXR0aW5nUGVyc2lzdGVuY2UgPSBTZXR0aW5nTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdHJ5IHtcbiAgICBjYWNoZSA9IGF3YWl0IHBlcnNpc3RlbmNlLmZpbmRBbGxBc01hcCgpO1xuICAgIGxvZ2dlci5pbmZvKGBzZXR0aW5ncyBsb2FkZWQ6ICR7Y2FjaGUuc2l6ZX0gc3RvcmVkYCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyDthYzsnbTruJTsnbQg7JWE7KeBIOyXhuuKlCDrsLDtj6wo66eI7J206re466CI7J207IWYIOyghCnsl5DshJzrj4Qg7ISc67KE64qUIOuWoOyVvCDtlZzri6QuXG4gICAgY2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgbG9nZ2VyLndhcm4oYHNldHRpbmdzIGxvYWQgZmFpbGVkLCB1c2luZyBlbnYgb25seTogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKTtcbiAgfVxufVxuXG4vKiogREIg4oaSIGVudiDsiJwuIOuRmCDri6Qg7JeG7Jy866m0IHVuZGVmaW5lZCDrnbwg7Zi47Lac67aA7J2YIOq4sOuzuOqwkuycvOuhnCDrlqjslrTsp4Tri6QuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2V0dGluZyhrZXk6IHN0cmluZywgZW52S2V5Pzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGNhY2hlPy5nZXQoa2V5KSA/PyAoZW52S2V5ID8gcHJvY2Vzcy5lbnZbZW52S2V5XSA6IHVuZGVmaW5lZCk7XG59XG5cbi8qKiDsoIDsnqXrkJwg6rCS7J247KeAIOKAlCDtmZTrqbTsl5DshJwg7Lac7LKY66W8IOq1rOu2hO2VtCDrs7Tsl6zspIDri6QuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdG9yZWQoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNhY2hlPy5oYXMoa2V5KSA/PyBmYWxzZTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhdmVTZXR0aW5nKFxuICBrZXk6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyxcbiAgcGVyc2lzdGVuY2U6IFNldHRpbmdQZXJzaXN0ZW5jZSA9IFNldHRpbmdNb2RlbCxcbik6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBwZXJzaXN0ZW5jZS5zZXRCeUtleShrZXksIHZhbHVlKTtcbiAgY2FjaGUgPz89IG5ldyBNYXAoKTtcbiAgY2FjaGUuc2V0KGtleSwgdmFsdWUpO1xuICBub3RpZnlTZXR0aW5nQ2hhbmdlZChrZXkpO1xufVxuXG4vKiog7KCA7J6l6rCS7J2EIOyngOybjCBlbnYg6riw67O46rCS7Jy866GcIOuQmOuPjOumsOuLpC4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNldFNldHRpbmcoXG4gIGtleTogc3RyaW5nLFxuICBwZXJzaXN0ZW5jZTogU2V0dGluZ1BlcnNpc3RlbmNlID0gU2V0dGluZ01vZGVsLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHBlcnNpc3RlbmNlLmNsZWFyQnlLZXkoa2V5KTtcbiAgY2FjaGU/LmRlbGV0ZShrZXkpO1xuICBub3RpZnlTZXR0aW5nQ2hhbmdlZChrZXkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQWVBLE1BQU0sU0FBUyxVQUFVLENBQUMsU0FBUyxTQUFTLENBQUM7O0FBRzdDLElBQUksUUFBb0M7QUFPeEMsSUFBSSx1QkFBb0Q7Ozs7O0FBTXhELFNBQWdCLHdCQUF3QixTQUE0QztDQUNsRix1QkFBdUI7QUFDekI7QUFFQSxTQUFTLHFCQUFxQixLQUFtQjtDQUMvQyxJQUFJO0VBQ0YsdUJBQXVCLEdBQUc7Q0FDNUIsU0FBUyxHQUFHO0VBQ1YsTUFBTSxVQUFVLGFBQWEsUUFBUSxFQUFFLFVBQVUsT0FBTyxDQUFDO0VBQ3pELE9BQU8sS0FBSyxxQ0FBcUMsSUFBSSxJQUFJLFNBQVM7Q0FDcEU7QUFDRjtBQUVBLGVBQXNCLGFBQWEsY0FBa0MsY0FBNkI7Q0FDaEcsSUFBSTtFQUNGLFFBQVEsTUFBTSxZQUFZLGFBQWE7RUFDdkMsT0FBTyxLQUFLLG9CQUFvQixNQUFNLEtBQUssUUFBUTtDQUNyRCxTQUFTLEdBQUc7RUFFVix3QkFBUSxJQUFJLElBQUk7RUFDaEIsT0FBTyxLQUFLLHlDQUEwQyxFQUFZLFNBQVM7Q0FDN0U7QUFDRjs7QUFHQSxTQUFnQixXQUFXLEtBQWEsUUFBcUM7Q0FDM0UsT0FBTyxPQUFPLElBQUksR0FBRyxNQUFNLFNBQVMsUUFBUSxJQUFJLFVBQVU7QUFDNUQ7O0FBR0EsU0FBZ0IsU0FBUyxLQUFzQjtDQUM3QyxPQUFPLE9BQU8sSUFBSSxHQUFHLEtBQUs7QUFDNUI7QUFFQSxlQUFzQixZQUNwQixLQUNBLE9BQ0EsY0FBa0MsY0FDbkI7Q0FDZixNQUFNLFlBQVksU0FBUyxLQUFLLEtBQUs7Q0FDckMsMEJBQVUsSUFBSSxJQUFJO0NBQ2xCLE1BQU0sSUFBSSxLQUFLLEtBQUs7Q0FDcEIscUJBQXFCLEdBQUc7QUFDMUI7O0FBR0EsZUFBc0IsYUFDcEIsS0FDQSxjQUFrQyxjQUNuQjtDQUNmLE1BQU0sWUFBWSxXQUFXLEdBQUc7Q0FDaEMsT0FBTyxPQUFPLEdBQUc7Q0FDakIscUJBQXFCLEdBQUc7QUFDMUIifQ==
|
|
@@ -53,9 +53,11 @@ const SettingsResponse = z.object({
|
|
|
53
53
|
settings: SettingItem.array(),
|
|
54
54
|
runtime: RuntimeInfoItem.array(),
|
|
55
55
|
/** null 이면 재시작 버튼을 쓸 수 없다 — 종료해도 되살릴 주체가 없다. */
|
|
56
|
-
supervisor: SupervisorKind.nullable()
|
|
56
|
+
supervisor: SupervisorKind.nullable(),
|
|
57
|
+
/** 이 인스턴스가 keepalive 스케줄러를 소유하도록 명시적으로 허용됐는지. */
|
|
58
|
+
keepaliveRunnerEnabled: z.boolean()
|
|
57
59
|
});
|
|
58
60
|
//#endregion
|
|
59
61
|
export { RuntimeInfoItem, SettingApplies, SettingItem, SettingKind, SettingListParams, SettingSaveParams, SettingSource, SettingsResponse, SupervisorKind };
|
|
60
62
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy50eXBlcy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vc2V0dGluZy9zZXR0aW5nLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbmltcG9ydCB7IFNldHRpbmdCYXNlU2NoZW1hLCBTZXR0aW5nQmFzZUxpc3RQYXJhbXMgfSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZFwiO1xuXG4vLyBTZXR0aW5nIC0gTGlzdFBhcmFtc1xuZXhwb3J0IGNvbnN0IFNldHRpbmdMaXN0UGFyYW1zID0gU2V0dGluZ0Jhc2VMaXN0UGFyYW1zO1xuZXhwb3J0IHR5cGUgU2V0dGluZ0xpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nTGlzdFBhcmFtcz47XG5cbi8vIFNldHRpbmcgLSBTYXZlUGFyYW1zXG5leHBvcnQgY29uc3QgU2V0dGluZ1NhdmVQYXJhbXMgPSBTZXR0aW5nQmFzZVNjaGVtYS5wYXJ0aWFsKHsgaWQ6IHRydWUsIGNyZWF0ZWRfYXQ6IHRydWUgfSk7XG5leHBvcnQgdHlwZSBTZXR0aW5nU2F2ZVBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdTYXZlUGFyYW1zPjtcblxuLy8g4pSA4pSAIOyEpOyglSBBUEkg7J2R64u1IOyKpO2CpOuniCDilIDilIBcblxuZXhwb3J0IGNvbnN0IFNldHRpbmdLaW5kID0gei5lbnVtKFtcImJvb2xlYW5cIiwgXCJpbnRlZ2VyXCIsIFwibnVtYmVyXCIsIFwic3RyaW5nXCIsIFwic2VjcmV0XCIsIFwicHJlc2V0XCJdKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdLaW5kID0gei5pbmZlcjx0eXBlb2YgU2V0dGluZ0tpbmQ+O1xuXG5leHBvcnQgY29uc3QgU2V0dGluZ0FwcGxpZXMgPSB6LmVudW0oW1wiaW1tZWRpYXRlXCIsIFwicmVzdGFydFwiXSk7XG5leHBvcnQgdHlwZSBTZXR0aW5nQXBwbGllcyA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdBcHBsaWVzPjtcblxuZXhwb3J0IGNvbnN0IFNldHRpbmdTb3VyY2UgPSB6LmVudW0oW1wiZGJcIiwgXCJlbnZcIiwgXCJkZWZhdWx0XCJdKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdTb3VyY2UgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nU291cmNlPjtcblxuLyoqXG4gKiDtlITroZzshLjsiqTrpbwg64uk7IucIOudhOybjOyjvOuKlCDrj4TqtawuIOyerOyLnOyekeydgCDsiqTsiqTroZwg7KKF66OM7ZWY6rOgIOydtCDrj4Tqtazsl5Ag66eh6riw66+A66GcLFxuICog7JeG7Jy866m0KG51bGwpIO2ZlOuptOyXkOyEnCDsnqzsi5zsnpHsnYQg7Iuc64+E7KGw7LCoIO2VmOyngCDslYrripTri6QuXG4gKlxuICogQVBJIOuwmO2ZmCDtg4DsnoXsl5Ag7JOw7J2066+A66GcIHpvZCDroZwg65GU64ukIOKAlCBzb25hbXUgc3luY2VyIOqwgCDtgbTrnbzsnbTslrjtirgg7L2U65Oc66W8IOunjOuTpCDrlYxcbiAqIO2DgOyeheunjCDsnojripQg7ISg7Ja47J2AIOuqqOuTiOydhCDssL7sp4Ag66q77ZWc64ukLlxuICovXG5leHBvcnQgY29uc3QgU3VwZXJ2aXNvcktpbmQgPSB6LmVudW0oW1wicG0yXCJdKTtcbmV4cG9ydCB0eXBlIFN1cGVydmlzb3JLaW5kID0gei5pbmZlcjx0eXBlb2YgU3VwZXJ2aXNvcktpbmQ+O1xuXG5leHBvcnQgY29uc3QgU2V0dGluZ0l0ZW0gPSB6Lm9iamVjdCh7XG4gIGtleTogei5zdHJpbmcoKSxcbiAgZ3JvdXA6IHouc3RyaW5nKCksXG4gIGxhYmVsOiB6LnN0cmluZygpLFxuICBraW5kOiBTZXR0aW5nS2luZCxcbiAgYXBwbGllczogU2V0dGluZ0FwcGxpZXMsXG4gIC8qKiDtmITsnqwg7KCB7JqpIOykkeyduCDqsJIuIOuIiCDthqDquIDsnYQg7KeA7JuQ7ZWY6riwIOychO2VtCBzZWNyZXQg64+EIOybkOuzuOycvOuhnCDrgrTroKTqsITri6QuICovXG4gIHZhbHVlOiB6LnN0cmluZygpLFxuICAvKiog7J20IOqwkuydtCDslrTrlJTshJwg7JmU64qU7KeALiDtmZTrqbTsl5DshJwg7Lac7LKY66W8IOuztOyXrOykmOyVvCBcIuyZnCDslYgg67CU64CM7KeAXCLqsIAg7JeG64ukLiAqL1xuICBzb3VyY2U6IFNldHRpbmdTb3VyY2UsXG4gIG1pbjogei5udW1iZXIoKS5udWxsYWJsZSgpLFxuICBtYXg6IHoubnVtYmVyKCkubnVsbGFibGUoKSxcbiAgLyoqIGBwcmVzZXRgIOyiheulmOyXkOyEnCDqs6Drpbwg7IiYIOyeiOuKlCDqsJIuIOuLpOuluCDsooXrpZjripQg67mIIOuwsOyXtC4gKi9cbiAgcHJlc2V0czogei5udW1iZXIoKS5hcnJheSgpLFxuICBoZWxwOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFNldHRpbmdJdGVtID0gei5pbmZlcjx0eXBlb2YgU2V0dGluZ0l0ZW0+O1xuXG4vKiog7ZmU66m07JeQ7IScIOuwlOq/gCDsiJgg7JeG64qUIOq4sOuPmSDsi5zsoJAg6rCS65OkIOKAlCDslrTrlqQg7ZmY6rK97JeQIOu2meyWtCDsnojripTsp4Ag7ZmV7J247JqpLiAqL1xuZXhwb3J0IGNvbnN0IFJ1bnRpbWVJbmZvSXRlbSA9IHoub2JqZWN0KHtcbiAgbGFiZWw6IHouc3RyaW5nKCksXG4gIHZhbHVlOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBSdW50aW1lSW5mb0l0ZW0gPSB6LmluZmVyPHR5cGVvZiBSdW50aW1lSW5mb0l0ZW0+O1xuXG5leHBvcnQgY29uc3QgU2V0dGluZ3NSZXNwb25zZSA9IHoub2JqZWN0KHtcbiAgc2V0dGluZ3M6IFNldHRpbmdJdGVtLmFycmF5KCksXG4gIHJ1bnRpbWU6IFJ1bnRpbWVJbmZvSXRlbS5hcnJheSgpLFxuICAvKiogbnVsbCDsnbTrqbQg7J6s7Iuc7J6RIOuyhO2KvOydhCDsk7gg7IiYIOyXhuuLpCDigJQg7KKF66OM7ZW064+
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy50eXBlcy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vc2V0dGluZy9zZXR0aW5nLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbmltcG9ydCB7IFNldHRpbmdCYXNlU2NoZW1hLCBTZXR0aW5nQmFzZUxpc3RQYXJhbXMgfSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZFwiO1xuXG4vLyBTZXR0aW5nIC0gTGlzdFBhcmFtc1xuZXhwb3J0IGNvbnN0IFNldHRpbmdMaXN0UGFyYW1zID0gU2V0dGluZ0Jhc2VMaXN0UGFyYW1zO1xuZXhwb3J0IHR5cGUgU2V0dGluZ0xpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nTGlzdFBhcmFtcz47XG5cbi8vIFNldHRpbmcgLSBTYXZlUGFyYW1zXG5leHBvcnQgY29uc3QgU2V0dGluZ1NhdmVQYXJhbXMgPSBTZXR0aW5nQmFzZVNjaGVtYS5wYXJ0aWFsKHsgaWQ6IHRydWUsIGNyZWF0ZWRfYXQ6IHRydWUgfSk7XG5leHBvcnQgdHlwZSBTZXR0aW5nU2F2ZVBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdTYXZlUGFyYW1zPjtcblxuLy8g4pSA4pSAIOyEpOyglSBBUEkg7J2R64u1IOyKpO2CpOuniCDilIDilIBcblxuZXhwb3J0IGNvbnN0IFNldHRpbmdLaW5kID0gei5lbnVtKFtcImJvb2xlYW5cIiwgXCJpbnRlZ2VyXCIsIFwibnVtYmVyXCIsIFwic3RyaW5nXCIsIFwic2VjcmV0XCIsIFwicHJlc2V0XCJdKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdLaW5kID0gei5pbmZlcjx0eXBlb2YgU2V0dGluZ0tpbmQ+O1xuXG5leHBvcnQgY29uc3QgU2V0dGluZ0FwcGxpZXMgPSB6LmVudW0oW1wiaW1tZWRpYXRlXCIsIFwicmVzdGFydFwiXSk7XG5leHBvcnQgdHlwZSBTZXR0aW5nQXBwbGllcyA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdBcHBsaWVzPjtcblxuZXhwb3J0IGNvbnN0IFNldHRpbmdTb3VyY2UgPSB6LmVudW0oW1wiZGJcIiwgXCJlbnZcIiwgXCJkZWZhdWx0XCJdKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdTb3VyY2UgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nU291cmNlPjtcblxuLyoqXG4gKiDtlITroZzshLjsiqTrpbwg64uk7IucIOudhOybjOyjvOuKlCDrj4TqtawuIOyerOyLnOyekeydgCDsiqTsiqTroZwg7KKF66OM7ZWY6rOgIOydtCDrj4Tqtazsl5Ag66eh6riw66+A66GcLFxuICog7JeG7Jy866m0KG51bGwpIO2ZlOuptOyXkOyEnCDsnqzsi5zsnpHsnYQg7Iuc64+E7KGw7LCoIO2VmOyngCDslYrripTri6QuXG4gKlxuICogQVBJIOuwmO2ZmCDtg4DsnoXsl5Ag7JOw7J2066+A66GcIHpvZCDroZwg65GU64ukIOKAlCBzb25hbXUgc3luY2VyIOqwgCDtgbTrnbzsnbTslrjtirgg7L2U65Oc66W8IOunjOuTpCDrlYxcbiAqIO2DgOyeheunjCDsnojripQg7ISg7Ja47J2AIOuqqOuTiOydhCDssL7sp4Ag66q77ZWc64ukLlxuICovXG5leHBvcnQgY29uc3QgU3VwZXJ2aXNvcktpbmQgPSB6LmVudW0oW1wicG0yXCJdKTtcbmV4cG9ydCB0eXBlIFN1cGVydmlzb3JLaW5kID0gei5pbmZlcjx0eXBlb2YgU3VwZXJ2aXNvcktpbmQ+O1xuXG5leHBvcnQgY29uc3QgU2V0dGluZ0l0ZW0gPSB6Lm9iamVjdCh7XG4gIGtleTogei5zdHJpbmcoKSxcbiAgZ3JvdXA6IHouc3RyaW5nKCksXG4gIGxhYmVsOiB6LnN0cmluZygpLFxuICBraW5kOiBTZXR0aW5nS2luZCxcbiAgYXBwbGllczogU2V0dGluZ0FwcGxpZXMsXG4gIC8qKiDtmITsnqwg7KCB7JqpIOykkeyduCDqsJIuIOuIiCDthqDquIDsnYQg7KeA7JuQ7ZWY6riwIOychO2VtCBzZWNyZXQg64+EIOybkOuzuOycvOuhnCDrgrTroKTqsITri6QuICovXG4gIHZhbHVlOiB6LnN0cmluZygpLFxuICAvKiog7J20IOqwkuydtCDslrTrlJTshJwg7JmU64qU7KeALiDtmZTrqbTsl5DshJwg7Lac7LKY66W8IOuztOyXrOykmOyVvCBcIuyZnCDslYgg67CU64CM7KeAXCLqsIAg7JeG64ukLiAqL1xuICBzb3VyY2U6IFNldHRpbmdTb3VyY2UsXG4gIG1pbjogei5udW1iZXIoKS5udWxsYWJsZSgpLFxuICBtYXg6IHoubnVtYmVyKCkubnVsbGFibGUoKSxcbiAgLyoqIGBwcmVzZXRgIOyiheulmOyXkOyEnCDqs6Drpbwg7IiYIOyeiOuKlCDqsJIuIOuLpOuluCDsooXrpZjripQg67mIIOuwsOyXtC4gKi9cbiAgcHJlc2V0czogei5udW1iZXIoKS5hcnJheSgpLFxuICBoZWxwOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFNldHRpbmdJdGVtID0gei5pbmZlcjx0eXBlb2YgU2V0dGluZ0l0ZW0+O1xuXG4vKiog7ZmU66m07JeQ7IScIOuwlOq/gCDsiJgg7JeG64qUIOq4sOuPmSDsi5zsoJAg6rCS65OkIOKAlCDslrTrlqQg7ZmY6rK97JeQIOu2meyWtCDsnojripTsp4Ag7ZmV7J247JqpLiAqL1xuZXhwb3J0IGNvbnN0IFJ1bnRpbWVJbmZvSXRlbSA9IHoub2JqZWN0KHtcbiAgbGFiZWw6IHouc3RyaW5nKCksXG4gIHZhbHVlOiB6LnN0cmluZygpLFxufSk7XG5leHBvcnQgdHlwZSBSdW50aW1lSW5mb0l0ZW0gPSB6LmluZmVyPHR5cGVvZiBSdW50aW1lSW5mb0l0ZW0+O1xuXG5leHBvcnQgY29uc3QgU2V0dGluZ3NSZXNwb25zZSA9IHoub2JqZWN0KHtcbiAgc2V0dGluZ3M6IFNldHRpbmdJdGVtLmFycmF5KCksXG4gIHJ1bnRpbWU6IFJ1bnRpbWVJbmZvSXRlbS5hcnJheSgpLFxuICAvKiogbnVsbCDsnbTrqbQg7J6s7Iuc7J6RIOuyhO2KvOydhCDsk7gg7IiYIOyXhuuLpCDigJQg7KKF66OM7ZW064+EIOuQmOyCtOumtCDso7zssrTqsIAg7JeG64ukLiAqL1xuICBzdXBlcnZpc29yOiBTdXBlcnZpc29yS2luZC5udWxsYWJsZSgpLFxuICAvKiog7J20IOyduOyKpO2EtOyKpOqwgCBrZWVwYWxpdmUg7Iqk7LyA7KSE65+s66W8IOyGjOycoO2VmOuPhOuhnSDrqoXsi5zsoIHsnLzroZwg7ZeI7Jqp65CQ64qU7KeALiAqL1xuICBrZWVwYWxpdmVSdW5uZXJFbmFibGVkOiB6LmJvb2xlYW4oKSxcbn0pO1xuZXhwb3J0IHR5cGUgU2V0dGluZ3NSZXNwb25zZSA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdzUmVzcG9uc2U+O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFLQSxNQUFhLG9CQUFvQjtBQUlqQyxNQUFhLG9CQUFvQixrQkFBa0IsUUFBUTtDQUFFLElBQUk7Q0FBTSxZQUFZO0FBQUssQ0FBQztBQUt6RixNQUFhLGNBQWMsRUFBRSxLQUFLO0NBQUM7Q0FBVztDQUFXO0NBQVU7Q0FBVTtDQUFVO0FBQVEsQ0FBQztBQUdoRyxNQUFhLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxhQUFhLFNBQVMsQ0FBQztBQUc3RCxNQUFhLGdCQUFnQixFQUFFLEtBQUs7Q0FBQztDQUFNO0NBQU87QUFBUyxDQUFDOzs7Ozs7OztBQVU1RCxNQUFhLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFHNUMsTUFBYSxjQUFjLEVBQUUsT0FBTztDQUNsQyxLQUFLLEVBQUUsT0FBTztDQUNkLE9BQU8sRUFBRSxPQUFPO0NBQ2hCLE9BQU8sRUFBRSxPQUFPO0NBQ2hCLE1BQU07Q0FDTixTQUFTOztDQUVULE9BQU8sRUFBRSxPQUFPOztDQUVoQixRQUFRO0NBQ1IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDekIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7O0NBRXpCLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNO0NBQzFCLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0FBQzVCLENBQUM7O0FBSUQsTUFBYSxrQkFBa0IsRUFBRSxPQUFPO0NBQ3RDLE9BQU8sRUFBRSxPQUFPO0NBQ2hCLE9BQU8sRUFBRSxPQUFPO0FBQ2xCLENBQUM7QUFHRCxNQUFhLG1CQUFtQixFQUFFLE9BQU87Q0FDdkMsVUFBVSxZQUFZLE1BQU07Q0FDNUIsU0FBUyxnQkFBZ0IsTUFBTTs7Q0FFL0IsWUFBWSxlQUFlLFNBQVM7O0NBRXBDLHdCQUF3QixFQUFFLFFBQVE7QUFDcEMsQ0FBQyJ9
|
|
@@ -198,7 +198,8 @@ const TokenBaseSchema = z.object({
|
|
|
198
198
|
active: z.boolean(),
|
|
199
199
|
ord: z.int(),
|
|
200
200
|
quota_threshold: z.int().nullable(),
|
|
201
|
-
weight: z.int()
|
|
201
|
+
weight: z.int(),
|
|
202
|
+
keepalive_enabled: z.boolean()
|
|
202
203
|
});
|
|
203
204
|
const RequestLogBaseListParams = z.object({
|
|
204
205
|
num: z.number().int().nonnegative(),
|
|
@@ -404,10 +405,11 @@ const TokenSubsetA = z.object({
|
|
|
404
405
|
active: z.boolean(),
|
|
405
406
|
ord: z.int(),
|
|
406
407
|
quota_threshold: z.int().nullable(),
|
|
407
|
-
weight: z.int()
|
|
408
|
+
weight: z.int(),
|
|
409
|
+
keepalive_enabled: z.boolean()
|
|
408
410
|
});
|
|
409
411
|
const TokenSubsetKey = z.enum(["A"]);
|
|
410
412
|
//#endregion
|
|
411
413
|
export { RequestLogBaseListParams, RequestLogBaseSchema, RequestLogOrderBy, RequestLogOrderByLabel, RequestLogSearchField, RequestLogSearchFieldLabel, RequestLogStatus, RequestLogStatusLabel, RequestLogStepBaseListParams, RequestLogStepBaseSchema, RequestLogStepOrderBy, RequestLogStepOrderByLabel, RequestLogStepSearchField, RequestLogStepSearchFieldLabel, RequestLogStepSubsetA, RequestLogStepSubsetI, RequestLogStepSubsetKey, RequestLogStepSubsetT, RequestLogStepType, RequestLogStepTypeLabel, RequestLogSubsetA, RequestLogSubsetC, RequestLogSubsetKey, RequestLogSubsetP, SettingBaseListParams, SettingBaseSchema, SettingOrderBy, SettingOrderByLabel, SettingSearchField, SettingSearchFieldLabel, SettingSubsetA, SettingSubsetKey, TokenBaseListParams, TokenBaseSchema, TokenOrderBy, TokenOrderByLabel, TokenSearchField, TokenSearchFieldLabel, TokenSubsetA, TokenSubsetKey };
|
|
412
414
|
|
|
413
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29uYW11LmdlbmVyYXRlZC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vc29uYW11LmdlbmVyYXRlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBnZW5lcmF0ZWRcbiAqIOyngeygkSDsiJjsoJXtlZjsp4Ag66eI7IS47JqULlxuICovXG5cbi8qIG94bGludC1kaXNhYmxlICovXG5cbmltcG9ydCB7IHpBcnJheWFibGUsIFNvbmFtdVF1ZXJ5TW9kZSwgQXBwbHlTb25hbXVGaWx0ZXIgfSBmcm9tIFwic29uYW11XCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vLyBDdXN0b21TY2FsYXI6IEhpc3RvcnlJdGVtc1xuY29uc3QgSGlzdG9yeUl0ZW1zID0gei5hcnJheShcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHouc3RyaW5nKCksXG4gICAgcm9sZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNvbnRlbnQ6IHoudW5rbm93bigpLm9wdGlvbmFsKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFyZ3VtZW50czogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNhbGxfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBvdXRwdXQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgfSksXG4pO1xudHlwZSBIaXN0b3J5SXRlbXMgPSB6LmluZmVyPHR5cGVvZiBIaXN0b3J5SXRlbXM+O1xuXG4vLyBDdXN0b21TY2FsYXI6IFRva2VuQ3JlZGVudGlhbHNcbmNvbnN0IFRva2VuQ3JlZGVudGlhbHMgPSB6LnVuaW9uKFtcbiAgei5vYmplY3Qoe1xuICAgIGFjY2Vzc1Rva2VuOiB6LnN0cmluZygpLFxuICAgIHJlZnJlc2hUb2tlbjogei5zdHJpbmcoKSxcbiAgICBleHBpcmVzQXQ6IHoubnVtYmVyKCksXG4gICAgYWNjb3VudFV1aWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB6Lm9iamVjdCh7XG4gICAgYWNjZXNzVG9rZW46IHouc3RyaW5nKCksXG4gICAgcmVmcmVzaFRva2VuOiB6LnN0cmluZygpLFxuICAgIGlkVG9rZW46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBhY2Nlc3NUb2tlbkV4cGlyZXNBdDogei5udW1iZXIoKSxcbiAgICBpZFRva2VuRXhwaXJlc0F0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgYWNjb3VudElkOiB6LnN0cmluZygpLFxuICAgIHBsYW5UeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pLFxuXSk7XG50eXBlIFRva2VuQ3JlZGVudGlhbHMgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkNyZWRlbnRpYWxzPjtcblxuLy8gQ3VzdG9tU2NhbGFyOiBUb29sRGVmaW5pdGlvbnNcbmNvbnN0IFRvb2xEZWZpbml0aW9ucyA9IHouYXJyYXkoXG4gIHoub2JqZWN0KHtcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaW5wdXRTY2hlbWE6IHoudW5rbm93bigpLFxuICB9KSxcbik7XG50eXBlIFRvb2xEZWZpbml0aW9ucyA9IHouaW5mZXI8dHlwZW9mIFRvb2xEZWZpbml0aW9ucz47XG5cbi8vIEVudW1zOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ09yZGVyQnkgPSB6XG4gIC5lbnVtKFtcbiAgICBcImlkLWRlc2NcIixcbiAgICBcImlkLWFzY1wiLFxuICAgIFwiY3JlYXRlZF9hdC1kZXNjXCIsXG4gICAgXCJjcmVhdGVkX2F0LWFzY1wiLFxuICAgIFwidHRmdF9tcy1kZXNjXCIsXG4gICAgXCJ0dGZ0X21zLWFzY1wiLFxuICAgIFwiZHVyYXRpb25fbXMtZGVzY1wiLFxuICAgIFwiZHVyYXRpb25fbXMtYXNjXCIsXG4gICAgXCJpbnB1dF90b2tlbnMtZGVzY1wiLFxuICAgIFwiaW5wdXRfdG9rZW5zLWFzY1wiLFxuICAgIFwib3V0cHV0X3Rva2Vucy1kZXNjXCIsXG4gICAgXCJvdXRwdXRfdG9rZW5zLWFzY1wiLFxuICAgIFwiY2FjaGVfcmVhZF90b2tlbnMtZGVzY1wiLFxuICAgIFwiY2FjaGVfcmVhZF90b2tlbnMtYXNjXCIsXG4gICAgXCJjYWNoZV9jcmVhdGlvbl90b2tlbnMtZGVzY1wiLFxuICAgIFwiY2FjaGVfY3JlYXRpb25fdG9rZW5zLWFzY1wiLFxuICAgIFwiY29zdF91c2QtZGVzY1wiLFxuICAgIFwiY29zdF91c2QtYXNjXCIsXG4gIF0pXG4gIC5kZXNjcmliZShcIlJlcXVlc3RMb2dPcmRlckJ5XCIpO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ09yZGVyQnkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nT3JkZXJCeT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ09yZGVyQnlMYWJlbCA9IHtcbiAgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIixcbiAgXCJpZC1hc2NcIjogXCJJROyYpOuemOuQnOyInFwiLFxuICBcImNyZWF0ZWRfYXQtZGVzY1wiOiBcIuuTseuhneydvOyLnOy1nOyLoOyInFwiLFxuICBcImNyZWF0ZWRfYXQtYXNjXCI6IFwi65Ox66Gd7J287Iuc7Jik656Y65Cc7IicXCIsXG4gIFwidHRmdF9tcy1kZXNjXCI6IFwiVFRGVOq4tOyInFwiLFxuICBcInR0ZnRfbXMtYXNjXCI6IFwiVFRGVOynp+ydgOyInFwiLFxuICBcImR1cmF0aW9uX21zLWRlc2NcIjogXCLshozsmpTsi5zqsITquLTsiJxcIixcbiAgXCJkdXJhdGlvbl9tcy1hc2NcIjogXCLshozsmpTsi5zqsITsp6fsnYDsiJxcIixcbiAgXCJpbnB1dF90b2tlbnMtZGVzY1wiOiBcIuyeheugpe2GoO2BsOunjuydgOyInFwiLFxuICBcImlucHV0X3Rva2Vucy1hc2NcIjogXCLsnoXroKXthqDtgbDsoIHsnYDsiJxcIixcbiAgXCJvdXRwdXRfdG9rZW5zLWRlc2NcIjogXCLstpzroKXthqDtgbDrp47snYDsiJxcIixcbiAgXCJvdXRwdXRfdG9rZW5zLWFzY1wiOiBcIuy2nOugpe2GoO2BsOyggeydgOyInFwiLFxuICBcImNhY2hlX3JlYWRfdG9rZW5zLWRlc2NcIjogXCLsupDsi5zsnb3quLDrp47snYDsiJxcIixcbiAgXCJjYWNoZV9yZWFkX3Rva2Vucy1hc2NcIjogXCLsupDsi5zsnb3quLDsoIHsnYDsiJxcIixcbiAgXCJjYWNoZV9jcmVhdGlvbl90b2tlbnMtZGVzY1wiOiBcIuy6kOyLnOyDneyEseunjuydgOyInFwiLFxuICBcImNhY2hlX2NyZWF0aW9uX3Rva2Vucy1hc2NcIjogXCLsupDsi5zsg53shLHsoIHsnYDsiJxcIixcbiAgXCJjb3N0X3VzZC1kZXNjXCI6IFwi67mE7Jqp64aS7J2A7IicXCIsXG4gIFwiY29zdF91c2QtYXNjXCI6IFwi67mE7Jqp64Ku7J2A7IicXCIsXG59O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTZWFyY2hGaWVsZCA9IHpcbiAgLmVudW0oW1wiaWRcIiwgXCJ0b2tlbl9uYW1lXCIsIFwidXNlcl9wcm9tcHRcIl0pXG4gIC5kZXNjcmliZShcIlJlcXVlc3RMb2dTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTZWFyY2hGaWVsZCA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTZWFyY2hGaWVsZD47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1NlYXJjaEZpZWxkTGFiZWwgPSB7XG4gIGlkOiBcIklEXCIsXG4gIHRva2VuX25hbWU6IFwi7Yag7YGw7J2066aEXCIsXG4gIHVzZXJfcHJvbXB0OiBcIuyCrOyaqeyekCDtlITroaztlITtirhcIixcbn07XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0YXR1cyA9IHpcbiAgLmVudW0oW1wicnVubmluZ1wiLCBcInN1Y2NlZWRlZFwiLCBcImVycm9yXCIsIFwiYWJvcnRlZFwiXSlcbiAgLmRlc2NyaWJlKFwiUmVxdWVzdExvZ1N0YXR1c1wiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGF0dXMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RhdHVzPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RhdHVzTGFiZWwgPSB7XG4gIHJ1bm5pbmc6IFwi7Iuk7ZaJIOykkVwiLFxuICBzdWNjZWVkZWQ6IFwi7ISx6rO1XCIsXG4gIGVycm9yOiBcIuyXkOufrFwiLFxuICBhYm9ydGVkOiBcIuykkeuLqFwiLFxufTtcblxuLy8gRW51bXM6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBUeXBlID0gei5lbnVtKFtcImdlbmVyYXRlXCIsIFwidG9vbF9jYWxsXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dTdGVwVHlwZVwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwVHlwZSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwVHlwZT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBUeXBlTGFiZWwgPSB7IGdlbmVyYXRlOiBcIkxMTSDsg53shLFcIiwgdG9vbF9jYWxsOiBcIlRvb2wg7Zi47LacXCIgfTtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcE9yZGVyQnkgPSB6LmVudW0oW1wiaWQtYXNjXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dTdGVwT3JkZXJCeVwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwT3JkZXJCeSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwT3JkZXJCeT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBPcmRlckJ5TGFiZWwgPSB7IFwiaWQtYXNjXCI6IFwiSUTsiJxcIiB9O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQgPSB6LmVudW0oW1wiaWRcIl0pLmRlc2NyaWJlKFwiUmVxdWVzdExvZ1N0ZXBTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkTGFiZWwgPSB7IGlkOiBcIklEXCIgfTtcblxuLy8gRW51bXM6IFNldHRpbmdcbmV4cG9ydCBjb25zdCBTZXR0aW5nT3JkZXJCeSA9IHouZW51bShbXCJrZXktYXNjXCJdKS5kZXNjcmliZShcIlNldHRpbmdPcmRlckJ5XCIpO1xuZXhwb3J0IHR5cGUgU2V0dGluZ09yZGVyQnkgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nT3JkZXJCeT47XG5leHBvcnQgY29uc3QgU2V0dGluZ09yZGVyQnlMYWJlbCA9IHsgXCJrZXktYXNjXCI6IFwi7YKk7IicXCIgfTtcbmV4cG9ydCBjb25zdCBTZXR0aW5nU2VhcmNoRmllbGQgPSB6LmVudW0oW1wia2V5XCJdKS5kZXNjcmliZShcIlNldHRpbmdTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdTZWFyY2hGaWVsZCA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdTZWFyY2hGaWVsZD47XG5leHBvcnQgY29uc3QgU2V0dGluZ1NlYXJjaEZpZWxkTGFiZWwgPSB7IGtleTogXCLtgqRcIiB9O1xuXG4vLyBFbnVtczogVG9rZW5cbmV4cG9ydCBjb25zdCBUb2tlbk9yZGVyQnkgPSB6LmVudW0oW1wiaWQtZGVzY1wiLCBcIm9yZC1hc2NcIl0pLmRlc2NyaWJlKFwiVG9rZW5PcmRlckJ5XCIpO1xuZXhwb3J0IHR5cGUgVG9rZW5PcmRlckJ5ID0gei5pbmZlcjx0eXBlb2YgVG9rZW5PcmRlckJ5PjtcbmV4cG9ydCBjb25zdCBUb2tlbk9yZGVyQnlMYWJlbCA9IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiwgXCJvcmQtYXNjXCI6IFwi7Iic7ISc7IicXCIgfTtcbmV4cG9ydCBjb25zdCBUb2tlblNlYXJjaEZpZWxkID0gei5lbnVtKFtcImlkXCIsIFwibmFtZVwiXSkuZGVzY3JpYmUoXCJUb2tlblNlYXJjaEZpZWxkXCIpO1xuZXhwb3J0IHR5cGUgVG9rZW5TZWFyY2hGaWVsZCA9IHouaW5mZXI8dHlwZW9mIFRva2VuU2VhcmNoRmllbGQ+O1xuZXhwb3J0IGNvbnN0IFRva2VuU2VhcmNoRmllbGRMYWJlbCA9IHsgaWQ6IFwiSURcIiwgbmFtZTogXCLsnbTrpoRcIiB9O1xuXG4vLyBCYXNlU2NoZW1hOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ0Jhc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgdG9rZW5fbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBwcm9qZWN0X25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIGZhbGxiYWNrX2NvdW50OiB6LmludCgpLm51bGxhYmxlKCksXG4gIHVzZXJfcHJvbXB0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHN5c3RlbV9wcm9tcHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2U6IHouc3RyaW5nKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKSxcbiAgdHRmdF9tczogei5pbnQoKSxcbiAgY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY29zdF9zb3VyY2U6IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X3VzZDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X21ldGhvZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBlZmZvcnQ6IHouc3RyaW5nKCkubWF4KDEwKS5udWxsYWJsZSgpLFxuICBoaXN0b3J5OiBIaXN0b3J5SXRlbXMubnVsbGFibGUoKSxcbiAgdG9vbHM6IFRvb2xEZWZpbml0aW9ucy5udWxsYWJsZSgpLFxuICBqc29uX3NjaGVtYTogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICBzdGF0dXM6IFJlcXVlc3RMb2dTdGF0dXMsXG4gIGVycm9yX21lc3NhZ2U6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2VfanNvbl9vazogei5ib29sZWFuKCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2NvdW50OiB6LmludCgpLFxuICBpc19pbWFnZV9nZW5lcmF0aW9uOiB6LmJvb2xlYW4oKSxcbiAgaXNfc3RydWN0dXJlZDogei5ib29sZWFuKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dCYXNlU2NoZW1hID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ0Jhc2VTY2hlbWE+ICYge1xuICByZWFkb25seSBfX2hhc0RlZmF1bHRfXzogcmVhZG9ubHkgW1xuICAgIFwiY3JlYXRlZF9hdFwiLFxuICAgIFwidG9rZW5fbmFtZVwiLFxuICAgIFwicHJvamVjdF9uYW1lXCIsXG4gICAgXCJtb2RlbF9uYW1lXCIsXG4gICAgXCJyZXF1ZXN0ZWRfbW9kZWxfbmFtZVwiLFxuICAgIFwiZmFsbGJhY2tfY291bnRcIixcbiAgICBcInVzZXJfcHJvbXB0XCIsXG4gICAgXCJzeXN0ZW1fcHJvbXB0XCIsXG4gICAgXCJyZXNwb25zZVwiLFxuICAgIFwiaW5wdXRfdG9rZW5zXCIsXG4gICAgXCJvdXRwdXRfdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgIFwiY2FjaGVfY3JlYXRpb25fdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9jcmVhdGlvbl81bV90b2tlbnNcIixcbiAgICBcImNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuc1wiLFxuICAgIFwiZHVyYXRpb25fbXNcIixcbiAgICBcInR0ZnRfbXNcIixcbiAgICBcImNvc3RfdXNkXCIsXG4gICAgXCJjb3N0X3NvdXJjZVwiLFxuICAgIFwiaW1hZ2VfY29zdF91c2RcIixcbiAgICBcImltYWdlX2Nvc3RfbWV0aG9kXCIsXG4gICAgXCJlZmZvcnRcIixcbiAgICBcImhpc3RvcnlcIixcbiAgICBcInRvb2xzXCIsXG4gICAgXCJqc29uX3NjaGVtYVwiLFxuICAgIFwic3RhdHVzXCIsXG4gICAgXCJlcnJvcl9tZXNzYWdlXCIsXG4gICAgXCJyZXNwb25zZV9qc29uX29rXCIsXG4gICAgXCJ0b29sX2NhbGxfY291bnRcIixcbiAgICBcImlzX2ltYWdlX2dlbmVyYXRpb25cIixcbiAgICBcImlzX3N0cnVjdHVyZWRcIixcbiAgICBcImlkXCIsXG4gIF07XG59O1xuXG4vLyBCYXNlU2NoZW1hOiBSZXF1ZXN0TG9nU3RlcFxuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICByZXF1ZXN0X2xvZ19pZDogei5pbnQoKSxcbiAgc3RlcF9pbmRleDogei5pbnQoKSxcbiAgdHlwZTogUmVxdWVzdExvZ1N0ZXBUeXBlLFxuICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIGZhbGxiYWNrX2NvdW50OiB6LmludCgpLm51bGxhYmxlKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX3JlYWRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl81bV90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3Rfc291cmNlOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbiAgZHVyYXRpb25fbXM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdHRmdF9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBmaW5pc2hfcmVhc29uOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbiAgcmVhc29uaW5nX3RleHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVhc29uaW5nX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfaW5kZXg6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2lkOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHRvb2xfbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICB0b29sX2FyZ3M6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9yZXN1bHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9kdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBlcnJvcjogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcEJhc2VTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcEJhc2VTY2hlbWE+ICYge1xuICByZWFkb25seSBfX2hhc0RlZmF1bHRfXzogcmVhZG9ubHkgW1xuICAgIFwiY3JlYXRlZF9hdFwiLFxuICAgIFwibW9kZWxfbmFtZVwiLFxuICAgIFwicmVxdWVzdGVkX21vZGVsX25hbWVcIixcbiAgICBcImZhbGxiYWNrX2NvdW50XCIsXG4gICAgXCJpbnB1dF90b2tlbnNcIixcbiAgICBcIm91dHB1dF90b2tlbnNcIixcbiAgICBcImNhY2hlX3JlYWRfdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICBcImNhY2hlX2NyZWF0aW9uXzVtX3Rva2Vuc1wiLFxuICAgIFwiY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zXCIsXG4gICAgXCJjb3N0X3VzZFwiLFxuICAgIFwiY29zdF9zb3VyY2VcIixcbiAgICBcImR1cmF0aW9uX21zXCIsXG4gICAgXCJ0dGZ0X21zXCIsXG4gICAgXCJmaW5pc2hfcmVhc29uXCIsXG4gICAgXCJyZWFzb25pbmdfdGV4dFwiLFxuICAgIFwicmVhc29uaW5nX3Rva2Vuc1wiLFxuICAgIFwidG9vbF9jYWxsX2luZGV4XCIsXG4gICAgXCJ0b29sX2NhbGxfaWRcIixcbiAgICBcInRvb2xfbmFtZVwiLFxuICAgIFwidG9vbF9hcmdzXCIsXG4gICAgXCJ0b29sX3Jlc3VsdFwiLFxuICAgIFwidG9vbF9kdXJhdGlvbl9tc1wiLFxuICAgIFwiZXJyb3JcIixcbiAgICBcImlkXCIsXG4gIF07XG59O1xuXG4vLyBCYXNlU2NoZW1hOiBTZXR0aW5nXG5leHBvcnQgY29uc3QgU2V0dGluZ0Jhc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAga2V5OiB6LnN0cmluZygpLm1heCgxMDApLFxuICB2YWx1ZTogei5zdHJpbmcoKSxcbiAgdXBkYXRlZF9hdDogei5kYXRlKCkubnVsbGFibGUoKSxcbn0pO1xuZXhwb3J0IHR5cGUgU2V0dGluZ0Jhc2VTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nQmFzZVNjaGVtYT4gJiB7XG4gIHJlYWRvbmx5IF9faGFzRGVmYXVsdF9fOiByZWFkb25seSBbXCJjcmVhdGVkX2F0XCIsIFwidXBkYXRlZF9hdFwiLCBcImlkXCJdO1xufTtcblxuLy8gQmFzZVNjaGVtYTogVG9rZW5cbmV4cG9ydCBjb25zdCBUb2tlbkJhc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgcHJvdmlkZXI6IHouc3RyaW5nKCkubWF4KDIwKSxcbiAgY3JlZGVudGlhbHM6IFRva2VuQ3JlZGVudGlhbHMsXG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGFjdGl2ZTogei5ib29sZWFuKCksXG4gIG9yZDogei5pbnQoKSxcbiAgcXVvdGFfdGhyZXNob2xkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHdlaWdodDogei5pbnQoKSxcbn0pO1xuZXhwb3J0IHR5cGUgVG9rZW5CYXNlU2NoZW1hID0gei5pbmZlcjx0eXBlb2YgVG9rZW5CYXNlU2NoZW1hPiAmIHtcbiAgcmVhZG9ubHkgX19oYXNEZWZhdWx0X186IHJlYWRvbmx5IFtcbiAgICBcImNyZWF0ZWRfYXRcIixcbiAgICBcImFjdGl2ZVwiLFxuICAgIFwib3JkXCIsXG4gICAgXCJxdW90YV90aHJlc2hvbGRcIixcbiAgICBcIndlaWdodFwiLFxuICAgIFwiaWRcIixcbiAgXTtcbn07XG5cbi8vIEJhc2VMaXN0UGFyYW1zOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ0Jhc2VMaXN0UGFyYW1zID0gelxuICAub2JqZWN0KHtcbiAgICBudW06IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbiAgICBwYWdlOiB6Lm51bWJlcigpLmludCgpLm1pbigxKSxcbiAgICBzZWFyY2g6IFJlcXVlc3RMb2dTZWFyY2hGaWVsZCxcbiAgICBrZXl3b3JkOiB6LnN0cmluZygpLFxuICAgIG9yZGVyQnk6IFJlcXVlc3RMb2dPcmRlckJ5LFxuICAgIHF1ZXJ5TW9kZTogU29uYW11UXVlcnlNb2RlLFxuICAgIGlkOiB6QXJyYXlhYmxlKHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKSksXG4gICAgc29uYW11RmlsdGVyOiB6LmN1c3RvbTxBcHBseVNvbmFtdUZpbHRlcjxSZXF1ZXN0TG9nQmFzZVNjaGVtYSwgbmV2ZXIsIG5ldmVyPj4oKSxcbiAgICB0b2tlbl9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gICAgcHJvamVjdF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIH0pXG4gIC5wYXJ0aWFsKCk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nQmFzZUxpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nQmFzZUxpc3RQYXJhbXM+O1xuXG4vLyBCYXNlTGlzdFBhcmFtczogUmVxdWVzdExvZ1N0ZXBcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcEJhc2VMaXN0UGFyYW1zID0gelxuICAub2JqZWN0KHtcbiAgICBudW06IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbiAgICBwYWdlOiB6Lm51bWJlcigpLmludCgpLm1pbigxKSxcbiAgICBzZWFyY2g6IFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQsXG4gICAga2V5d29yZDogei5zdHJpbmcoKSxcbiAgICBvcmRlckJ5OiBSZXF1ZXN0TG9nU3RlcE9yZGVyQnksXG4gICAgcXVlcnlNb2RlOiBTb25hbXVRdWVyeU1vZGUsXG4gICAgaWQ6IHpBcnJheWFibGUoei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpKSxcbiAgICBzb25hbXVGaWx0ZXI6IHouY3VzdG9tPEFwcGx5U29uYW11RmlsdGVyPFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYSwgbmV2ZXIsIG5ldmVyPj4oKSxcbiAgICByZXF1ZXN0X2xvZ19pZDogei5pbnQoKSxcbiAgfSlcbiAgLnBhcnRpYWwoKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwQmFzZUxpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcEJhc2VMaXN0UGFyYW1zPjtcblxuLy8gQmFzZUxpc3RQYXJhbXM6IFNldHRpbmdcbmV4cG9ydCBjb25zdCBTZXR0aW5nQmFzZUxpc3RQYXJhbXMgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG51bTogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICAgIHBhZ2U6IHoubnVtYmVyKCkuaW50KCkubWluKDEpLFxuICAgIHNlYXJjaDogU2V0dGluZ1NlYXJjaEZpZWxkLFxuICAgIGtleXdvcmQ6IHouc3RyaW5nKCksXG4gICAgb3JkZXJCeTogU2V0dGluZ09yZGVyQnksXG4gICAgcXVlcnlNb2RlOiBTb25hbXVRdWVyeU1vZGUsXG4gICAgaWQ6IHpBcnJheWFibGUoei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpKSxcbiAgICBzb25hbXVGaWx0ZXI6IHouY3VzdG9tPEFwcGx5U29uYW11RmlsdGVyPFNldHRpbmdCYXNlU2NoZW1hLCBuZXZlciwgbmV2ZXI+PigpLFxuICAgIGtleTogei5zdHJpbmcoKS5tYXgoMTAwKSxcbiAgfSlcbiAgLnBhcnRpYWwoKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdCYXNlTGlzdFBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdCYXNlTGlzdFBhcmFtcz47XG5cbi8vIEJhc2VMaXN0UGFyYW1zOiBUb2tlblxuZXhwb3J0IGNvbnN0IFRva2VuQmFzZUxpc3RQYXJhbXMgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG51bTogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICAgIHBhZ2U6IHoubnVtYmVyKCkuaW50KCkubWluKDEpLFxuICAgIHNlYXJjaDogVG9rZW5TZWFyY2hGaWVsZCxcbiAgICBrZXl3b3JkOiB6LnN0cmluZygpLFxuICAgIG9yZGVyQnk6IFRva2VuT3JkZXJCeSxcbiAgICBxdWVyeU1vZGU6IFNvbmFtdVF1ZXJ5TW9kZSxcbiAgICBpZDogekFycmF5YWJsZSh6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCkpLFxuICAgIHNvbmFtdUZpbHRlcjogei5jdXN0b208QXBwbHlTb25hbXVGaWx0ZXI8VG9rZW5CYXNlU2NoZW1hLCBuZXZlciwgbmV2ZXI+PigpLFxuICB9KVxuICAucGFydGlhbCgpO1xuZXhwb3J0IHR5cGUgVG9rZW5CYXNlTGlzdFBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFRva2VuQmFzZUxpc3RQYXJhbXM+O1xuXG4vLyBTdWJzZXRzOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldEEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgdG9rZW5fbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBwcm9qZWN0X25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIGZhbGxiYWNrX2NvdW50OiB6LmludCgpLm51bGxhYmxlKCksXG4gIHVzZXJfcHJvbXB0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHN5c3RlbV9wcm9tcHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2U6IHouc3RyaW5nKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKSxcbiAgdHRmdF9tczogei5pbnQoKSxcbiAgY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY29zdF9zb3VyY2U6IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X3VzZDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X21ldGhvZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBlZmZvcnQ6IHouc3RyaW5nKCkubWF4KDEwKS5udWxsYWJsZSgpLFxuICBoaXN0b3J5OiBIaXN0b3J5SXRlbXMubnVsbGFibGUoKSxcbiAgdG9vbHM6IFRvb2xEZWZpbml0aW9ucy5udWxsYWJsZSgpLFxuICBzdGF0dXM6IFJlcXVlc3RMb2dTdGF0dXMsXG4gIHJlc3BvbnNlX2pzb25fb2s6IHouYm9vbGVhbigpLm51bGxhYmxlKCksXG4gIGVycm9yX21lc3NhZ2U6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2NvdW50OiB6LmludCgpLFxuICBpc19pbWFnZV9nZW5lcmF0aW9uOiB6LmJvb2xlYW4oKSxcbiAgaXNfc3RydWN0dXJlZDogei5ib29sZWFuKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdWJzZXRBID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ1N1YnNldEE+O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdWJzZXRQID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHRva2VuX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgcHJvamVjdF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoMjU1KS5udWxsYWJsZSgpLFxuICByZXF1ZXN0ZWRfbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoMjU1KS5udWxsYWJsZSgpLFxuICBmYWxsYmFja19jb3VudDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbnB1dF90b2tlbnM6IHouaW50KCksXG4gIG91dHB1dF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX3JlYWRfdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uXzVtX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgZHVyYXRpb25fbXM6IHouaW50KCksXG4gIHR0ZnRfbXM6IHouaW50KCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3Rfc291cmNlOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbiAgaW1hZ2VfY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgaW1hZ2VfY29zdF9tZXRob2Q6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgZWZmb3J0OiB6LnN0cmluZygpLm1heCgxMCkubnVsbGFibGUoKSxcbiAgc3RhdHVzOiBSZXF1ZXN0TG9nU3RhdHVzLFxuICByZXNwb25zZV9qc29uX29rOiB6LmJvb2xlYW4oKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfY291bnQ6IHouaW50KCksXG4gIGlzX2ltYWdlX2dlbmVyYXRpb246IHouYm9vbGVhbigpLFxuICBpc19zdHJ1Y3R1cmVkOiB6LmJvb2xlYW4oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldFAgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3Vic2V0UD47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldEMgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICB0b2tlbl9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIG1vZGVsX25hbWU6IHouc3RyaW5nKCkubWF4KDI1NSkubnVsbGFibGUoKSxcbiAgaW5wdXRfdG9rZW5zOiB6LmludCgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9yZWFkX3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9jcmVhdGlvbl81bV90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3Rfc291cmNlOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldEMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3Vic2V0Qz47XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0TWFwcGluZyA9IHtcbiAgQTogUmVxdWVzdExvZ1N1YnNldEE7XG4gIFA6IFJlcXVlc3RMb2dTdWJzZXRQO1xuICBDOiBSZXF1ZXN0TG9nU3Vic2V0Qztcbn07XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldEtleSA9IHouZW51bShbXCJBXCIsIFwiUFwiLCBcIkNcIl0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldEtleSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdWJzZXRLZXk+O1xuXG4vLyBTdWJzZXRzOiBSZXF1ZXN0TG9nU3RlcFxuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU3Vic2V0QSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICBzdGVwX2luZGV4OiB6LmludCgpLFxuICB0eXBlOiBSZXF1ZXN0TG9nU3RlcFR5cGUsXG4gIG1vZGVsX25hbWU6IHouc3RyaW5nKCkubWF4KDI1NSkubnVsbGFibGUoKSxcbiAgcmVxdWVzdGVkX21vZGVsX25hbWU6IHouc3RyaW5nKCkubWF4KDI1NSkubnVsbGFibGUoKSxcbiAgZmFsbGJhY2tfY291bnQ6IHouaW50KCkubnVsbGFibGUoKSxcbiAgaW5wdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIG91dHB1dF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uXzVtX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY29zdF9zb3VyY2U6IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0dGZ0X21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGZpbmlzaF9yZWFzb246IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdGV4dDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pbmRleDogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfaWQ6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHRvb2xfYXJnczogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX3Jlc3VsdDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX2R1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0QSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwU3Vic2V0QT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBTdWJzZXRUID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHN0ZXBfaW5kZXg6IHouaW50KCksXG4gIHR5cGU6IFJlcXVlc3RMb2dTdGVwVHlwZSxcbiAgbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoMjU1KS5udWxsYWJsZSgpLFxuICByZXF1ZXN0ZWRfbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoMjU1KS5udWxsYWJsZSgpLFxuICBmYWxsYmFja19jb3VudDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbnB1dF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9yZWFkX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjb3N0X3VzZDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjb3N0X3NvdXJjZTogei5zdHJpbmcoKS5tYXgoMjApLm51bGxhYmxlKCksXG4gIGR1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHR0ZnRfbXM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgZmluaXNoX3JlYXNvbjogei5zdHJpbmcoKS5tYXgoMjApLm51bGxhYmxlKCksXG4gIHJlYXNvbmluZ190b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2luZGV4OiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICB0b29sX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9kdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBlcnJvcjogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcFN1YnNldFQgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldFQ+O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU3Vic2V0SSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIHRvb2xfYXJnczogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcFN1YnNldEkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldEk+O1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBTdWJzZXRNYXBwaW5nID0ge1xuICBBOiBSZXF1ZXN0TG9nU3RlcFN1YnNldEE7XG4gIFQ6IFJlcXVlc3RMb2dTdGVwU3Vic2V0VDtcbiAgSTogUmVxdWVzdExvZ1N0ZXBTdWJzZXRJO1xufTtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleSA9IHouZW51bShbXCJBXCIsIFwiVFwiLCBcIklcIl0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBTdWJzZXRLZXkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleT47XG5cbi8vIFN1YnNldHM6IFNldHRpbmdcbmV4cG9ydCBjb25zdCBTZXR0aW5nU3Vic2V0QSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICBrZXk6IHouc3RyaW5nKCkubWF4KDEwMCksXG4gIHZhbHVlOiB6LnN0cmluZygpLFxuICB1cGRhdGVkX2F0OiB6LmRhdGUoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBTZXR0aW5nU3Vic2V0QSA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdTdWJzZXRBPjtcbmV4cG9ydCB0eXBlIFNldHRpbmdTdWJzZXRNYXBwaW5nID0ge1xuICBBOiBTZXR0aW5nU3Vic2V0QTtcbn07XG5leHBvcnQgY29uc3QgU2V0dGluZ1N1YnNldEtleSA9IHouZW51bShbXCJBXCJdKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdTdWJzZXRLZXkgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nU3Vic2V0S2V5PjtcblxuLy8gU3Vic2V0czogVG9rZW5cbmV4cG9ydCBjb25zdCBUb2tlblN1YnNldEEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgcHJvdmlkZXI6IHouc3RyaW5nKCkubWF4KDIwKSxcbiAgY3JlZGVudGlhbHM6IFRva2VuQ3JlZGVudGlhbHMsXG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGFjdGl2ZTogei5ib29sZWFuKCksXG4gIG9yZDogei5pbnQoKSxcbiAgcXVvdGFfdGhyZXNob2xkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHdlaWdodDogei5pbnQoKSxcbn0pO1xuZXhwb3J0IHR5cGUgVG9rZW5TdWJzZXRBID0gei5pbmZlcjx0eXBlb2YgVG9rZW5TdWJzZXRBPjtcbmV4cG9ydCB0eXBlIFRva2VuU3Vic2V0TWFwcGluZyA9IHtcbiAgQTogVG9rZW5TdWJzZXRBO1xufTtcbmV4cG9ydCBjb25zdCBUb2tlblN1YnNldEtleSA9IHouZW51bShbXCJBXCJdKTtcbmV4cG9ydCB0eXBlIFRva2VuU3Vic2V0S2V5ID0gei5pbmZlcjx0eXBlb2YgVG9rZW5TdWJzZXRLZXk+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBV0EsTUFBTSxlQUFlLEVBQUUsTUFDckIsRUFBRSxPQUFPO0NBQ1AsTUFBTSxFQUFFLE9BQU87Q0FDZixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUMxQixTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUztDQUM5QixNQUFNLEVBQUUsT0FBTyxD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
|
|
415
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29uYW11LmdlbmVyYXRlZC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vc29uYW11LmdlbmVyYXRlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBnZW5lcmF0ZWRcbiAqIOyngeygkSDsiJjsoJXtlZjsp4Ag66eI7IS47JqULlxuICovXG5cbi8qIG94bGludC1kaXNhYmxlICovXG5cbmltcG9ydCB7IHpBcnJheWFibGUsIFNvbmFtdVF1ZXJ5TW9kZSwgQXBwbHlTb25hbXVGaWx0ZXIgfSBmcm9tIFwic29uYW11XCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vLyBDdXN0b21TY2FsYXI6IEhpc3RvcnlJdGVtc1xuY29uc3QgSGlzdG9yeUl0ZW1zID0gei5hcnJheShcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHouc3RyaW5nKCksXG4gICAgcm9sZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNvbnRlbnQ6IHoudW5rbm93bigpLm9wdGlvbmFsKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFyZ3VtZW50czogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNhbGxfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBvdXRwdXQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgfSksXG4pO1xudHlwZSBIaXN0b3J5SXRlbXMgPSB6LmluZmVyPHR5cGVvZiBIaXN0b3J5SXRlbXM+O1xuXG4vLyBDdXN0b21TY2FsYXI6IFRva2VuQ3JlZGVudGlhbHNcbmNvbnN0IFRva2VuQ3JlZGVudGlhbHMgPSB6LnVuaW9uKFtcbiAgei5vYmplY3Qoe1xuICAgIGFjY2Vzc1Rva2VuOiB6LnN0cmluZygpLFxuICAgIHJlZnJlc2hUb2tlbjogei5zdHJpbmcoKSxcbiAgICBleHBpcmVzQXQ6IHoubnVtYmVyKCksXG4gICAgYWNjb3VudFV1aWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB6Lm9iamVjdCh7XG4gICAgYWNjZXNzVG9rZW46IHouc3RyaW5nKCksXG4gICAgcmVmcmVzaFRva2VuOiB6LnN0cmluZygpLFxuICAgIGlkVG9rZW46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBhY2Nlc3NUb2tlbkV4cGlyZXNBdDogei5udW1iZXIoKSxcbiAgICBpZFRva2VuRXhwaXJlc0F0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgYWNjb3VudElkOiB6LnN0cmluZygpLFxuICAgIHBsYW5UeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pLFxuXSk7XG50eXBlIFRva2VuQ3JlZGVudGlhbHMgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkNyZWRlbnRpYWxzPjtcblxuLy8gQ3VzdG9tU2NhbGFyOiBUb29sRGVmaW5pdGlvbnNcbmNvbnN0IFRvb2xEZWZpbml0aW9ucyA9IHouYXJyYXkoXG4gIHoub2JqZWN0KHtcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaW5wdXRTY2hlbWE6IHoudW5rbm93bigpLFxuICB9KSxcbik7XG50eXBlIFRvb2xEZWZpbml0aW9ucyA9IHouaW5mZXI8dHlwZW9mIFRvb2xEZWZpbml0aW9ucz47XG5cbi8vIEVudW1zOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ09yZGVyQnkgPSB6XG4gIC5lbnVtKFtcbiAgICBcImlkLWRlc2NcIixcbiAgICBcImlkLWFzY1wiLFxuICAgIFwiY3JlYXRlZF9hdC1kZXNjXCIsXG4gICAgXCJjcmVhdGVkX2F0LWFzY1wiLFxuICAgIFwidHRmdF9tcy1kZXNjXCIsXG4gICAgXCJ0dGZ0X21zLWFzY1wiLFxuICAgIFwiZHVyYXRpb25fbXMtZGVzY1wiLFxuICAgIFwiZHVyYXRpb25fbXMtYXNjXCIsXG4gICAgXCJpbnB1dF90b2tlbnMtZGVzY1wiLFxuICAgIFwiaW5wdXRfdG9rZW5zLWFzY1wiLFxuICAgIFwib3V0cHV0X3Rva2Vucy1kZXNjXCIsXG4gICAgXCJvdXRwdXRfdG9rZW5zLWFzY1wiLFxuICAgIFwiY2FjaGVfcmVhZF90b2tlbnMtZGVzY1wiLFxuICAgIFwiY2FjaGVfcmVhZF90b2tlbnMtYXNjXCIsXG4gICAgXCJjYWNoZV9jcmVhdGlvbl90b2tlbnMtZGVzY1wiLFxuICAgIFwiY2FjaGVfY3JlYXRpb25fdG9rZW5zLWFzY1wiLFxuICAgIFwiY29zdF91c2QtZGVzY1wiLFxuICAgIFwiY29zdF91c2QtYXNjXCIsXG4gIF0pXG4gIC5kZXNjcmliZShcIlJlcXVlc3RMb2dPcmRlckJ5XCIpO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ09yZGVyQnkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nT3JkZXJCeT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ09yZGVyQnlMYWJlbCA9IHtcbiAgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIixcbiAgXCJpZC1hc2NcIjogXCJJROyYpOuemOuQnOyInFwiLFxuICBcImNyZWF0ZWRfYXQtZGVzY1wiOiBcIuuTseuhneydvOyLnOy1nOyLoOyInFwiLFxuICBcImNyZWF0ZWRfYXQtYXNjXCI6IFwi65Ox66Gd7J287Iuc7Jik656Y65Cc7IicXCIsXG4gIFwidHRmdF9tcy1kZXNjXCI6IFwiVFRGVOq4tOyInFwiLFxuICBcInR0ZnRfbXMtYXNjXCI6IFwiVFRGVOynp+ydgOyInFwiLFxuICBcImR1cmF0aW9uX21zLWRlc2NcIjogXCLshozsmpTsi5zqsITquLTsiJxcIixcbiAgXCJkdXJhdGlvbl9tcy1hc2NcIjogXCLshozsmpTsi5zqsITsp6fsnYDsiJxcIixcbiAgXCJpbnB1dF90b2tlbnMtZGVzY1wiOiBcIuyeheugpe2GoO2BsOunjuydgOyInFwiLFxuICBcImlucHV0X3Rva2Vucy1hc2NcIjogXCLsnoXroKXthqDtgbDsoIHsnYDsiJxcIixcbiAgXCJvdXRwdXRfdG9rZW5zLWRlc2NcIjogXCLstpzroKXthqDtgbDrp47snYDsiJxcIixcbiAgXCJvdXRwdXRfdG9rZW5zLWFzY1wiOiBcIuy2nOugpe2GoO2BsOyggeydgOyInFwiLFxuICBcImNhY2hlX3JlYWRfdG9rZW5zLWRlc2NcIjogXCLsupDsi5zsnb3quLDrp47snYDsiJxcIixcbiAgXCJjYWNoZV9yZWFkX3Rva2Vucy1hc2NcIjogXCLsupDsi5zsnb3quLDsoIHsnYDsiJxcIixcbiAgXCJjYWNoZV9jcmVhdGlvbl90b2tlbnMtZGVzY1wiOiBcIuy6kOyLnOyDneyEseunjuydgOyInFwiLFxuICBcImNhY2hlX2NyZWF0aW9uX3Rva2Vucy1hc2NcIjogXCLsupDsi5zsg53shLHsoIHsnYDsiJxcIixcbiAgXCJjb3N0X3VzZC1kZXNjXCI6IFwi67mE7Jqp64aS7J2A7IicXCIsXG4gIFwiY29zdF91c2QtYXNjXCI6IFwi67mE7Jqp64Ku7J2A7IicXCIsXG59O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTZWFyY2hGaWVsZCA9IHpcbiAgLmVudW0oW1wiaWRcIiwgXCJ0b2tlbl9uYW1lXCIsIFwidXNlcl9wcm9tcHRcIl0pXG4gIC5kZXNjcmliZShcIlJlcXVlc3RMb2dTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTZWFyY2hGaWVsZCA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTZWFyY2hGaWVsZD47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1NlYXJjaEZpZWxkTGFiZWwgPSB7XG4gIGlkOiBcIklEXCIsXG4gIHRva2VuX25hbWU6IFwi7Yag7YGw7J2066aEXCIsXG4gIHVzZXJfcHJvbXB0OiBcIuyCrOyaqeyekCDtlITroaztlITtirhcIixcbn07XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0YXR1cyA9IHpcbiAgLmVudW0oW1wicnVubmluZ1wiLCBcInN1Y2NlZWRlZFwiLCBcImVycm9yXCIsIFwiYWJvcnRlZFwiXSlcbiAgLmRlc2NyaWJlKFwiUmVxdWVzdExvZ1N0YXR1c1wiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGF0dXMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RhdHVzPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RhdHVzTGFiZWwgPSB7XG4gIHJ1bm5pbmc6IFwi7Iuk7ZaJIOykkVwiLFxuICBzdWNjZWVkZWQ6IFwi7ISx6rO1XCIsXG4gIGVycm9yOiBcIuyXkOufrFwiLFxuICBhYm9ydGVkOiBcIuykkeuLqFwiLFxufTtcblxuLy8gRW51bXM6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBUeXBlID0gei5lbnVtKFtcImdlbmVyYXRlXCIsIFwidG9vbF9jYWxsXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dTdGVwVHlwZVwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwVHlwZSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwVHlwZT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBUeXBlTGFiZWwgPSB7IGdlbmVyYXRlOiBcIkxMTSDsg53shLFcIiwgdG9vbF9jYWxsOiBcIlRvb2wg7Zi47LacXCIgfTtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcE9yZGVyQnkgPSB6LmVudW0oW1wiaWQtYXNjXCJdKS5kZXNjcmliZShcIlJlcXVlc3RMb2dTdGVwT3JkZXJCeVwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwT3JkZXJCeSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwT3JkZXJCeT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBPcmRlckJ5TGFiZWwgPSB7IFwiaWQtYXNjXCI6IFwiSUTsiJxcIiB9O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQgPSB6LmVudW0oW1wiaWRcIl0pLmRlc2NyaWJlKFwiUmVxdWVzdExvZ1N0ZXBTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkPjtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcFNlYXJjaEZpZWxkTGFiZWwgPSB7IGlkOiBcIklEXCIgfTtcblxuLy8gRW51bXM6IFNldHRpbmdcbmV4cG9ydCBjb25zdCBTZXR0aW5nT3JkZXJCeSA9IHouZW51bShbXCJrZXktYXNjXCJdKS5kZXNjcmliZShcIlNldHRpbmdPcmRlckJ5XCIpO1xuZXhwb3J0IHR5cGUgU2V0dGluZ09yZGVyQnkgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nT3JkZXJCeT47XG5leHBvcnQgY29uc3QgU2V0dGluZ09yZGVyQnlMYWJlbCA9IHsgXCJrZXktYXNjXCI6IFwi7YKk7IicXCIgfTtcbmV4cG9ydCBjb25zdCBTZXR0aW5nU2VhcmNoRmllbGQgPSB6LmVudW0oW1wia2V5XCJdKS5kZXNjcmliZShcIlNldHRpbmdTZWFyY2hGaWVsZFwiKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdTZWFyY2hGaWVsZCA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdTZWFyY2hGaWVsZD47XG5leHBvcnQgY29uc3QgU2V0dGluZ1NlYXJjaEZpZWxkTGFiZWwgPSB7IGtleTogXCLtgqRcIiB9O1xuXG4vLyBFbnVtczogVG9rZW5cbmV4cG9ydCBjb25zdCBUb2tlbk9yZGVyQnkgPSB6LmVudW0oW1wiaWQtZGVzY1wiLCBcIm9yZC1hc2NcIl0pLmRlc2NyaWJlKFwiVG9rZW5PcmRlckJ5XCIpO1xuZXhwb3J0IHR5cGUgVG9rZW5PcmRlckJ5ID0gei5pbmZlcjx0eXBlb2YgVG9rZW5PcmRlckJ5PjtcbmV4cG9ydCBjb25zdCBUb2tlbk9yZGVyQnlMYWJlbCA9IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiwgXCJvcmQtYXNjXCI6IFwi7Iic7ISc7IicXCIgfTtcbmV4cG9ydCBjb25zdCBUb2tlblNlYXJjaEZpZWxkID0gei5lbnVtKFtcImlkXCIsIFwibmFtZVwiXSkuZGVzY3JpYmUoXCJUb2tlblNlYXJjaEZpZWxkXCIpO1xuZXhwb3J0IHR5cGUgVG9rZW5TZWFyY2hGaWVsZCA9IHouaW5mZXI8dHlwZW9mIFRva2VuU2VhcmNoRmllbGQ+O1xuZXhwb3J0IGNvbnN0IFRva2VuU2VhcmNoRmllbGRMYWJlbCA9IHsgaWQ6IFwiSURcIiwgbmFtZTogXCLsnbTrpoRcIiB9O1xuXG4vLyBCYXNlU2NoZW1hOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ0Jhc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgdG9rZW5fbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBwcm9qZWN0X25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIGZhbGxiYWNrX2NvdW50OiB6LmludCgpLm51bGxhYmxlKCksXG4gIHVzZXJfcHJvbXB0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHN5c3RlbV9wcm9tcHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2U6IHouc3RyaW5nKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKSxcbiAgdHRmdF9tczogei5pbnQoKSxcbiAgY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY29zdF9zb3VyY2U6IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X3VzZDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X21ldGhvZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBlZmZvcnQ6IHouc3RyaW5nKCkubWF4KDEwKS5udWxsYWJsZSgpLFxuICBoaXN0b3J5OiBIaXN0b3J5SXRlbXMubnVsbGFibGUoKSxcbiAgdG9vbHM6IFRvb2xEZWZpbml0aW9ucy5udWxsYWJsZSgpLFxuICBqc29uX3NjaGVtYTogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICBzdGF0dXM6IFJlcXVlc3RMb2dTdGF0dXMsXG4gIGVycm9yX21lc3NhZ2U6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2VfanNvbl9vazogei5ib29sZWFuKCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2NvdW50OiB6LmludCgpLFxuICBpc19pbWFnZV9nZW5lcmF0aW9uOiB6LmJvb2xlYW4oKSxcbiAgaXNfc3RydWN0dXJlZDogei5ib29sZWFuKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dCYXNlU2NoZW1hID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ0Jhc2VTY2hlbWE+ICYge1xuICByZWFkb25seSBfX2hhc0RlZmF1bHRfXzogcmVhZG9ubHkgW1xuICAgIFwiY3JlYXRlZF9hdFwiLFxuICAgIFwidG9rZW5fbmFtZVwiLFxuICAgIFwicHJvamVjdF9uYW1lXCIsXG4gICAgXCJtb2RlbF9uYW1lXCIsXG4gICAgXCJyZXF1ZXN0ZWRfbW9kZWxfbmFtZVwiLFxuICAgIFwiZmFsbGJhY2tfY291bnRcIixcbiAgICBcInVzZXJfcHJvbXB0XCIsXG4gICAgXCJzeXN0ZW1fcHJvbXB0XCIsXG4gICAgXCJyZXNwb25zZVwiLFxuICAgIFwiaW5wdXRfdG9rZW5zXCIsXG4gICAgXCJvdXRwdXRfdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgIFwiY2FjaGVfY3JlYXRpb25fdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9jcmVhdGlvbl81bV90b2tlbnNcIixcbiAgICBcImNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuc1wiLFxuICAgIFwiZHVyYXRpb25fbXNcIixcbiAgICBcInR0ZnRfbXNcIixcbiAgICBcImNvc3RfdXNkXCIsXG4gICAgXCJjb3N0X3NvdXJjZVwiLFxuICAgIFwiaW1hZ2VfY29zdF91c2RcIixcbiAgICBcImltYWdlX2Nvc3RfbWV0aG9kXCIsXG4gICAgXCJlZmZvcnRcIixcbiAgICBcImhpc3RvcnlcIixcbiAgICBcInRvb2xzXCIsXG4gICAgXCJqc29uX3NjaGVtYVwiLFxuICAgIFwic3RhdHVzXCIsXG4gICAgXCJlcnJvcl9tZXNzYWdlXCIsXG4gICAgXCJyZXNwb25zZV9qc29uX29rXCIsXG4gICAgXCJ0b29sX2NhbGxfY291bnRcIixcbiAgICBcImlzX2ltYWdlX2dlbmVyYXRpb25cIixcbiAgICBcImlzX3N0cnVjdHVyZWRcIixcbiAgICBcImlkXCIsXG4gIF07XG59O1xuXG4vLyBCYXNlU2NoZW1hOiBSZXF1ZXN0TG9nU3RlcFxuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICByZXF1ZXN0X2xvZ19pZDogei5pbnQoKSxcbiAgc3RlcF9pbmRleDogei5pbnQoKSxcbiAgdHlwZTogUmVxdWVzdExvZ1N0ZXBUeXBlLFxuICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIGZhbGxiYWNrX2NvdW50OiB6LmludCgpLm51bGxhYmxlKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX3JlYWRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl81bV90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3Rfc291cmNlOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbiAgZHVyYXRpb25fbXM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdHRmdF9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBmaW5pc2hfcmVhc29uOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbiAgcmVhc29uaW5nX3RleHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVhc29uaW5nX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfaW5kZXg6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2lkOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHRvb2xfbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICB0b29sX2FyZ3M6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9yZXN1bHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9kdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBlcnJvcjogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcEJhc2VTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcEJhc2VTY2hlbWE+ICYge1xuICByZWFkb25seSBfX2hhc0RlZmF1bHRfXzogcmVhZG9ubHkgW1xuICAgIFwiY3JlYXRlZF9hdFwiLFxuICAgIFwibW9kZWxfbmFtZVwiLFxuICAgIFwicmVxdWVzdGVkX21vZGVsX25hbWVcIixcbiAgICBcImZhbGxiYWNrX2NvdW50XCIsXG4gICAgXCJpbnB1dF90b2tlbnNcIixcbiAgICBcIm91dHB1dF90b2tlbnNcIixcbiAgICBcImNhY2hlX3JlYWRfdG9rZW5zXCIsXG4gICAgXCJjYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICBcImNhY2hlX2NyZWF0aW9uXzVtX3Rva2Vuc1wiLFxuICAgIFwiY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zXCIsXG4gICAgXCJjb3N0X3VzZFwiLFxuICAgIFwiY29zdF9zb3VyY2VcIixcbiAgICBcImR1cmF0aW9uX21zXCIsXG4gICAgXCJ0dGZ0X21zXCIsXG4gICAgXCJmaW5pc2hfcmVhc29uXCIsXG4gICAgXCJyZWFzb25pbmdfdGV4dFwiLFxuICAgIFwicmVhc29uaW5nX3Rva2Vuc1wiLFxuICAgIFwidG9vbF9jYWxsX2luZGV4XCIsXG4gICAgXCJ0b29sX2NhbGxfaWRcIixcbiAgICBcInRvb2xfbmFtZVwiLFxuICAgIFwidG9vbF9hcmdzXCIsXG4gICAgXCJ0b29sX3Jlc3VsdFwiLFxuICAgIFwidG9vbF9kdXJhdGlvbl9tc1wiLFxuICAgIFwiZXJyb3JcIixcbiAgICBcImlkXCIsXG4gIF07XG59O1xuXG4vLyBCYXNlU2NoZW1hOiBTZXR0aW5nXG5leHBvcnQgY29uc3QgU2V0dGluZ0Jhc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAga2V5OiB6LnN0cmluZygpLm1heCgxMDApLFxuICB2YWx1ZTogei5zdHJpbmcoKSxcbiAgdXBkYXRlZF9hdDogei5kYXRlKCkubnVsbGFibGUoKSxcbn0pO1xuZXhwb3J0IHR5cGUgU2V0dGluZ0Jhc2VTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nQmFzZVNjaGVtYT4gJiB7XG4gIHJlYWRvbmx5IF9faGFzRGVmYXVsdF9fOiByZWFkb25seSBbXCJjcmVhdGVkX2F0XCIsIFwidXBkYXRlZF9hdFwiLCBcImlkXCJdO1xufTtcblxuLy8gQmFzZVNjaGVtYTogVG9rZW5cbmV4cG9ydCBjb25zdCBUb2tlbkJhc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgcHJvdmlkZXI6IHouc3RyaW5nKCkubWF4KDIwKSxcbiAgY3JlZGVudGlhbHM6IFRva2VuQ3JlZGVudGlhbHMsXG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGFjdGl2ZTogei5ib29sZWFuKCksXG4gIG9yZDogei5pbnQoKSxcbiAgcXVvdGFfdGhyZXNob2xkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHdlaWdodDogei5pbnQoKSxcbiAga2VlcGFsaXZlX2VuYWJsZWQ6IHouYm9vbGVhbigpLFxufSk7XG5leHBvcnQgdHlwZSBUb2tlbkJhc2VTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBUb2tlbkJhc2VTY2hlbWE+ICYge1xuICByZWFkb25seSBfX2hhc0RlZmF1bHRfXzogcmVhZG9ubHkgW1xuICAgIFwiY3JlYXRlZF9hdFwiLFxuICAgIFwiYWN0aXZlXCIsXG4gICAgXCJvcmRcIixcbiAgICBcInF1b3RhX3RocmVzaG9sZFwiLFxuICAgIFwid2VpZ2h0XCIsXG4gICAgXCJrZWVwYWxpdmVfZW5hYmxlZFwiLFxuICAgIFwiaWRcIixcbiAgXTtcbn07XG5cbi8vIEJhc2VMaXN0UGFyYW1zOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ0Jhc2VMaXN0UGFyYW1zID0gelxuICAub2JqZWN0KHtcbiAgICBudW06IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbiAgICBwYWdlOiB6Lm51bWJlcigpLmludCgpLm1pbigxKSxcbiAgICBzZWFyY2g6IFJlcXVlc3RMb2dTZWFyY2hGaWVsZCxcbiAgICBrZXl3b3JkOiB6LnN0cmluZygpLFxuICAgIG9yZGVyQnk6IFJlcXVlc3RMb2dPcmRlckJ5LFxuICAgIHF1ZXJ5TW9kZTogU29uYW11UXVlcnlNb2RlLFxuICAgIGlkOiB6QXJyYXlhYmxlKHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKSksXG4gICAgc29uYW11RmlsdGVyOiB6LmN1c3RvbTxBcHBseVNvbmFtdUZpbHRlcjxSZXF1ZXN0TG9nQmFzZVNjaGVtYSwgbmV2ZXIsIG5ldmVyPj4oKSxcbiAgICB0b2tlbl9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gICAgcHJvamVjdF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIH0pXG4gIC5wYXJ0aWFsKCk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nQmFzZUxpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nQmFzZUxpc3RQYXJhbXM+O1xuXG4vLyBCYXNlTGlzdFBhcmFtczogUmVxdWVzdExvZ1N0ZXBcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcEJhc2VMaXN0UGFyYW1zID0gelxuICAub2JqZWN0KHtcbiAgICBudW06IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKSxcbiAgICBwYWdlOiB6Lm51bWJlcigpLmludCgpLm1pbigxKSxcbiAgICBzZWFyY2g6IFJlcXVlc3RMb2dTdGVwU2VhcmNoRmllbGQsXG4gICAga2V5d29yZDogei5zdHJpbmcoKSxcbiAgICBvcmRlckJ5OiBSZXF1ZXN0TG9nU3RlcE9yZGVyQnksXG4gICAgcXVlcnlNb2RlOiBTb25hbXVRdWVyeU1vZGUsXG4gICAgaWQ6IHpBcnJheWFibGUoei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpKSxcbiAgICBzb25hbXVGaWx0ZXI6IHouY3VzdG9tPEFwcGx5U29uYW11RmlsdGVyPFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYSwgbmV2ZXIsIG5ldmVyPj4oKSxcbiAgICByZXF1ZXN0X2xvZ19pZDogei5pbnQoKSxcbiAgfSlcbiAgLnBhcnRpYWwoKTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwQmFzZUxpc3RQYXJhbXMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcEJhc2VMaXN0UGFyYW1zPjtcblxuLy8gQmFzZUxpc3RQYXJhbXM6IFNldHRpbmdcbmV4cG9ydCBjb25zdCBTZXR0aW5nQmFzZUxpc3RQYXJhbXMgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG51bTogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICAgIHBhZ2U6IHoubnVtYmVyKCkuaW50KCkubWluKDEpLFxuICAgIHNlYXJjaDogU2V0dGluZ1NlYXJjaEZpZWxkLFxuICAgIGtleXdvcmQ6IHouc3RyaW5nKCksXG4gICAgb3JkZXJCeTogU2V0dGluZ09yZGVyQnksXG4gICAgcXVlcnlNb2RlOiBTb25hbXVRdWVyeU1vZGUsXG4gICAgaWQ6IHpBcnJheWFibGUoei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpKSxcbiAgICBzb25hbXVGaWx0ZXI6IHouY3VzdG9tPEFwcGx5U29uYW11RmlsdGVyPFNldHRpbmdCYXNlU2NoZW1hLCBuZXZlciwgbmV2ZXI+PigpLFxuICAgIGtleTogei5zdHJpbmcoKS5tYXgoMTAwKSxcbiAgfSlcbiAgLnBhcnRpYWwoKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdCYXNlTGlzdFBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdCYXNlTGlzdFBhcmFtcz47XG5cbi8vIEJhc2VMaXN0UGFyYW1zOiBUb2tlblxuZXhwb3J0IGNvbnN0IFRva2VuQmFzZUxpc3RQYXJhbXMgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG51bTogei5udW1iZXIoKS5pbnQoKS5ub25uZWdhdGl2ZSgpLFxuICAgIHBhZ2U6IHoubnVtYmVyKCkuaW50KCkubWluKDEpLFxuICAgIHNlYXJjaDogVG9rZW5TZWFyY2hGaWVsZCxcbiAgICBrZXl3b3JkOiB6LnN0cmluZygpLFxuICAgIG9yZGVyQnk6IFRva2VuT3JkZXJCeSxcbiAgICBxdWVyeU1vZGU6IFNvbmFtdVF1ZXJ5TW9kZSxcbiAgICBpZDogekFycmF5YWJsZSh6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCkpLFxuICAgIHNvbmFtdUZpbHRlcjogei5jdXN0b208QXBwbHlTb25hbXVGaWx0ZXI8VG9rZW5CYXNlU2NoZW1hLCBuZXZlciwgbmV2ZXI+PigpLFxuICB9KVxuICAucGFydGlhbCgpO1xuZXhwb3J0IHR5cGUgVG9rZW5CYXNlTGlzdFBhcmFtcyA9IHouaW5mZXI8dHlwZW9mIFRva2VuQmFzZUxpc3RQYXJhbXM+O1xuXG4vLyBTdWJzZXRzOiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldEEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgdG9rZW5fbmFtZTogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBwcm9qZWN0X25hbWU6IHouc3RyaW5nKCkubWF4KDUwKS5udWxsYWJsZSgpLFxuICBtb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiB6LnN0cmluZygpLm1heCgyNTUpLm51bGxhYmxlKCksXG4gIGZhbGxiYWNrX2NvdW50OiB6LmludCgpLm51bGxhYmxlKCksXG4gIHVzZXJfcHJvbXB0OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIHN5c3RlbV9wcm9tcHQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgcmVzcG9uc2U6IHouc3RyaW5nKCksXG4gIGlucHV0X3Rva2Vuczogei5pbnQoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uX3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKSxcbiAgdHRmdF9tczogei5pbnQoKSxcbiAgY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY29zdF9zb3VyY2U6IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X3VzZDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbWFnZV9jb3N0X21ldGhvZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICBlZmZvcnQ6IHouc3RyaW5nKCkubWF4KDEwKS5udWxsYWJsZSgpLFxuICBoaXN0b3J5OiBIaXN0b3J5SXRlbXMubnVsbGFibGUoKSxcbiAgdG9vbHM6IFRvb2xEZWZpbml0aW9ucy5udWxsYWJsZSgpLFxuICBzdGF0dXM6IFJlcXVlc3RMb2dTdGF0dXMsXG4gIHJlc3BvbnNlX2pzb25fb2s6IHouYm9vbGVhbigpLm51bGxhYmxlKCksXG4gIGVycm9yX21lc3NhZ2U6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2NvdW50OiB6LmludCgpLFxuICBpc19pbWFnZV9nZW5lcmF0aW9uOiB6LmJvb2xlYW4oKSxcbiAgaXNfc3RydWN0dXJlZDogei5ib29sZWFuKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdWJzZXRBID0gei5pbmZlcjx0eXBlb2YgUmVxdWVzdExvZ1N1YnNldEE+O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdWJzZXRQID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHRva2VuX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgcHJvamVjdF9uYW1lOiB6LnN0cmluZygpLm1heCg1MCkubnVsbGFibGUoKSxcbiAgbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoMjU1KS5udWxsYWJsZSgpLFxuICByZXF1ZXN0ZWRfbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoMjU1KS5udWxsYWJsZSgpLFxuICBmYWxsYmFja19jb3VudDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbnB1dF90b2tlbnM6IHouaW50KCksXG4gIG91dHB1dF90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX3JlYWRfdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IHouaW50KCksXG4gIGNhY2hlX2NyZWF0aW9uXzVtX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgZHVyYXRpb25fbXM6IHouaW50KCksXG4gIHR0ZnRfbXM6IHouaW50KCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3Rfc291cmNlOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbiAgaW1hZ2VfY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgaW1hZ2VfY29zdF9tZXRob2Q6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgZWZmb3J0OiB6LnN0cmluZygpLm1heCgxMCkubnVsbGFibGUoKSxcbiAgc3RhdHVzOiBSZXF1ZXN0TG9nU3RhdHVzLFxuICByZXNwb25zZV9qc29uX29rOiB6LmJvb2xlYW4oKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfY291bnQ6IHouaW50KCksXG4gIGlzX2ltYWdlX2dlbmVyYXRpb246IHouYm9vbGVhbigpLFxuICBpc19zdHJ1Y3R1cmVkOiB6LmJvb2xlYW4oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldFAgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3Vic2V0UD47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldEMgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICB0b2tlbl9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIG1vZGVsX25hbWU6IHouc3RyaW5nKCkubWF4KDI1NSkubnVsbGFibGUoKSxcbiAgaW5wdXRfdG9rZW5zOiB6LmludCgpLFxuICBvdXRwdXRfdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9yZWFkX3Rva2Vuczogei5pbnQoKSxcbiAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiB6LmludCgpLFxuICBjYWNoZV9jcmVhdGlvbl81bV90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3RfdXNkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNvc3Rfc291cmNlOiB6LnN0cmluZygpLm1heCgyMCkubnVsbGFibGUoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldEMgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3Vic2V0Qz47XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0TWFwcGluZyA9IHtcbiAgQTogUmVxdWVzdExvZ1N1YnNldEE7XG4gIFA6IFJlcXVlc3RMb2dTdWJzZXRQO1xuICBDOiBSZXF1ZXN0TG9nU3Vic2V0Qztcbn07XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N1YnNldEtleSA9IHouZW51bShbXCJBXCIsIFwiUFwiLCBcIkNcIl0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N1YnNldEtleSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdWJzZXRLZXk+O1xuXG4vLyBTdWJzZXRzOiBSZXF1ZXN0TG9nU3RlcFxuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU3Vic2V0QSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICBzdGVwX2luZGV4OiB6LmludCgpLFxuICB0eXBlOiBSZXF1ZXN0TG9nU3RlcFR5cGUsXG4gIG1vZGVsX25hbWU6IHouc3RyaW5nKCkubWF4KDI1NSkubnVsbGFibGUoKSxcbiAgcmVxdWVzdGVkX21vZGVsX25hbWU6IHouc3RyaW5nKCkubWF4KDI1NSkubnVsbGFibGUoKSxcbiAgZmFsbGJhY2tfY291bnQ6IHouaW50KCkubnVsbGFibGUoKSxcbiAgaW5wdXRfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIG91dHB1dF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfcmVhZF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uXzVtX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY29zdF91c2Q6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY29zdF9zb3VyY2U6IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICBkdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0dGZ0X21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGZpbmlzaF9yZWFzb246IHouc3RyaW5nKCkubWF4KDIwKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdGV4dDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICByZWFzb25pbmdfdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pbmRleDogei5pbnQoKS5udWxsYWJsZSgpLFxuICB0b29sX2NhbGxfaWQ6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9uYW1lOiB6LnN0cmluZygpLm1heCgxMDApLm51bGxhYmxlKCksXG4gIHRvb2xfYXJnczogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX3Jlc3VsdDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICB0b29sX2R1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbmV4cG9ydCB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0QSA9IHouaW5mZXI8dHlwZW9mIFJlcXVlc3RMb2dTdGVwU3Vic2V0QT47XG5leHBvcnQgY29uc3QgUmVxdWVzdExvZ1N0ZXBTdWJzZXRUID0gei5vYmplY3Qoe1xuICBpZDogei5pbnQoKSxcbiAgY3JlYXRlZF9hdDogei5kYXRlKCksXG4gIHN0ZXBfaW5kZXg6IHouaW50KCksXG4gIHR5cGU6IFJlcXVlc3RMb2dTdGVwVHlwZSxcbiAgbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoMjU1KS5udWxsYWJsZSgpLFxuICByZXF1ZXN0ZWRfbW9kZWxfbmFtZTogei5zdHJpbmcoKS5tYXgoMjU1KS5udWxsYWJsZSgpLFxuICBmYWxsYmFja19jb3VudDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBpbnB1dF90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgb3V0cHV0X3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9yZWFkX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIGNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjb3N0X3VzZDogei5pbnQoKS5udWxsYWJsZSgpLFxuICBjb3N0X3NvdXJjZTogei5zdHJpbmcoKS5tYXgoMjApLm51bGxhYmxlKCksXG4gIGR1cmF0aW9uX21zOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHR0ZnRfbXM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgZmluaXNoX3JlYXNvbjogei5zdHJpbmcoKS5tYXgoMjApLm51bGxhYmxlKCksXG4gIHJlYXNvbmluZ190b2tlbnM6IHouaW50KCkubnVsbGFibGUoKSxcbiAgdG9vbF9jYWxsX2luZGV4OiB6LmludCgpLm51bGxhYmxlKCksXG4gIHRvb2xfY2FsbF9pZDogei5zdHJpbmcoKS5tYXgoMTAwKS5udWxsYWJsZSgpLFxuICB0b29sX25hbWU6IHouc3RyaW5nKCkubWF4KDEwMCkubnVsbGFibGUoKSxcbiAgdG9vbF9kdXJhdGlvbl9tczogei5pbnQoKS5udWxsYWJsZSgpLFxuICBlcnJvcjogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcFN1YnNldFQgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldFQ+O1xuZXhwb3J0IGNvbnN0IFJlcXVlc3RMb2dTdGVwU3Vic2V0SSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIHRvb2xfYXJnczogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcFN1YnNldEkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldEk+O1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBTdWJzZXRNYXBwaW5nID0ge1xuICBBOiBSZXF1ZXN0TG9nU3RlcFN1YnNldEE7XG4gIFQ6IFJlcXVlc3RMb2dTdGVwU3Vic2V0VDtcbiAgSTogUmVxdWVzdExvZ1N0ZXBTdWJzZXRJO1xufTtcbmV4cG9ydCBjb25zdCBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleSA9IHouZW51bShbXCJBXCIsIFwiVFwiLCBcIklcIl0pO1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBTdWJzZXRLZXkgPSB6LmluZmVyPHR5cGVvZiBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleT47XG5cbi8vIFN1YnNldHM6IFNldHRpbmdcbmV4cG9ydCBjb25zdCBTZXR0aW5nU3Vic2V0QSA9IHoub2JqZWN0KHtcbiAgaWQ6IHouaW50KCksXG4gIGNyZWF0ZWRfYXQ6IHouZGF0ZSgpLFxuICBrZXk6IHouc3RyaW5nKCkubWF4KDEwMCksXG4gIHZhbHVlOiB6LnN0cmluZygpLFxuICB1cGRhdGVkX2F0OiB6LmRhdGUoKS5udWxsYWJsZSgpLFxufSk7XG5leHBvcnQgdHlwZSBTZXR0aW5nU3Vic2V0QSA9IHouaW5mZXI8dHlwZW9mIFNldHRpbmdTdWJzZXRBPjtcbmV4cG9ydCB0eXBlIFNldHRpbmdTdWJzZXRNYXBwaW5nID0ge1xuICBBOiBTZXR0aW5nU3Vic2V0QTtcbn07XG5leHBvcnQgY29uc3QgU2V0dGluZ1N1YnNldEtleSA9IHouZW51bShbXCJBXCJdKTtcbmV4cG9ydCB0eXBlIFNldHRpbmdTdWJzZXRLZXkgPSB6LmluZmVyPHR5cGVvZiBTZXR0aW5nU3Vic2V0S2V5PjtcblxuLy8gU3Vic2V0czogVG9rZW5cbmV4cG9ydCBjb25zdCBUb2tlblN1YnNldEEgPSB6Lm9iamVjdCh7XG4gIGlkOiB6LmludCgpLFxuICBjcmVhdGVkX2F0OiB6LmRhdGUoKSxcbiAgcHJvdmlkZXI6IHouc3RyaW5nKCkubWF4KDIwKSxcbiAgY3JlZGVudGlhbHM6IFRva2VuQ3JlZGVudGlhbHMsXG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGFjdGl2ZTogei5ib29sZWFuKCksXG4gIG9yZDogei5pbnQoKSxcbiAgcXVvdGFfdGhyZXNob2xkOiB6LmludCgpLm51bGxhYmxlKCksXG4gIHdlaWdodDogei5pbnQoKSxcbiAga2VlcGFsaXZlX2VuYWJsZWQ6IHouYm9vbGVhbigpLFxufSk7XG5leHBvcnQgdHlwZSBUb2tlblN1YnNldEEgPSB6LmluZmVyPHR5cGVvZiBUb2tlblN1YnNldEE+O1xuZXhwb3J0IHR5cGUgVG9rZW5TdWJzZXRNYXBwaW5nID0ge1xuICBBOiBUb2tlblN1YnNldEE7XG59O1xuZXhwb3J0IGNvbnN0IFRva2VuU3Vic2V0S2V5ID0gei5lbnVtKFtcIkFcIl0pO1xuZXhwb3J0IHR5cGUgVG9rZW5TdWJzZXRLZXkgPSB6LmluZmVyPHR5cGVvZiBUb2tlblN1YnNldEtleT47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFXQSxNQUFNLGVBQWUsRUFBRSxNQUNyQixFQUFFLE9BQU87Q0FDUCxNQUFNLEVBQUUs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
|
|
@@ -177,11 +177,12 @@ const tokenSubsetQueries = { A: (qbWrapper) => {
|
|
|
177
177
|
active: "tokens.active",
|
|
178
178
|
ord: "tokens.ord",
|
|
179
179
|
quota_threshold: "tokens.quota_threshold",
|
|
180
|
-
weight: "tokens.weight"
|
|
180
|
+
weight: "tokens.weight",
|
|
181
|
+
keepalive_enabled: "tokens.keepalive_enabled"
|
|
181
182
|
});
|
|
182
183
|
} };
|
|
183
184
|
const tokenLoaderQueries = { A: [] };
|
|
184
185
|
//#endregion
|
|
185
186
|
export { requestLogLoaderQueries, requestLogStepLoaderQueries, requestLogStepSubsetQueries, requestLogSubsetQueries, settingLoaderQueries, settingSubsetQueries, tokenLoaderQueries, tokenSubsetQueries };
|
|
186
187
|
|
|
187
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29uYW11LmdlbmVyYXRlZC5zc28uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3NvbmFtdS5nZW5lcmF0ZWQuc3NvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGdlbmVyYXRlZFxuICog7KeB7KCRIOyImOygle2VmOyngCDrp4jshLjsmpQuXG4gKi9cblxuaW1wb3J0IHsgdHlwZSBQdXJpV3JhcHBlciwgdHlwZSBEYXRhYmFzZVNjaGVtYUV4dGVuZCwgdHlwZSBQdXJpTG9hZGVyUXVlcmllcyB9IGZyb20gXCJzb25hbXVcIjtcblxuaW1wb3J0IHtcbiAgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0S2V5LFxuICB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0S2V5LFxuICB0eXBlIFNldHRpbmdTdWJzZXRLZXksXG4gIHR5cGUgVG9rZW5TdWJzZXRLZXksXG4gIHR5cGUgUmVxdWVzdExvZ0Jhc2VTY2hlbWEsXG4gIHR5cGUgUmVxdWVzdExvZ1N0ZXBCYXNlU2NoZW1hLFxuICB0eXBlIFNldHRpbmdCYXNlU2NoZW1hLFxuICB0eXBlIFRva2VuQmFzZVNjaGVtYSxcbn0gZnJvbSBcIi4vc29uYW11LmdlbmVyYXRlZFwiO1xuXG4vLyBTdWJzZXRRdWVyeTogUmVxdWVzdExvZ1xuZXhwb3J0IGNvbnN0IHJlcXVlc3RMb2dTdWJzZXRRdWVyaWVzID0ge1xuICBBOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9ncy5pZFwiLFxuICAgICAgY3JlYXRlZF9hdDogXCJyZXF1ZXN0X2xvZ3MuY3JlYXRlZF9hdFwiLFxuICAgICAgdG9rZW5fbmFtZTogXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLFxuICAgICAgcHJvamVjdF9uYW1lOiBcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIixcbiAgICAgIG1vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dzLm1vZGVsX25hbWVcIixcbiAgICAgIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9ncy5yZXF1ZXN0ZWRfbW9kZWxfbmFtZVwiLFxuICAgICAgZmFsbGJhY2tfY291bnQ6IFwicmVxdWVzdF9sb2dzLmZhbGxiYWNrX2NvdW50XCIsXG4gICAgICB1c2VyX3Byb21wdDogXCJyZXF1ZXN0X2xvZ3MudXNlcl9wcm9tcHRcIixcbiAgICAgIHN5c3RlbV9wcm9tcHQ6IFwicmVxdWVzdF9sb2dzLnN5c3RlbV9wcm9tcHRcIixcbiAgICAgIHJlc3BvbnNlOiBcInJlcXVlc3RfbG9ncy5yZXNwb25zZVwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5pbnB1dF90b2tlbnNcIixcbiAgICAgIG91dHB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLm91dHB1dF90b2tlbnNcIixcbiAgICAgIGNhY2hlX3JlYWRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uXzVtX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuc1wiLFxuICAgICAgZHVyYXRpb25fbXM6IFwicmVxdWVzdF9sb2dzLmR1cmF0aW9uX21zXCIsXG4gICAgICB0dGZ0X21zOiBcInJlcXVlc3RfbG9ncy50dGZ0X21zXCIsXG4gICAgICBjb3N0X3VzZDogXCJyZXF1ZXN0X2xvZ3MuY29zdF91c2RcIixcbiAgICAgIGNvc3Rfc291cmNlOiBcInJlcXVlc3RfbG9ncy5jb3N0X3NvdXJjZVwiLFxuICAgICAgaW1hZ2VfY29zdF91c2Q6IFwicmVxdWVzdF9sb2dzLmltYWdlX2Nvc3RfdXNkXCIsXG4gICAgICBpbWFnZV9jb3N0X21ldGhvZDogXCJyZXF1ZXN0X2xvZ3MuaW1hZ2VfY29zdF9tZXRob2RcIixcbiAgICAgIGVmZm9ydDogXCJyZXF1ZXN0X2xvZ3MuZWZmb3J0XCIsXG4gICAgICBoaXN0b3J5OiBcInJlcXVlc3RfbG9ncy5oaXN0b3J5XCIsXG4gICAgICB0b29sczogXCJyZXF1ZXN0X2xvZ3MudG9vbHNcIixcbiAgICAgIHN0YXR1czogXCJyZXF1ZXN0X2xvZ3Muc3RhdHVzXCIsXG4gICAgICByZXNwb25zZV9qc29uX29rOiBcInJlcXVlc3RfbG9ncy5yZXNwb25zZV9qc29uX29rXCIsXG4gICAgICBlcnJvcl9tZXNzYWdlOiBcInJlcXVlc3RfbG9ncy5lcnJvcl9tZXNzYWdlXCIsXG4gICAgICB0b29sX2NhbGxfY291bnQ6IFwicmVxdWVzdF9sb2dzLnRvb2xfY2FsbF9jb3VudFwiLFxuICAgICAgaXNfaW1hZ2VfZ2VuZXJhdGlvbjogXCJyZXF1ZXN0X2xvZ3MuaXNfaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgICAgaXNfc3RydWN0dXJlZDogXCJyZXF1ZXN0X2xvZ3MuaXNfc3RydWN0dXJlZFwiLFxuICAgIH0pO1xuICB9LFxuICBQOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9ncy5pZFwiLFxuICAgICAgY3JlYXRlZF9hdDogXCJyZXF1ZXN0X2xvZ3MuY3JlYXRlZF9hdFwiLFxuICAgICAgdG9rZW5fbmFtZTogXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLFxuICAgICAgcHJvamVjdF9uYW1lOiBcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIixcbiAgICAgIG1vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dzLm1vZGVsX25hbWVcIixcbiAgICAgIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9ncy5yZXF1ZXN0ZWRfbW9kZWxfbmFtZVwiLFxuICAgICAgZmFsbGJhY2tfY291bnQ6IFwicmVxdWVzdF9sb2dzLmZhbGxiYWNrX2NvdW50XCIsXG4gICAgICBpbnB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmlucHV0X3Rva2Vuc1wiLFxuICAgICAgb3V0cHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ3Mub3V0cHV0X3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfcmVhZF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmNhY2hlX3JlYWRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9jcmVhdGlvbl81bV90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uXzFoX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zXCIsXG4gICAgICBkdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ3MuZHVyYXRpb25fbXNcIixcbiAgICAgIHR0ZnRfbXM6IFwicmVxdWVzdF9sb2dzLnR0ZnRfbXNcIixcbiAgICAgIGNvc3RfdXNkOiBcInJlcXVlc3RfbG9ncy5jb3N0X3VzZFwiLFxuICAgICAgY29zdF9zb3VyY2U6IFwicmVxdWVzdF9sb2dzLmNvc3Rfc291cmNlXCIsXG4gICAgICBpbWFnZV9jb3N0X3VzZDogXCJyZXF1ZXN0X2xvZ3MuaW1hZ2VfY29zdF91c2RcIixcbiAgICAgIGltYWdlX2Nvc3RfbWV0aG9kOiBcInJlcXVlc3RfbG9ncy5pbWFnZV9jb3N0X21ldGhvZFwiLFxuICAgICAgZWZmb3J0OiBcInJlcXVlc3RfbG9ncy5lZmZvcnRcIixcbiAgICAgIHN0YXR1czogXCJyZXF1ZXN0X2xvZ3Muc3RhdHVzXCIsXG4gICAgICByZXNwb25zZV9qc29uX29rOiBcInJlcXVlc3RfbG9ncy5yZXNwb25zZV9qc29uX29rXCIsXG4gICAgICB0b29sX2NhbGxfY291bnQ6IFwicmVxdWVzdF9sb2dzLnRvb2xfY2FsbF9jb3VudFwiLFxuICAgICAgaXNfaW1hZ2VfZ2VuZXJhdGlvbjogXCJyZXF1ZXN0X2xvZ3MuaXNfaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgICAgaXNfc3RydWN0dXJlZDogXCJyZXF1ZXN0X2xvZ3MuaXNfc3RydWN0dXJlZFwiLFxuICAgIH0pO1xuICB9LFxuICBDOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9ncy5pZFwiLFxuICAgICAgdG9rZW5fbmFtZTogXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLFxuICAgICAgbW9kZWxfbmFtZTogXCJyZXF1ZXN0X2xvZ3MubW9kZWxfbmFtZVwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5pbnB1dF90b2tlbnNcIixcbiAgICAgIG91dHB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLm91dHB1dF90b2tlbnNcIixcbiAgICAgIGNhY2hlX3JlYWRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uXzVtX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuc1wiLFxuICAgICAgY29zdF91c2Q6IFwicmVxdWVzdF9sb2dzLmNvc3RfdXNkXCIsXG4gICAgICBjb3N0X3NvdXJjZTogXCJyZXF1ZXN0X2xvZ3MuY29zdF9zb3VyY2VcIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgcmVxdWVzdExvZ0xvYWRlclF1ZXJpZXMgPSB7XG4gIEE6IFtdLFxuICBQOiBbXSxcbiAgQzogW10sXG59IGFzIGNvbnN0IHNhdGlzZmllcyBQdXJpTG9hZGVyUXVlcmllczxSZXF1ZXN0TG9nU3Vic2V0S2V5PjtcblxuLy8gU3Vic2V0UXVlcnk6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgcmVxdWVzdExvZ1N0ZXBTdWJzZXRRdWVyaWVzID0ge1xuICBBOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ19zdGVwc1wiKS5zZWxlY3Qoe1xuICAgICAgaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuaWRcIixcbiAgICAgIGNyZWF0ZWRfYXQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuY3JlYXRlZF9hdFwiLFxuICAgICAgc3RlcF9pbmRleDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5zdGVwX2luZGV4XCIsXG4gICAgICB0eXBlOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnR5cGVcIixcbiAgICAgIG1vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dfc3RlcHMubW9kZWxfbmFtZVwiLFxuICAgICAgcmVxdWVzdGVkX21vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dfc3RlcHMucmVxdWVzdGVkX21vZGVsX25hbWVcIixcbiAgICAgIGZhbGxiYWNrX2NvdW50OiBcInJlcXVlc3RfbG9nX3N0ZXBzLmZhbGxiYWNrX2NvdW50XCIsXG4gICAgICBpbnB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuaW5wdXRfdG9rZW5zXCIsXG4gICAgICBvdXRwdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLm91dHB1dF90b2tlbnNcIixcbiAgICAgIGNhY2hlX3JlYWRfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX3JlYWRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuY2FjaGVfY3JlYXRpb25fdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl81bV90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zXCIsXG4gICAgICBjb3N0X3VzZDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jb3N0X3VzZFwiLFxuICAgICAgY29zdF9zb3VyY2U6IFwicmVxdWVzdF9sb2dfc3RlcHMuY29zdF9zb3VyY2VcIixcbiAgICAgIGR1cmF0aW9uX21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmR1cmF0aW9uX21zXCIsXG4gICAgICB0dGZ0X21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnR0ZnRfbXNcIixcbiAgICAgIGZpbmlzaF9yZWFzb246IFwicmVxdWVzdF9sb2dfc3RlcHMuZmluaXNoX3JlYXNvblwiLFxuICAgICAgcmVhc29uaW5nX3RleHQ6IFwicmVxdWVzdF9sb2dfc3RlcHMucmVhc29uaW5nX3RleHRcIixcbiAgICAgIHJlYXNvbmluZ190b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMucmVhc29uaW5nX3Rva2Vuc1wiLFxuICAgICAgdG9vbF9jYWxsX2luZGV4OiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfY2FsbF9pbmRleFwiLFxuICAgICAgdG9vbF9jYWxsX2lkOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfY2FsbF9pZFwiLFxuICAgICAgdG9vbF9uYW1lOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfbmFtZVwiLFxuICAgICAgdG9vbF9hcmdzOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfYXJnc1wiLFxuICAgICAgdG9vbF9yZXN1bHQ6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9yZXN1bHRcIixcbiAgICAgIHRvb2xfZHVyYXRpb25fbXM6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9kdXJhdGlvbl9tc1wiLFxuICAgICAgZXJyb3I6IFwicmVxdWVzdF9sb2dfc3RlcHMuZXJyb3JcIixcbiAgICB9KTtcbiAgfSxcbiAgVDogKHFiV3JhcHBlcjogUHVyaVdyYXBwZXI8RGF0YWJhc2VTY2hlbWFFeHRlbmQ+KSA9PiB7XG4gICAgcmV0dXJuIHFiV3JhcHBlci5mcm9tKFwicmVxdWVzdF9sb2dfc3RlcHNcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmlkXCIsXG4gICAgICBjcmVhdGVkX2F0OiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNyZWF0ZWRfYXRcIixcbiAgICAgIHN0ZXBfaW5kZXg6IFwicmVxdWVzdF9sb2dfc3RlcHMuc3RlcF9pbmRleFwiLFxuICAgICAgdHlwZTogXCJyZXF1ZXN0X2xvZ19zdGVwcy50eXBlXCIsXG4gICAgICBtb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9nX3N0ZXBzLm1vZGVsX25hbWVcIixcbiAgICAgIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnJlcXVlc3RlZF9tb2RlbF9uYW1lXCIsXG4gICAgICBmYWxsYmFja19jb3VudDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5mYWxsYmFja19jb3VudFwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmlucHV0X3Rva2Vuc1wiLFxuICAgICAgb3V0cHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5vdXRwdXRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9yZWFkX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX2NyZWF0aW9uXzVtX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuc1wiLFxuICAgICAgY29zdF91c2Q6IFwicmVxdWVzdF9sb2dfc3RlcHMuY29zdF91c2RcIixcbiAgICAgIGNvc3Rfc291cmNlOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNvc3Rfc291cmNlXCIsXG4gICAgICBkdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5kdXJhdGlvbl9tc1wiLFxuICAgICAgdHRmdF9tczogXCJyZXF1ZXN0X2xvZ19zdGVwcy50dGZ0X21zXCIsXG4gICAgICBmaW5pc2hfcmVhc29uOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmZpbmlzaF9yZWFzb25cIixcbiAgICAgIHJlYXNvbmluZ190b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMucmVhc29uaW5nX3Rva2Vuc1wiLFxuICAgICAgdG9vbF9jYWxsX2luZGV4OiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfY2FsbF9pbmRleFwiLFxuICAgICAgdG9vbF9jYWxsX2lkOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfY2FsbF9pZFwiLFxuICAgICAgdG9vbF9uYW1lOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfbmFtZVwiLFxuICAgICAgdG9vbF9kdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ19zdGVwcy50b29sX2R1cmF0aW9uX21zXCIsXG4gICAgICBlcnJvcjogXCJyZXF1ZXN0X2xvZ19zdGVwcy5lcnJvclwiLFxuICAgIH0pO1xuICB9LFxuICBJOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ19zdGVwc1wiKS5zZWxlY3Qoe1xuICAgICAgaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuaWRcIixcbiAgICAgIHRvb2xfYXJnczogXCJyZXF1ZXN0X2xvZ19zdGVwcy50b29sX2FyZ3NcIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBSZXF1ZXN0TG9nU3RlcFxuZXhwb3J0IGNvbnN0IHJlcXVlc3RMb2dTdGVwTG9hZGVyUXVlcmllcyA9IHtcbiAgQTogW10sXG4gIFQ6IFtdLFxuICBJOiBbXSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFB1cmlMb2FkZXJRdWVyaWVzPFJlcXVlc3RMb2dTdGVwU3Vic2V0S2V5PjtcblxuLy8gU3Vic2V0UXVlcnk6IFNldHRpbmdcbmV4cG9ydCBjb25zdCBzZXR0aW5nU3Vic2V0UXVlcmllcyA9IHtcbiAgQTogKHFiV3JhcHBlcjogUHVyaVdyYXBwZXI8RGF0YWJhc2VTY2hlbWFFeHRlbmQ+KSA9PiB7XG4gICAgcmV0dXJuIHFiV3JhcHBlci5mcm9tKFwic2V0dGluZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInNldHRpbmdzLmlkXCIsXG4gICAgICBjcmVhdGVkX2F0OiBcInNldHRpbmdzLmNyZWF0ZWRfYXRcIixcbiAgICAgIGtleTogXCJzZXR0aW5ncy5rZXlcIixcbiAgICAgIHZhbHVlOiBcInNldHRpbmdzLnZhbHVlXCIsXG4gICAgICB1cGRhdGVkX2F0OiBcInNldHRpbmdzLnVwZGF0ZWRfYXRcIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBTZXR0aW5nXG5leHBvcnQgY29uc3Qgc2V0dGluZ0xvYWRlclF1ZXJpZXMgPSB7XG4gIEE6IFtdLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUHVyaUxvYWRlclF1ZXJpZXM8U2V0dGluZ1N1YnNldEtleT47XG5cbi8vIFN1YnNldFF1ZXJ5OiBUb2tlblxuZXhwb3J0IGNvbnN0IHRva2VuU3Vic2V0UXVlcmllcyA9IHtcbiAgQTogKHFiV3JhcHBlcjogUHVyaVdyYXBwZXI8RGF0YWJhc2VTY2hlbWFFeHRlbmQ+KSA9PiB7XG4gICAgcmV0dXJuIHFiV3JhcHBlci5mcm9tKFwidG9rZW5zXCIpLnNlbGVjdCh7XG4gICAgICBpZDogXCJ0b2tlbnMuaWRcIixcbiAgICAgIGNyZWF0ZWRfYXQ6IFwidG9rZW5zLmNyZWF0ZWRfYXRcIixcbiAgICAgIHByb3ZpZGVyOiBcInRva2Vucy5wcm92aWRlclwiLFxuICAgICAgY3JlZGVudGlhbHM6IFwidG9rZW5zLmNyZWRlbnRpYWxzXCIsXG4gICAgICBuYW1lOiBcInRva2Vucy5uYW1lXCIsXG4gICAgICBhY3RpdmU6IFwidG9rZW5zLmFjdGl2ZVwiLFxuICAgICAgb3JkOiBcInRva2Vucy5vcmRcIixcbiAgICAgIHF1b3RhX3RocmVzaG9sZDogXCJ0b2tlbnMucXVvdGFfdGhyZXNob2xkXCIsXG4gICAgICB3ZWlnaHQ6IFwidG9rZW5zLndlaWdodFwiLFxuICAgIH0pO1xuICB9LFxufTtcblxuLy8gTG9hZGVyUXVlcnk6IFRva2VuXG5leHBvcnQgY29uc3QgdG9rZW5Mb2FkZXJRdWVyaWVzID0ge1xuICBBOiBbXSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFB1cmlMb2FkZXJRdWVyaWVzPFRva2VuU3Vic2V0S2V5PjtcblxuLy8gRm9yZWlnbktleSBUeXBlc1xuZXhwb3J0IHR5cGUgUmVxdWVzdExvZ1N0ZXBGb3JlaWduS2V5cyA9IFwicmVxdWVzdF9sb2dfaWRcIjtcblxuLy8gRGF0YWJhc2VTY2hlbWFcbmRlY2xhcmUgbW9kdWxlIFwic29uYW11XCIge1xuICBleHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlU2NoZW1hRXh0ZW5kIHtcbiAgICByZXF1ZXN0X2xvZ3M6IFJlcXVlc3RMb2dCYXNlU2NoZW1hO1xuICAgIHJlcXVlc3RfbG9nX3N0ZXBzOiBSZXF1ZXN0TG9nU3RlcEJhc2VTY2hlbWE7XG4gICAgc2V0dGluZ3M6IFNldHRpbmdCYXNlU2NoZW1hO1xuICAgIHRva2VuczogVG9rZW5CYXNlU2NoZW1hO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUZvcmVpZ25LZXlzIHtcbiAgICByZXF1ZXN0X2xvZ19zdGVwczogUmVxdWVzdExvZ1N0ZXBGb3JlaWduS2V5cztcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBbUJBLE1BQWEsMEJBQTBCO0NBQ3JDLElBQUksY0FBaUQ7RUFDbkQsT0FBTyxVQUFVLEtBQUssY0FBYyxDQUFDLENBQUMsT0FBTztHQUMzQyxJQUFJO0dBQ0osWUFBWTtHQUNaLFlBQVk7R0FDWixjQUFjO0dBQ2QsWUFBWTtHQUNaLHNCQUFzQjtHQUN0QixnQkFBZ0I7R0FDaEIsYUFBYTtHQUNiLGVBQWU7R0FDZixVQUFVO0dBQ1YsY0FBYztHQUNkLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLDBCQUEwQjtHQUMxQiwwQkFBMEI7R0FDMUIsYUFBYTtHQUNiLFNBQVM7R0FDVCxVQUFVO0dBQ1YsYUFBYTtHQUNiLGdCQUFnQjtHQUNoQixtQkFBbUI7R0FDbkIsUUFBUTtHQUNSLFNBQVM7R0FDVCxPQUFPO0dBQ1AsUUFBUTtHQUNSLGtCQUFrQjtHQUNsQixlQUFlO0dBQ2YsaUJBQWlCO0dBQ2pCLHFCQUFxQjtHQUNyQixlQUFlO0VBQ2pCLENBQUM7Q0FDSDtDQUNBLElBQUksY0FBaUQ7RUFDbkQsT0FBTyxVQUFVLEtBQUssY0FBYyxDQUFDLENBQUMsT0FBTztHQUMzQyxJQUFJO0dBQ0osWUFBWTtHQUNaLFlBQVk7R0FDWixjQUFjO0dBQ2QsWUFBWTtHQUNaLHNCQUFzQjtHQUN0QixnQkFBZ0I7R0FDaEIsY0FBYztHQUNkLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLDBCQUEwQjtHQUMxQiwwQkFBMEI7R0FDMUIsYUFBYTtHQUNiLFNBQVM7R0FDVCxVQUFVO0dBQ1YsYUFBYTtHQUNiLGdCQUFnQjtHQUNoQixtQkFBbUI7R0FDbkIsUUFBUTtHQUNSLFFBQVE7R0FDUixrQkFBa0I7R0FDbEIsaUJBQWlCO0dBQ2pCLHFCQUFxQjtHQUNyQixlQUFlO0VBQ2pCLENBQUM7Q0FDSDtDQUNBLElBQUksY0FBaUQ7RUFDbkQsT0FBTyxVQUFVLEtBQUssY0FBYyxDQUFDLENBQUMsT0FBTztHQUMzQyxJQUFJO0dBQ0osWUFBWTtHQUNaLFlBQVk7R0FDWixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLDBCQUEwQjtHQUMxQixVQUFVO0dBQ1YsYUFBYTtFQUNmLENBQUM7Q0FDSDtBQUNGO0FBR0EsTUFBYSwwQkFBMEI7Q0FDckMsR0FBRyxDQUFDO0NBQ0osR0FBRyxDQUFDO0NBQ0osR0FBRyxDQUFDO0FBQ047QUFHQSxNQUFhLDhCQUE4QjtDQUN6QyxJQUFJLGNBQWlEO0VBQ25ELE9BQU8sVUFBVSxLQUFLLG1CQUFtQixDQUFDLENBQUMsT0FBTztHQUNoRCxJQUFJO0dBQ0osWUFBWTtHQUNaLFlBQVk7R0FDWixNQUFNO0dBQ04sWUFBWTtHQUNaLHNCQUFzQjtHQUN0QixnQkFBZ0I7R0FDaEIsY0FBYztHQUNkLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLDBCQUEwQjtHQUMxQiwwQkFBMEI7R0FDMUIsVUFBVTtHQUNWLGFBQWE7R0FDYixhQUFhO0dBQ2IsU0FBUztHQUNULGVBQWU7R0FDZixnQkFBZ0I7R0FDaEIsa0JBQWtCO0dBQ2xCLGlCQUFpQjtHQUNqQixjQUFjO0dBQ2QsV0FBVztHQUNYLFdBQVc7R0FDWCxhQUFhO0dBQ2Isa0JBQWtCO0dBQ2xCLE9BQU87RUFDVCxDQUFDO0NBQ0g7Q0FDQSxJQUFJLGNBQWlEO0VBQ25ELE9BQU8sVUFBVSxLQUFLLG1CQUFtQixDQUFDLENBQUMsT0FBTztHQUNoRCxJQUFJO0dBQ0osWUFBWTtHQUNaLFlBQVk7R0FDWixNQUFNO0dBQ04sWUFBWTtHQUNaLHNCQUFzQjtHQUN0QixnQkFBZ0I7R0FDaEIsY0FBYztHQUNkLGVBQWU7R0FDZixtQkFBbUI7R0FDbkIsdUJBQXVCO0dBQ3ZCLDBCQUEwQjtHQUMxQiwwQkFBMEI7R0FDMUIsVUFBVTtHQUNWLGFBQWE7R0FDYixhQUFhO0dBQ2IsU0FBUztHQUNULGVBQWU7R0FDZixrQkFBa0I7R0FDbEIsaUJBQWlCO0dBQ2pCLGNBQWM7R0FDZCxXQUFXO0dBQ1gsa0JBQWtCO0dBQ2xCLE9BQU87RUFDVCxDQUFDO0NBQ0g7Q0FDQSxJQUFJLGNBQWlEO0VBQ25ELE9BQU8sVUFBVSxLQUFLLG1CQUFtQixDQUFDLENBQUMsT0FBTztHQUNoRCxJQUFJO0dBQ0osV0FBVztFQUNiLENBQUM7Q0FDSDtBQUNGO0FBR0EsTUFBYSw4QkFBOEI7Q0FDekMsR0FBRyxDQUFDO0NBQ0osR0FBRyxDQUFDO0NBQ0osR0FBRyxDQUFDO0FBQ047QUFHQSxNQUFhLHVCQUF1QixFQUNsQyxJQUFJLGNBQWlEO0NBQ25ELE9BQU8sVUFBVSxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU87RUFDdkMsSUFBSTtFQUNKLFlBQVk7RUFDWixLQUFLO0VBQ0wsT0FBTztFQUNQLFlBQVk7Q0FDZCxDQUFDO0FBQ0gsRUFDRjtBQUdBLE1BQWEsdUJBQXVCLEVBQ2xDLEdBQUcsQ0FBQyxFQUNOO0FBR0EsTUFBYSxxQkFBcUIsRUFDaEMsSUFBSSxjQUFpRDtDQUNuRCxPQUFPLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPO0VBQ3JDLElBQUk7RUFDSixZQUFZO0VBQ1osVUFBVTtFQUNWLGFBQWE7RUFDYixNQUFNO0VBQ04sUUFBUTtFQUNSLEtBQUs7RUFDTCxpQkFBaUI7RUFDakIsUUFBUTtDQUNWLENBQUM7QUFDSCxFQUNGO0FBR0EsTUFBYSxxQkFBcUIsRUFDaEMsR0FBRyxDQUFDLEVBQ04ifQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29uYW11LmdlbmVyYXRlZC5zc28uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3NvbmFtdS5nZW5lcmF0ZWQuc3NvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGdlbmVyYXRlZFxuICog7KeB7KCRIOyImOygle2VmOyngCDrp4jshLjsmpQuXG4gKi9cblxuaW1wb3J0IHsgdHlwZSBQdXJpV3JhcHBlciwgdHlwZSBEYXRhYmFzZVNjaGVtYUV4dGVuZCwgdHlwZSBQdXJpTG9hZGVyUXVlcmllcyB9IGZyb20gXCJzb25hbXVcIjtcblxuaW1wb3J0IHtcbiAgdHlwZSBSZXF1ZXN0TG9nU3Vic2V0S2V5LFxuICB0eXBlIFJlcXVlc3RMb2dTdGVwU3Vic2V0S2V5LFxuICB0eXBlIFNldHRpbmdTdWJzZXRLZXksXG4gIHR5cGUgVG9rZW5TdWJzZXRLZXksXG4gIHR5cGUgUmVxdWVzdExvZ0Jhc2VTY2hlbWEsXG4gIHR5cGUgUmVxdWVzdExvZ1N0ZXBCYXNlU2NoZW1hLFxuICB0eXBlIFNldHRpbmdCYXNlU2NoZW1hLFxuICB0eXBlIFRva2VuQmFzZVNjaGVtYSxcbn0gZnJvbSBcIi4vc29uYW11LmdlbmVyYXRlZFwiO1xuXG4vLyBTdWJzZXRRdWVyeTogUmVxdWVzdExvZ1xuZXhwb3J0IGNvbnN0IHJlcXVlc3RMb2dTdWJzZXRRdWVyaWVzID0ge1xuICBBOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9ncy5pZFwiLFxuICAgICAgY3JlYXRlZF9hdDogXCJyZXF1ZXN0X2xvZ3MuY3JlYXRlZF9hdFwiLFxuICAgICAgdG9rZW5fbmFtZTogXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLFxuICAgICAgcHJvamVjdF9uYW1lOiBcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIixcbiAgICAgIG1vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dzLm1vZGVsX25hbWVcIixcbiAgICAgIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9ncy5yZXF1ZXN0ZWRfbW9kZWxfbmFtZVwiLFxuICAgICAgZmFsbGJhY2tfY291bnQ6IFwicmVxdWVzdF9sb2dzLmZhbGxiYWNrX2NvdW50XCIsXG4gICAgICB1c2VyX3Byb21wdDogXCJyZXF1ZXN0X2xvZ3MudXNlcl9wcm9tcHRcIixcbiAgICAgIHN5c3RlbV9wcm9tcHQ6IFwicmVxdWVzdF9sb2dzLnN5c3RlbV9wcm9tcHRcIixcbiAgICAgIHJlc3BvbnNlOiBcInJlcXVlc3RfbG9ncy5yZXNwb25zZVwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5pbnB1dF90b2tlbnNcIixcbiAgICAgIG91dHB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLm91dHB1dF90b2tlbnNcIixcbiAgICAgIGNhY2hlX3JlYWRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uXzVtX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuc1wiLFxuICAgICAgZHVyYXRpb25fbXM6IFwicmVxdWVzdF9sb2dzLmR1cmF0aW9uX21zXCIsXG4gICAgICB0dGZ0X21zOiBcInJlcXVlc3RfbG9ncy50dGZ0X21zXCIsXG4gICAgICBjb3N0X3VzZDogXCJyZXF1ZXN0X2xvZ3MuY29zdF91c2RcIixcbiAgICAgIGNvc3Rfc291cmNlOiBcInJlcXVlc3RfbG9ncy5jb3N0X3NvdXJjZVwiLFxuICAgICAgaW1hZ2VfY29zdF91c2Q6IFwicmVxdWVzdF9sb2dzLmltYWdlX2Nvc3RfdXNkXCIsXG4gICAgICBpbWFnZV9jb3N0X21ldGhvZDogXCJyZXF1ZXN0X2xvZ3MuaW1hZ2VfY29zdF9tZXRob2RcIixcbiAgICAgIGVmZm9ydDogXCJyZXF1ZXN0X2xvZ3MuZWZmb3J0XCIsXG4gICAgICBoaXN0b3J5OiBcInJlcXVlc3RfbG9ncy5oaXN0b3J5XCIsXG4gICAgICB0b29sczogXCJyZXF1ZXN0X2xvZ3MudG9vbHNcIixcbiAgICAgIHN0YXR1czogXCJyZXF1ZXN0X2xvZ3Muc3RhdHVzXCIsXG4gICAgICByZXNwb25zZV9qc29uX29rOiBcInJlcXVlc3RfbG9ncy5yZXNwb25zZV9qc29uX29rXCIsXG4gICAgICBlcnJvcl9tZXNzYWdlOiBcInJlcXVlc3RfbG9ncy5lcnJvcl9tZXNzYWdlXCIsXG4gICAgICB0b29sX2NhbGxfY291bnQ6IFwicmVxdWVzdF9sb2dzLnRvb2xfY2FsbF9jb3VudFwiLFxuICAgICAgaXNfaW1hZ2VfZ2VuZXJhdGlvbjogXCJyZXF1ZXN0X2xvZ3MuaXNfaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgICAgaXNfc3RydWN0dXJlZDogXCJyZXF1ZXN0X2xvZ3MuaXNfc3RydWN0dXJlZFwiLFxuICAgIH0pO1xuICB9LFxuICBQOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9ncy5pZFwiLFxuICAgICAgY3JlYXRlZF9hdDogXCJyZXF1ZXN0X2xvZ3MuY3JlYXRlZF9hdFwiLFxuICAgICAgdG9rZW5fbmFtZTogXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLFxuICAgICAgcHJvamVjdF9uYW1lOiBcInJlcXVlc3RfbG9ncy5wcm9qZWN0X25hbWVcIixcbiAgICAgIG1vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dzLm1vZGVsX25hbWVcIixcbiAgICAgIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9ncy5yZXF1ZXN0ZWRfbW9kZWxfbmFtZVwiLFxuICAgICAgZmFsbGJhY2tfY291bnQ6IFwicmVxdWVzdF9sb2dzLmZhbGxiYWNrX2NvdW50XCIsXG4gICAgICBpbnB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmlucHV0X3Rva2Vuc1wiLFxuICAgICAgb3V0cHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ3Mub3V0cHV0X3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfcmVhZF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmNhY2hlX3JlYWRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9jcmVhdGlvbl81bV90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uXzFoX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zXCIsXG4gICAgICBkdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ3MuZHVyYXRpb25fbXNcIixcbiAgICAgIHR0ZnRfbXM6IFwicmVxdWVzdF9sb2dzLnR0ZnRfbXNcIixcbiAgICAgIGNvc3RfdXNkOiBcInJlcXVlc3RfbG9ncy5jb3N0X3VzZFwiLFxuICAgICAgY29zdF9zb3VyY2U6IFwicmVxdWVzdF9sb2dzLmNvc3Rfc291cmNlXCIsXG4gICAgICBpbWFnZV9jb3N0X3VzZDogXCJyZXF1ZXN0X2xvZ3MuaW1hZ2VfY29zdF91c2RcIixcbiAgICAgIGltYWdlX2Nvc3RfbWV0aG9kOiBcInJlcXVlc3RfbG9ncy5pbWFnZV9jb3N0X21ldGhvZFwiLFxuICAgICAgZWZmb3J0OiBcInJlcXVlc3RfbG9ncy5lZmZvcnRcIixcbiAgICAgIHN0YXR1czogXCJyZXF1ZXN0X2xvZ3Muc3RhdHVzXCIsXG4gICAgICByZXNwb25zZV9qc29uX29rOiBcInJlcXVlc3RfbG9ncy5yZXNwb25zZV9qc29uX29rXCIsXG4gICAgICB0b29sX2NhbGxfY291bnQ6IFwicmVxdWVzdF9sb2dzLnRvb2xfY2FsbF9jb3VudFwiLFxuICAgICAgaXNfaW1hZ2VfZ2VuZXJhdGlvbjogXCJyZXF1ZXN0X2xvZ3MuaXNfaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgICAgaXNfc3RydWN0dXJlZDogXCJyZXF1ZXN0X2xvZ3MuaXNfc3RydWN0dXJlZFwiLFxuICAgIH0pO1xuICB9LFxuICBDOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9ncy5pZFwiLFxuICAgICAgdG9rZW5fbmFtZTogXCJyZXF1ZXN0X2xvZ3MudG9rZW5fbmFtZVwiLFxuICAgICAgbW9kZWxfbmFtZTogXCJyZXF1ZXN0X2xvZ3MubW9kZWxfbmFtZVwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5pbnB1dF90b2tlbnNcIixcbiAgICAgIG91dHB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLm91dHB1dF90b2tlbnNcIixcbiAgICAgIGNhY2hlX3JlYWRfdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9ncy5jYWNoZV9jcmVhdGlvbl90b2tlbnNcIixcbiAgICAgIGNhY2hlX2NyZWF0aW9uXzVtX3Rva2VuczogXCJyZXF1ZXN0X2xvZ3MuY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IFwicmVxdWVzdF9sb2dzLmNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuc1wiLFxuICAgICAgY29zdF91c2Q6IFwicmVxdWVzdF9sb2dzLmNvc3RfdXNkXCIsXG4gICAgICBjb3N0X3NvdXJjZTogXCJyZXF1ZXN0X2xvZ3MuY29zdF9zb3VyY2VcIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBSZXF1ZXN0TG9nXG5leHBvcnQgY29uc3QgcmVxdWVzdExvZ0xvYWRlclF1ZXJpZXMgPSB7XG4gIEE6IFtdLFxuICBQOiBbXSxcbiAgQzogW10sXG59IGFzIGNvbnN0IHNhdGlzZmllcyBQdXJpTG9hZGVyUXVlcmllczxSZXF1ZXN0TG9nU3Vic2V0S2V5PjtcblxuLy8gU3Vic2V0UXVlcnk6IFJlcXVlc3RMb2dTdGVwXG5leHBvcnQgY29uc3QgcmVxdWVzdExvZ1N0ZXBTdWJzZXRRdWVyaWVzID0ge1xuICBBOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ19zdGVwc1wiKS5zZWxlY3Qoe1xuICAgICAgaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuaWRcIixcbiAgICAgIGNyZWF0ZWRfYXQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuY3JlYXRlZF9hdFwiLFxuICAgICAgc3RlcF9pbmRleDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5zdGVwX2luZGV4XCIsXG4gICAgICB0eXBlOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnR5cGVcIixcbiAgICAgIG1vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dfc3RlcHMubW9kZWxfbmFtZVwiLFxuICAgICAgcmVxdWVzdGVkX21vZGVsX25hbWU6IFwicmVxdWVzdF9sb2dfc3RlcHMucmVxdWVzdGVkX21vZGVsX25hbWVcIixcbiAgICAgIGZhbGxiYWNrX2NvdW50OiBcInJlcXVlc3RfbG9nX3N0ZXBzLmZhbGxiYWNrX2NvdW50XCIsXG4gICAgICBpbnB1dF90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuaW5wdXRfdG9rZW5zXCIsXG4gICAgICBvdXRwdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLm91dHB1dF90b2tlbnNcIixcbiAgICAgIGNhY2hlX3JlYWRfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX3JlYWRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuY2FjaGVfY3JlYXRpb25fdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl81bV90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zXCIsXG4gICAgICBjYWNoZV9jcmVhdGlvbl8xaF90b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMuY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zXCIsXG4gICAgICBjb3N0X3VzZDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jb3N0X3VzZFwiLFxuICAgICAgY29zdF9zb3VyY2U6IFwicmVxdWVzdF9sb2dfc3RlcHMuY29zdF9zb3VyY2VcIixcbiAgICAgIGR1cmF0aW9uX21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmR1cmF0aW9uX21zXCIsXG4gICAgICB0dGZ0X21zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnR0ZnRfbXNcIixcbiAgICAgIGZpbmlzaF9yZWFzb246IFwicmVxdWVzdF9sb2dfc3RlcHMuZmluaXNoX3JlYXNvblwiLFxuICAgICAgcmVhc29uaW5nX3RleHQ6IFwicmVxdWVzdF9sb2dfc3RlcHMucmVhc29uaW5nX3RleHRcIixcbiAgICAgIHJlYXNvbmluZ190b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMucmVhc29uaW5nX3Rva2Vuc1wiLFxuICAgICAgdG9vbF9jYWxsX2luZGV4OiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfY2FsbF9pbmRleFwiLFxuICAgICAgdG9vbF9jYWxsX2lkOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfY2FsbF9pZFwiLFxuICAgICAgdG9vbF9uYW1lOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfbmFtZVwiLFxuICAgICAgdG9vbF9hcmdzOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfYXJnc1wiLFxuICAgICAgdG9vbF9yZXN1bHQ6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9yZXN1bHRcIixcbiAgICAgIHRvb2xfZHVyYXRpb25fbXM6IFwicmVxdWVzdF9sb2dfc3RlcHMudG9vbF9kdXJhdGlvbl9tc1wiLFxuICAgICAgZXJyb3I6IFwicmVxdWVzdF9sb2dfc3RlcHMuZXJyb3JcIixcbiAgICB9KTtcbiAgfSxcbiAgVDogKHFiV3JhcHBlcjogUHVyaVdyYXBwZXI8RGF0YWJhc2VTY2hlbWFFeHRlbmQ+KSA9PiB7XG4gICAgcmV0dXJuIHFiV3JhcHBlci5mcm9tKFwicmVxdWVzdF9sb2dfc3RlcHNcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmlkXCIsXG4gICAgICBjcmVhdGVkX2F0OiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNyZWF0ZWRfYXRcIixcbiAgICAgIHN0ZXBfaW5kZXg6IFwicmVxdWVzdF9sb2dfc3RlcHMuc3RlcF9pbmRleFwiLFxuICAgICAgdHlwZTogXCJyZXF1ZXN0X2xvZ19zdGVwcy50eXBlXCIsXG4gICAgICBtb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9nX3N0ZXBzLm1vZGVsX25hbWVcIixcbiAgICAgIHJlcXVlc3RlZF9tb2RlbF9uYW1lOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnJlcXVlc3RlZF9tb2RlbF9uYW1lXCIsXG4gICAgICBmYWxsYmFja19jb3VudDogXCJyZXF1ZXN0X2xvZ19zdGVwcy5mYWxsYmFja19jb3VudFwiLFxuICAgICAgaW5wdXRfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmlucHV0X3Rva2Vuc1wiLFxuICAgICAgb3V0cHV0X3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5vdXRwdXRfdG9rZW5zXCIsXG4gICAgICBjYWNoZV9yZWFkX3Rva2VuczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5jYWNoZV9yZWFkX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX2NyZWF0aW9uX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fNW1fdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX2NyZWF0aW9uXzVtX3Rva2Vuc1wiLFxuICAgICAgY2FjaGVfY3JlYXRpb25fMWhfdG9rZW5zOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNhY2hlX2NyZWF0aW9uXzFoX3Rva2Vuc1wiLFxuICAgICAgY29zdF91c2Q6IFwicmVxdWVzdF9sb2dfc3RlcHMuY29zdF91c2RcIixcbiAgICAgIGNvc3Rfc291cmNlOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmNvc3Rfc291cmNlXCIsXG4gICAgICBkdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ19zdGVwcy5kdXJhdGlvbl9tc1wiLFxuICAgICAgdHRmdF9tczogXCJyZXF1ZXN0X2xvZ19zdGVwcy50dGZ0X21zXCIsXG4gICAgICBmaW5pc2hfcmVhc29uOiBcInJlcXVlc3RfbG9nX3N0ZXBzLmZpbmlzaF9yZWFzb25cIixcbiAgICAgIHJlYXNvbmluZ190b2tlbnM6IFwicmVxdWVzdF9sb2dfc3RlcHMucmVhc29uaW5nX3Rva2Vuc1wiLFxuICAgICAgdG9vbF9jYWxsX2luZGV4OiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfY2FsbF9pbmRleFwiLFxuICAgICAgdG9vbF9jYWxsX2lkOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfY2FsbF9pZFwiLFxuICAgICAgdG9vbF9uYW1lOiBcInJlcXVlc3RfbG9nX3N0ZXBzLnRvb2xfbmFtZVwiLFxuICAgICAgdG9vbF9kdXJhdGlvbl9tczogXCJyZXF1ZXN0X2xvZ19zdGVwcy50b29sX2R1cmF0aW9uX21zXCIsXG4gICAgICBlcnJvcjogXCJyZXF1ZXN0X2xvZ19zdGVwcy5lcnJvclwiLFxuICAgIH0pO1xuICB9LFxuICBJOiAocWJXcmFwcGVyOiBQdXJpV3JhcHBlcjxEYXRhYmFzZVNjaGVtYUV4dGVuZD4pID0+IHtcbiAgICByZXR1cm4gcWJXcmFwcGVyLmZyb20oXCJyZXF1ZXN0X2xvZ19zdGVwc1wiKS5zZWxlY3Qoe1xuICAgICAgaWQ6IFwicmVxdWVzdF9sb2dfc3RlcHMuaWRcIixcbiAgICAgIHRvb2xfYXJnczogXCJyZXF1ZXN0X2xvZ19zdGVwcy50b29sX2FyZ3NcIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBSZXF1ZXN0TG9nU3RlcFxuZXhwb3J0IGNvbnN0IHJlcXVlc3RMb2dTdGVwTG9hZGVyUXVlcmllcyA9IHtcbiAgQTogW10sXG4gIFQ6IFtdLFxuICBJOiBbXSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFB1cmlMb2FkZXJRdWVyaWVzPFJlcXVlc3RMb2dTdGVwU3Vic2V0S2V5PjtcblxuLy8gU3Vic2V0UXVlcnk6IFNldHRpbmdcbmV4cG9ydCBjb25zdCBzZXR0aW5nU3Vic2V0UXVlcmllcyA9IHtcbiAgQTogKHFiV3JhcHBlcjogUHVyaVdyYXBwZXI8RGF0YWJhc2VTY2hlbWFFeHRlbmQ+KSA9PiB7XG4gICAgcmV0dXJuIHFiV3JhcHBlci5mcm9tKFwic2V0dGluZ3NcIikuc2VsZWN0KHtcbiAgICAgIGlkOiBcInNldHRpbmdzLmlkXCIsXG4gICAgICBjcmVhdGVkX2F0OiBcInNldHRpbmdzLmNyZWF0ZWRfYXRcIixcbiAgICAgIGtleTogXCJzZXR0aW5ncy5rZXlcIixcbiAgICAgIHZhbHVlOiBcInNldHRpbmdzLnZhbHVlXCIsXG4gICAgICB1cGRhdGVkX2F0OiBcInNldHRpbmdzLnVwZGF0ZWRfYXRcIixcbiAgICB9KTtcbiAgfSxcbn07XG5cbi8vIExvYWRlclF1ZXJ5OiBTZXR0aW5nXG5leHBvcnQgY29uc3Qgc2V0dGluZ0xvYWRlclF1ZXJpZXMgPSB7XG4gIEE6IFtdLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUHVyaUxvYWRlclF1ZXJpZXM8U2V0dGluZ1N1YnNldEtleT47XG5cbi8vIFN1YnNldFF1ZXJ5OiBUb2tlblxuZXhwb3J0IGNvbnN0IHRva2VuU3Vic2V0UXVlcmllcyA9IHtcbiAgQTogKHFiV3JhcHBlcjogUHVyaVdyYXBwZXI8RGF0YWJhc2VTY2hlbWFFeHRlbmQ+KSA9PiB7XG4gICAgcmV0dXJuIHFiV3JhcHBlci5mcm9tKFwidG9rZW5zXCIpLnNlbGVjdCh7XG4gICAgICBpZDogXCJ0b2tlbnMuaWRcIixcbiAgICAgIGNyZWF0ZWRfYXQ6IFwidG9rZW5zLmNyZWF0ZWRfYXRcIixcbiAgICAgIHByb3ZpZGVyOiBcInRva2Vucy5wcm92aWRlclwiLFxuICAgICAgY3JlZGVudGlhbHM6IFwidG9rZW5zLmNyZWRlbnRpYWxzXCIsXG4gICAgICBuYW1lOiBcInRva2Vucy5uYW1lXCIsXG4gICAgICBhY3RpdmU6IFwidG9rZW5zLmFjdGl2ZVwiLFxuICAgICAgb3JkOiBcInRva2Vucy5vcmRcIixcbiAgICAgIHF1b3RhX3RocmVzaG9sZDogXCJ0b2tlbnMucXVvdGFfdGhyZXNob2xkXCIsXG4gICAgICB3ZWlnaHQ6IFwidG9rZW5zLndlaWdodFwiLFxuICAgICAga2VlcGFsaXZlX2VuYWJsZWQ6IFwidG9rZW5zLmtlZXBhbGl2ZV9lbmFibGVkXCIsXG4gICAgfSk7XG4gIH0sXG59O1xuXG4vLyBMb2FkZXJRdWVyeTogVG9rZW5cbmV4cG9ydCBjb25zdCB0b2tlbkxvYWRlclF1ZXJpZXMgPSB7XG4gIEE6IFtdLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUHVyaUxvYWRlclF1ZXJpZXM8VG9rZW5TdWJzZXRLZXk+O1xuXG4vLyBGb3JlaWduS2V5IFR5cGVzXG5leHBvcnQgdHlwZSBSZXF1ZXN0TG9nU3RlcEZvcmVpZ25LZXlzID0gXCJyZXF1ZXN0X2xvZ19pZFwiO1xuXG4vLyBEYXRhYmFzZVNjaGVtYVxuZGVjbGFyZSBtb2R1bGUgXCJzb25hbXVcIiB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VTY2hlbWFFeHRlbmQge1xuICAgIHJlcXVlc3RfbG9nczogUmVxdWVzdExvZ0Jhc2VTY2hlbWE7XG4gICAgcmVxdWVzdF9sb2dfc3RlcHM6IFJlcXVlc3RMb2dTdGVwQmFzZVNjaGVtYTtcbiAgICBzZXR0aW5nczogU2V0dGluZ0Jhc2VTY2hlbWE7XG4gICAgdG9rZW5zOiBUb2tlbkJhc2VTY2hlbWE7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlRm9yZWlnbktleXMge1xuICAgIHJlcXVlc3RfbG9nX3N0ZXBzOiBSZXF1ZXN0TG9nU3RlcEZvcmVpZ25LZXlzO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFtQkEsTUFBYSwwQkFBMEI7Q0FDckMsSUFBSSxjQUFpRDtFQUNuRCxPQUFPLFVBQVUsS0FBSyxjQUFjLENBQUMsQ0FBQyxPQUFPO0dBQzNDLElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLGNBQWM7R0FDZCxZQUFZO0dBQ1osc0JBQXNCO0dBQ3RCLGdCQUFnQjtHQUNoQixhQUFhO0dBQ2IsZUFBZTtHQUNmLFVBQVU7R0FDVixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLDBCQUEwQjtHQUMxQixhQUFhO0dBQ2IsU0FBUztHQUNULFVBQVU7R0FDVixhQUFhO0dBQ2IsZ0JBQWdCO0dBQ2hCLG1CQUFtQjtHQUNuQixRQUFRO0dBQ1IsU0FBUztHQUNULE9BQU87R0FDUCxRQUFRO0dBQ1Isa0JBQWtCO0dBQ2xCLGVBQWU7R0FDZixpQkFBaUI7R0FDakIscUJBQXFCO0dBQ3JCLGVBQWU7RUFDakIsQ0FBQztDQUNIO0NBQ0EsSUFBSSxjQUFpRDtFQUNuRCxPQUFPLFVBQVUsS0FBSyxjQUFjLENBQUMsQ0FBQyxPQUFPO0dBQzNDLElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLGNBQWM7R0FDZCxZQUFZO0dBQ1osc0JBQXNCO0dBQ3RCLGdCQUFnQjtHQUNoQixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLDBCQUEwQjtHQUMxQixhQUFhO0dBQ2IsU0FBUztHQUNULFVBQVU7R0FDVixhQUFhO0dBQ2IsZ0JBQWdCO0dBQ2hCLG1CQUFtQjtHQUNuQixRQUFRO0dBQ1IsUUFBUTtHQUNSLGtCQUFrQjtHQUNsQixpQkFBaUI7R0FDakIscUJBQXFCO0dBQ3JCLGVBQWU7RUFDakIsQ0FBQztDQUNIO0NBQ0EsSUFBSSxjQUFpRDtFQUNuRCxPQUFPLFVBQVUsS0FBSyxjQUFjLENBQUMsQ0FBQyxPQUFPO0dBQzNDLElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLGNBQWM7R0FDZCxlQUFlO0dBQ2YsbUJBQW1CO0dBQ25CLHVCQUF1QjtHQUN2QiwwQkFBMEI7R0FDMUIsMEJBQTBCO0dBQzFCLFVBQVU7R0FDVixhQUFhO0VBQ2YsQ0FBQztDQUNIO0FBQ0Y7QUFHQSxNQUFhLDBCQUEwQjtDQUNyQyxHQUFHLENBQUM7Q0FDSixHQUFHLENBQUM7Q0FDSixHQUFHLENBQUM7QUFDTjtBQUdBLE1BQWEsOEJBQThCO0NBQ3pDLElBQUksY0FBaUQ7RUFDbkQsT0FBTyxVQUFVLEtBQUssbUJBQW1CLENBQUMsQ0FBQyxPQUFPO0dBQ2hELElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLE1BQU07R0FDTixZQUFZO0dBQ1osc0JBQXNCO0dBQ3RCLGdCQUFnQjtHQUNoQixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLDBCQUEwQjtHQUMxQixVQUFVO0dBQ1YsYUFBYTtHQUNiLGFBQWE7R0FDYixTQUFTO0dBQ1QsZUFBZTtHQUNmLGdCQUFnQjtHQUNoQixrQkFBa0I7R0FDbEIsaUJBQWlCO0dBQ2pCLGNBQWM7R0FDZCxXQUFXO0dBQ1gsV0FBVztHQUNYLGFBQWE7R0FDYixrQkFBa0I7R0FDbEIsT0FBTztFQUNULENBQUM7Q0FDSDtDQUNBLElBQUksY0FBaUQ7RUFDbkQsT0FBTyxVQUFVLEtBQUssbUJBQW1CLENBQUMsQ0FBQyxPQUFPO0dBQ2hELElBQUk7R0FDSixZQUFZO0dBQ1osWUFBWTtHQUNaLE1BQU07R0FDTixZQUFZO0dBQ1osc0JBQXNCO0dBQ3RCLGdCQUFnQjtHQUNoQixjQUFjO0dBQ2QsZUFBZTtHQUNmLG1CQUFtQjtHQUNuQix1QkFBdUI7R0FDdkIsMEJBQTBCO0dBQzFCLDBCQUEwQjtHQUMxQixVQUFVO0dBQ1YsYUFBYTtHQUNiLGFBQWE7R0FDYixTQUFTO0dBQ1QsZUFBZTtHQUNmLGtCQUFrQjtHQUNsQixpQkFBaUI7R0FDakIsY0FBYztHQUNkLFdBQVc7R0FDWCxrQkFBa0I7R0FDbEIsT0FBTztFQUNULENBQUM7Q0FDSDtDQUNBLElBQUksY0FBaUQ7RUFDbkQsT0FBTyxVQUFVLEtBQUssbUJBQW1CLENBQUMsQ0FBQyxPQUFPO0dBQ2hELElBQUk7R0FDSixXQUFXO0VBQ2IsQ0FBQztDQUNIO0FBQ0Y7QUFHQSxNQUFhLDhCQUE4QjtDQUN6QyxHQUFHLENBQUM7Q0FDSixHQUFHLENBQUM7Q0FDSixHQUFHLENBQUM7QUFDTjtBQUdBLE1BQWEsdUJBQXVCLEVBQ2xDLElBQUksY0FBaUQ7Q0FDbkQsT0FBTyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTztFQUN2QyxJQUFJO0VBQ0osWUFBWTtFQUNaLEtBQUs7RUFDTCxPQUFPO0VBQ1AsWUFBWTtDQUNkLENBQUM7QUFDSCxFQUNGO0FBR0EsTUFBYSx1QkFBdUIsRUFDbEMsR0FBRyxDQUFDLEVBQ047QUFHQSxNQUFhLHFCQUFxQixFQUNoQyxJQUFJLGNBQWlEO0NBQ25ELE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU87RUFDckMsSUFBSTtFQUNKLFlBQVk7RUFDWixVQUFVO0VBQ1YsYUFBYTtFQUNiLE1BQU07RUFDTixRQUFRO0VBQ1IsS0FBSztFQUNMLGlCQUFpQjtFQUNqQixRQUFRO0VBQ1IsbUJBQW1CO0NBQ3JCLENBQUM7QUFDSCxFQUNGO0FBR0EsTUFBYSxxQkFBcUIsRUFDaEMsR0FBRyxDQUFDLEVBQ04ifQ==
|