@kontur.candy/tools 2.188.0 → 2.189.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/distr/Common/EndPoints.js +3 -3
- package/distr/Common/EndPoints.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +3 -3
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +6 -2
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +12 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js.map +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +221 -221
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -295,7 +295,7 @@ Magic
|
|
|
295
295
|
|
|
296
296
|
* `--all-farm-dir (-a)`
|
|
297
297
|
|
|
298
|
-
Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно
|
|
298
|
+
Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy
|
|
299
299
|
|
|
300
300
|
* `--no-client-override`
|
|
301
301
|
|
|
@@ -335,7 +335,7 @@ Magic
|
|
|
335
335
|
|
|
336
336
|
* `--all-farm-dir (-a)`
|
|
337
337
|
|
|
338
|
-
Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно
|
|
338
|
+
Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy
|
|
339
339
|
|
|
340
340
|
* `--nightly`
|
|
341
341
|
|
|
@@ -9,8 +9,8 @@ const testKonturApi = exports.testKonturApi = "https://api.testkontur.ru";
|
|
|
9
9
|
const testKonturApiCandy = exports.testKonturApiCandy = testKonturApi + "/candy";
|
|
10
10
|
const testKonturApiPicklist = exports.testKonturApiPicklist = testKonturApi + "/picklist";
|
|
11
11
|
const localCandyApi = exports.localCandyApi = candyApiUrlAtHost("localhost.testkontur.ru");
|
|
12
|
-
const localNidus = exports.localNidus = `https://localhost.testkontur.ru:
|
|
12
|
+
const localNidus = exports.localNidus = `https://localhost.testkontur.ru:8099/nidus`;
|
|
13
13
|
function candyApiUrlAtHost(host) {
|
|
14
|
-
return `https://${host}:
|
|
14
|
+
return `https://${host}:21090`;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0ZXN0S29udHVyQXBpIiwiZXhwb3J0cyIsInRlc3RLb250dXJBcGlDYW5keSIsInRlc3RLb250dXJBcGlQaWNrbGlzdCIsImxvY2FsQ2FuZHlBcGkiLCJjYW5keUFwaVVybEF0SG9zdCIsImxvY2FsTmlkdXMiLCJob3N0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vQ29tbW9uL0VuZFBvaW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdGVzdEtvbnR1ckFwaSA9IFwiaHR0cHM6Ly9hcGkudGVzdGtvbnR1ci5ydVwiO1xuXG5leHBvcnQgY29uc3QgdGVzdEtvbnR1ckFwaUNhbmR5ID0gdGVzdEtvbnR1ckFwaSArIFwiL2NhbmR5XCI7XG5cbmV4cG9ydCBjb25zdCB0ZXN0S29udHVyQXBpUGlja2xpc3QgPSB0ZXN0S29udHVyQXBpICsgXCIvcGlja2xpc3RcIjtcblxuZXhwb3J0IGNvbnN0IGxvY2FsQ2FuZHlBcGkgPSBjYW5keUFwaVVybEF0SG9zdChcImxvY2FsaG9zdC50ZXN0a29udHVyLnJ1XCIpO1xuXG5leHBvcnQgY29uc3QgbG9jYWxOaWR1cyA9IGBodHRwczovL2xvY2FsaG9zdC50ZXN0a29udHVyLnJ1OjgwOTkvbmlkdXNgO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FuZHlBcGlVcmxBdEhvc3QoaG9zdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGh0dHBzOi8vJHtob3N0fToyMTA5MGA7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxNQUFNQSxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxHQUFHLDJCQUEyQjtBQUVqRCxNQUFNRSxrQkFBa0IsR0FBQUQsT0FBQSxDQUFBQyxrQkFBQSxHQUFHRixhQUFhLEdBQUcsUUFBUTtBQUVuRCxNQUFNRyxxQkFBcUIsR0FBQUYsT0FBQSxDQUFBRSxxQkFBQSxHQUFHSCxhQUFhLEdBQUcsV0FBVztBQUV6RCxNQUFNSSxhQUFhLEdBQUFILE9BQUEsQ0FBQUcsYUFBQSxHQUFHQyxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQztBQUVsRSxNQUFNQyxVQUFVLEdBQUFMLE9BQUEsQ0FBQUssVUFBQSxHQUFHLDRDQUE0QztBQUUvRCxTQUFTRCxpQkFBaUJBLENBQUNFLElBQVksRUFBVTtFQUNwRCxPQUFPLFdBQVdBLElBQUksUUFBUTtBQUNsQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EndPoints.js","names":["testKonturApi","exports","testKonturApiCandy","testKonturApiPicklist","localCandyApi","candyApiUrlAtHost","localNidus","host"],"sources":["../../../Common/EndPoints.ts"],"sourcesContent":["export const testKonturApi = \"https://api.testkontur.ru\";\n\nexport const testKonturApiCandy = testKonturApi + \"/candy\";\n\nexport const testKonturApiPicklist = testKonturApi + \"/picklist\";\n\nexport const localCandyApi = candyApiUrlAtHost(\"localhost.testkontur.ru\");\n\nexport const localNidus = `https://localhost.testkontur.ru:
|
|
1
|
+
{"version":3,"file":"EndPoints.js","names":["testKonturApi","exports","testKonturApiCandy","testKonturApiPicklist","localCandyApi","candyApiUrlAtHost","localNidus","host"],"sources":["../../../Common/EndPoints.ts"],"sourcesContent":["export const testKonturApi = \"https://api.testkontur.ru\";\n\nexport const testKonturApiCandy = testKonturApi + \"/candy\";\n\nexport const testKonturApiPicklist = testKonturApi + \"/picklist\";\n\nexport const localCandyApi = candyApiUrlAtHost(\"localhost.testkontur.ru\");\n\nexport const localNidus = `https://localhost.testkontur.ru:8099/nidus`;\n\nexport function candyApiUrlAtHost(host: string): string {\n return `https://${host}:21090`;\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,2BAA2B;AAEjD,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAGF,aAAa,GAAG,QAAQ;AAEnD,MAAMG,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAGH,aAAa,GAAG,WAAW;AAEzD,MAAMI,aAAa,GAAAH,OAAA,CAAAG,aAAA,GAAGC,iBAAiB,CAAC,yBAAyB,CAAC;AAElE,MAAMC,UAAU,GAAAL,OAAA,CAAAK,UAAA,GAAG,4CAA4C;AAE/D,SAASD,iBAAiBA,CAACE,IAAY,EAAU;EACpD,OAAO,WAAWA,IAAI,QAAQ;AAClC","ignoreList":[]}
|
|
@@ -26,7 +26,7 @@ const buildServerCommandDefinition = exports.buildServerCommandDefinition = (0,
|
|
|
26
26
|
}),
|
|
27
27
|
defaultOption: false,
|
|
28
28
|
multiple: true,
|
|
29
|
-
description: "Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно
|
|
29
|
+
description: "Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy"
|
|
30
30
|
}, {
|
|
31
31
|
name: "nightly",
|
|
32
32
|
defaultValue: {
|
|
@@ -84,7 +84,7 @@ const devBuildServerCommandDefinition = exports.devBuildServerCommandDefinition
|
|
|
84
84
|
}),
|
|
85
85
|
defaultOption: false,
|
|
86
86
|
multiple: true,
|
|
87
|
-
description: "Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно
|
|
87
|
+
description: "Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy"
|
|
88
88
|
}, {
|
|
89
89
|
name: "no-client-override",
|
|
90
90
|
defaultValue: {
|
|
@@ -109,4 +109,4 @@ const devBuildServerCommandDefinition = exports.devBuildServerCommandDefinition
|
|
|
109
109
|
}, _BuildDebugOnlyOption.debugOnlyOptionDefinition, _CommonOptionDefintions.devModeOption, _CommonOptionDefintions.logVerbosityOption), {
|
|
110
110
|
description: "Magic"
|
|
111
111
|
});
|
|
112
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsInJlcXVpcmUiLCJfQnVpbGREZWJ1Z09ubHlPcHRpb24iLCJfQ29tbW9uT3B0aW9uRGVmaW50aW9ucyIsImJ1aWxkU2VydmVyQ29tbWFuZERlZmluaXRpb24iLCJleHBvcnRzIiwiY29tbWFuZERlZmluaXRpb24iLCJvcHRpb25zRGVmaW5pdGlvbiIsImFsaWFzIiwibmFtZSIsImRlZmF1bHRWYWx1ZSIsInBhcnNlIiwiaW5wdXQiLCJkZWZhdWx0T3B0aW9uIiwibXVsdGlwbGUiLCJkZXNjcmlwdGlvbiIsImFsbEZhcm1zRGlyIiwibmlnaHRseSIsImRvZXNOb3RSZXF1aXJlVmFsdWUiLCJkaXNhYmxlQ2xpZW50T3ZlcnJpZGUiLCJza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyIsImRlYnVnT25seU9wdGlvbkRlZmluaXRpb24iLCJkZXZNb2RlT3B0aW9uIiwibG9nVmVyYm9zaXR5T3B0aW9uIiwiZGV2QnVpbGRTZXJ2ZXJDb21tYW5kRGVmaW5pdGlvbiIsImZvcm1HbG9icyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9CdWlsZFNlcnZlclNlcnZlck9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tbWFuZERlZmluaXRpb24sIG9wdGlvbnNEZWZpbml0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBCdWlsZERlYnVnT25seU9wdGlvbiwgZGVidWdPbmx5T3B0aW9uRGVmaW5pdGlvbiB9IGZyb20gXCIuLi9Db21tb25PcHRpb25zL0J1aWxkRGVidWdPbmx5T3B0aW9uXCI7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uc1wiO1xuaW1wb3J0IHsgZGV2TW9kZU9wdGlvbiwgbG9nVmVyYm9zaXR5T3B0aW9uIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uRGVmaW50aW9uc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkU2VydmVyT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMsIEJ1aWxkRGVidWdPbmx5T3B0aW9uIHtcbiAgICBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGJvb2xlYW47XG4gICAgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW47XG4gICAgbmlnaHRseTogYm9vbGVhbjtcbiAgICBhbGxGYXJtc0Rpcjogc3RyaW5nW10gfCBbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZCdWlsZFNlcnZlck9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zLCBCdWlsZERlYnVnT25seU9wdGlvbiB7XG4gICAgZm9ybUdsb2JzOiBzdHJpbmdbXTtcbiAgICBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGJvb2xlYW47XG4gICAgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW47XG4gICAgYWxsRmFybXNEaXI6IHN0cmluZ1tdIHwgW107XG59XG5cbmV4cG9ydCBjb25zdCBidWlsZFNlcnZlckNvbW1hbmREZWZpbml0aW9uID0gY29tbWFuZERlZmluaXRpb248XCJidWlsZC1zZXJ2ZXJcIiwgQnVpbGRTZXJ2ZXJPcHRpb25zPihcbiAgICBcImJ1aWxkLXNlcnZlclwiLFxuICAgIFwiYnVpbGQtc2VydmVyXCIsXG4gICAgb3B0aW9uc0RlZmluaXRpb24oXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImdcIixcbiAgICAgICAgICAgIG5hbWU6IFwiZ2Z2c1wiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7fSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZ1tdKSA9PiAoe30pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwi0J7Qv9GG0LjRjyDRg9GB0YLQsNGA0LXQu9CwLiDQntGB0YLQsNCy0LvQtdC90LAg0LTQu9GPINC+0LHRgNCw0YLQvdC+0Lkg0YHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0LguXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImFcIixcbiAgICAgICAgICAgIG5hbWU6IFwiYWxsLWZhcm0tZGlyXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgYWxsRmFybXNEaXI6IFtdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgYWxsRmFybXNEaXI6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J/QvtC30LLQvtC70Y/QtdGCINC/0LXRgNC10LTQsNGC0Ywg0LzQsNGB0YHQuNCyINC/0YPRgtC10Lkg0LTQviDQstGB0LXRhSDRhNCw0YDQvNC+0LIgY2FuZHksINGH0YLQvtCx0Ysg0L7RgtC60YDRi9Cy0LDRgtGMINC40Lcg0LLRgdC10YUg0L3QuNGFINGE0L7RgNC80YsuINCf0YPRgtGMINC/0LXRgNC10LTQsNCy0LDRgtGMINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviBrZWZvcm1zLmVuZ2luZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5pZ2h0bHlcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBuaWdodGx5OiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IGlucHV0ID0+ICh7IG5pZ2h0bHk6IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCS0LrQu9GO0YfQsNC10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8INC90LAg0LTQstC40LbQutC1IG5pZ2h0bHkuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwibm8tY2xpZW50LW92ZXJyaWRlXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgZGlzYWJsZUNsaWVudE92ZXJyaWRlOiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IGlucHV0ID0+ICh7IGRpc2FibGVDbGllbnRPdmVycmlkZTogaW5wdXQgfSksXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQntGC0LrQu9GO0YfQsNC10YIg0L/QtdGA0LXRhdCy0LDRgiBjbGllbnQuanMuINCSINGN0YLQvtC8INGB0LvRg9GH0LDQtSDQvdC1INCx0YPQtNC10YIg0YDQsNCx0L7RgtCw0YLRjCDQvtGC0L7QsdGA0LDQttC10L3QuNC1INC70L7Qs9C+0LIg0YHQsdC+0YDQutC4INC4INC+0LbQuNC00LDQvdC40Y8g0YHQsdC+0YDQutC4INGE0L7RgNC80YsuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwicmVmb3JtYXRcIixcbiAgICAgICAgICAgIGFsaWFzOiBcInJcIixcbiAgICAgICAgICAgIGRvZXNOb3RSZXF1aXJlVmFsdWU6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IHRydWUgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IGJvb2xlYW4pID0+ICh7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiAhaW5wdXQgfSksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICBcItCS0LrQu9GO0YfQsNC10YIg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjQtSDQs9C10L3QtdGA0LjRgNGD0LXQvNC+0LPQviDQutC+0LTQsC4g0KDQsNCx0L7RgtCw0LXRgiwg0YLQvtC70YzQutC+INC10YHQu9C4INCy0LXRgNGB0LjRjyDQs9C10L3QtdGA0LDRgtC+0YDQsCDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0Y3RgtGDINC+0L/RhtC40Y4uINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L7RgtC70LDQtNC60Lgg0Lgg0L/RgNC+0YHQvNC+0YLRgNCwINGB0LPQtdC90LXRgNC40YDQvtCy0LDQvdC90YvRhSDRhNC+0YDQvCDQsiDQvtGC0LTQsNC00YfQuNC60LUuIChkZWZhdWx0OiBmYWxzZSlcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWdPbmx5T3B0aW9uRGVmaW5pdGlvbixcbiAgICAgICAgZGV2TW9kZU9wdGlvbixcbiAgICAgICAgbG9nVmVyYm9zaXR5T3B0aW9uXG4gICAgKSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIk1hZ2ljXCIsXG4gICAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRldkJ1aWxkU2VydmVyQ29tbWFuZERlZmluaXRpb24gPSBjb21tYW5kRGVmaW5pdGlvbjxcImRldi1idWlsZC1zZXJ2ZXJcIiwgRGV2QnVpbGRTZXJ2ZXJPcHRpb25zPihcbiAgICBcImRldi1idWlsZC1zZXJ2ZXJcIixcbiAgICBcImRldi1idWlsZC1zZXJ2ZXJcIixcbiAgICBvcHRpb25zRGVmaW5pdGlvbihcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpYXM6IFwiZ1wiLFxuICAgICAgICAgICAgbmFtZTogXCJnZnZzXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgZm9ybUdsb2JzOiBbXCIqXCJdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgZm9ybUdsb2JzOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCe0LTQvdCwINC40LvQuCDQvdC10YHQutC+0LvRjNC60L4gR0ZWINC40LvQuCBHRlYt0LzQsNGB0L7QuiDQtNC70Y8g0L/QtdGA0LXRgdC+0LHRgNC60LguXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImFcIixcbiAgICAgICAgICAgIG5hbWU6IFwiYWxsLWZhcm0tZGlyXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgYWxsRmFybXNEaXI6IFtdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgYWxsRmFybXNEaXI6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J/QvtC30LLQvtC70Y/QtdGCINC/0LXRgNC10LTQsNGC0Ywg0LzQsNGB0YHQuNCyINC/0YPRgtC10Lkg0LTQviDQstGB0LXRhSDRhNCw0YDQvNC+0LIgY2FuZHksINGH0YLQvtCx0Ysg0L7RgtC60YDRi9Cy0LDRgtGMINC40Lcg0LLRgdC10YUg0L3QuNGFINGE0L7RgNC80YsuINCf0YPRgtGMINC/0LXRgNC10LTQsNCy0LDRgtGMINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviBrZWZvcm1zLmVuZ2luZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5vLWNsaWVudC1vdmVycmlkZVwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGRpc2FibGVDbGllbnRPdmVycmlkZTogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiBpbnB1dCA9PiAoeyBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J7RgtC60LvRjtGH0LDQtdGCINC/0LXRgNC10YXQstCw0YIgY2xpZW50LmpzLiDQkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUg0L3QtSDQsdGD0LTQtdGCINGA0LDQsdC+0YLQsNGC0Ywg0L7RgtC+0LHRgNCw0LbQtdC90LjQtSDQu9C+0LPQvtCyINGB0LHQvtGA0LrQuCDQuCDQvtC20LjQtNCw0L3QuNGPINGB0LHQvtGA0LrQuCDRhNC+0YDQvNGLLlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInJlZm9ybWF0XCIsXG4gICAgICAgICAgICBhbGlhczogXCJyXCIsXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiB0cnVlIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBib29sZWFuKSA9PiAoeyBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogIWlucHV0IH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQktC60LvRjtGH0LDQtdGCINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40LUg0LPQtdC90LXRgNC40YDRg9C10LzQvtCz0L4g0LrQvtC00LAuINCg0LDQsdC+0YLQsNC10YIsINGC0L7Qu9GM0LrQviDQtdGB0LvQuCDQstC10YDRgdC40Y8g0LPQtdC90LXRgNCw0YLQvtGA0LAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINGN0YLRgyDQvtC/0YbQuNGOLiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINC+0YLQu9Cw0LTQutC4INC4INC/0YDQvtGB0LzQvtGC0YDQsCDRgdCz0LXQvdC10YDQuNGA0L7QstCw0L3QvdGL0YUg0YTQvtGA0Lwg0LIg0L7RgtC00LDQtNGH0LjQutC1LiAoZGVmYXVsdDogZmFsc2UpXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGRlYnVnT25seU9wdGlvbkRlZmluaXRpb24sXG4gICAgICAgIGRldk1vZGVPcHRpb24sXG4gICAgICAgIGxvZ1ZlcmJvc2l0eU9wdGlvblxuICAgICksXG4gICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJNYWdpY1wiLFxuICAgIH1cbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLDBCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxxQkFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsdUJBQUEsR0FBQUYsT0FBQTtBQWdCTyxNQUFNRyw0QkFBNEIsR0FBQUMsT0FBQSxDQUFBRCw0QkFBQSxHQUFHLElBQUFFLDRDQUFpQixFQUN6RCxjQUFjLEVBQ2QsY0FBYyxFQUNkLElBQUFDLDRDQUFpQixFQUNiO0VBQ0lDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSxNQUFNO0VBQ1pDLFlBQVksRUFBRSxDQUFDLENBQUM7RUFDaEJDLEtBQUssRUFBR0MsS0FBZSxLQUFNLENBQUMsQ0FBQyxDQUFDO0VBQ2hDQyxhQUFhLEVBQUUsSUFBSTtFQUNuQkMsUUFBUSxFQUFFLElBQUk7RUFDZEMsV0FBVyxFQUFFO0FBQ2pCLENBQUMsRUFDRDtFQUNJUCxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsY0FBYztFQUNwQkMsWUFBWSxFQUFFO0lBQUVNLFdBQVcsRUFBRTtFQUFHLENBQUM7RUFDakNMLEtBQUssRUFBR0MsS0FBZSxLQUFNO0lBQUVJLFdBQVcsRUFBRUo7RUFBTSxDQUFDLENBQUM7RUFDcERDLGFBQWEsRUFBRSxLQUFLO0VBQ3BCQyxRQUFRLEVBQUUsSUFBSTtFQUNkQyxXQUFXLEVBQ1A7QUFDUixDQUFDLEVBQ0Q7RUFDSU4sSUFBSSxFQUFFLFNBQVM7RUFDZkMsWUFBWSxFQUFFO0lBQUVPLE9BQU8sRUFBRTtFQUFNLENBQUM7RUFDaENOLEtBQUssRUFBRUMsS0FBSyxL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
|
|
112
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsInJlcXVpcmUiLCJfQnVpbGREZWJ1Z09ubHlPcHRpb24iLCJfQ29tbW9uT3B0aW9uRGVmaW50aW9ucyIsImJ1aWxkU2VydmVyQ29tbWFuZERlZmluaXRpb24iLCJleHBvcnRzIiwiY29tbWFuZERlZmluaXRpb24iLCJvcHRpb25zRGVmaW5pdGlvbiIsImFsaWFzIiwibmFtZSIsImRlZmF1bHRWYWx1ZSIsInBhcnNlIiwiaW5wdXQiLCJkZWZhdWx0T3B0aW9uIiwibXVsdGlwbGUiLCJkZXNjcmlwdGlvbiIsImFsbEZhcm1zRGlyIiwibmlnaHRseSIsImRvZXNOb3RSZXF1aXJlVmFsdWUiLCJkaXNhYmxlQ2xpZW50T3ZlcnJpZGUiLCJza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyIsImRlYnVnT25seU9wdGlvbkRlZmluaXRpb24iLCJkZXZNb2RlT3B0aW9uIiwibG9nVmVyYm9zaXR5T3B0aW9uIiwiZGV2QnVpbGRTZXJ2ZXJDb21tYW5kRGVmaW5pdGlvbiIsImZvcm1HbG9icyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9CdWlsZFNlcnZlclNlcnZlck9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tbWFuZERlZmluaXRpb24sIG9wdGlvbnNEZWZpbml0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBCdWlsZERlYnVnT25seU9wdGlvbiwgZGVidWdPbmx5T3B0aW9uRGVmaW5pdGlvbiB9IGZyb20gXCIuLi9Db21tb25PcHRpb25zL0J1aWxkRGVidWdPbmx5T3B0aW9uXCI7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uc1wiO1xuaW1wb3J0IHsgZGV2TW9kZU9wdGlvbiwgbG9nVmVyYm9zaXR5T3B0aW9uIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uRGVmaW50aW9uc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkU2VydmVyT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMsIEJ1aWxkRGVidWdPbmx5T3B0aW9uIHtcbiAgICBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGJvb2xlYW47XG4gICAgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW47XG4gICAgbmlnaHRseTogYm9vbGVhbjtcbiAgICBhbGxGYXJtc0Rpcjogc3RyaW5nW10gfCBbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZCdWlsZFNlcnZlck9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zLCBCdWlsZERlYnVnT25seU9wdGlvbiB7XG4gICAgZm9ybUdsb2JzOiBzdHJpbmdbXTtcbiAgICBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGJvb2xlYW47XG4gICAgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW47XG4gICAgYWxsRmFybXNEaXI6IHN0cmluZ1tdIHwgW107XG59XG5cbmV4cG9ydCBjb25zdCBidWlsZFNlcnZlckNvbW1hbmREZWZpbml0aW9uID0gY29tbWFuZERlZmluaXRpb248XCJidWlsZC1zZXJ2ZXJcIiwgQnVpbGRTZXJ2ZXJPcHRpb25zPihcbiAgICBcImJ1aWxkLXNlcnZlclwiLFxuICAgIFwiYnVpbGQtc2VydmVyXCIsXG4gICAgb3B0aW9uc0RlZmluaXRpb24oXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImdcIixcbiAgICAgICAgICAgIG5hbWU6IFwiZ2Z2c1wiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7fSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZ1tdKSA9PiAoe30pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwi0J7Qv9GG0LjRjyDRg9GB0YLQsNGA0LXQu9CwLiDQntGB0YLQsNCy0LvQtdC90LAg0LTQu9GPINC+0LHRgNCw0YLQvdC+0Lkg0YHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0LguXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImFcIixcbiAgICAgICAgICAgIG5hbWU6IFwiYWxsLWZhcm0tZGlyXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgYWxsRmFybXNEaXI6IFtdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgYWxsRmFybXNEaXI6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J/QvtC30LLQvtC70Y/QtdGCINC/0LXRgNC10LTQsNGC0Ywg0LzQsNGB0YHQuNCyINC/0YPRgtC10Lkg0LTQviDQstGB0LXRhSDRhNCw0YDQvNC+0LIgY2FuZHksINGH0YLQvtCx0Ysg0L7RgtC60YDRi9Cy0LDRgtGMINC40Lcg0LLRgdC10YUg0L3QuNGFINGE0L7RgNC80YsuINCf0YPRgtGMINC/0LXRgNC10LTQsNCy0LDRgtGMINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviBjYW5keVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5pZ2h0bHlcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBuaWdodGx5OiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IGlucHV0ID0+ICh7IG5pZ2h0bHk6IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCS0LrQu9GO0YfQsNC10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8INC90LAg0LTQstC40LbQutC1IG5pZ2h0bHkuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwibm8tY2xpZW50LW92ZXJyaWRlXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgZGlzYWJsZUNsaWVudE92ZXJyaWRlOiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IGlucHV0ID0+ICh7IGRpc2FibGVDbGllbnRPdmVycmlkZTogaW5wdXQgfSksXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQntGC0LrQu9GO0YfQsNC10YIg0L/QtdGA0LXRhdCy0LDRgiBjbGllbnQuanMuINCSINGN0YLQvtC8INGB0LvRg9GH0LDQtSDQvdC1INCx0YPQtNC10YIg0YDQsNCx0L7RgtCw0YLRjCDQvtGC0L7QsdGA0LDQttC10L3QuNC1INC70L7Qs9C+0LIg0YHQsdC+0YDQutC4INC4INC+0LbQuNC00LDQvdC40Y8g0YHQsdC+0YDQutC4INGE0L7RgNC80YsuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwicmVmb3JtYXRcIixcbiAgICAgICAgICAgIGFsaWFzOiBcInJcIixcbiAgICAgICAgICAgIGRvZXNOb3RSZXF1aXJlVmFsdWU6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IHRydWUgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IGJvb2xlYW4pID0+ICh7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiAhaW5wdXQgfSksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICBcItCS0LrQu9GO0YfQsNC10YIg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjQtSDQs9C10L3QtdGA0LjRgNGD0LXQvNC+0LPQviDQutC+0LTQsC4g0KDQsNCx0L7RgtCw0LXRgiwg0YLQvtC70YzQutC+INC10YHQu9C4INCy0LXRgNGB0LjRjyDQs9C10L3QtdGA0LDRgtC+0YDQsCDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0Y3RgtGDINC+0L/RhtC40Y4uINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L7RgtC70LDQtNC60Lgg0Lgg0L/RgNC+0YHQvNC+0YLRgNCwINGB0LPQtdC90LXRgNC40YDQvtCy0LDQvdC90YvRhSDRhNC+0YDQvCDQsiDQvtGC0LTQsNC00YfQuNC60LUuIChkZWZhdWx0OiBmYWxzZSlcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWdPbmx5T3B0aW9uRGVmaW5pdGlvbixcbiAgICAgICAgZGV2TW9kZU9wdGlvbixcbiAgICAgICAgbG9nVmVyYm9zaXR5T3B0aW9uXG4gICAgKSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIk1hZ2ljXCIsXG4gICAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRldkJ1aWxkU2VydmVyQ29tbWFuZERlZmluaXRpb24gPSBjb21tYW5kRGVmaW5pdGlvbjxcImRldi1idWlsZC1zZXJ2ZXJcIiwgRGV2QnVpbGRTZXJ2ZXJPcHRpb25zPihcbiAgICBcImRldi1idWlsZC1zZXJ2ZXJcIixcbiAgICBcImRldi1idWlsZC1zZXJ2ZXJcIixcbiAgICBvcHRpb25zRGVmaW5pdGlvbihcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpYXM6IFwiZ1wiLFxuICAgICAgICAgICAgbmFtZTogXCJnZnZzXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgZm9ybUdsb2JzOiBbXCIqXCJdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgZm9ybUdsb2JzOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCe0LTQvdCwINC40LvQuCDQvdC10YHQutC+0LvRjNC60L4gR0ZWINC40LvQuCBHRlYt0LzQsNGB0L7QuiDQtNC70Y8g0L/QtdGA0LXRgdC+0LHRgNC60LguXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImFcIixcbiAgICAgICAgICAgIG5hbWU6IFwiYWxsLWZhcm0tZGlyXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgYWxsRmFybXNEaXI6IFtdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgYWxsRmFybXNEaXI6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J/QvtC30LLQvtC70Y/QtdGCINC/0LXRgNC10LTQsNGC0Ywg0LzQsNGB0YHQuNCyINC/0YPRgtC10Lkg0LTQviDQstGB0LXRhSDRhNCw0YDQvNC+0LIgY2FuZHksINGH0YLQvtCx0Ysg0L7RgtC60YDRi9Cy0LDRgtGMINC40Lcg0LLRgdC10YUg0L3QuNGFINGE0L7RgNC80YsuINCf0YPRgtGMINC/0LXRgNC10LTQsNCy0LDRgtGMINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviBjYW5keVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5vLWNsaWVudC1vdmVycmlkZVwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGRpc2FibGVDbGllbnRPdmVycmlkZTogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiBpbnB1dCA9PiAoeyBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J7RgtC60LvRjtGH0LDQtdGCINC/0LXRgNC10YXQstCw0YIgY2xpZW50LmpzLiDQkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUg0L3QtSDQsdGD0LTQtdGCINGA0LDQsdC+0YLQsNGC0Ywg0L7RgtC+0LHRgNCw0LbQtdC90LjQtSDQu9C+0LPQvtCyINGB0LHQvtGA0LrQuCDQuCDQvtC20LjQtNCw0L3QuNGPINGB0LHQvtGA0LrQuCDRhNC+0YDQvNGLLlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInJlZm9ybWF0XCIsXG4gICAgICAgICAgICBhbGlhczogXCJyXCIsXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiB0cnVlIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBib29sZWFuKSA9PiAoeyBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogIWlucHV0IH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQktC60LvRjtGH0LDQtdGCINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40LUg0LPQtdC90LXRgNC40YDRg9C10LzQvtCz0L4g0LrQvtC00LAuINCg0LDQsdC+0YLQsNC10YIsINGC0L7Qu9GM0LrQviDQtdGB0LvQuCDQstC10YDRgdC40Y8g0LPQtdC90LXRgNCw0YLQvtGA0LAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINGN0YLRgyDQvtC/0YbQuNGOLiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINC+0YLQu9Cw0LTQutC4INC4INC/0YDQvtGB0LzQvtGC0YDQsCDRgdCz0LXQvdC10YDQuNGA0L7QstCw0L3QvdGL0YUg0YTQvtGA0Lwg0LIg0L7RgtC00LDQtNGH0LjQutC1LiAoZGVmYXVsdDogZmFsc2UpXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGRlYnVnT25seU9wdGlvbkRlZmluaXRpb24sXG4gICAgICAgIGRldk1vZGVPcHRpb24sXG4gICAgICAgIGxvZ1ZlcmJvc2l0eU9wdGlvblxuICAgICksXG4gICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJNYWdpY1wiLFxuICAgIH1cbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLDBCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxxQkFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsdUJBQUEsR0FBQUYsT0FBQTtBQWdCTyxNQUFNRyw0QkFBNEIsR0FBQUMsT0FBQSxDQUFBRCw0QkFBQSxHQUFHLElBQUFFLDRDQUFpQixFQUN6RCxjQUFjLEVBQ2QsY0FBYyxFQUNkLElBQUFDLDRDQUFpQixFQUNiO0VBQ0lDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSxNQUFNO0VBQ1pDLFlBQVksRUFBRSxDQUFDLENBQUM7RUFDaEJDLEtBQUssRUFBR0MsS0FBZSxLQUFNLENBQUMsQ0FBQyxDQUFDO0VBQ2hDQyxhQUFhLEVBQUUsSUFBSTtFQUNuQkMsUUFBUSxFQUFFLElBQUk7RUFDZEMsV0FBVyxFQUFFO0FBQ2pCLENBQUMsRUFDRDtFQUNJUCxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsY0FBYztFQUNwQkMsWUFBWSxFQUFFO0lBQUVNLFdBQVcsRUFBRTtFQUFHLENBQUM7RUFDakNMLEtBQUssRUFBR0MsS0FBZSxLQUFNO0lBQUVJLFdBQVcsRUFBRUo7RUFBTSxDQUFDLENBQUM7RUFDcERDLGFBQWEsRUFBRSxLQUFLO0VBQ3BCQyxRQUFRLEVBQUUsSUFBSTtFQUNkQyxXQUFXLEVBQ1A7QUFDUixDQUFDLEVBQ0Q7RUFDSU4sSUFBSSxFQUFFLFNBQVM7RUFDZkMsWUFBWSxFQUFFO0lBQUVPLE9BQU8sRUFBRTtFQUFNLENBQUM7RUFDaENOLEtBQUssRUFBRUMsS0FBSyxLQUFLO0lBQUVLLE9BQU8sRUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildServerServerOptions.js","names":["_CommandBasedOptionsParser","require","_BuildDebugOnlyOption","_CommonOptionDefintions","buildServerCommandDefinition","exports","commandDefinition","optionsDefinition","alias","name","defaultValue","parse","input","defaultOption","multiple","description","allFarmsDir","nightly","doesNotRequireValue","disableClientOverride","skipGeneratedCodeReformatting","debugOnlyOptionDefinition","devModeOption","logVerbosityOption","devBuildServerCommandDefinition","formGlobs"],"sources":["../../../../../src/CLICommands/BuildServer/BuildServerServerOptions.ts"],"sourcesContent":["import { commandDefinition, optionsDefinition } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { BuildDebugOnlyOption, debugOnlyOptionDefinition } from \"../CommonOptions/BuildDebugOnlyOption\";\nimport { CommonOptions } from \"../CommonOptions/CommonOptions\";\nimport { devModeOption, logVerbosityOption } from \"../CommonOptions/CommonOptionDefintions\";\n\nexport interface BuildServerOptions extends CommonOptions, BuildDebugOnlyOption {\n disableClientOverride: boolean;\n skipGeneratedCodeReformatting: boolean;\n nightly: boolean;\n allFarmsDir: string[] | [];\n}\n\nexport interface DevBuildServerOptions extends CommonOptions, BuildDebugOnlyOption {\n formGlobs: string[];\n disableClientOverride: boolean;\n skipGeneratedCodeReformatting: boolean;\n allFarmsDir: string[] | [];\n}\n\nexport const buildServerCommandDefinition = commandDefinition<\"build-server\", BuildServerOptions>(\n \"build-server\",\n \"build-server\",\n optionsDefinition(\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: {},\n parse: (input: string[]) => ({}),\n defaultOption: true,\n multiple: true,\n description: \"Опция устарела. Оставлена для обратной совместимости.\",\n },\n {\n alias: \"a\",\n name: \"all-farm-dir\",\n defaultValue: { allFarmsDir: [] },\n parse: (input: string[]) => ({ allFarmsDir: input }),\n defaultOption: false,\n multiple: true,\n description:\n \"Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно
|
|
1
|
+
{"version":3,"file":"BuildServerServerOptions.js","names":["_CommandBasedOptionsParser","require","_BuildDebugOnlyOption","_CommonOptionDefintions","buildServerCommandDefinition","exports","commandDefinition","optionsDefinition","alias","name","defaultValue","parse","input","defaultOption","multiple","description","allFarmsDir","nightly","doesNotRequireValue","disableClientOverride","skipGeneratedCodeReformatting","debugOnlyOptionDefinition","devModeOption","logVerbosityOption","devBuildServerCommandDefinition","formGlobs"],"sources":["../../../../../src/CLICommands/BuildServer/BuildServerServerOptions.ts"],"sourcesContent":["import { commandDefinition, optionsDefinition } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { BuildDebugOnlyOption, debugOnlyOptionDefinition } from \"../CommonOptions/BuildDebugOnlyOption\";\nimport { CommonOptions } from \"../CommonOptions/CommonOptions\";\nimport { devModeOption, logVerbosityOption } from \"../CommonOptions/CommonOptionDefintions\";\n\nexport interface BuildServerOptions extends CommonOptions, BuildDebugOnlyOption {\n disableClientOverride: boolean;\n skipGeneratedCodeReformatting: boolean;\n nightly: boolean;\n allFarmsDir: string[] | [];\n}\n\nexport interface DevBuildServerOptions extends CommonOptions, BuildDebugOnlyOption {\n formGlobs: string[];\n disableClientOverride: boolean;\n skipGeneratedCodeReformatting: boolean;\n allFarmsDir: string[] | [];\n}\n\nexport const buildServerCommandDefinition = commandDefinition<\"build-server\", BuildServerOptions>(\n \"build-server\",\n \"build-server\",\n optionsDefinition(\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: {},\n parse: (input: string[]) => ({}),\n defaultOption: true,\n multiple: true,\n description: \"Опция устарела. Оставлена для обратной совместимости.\",\n },\n {\n alias: \"a\",\n name: \"all-farm-dir\",\n defaultValue: { allFarmsDir: [] },\n parse: (input: string[]) => ({ allFarmsDir: input }),\n defaultOption: false,\n multiple: true,\n description:\n \"Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy\",\n },\n {\n name: \"nightly\",\n defaultValue: { nightly: false },\n parse: input => ({ nightly: input }),\n doesNotRequireValue: true,\n description: \"Включает сборку форм на движке nightly.\",\n },\n {\n name: \"no-client-override\",\n defaultValue: { disableClientOverride: false },\n parse: input => ({ disableClientOverride: input }),\n doesNotRequireValue: true,\n description:\n \"Отключает перехват client.js. В этом случае не будет работать отображение логов сборки и ожидания сборки формы.\",\n },\n {\n name: \"reformat\",\n alias: \"r\",\n doesNotRequireValue: true,\n defaultValue: { skipGeneratedCodeReformatting: true },\n parse: (input: boolean) => ({ skipGeneratedCodeReformatting: !input }),\n description:\n \"Включает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для отладки и просмотра сгенерированных форм в отдадчике. (default: false)\",\n },\n debugOnlyOptionDefinition,\n devModeOption,\n logVerbosityOption\n ),\n {\n description: \"Magic\",\n }\n);\n\nexport const devBuildServerCommandDefinition = commandDefinition<\"dev-build-server\", DevBuildServerOptions>(\n \"dev-build-server\",\n \"dev-build-server\",\n optionsDefinition(\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: { formGlobs: [\"*\"] },\n parse: (input: string[]) => ({ formGlobs: input }),\n defaultOption: true,\n multiple: true,\n description: \"Одна или несколько GFV или GFV-масок для пересобрки.\",\n },\n {\n alias: \"a\",\n name: \"all-farm-dir\",\n defaultValue: { allFarmsDir: [] },\n parse: (input: string[]) => ({ allFarmsDir: input }),\n defaultOption: false,\n multiple: true,\n description:\n \"Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy\",\n },\n {\n name: \"no-client-override\",\n defaultValue: { disableClientOverride: false },\n parse: input => ({ disableClientOverride: input }),\n doesNotRequireValue: true,\n description:\n \"Отключает перехват client.js. В этом случае не будет работать отображение логов сборки и ожидания сборки формы.\",\n },\n {\n name: \"reformat\",\n alias: \"r\",\n doesNotRequireValue: true,\n defaultValue: { skipGeneratedCodeReformatting: true },\n parse: (input: boolean) => ({ skipGeneratedCodeReformatting: !input }),\n description:\n \"Включает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для отладки и просмотра сгенерированных форм в отдадчике. (default: false)\",\n },\n debugOnlyOptionDefinition,\n devModeOption,\n logVerbosityOption\n ),\n {\n description: \"Magic\",\n }\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -117,7 +117,11 @@ let BuildServerBackendResourcesController = exports.BuildServerBackendResourcesC
|
|
|
117
117
|
throw new _NotFoundWebError.NotFoundWebError("File not found", false);
|
|
118
118
|
}
|
|
119
119
|
async getFLangNormalizeFile(gfv) {
|
|
120
|
-
|
|
120
|
+
const stream = await this.generatedServerSideSourcesProvider.getNormalizationFileContent(gfv);
|
|
121
|
+
if (stream == null) {
|
|
122
|
+
throw new _NotFoundWebError.NotFoundWebError("File not found", false);
|
|
123
|
+
}
|
|
124
|
+
return new _StreamResultHandler.StreamResult(stream);
|
|
121
125
|
}
|
|
122
126
|
async getAllAttachmentPathsFileNames() {
|
|
123
127
|
const flangFiles = await this.generatedServerSideSourcesProvider.getAllAttachmentPathFileNames();
|
|
@@ -163,4 +167,4 @@ let BuildServerBackendResourcesController = exports.BuildServerBackendResourcesC
|
|
|
163
167
|
throw new _NotFoundWebError.NotFoundWebError("File not found", false);
|
|
164
168
|
}
|
|
165
169
|
}, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllGfvs", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getAllGfvs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllPicklists", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getAllPicklists"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPicklists", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getPicklists"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllConvertersFiles", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getAllConvertersFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getConverterFile", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getConverterFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllMergersFiles", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getAllMergersFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getMergerFile", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, "getMergerFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllSchemasFiles", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, "getAllSchemasFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormSchemas", [_dec9], Object.getOwnPropertyDescriptor(_class.prototype, "getFormSchemas"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllFormPresentations", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, "getAllFormPresentations"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormPresentations", [_dec11], Object.getOwnPropertyDescriptor(_class.prototype, "getFormPresentations"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllNormalizeFiles", [_dec12], Object.getOwnPropertyDescriptor(_class.prototype, "getAllNormalizeFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getNormalizeFile", [_dec13], Object.getOwnPropertyDescriptor(_class.prototype, "getNormalizeFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFLangNormalizeFile", [_dec14], Object.getOwnPropertyDescriptor(_class.prototype, "getFLangNormalizeFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllAttachmentPathsFileNames", [_dec15], Object.getOwnPropertyDescriptor(_class.prototype, "getAllAttachmentPathsFileNames"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAttachmentPathFile", [_dec16], Object.getOwnPropertyDescriptor(_class.prototype, "getAttachmentPathFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllUnmapFiles", [_dec17], Object.getOwnPropertyDescriptor(_class.prototype, "getAllUnmapFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getUnmapFile", [_dec18], Object.getOwnPropertyDescriptor(_class.prototype, "getUnmapFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllMapFiles", [_dec19], Object.getOwnPropertyDescriptor(_class.prototype, "getAllMapFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getMapFile", [_dec20], Object.getOwnPropertyDescriptor(_class.prototype, "getMapFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllPatchFiles", [_dec21], Object.getOwnPropertyDescriptor(_class.prototype, "getAllPatchFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPatchFile", [_dec22], Object.getOwnPropertyDescriptor(_class.prototype, "getPatchFile"), _class.prototype)), _class));
|
|
166
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnMiLCJyZXF1aXJlIiwicGF0aCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2ZzRXh0cmEiLCJfbG9kYXNoIiwiX01ldGhvZHMiLCJfTm90Rm91bmRXZWJFcnJvciIsIl9QYXJhbXMiLCJfUmVzdWx0cyIsIl9TdHJlYW1SZXN1bHRIYW5kbGVyIiwiX1NpbmdsZXRvbkNvbnRyb2xsZXIiLCJfRmFybURpcmVjdG9yeSIsIl9kZWMiLCJfZGVjMiIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiX2RlYzEzIiwiX2RlYzE0IiwiX2RlYzE1IiwiX2RlYzE2IiwiX2RlYzE3IiwiX2RlYzE4IiwiX2RlYzE5IiwiX2RlYzIwIiwiX2RlYzIxIiwiX2RlYzIyIiwiX2NsYXNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciIsImV4cG9ydHMiLCJodHRwR2V0IiwiaHR0cFJldHVybiIsIkpzb24iLCJQbGFpblRleHQiLCJTdHJlYW1XaXRoTWltZSIsImh0dHBVcmxQYXJhbSIsImh0dHBUeXBlIiwiU3RyaW5nIiwiU3RyZWFtIiwiU2luZ2xldG9uQ29udHJvbGxlciIsImNvbnN0cnVjdG9yIiwiYWxsRmFybUNvbmZpZyIsImZsYW5nTm9ybWFsaXphdGlvblNvdXJjZXNQcm92aWRlciIsImdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIiLCJhbGxTY2hlbWFzRmlsZXMiLCJyZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkIiwiYWxsRmFybURpcmVjdG9yaWVzIiwibWFwIiwiRmFybURpcmVjdG9yeSIsImZhcm1EaXJlY3RvcnkiLCJkZWJvdW5jZSIsInVuZGVmaW5lZCIsImdldEFsbEdmdnMiLCJQcm9taXNlIiwiYWxsIiwieCIsImZsYXQiLCJnZXRBbGxQaWNrbGlzdHMiLCJqb2luIiwiZ2V0UGlja2xpc3RzIiwicGlja2xpc3RGaWxlbmFtZSIsImFsbEZpbGVQYXRoIiwicGF0aEZpbGUiLCJwYXRoRXhpc3RzIiwiY3JlYXRlUmVhZFN0cmVhbSIsIkVycm9yIiwiZ2V0QWxsQ29udmVydGVyc0ZpbGVzIiwiZmxhdE1hcCIsImdldEFsbENvbnZlcnRlckZpbGVQYXRocyIsImJhc2VuYW1lIiwiZ2V0Q29udmVydGVyRmlsZSIsImZpbGVuYW1lIiwiZmlsZVBhdGgiLCJnZXRDb252ZXJ0ZXJGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsIkZpbGVTdHJlYW1SZXN1bHQiLCJOb3RGb3VuZFdlYkVycm9yIiwiZ2V0QWxsTWVyZ2Vyc0ZpbGVzIiwiZ2V0QWxsTWVyZ2Vyc0ZpbGVQYXRocyIsImdldE1lcmdlckZpbGUiLCJnZXRNZXJnZXJzRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQiLCJnZXRBbGxTY2hlbWFzRmlsZXMiLCJnZXRBbGxTY2hlbWFzRmlsZVBhdGhzIiwiZ2V0Rm9ybVNjaGVtYXMiLCJnZXRTY2hlbWFGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsImdldEFsbEZvcm1QcmVzZW50YXRpb25zIiwiZ2V0QWxsUHJlc2VudGF0aW9uc0ZpbGVOYW1lcyIsImdldEZvcm1QcmVzZW50YXRpb25zIiwiZ2Z2IiwiZ2V0UHJlc2VudGF0aW9uc0ZpbGVQYXRoQnlHZnZPclVuZGVmaW5lZCIsImdldEFsbE5vcm1hbGl6ZUZpbGVzIiwiZmlsZXMiLCJnZXRBbGxOb3JtYWxpemVGaWxlUGF0aHMiLCJmbGFuZ0ZpbGVzIiwiZ2V0QWxsTm9ybWFsaXphdGlvbkZpbGVOYW1lcyIsImdldE5vcm1hbGl6ZUZpbGUiLCJnZXROb3JtYWxpemVGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsImdldEZMYW5nTm9ybWFsaXplRmlsZSIsIlN0cmVhbVJlc3VsdCIsImdldE5vcm1hbGl6YXRpb25GaWxlQ29udGVudCIsImdldEFsbEF0dGFjaG1lbnRQYXRoc0ZpbGVOYW1lcyIsImdldEFsbEF0dGFjaG1lbnRQYXRoRmlsZU5hbWVzIiwiZ2V0QXR0YWNobWVudFBhdGhGaWxlIiwiZ2V0QXR0YWNobWVudFBhdGhzRmlsZUNvbnRlbnQiLCJnZXRBbGxVbm1hcEZpbGVzIiwiZ2V0QWxsVW5tYXBGaWxlUGF0aHMiLCJnZXRVbm1hcEZpbGUiLCJnZXRVbm1hcEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkIiwiZ2V0QWxsTWFwRmlsZXMiLCJnZXRBbGxNYXBGaWxlUGF0aHMiLCJnZXRNYXBGaWxlIiwiZ2V0TWFwRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQiLCJnZXRBbGxQYXRjaEZpbGVzIiwiZ2V0QWxsUGF0Y2hGaWxlUGF0aHMiLCJnZXRQYXRjaEZpbGUiLCJnZXRQYXRjaEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvcjIiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtLCBSZWFkU3RyZWFtIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHBhdGhFeGlzdHMgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBfLCB7IGRlYm91bmNlIH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgRmFybUNvbmZpZyB9IGZyb20gXCJUb29scy9zcmMvQ2FuZHlDTElcIjtcblxuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBOb3RGb3VuZFdlYkVycm9yIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL05vdEZvdW5kV2ViRXJyb3JcIjtcbmltcG9ydCB7IGh0dHBUeXBlLCBodHRwVXJsUGFyYW0gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUGFyYW1zXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7XG4gICAgRmlsZVN0cmVhbVJlc3VsdCxcbiAgICBTdHJlYW1SZXN1bHQsXG59IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcblxuaW1wb3J0IHsgSUdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIgfSBmcm9tIFwiLi9JR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlclwiO1xuaW1wb3J0IHsgRmFybURpcmVjdG9yeSB9IGZyb20gXCIuL0RpcmVjdG9yaWVzL0Zhcm1EaXJlY3RvcnlcIjtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXI6IElHZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyO1xuICAgIHByaXZhdGUgYWxsU2NoZW1hc0ZpbGVzOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybURpcmVjdG9yaWVzOiBGYXJtRGlyZWN0b3J5W107XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIGFsbEZhcm1Db25maWc6IEZhcm1Db25maWdbXSxcbiAgICAgICAgZmxhbmdOb3JtYWxpemF0aW9uU291cmNlc1Byb3ZpZGVyOiBJR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIgPSBmbGFuZ05vcm1hbGl6YXRpb25Tb3VyY2VzUHJvdmlkZXI7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzID0gYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBuZXcgRmFybURpcmVjdG9yeShpLmZhcm1EaXJlY3RvcnkpKTtcbiAgICAgICAgdGhpcy5yZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkID0gZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGxTY2hlbWFzRmlsZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH0sIDUwMDApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2dmdnNcIiwgaHR0cFJldHVybi5Kc29uKVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxHZnZzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5tYXAoeCA9PiB4LmdldEFsbEdmdnMoKSkpKS5mbGF0KCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcGlja2xpc3RzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxQaWNrbGlzdHMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5tYXAoeCA9PiB4LmdldEFsbFBpY2tsaXN0cygpKSkpLmZsYXQoKS5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9waWNrbGlzdHMvOnBpY2tsaXN0RmlsZW5hbWVcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2pzb25cIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInBpY2tsaXN0RmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0UGlja2xpc3RzKHBpY2tsaXN0RmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8UmVhZFN0cmVhbT4ge1xuICAgICAgICBjb25zdCBhbGxGaWxlUGF0aCA9IHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBwYXRoLmpvaW4oaS5mYXJtRGlyZWN0b3J5LCBcInBpY2tsaXN0c1wiLCBwaWNrbGlzdEZpbGVuYW1lKSk7XG4gICAgICAgIGZvciAoY29uc3QgcGF0aEZpbGUgb2YgYWxsRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHBhdGhGaWxlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSZWFkU3RyZWFtKHBhdGhGaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBFcnJvcihgbm90IGZvdW5kIHBpY2tsaXN0RmlsZW5hbWUgJHtwaWNrbGlzdEZpbGVuYW1lfWApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2NvbnZlcnRlcnNcIiwgaHR0cFJldHVybi5QbGFpblRleHQpXG4gICAgcHVibGljIGFzeW5jIGdldEFsbENvbnZlcnRlcnNGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbENvbnZlcnRlckZpbGVQYXRocygpKSkpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2NvbnZlcnRlcnMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRDb252ZXJ0ZXJGaWxlKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZpbGVTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBmYXJtRGlyZWN0b3J5IG9mIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGF3YWl0IGZhcm1EaXJlY3RvcnkuZ2V0Q29udmVydGVyRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGVQYXRoICE9IG51bGwgJiYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9tZXJnZXJzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxNZXJnZXJzRmlsZXMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5mbGF0TWFwKHggPT4geC5nZXRBbGxNZXJnZXJzRmlsZVBhdGhzKCkpKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoeCA9PiBwYXRoLmJhc2VuYW1lKHgpKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbWVyZ2Vycy86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImZpbGVuYW1lXCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE1lcmdlckZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRNZXJnZXJzRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGVQYXRoICE9IG51bGwgJiYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9zY2hlbWFzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxTY2hlbWFzRmlsZXMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgaWYgKHRoaXMuYWxsU2NoZW1hc0ZpbGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWxsU2NoZW1hc0ZpbGVzID0gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbFNjaGVtYXNGaWxlUGF0aHMoKSkpKVxuICAgICAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc2V0QWxsU2NoZW1hRmlsZXNEZWJvdW5jZWQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsU2NoZW1hc0ZpbGVzO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3NjaGVtYXMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtU2NoZW1hcyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxGaWxlU3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmFybURpcmVjdG9yeSBvZiB0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBhd2FpdCBmYXJtRGlyZWN0b3J5LmdldFNjaGVtYUZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHJlc2VudGF0aW9uc1wiLCBodHRwUmV0dXJuLlBsYWluVGV4dClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsRm9ybVByZXNlbnRhdGlvbnMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5mbGF0TWFwKHggPT4geC5nZXRBbGxQcmVzZW50YXRpb25zRmlsZU5hbWVzKCkpKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoeCA9PiBwYXRoLmJhc2VuYW1lKHgpKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHJlc2VudGF0aW9ucy86Z2Z2LnByZXNlbnRhdGlvbnMuanNvblwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldEZvcm1QcmVzZW50YXRpb25zKGdmdjogc3RyaW5nKTogUHJvbWlzZTxGaWxlU3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmFybURpcmVjdG9yeSBvZiB0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBhd2FpdCBmYXJtRGlyZWN0b3J5LmdldFByZXNlbnRhdGlvbnNGaWxlUGF0aEJ5R2Z2T3JVbmRlZmluZWQoZ2Z2KTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbm9ybWFsaXplXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxOb3JtYWxpemVGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmaWxlcyA9IChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5mbGF0TWFwKHggPT4geC5nZXRBbGxOb3JtYWxpemVGaWxlUGF0aHMoKSkpKS5mbGF0KCk7XG4gICAgICAgIGNvbnN0IGZsYW5nRmlsZXMgPSBhd2FpdCB0aGlzLmdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIuZ2V0QWxsTm9ybWFsaXphdGlvbkZpbGVOYW1lcygpO1xuICAgICAgICByZXR1cm4gWy4uLmZpbGVzLm1hcCh4ID0+IHBhdGguYmFzZW5hbWUoeCkpLCAuLi5mbGFuZ0ZpbGVzXS5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL25vcm1hbGl6ZS86Z2Z2LnhtbFwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE5vcm1hbGl6ZUZpbGUoZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPEZpbGVTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBmYXJtRGlyZWN0b3J5IG9mIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGF3YWl0IGZhcm1EaXJlY3RvcnkuZ2V0Tm9ybWFsaXplRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoYCR7Z2Z2fS54bWxgKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbm9ybWFsaXplLzpnZnYubm9ybWFsaXplXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJnZnZcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RkxhbmdOb3JtYWxpemVGaWxlKGdmdjogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQoYXdhaXQgdGhpcy5nZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyLmdldE5vcm1hbGl6YXRpb25GaWxlQ29udGVudChnZnYpKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9hdHRhY2htZW50cGF0aHNcIiwgaHR0cFJldHVybi5QbGFpblRleHQpXG4gICAgcHVibGljIGFzeW5jIGdldEFsbEF0dGFjaG1lbnRQYXRoc0ZpbGVOYW1lcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmbGFuZ0ZpbGVzID0gYXdhaXQgdGhpcy5nZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyLmdldEFsbEF0dGFjaG1lbnRQYXRoRmlsZU5hbWVzKCk7XG4gICAgICAgIHJldHVybiBmbGFuZ0ZpbGVzLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvYXR0YWNobWVudHBhdGhzLzpnZnYuanNvblwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldEF0dGFjaG1lbnRQYXRoRmlsZShnZnY6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KGF3YWl0IHRoaXMuZ2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlci5nZXRBdHRhY2htZW50UGF0aHNGaWxlQ29udGVudChnZnYpKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi91bm1hcFwiLCBodHRwUmV0dXJuLlBsYWluVGV4dClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsVW5tYXBGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbFVubWFwRmlsZVBhdGhzKCkpKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoeCA9PiBwYXRoLmJhc2VuYW1lKHgpKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvdW5tYXAvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRVbm1hcEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRVbm1hcEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbWFwXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxNYXBGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbE1hcEZpbGVQYXRocygpKSkpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL21hcC86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImZpbGVuYW1lXCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE1hcEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRNYXBGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZChmaWxlbmFtZSk7XG4gICAgICAgICAgICBpZiAoZmlsZVBhdGggIT0gbnVsbCAmJiAoYXdhaXQgcGF0aEV4aXN0cyhmaWxlUGF0aCkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGZpbGVQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZFdlYkVycm9yKFwiRmlsZSBub3QgZm91bmRcIiwgZmFsc2UpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3BhdGNoXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxQYXRjaEZpbGVzKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMuZmxhdE1hcCh4ID0+IHguZ2V0QWxsUGF0Y2hGaWxlUGF0aHMoKSkpKVxuICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgICAgLm1hcCh4ID0+IHBhdGguYmFzZW5hbWUoeCkpXG4gICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wYXRjaC86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImdmdlwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRQYXRjaEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRQYXRjaEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUdBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxvQkFBQSxHQUFBVCxPQUFBO0FBSUEsSUFBQVUsb0JBQUEsR0FBQVYsT0FBQTtBQUdBLElBQUFXLGNBQUEsR0FBQVgsT0FBQTtBQUE0RCxJQUFBWSxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUE7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FB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SCxLQUFBLEdBQUE2QixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsb0JBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEseUJBQUE1SCxLQUFBLEdBQUE0QixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEseUJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEscUJBQUEzSCxLQUFBLEdBQUEyQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEscUJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsOEJBQUExSCxNQUFBLEdBQUEwQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsOEJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsMkJBQUF6SCxNQUFBLEdBQUF5QixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsMkJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsMkJBQUF4SCxNQUFBLEdBQUF3QixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsMkJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsdUJBQUF2SCxNQUFBLEdBQUF1QixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsdUJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsNEJBQUF0SCxNQUFBLEdBQUFzQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsNEJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEscUNBQUFySCxNQUFBLEdBQUFxQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEscUNBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsNEJBQUFwSCxNQUFBLEdBQUFvQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsNEJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsdUJBQUFuSCxNQUFBLEdBQUFtQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsdUJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsbUJBQUFsSCxNQUFBLEdBQUFrQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsbUJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEscUJBQUFqSCxNQUFBLEdBQUFpQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEscUJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsaUJBQUFoSCxNQUFBLEdBQUFnQixNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTZHLFNBQUEsaUJBQUE3RyxNQUFBLENBQUE2RyxTQUFBLE9BQUFELDBCQUFBLENBQUFyRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTZHLFNBQUEsdUJBQUEvRyxNQUFBLEdBQUFlLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBNkcsU0FBQSx1QkFBQTdHLE1BQUEsQ0FBQTZHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXJHLE9BQUEsRUFBQVAsTUFBQSxDQUFBNkcsU0FBQSxtQkFBQTlHLE1BQUEsR0FBQWMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUE2RyxTQUFBLG1CQUFBN0csTUFBQSxDQUFBNkcsU0FBQSxJQUFBN0csTUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnMiLCJyZXF1aXJlIiwicGF0aCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2ZzRXh0cmEiLCJfbG9kYXNoIiwiX01ldGhvZHMiLCJfTm90Rm91bmRXZWJFcnJvciIsIl9QYXJhbXMiLCJfUmVzdWx0cyIsIl9TdHJlYW1SZXN1bHRIYW5kbGVyIiwiX1NpbmdsZXRvbkNvbnRyb2xsZXIiLCJfRmFybURpcmVjdG9yeSIsIl9kZWMiLCJfZGVjMiIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiX2RlYzEzIiwiX2RlYzE0IiwiX2RlYzE1IiwiX2RlYzE2IiwiX2RlYzE3IiwiX2RlYzE4IiwiX2RlYzE5IiwiX2RlYzIwIiwiX2RlYzIxIiwiX2RlYzIyIiwiX2NsYXNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciIsImV4cG9ydHMiLCJodHRwR2V0IiwiaHR0cFJldHVybiIsIkpzb24iLCJQbGFpblRleHQiLCJTdHJlYW1XaXRoTWltZSIsImh0dHBVcmxQYXJhbSIsImh0dHBUeXBlIiwiU3RyaW5nIiwiU3RyZWFtIiwiU2luZ2xldG9uQ29udHJvbGxlciIsImNvbnN0cnVjdG9yIiwiYWxsRmFybUNvbmZpZyIsImZsYW5nTm9ybWFsaXphdGlvblNvdXJjZXNQcm92aWRlciIsImdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIiLCJhbGxTY2hlbWFzRmlsZXMiLCJyZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkIiwiYWxsRmFybURpcmVjdG9yaWVzIiwibWFwIiwiRmFybURpcmVjdG9yeSIsImZhcm1EaXJlY3RvcnkiLCJkZWJvdW5jZSIsInVuZGVmaW5lZCIsImdldEFsbEdmdnMiLCJQcm9taXNlIiwiYWxsIiwieCIsImZsYXQiLCJnZXRBbGxQaWNrbGlzdHMiLCJqb2luIiwiZ2V0UGlja2xpc3RzIiwicGlja2xpc3RGaWxlbmFtZSIsImFsbEZpbGVQYXRoIiwicGF0aEZpbGUiLCJwYXRoRXhpc3RzIiwiY3JlYXRlUmVhZFN0cmVhbSIsIkVycm9yIiwiZ2V0QWxsQ29udmVydGVyc0ZpbGVzIiwiZmxhdE1hcCIsImdldEFsbENvbnZlcnRlckZpbGVQYXRocyIsImJhc2VuYW1lIiwiZ2V0Q29udmVydGVyRmlsZSIsImZpbGVuYW1lIiwiZmlsZVBhdGgiLCJnZXRDb252ZXJ0ZXJGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsIkZpbGVTdHJlYW1SZXN1bHQiLCJOb3RGb3VuZFdlYkVycm9yIiwiZ2V0QWxsTWVyZ2Vyc0ZpbGVzIiwiZ2V0QWxsTWVyZ2Vyc0ZpbGVQYXRocyIsImdldE1lcmdlckZpbGUiLCJnZXRNZXJnZXJzRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQiLCJnZXRBbGxTY2hlbWFzRmlsZXMiLCJnZXRBbGxTY2hlbWFzRmlsZVBhdGhzIiwiZ2V0Rm9ybVNjaGVtYXMiLCJnZXRTY2hlbWFGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsImdldEFsbEZvcm1QcmVzZW50YXRpb25zIiwiZ2V0QWxsUHJlc2VudGF0aW9uc0ZpbGVOYW1lcyIsImdldEZvcm1QcmVzZW50YXRpb25zIiwiZ2Z2IiwiZ2V0UHJlc2VudGF0aW9uc0ZpbGVQYXRoQnlHZnZPclVuZGVmaW5lZCIsImdldEFsbE5vcm1hbGl6ZUZpbGVzIiwiZmlsZXMiLCJnZXRBbGxOb3JtYWxpemVGaWxlUGF0aHMiLCJmbGFuZ0ZpbGVzIiwiZ2V0QWxsTm9ybWFsaXphdGlvbkZpbGVOYW1lcyIsImdldE5vcm1hbGl6ZUZpbGUiLCJnZXROb3JtYWxpemVGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsImdldEZMYW5nTm9ybWFsaXplRmlsZSIsInN0cmVhbSIsImdldE5vcm1hbGl6YXRpb25GaWxlQ29udGVudCIsIlN0cmVhbVJlc3VsdCIsImdldEFsbEF0dGFjaG1lbnRQYXRoc0ZpbGVOYW1lcyIsImdldEFsbEF0dGFjaG1lbnRQYXRoRmlsZU5hbWVzIiwiZ2V0QXR0YWNobWVudFBhdGhGaWxlIiwiZ2V0QXR0YWNobWVudFBhdGhzRmlsZUNvbnRlbnQiLCJnZXRBbGxVbm1hcEZpbGVzIiwiZ2V0QWxsVW5tYXBGaWxlUGF0aHMiLCJnZXRVbm1hcEZpbGUiLCJnZXRVbm1hcEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkIiwiZ2V0QWxsTWFwRmlsZXMiLCJnZXRBbGxNYXBGaWxlUGF0aHMiLCJnZXRNYXBGaWxlIiwiZ2V0TWFwRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQiLCJnZXRBbGxQYXRjaEZpbGVzIiwiZ2V0QWxsUGF0Y2hGaWxlUGF0aHMiLCJnZXRQYXRjaEZpbGUiLCJnZXRQYXRjaEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvcjIiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtLCBSZWFkU3RyZWFtIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHBhdGhFeGlzdHMgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBfLCB7IGRlYm91bmNlIH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgRmFybUNvbmZpZyB9IGZyb20gXCJUb29scy9zcmMvQ2FuZHlDTElcIjtcblxuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBOb3RGb3VuZFdlYkVycm9yIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL05vdEZvdW5kV2ViRXJyb3JcIjtcbmltcG9ydCB7IGh0dHBUeXBlLCBodHRwVXJsUGFyYW0gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUGFyYW1zXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7XG4gICAgRmlsZVN0cmVhbVJlc3VsdCxcbiAgICBTdHJlYW1SZXN1bHQsXG59IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcblxuaW1wb3J0IHsgSUdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIgfSBmcm9tIFwiLi9JR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlclwiO1xuaW1wb3J0IHsgRmFybURpcmVjdG9yeSB9IGZyb20gXCIuL0RpcmVjdG9yaWVzL0Zhcm1EaXJlY3RvcnlcIjtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXI6IElHZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyO1xuICAgIHByaXZhdGUgYWxsU2NoZW1hc0ZpbGVzOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybURpcmVjdG9yaWVzOiBGYXJtRGlyZWN0b3J5W107XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIGFsbEZhcm1Db25maWc6IEZhcm1Db25maWdbXSxcbiAgICAgICAgZmxhbmdOb3JtYWxpemF0aW9uU291cmNlc1Byb3ZpZGVyOiBJR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIgPSBmbGFuZ05vcm1hbGl6YXRpb25Tb3VyY2VzUHJvdmlkZXI7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzID0gYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBuZXcgRmFybURpcmVjdG9yeShpLmZhcm1EaXJlY3RvcnkpKTtcbiAgICAgICAgdGhpcy5yZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkID0gZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGxTY2hlbWFzRmlsZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH0sIDUwMDApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2dmdnNcIiwgaHR0cFJldHVybi5Kc29uKVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxHZnZzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5tYXAoeCA9PiB4LmdldEFsbEdmdnMoKSkpKS5mbGF0KCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcGlja2xpc3RzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxQaWNrbGlzdHMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5tYXAoeCA9PiB4LmdldEFsbFBpY2tsaXN0cygpKSkpLmZsYXQoKS5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9waWNrbGlzdHMvOnBpY2tsaXN0RmlsZW5hbWVcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2pzb25cIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInBpY2tsaXN0RmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0UGlja2xpc3RzKHBpY2tsaXN0RmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8UmVhZFN0cmVhbT4ge1xuICAgICAgICBjb25zdCBhbGxGaWxlUGF0aCA9IHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBwYXRoLmpvaW4oaS5mYXJtRGlyZWN0b3J5LCBcInBpY2tsaXN0c1wiLCBwaWNrbGlzdEZpbGVuYW1lKSk7XG4gICAgICAgIGZvciAoY29uc3QgcGF0aEZpbGUgb2YgYWxsRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHBhdGhGaWxlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSZWFkU3RyZWFtKHBhdGhGaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBFcnJvcihgbm90IGZvdW5kIHBpY2tsaXN0RmlsZW5hbWUgJHtwaWNrbGlzdEZpbGVuYW1lfWApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2NvbnZlcnRlcnNcIiwgaHR0cFJldHVybi5QbGFpblRleHQpXG4gICAgcHVibGljIGFzeW5jIGdldEFsbENvbnZlcnRlcnNGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbENvbnZlcnRlckZpbGVQYXRocygpKSkpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2NvbnZlcnRlcnMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRDb252ZXJ0ZXJGaWxlKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZpbGVTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBmYXJtRGlyZWN0b3J5IG9mIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGF3YWl0IGZhcm1EaXJlY3RvcnkuZ2V0Q29udmVydGVyRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGVQYXRoICE9IG51bGwgJiYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9tZXJnZXJzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxNZXJnZXJzRmlsZXMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5mbGF0TWFwKHggPT4geC5nZXRBbGxNZXJnZXJzRmlsZVBhdGhzKCkpKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoeCA9PiBwYXRoLmJhc2VuYW1lKHgpKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbWVyZ2Vycy86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImZpbGVuYW1lXCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE1lcmdlckZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRNZXJnZXJzRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGVQYXRoICE9IG51bGwgJiYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9zY2hlbWFzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxTY2hlbWFzRmlsZXMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgaWYgKHRoaXMuYWxsU2NoZW1hc0ZpbGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWxsU2NoZW1hc0ZpbGVzID0gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbFNjaGVtYXNGaWxlUGF0aHMoKSkpKVxuICAgICAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc2V0QWxsU2NoZW1hRmlsZXNEZWJvdW5jZWQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsU2NoZW1hc0ZpbGVzO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3NjaGVtYXMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtU2NoZW1hcyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxGaWxlU3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmFybURpcmVjdG9yeSBvZiB0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBhd2FpdCBmYXJtRGlyZWN0b3J5LmdldFNjaGVtYUZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHJlc2VudGF0aW9uc1wiLCBodHRwUmV0dXJuLlBsYWluVGV4dClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsRm9ybVByZXNlbnRhdGlvbnMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5mbGF0TWFwKHggPT4geC5nZXRBbGxQcmVzZW50YXRpb25zRmlsZU5hbWVzKCkpKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoeCA9PiBwYXRoLmJhc2VuYW1lKHgpKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHJlc2VudGF0aW9ucy86Z2Z2LnByZXNlbnRhdGlvbnMuanNvblwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldEZvcm1QcmVzZW50YXRpb25zKGdmdjogc3RyaW5nKTogUHJvbWlzZTxGaWxlU3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmFybURpcmVjdG9yeSBvZiB0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBhd2FpdCBmYXJtRGlyZWN0b3J5LmdldFByZXNlbnRhdGlvbnNGaWxlUGF0aEJ5R2Z2T3JVbmRlZmluZWQoZ2Z2KTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbm9ybWFsaXplXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxOb3JtYWxpemVGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmaWxlcyA9IChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5mbGF0TWFwKHggPT4geC5nZXRBbGxOb3JtYWxpemVGaWxlUGF0aHMoKSkpKS5mbGF0KCk7XG4gICAgICAgIGNvbnN0IGZsYW5nRmlsZXMgPSBhd2FpdCB0aGlzLmdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIuZ2V0QWxsTm9ybWFsaXphdGlvbkZpbGVOYW1lcygpO1xuICAgICAgICByZXR1cm4gWy4uLmZpbGVzLm1hcCh4ID0+IHBhdGguYmFzZW5hbWUoeCkpLCAuLi5mbGFuZ0ZpbGVzXS5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL25vcm1hbGl6ZS86Z2Z2LnhtbFwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE5vcm1hbGl6ZUZpbGUoZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPEZpbGVTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBmYXJtRGlyZWN0b3J5IG9mIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGF3YWl0IGZhcm1EaXJlY3RvcnkuZ2V0Tm9ybWFsaXplRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoYCR7Z2Z2fS54bWxgKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbm9ybWFsaXplLzpnZnYubm9ybWFsaXplXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJnZnZcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RkxhbmdOb3JtYWxpemVGaWxlKGdmdjogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgdGhpcy5nZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyLmdldE5vcm1hbGl6YXRpb25GaWxlQ29udGVudChnZnYpO1xuICAgICAgICBpZiAoc3RyZWFtID09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZFdlYkVycm9yKFwiRmlsZSBub3QgZm91bmRcIiwgZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQoc3RyZWFtKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9hdHRhY2htZW50cGF0aHNcIiwgaHR0cFJldHVybi5QbGFpblRleHQpXG4gICAgcHVibGljIGFzeW5jIGdldEFsbEF0dGFjaG1lbnRQYXRoc0ZpbGVOYW1lcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmbGFuZ0ZpbGVzID0gYXdhaXQgdGhpcy5nZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyLmdldEFsbEF0dGFjaG1lbnRQYXRoRmlsZU5hbWVzKCk7XG4gICAgICAgIHJldHVybiBmbGFuZ0ZpbGVzLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvYXR0YWNobWVudHBhdGhzLzpnZnYuanNvblwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldEF0dGFjaG1lbnRQYXRoRmlsZShnZnY6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KGF3YWl0IHRoaXMuZ2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlci5nZXRBdHRhY2htZW50UGF0aHNGaWxlQ29udGVudChnZnYpKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi91bm1hcFwiLCBodHRwUmV0dXJuLlBsYWluVGV4dClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsVW5tYXBGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbFVubWFwRmlsZVBhdGhzKCkpKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoeCA9PiBwYXRoLmJhc2VuYW1lKHgpKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvdW5tYXAvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRVbm1hcEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRVbm1hcEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbWFwXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxNYXBGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbE1hcEZpbGVQYXRocygpKSkpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL21hcC86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImZpbGVuYW1lXCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE1hcEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRNYXBGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZChmaWxlbmFtZSk7XG4gICAgICAgICAgICBpZiAoZmlsZVBhdGggIT0gbnVsbCAmJiAoYXdhaXQgcGF0aEV4aXN0cyhmaWxlUGF0aCkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGZpbGVQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZFdlYkVycm9yKFwiRmlsZSBub3QgZm91bmRcIiwgZmFsc2UpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3BhdGNoXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxQYXRjaEZpbGVzKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMuZmxhdE1hcCh4ID0+IHguZ2V0QWxsUGF0Y2hGaWxlUGF0aHMoKSkpKVxuICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgICAgLm1hcCh4ID0+IHBhdGguYmFzZW5hbWUoeCkpXG4gICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wYXRjaC86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImdmdlwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRQYXRjaEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRQYXRjaEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUdBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxvQkFBQSxHQUFBVCxPQUFBO0FBSUEsSUFBQVUsb0JBQUEsR0FBQVYsT0FBQTtBQUdBLElBQUFXLGNBQUEsR0FBQVgsT0FBQTtBQUE0RCxJQUFBWSxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUE7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBbEMsd0JBQUFrQyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsV0FBQUssT0FBQSxFQUFBTCxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsQ0FBQUgsT0FBQSxHQUFBTCxDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUFBLElBRS9DVyxxQ0FBcUMsR0FBQUMsT0FBQSxDQUFBRCxxQ0FBQSxJQUFBM0MsSUFBQSxHQW9CN0MsSUFBQTZDLGdCQUFPLEVBQUMsT0FBTyxFQUFFQyxtQkFBVSxDQUFDQyxJQUFJLENBQUMsRUFBQTlDLEtBQUEsR0FLakMsSUFBQTRDLGdCQUFPLEVBQUMsWUFBWSxFQUFFQyxtQkFBVSxDQUFDRSxTQUFTLENBQUMsRUFBQTlDLEtBQUEsR0FLM0MsSUFBQTJDLGdCQUFPLEVBQ0osOEJBQThCLEVBQzlCQyxtQkFBVSxDQUFDRyxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFDN0MsSUFBQUMsb0JBQVksRUFBQyxrQkFBa0IsRUFBRUMsZ0JBQVEsQ0FBQ0MsTUFBTSxDQUNwRCxDQUFDLEVBQUFqRCxLQUFBLEdBV0EsSUFBQTBDLGdCQUFPLEVBQUMsYUFBYSxFQUFFQyxtQkFBVSxDQUFDRSxTQUFTLENBQUMsRUFBQTVDLEtBQUEsR0FRNUMsSUFBQXlDLGdCQUFPLEVBQUMsdUJBQXVCLEVBQUVDLG1CQUFVLENBQUNPLE1BQU0sRUFBRSxJQUFBSCxvQkFBWSxFQUFDLFVBQVUsRUFBRUMsZ0JBQVEsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsRUFBQS9DLEtBQUEsR0FZOUYsSUFBQXdDLGdCQUFPLEVBQUMsVUFBVSxFQUFFQyxtQkFBVSxDQUFDRSxTQUFTLENBQUMsRUFBQTFDLEtBQUEsR0FRekMsSUFBQXVDLGdCQUFPLEVBQUMsb0JBQW9CLEVBQUVDLG1CQUFVLENBQUNPLE1BQU0sRUFBRSxJQUFBSCxvQkFBWSxFQUFDLFVBQVUsRUFBRUMsZ0JBQVEsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsRUFBQTdDLEtBQUEsR0FZM0YsSUFBQXNDLGdCQUFPLEVBQUMsVUFBVSxFQUFFQyxtQkFBVSxDQUFDRSxTQUFTLENBQUMsRUFBQXhDLEtBQUEsR0FZekMsSUFBQXFDLGdCQUFPLEVBQUMsb0JBQW9CLEVBQUVDLG1CQUFVLENBQUNPLE1BQU0sRUFBRSxJQUFBSCxvQkFBWSxFQUFDLFVBQVUsRUFBRUMsZ0JBQVEsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsRUFBQTNDLE1BQUEsR0FZM0YsSUFBQW9DLGdCQUFPLEVBQUMsZ0JBQWdCLEVBQUVDLG1CQUFVLENBQUNFLFNBQVMsQ0FBQyxFQUFBdEMsTUFBQSxHQVEvQyxJQUFBbUMsZ0JBQU8sRUFBQyx3Q0FBd0MsRUFBRUMsbUJBQVUsQ0FBQ08sTUFBTSxFQUFFLElBQUFILG9CQUFZLEVBQUMsS0FBSyxFQUFFQyxnQkFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxFQUFBekMsTUFBQSxHQVkxRyxJQUFBa0MsZ0JBQU8sRUFBQyxZQUFZLEVBQUVDLG1CQUFVLENBQUNFLFNBQVMsQ0FBQyxFQUFBcEMsTUFBQSxHQU8zQyxJQUFBaUMsZ0JBQU8sRUFBQyxxQkFBcUIsRUFBRUMsbUJBQVUsQ0FBQ08sTUFBTSxFQUFFLElBQUFILG9CQUFZLEVBQUMsS0FBSyxFQUFFQyxnQkFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxFQUFBdkMsTUFBQSxHQVl2RixJQUFBZ0MsZ0JBQU8sRUFBQywyQkFBMkIsRUFBRUMsbUJBQVUsQ0FBQ08sTUFBTSxFQUFFLElBQUFILG9CQUFZLEVBQUMsS0FBSyxFQUFFQyxnQkFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxFQUFBdEMsTUFBQSxHQVU3RixJQUFBK0IsZ0JBQU8sRUFBQyxrQkFBa0IsRUFBRUMsbUJBQVUsQ0FBQ0UsU0FBUyxDQUFDLEVBQUFqQyxNQUFBLEdBTWpELElBQUE4QixnQkFBTyxFQUFDLDRCQUE0QixFQUFFQyxtQkFBVSxDQUFDTyxNQUFNLEVBQUUsSUFBQUgsb0JBQVksRUFBQyxLQUFLLEVBQUVDLGdCQUFRLENBQUNDLE1BQU0sQ0FBQyxDQUFDLEVBQUFwQyxNQUFBLEdBSzlGLElBQUE2QixnQkFBTyxFQUFDLFFBQVEsRUFBRUMsbUJBQVUsQ0FBQ0UsU0FBUyxDQUFDLEVBQUEvQixNQUFBLEdBUXZDLElBQUE0QixnQkFBTyxFQUFDLGtCQUFrQixFQUFFQyxtQkFBVSxDQUFDTyxNQUFNLEVBQUUsSUFBQUgsb0JBQVksRUFBQyxVQUFVLEVBQUVDLGdCQUFRLENBQUNDLE1BQU0sQ0FBQyxDQUFDLEVBQUFsQyxNQUFBLEdBWXpGLElBQUEyQixnQkFBTyxFQUFDLE1BQU0sRUFBRUMsbUJBQVUsQ0FBQ0UsU0FBUyxDQUFDLEVBQUE3QixNQUFBLEdBUXJDLElBQUEwQixnQkFBTyxFQUFDLGdCQUFnQixFQUFFQyxtQkFBVSxDQUFDTyxNQUFNLEVBQUUsSUFBQUgsb0JBQVksRUFBQyxVQUFVLEVBQUVDLGdCQUFRLENBQUNDLE1BQU0sQ0FBQyxDQUFDLEVBQUFoQyxNQUFBLEdBWXZGLElBQUF5QixnQkFBTyxFQUFDLFFBQVEsRUFBRUMsbUJBQVUsQ0FBQ0UsU0FBUyxDQUFDLEVBQUEzQixNQUFBLEdBUXZDLElBQUF3QixnQkFBTyxFQUFDLGtCQUFrQixFQUFFQyxtQkFBVSxDQUFDTyxNQUFNLEVBQUUsSUFBQUgsb0JBQVksRUFBQyxLQUFLLEVBQUVDLGdCQUFRLENBQUNDLE1BQU0sQ0FBQyxDQUFDLEdBQUE5QixNQUFBLEdBek5sRixNQUFNcUIscUNBQXFDLFNBQVNXLHdDQUFtQixDQUFDO0VBT3BFQyxXQUFXQSxDQUNkQyxhQUEyQixFQUMzQkMsaUNBQXNFLEVBQ3hFO0lBQ0UsS0FBSyxDQUFDLENBQUM7SUFBQyxLQVZLQyxrQ0FBa0M7SUFBQSxLQUMzQ0MsZUFBZTtJQUFBLEtBQ05DLDRCQUE0QjtJQUFBLEtBQzVCQyxrQkFBa0I7SUFBQSxLQUNsQkwsYUFBYTtJQU8xQixJQUFJLENBQUNFLGtDQUFrQyxHQUFHRCxpQ0FBaUM7SUFDM0UsSUFBSSxDQUFDRCxhQUFhLEdBQUdBLGFBQWE7SUFDbEMsSUFBSSxDQUFDSyxrQkFBa0IsR0FBR0wsYUFBYSxDQUFDTSxHQUFHLENBQUNyQixDQUFDLElBQUksSUFBSXNCLDRCQUFhLENBQUN0QixDQUFDLENBQUN1QixhQUFhLENBQUMsQ0FBQztJQUNwRixJQUFJLENBQUNKLDRCQUE0QixHQUFHLElBQUFLLGdCQUFRLEVBQUMsTUFBTTtNQUMvQyxJQUFJLENBQUNOLGVBQWUsR0FBR08sU0FBUztJQUNwQyxDQUFDLEVBQUUsSUFBSSxDQUFDO0VBQ1o7RUFFQSxNQUNhQyxVQUFVQSxDQUFBLEVBQXNCO0lBQ3pDLE9BQU8sQ0FBQyxNQUFNQyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxJQUFJLENBQUNSLGtCQUFrQixDQUFDQyxHQUFHLENBQUNRLENBQUMsSUFBSUEsQ0FBQyxDQUFDSCxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUksSUFBSSxDQUFDLENBQUM7RUFDdkY7RUFFQSxNQUNhQyxlQUFlQSxDQUFBLEVBQW9CO0lBQzVDLE9BQU8sQ0FBQyxNQUFNSixPQUFPLENBQUNDLEdBQUcsQ0FBQyxJQUFJLENBQUNSLGtCQUFrQixDQUFDQyxHQUFHLENBQUNRLENBQUMsSUFBSUEsQ0FBQyxDQUFDRSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQztFQUN2RztFQUVBLE1BS2FDLFlBQVlBLENBQUNDLGdCQUF3QixFQUF1QjtJQUNyRSxNQUFNQyxXQUFXLEdBQUcsSUFBSSxDQUFDcEIsYUFBYSxDQUFDTSxHQUFHLENBQUNyQixDQUFDLElBQUlwRCxJQUFJLENBQUNvRixJQUFJLENBQUNoQyxDQUFDLENBQUN1QixhQUFhLEVBQUUsV0FBVyxFQUFFVyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFHLEtBQUssTUFBTUUsUUFBUSxJQUFJRCxXQUFXLEVBQUU7TUFDaEMsSUFBSSxNQUFNLElBQUFFLG1CQUFVLEVBQUNELFFBQVEsQ0FBQyxFQUFFO1FBQzVCLE9BQU8sSUFBQUUsb0JBQWdCLEVBQUNGLFFBQVEsQ0FBQztNQUNyQztJQUNKO0lBQ0EsTUFBTUcsS0FBSyxDQUFDLDhCQUE4QkwsZ0JBQWdCLEVBQUUsQ0FBQztFQUNqRTtFQUVBLE1BQ2FNLHFCQUFxQkEsQ0FBQSxFQUFvQjtJQUNsRCxPQUFPLENBQUMsTUFBTWIsT0FBTyxDQUFDQyxHQUFHLENBQUMsSUFBSSxDQUFDUixrQkFBa0IsQ0FBQ3FCLE9BQU8sQ0FBQ1osQ0FBQyxJQUFJQSxDQUFDLENBQUNhLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3hGWixJQUFJLENBQUMsQ0FBQyxDQUNOVCxHQUFHLENBQUNRLENBQUMsSUFBSWpGLElBQUksQ0FBQytGLFFBQVEsQ0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FDMUJHLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDbkI7RUFFQSxNQUNhWSxnQkFBZ0JBLENBQUNDLFFBQWdCLEVBQTZCO0lBQ3ZFLEtBQUssTUFBTXRCLGFBQWEsSUFBSSxJQUFJLENBQUNILGtCQUFrQixFQUFFO01BQ2pELE1BQU0wQixRQUFRLEdBQUcsTUFBTXZCLGFBQWEsQ0FBQ3dCLHlDQUF5QyxDQUFDRixRQUFRLENBQUM7TUFDeEYsSUFBSUMsUUFBUSxJQUFJLElBQUksS0FBSyxNQUFNLElBQUFULG1CQUFVLEVBQUNTLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDbEQsT0FBTyxJQUFJRSxxQ0FBZ0IsQ0FBQ0YsUUFBUSxDQUFDO01BQ3pDO0lBQ0o7SUFFQSxNQUFNLElBQUlHLGtDQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztFQUN2RDtFQUVBLE1BQ2FDLGtCQUFrQkEsQ0FBQSxFQUFvQjtJQUMvQyxPQUFPLENBQUMsTUFBTXZCLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLElBQUksQ0FBQ1Isa0JBQWtCLENBQUNxQixPQUFPLENBQUNaLENBQUMsSUFBSUEsQ0FBQyxDQUFDc0Isc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdEZyQixJQUFJLENBQUMsQ0FBQyxDQUNOVCxHQUFHLENBQUNRLENBQUMsSUFBSWpGLElBQUksQ0FBQytGLFFBQVEsQ0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FDMUJHLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDbkI7RUFFQSxNQUNhb0IsYUFBYUEsQ0FBQ1AsUUFBZ0IsRUFBNkI7SUFDcEUsS0FBSyxNQUFNdEIsYUFBYSxJQUFJLElBQUksQ0FBQ0gsa0JBQWtCLEVBQUU7TUFDakQsTUFBTTBCLFFBQVEsR0FBRyxNQUFNdkIsYUFBYSxDQUFDOEIsdUNBQXVDLENBQUNSLFFBQVEsQ0FBQztNQUN0RixJQUFJQyxRQUFRLElBQUksSUFBSSxLQUFLLE1BQU0sSUFBQVQsbUJBQVUsRUFBQ1MsUUFBUSxDQUFDLENBQUMsRUFBRTtRQUNsRCxPQUFPLElBQUlFLHFDQUFnQixDQUFDRixRQUFRLENBQUM7TUFDekM7SUFDSjtJQUVBLE1BQU0sSUFBSUcsa0NBQWdCLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO0VBQ3ZEO0VBRUEsTUFDYUssa0JBQWtCQSxDQUFBLEVBQW9CO0lBQy9DLElBQUksSUFBSSxDQUFDcEMsZUFBZSxLQUFLTyxTQUFTLEVBQUU7TUFDcEMsSUFBSSxDQUFDUCxlQUFlLEdBQUcsQ0FBQyxNQUFNUyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxJQUFJLENBQUNSLGtCQUFrQixDQUFDcUIsT0FBTyxDQUFDWixDQUFDLElBQUlBLENBQUMsQ0FBQzBCLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3RHekIsSUFBSSxDQUFDLENBQUMsQ0FDTlQsR0FBRyxDQUFDUSxDQUFDLElBQUlqRixJQUFJLENBQUMrRixRQUFRLENBQUNkLENBQUMsQ0FBQyxDQUFDLENBQzFCRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CO0lBQ0EsSUFBSSxDQUFDYiw0QkFBNEIsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sSUFBSSxDQUFDRCxlQUFlO0VBQy9CO0VBRUEsTUFDYXNDLGNBQWNBLENBQUNYLFFBQWdCLEVBQTZCO0lBQ3JFLEtBQUssTUFBTXRCLGFBQWEsSUFBSSxJQUFJLENBQUNILGtCQUFrQixFQUFFO01BQ2pELE1BQU0wQixRQUFRLEdBQUcsTUFBTXZCLGFBQWEsQ0FBQ2tDLHNDQUFzQyxDQUFDWixRQUFRLENBQUM7TUFDckYsSUFBSUMsUUFBUSxJQUFJLElBQUksS0FBSyxNQUFNLElBQUFULG1CQUFVLEVBQUNTLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDbEQsT0FBTyxJQUFJRSxxQ0FBZ0IsQ0FBQ0YsUUFBUSxDQUFDO01BQ3pDO0lBQ0o7SUFFQSxNQUFNLElBQUlHLGtDQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztFQUN2RDtFQUVBLE1BQ2FTLHVCQUF1QkEsQ0FBQSxFQUFvQjtJQUNwRCxPQUFPLENBQUMsTUFBTS9CLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLElBQUksQ0FBQ1Isa0JBQWtCLENBQUNxQixPQUFPLENBQUNaLENBQUMsSUFBSUEsQ0FBQyxDQUFDOEIsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDNUY3QixJQUFJLENBQUMsQ0FBQyxDQUNOVCxHQUFHLENBQUNRLENBQUMsSUFBSWpGLElBQUksQ0FBQytGLFFBQVEsQ0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FDMUJHLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDbkI7RUFFQSxNQUNhNEIsb0JBQW9CQSxDQUFDQyxHQUFXLEVBQTZCO0lBQ3RFLEtBQUssTUFBTXRDLGFBQWEsSUFBSSxJQUFJLENBQUNILGtCQUFrQixFQUFFO01BQ2pELE1BQU0wQixRQUFRLEdBQUcsTUFBTXZCLGFBQWEsQ0FBQ3VDLHdDQUF3QyxDQUFDRCxHQUFHLENBQUM7TUFDbEYsSUFBSWYsUUFBUSxJQUFJLElBQUksS0FBSyxNQUFNLElBQUFULG1CQUFVLEVBQUNTLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDbEQsT0FBTyxJQUFJRSxxQ0FBZ0IsQ0FBQ0YsUUFBUSxDQUFDO01BQ3pDO0lBQ0o7SUFFQSxNQUFNLElBQUlHLGtDQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztFQUN2RDtFQUVBLE1BQ2FjLG9CQUFvQkEsQ0FBQSxFQUFvQjtJQUNqRCxNQUFNQyxLQUFLLEdBQUcsQ0FBQyxNQUFNckMsT0FBTyxDQUFDQyxHQUFHLENBQUMsSUFBSSxDQUFDUixrQkFBa0IsQ0FBQ3FCLE9BQU8sQ0FBQ1osQ0FBQyxJQUFJQSxDQUFDLENBQUNvQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFbkMsSUFBSSxDQUFDLENBQUM7SUFDNUcsTUFBTW9DLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQ2pELGtDQUFrQyxDQUFDa0QsNEJBQTRCLENBQUMsQ0FBQztJQUMvRixPQUFPLENBQUMsR0FBR0gsS0FBSyxDQUFDM0MsR0FBRyxDQUFDUSxDQUFDLElBQUlqRixJQUFJLENBQUMrRixRQUFRLENBQUNkLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBR3FDLFVBQVUsQ0FBQyxDQUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztFQUMxRTtFQUVBLE1BQ2FvQyxnQkFBZ0JBLENBQUNQLEdBQVcsRUFBNkI7SUFDbEUsS0FBSyxNQUFNdEMsYUFBYSxJQUFJLElBQUksQ0FBQ0gsa0JBQWtCLEVBQUU7TUFDakQsTUFBTTBCLFFBQVEsR0FBRyxNQUFNdkIsYUFBYSxDQUFDOEMseUNBQXlDLENBQUMsR0FBR1IsR0FBRyxNQUFNLENBQUM7TUFDNUYsSUFBSWYsUUFBUSxJQUFJLElBQUksS0FBSyxNQUFNLElBQUFULG1CQUFVLEVBQUNTLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDbEQsT0FBTyxJQUFJRSxxQ0FBZ0IsQ0FBQ0YsUUFBUSxDQUFDO01BQ3pDO0lBQ0o7SUFFQSxNQUFNLElBQUlHLGtDQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztFQUN2RDtFQUVBLE1BQ2FxQixxQkFBcUJBLENBQUNULEdBQVcsRUFBeUI7SUFDbkUsTUFBTVUsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDdEQsa0NBQWtDLENBQUN1RCwyQkFBMkIsQ0FBQ1gsR0FBRyxDQUFDO0lBQzdGLElBQUlVLE1BQU0sSUFBSSxJQUFJLEVBQUU7TUFDaEIsTUFBTSxJQUFJdEIsa0NBQWdCLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO0lBQ3ZEO0lBRUEsT0FBTyxJQUFJd0IsaUNBQVksQ0FBQ0YsTUFBTSxDQUFDO0VBQ25DO0VBRUEsTUFDYUcsOEJBQThCQSxDQUFBLEVBQW9CO0lBQzNELE1BQU1SLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQ2pELGtDQUFrQyxDQUFDMEQsNkJBQTZCLENBQUMsQ0FBQztJQUNoRyxPQUFPVCxVQUFVLENBQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDO0VBQ2hDO0VBRUEsTUFDYTRDLHFCQUFxQkEsQ0FBQ2YsR0FBVyxFQUF5QjtJQUNuRSxPQUFPLElBQUlZLGlDQUFZLENBQUMsTUFBTSxJQUFJLENBQUN4RCxrQ0FBa0MsQ0FBQzRELDZCQUE2QixDQUFDaEIsR0FBRyxDQUFDLENBQUM7RUFDN0c7RUFFQSxNQUNhaUIsZ0JBQWdCQSxDQUFBLEVBQW9CO0lBQzdDLE9BQU8sQ0FBQyxNQUFNbkQsT0FBTyxDQUFDQyxHQUFHLENBQUMsSUFBSSxDQUFDUixrQkFBa0IsQ0FBQ3FCLE9BQU8sQ0FBQ1osQ0FBQyxJQUFJQSxDQUFDLENBQUNrRCxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNwRmpELElBQUksQ0FBQyxDQUFDLENBQ05ULEdBQUcsQ0FBQ1EsQ0FBQyxJQUFJakYsSUFBSSxDQUFDK0YsUUFBUSxDQUFDZCxDQUFDLENBQUMsQ0FBQyxDQUMxQkcsSUFBSSxDQUFDLElBQUksQ0FBQztFQUNuQjtFQUVBLE1BQ2FnRCxZQUFZQSxDQUFDbkMsUUFBZ0IsRUFBNkI7SUFDbkUsS0FBSyxNQUFNdEIsYUFBYSxJQUFJLElBQUksQ0FBQ0gsa0JBQWtCLEVBQUU7TUFDakQsTUFBTTBCLFFBQVEsR0FBRyxNQUFNdkIsYUFBYSxDQUFDMEQscUNBQXFDLENBQUNwQyxRQUFRLENBQUM7TUFDcEYsSUFBSUMsUUFBUSxJQUFJLElBQUksS0FBSyxNQUFNLElBQUFULG1CQUFVLEVBQUNTLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDbEQsT0FBTyxJQUFJRSxxQ0FBZ0IsQ0FBQ0YsUUFBUSxDQUFDO01BQ3pDO0lBQ0o7SUFFQSxNQUFNLElBQUlHLGtDQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztFQUN2RDtFQUVBLE1BQ2FpQyxjQUFjQSxDQUFBLEVBQW9CO0lBQzNDLE9BQU8sQ0FBQyxNQUFNdkQsT0FBTyxDQUFDQyxHQUFHLENBQUMsSUFBSSxDQUFDUixrQkFBa0IsQ0FBQ3FCLE9BQU8sQ0FBQ1osQ0FBQyxJQUFJQSxDQUFDLENBQUNzRCxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsRnJELElBQUksQ0FBQyxDQUFDLENBQ05ULEdBQUcsQ0FBQ1EsQ0FBQyxJQUFJakYsSUFBSSxDQUFDK0YsUUFBUSxDQUFDZCxDQUFDLENBQUMsQ0FBQyxDQUMxQkcsSUFBSSxDQUFDLElBQUksQ0FBQztFQUNuQjtFQUVBLE1BQ2FvRCxVQUFVQSxDQUFDdkMsUUFBZ0IsRUFBNkI7SUFDakUsS0FBSyxNQUFNdEIsYUFBYSxJQUFJLElBQUksQ0FBQ0gsa0JBQWtCLEVBQUU7TUFDakQsTUFBTTBCLFFBQVEsR0FBRyxNQUFNdkIsYUFBYSxDQUFDOEQsbUNBQW1DLENBQUN4QyxRQUFRLENBQUM7TUFDbEYsSUFBSUMsUUFBUSxJQUFJLElBQUksS0FBSyxNQUFNLElBQUFULG1CQUFVLEVBQUNTLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDbEQsT0FBTyxJQUFJRSxxQ0FBZ0IsQ0FBQ0YsUUFBUSxDQUFDO01BQ3pDO0lBQ0o7SUFFQSxNQUFNLElBQUlHLGtDQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztFQUN2RDtFQUVBLE1BQ2FxQyxnQkFBZ0JBLENBQUEsRUFBb0I7SUFDN0MsT0FBTyxDQUFDLE1BQU0zRCxPQUFPLENBQUNDLEdBQUcsQ0FBQyxJQUFJLENBQUNSLGtCQUFrQixDQUFDcUIsT0FBTyxDQUFDWixDQUFDLElBQUlBLENBQUMsQ0FBQzBELG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3BGekQsSUFBSSxDQUFDLENBQUMsQ0FDTlQsR0FBRyxDQUFDUSxDQUFDLElBQUlqRixJQUFJLENBQUMrRixRQUFRLENBQUNkLENBQUMsQ0FBQyxDQUFDLENBQzFCRyxJQUFJLENBQUMsSUFBSSxDQUFDO0VBQ25CO0VBRUEsTUFDYXdELFlBQVlBLENBQUMzQyxRQUFnQixFQUE2QjtJQUNuRSxLQUFLLE1BQU10QixhQUFhLElBQUksSUFBSSxDQUFDSCxrQkFBa0IsRUFBRTtNQUNqRCxNQUFNMEIsUUFBUSxHQUFHLE1BQU12QixhQUFhLENBQUNrRSxxQ0FBcUMsQ0FBQzVDLFFBQVEsQ0FBQztNQUNwRixJQUFJQyxRQUFRLElBQUksSUFBSSxLQUFLLE1BQU0sSUFBQVQsbUJBQVUsRUFBQ1MsUUFBUSxDQUFDLENBQUMsRUFBRTtRQUNsRCxPQUFPLElBQUlFLHFDQUFnQixDQUFDRixRQUFRLENBQUM7TUFDekM7SUFDSjtJQUVBLE1BQU0sSUFBSUcsa0NBQWdCLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO0VBQ3ZEO0FBQ0osQ0FBQyxPQUFBeUMsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxpQkFBQXBJLElBQUEsR0FBQW1DLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxpQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxzQkFBQW5JLEtBQUEsR0FBQWtDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxzQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxtQkFBQWxJLEtBQUEsR0FBQWlDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxtQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSw0QkFBQWpJLEtBQUEsR0FBQWdDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSw0QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSx1QkFBQWhJLEtBQUEsR0FBQStCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSx1QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSx5QkFBQS9ILEtBQUEsR0FBQThCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSx5QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxvQkFBQTlILEtBQUEsR0FBQTZCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxvQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSx5QkFBQTdILEtBQUEsR0FBQTRCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSx5QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxxQkFBQTVILEtBQUEsR0FBQTJCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxxQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSw4QkFBQTNILE1BQUEsR0FBQTBCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSw4QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSwyQkFBQTFILE1BQUEsR0FBQXlCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSwyQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSwyQkFBQXpILE1BQUEsR0FBQXdCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSwyQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSx1QkFBQXhILE1BQUEsR0FBQXVCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSx1QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSw0QkFBQXZILE1BQUEsR0FBQXNCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSw0QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxxQ0FBQXRILE1BQUEsR0FBQXFCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxxQ0FBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSw0QkFBQXJILE1BQUEsR0FBQW9CLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSw0QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSx1QkFBQXBILE1BQUEsR0FBQW1CLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSx1QkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxtQkFBQW5ILE1BQUEsR0FBQWtCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxtQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxxQkFBQWxILE1BQUEsR0FBQWlCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxxQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSxpQkFBQWpILE1BQUEsR0FBQWdCLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBOEcsU0FBQSxpQkFBQTlHLE1BQUEsQ0FBQThHLFNBQUEsT0FBQUQsMEJBQUEsQ0FBQXRHLE9BQUEsRUFBQVAsTUFBQSxDQUFBOEcsU0FBQSx1QkFBQWhILE1BQUEsR0FBQWUsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUE4RyxTQUFBLHVCQUFBOUcsTUFBQSxDQUFBOEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBdEcsT0FBQSxFQUFBUCxNQUFBLENBQUE4RyxTQUFBLG1CQUFBL0csTUFBQSxHQUFBYyxNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQThHLFNBQUEsbUJBQUE5RyxNQUFBLENBQUE4RyxTQUFBLElBQUE5RyxNQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildServerBackendResourcesController.js","names":["_fs","require","path","_interopRequireWildcard","_fsExtra","_lodash","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBackendResourcesController","exports","httpGet","httpReturn","Json","PlainText","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","flangNormalizationSourcesProvider","generatedServerSideSourcesProvider","allSchemasFiles","resetAllSchemaFilesDebounced","allFarmDirectories","map","FarmDirectory","farmDirectory","debounce","undefined","getAllGfvs","Promise","all","x","flat","getAllPicklists","join","getPicklists","picklistFilename","allFilePath","pathFile","pathExists","createReadStream","Error","getAllConvertersFiles","flatMap","getAllConverterFilePaths","basename","getConverterFile","filename","filePath","getConverterFilePathByFileNameOrUndefined","FileStreamResult","NotFoundWebError","getAllMergersFiles","getAllMergersFilePaths","getMergerFile","getMergersFilePathByFileNameOrUndefined","getAllSchemasFiles","getAllSchemasFilePaths","getFormSchemas","getSchemaFilePathByFileNameOrUndefined","getAllFormPresentations","getAllPresentationsFileNames","getFormPresentations","gfv","getPresentationsFilePathByGfvOrUndefined","getAllNormalizeFiles","files","getAllNormalizeFilePaths","flangFiles","getAllNormalizationFileNames","getNormalizeFile","getNormalizeFilePathByFileNameOrUndefined","getFLangNormalizeFile","StreamResult","getNormalizationFileContent","getAllAttachmentPathsFileNames","getAllAttachmentPathFileNames","getAttachmentPathFile","getAttachmentPathsFileContent","getAllUnmapFiles","getAllUnmapFilePaths","getUnmapFile","getUnmapFilePathByFileNameOrUndefined","getAllMapFiles","getAllMapFilePaths","getMapFile","getMapFilePathByFileNameOrUndefined","getAllPatchFiles","getAllPatchFilePaths","getPatchFile","getPatchFilePathByFileNameOrUndefined","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.ts"],"sourcesContent":["import { createReadStream, ReadStream } from \"fs\";\nimport * as path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport _, { debounce } from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport {\n FileStreamResult,\n StreamResult,\n} from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\n\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\n\nexport class BuildServerBackendResourcesController extends SingletonController {\n private readonly generatedServerSideSourcesProvider: IGeneratedServerSideSourcesProvider;\n private allSchemasFiles: undefined | string;\n private readonly resetAllSchemaFilesDebounced: () => void;\n private readonly allFarmDirectories: FarmDirectory[];\n private readonly allFarmConfig: FarmConfig[];\n\n public constructor(\n allFarmConfig: FarmConfig[],\n flangNormalizationSourcesProvider: IGeneratedServerSideSourcesProvider\n ) {\n super();\n this.generatedServerSideSourcesProvider = flangNormalizationSourcesProvider;\n this.allFarmConfig = allFarmConfig;\n this.allFarmDirectories = allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n this.resetAllSchemaFilesDebounced = debounce(() => {\n this.allSchemasFiles = undefined;\n }, 5000);\n }\n\n @httpGet(\"/gfvs\", httpReturn.Json)\n public async getAllGfvs(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllGfvs()))).flat();\n }\n\n @httpGet(\"/picklists\", httpReturn.PlainText)\n public async getAllPicklists(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllPicklists()))).flat().join(\"\\n\");\n }\n\n @httpGet(\n \"/picklists/:picklistFilename\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"picklistFilename\", httpType.String)\n )\n public async getPicklists(picklistFilename: string): Promise<ReadStream> {\n const allFilePath = this.allFarmConfig.map(i => path.join(i.farmDirectory, \"picklists\", picklistFilename));\n for (const pathFile of allFilePath) {\n if (await pathExists(pathFile)) {\n return createReadStream(pathFile);\n }\n }\n throw Error(`not found picklistFilename ${picklistFilename}`);\n }\n\n @httpGet(\"/converters\", httpReturn.PlainText)\n public async getAllConvertersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllConverterFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/converters/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getConverterFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getConverterFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/mergers\", httpReturn.PlainText)\n public async getAllMergersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMergersFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/mergers/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMergerFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMergersFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/schemas\", httpReturn.PlainText)\n public async getAllSchemasFiles(): Promise<string> {\n if (this.allSchemasFiles === undefined) {\n this.allSchemasFiles = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllSchemasFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n this.resetAllSchemaFilesDebounced();\n return this.allSchemasFiles;\n }\n\n @httpGet(\"/schemas/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormSchemas(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getSchemaFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/presentations\", httpReturn.PlainText)\n public async getAllFormPresentations(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllPresentationsFileNames())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/presentations/:gfv.presentations.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getFormPresentations(gfv: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getPresentationsFilePathByGfvOrUndefined(gfv);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize\", httpReturn.PlainText)\n public async getAllNormalizeFiles(): Promise<string> {\n const files = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllNormalizeFilePaths()))).flat();\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllNormalizationFileNames();\n return [...files.map(x => path.basename(x)), ...flangFiles].join(\"\\n\");\n }\n\n @httpGet(\"/normalize/:gfv.xml\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getNormalizeFile(gfv: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getNormalizeFilePathByFileNameOrUndefined(`${gfv}.xml`);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize/:gfv.normalize\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getFLangNormalizeFile(gfv: string): Promise<StreamResult> {\n return new StreamResult(await this.generatedServerSideSourcesProvider.getNormalizationFileContent(gfv));\n }\n\n @httpGet(\"/attachmentpaths\", httpReturn.PlainText)\n public async getAllAttachmentPathsFileNames(): Promise<string> {\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllAttachmentPathFileNames();\n return flangFiles.join(\"\\n\");\n }\n\n @httpGet(\"/attachmentpaths/:gfv.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getAttachmentPathFile(gfv: string): Promise<StreamResult> {\n return new StreamResult(await this.generatedServerSideSourcesProvider.getAttachmentPathsFileContent(gfv));\n }\n\n @httpGet(\"/unmap\", httpReturn.PlainText)\n public async getAllUnmapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllUnmapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/unmap/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getUnmapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getUnmapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/map\", httpReturn.PlainText)\n public async getAllMapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/map/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/patch\", httpReturn.PlainText)\n public async getAllPatchFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllPatchFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/patch/:filename\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getPatchFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getPatchFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildServerBackendResourcesController.js","names":["_fs","require","path","_interopRequireWildcard","_fsExtra","_lodash","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBackendResourcesController","exports","httpGet","httpReturn","Json","PlainText","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","flangNormalizationSourcesProvider","generatedServerSideSourcesProvider","allSchemasFiles","resetAllSchemaFilesDebounced","allFarmDirectories","map","FarmDirectory","farmDirectory","debounce","undefined","getAllGfvs","Promise","all","x","flat","getAllPicklists","join","getPicklists","picklistFilename","allFilePath","pathFile","pathExists","createReadStream","Error","getAllConvertersFiles","flatMap","getAllConverterFilePaths","basename","getConverterFile","filename","filePath","getConverterFilePathByFileNameOrUndefined","FileStreamResult","NotFoundWebError","getAllMergersFiles","getAllMergersFilePaths","getMergerFile","getMergersFilePathByFileNameOrUndefined","getAllSchemasFiles","getAllSchemasFilePaths","getFormSchemas","getSchemaFilePathByFileNameOrUndefined","getAllFormPresentations","getAllPresentationsFileNames","getFormPresentations","gfv","getPresentationsFilePathByGfvOrUndefined","getAllNormalizeFiles","files","getAllNormalizeFilePaths","flangFiles","getAllNormalizationFileNames","getNormalizeFile","getNormalizeFilePathByFileNameOrUndefined","getFLangNormalizeFile","stream","getNormalizationFileContent","StreamResult","getAllAttachmentPathsFileNames","getAllAttachmentPathFileNames","getAttachmentPathFile","getAttachmentPathsFileContent","getAllUnmapFiles","getAllUnmapFilePaths","getUnmapFile","getUnmapFilePathByFileNameOrUndefined","getAllMapFiles","getAllMapFilePaths","getMapFile","getMapFilePathByFileNameOrUndefined","getAllPatchFiles","getAllPatchFilePaths","getPatchFile","getPatchFilePathByFileNameOrUndefined","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.ts"],"sourcesContent":["import { createReadStream, ReadStream } from \"fs\";\nimport * as path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport _, { debounce } from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport {\n FileStreamResult,\n StreamResult,\n} from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\n\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\n\nexport class BuildServerBackendResourcesController extends SingletonController {\n private readonly generatedServerSideSourcesProvider: IGeneratedServerSideSourcesProvider;\n private allSchemasFiles: undefined | string;\n private readonly resetAllSchemaFilesDebounced: () => void;\n private readonly allFarmDirectories: FarmDirectory[];\n private readonly allFarmConfig: FarmConfig[];\n\n public constructor(\n allFarmConfig: FarmConfig[],\n flangNormalizationSourcesProvider: IGeneratedServerSideSourcesProvider\n ) {\n super();\n this.generatedServerSideSourcesProvider = flangNormalizationSourcesProvider;\n this.allFarmConfig = allFarmConfig;\n this.allFarmDirectories = allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n this.resetAllSchemaFilesDebounced = debounce(() => {\n this.allSchemasFiles = undefined;\n }, 5000);\n }\n\n @httpGet(\"/gfvs\", httpReturn.Json)\n public async getAllGfvs(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllGfvs()))).flat();\n }\n\n @httpGet(\"/picklists\", httpReturn.PlainText)\n public async getAllPicklists(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllPicklists()))).flat().join(\"\\n\");\n }\n\n @httpGet(\n \"/picklists/:picklistFilename\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"picklistFilename\", httpType.String)\n )\n public async getPicklists(picklistFilename: string): Promise<ReadStream> {\n const allFilePath = this.allFarmConfig.map(i => path.join(i.farmDirectory, \"picklists\", picklistFilename));\n for (const pathFile of allFilePath) {\n if (await pathExists(pathFile)) {\n return createReadStream(pathFile);\n }\n }\n throw Error(`not found picklistFilename ${picklistFilename}`);\n }\n\n @httpGet(\"/converters\", httpReturn.PlainText)\n public async getAllConvertersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllConverterFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/converters/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getConverterFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getConverterFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/mergers\", httpReturn.PlainText)\n public async getAllMergersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMergersFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/mergers/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMergerFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMergersFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/schemas\", httpReturn.PlainText)\n public async getAllSchemasFiles(): Promise<string> {\n if (this.allSchemasFiles === undefined) {\n this.allSchemasFiles = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllSchemasFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n this.resetAllSchemaFilesDebounced();\n return this.allSchemasFiles;\n }\n\n @httpGet(\"/schemas/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormSchemas(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getSchemaFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/presentations\", httpReturn.PlainText)\n public async getAllFormPresentations(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllPresentationsFileNames())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/presentations/:gfv.presentations.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getFormPresentations(gfv: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getPresentationsFilePathByGfvOrUndefined(gfv);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize\", httpReturn.PlainText)\n public async getAllNormalizeFiles(): Promise<string> {\n const files = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllNormalizeFilePaths()))).flat();\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllNormalizationFileNames();\n return [...files.map(x => path.basename(x)), ...flangFiles].join(\"\\n\");\n }\n\n @httpGet(\"/normalize/:gfv.xml\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getNormalizeFile(gfv: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getNormalizeFilePathByFileNameOrUndefined(`${gfv}.xml`);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize/:gfv.normalize\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getFLangNormalizeFile(gfv: string): Promise<StreamResult> {\n const stream = await this.generatedServerSideSourcesProvider.getNormalizationFileContent(gfv);\n if (stream == null) {\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n return new StreamResult(stream);\n }\n\n @httpGet(\"/attachmentpaths\", httpReturn.PlainText)\n public async getAllAttachmentPathsFileNames(): Promise<string> {\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllAttachmentPathFileNames();\n return flangFiles.join(\"\\n\");\n }\n\n @httpGet(\"/attachmentpaths/:gfv.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getAttachmentPathFile(gfv: string): Promise<StreamResult> {\n return new StreamResult(await this.generatedServerSideSourcesProvider.getAttachmentPathsFileContent(gfv));\n }\n\n @httpGet(\"/unmap\", httpReturn.PlainText)\n public async getAllUnmapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllUnmapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/unmap/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getUnmapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getUnmapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/map\", httpReturn.PlainText)\n public async getAllMapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/map/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/patch\", httpReturn.PlainText)\n public async getAllPatchFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllPatchFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/patch/:filename\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getPatchFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getPatchFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|