@c8y/ngx-components 1018.503.144 → 1018.503.150
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/core/common/ApplicationOptions.d.ts +1 -1
- package/core/docs/docs.service.d.ts +1 -1
- package/core/select/select.component.d.ts +1 -0
- package/esm2020/core/common/ApplicationOptions.mjs +1 -1
- package/esm2020/core/docs/defaults.items.mjs +4 -4
- package/esm2020/core/docs/docs.service.mjs +2 -2
- package/esm2020/core/i18n/translate.service.mjs +7 -5
- package/esm2020/core/select/select.component.mjs +10 -11
- package/esm2020/device-list/add-smart-group.component.mjs +3 -3
- package/esm2020/widgets/implementations/cockpit-welcome/welcome.component.mjs +2 -2
- package/fesm2015/c8y-ngx-components-device-list.mjs +2 -2
- package/fesm2015/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +1 -1
- package/fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +19 -18
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-device-list.mjs +2 -2
- package/fesm2020/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +1 -1
- package/fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +19 -18
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +0 -282
- package/locales/es.po +0 -282
- package/locales/fr.po +0 -282
- package/locales/ja_JP.po +0 -282
- package/locales/ko.po +18 -294
- package/locales/locales.pot +0 -282
- package/locales/nl.po +0 -282
- package/locales/pl.po +0 -282
- package/locales/pt_BR.po +0 -282
- package/locales/zh_CN.po +12 -293
- package/locales/zh_TW.po +12 -293
- package/package.json +1 -1
|
@@ -156,7 +156,7 @@ export declare class ApplicationOptions {
|
|
|
156
156
|
/**
|
|
157
157
|
* Allows to enable or disable context help, or to override the default base URL used to load its contents.
|
|
158
158
|
* By default, the context help uses the same base URL as defined in the `docsBaseUrl` option
|
|
159
|
-
* (if this option is undefined, then the following value will be used: `https://
|
|
159
|
+
* (if this option is undefined, then the following value will be used: `https://cumulocity.com/guides/{{version}}`).
|
|
160
160
|
* Alternatively, if a string is provided here, it'll be used as the base URL
|
|
161
161
|
* and any `{{ version }}` placeholder will be replaced with the relevant docs version.
|
|
162
162
|
*/
|
|
@@ -14,7 +14,7 @@ export declare class DocsService extends ExtensionPointWithoutStateForPlugins<Do
|
|
|
14
14
|
/**
|
|
15
15
|
* Default documentation URL.
|
|
16
16
|
*/
|
|
17
|
-
readonly DEFAULT_DOCS_BASE_URL = "https://
|
|
17
|
+
readonly DEFAULT_DOCS_BASE_URL = "https://cumulocity.com";
|
|
18
18
|
constructor(options: OptionsService, app: AppStateService, rootInjector: Injector, router: Router, plugins: PluginsResolveService);
|
|
19
19
|
getBaseUrl(uiVersion?: string | {
|
|
20
20
|
ngx: string;
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export class ApplicationOptions {
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBK005QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFRoZSB2ZXJzaW9uIG9mIHRoZSB1c2VkIFdlYlNESyB2ZXJzaW9uICovXG4gIHdlYlNka1ZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBjdXN0b20gdHJhbnNsYXRpb25zLiBJdCBpcyBhbiBvcHRpb25hbCBwcm9wZXJ0eS5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIChodHRwczovL2N1bXVsb2NpdHkuY29tL2RvY3Mvc2VjdGlvbi9nZXR0aW5nX3N0YXJ0ZWQvI2EtbmFtZS1sYW5ndWFnZXMtYS1hdmFpbGFibGUtbGFuZ3VhZ2VzKVxuICAgKiBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIGtleS12YWx1ZSBwYWlycywgd2hlcmUgdGhlIGtleSBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIGluIEVuZ2xpc2ggYW5kIHRoZSB2YWx1ZSAtIGl0cyB0cmFuc2xhdGlvbi5cbiAgICpcbiAgICogLSBgSG9tZWA6IFwiU3RhcnRzZWl0ZVwiXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCB5b3UgY2FuIGFkZCB0aGUgdHJhbnNsYXRpb24gb2YgeW91ciBjdXN0b20gY29va2llIGJhbm5lciBjb25maWd1cmVkIGluIHRoZSBicmFuZGluZyBzZXR0aW5nczpcbiAgICogYGBganNvblxuICAgKiBcImkxOG5FeHRyYVwiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIkFib3V0IGNvb2tpZXMgb24gQ3VtdWxvY2l0eSBJb1RcIjogXCJJbmZvcm1hdGlvbmVuIHp1IENvb2tpZXMgaW4gQ3VtdWxvY2l0eSBJb1RcIixcbiAgICogICAgIFwiQ2xpY2sgQWdyZWUgYW5kIFByb2NlZWQgdG8gYWNjZXB0IGNvb2tpZXMgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBwbGF0Zm9ybSBvciBjbGljayBvbiBQcml2YWN5IFBvbGljeSB0byBzZWUgZGV0YWlsZWQgZGVzY3JpcHRpb25zIG9mIHRoZSB1c2VkIGNvb2tpZXMuXCI6IFwiS2xpY2tlbiBTaWUgYXVmIFp1c3RpbW1lbiB1bmQgZm9ydGZhaHJlbiwgdW0gQ29va2llcyB6dSBha3plcHRpZXJlbiB1bmQgZGlyZWt0IHp1ciBQbGF0dGZvcm0genUgZ2VsYW5nZW4sIG9kZXIga2xpY2tlbiBTaWUgYXVmIERhdGVuc2NodXR6cmljaHRsaW5pZSwgdW0gZGV0YWlsbGllcnRlIEJlc2NocmVpYnVuZ2VuIGRlciB2ZXJ3ZW5kZXRlbiBDb29raWVzIGFuenV6ZWlnZW4uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBpMThuRXh0cmE/OiBJMThuRXh0cmE7XG4gIC8qKiBQYXRoIHRvIHRoZSBmb2xkZXIgZnJvbSB3aGljaCAqLnBvIGZpbGVzIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBsb2NhbGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXJyYXkgb2YgVVJMcyB0byBhZGRpdGlvbmFsICouY3NzIGZpbGVzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lLiAqL1xuICBleHRyYUNzc1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb24gbGlua3Mgc2V0dGluZ3MuICovXG4gIGRvY3M/OiBEb2NzO1xuICAvKiogQXBwbGljYXRpb24gaWNvbiB0byBiZSBkaXNwbGF5ZWQgaW4gYXBwIHN3aXRjaGVyIGFuZCBoZWFkZXIgYmFyLiAqL1xuICBpY29uPzogSWNvbjtcblxuICAvLyBUaGVzZSBhcmUgdGhlIG9sZCBvcHRpb25zXG4gIC8qKiBIaWRlIGFwcGxpY2F0aW9uIGluIGFwcCBzd2l0Y2hlciAoc2F2ZWQgdG8gdGhlIHNlcnZlcikuICovXG4gIG5vQXBwU3dpdGNoZXI/OiBib29sZWFuO1xuICAvKiogSFRNTCBwYWdlIHRpdGxlLiAqL1xuICBnbG9iYWxUaXRsZT86IHN0cmluZztcbiAgLyoqIEhpZGUgXCJwb3dlcmVkIGJ5XCIgYW5kIHZlcnNpb24gaW5mbyBhdCB0aGUgYm90dG9tIG9mIHRoZSBuYXZpZ2F0b3IgYW5kIGluIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIGhpZGVQb3dlcmVkPzogYm9vbGVhbjtcbiAgLyoqIEhpZGVzIHRoZSBcIlBsYXRmb3JtIGluZm9ybWF0aW9uXCIgaW4gdGhlIHJpZ2h0IGRyYXdlciwgd2lsbCBvdmVycnVsZSB0aGUgXCJoaWRlUG93ZXJlZFwiIG9wdGlvbiAqL1xuICBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIC8qKiBTaG93cyB0aGUgbGluayB0byBzdXBwb3J0IHBhZ2UuIEFjY2VwdHMgdmFsdWVzOlxuICAgKiBmYWxzZSwgaGlkZSB0aGUgbGlua1xuICAgKiBzdHJpbmcsIHZhbHVlIG9mIHVybCB0byBiZSBzaG93blxuICAgKi9cbiAgc3VwcG9ydFVybD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXBsYWNlbWVudCBzdHJpbmcgZm9yIGB1c2VyYCBmaWVsZCBpbiBhdWRpdCBsb2dzIGZvciBhY3Rpb25zIHBlcmZvcm1lZCBieSBhIHN1cHBvcnQgdXNlclxuICAgKiAoYXZhaWxhYmxlIHBsYWNlaG9sZGVyczogYHt7c3VwcG9ydF91c2VyfX1gLCBge3tzdXBwb3J0ZWRfdXNlcn19YCkuXG4gICAqL1xuICBzdXBwb3J0VXNlclN0cmluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGVzIHJlYWx0aW1lIHVwZGF0ZXMgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFJlYWx0aW1lRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGFkanVzdCB0aGUgZGVmYXVsdCBwYWdlc2l6ZSBvZiAxMDAgaXRlbXMgb2YgdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFBhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGhpZGUgdGhlIGhpbnQgdGhhdCB0aGVyZSBhcmUgbW9yZSBkZXZpY2VzIHdpdGggZ2VvIGNvb3JkaW5hdGVzIHRoZW4gZGlzcGxheWVkIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRIaWRlTWF4RGV2aWNlT25NYXBIaW50PzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIHJpZ2h0RHJhd2VyPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIGJyZWFkY3J1bWJzIGluIHRoZSBoZWFkZXIgZm9yIGdyb3VwcyBhbmQgZGV2aWNlcyAoZGVmYXVsdDogZmFsc2UpLiAqL1xuICBicmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKiBDb2xsYXBzZSBuYXZpZ2F0b3Igb24gaW5pdGlhbCBsb2FkLiAqL1xuICBoaWRlTmF2aWdhdG9yPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFicyBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS4gKi9cbiAgdGFic0hvcml6b250YWw/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBsaW5rKHMpIHRvIGRpc3BsYXkgb24gbG9naW4gc2NyZWVuLiAqL1xuICBsb2dpbkV4dHJhTGluaz86IExvZ2luRXh0cmFMaW5rIHwgTG9naW5FeHRyYUxpbmtbXTtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHN0b3JhZ2UgbGltaXRhdGlvbiBmZWF0dXJlLiAqL1xuICBzdG9yYWdlTGltaXRhdGlvbkZlYXR1cmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIE5hbWUgb2YgY29tcGFueSBoYW5kbGluZyBzdXBwb3J0IHJlcXVlc3RzIGZyb20gYXBwIHVzZXJzIChkaXNwbGF5ZWQgaW4gbm90aWZpY2F0aW9uIG1lc3NhZ2UpLiAqL1xuICBjb21wYW55TmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCB0ZW1wbGF0ZSBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoZGVmYXVsdDogYCcke2RvY3NCYXNlVXJsfSR7cGFydGlhbFVybH0nYCkuICovXG4gIGd1aWRlSHJlZlRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogQmFzZSBVUkwgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGluY2x1ZGUgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyLCBpZiB5b3Ugd2FudCB2ZXJzaW9uZWQgbGlua3MpLiAqL1xuICBkb2NzQmFzZVVybD86IHN0cmluZztcbiAgLyoqIENTUCBzdHJpbmcgdG8gYmUgYXBwbGllZCB0byBgaW5kZXguaHRtbGAgYnkgcmVwbGFjaW5nIGRlZmF1bHQgdmFsdWVzLiAqL1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGVzIGNsb3VkIHNlbnNvciB3aXphcmQgKi9cbiAgc2Vuc29yUGhvbmU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIGEgbmV3c2xldHRlciBzdWJzY3JpcHRpb24gY2hlY2tib3ggaW4gZWRpdCB1c2VyIG1vZGFsLiAqL1xuICBuZXdzbGV0dGVyPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIHJvb3Qgbm9kZV9tb2R1bGVzIGRpciAodXNlZnVsIHdoZW4gd29ya2luZyBpbiBtb25vcmVwbyBzZXR1cCwgZS5nLiB5YXJuIHdvcmtzcGFjZXMpLiAqL1xuICByb290Tm9kZU1vZHVsZXNQYXRoPzogc3RyaW5nO1xuICAvKiogQ29va2llIEJhbm5lciBjb25maWd1cmF0aW9uICovXG4gIGNvb2tpZUJhbm5lcj86IENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi4gSGVyZSB5b3UgY2FuIGVuYWJsZSBvciBkaXNhYmxlIGNvb2tpZSBjYXRlZ29yaWVzICovXG4gIGNvb2tpZVByZWZlcmVuY2VzPzogQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uO1xuICAvKiogQSBrZXkgZm9yIHRoZSBwcm9kdWN0IGV4cGVyaWVuY2Ugc29mdHdhcmUgR2FpbnNpZ2h0LiAqL1xuICBnYWluc2lnaHRLZXk/OiBzdHJpbmc7XG4gIC8qKiBEaXNhYmxlIHVzZXIgdHJhY2tpbmcgKi9cbiAgZGlzYWJsZVRyYWNraW5nPzogYm9vbGVhbjtcbiAgLyoqIE5nTW9kdWxlIGV4cG9ydCBmb3IgcGx1Z2lucy4gKi9cbiAgZXhwb3J0cz86IFBsdWdpbnNFeHBvcnRzW107XG4gIC8qKiBMaXN0IG9mIGltcG9ydGVkIHJlbW90ZSBwbHVnaW5zLiAqL1xuICByZW1vdGVzPzogUmVtb3RlUGx1Z2lucztcbiAgLyoqIFRoZSBwYWNrYWdlIHNvdXJjZSBhIGFwcGxpY2F0aW9uIG9yaWdpbnMgZnJvbSBhcyBJQXBwbGljYXRpb24gb3Igc2ltcGx5IHRoZSBpZCBvZiB0aGUgc291cmNlICovXG4gIHNvdXJjZT86IHN0cmluZyB8IG51bWJlciB8IElBcHBsaWNhdGlvbjtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXNzZXRzIHRvIGNvcHkgdG8gdGhlIGJ1aWxkIG91dHB1dC5cbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvY29weS13ZWJwYWNrLXBsdWdpbiBmb3IgbW9yZSBpbmZvcm1hdGlvblxuICAgKiBhYm91dCB0aGUgcGF0dGVybnMgdG8gYWRkIGhlcmUuXG4gICAqL1xuICBjb3B5PzogW107XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZW5hYmxlIG9yIGRpc2FibGUgY29udGV4dCBoZWxwLCBvciB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiYXNlIFVSTCB1c2VkIHRvIGxvYWQgaXRzIGNvbnRlbnRzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGV4dCBoZWxwIHVzZXMgdGhlIHNhbWUgYmFzZSBVUkwgYXMgZGVmaW5lZCBpbiB0aGUgYGRvY3NCYXNlVXJsYCBvcHRpb25cbiAgICogKGlmIHRoaXMgb3B0aW9uIGlzIHVuZGVmaW5lZCwgdGhlbiB0aGUgZm9sbG93aW5nIHZhbHVlIHdpbGwgYmUgdXNlZDogYGh0dHBzOi8vd3d3LmN1bXVsb2NpdHkuY29tYCkuXG4gICAqIEFsdGVybmF0aXZlbHksIGlmIGEgc3RyaW5nIGlzIHByb3ZpZGVkIGhlcmUsIGl0J2xsIGJlIHVzZWQgYXMgdGhlIGJhc2UgVVJMXG4gICAqIGFuZCBhbnkgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uLlxuICAgKi9cbiAgY29udGV4dEhlbHA/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgY29ja3BpdCBhbmQgZGV2aWNlbWFuYWdlbWVudCB1c2UgdGhlIG9ubHlSb290cyBxdWVyeSB0byByZXNvbHZlIHJvb3Qgbm9kZXMuIFRoaXNcbiAgICogY291bGQgbGVhZCB0byBwZXJmb3JtYW5jZSBpc3N1ZXMsIGlmIGEgY3VzdG9tZXIgaGFzIGEgbG90IG9mIHJvb3Qgbm9kZXMuIFRoZXJlZm9yZSB5b3UgY2FuIGRpc2FibGVcbiAgICogdGhlIHVzZSBvZiB0aGlzIHF1ZXJ5IHdpdGggdGhpcyBmbGFnLlxuICAgKi9cbiAgZGlzYWJsZU9ubHlSb290c1F1ZXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBmb3JjZSBzaG93aW5nIHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBmb3JjZVNldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYXBwbGljYXRpb24gbmVlZHMgdG8gc2hvdyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgaXNTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGEgV2ViU0RLIGFwcCByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4uXG4gICAqIEluIGNhc2UgeW91IHdvdWxkIGxpa2UgdG8gZGV2ZWxvcCBqdXN0IGEgc3RhdGljIGFwcGxpY2F0aW9uLCB0aGF0IGRvZXMgbm90IHJlcXVpcmUgYW55IGtpbmQgb2YgYWNjZXNzIHRvIHRoZSBiYWNrZW5kLFxuICAgKiB5b3UgY2FuIHVzZSB0aGlzIGZsYWcgdG8gZGlzYWJsZSB0aGUgbG9naW4gc2NyZWVuLlxuICAgKiBOT1RFOiBub3QgYWxsIFdlYlNESyBjb21wb25lbnRzIHN1cHBvcnQgdGhpcywgc29tZSBtaWdodCByZXF1aXJlIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiBhbmQgd29uJ3Qgd29yay5cbiAgICovXG4gIG5vTG9naW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2Ygc3VwcG9ydGluZy9sb2FkaW5nIHBsdWdpbnMgZm9yIHRoaXMgYXBwbGljYXRpb24uXG4gICAqL1xuICBub1BsdWdpbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2YgdGhlIHZlcnNpb24gd2FybmluZyB3aGljaCBpcyBzaG93biBpbiB0aGUgZGV2IHRvb2xzLlxuICAgKi9cbiAgbm9WZXJzaW9uV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2V0IHRoZSBtYXAgbGF5ZXJzLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBvcGVuIHN0cmVldCBtYXAgbGF5ZXIuXG4gICAqL1xuICBtYXBMYXllcnM/OiBNYXBUaWxlTGF5ZXJbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBvbiB0aGUgbWFwcy5cbiAgICovXG4gIG1hcENvbmZpZz86IE1hcERlZmF1bHRDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHVzZWQgdG8gbG9va3VwIGdlbyBjb29yZGluYXRlcyBmb3IgYSB1c2VyIHByb3ZpZGVkIGFkZHJlc3MgdmlhIFtub21pbmF0aW0gQVBJXShodHRwczovL25vbWluYXRpbS5vcmcvcmVsZWFzZS1kb2NzL2RldmVsb3AvYXBpL1NlYXJjaC8pLlxuICAgKiBDYW4gYmUgc2V0IHRvIGVtcHR5IHRvIGRpc2FibGUgdGhlIGZpbmQgYWRkcmVzcyBmZWF0dXJlIG9uIHRoZSBsb2NhdGlvbiB0YWIuXG4gICAqIFVzZXM6IGBodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZy9zZWFyY2g/Zm9ybWF0PWpzb24mcT17c2VhcmNoVGVybX1gIGlmIG5vdCBzZXQuXG4gICAqL1xuICBtYXBOb21pbmF0aW1Vcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwRGVmYXVsdENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB6b29tIGxldmVsIHRvIHNldCBvbiBlYWNoIG5ldyBtYXAuXG4gICAqL1xuICB6b29tTGV2ZWw/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBjZW50ZXIgcG9zaXRpb24gb2YgZWFjaCBuZXcgbWFwLlxuICAgKi9cbiAgY2VudGVyPzogW251bWJlciwgbnVtYmVyXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBUaWxlTGF5ZXIge1xuICAvKipcbiAgICogVGhlIGxheWVyIHVybCBpbiB0aGUgc3BlY2lmaWMgbGVhZmxldCBmb3JtYXQuXG4gICAqL1xuICBsYXllclVybDogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBvcHRpb25zLiBOb3RlIHRoaXMgb3B0aW9ucyBhcmUgbm90IHR5cGVkIGFzIGxlYWZsZXQgc2hvdWxkIG5vdCBiZSBieSBkZWZhdWx0IGluY2x1ZGVkLiBUaGUgdHlwZSBmcm9tIGxlYWZsZXQgaXMgTC5UaWxlTGF5ZXJPcHRpb25zLlxuICAgKi9cbiAgb3B0aW9uczogYW55O1xuICAvKipcbiAgICogQSBsYWJlbCB0byBzaG93IHRvIHRoZSBlbmQgdXNlci5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG9yZGVyIG9mIHRoZSBsYXllcnMgdG8gYmUgc2hvd24gdG8gdGhlIHVzZXIuIEhpZ2hlc3QgcHJpb3JpdHkgZmlyc3QuXG4gICAqL1xuICBwcmlvcml0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQbHVnaW5zIHtcbiAgLyoqXG4gICAqIEEga2V5IHZhbHVlIHBhaXIsIHdoaWxlIHRoZSB2YWx1ZSBpcyBhbiBhcnJheSBvZiBtb2R1bGVzIHRvIGxvYWQgYW5kIHRoZVxuICAgKiBrZXkgaXMgdGhlIGNvbnRleHQgcGF0aC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICoge1xuICAgKiAgICAnY29ja3BpdCc6IFsnSG9tZURhc2hib2FyZE1vZHVsZScsICdEYXRhRXhwbG9yZXJEYXNoYm9hcmQnXSxcbiAgICogICAgJ3dpZGdldC1wYWNrYWdlQDEuMC4wJzogWydFeHRlbmRlZE1hcFdpZGdldCddXG4gICAqIH1cbiAgICogYGBcbiAgICovXG4gIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbnNFeHBvcnRzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBbmd1bGFyIG1vZHVsZSBjbGFzcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGggdG8gdGhlIG1vZHVsZSB0eXBlc2NyaXB0IGZpbGUuXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBzaG9ydCBkZXNjcmlwdGlvbiBhYm91dCB3aGF0IHRoZSBtb2R1bGUgZG9lcy5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNjb3BlIHRoZSBwbHVnaW4gdG8gY2VydGFpbiBhcHBsaWNhdGlvbnMuIEUuZy4gaWYgeW91XG4gICAqIGFkZCBoZXJlICdjb2NrcGl0JywgdGhlIHBsdWdpbiBjYW4gb25seSBiZSBpbnN0YWxsZWQgaW50byBhblxuICAgKiBhcHBsaWNhdGlvbiBvbiB0aGUgY29udGV4dFBhdGggYGFwcHMvY29ja3BpdGAuIFlvdSBjYW4gdXNlIGNvbW1hXG4gICAqIHNlcGFyYXRlZCB2YWx1ZXMsIGFzdGVyaXNrIChkZWZhdWx0KSB0byBhbGxvdyBhbGwgYXBwbGljYXRpb25zIG9yXG4gICAqIGBzZWxmYCB0byBsaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IHNvbHV0aW9uLlxuICAgKi9cbiAgc2NvcGU/OiAnKicgfCAnc2VsZicgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llQmFubmVyQ29uZmlndXJhdGlvbiB7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSB0aXRsZSBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRpdGxlPzogc3RyaW5nO1xuICAvKiogSGVyZSB5b3UgY2FuIHNldCB0aGUgVGV4dCBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRleHQ/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBwb2xpY3lVcmwgb2YgQ29va2llIEJhbm5lciAqL1xuICBwb2xpY3lVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uIHtcbiAgLyoqIFRoaXMgY2F0ZWdvcnkgaW5jbHVkZXMgZS5nLiBjb29raWVzIHJlbGF0ZWQgdG8gbG9nZ2luZyBpbiAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIHRyYWNraW5nIGNvb2tpZXMgICovXG4gIGZ1bmN0aW9uYWw/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBhZHZlcnRpc2luZyAgKi9cbiAgbWFya2V0aW5nPzogYm9vbGVhbiB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkV4dHJhTGluayB7XG4gIHVybDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljb24ge1xuICBjbGFzcz86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3Mge1xuICAvKiogSGlkZSBkZWZhdWx0IGxpbmtzIHRvIGRvY3VtZW50YXRpb24uICovXG4gIG5vRGVmYXVsdDogYm9vbGVhbjtcbiAgLyoqIExpc3Qgb2YgcmVnZXggc3RyaW5ncy4gTWF0Y2hpbmcgZGVmYXVsdCBkb2NzIFVSTHMgd2lsbCBiZSBoaWRkZW4uICovXG4gIGV4Y2x1ZGVEZWZhdWx0OiBzdHJpbmdbXTtcbiAgLyoqIEFkZGl0aW9uYWwgbGlua3MgdG8gYmUgZGlzcGxheWVkLiAqL1xuICBsaW5rczogTGlua3NbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rcyB7XG4gIC8qKiBJY29uIGNsYXNzZXMgd2l0aCBgYzh5LWljb25gLCBlLmcuIGBjOHktaWNvbiBjOHktaWNvbi1hZGQtdXNlcmAgb3IgYGM4eS1pY29uIGM4eS1pY29uLWRldmljZS1jb25uZWN0YC4gKi9cbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogJ2RvYycgfCAncXVpY2tsaW5rJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRXh0cmEge1xuICBbbGFuZ0NvZGU6IHN0cmluZ106IEkxOG5FeHRyYUxhbmdDb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYUxhbmdDb2RlIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlcyB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogTGFuZ3VhZ2VzTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzTGFuZ0NvZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hdGl2ZU5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRpbmdDc3NWYXJzIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIl19
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBK005QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFRoZSB2ZXJzaW9uIG9mIHRoZSB1c2VkIFdlYlNESyB2ZXJzaW9uICovXG4gIHdlYlNka1ZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBjdXN0b20gdHJhbnNsYXRpb25zLiBJdCBpcyBhbiBvcHRpb25hbCBwcm9wZXJ0eS5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIChodHRwczovL2N1bXVsb2NpdHkuY29tL2RvY3Mvc2VjdGlvbi9nZXR0aW5nX3N0YXJ0ZWQvI2EtbmFtZS1sYW5ndWFnZXMtYS1hdmFpbGFibGUtbGFuZ3VhZ2VzKVxuICAgKiBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIGtleS12YWx1ZSBwYWlycywgd2hlcmUgdGhlIGtleSBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIGluIEVuZ2xpc2ggYW5kIHRoZSB2YWx1ZSAtIGl0cyB0cmFuc2xhdGlvbi5cbiAgICpcbiAgICogLSBgSG9tZWA6IFwiU3RhcnRzZWl0ZVwiXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCB5b3UgY2FuIGFkZCB0aGUgdHJhbnNsYXRpb24gb2YgeW91ciBjdXN0b20gY29va2llIGJhbm5lciBjb25maWd1cmVkIGluIHRoZSBicmFuZGluZyBzZXR0aW5nczpcbiAgICogYGBganNvblxuICAgKiBcImkxOG5FeHRyYVwiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIkFib3V0IGNvb2tpZXMgb24gQ3VtdWxvY2l0eSBJb1RcIjogXCJJbmZvcm1hdGlvbmVuIHp1IENvb2tpZXMgaW4gQ3VtdWxvY2l0eSBJb1RcIixcbiAgICogICAgIFwiQ2xpY2sgQWdyZWUgYW5kIFByb2NlZWQgdG8gYWNjZXB0IGNvb2tpZXMgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBwbGF0Zm9ybSBvciBjbGljayBvbiBQcml2YWN5IFBvbGljeSB0byBzZWUgZGV0YWlsZWQgZGVzY3JpcHRpb25zIG9mIHRoZSB1c2VkIGNvb2tpZXMuXCI6IFwiS2xpY2tlbiBTaWUgYXVmIFp1c3RpbW1lbiB1bmQgZm9ydGZhaHJlbiwgdW0gQ29va2llcyB6dSBha3plcHRpZXJlbiB1bmQgZGlyZWt0IHp1ciBQbGF0dGZvcm0genUgZ2VsYW5nZW4sIG9kZXIga2xpY2tlbiBTaWUgYXVmIERhdGVuc2NodXR6cmljaHRsaW5pZSwgdW0gZGV0YWlsbGllcnRlIEJlc2NocmVpYnVuZ2VuIGRlciB2ZXJ3ZW5kZXRlbiBDb29raWVzIGFuenV6ZWlnZW4uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBpMThuRXh0cmE/OiBJMThuRXh0cmE7XG4gIC8qKiBQYXRoIHRvIHRoZSBmb2xkZXIgZnJvbSB3aGljaCAqLnBvIGZpbGVzIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBsb2NhbGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXJyYXkgb2YgVVJMcyB0byBhZGRpdGlvbmFsICouY3NzIGZpbGVzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lLiAqL1xuICBleHRyYUNzc1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb24gbGlua3Mgc2V0dGluZ3MuICovXG4gIGRvY3M/OiBEb2NzO1xuICAvKiogQXBwbGljYXRpb24gaWNvbiB0byBiZSBkaXNwbGF5ZWQgaW4gYXBwIHN3aXRjaGVyIGFuZCBoZWFkZXIgYmFyLiAqL1xuICBpY29uPzogSWNvbjtcblxuICAvLyBUaGVzZSBhcmUgdGhlIG9sZCBvcHRpb25zXG4gIC8qKiBIaWRlIGFwcGxpY2F0aW9uIGluIGFwcCBzd2l0Y2hlciAoc2F2ZWQgdG8gdGhlIHNlcnZlcikuICovXG4gIG5vQXBwU3dpdGNoZXI/OiBib29sZWFuO1xuICAvKiogSFRNTCBwYWdlIHRpdGxlLiAqL1xuICBnbG9iYWxUaXRsZT86IHN0cmluZztcbiAgLyoqIEhpZGUgXCJwb3dlcmVkIGJ5XCIgYW5kIHZlcnNpb24gaW5mbyBhdCB0aGUgYm90dG9tIG9mIHRoZSBuYXZpZ2F0b3IgYW5kIGluIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIGhpZGVQb3dlcmVkPzogYm9vbGVhbjtcbiAgLyoqIEhpZGVzIHRoZSBcIlBsYXRmb3JtIGluZm9ybWF0aW9uXCIgaW4gdGhlIHJpZ2h0IGRyYXdlciwgd2lsbCBvdmVycnVsZSB0aGUgXCJoaWRlUG93ZXJlZFwiIG9wdGlvbiAqL1xuICBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIC8qKiBTaG93cyB0aGUgbGluayB0byBzdXBwb3J0IHBhZ2UuIEFjY2VwdHMgdmFsdWVzOlxuICAgKiBmYWxzZSwgaGlkZSB0aGUgbGlua1xuICAgKiBzdHJpbmcsIHZhbHVlIG9mIHVybCB0byBiZSBzaG93blxuICAgKi9cbiAgc3VwcG9ydFVybD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXBsYWNlbWVudCBzdHJpbmcgZm9yIGB1c2VyYCBmaWVsZCBpbiBhdWRpdCBsb2dzIGZvciBhY3Rpb25zIHBlcmZvcm1lZCBieSBhIHN1cHBvcnQgdXNlclxuICAgKiAoYXZhaWxhYmxlIHBsYWNlaG9sZGVyczogYHt7c3VwcG9ydF91c2VyfX1gLCBge3tzdXBwb3J0ZWRfdXNlcn19YCkuXG4gICAqL1xuICBzdXBwb3J0VXNlclN0cmluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGVzIHJlYWx0aW1lIHVwZGF0ZXMgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFJlYWx0aW1lRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGFkanVzdCB0aGUgZGVmYXVsdCBwYWdlc2l6ZSBvZiAxMDAgaXRlbXMgb2YgdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFBhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGhpZGUgdGhlIGhpbnQgdGhhdCB0aGVyZSBhcmUgbW9yZSBkZXZpY2VzIHdpdGggZ2VvIGNvb3JkaW5hdGVzIHRoZW4gZGlzcGxheWVkIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRIaWRlTWF4RGV2aWNlT25NYXBIaW50PzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIHJpZ2h0RHJhd2VyPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIGJyZWFkY3J1bWJzIGluIHRoZSBoZWFkZXIgZm9yIGdyb3VwcyBhbmQgZGV2aWNlcyAoZGVmYXVsdDogZmFsc2UpLiAqL1xuICBicmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKiBDb2xsYXBzZSBuYXZpZ2F0b3Igb24gaW5pdGlhbCBsb2FkLiAqL1xuICBoaWRlTmF2aWdhdG9yPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFicyBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS4gKi9cbiAgdGFic0hvcml6b250YWw/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBsaW5rKHMpIHRvIGRpc3BsYXkgb24gbG9naW4gc2NyZWVuLiAqL1xuICBsb2dpbkV4dHJhTGluaz86IExvZ2luRXh0cmFMaW5rIHwgTG9naW5FeHRyYUxpbmtbXTtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHN0b3JhZ2UgbGltaXRhdGlvbiBmZWF0dXJlLiAqL1xuICBzdG9yYWdlTGltaXRhdGlvbkZlYXR1cmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIE5hbWUgb2YgY29tcGFueSBoYW5kbGluZyBzdXBwb3J0IHJlcXVlc3RzIGZyb20gYXBwIHVzZXJzIChkaXNwbGF5ZWQgaW4gbm90aWZpY2F0aW9uIG1lc3NhZ2UpLiAqL1xuICBjb21wYW55TmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCB0ZW1wbGF0ZSBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoZGVmYXVsdDogYCcke2RvY3NCYXNlVXJsfSR7cGFydGlhbFVybH0nYCkuICovXG4gIGd1aWRlSHJlZlRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogQmFzZSBVUkwgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGluY2x1ZGUgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyLCBpZiB5b3Ugd2FudCB2ZXJzaW9uZWQgbGlua3MpLiAqL1xuICBkb2NzQmFzZVVybD86IHN0cmluZztcbiAgLyoqIENTUCBzdHJpbmcgdG8gYmUgYXBwbGllZCB0byBgaW5kZXguaHRtbGAgYnkgcmVwbGFjaW5nIGRlZmF1bHQgdmFsdWVzLiAqL1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGVzIGNsb3VkIHNlbnNvciB3aXphcmQgKi9cbiAgc2Vuc29yUGhvbmU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIGEgbmV3c2xldHRlciBzdWJzY3JpcHRpb24gY2hlY2tib3ggaW4gZWRpdCB1c2VyIG1vZGFsLiAqL1xuICBuZXdzbGV0dGVyPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIHJvb3Qgbm9kZV9tb2R1bGVzIGRpciAodXNlZnVsIHdoZW4gd29ya2luZyBpbiBtb25vcmVwbyBzZXR1cCwgZS5nLiB5YXJuIHdvcmtzcGFjZXMpLiAqL1xuICByb290Tm9kZU1vZHVsZXNQYXRoPzogc3RyaW5nO1xuICAvKiogQ29va2llIEJhbm5lciBjb25maWd1cmF0aW9uICovXG4gIGNvb2tpZUJhbm5lcj86IENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi4gSGVyZSB5b3UgY2FuIGVuYWJsZSBvciBkaXNhYmxlIGNvb2tpZSBjYXRlZ29yaWVzICovXG4gIGNvb2tpZVByZWZlcmVuY2VzPzogQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uO1xuICAvKiogQSBrZXkgZm9yIHRoZSBwcm9kdWN0IGV4cGVyaWVuY2Ugc29mdHdhcmUgR2FpbnNpZ2h0LiAqL1xuICBnYWluc2lnaHRLZXk/OiBzdHJpbmc7XG4gIC8qKiBEaXNhYmxlIHVzZXIgdHJhY2tpbmcgKi9cbiAgZGlzYWJsZVRyYWNraW5nPzogYm9vbGVhbjtcbiAgLyoqIE5nTW9kdWxlIGV4cG9ydCBmb3IgcGx1Z2lucy4gKi9cbiAgZXhwb3J0cz86IFBsdWdpbnNFeHBvcnRzW107XG4gIC8qKiBMaXN0IG9mIGltcG9ydGVkIHJlbW90ZSBwbHVnaW5zLiAqL1xuICByZW1vdGVzPzogUmVtb3RlUGx1Z2lucztcbiAgLyoqIFRoZSBwYWNrYWdlIHNvdXJjZSBhIGFwcGxpY2F0aW9uIG9yaWdpbnMgZnJvbSBhcyBJQXBwbGljYXRpb24gb3Igc2ltcGx5IHRoZSBpZCBvZiB0aGUgc291cmNlICovXG4gIHNvdXJjZT86IHN0cmluZyB8IG51bWJlciB8IElBcHBsaWNhdGlvbjtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXNzZXRzIHRvIGNvcHkgdG8gdGhlIGJ1aWxkIG91dHB1dC5cbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvY29weS13ZWJwYWNrLXBsdWdpbiBmb3IgbW9yZSBpbmZvcm1hdGlvblxuICAgKiBhYm91dCB0aGUgcGF0dGVybnMgdG8gYWRkIGhlcmUuXG4gICAqL1xuICBjb3B5PzogW107XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZW5hYmxlIG9yIGRpc2FibGUgY29udGV4dCBoZWxwLCBvciB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiYXNlIFVSTCB1c2VkIHRvIGxvYWQgaXRzIGNvbnRlbnRzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGV4dCBoZWxwIHVzZXMgdGhlIHNhbWUgYmFzZSBVUkwgYXMgZGVmaW5lZCBpbiB0aGUgYGRvY3NCYXNlVXJsYCBvcHRpb25cbiAgICogKGlmIHRoaXMgb3B0aW9uIGlzIHVuZGVmaW5lZCwgdGhlbiB0aGUgZm9sbG93aW5nIHZhbHVlIHdpbGwgYmUgdXNlZDogYGh0dHBzOi8vY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3t7dmVyc2lvbn19YCkuXG4gICAqIEFsdGVybmF0aXZlbHksIGlmIGEgc3RyaW5nIGlzIHByb3ZpZGVkIGhlcmUsIGl0J2xsIGJlIHVzZWQgYXMgdGhlIGJhc2UgVVJMXG4gICAqIGFuZCBhbnkgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uLlxuICAgKi9cbiAgY29udGV4dEhlbHA/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgY29ja3BpdCBhbmQgZGV2aWNlbWFuYWdlbWVudCB1c2UgdGhlIG9ubHlSb290cyBxdWVyeSB0byByZXNvbHZlIHJvb3Qgbm9kZXMuIFRoaXNcbiAgICogY291bGQgbGVhZCB0byBwZXJmb3JtYW5jZSBpc3N1ZXMsIGlmIGEgY3VzdG9tZXIgaGFzIGEgbG90IG9mIHJvb3Qgbm9kZXMuIFRoZXJlZm9yZSB5b3UgY2FuIGRpc2FibGVcbiAgICogdGhlIHVzZSBvZiB0aGlzIHF1ZXJ5IHdpdGggdGhpcyBmbGFnLlxuICAgKi9cbiAgZGlzYWJsZU9ubHlSb290c1F1ZXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBmb3JjZSBzaG93aW5nIHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBmb3JjZVNldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYXBwbGljYXRpb24gbmVlZHMgdG8gc2hvdyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgaXNTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGEgV2ViU0RLIGFwcCByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4uXG4gICAqIEluIGNhc2UgeW91IHdvdWxkIGxpa2UgdG8gZGV2ZWxvcCBqdXN0IGEgc3RhdGljIGFwcGxpY2F0aW9uLCB0aGF0IGRvZXMgbm90IHJlcXVpcmUgYW55IGtpbmQgb2YgYWNjZXNzIHRvIHRoZSBiYWNrZW5kLFxuICAgKiB5b3UgY2FuIHVzZSB0aGlzIGZsYWcgdG8gZGlzYWJsZSB0aGUgbG9naW4gc2NyZWVuLlxuICAgKiBOT1RFOiBub3QgYWxsIFdlYlNESyBjb21wb25lbnRzIHN1cHBvcnQgdGhpcywgc29tZSBtaWdodCByZXF1aXJlIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiBhbmQgd29uJ3Qgd29yay5cbiAgICovXG4gIG5vTG9naW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2Ygc3VwcG9ydGluZy9sb2FkaW5nIHBsdWdpbnMgZm9yIHRoaXMgYXBwbGljYXRpb24uXG4gICAqL1xuICBub1BsdWdpbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2YgdGhlIHZlcnNpb24gd2FybmluZyB3aGljaCBpcyBzaG93biBpbiB0aGUgZGV2IHRvb2xzLlxuICAgKi9cbiAgbm9WZXJzaW9uV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2V0IHRoZSBtYXAgbGF5ZXJzLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBvcGVuIHN0cmVldCBtYXAgbGF5ZXIuXG4gICAqL1xuICBtYXBMYXllcnM/OiBNYXBUaWxlTGF5ZXJbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBvbiB0aGUgbWFwcy5cbiAgICovXG4gIG1hcENvbmZpZz86IE1hcERlZmF1bHRDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHVzZWQgdG8gbG9va3VwIGdlbyBjb29yZGluYXRlcyBmb3IgYSB1c2VyIHByb3ZpZGVkIGFkZHJlc3MgdmlhIFtub21pbmF0aW0gQVBJXShodHRwczovL25vbWluYXRpbS5vcmcvcmVsZWFzZS1kb2NzL2RldmVsb3AvYXBpL1NlYXJjaC8pLlxuICAgKiBDYW4gYmUgc2V0IHRvIGVtcHR5IHRvIGRpc2FibGUgdGhlIGZpbmQgYWRkcmVzcyBmZWF0dXJlIG9uIHRoZSBsb2NhdGlvbiB0YWIuXG4gICAqIFVzZXM6IGBodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZy9zZWFyY2g/Zm9ybWF0PWpzb24mcT17c2VhcmNoVGVybX1gIGlmIG5vdCBzZXQuXG4gICAqL1xuICBtYXBOb21pbmF0aW1Vcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwRGVmYXVsdENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB6b29tIGxldmVsIHRvIHNldCBvbiBlYWNoIG5ldyBtYXAuXG4gICAqL1xuICB6b29tTGV2ZWw/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBjZW50ZXIgcG9zaXRpb24gb2YgZWFjaCBuZXcgbWFwLlxuICAgKi9cbiAgY2VudGVyPzogW251bWJlciwgbnVtYmVyXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBUaWxlTGF5ZXIge1xuICAvKipcbiAgICogVGhlIGxheWVyIHVybCBpbiB0aGUgc3BlY2lmaWMgbGVhZmxldCBmb3JtYXQuXG4gICAqL1xuICBsYXllclVybDogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBvcHRpb25zLiBOb3RlIHRoaXMgb3B0aW9ucyBhcmUgbm90IHR5cGVkIGFzIGxlYWZsZXQgc2hvdWxkIG5vdCBiZSBieSBkZWZhdWx0IGluY2x1ZGVkLiBUaGUgdHlwZSBmcm9tIGxlYWZsZXQgaXMgTC5UaWxlTGF5ZXJPcHRpb25zLlxuICAgKi9cbiAgb3B0aW9uczogYW55O1xuICAvKipcbiAgICogQSBsYWJlbCB0byBzaG93IHRvIHRoZSBlbmQgdXNlci5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG9yZGVyIG9mIHRoZSBsYXllcnMgdG8gYmUgc2hvd24gdG8gdGhlIHVzZXIuIEhpZ2hlc3QgcHJpb3JpdHkgZmlyc3QuXG4gICAqL1xuICBwcmlvcml0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQbHVnaW5zIHtcbiAgLyoqXG4gICAqIEEga2V5IHZhbHVlIHBhaXIsIHdoaWxlIHRoZSB2YWx1ZSBpcyBhbiBhcnJheSBvZiBtb2R1bGVzIHRvIGxvYWQgYW5kIHRoZVxuICAgKiBrZXkgaXMgdGhlIGNvbnRleHQgcGF0aC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICoge1xuICAgKiAgICAnY29ja3BpdCc6IFsnSG9tZURhc2hib2FyZE1vZHVsZScsICdEYXRhRXhwbG9yZXJEYXNoYm9hcmQnXSxcbiAgICogICAgJ3dpZGdldC1wYWNrYWdlQDEuMC4wJzogWydFeHRlbmRlZE1hcFdpZGdldCddXG4gICAqIH1cbiAgICogYGBcbiAgICovXG4gIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbnNFeHBvcnRzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBbmd1bGFyIG1vZHVsZSBjbGFzcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGggdG8gdGhlIG1vZHVsZSB0eXBlc2NyaXB0IGZpbGUuXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBzaG9ydCBkZXNjcmlwdGlvbiBhYm91dCB3aGF0IHRoZSBtb2R1bGUgZG9lcy5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNjb3BlIHRoZSBwbHVnaW4gdG8gY2VydGFpbiBhcHBsaWNhdGlvbnMuIEUuZy4gaWYgeW91XG4gICAqIGFkZCBoZXJlICdjb2NrcGl0JywgdGhlIHBsdWdpbiBjYW4gb25seSBiZSBpbnN0YWxsZWQgaW50byBhblxuICAgKiBhcHBsaWNhdGlvbiBvbiB0aGUgY29udGV4dFBhdGggYGFwcHMvY29ja3BpdGAuIFlvdSBjYW4gdXNlIGNvbW1hXG4gICAqIHNlcGFyYXRlZCB2YWx1ZXMsIGFzdGVyaXNrIChkZWZhdWx0KSB0byBhbGxvdyBhbGwgYXBwbGljYXRpb25zIG9yXG4gICAqIGBzZWxmYCB0byBsaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IHNvbHV0aW9uLlxuICAgKi9cbiAgc2NvcGU/OiAnKicgfCAnc2VsZicgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llQmFubmVyQ29uZmlndXJhdGlvbiB7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSB0aXRsZSBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRpdGxlPzogc3RyaW5nO1xuICAvKiogSGVyZSB5b3UgY2FuIHNldCB0aGUgVGV4dCBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRleHQ/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBwb2xpY3lVcmwgb2YgQ29va2llIEJhbm5lciAqL1xuICBwb2xpY3lVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uIHtcbiAgLyoqIFRoaXMgY2F0ZWdvcnkgaW5jbHVkZXMgZS5nLiBjb29raWVzIHJlbGF0ZWQgdG8gbG9nZ2luZyBpbiAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIHRyYWNraW5nIGNvb2tpZXMgICovXG4gIGZ1bmN0aW9uYWw/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBhZHZlcnRpc2luZyAgKi9cbiAgbWFya2V0aW5nPzogYm9vbGVhbiB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkV4dHJhTGluayB7XG4gIHVybDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljb24ge1xuICBjbGFzcz86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3Mge1xuICAvKiogSGlkZSBkZWZhdWx0IGxpbmtzIHRvIGRvY3VtZW50YXRpb24uICovXG4gIG5vRGVmYXVsdDogYm9vbGVhbjtcbiAgLyoqIExpc3Qgb2YgcmVnZXggc3RyaW5ncy4gTWF0Y2hpbmcgZGVmYXVsdCBkb2NzIFVSTHMgd2lsbCBiZSBoaWRkZW4uICovXG4gIGV4Y2x1ZGVEZWZhdWx0OiBzdHJpbmdbXTtcbiAgLyoqIEFkZGl0aW9uYWwgbGlua3MgdG8gYmUgZGlzcGxheWVkLiAqL1xuICBsaW5rczogTGlua3NbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rcyB7XG4gIC8qKiBJY29uIGNsYXNzZXMgd2l0aCBgYzh5LWljb25gLCBlLmcuIGBjOHktaWNvbiBjOHktaWNvbi1hZGQtdXNlcmAgb3IgYGM4eS1pY29uIGM4eS1pY29uLWRldmljZS1jb25uZWN0YC4gKi9cbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogJ2RvYycgfCAncXVpY2tsaW5rJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRXh0cmEge1xuICBbbGFuZ0NvZGU6IHN0cmluZ106IEkxOG5FeHRyYUxhbmdDb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYUxhbmdDb2RlIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlcyB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogTGFuZ3VhZ2VzTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzTGFuZ0NvZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hdGl2ZU5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRpbmdDc3NWYXJzIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIl19
|
|
@@ -15,13 +15,13 @@ export const documentationItems = [
|
|
|
15
15
|
{
|
|
16
16
|
icon: 'c8y-user',
|
|
17
17
|
label: gettext('Getting started`KEEP_ORIGINAL`'),
|
|
18
|
-
url: '/docs/
|
|
18
|
+
url: '/docs/sector/getting_started',
|
|
19
19
|
type: 'doc'
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
icon: 'c8y-administration',
|
|
23
23
|
label: gettext('Platform administration`KEEP_ORIGINAL`'),
|
|
24
|
-
url: '/docs/
|
|
24
|
+
url: '/docs/sector/platform_administration',
|
|
25
25
|
type: 'doc'
|
|
26
26
|
},
|
|
27
27
|
{
|
|
@@ -33,7 +33,7 @@ export const documentationItems = [
|
|
|
33
33
|
{
|
|
34
34
|
icon: 'c8y-cockpit',
|
|
35
35
|
label: gettext('Application enablement`KEEP_ORIGINAL`'),
|
|
36
|
-
url: '/docs/
|
|
36
|
+
url: '/docs/sector/app_enablement',
|
|
37
37
|
type: 'doc'
|
|
38
38
|
},
|
|
39
39
|
{
|
|
@@ -56,4 +56,4 @@ export const documentationItems = [
|
|
|
56
56
|
},
|
|
57
57
|
legalNoticesItem
|
|
58
58
|
];
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuaXRlbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RvY3MvZGVmYXVsdHMuaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzFDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFxQjtJQUNoRCxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQy9CLEdBQUcsRUFBRSw0Q0FBNEM7SUFDakQsSUFBSSxFQUFFLEtBQUs7Q0FDWixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQXVCO0lBQ3BEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztRQUN6QyxHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxPQUFPLENBQUMsZ0NBQWdDLENBQUM7UUFDaEQsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLEtBQUssRUFBRSxPQUFPLENBQUMsd0NBQXdDLENBQUM7UUFDeEQsR0FBRyxFQUFFLHNDQUFzQztRQUMzQyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBRUQ7UUFDRSxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsa0NBQWtDLENBQUM7UUFDbEQsR0FBRyxFQUFFLGlDQUFpQztRQUN0QyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixLQUFLLEVBQUUsT0FBTyxDQUFDLHVDQUF1QyxDQUFDO1FBQ3ZELEdBQUcsRUFBRSw2QkFBNkI7UUFDbEMsSUFBSSxFQUFFLEtBQUs7S0FDWjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztRQUNwRCxHQUFHLEVBQUUsOEJBQThCO1FBQ25DLElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxtQkFBbUI7UUFDekIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztRQUNwRCxHQUFHLEVBQUUsOENBQThDO1FBQ25ELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUM7UUFDdEQsR0FBRyxFQUFFLE1BQU07UUFDWCxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0QsZ0JBQWdCO0NBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnLi4vaTE4bi9nZXR0ZXh0JztcbmltcG9ydCB7IERvY0xpbmtXaXRoTGFiZWwgfSBmcm9tICcuL2RvY3MubW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IGxlZ2FsTm90aWNlc0l0ZW06IERvY0xpbmtXaXRoTGFiZWwgPSB7XG4gIGljb246ICdnYXZlbCcsXG4gIGxhYmVsOiBnZXR0ZXh0KCdMZWdhbCBub3RpY2VzJyksXG4gIHVybDogJ2h0dHBzOi8vY3VtdWxvY2l0eS5jb20vZG9jcy9sZWdhbC1ub3RpY2VzLycsXG4gIHR5cGU6ICdkb2MnXG59O1xuXG5leHBvcnQgY29uc3QgZG9jdW1lbnRhdGlvbkl0ZW1zOiBEb2NMaW5rV2l0aExhYmVsW10gPSBbXG4gIHtcbiAgICBpY29uOiAnYzh5LWM4eS1kYXRhJywgLy8gZG91YmxlIGM4eS0gaXMgY29ycmVjdCFcbiAgICBsYWJlbDogZ2V0dGV4dCgnQ29uY2VwdHNgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9jb25jZXB0cy9pbnRyb2R1Y3Rpb24nLFxuICAgIHR5cGU6ICdkb2MnXG4gIH0sXG4gIHtcbiAgICBpY29uOiAnYzh5LXVzZXInLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdHZXR0aW5nIHN0YXJ0ZWRgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9zZWN0b3IvZ2V0dGluZ19zdGFydGVkJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICB7XG4gICAgaWNvbjogJ2M4eS1hZG1pbmlzdHJhdGlvbicsXG4gICAgbGFiZWw6IGdldHRleHQoJ1BsYXRmb3JtIGFkbWluaXN0cmF0aW9uYEtFRVBfT1JJR0lOQUxgJyksXG4gICAgdXJsOiAnL2RvY3Mvc2VjdG9yL3BsYXRmb3JtX2FkbWluaXN0cmF0aW9uJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuXG4gIHtcbiAgICBpY29uOiAnYzh5LWRldmljZS1tYW5hZ2VtZW50JyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnRGV2aWNlIG1hbmFnZW1lbnRgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9zZWN0aW9uL2RldmljZV9tYW5hZ2VtZW50JyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICB7XG4gICAgaWNvbjogJ2M4eS1jb2NrcGl0JyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnQXBwbGljYXRpb24gZW5hYmxlbWVudGBLRUVQX09SSUdJTkFMYCcpLFxuICAgIHVybDogJy9kb2NzL3NlY3Rvci9hcHBfZW5hYmxlbWVudCcsXG4gICAgdHlwZTogJ2RvYydcbiAgfSxcbiAge1xuICAgIGljb246ICdjOHktYm9vaycsXG4gICAgbGFiZWw6IGdldHRleHQoJ0N1bXVsb2NpdHkgSW9UIEVkZ2VgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9lZGdlL2VkZ2UtaW50cm9kdWN0aW9uJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICB7XG4gICAgaWNvbjogJ2M4eS1kYXRhLWV4cGxvcmVyJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnU3RyZWFtaW5nIGFuYWx5dGljc2BLRUVQX09SSUdJTkFMYCcpLFxuICAgIHVybDogJy9kb2NzL3N0cmVhbWluZy1hbmFseXRpY3Mvb3ZlcnZpZXctYW5hbHl0aWNzJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICB7XG4gICAgaWNvbjogJ3Jlc3QtYXBpJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnT3BlbkFQSSBzcGVjaWZpY2F0aW9uYEtFRVBfT1JJR0lOQUxgJyksXG4gICAgdXJsOiAnL2FwaScsXG4gICAgdHlwZTogJ2RvYydcbiAgfSxcbiAgbGVnYWxOb3RpY2VzSXRlbVxuXTtcbiJdfQ==
|
|
@@ -22,7 +22,7 @@ export class DocsService extends ExtensionPointWithoutStateForPlugins {
|
|
|
22
22
|
/**
|
|
23
23
|
* Default documentation URL.
|
|
24
24
|
*/
|
|
25
|
-
this.DEFAULT_DOCS_BASE_URL = 'https://
|
|
25
|
+
this.DEFAULT_DOCS_BASE_URL = 'https://cumulocity.com';
|
|
26
26
|
this.items$ = this.setupItemsObservable();
|
|
27
27
|
}
|
|
28
28
|
getBaseUrl(uiVersion) {
|
|
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
123
123
|
providedIn: 'root'
|
|
124
124
|
}]
|
|
125
125
|
}], ctorParameters: function () { return [{ type: i1.OptionsService }, { type: i2.AppStateService }, { type: i0.Injector }, { type: i3.Router }, { type: i4.PluginsResolveService }]; } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kb2NzL2RvY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBVyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsZUFBZSxFQUNmLGdCQUFnQixFQUNqQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7OztBQUtuRCxNQUFNLE9BQU8sV0FBWSxTQUFRLG9DQUE2QztJQUs1RSxZQUNVLE9BQXVCLEVBQ3ZCLEdBQW9CLEVBQzVCLFlBQXNCLEVBQ2QsTUFBYyxFQUN0QixPQUE4QjtRQUU5QixLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTnJCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBRXBCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFSeEI7O1dBRUc7UUFDTSwwQkFBcUIsR0FBRyw0QkFBNEIsQ0FBQztRQVM1RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBb0M7UUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQVMsYUFBYSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gscUJBQXFCLENBQ25CLEdBQVcsRUFDWCxZQUFzQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVM7UUFFeEQsTUFBTSxPQUFPLEdBQVcsT0FBTyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUYsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDN0MsV0FBVyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4RDtRQUNELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLDZCQUE2QixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQUk7UUFDbkIsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDdkIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsR0FBRztRQUNELGdDQUFnQztRQUNoQyxNQUFNLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxjQUFjLEdBQUcsRUFBRSxFQUNwQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUlqQixNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDZixJQUFJLFdBQVcsR0FBYyxTQUFTO1lBQ3BDLENBQUMsQ0FBQyxFQUFFO1lBQ0osQ0FBQyxDQUFDLGtCQUFrQjtpQkFDZixHQUFHLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNwRixNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9FLElBQUksS0FBSyxFQUFFO1lBQ1QsMEJBQTBCO1lBQzFCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFZLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN6QixHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztvQkFDakIsT0FBTyxHQUFHLENBQUM7aUJBQ1o7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUUsT0FBTyxlQUFlLENBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQ1gsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3pDLENBQUMsZ0JBQWdCLENBQVUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUNuRixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVc7UUFDdEMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sV0FBVzthQUNmLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDN0MsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8sZUFBZSxDQUFDLFdBQVcsR0FBRyxFQUFFO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxHQUFHLE1BQU0sR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLDBCQUEwQixDQUFDLFNBQWlCO1FBQ2xELE1BQU0sQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sYUFBYSxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RixPQUFPLEdBQUcsV0FBVyxJQUFJLFdBQVcsSUFBSSxDQUFDO0lBQzNDLENBQUM7O3dHQXBJVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBkb2N1bWVudGF0aW9uSXRlbXMgfSBmcm9tICcuL2RlZmF1bHRzLml0ZW1zJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IERvY0xpbmssIEhPT0tfRE9DUywgRG9jTGlua1dpdGhMYWJlbCB9IGZyb20gJy4vZG9jcy5tb2RlbHMnO1xuaW1wb3J0IHtcbiAgRXh0ZW5zaW9uUG9pbnRXaXRob3V0U3RhdGVGb3JQbHVnaW5zLFxuICBmcm9tVHJpZ2dlck9uY2UsXG4gIGdldEluamVjdGVkSG9va3Ncbn0gZnJvbSAnLi4vY29tbW9uL2V4dGVuc2lvbi1ob29rcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXksIGZpcnN0LCBmaWx0ZXIsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQsIGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuLi9wbHVnaW5zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRG9jc1NlcnZpY2UgZXh0ZW5kcyBFeHRlbnNpb25Qb2ludFdpdGhvdXRTdGF0ZUZvclBsdWdpbnM8RG9jTGluaz4ge1xuICAvKipcbiAgICogRGVmYXVsdCBkb2N1bWVudGF0aW9uIFVSTC5cbiAgICovXG4gIHJlYWRvbmx5IERFRkFVTFRfRE9DU19CQVNFX1VSTCA9ICdodHRwczovL3d3dy5jdW11bG9jaXR5LmNvbSc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHA6IEFwcFN0YXRlU2VydmljZSxcbiAgICByb290SW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcGx1Z2luczogUGx1Z2luc1Jlc29sdmVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHJvb3RJbmplY3RvciwgcGx1Z2lucyk7XG4gICAgdGhpcy5pdGVtcyQgPSB0aGlzLnNldHVwSXRlbXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXRCYXNlVXJsKHVpVmVyc2lvbj86IHN0cmluZyB8IHsgbmd4OiBzdHJpbmcgfSk6IHN0cmluZyB7XG4gICAgY29uc3QgZG9jc0Jhc2VVcmwgPSB0aGlzLm9wdGlvbnMuZ2V0PHN0cmluZz4oJ2RvY3NCYXNlVXJsJywgdGhpcy5ERUZBVUxUX0RPQ1NfQkFTRV9VUkwpO1xuICAgIHJldHVybiB0aGlzLmdldFVybFdpdGhEb2NzVmVyc2lvbihkb2NzQmFzZVVybCwgdWlWZXJzaW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYWtlcyBhIFVSTCBhbmQgcmVwbGFjZXMgYWxsIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlcnMgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uXG4gICAqICh0aGUgdmVyc2lvbiBpcyBkZXJpdmVkIGZyb20gdGhlIGFwcCBzdGF0ZSBvciBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXIpLlxuICAgKiBAcGFyYW0gdXJsIEFueSBVUkwgdGhhdCBjb250YWlucyBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXJzLlxuICAgKiBAcGFyYW0gdWlWZXJzaW9uIEEgdmVyc2lvbiBzdHJpbmcgb3Igb2JqZWN0LCBkZWZhdWx0cyB0byB0aGUgYXBwIHN0YXRlIHZlcnNpb24uXG4gICAqIEByZXR1cm5zIFRoZSBVUkwgd2l0aCByZXBsYWNlZCBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXJzLlxuICAgKi9cbiAgZ2V0VXJsV2l0aERvY3NWZXJzaW9uKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHVpVmVyc2lvbjogc3RyaW5nIHwgeyBuZ3g6IHN0cmluZyB9ID0gdGhpcy5hcHAudWlWZXJzaW9uXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgdmVyc2lvbjogc3RyaW5nID0gdHlwZW9mIHVpVmVyc2lvbiA9PT0gJ3N0cmluZycgPyB1aVZlcnNpb24gOiBnZXQodWlWZXJzaW9uLCAnbmd4Jyk7XG4gICAgbGV0IGRvY3NWZXJzaW9uID0gJyc7XG4gICAgaWYgKCEoaXNVbmRlZmluZWQodmVyc2lvbikgfHwgdmVyc2lvbiA9PT0gJycpKSB7XG4gICAgICBkb2NzVmVyc2lvbiA9IHRoaXMuZ2V0RG9jc1ZlcnNpb25Gb3JVaVZlcnNpb24odmVyc2lvbik7XG4gICAgfVxuICAgIHJldHVybiB1cmwucmVwbGFjZSgve3tcXHMqdmVyc2lvblxccyp9fS9nLCBkb2NzVmVyc2lvbikucmVwbGFjZSgvXFwvKyQvZywgJycpO1xuICB9XG5cbiAgZ2V0IHRlbXBsYXRlU3RyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQoJ2d1aWRlSHJlZlRlbXBsYXRlJywgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfScpO1xuICB9XG5cbiAgZ2V0VXNlckd1aWRlTGluayhsaW5rKSB7XG4gICAgaWYgKC9eaHR0cHM/Oi8udGVzdChsaW5rKSkge1xuICAgICAgcmV0dXJuIGxpbms7XG4gICAgfVxuICAgIGlmICh0aGlzLmdldEJhc2VVcmwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRMaW5rKHRoaXMudGVtcGxhdGVTdHIsIGxpbmspO1xuICB9XG5cbiAgbGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoaSA9PiAhIWkubGVuZ3RoKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZ2V0KCkge1xuICAgIC8vIHVzZSB0aGUgZnVuY3Rpb24gYXMgYSBmYWN0b3J5XG4gICAgY29uc3Qge1xuICAgICAgbGlua3MsXG4gICAgICBub0RlZmF1bHQsXG4gICAgICBleGNsdWRlRGVmYXVsdCA9IFtdXG4gICAgfSA9IHRoaXMub3B0aW9ucy5nZXQ8e1xuICAgICAgbGlua3M/OiBEb2NMaW5rW107XG4gICAgICBub0RlZmF1bHQ/OiBib29sZWFuO1xuICAgICAgZXhjbHVkZURlZmF1bHQ/OiAoc3RyaW5nIHwgUmVnRXhwKVtdO1xuICAgIH0+KCdkb2NzJywge30pO1xuICAgIGxldCBzdGF0aWNMaW5rczogRG9jTGlua1tdID0gbm9EZWZhdWx0XG4gICAgICA/IFtdXG4gICAgICA6IGRvY3VtZW50YXRpb25JdGVtc1xuICAgICAgICAgIC5tYXAoKGl0ZW06IERvY0xpbmtXaXRoTGFiZWwpID0+ICh7IC4uLml0ZW0sIHVybDogdGhpcy5nZXRVc2VyR3VpZGVMaW5rKGl0ZW0udXJsKSB9KSlcbiAgICAgICAgICAuZmlsdGVyKCh7IHVybCB9KSA9PiAhZXhjbHVkZURlZmF1bHQuc29tZShlID0+IG5ldyBSZWdFeHAoZSkudGVzdCh1cmwpKSk7XG5cbiAgICBpZiAobGlua3MpIHtcbiAgICAgIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgICBsaW5rcy5tYXAoKGxuazogRG9jTGluaykgPT4ge1xuICAgICAgICBpZiAoaXNVbmRlZmluZWQobG5rLnR5cGUpKSB7XG4gICAgICAgICAgbG5rLnR5cGUgPSAnZG9jJztcbiAgICAgICAgICByZXR1cm4gbG5rO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHN0YXRpY0xpbmtzID0gc3RhdGljTGlua3MuY29uY2F0KGxpbmtzKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXRpY0xpbmtzO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwSXRlbXNPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8RG9jTGlua1tdPiB7XG4gICAgY29uc3Qgc3VwcG9ydFVybFJlZnJlc2hUcmlnZ2VyID0gdGhpcy5hcHAubWFwKCh7IHN1cHBvcnRVcmwgfSkgPT4gc3VwcG9ydFVybCk7XG4gICAgcmV0dXJuIGZyb21UcmlnZ2VyT25jZTxEb2NMaW5rPihcbiAgICAgIHRoaXMucm91dGVyLFxuICAgICAgW3N1cHBvcnRVcmxSZWZyZXNoVHJpZ2dlciwgdGhpcy5yZWZyZXNoJF0sXG4gICAgICBbZ2V0SW5qZWN0ZWRIb29rczxEb2NMaW5rPihIT09LX0RPQ1MsIHRoaXMuaW5qZWN0b3JzKSwgKCkgPT4gdGhpcy5mYWN0b3JpZXMsIHRoaXNdXG4gICAgKS5waXBlKHNoYXJlUmVwbGF5KDEpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGluayh0ZW1wbGF0ZVN0ciwgcGFydGlhbExpbmspIHtcbiAgICBpZiAoIXRlbXBsYXRlU3RyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGVtcGxhdGVTdHJcbiAgICAgIC5yZXBsYWNlKC9cXCR7ZG9jc0Jhc2VVcmx9LywgdGhpcy5nZXRCYXNlVXJsKCkpXG4gICAgICAucmVwbGFjZSgvXFwke3BhcnRpYWxVcmx9LywgdGhpcy5wcmVmaXhXaXRoU2xhc2gocGFydGlhbExpbmspKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlZml4V2l0aFNsYXNoKHBhcnRpYWxMaW5rID0gJycpIHtcbiAgICBjb25zdCBzaG91bGRQcmVmaXggPSAhKHBhcnRpYWxMaW5rICYmIC9eXFwvLy50ZXN0KHBhcnRpYWxMaW5rKSk7XG4gICAgY29uc3QgcHJlZml4ID0gc2hvdWxkUHJlZml4ID8gJy8nIDogJyc7XG4gICAgcmV0dXJuIGAke3ByZWZpeH0ke3BhcnRpYWxMaW5rfWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbW9zdCByZWxldmFudCB2ZXJzaW9uIG9mIGRvY3VtZW50YXRpb24gZm9yIHRoZSBnaXZlbiB2ZXJzaW9uIG9mIFVJLlxuICAgKiBGb3IgbWFpbnRlbmFuY2UgdmVyc2lvbnMsIGl0J3MgdGhlIGZpcnN0IHZlcnNpb24gaW4gdGhlIGxpbmUsIGUuZy4gMTAxNy4wLjEyMyAtPiAxMC4xNy4wLlxuICAgKiBGb3IgZGV2ZWxvcCB2ZXJzaW9ucywgaXQncyB0aGUgbmV4dCBtaW5vciBvbmUsIGUuZy4gMTAxNy4xMjMuMC1TTkFQU0hPVCAtPiAxMC4xOC4wLlxuICAgKlxuICAgKiBAcGFyYW0gdWlWZXJzaW9uIFRoZSB2ZXJzaW9uIG9mIFVJLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXREb2NzVmVyc2lvbkZvclVpVmVyc2lvbih1aVZlcnNpb246IHN0cmluZykge1xuICAgIGNvbnN0IFttYWpvck1pbm9yU3RyLCBwYXRjaFN0cl0gPSB1aVZlcnNpb24uc3BsaXQoJy4nKTtcbiAgICBjb25zdCBwYXRjaE51bWJlciA9IHBhcnNlSW50KHBhdGNoU3RyLCAxMCk7XG4gICAgY29uc3QgdGFrZU5leHRNaW5vciA9IHBhdGNoTnVtYmVyID4gMDtcbiAgICBjb25zdCBtYWpvck51bWJlciA9IE1hdGguZmxvb3IocGFyc2VJbnQobWFqb3JNaW5vclN0ciwgMTApIC8gMTAwKTtcbiAgICBjb25zdCBtaW5vck51bWJlciA9IHBhcnNlSW50KG1ham9yTWlub3JTdHIsIDEwKSAtIG1ham9yTnVtYmVyICogMTAwICsgKHRha2VOZXh0TWlub3IgPyAxIDogMCk7XG4gICAgcmV0dXJuIGAke21ham9yTnVtYmVyfS4ke21pbm9yTnVtYmVyfS4wYDtcbiAgfVxufVxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kb2NzL2RvY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBVyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsZUFBZSxFQUNmLGdCQUFnQixFQUNqQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7OztBQUtuRCxNQUFNLE9BQU8sV0FBWSxTQUFRLG9DQUE2QztJQUs1RSxZQUNVLE9BQXVCLEVBQ3ZCLEdBQW9CLEVBQzVCLFlBQXNCLEVBQ2QsTUFBYyxFQUN0QixPQUE4QjtRQUU5QixLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTnJCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBRXBCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFSeEI7O1dBRUc7UUFDTSwwQkFBcUIsR0FBRyx3QkFBd0IsQ0FBQztRQVN4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Qy9ELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxHQUFHLE1BQU0sR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLDBCQUEwQixDQUFDLFNBQWlCO1FBQ2xELE1BQU0sQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sYUFBYSxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RixPQUFPLEdBQUcsV0FBVyxJQUFJLFdBQVcsSUFBSSxDQUFDO0lBQzNDLENBQUM7O3dHQXBJVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBkb2N1bWVudGF0aW9uSXRlbXMgfSBmcm9tICcuL2RlZmF1bHRzLml0ZW1zJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IERvY0xpbmssIEhPT0tfRE9DUywgRG9jTGlua1dpdGhMYWJlbCB9IGZyb20gJy4vZG9jcy5tb2RlbHMnO1xuaW1wb3J0IHtcbiAgRXh0ZW5zaW9uUG9pbnRXaXRob3V0U3RhdGVGb3JQbHVnaW5zLFxuICBmcm9tVHJpZ2dlck9uY2UsXG4gIGdldEluamVjdGVkSG9va3Ncbn0gZnJvbSAnLi4vY29tbW9uL2V4dGVuc2lvbi1ob29rcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXksIGZpcnN0LCBmaWx0ZXIsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQsIGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuLi9wbHVnaW5zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRG9jc1NlcnZpY2UgZXh0ZW5kcyBFeHRlbnNpb25Qb2ludFdpdGhvdXRTdGF0ZUZvclBsdWdpbnM8RG9jTGluaz4ge1xuICAvKipcbiAgICogRGVmYXVsdCBkb2N1bWVudGF0aW9uIFVSTC5cbiAgICovXG4gIHJlYWRvbmx5IERFRkFVTFRfRE9DU19CQVNFX1VSTCA9ICdodHRwczovL2N1bXVsb2NpdHkuY29tJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGFwcDogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHJvb3RJbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwbHVnaW5zOiBQbHVnaW5zUmVzb2x2ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocm9vdEluamVjdG9yLCBwbHVnaW5zKTtcbiAgICB0aGlzLml0ZW1zJCA9IHRoaXMuc2V0dXBJdGVtc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldEJhc2VVcmwodWlWZXJzaW9uPzogc3RyaW5nIHwgeyBuZ3g6IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBkb2NzQmFzZVVybCA9IHRoaXMub3B0aW9ucy5nZXQ8c3RyaW5nPignZG9jc0Jhc2VVcmwnLCB0aGlzLkRFRkFVTFRfRE9DU19CQVNFX1VSTCk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXJsV2l0aERvY3NWZXJzaW9uKGRvY3NCYXNlVXJsLCB1aVZlcnNpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRha2VzIGEgVVJMIGFuZCByZXBsYWNlcyBhbGwgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVycyB3aXRoIHRoZSByZWxldmFudCBkb2NzIHZlcnNpb25cbiAgICogKHRoZSB2ZXJzaW9uIGlzIGRlcml2ZWQgZnJvbSB0aGUgYXBwIHN0YXRlIG9yIGZyb20gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcikuXG4gICAqIEBwYXJhbSB1cmwgQW55IFVSTCB0aGF0IGNvbnRhaW5zIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlcnMuXG4gICAqIEBwYXJhbSB1aVZlcnNpb24gQSB2ZXJzaW9uIHN0cmluZyBvciBvYmplY3QsIGRlZmF1bHRzIHRvIHRoZSBhcHAgc3RhdGUgdmVyc2lvbi5cbiAgICogQHJldHVybnMgVGhlIFVSTCB3aXRoIHJlcGxhY2VkIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlcnMuXG4gICAqL1xuICBnZXRVcmxXaXRoRG9jc1ZlcnNpb24oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdWlWZXJzaW9uOiBzdHJpbmcgfCB7IG5neDogc3RyaW5nIH0gPSB0aGlzLmFwcC51aVZlcnNpb25cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ZXJzaW9uOiBzdHJpbmcgPSB0eXBlb2YgdWlWZXJzaW9uID09PSAnc3RyaW5nJyA/IHVpVmVyc2lvbiA6IGdldCh1aVZlcnNpb24sICduZ3gnKTtcbiAgICBsZXQgZG9jc1ZlcnNpb24gPSAnJztcbiAgICBpZiAoIShpc1VuZGVmaW5lZCh2ZXJzaW9uKSB8fCB2ZXJzaW9uID09PSAnJykpIHtcbiAgICAgIGRvY3NWZXJzaW9uID0gdGhpcy5nZXREb2NzVmVyc2lvbkZvclVpVmVyc2lvbih2ZXJzaW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKC97e1xccyp2ZXJzaW9uXFxzKn19L2csIGRvY3NWZXJzaW9uKS5yZXBsYWNlKC9cXC8rJC9nLCAnJyk7XG4gIH1cblxuICBnZXQgdGVtcGxhdGVTdHIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldCgnZ3VpZGVIcmVmVGVtcGxhdGUnLCAnJHtkb2NzQmFzZVVybH0ke3BhcnRpYWxVcmx9Jyk7XG4gIH1cblxuICBnZXRVc2VyR3VpZGVMaW5rKGxpbmspIHtcbiAgICBpZiAoL15odHRwcz86Ly50ZXN0KGxpbmspKSB7XG4gICAgICByZXR1cm4gbGluaztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2V0QmFzZVVybCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldExpbmsodGhpcy50ZW1wbGF0ZVN0ciwgbGluayk7XG4gIH1cblxuICBsaXN0KCkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihpID0+ICEhaS5sZW5ndGgpLFxuICAgICAgICBmaXJzdCgpXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgLy8gdXNlIHRoZSBmdW5jdGlvbiBhcyBhIGZhY3RvcnlcbiAgICBjb25zdCB7XG4gICAgICBsaW5rcyxcbiAgICAgIG5vRGVmYXVsdCxcbiAgICAgIGV4Y2x1ZGVEZWZhdWx0ID0gW11cbiAgICB9ID0gdGhpcy5vcHRpb25zLmdldDx7XG4gICAgICBsaW5rcz86IERvY0xpbmtbXTtcbiAgICAgIG5vRGVmYXVsdD86IGJvb2xlYW47XG4gICAgICBleGNsdWRlRGVmYXVsdD86IChzdHJpbmcgfCBSZWdFeHApW107XG4gICAgfT4oJ2RvY3MnLCB7fSk7XG4gICAgbGV0IHN0YXRpY0xpbmtzOiBEb2NMaW5rW10gPSBub0RlZmF1bHRcbiAgICAgID8gW11cbiAgICAgIDogZG9jdW1lbnRhdGlvbkl0ZW1zXG4gICAgICAgICAgLm1hcCgoaXRlbTogRG9jTGlua1dpdGhMYWJlbCkgPT4gKHsgLi4uaXRlbSwgdXJsOiB0aGlzLmdldFVzZXJHdWlkZUxpbmsoaXRlbS51cmwpIH0pKVxuICAgICAgICAgIC5maWx0ZXIoKHsgdXJsIH0pID0+ICFleGNsdWRlRGVmYXVsdC5zb21lKGUgPT4gbmV3IFJlZ0V4cChlKS50ZXN0KHVybCkpKTtcblxuICAgIGlmIChsaW5rcykge1xuICAgICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICAgIGxpbmtzLm1hcCgobG5rOiBEb2NMaW5rKSA9PiB7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZChsbmsudHlwZSkpIHtcbiAgICAgICAgICBsbmsudHlwZSA9ICdkb2MnO1xuICAgICAgICAgIHJldHVybiBsbms7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgc3RhdGljTGlua3MgPSBzdGF0aWNMaW5rcy5jb25jYXQobGlua3MpO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGljTGlua3M7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBJdGVtc09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxEb2NMaW5rW10+IHtcbiAgICBjb25zdCBzdXBwb3J0VXJsUmVmcmVzaFRyaWdnZXIgPSB0aGlzLmFwcC5tYXAoKHsgc3VwcG9ydFVybCB9KSA9PiBzdXBwb3J0VXJsKTtcbiAgICByZXR1cm4gZnJvbVRyaWdnZXJPbmNlPERvY0xpbms+KFxuICAgICAgdGhpcy5yb3V0ZXIsXG4gICAgICBbc3VwcG9ydFVybFJlZnJlc2hUcmlnZ2VyLCB0aGlzLnJlZnJlc2gkXSxcbiAgICAgIFtnZXRJbmplY3RlZEhvb2tzPERvY0xpbms+KEhPT0tfRE9DUywgdGhpcy5pbmplY3RvcnMpLCAoKSA9PiB0aGlzLmZhY3RvcmllcywgdGhpc11cbiAgICApLnBpcGUoc2hhcmVSZXBsYXkoMSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMaW5rKHRlbXBsYXRlU3RyLCBwYXJ0aWFsTGluaykge1xuICAgIGlmICghdGVtcGxhdGVTdHIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0ZW1wbGF0ZVN0clxuICAgICAgLnJlcGxhY2UoL1xcJHtkb2NzQmFzZVVybH0vLCB0aGlzLmdldEJhc2VVcmwoKSlcbiAgICAgIC5yZXBsYWNlKC9cXCR7cGFydGlhbFVybH0vLCB0aGlzLnByZWZpeFdpdGhTbGFzaChwYXJ0aWFsTGluaykpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVmaXhXaXRoU2xhc2gocGFydGlhbExpbmsgPSAnJykge1xuICAgIGNvbnN0IHNob3VsZFByZWZpeCA9ICEocGFydGlhbExpbmsgJiYgL15cXC8vLnRlc3QocGFydGlhbExpbmspKTtcbiAgICBjb25zdCBwcmVmaXggPSBzaG91bGRQcmVmaXggPyAnLycgOiAnJztcbiAgICByZXR1cm4gYCR7cHJlZml4fSR7cGFydGlhbExpbmt9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBtb3N0IHJlbGV2YW50IHZlcnNpb24gb2YgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGdpdmVuIHZlcnNpb24gb2YgVUkuXG4gICAqIEZvciBtYWludGVuYW5jZSB2ZXJzaW9ucywgaXQncyB0aGUgZmlyc3QgdmVyc2lvbiBpbiB0aGUgbGluZSwgZS5nLiAxMDE3LjAuMTIzIC0+IDEwLjE3LjAuXG4gICAqIEZvciBkZXZlbG9wIHZlcnNpb25zLCBpdCdzIHRoZSBuZXh0IG1pbm9yIG9uZSwgZS5nLiAxMDE3LjEyMy4wLVNOQVBTSE9UIC0+IDEwLjE4LjAuXG4gICAqXG4gICAqIEBwYXJhbSB1aVZlcnNpb24gVGhlIHZlcnNpb24gb2YgVUkuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldERvY3NWZXJzaW9uRm9yVWlWZXJzaW9uKHVpVmVyc2lvbjogc3RyaW5nKSB7XG4gICAgY29uc3QgW21ham9yTWlub3JTdHIsIHBhdGNoU3RyXSA9IHVpVmVyc2lvbi5zcGxpdCgnLicpO1xuICAgIGNvbnN0IHBhdGNoTnVtYmVyID0gcGFyc2VJbnQocGF0Y2hTdHIsIDEwKTtcbiAgICBjb25zdCB0YWtlTmV4dE1pbm9yID0gcGF0Y2hOdW1iZXIgPiAwO1xuICAgIGNvbnN0IG1ham9yTnVtYmVyID0gTWF0aC5mbG9vcihwYXJzZUludChtYWpvck1pbm9yU3RyLCAxMCkgLyAxMDApO1xuICAgIGNvbnN0IG1pbm9yTnVtYmVyID0gcGFyc2VJbnQobWFqb3JNaW5vclN0ciwgMTApIC0gbWFqb3JOdW1iZXIgKiAxMDAgKyAodGFrZU5leHRNaW5vciA/IDEgOiAwKTtcbiAgICByZXR1cm4gYCR7bWFqb3JOdW1iZXJ9LiR7bWlub3JOdW1iZXJ9LjBgO1xuICB9XG59XG4iXX0=
|
|
@@ -127,13 +127,15 @@ export class TranslateService {
|
|
|
127
127
|
return this.getQueryParameter('lang');
|
|
128
128
|
}
|
|
129
129
|
parseLocaleCode(localeCode, outputSeparator = '_') {
|
|
130
|
-
|
|
130
|
+
// - 2 letter language code
|
|
131
|
+
// - optional region code that's either 2 letters OR 3 digits
|
|
132
|
+
const matches = localeCode.match(/^([a-z]{2})([_-]([a-z]{2}|[0-9]{3}))?$/i);
|
|
131
133
|
if (!matches) {
|
|
132
|
-
throw new Error(`Could not parse locale code "${localeCode}"
|
|
134
|
+
throw new Error(`Could not parse locale code "${localeCode}". Expected format: language code (2 letters) optionally followed by region code (2 letters or 3 digits) separated with "_" or "-", e.g. "en-US" or "es-419".`);
|
|
133
135
|
}
|
|
134
136
|
const langCode = matches[1].toLowerCase();
|
|
135
|
-
const
|
|
136
|
-
const langCountryCode = `${langCode}${
|
|
137
|
+
const regionCode = matches[3]?.toUpperCase();
|
|
138
|
+
const langCountryCode = `${langCode}${regionCode ? `${outputSeparator}${regionCode}` : ''}`;
|
|
137
139
|
return { langCode, langCountryCode };
|
|
138
140
|
}
|
|
139
141
|
getLessSpecific(lang) {
|
|
@@ -269,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
269
271
|
}] }, { type: i4.BsLocaleService, decorators: [{
|
|
270
272
|
type: Optional
|
|
271
273
|
}] }]; } });
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2kxOG4vdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLElBQUksbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixVQUFVLEVBQ1YsUUFBUSxFQUNSLFVBQVUsRUFDWCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixNQUFNLENBQUMsV0FBVztRQUNoQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUtELFlBQ1UsWUFBaUMsRUFDakMsRUFBbUIsRUFD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R0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixNQUFNO2FBQ1A7WUFDRCxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNULFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixNQUFNO2FBQ1A7WUFDRCxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNULFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixNQUFNO2FBQ1A7WUFDRCxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNULFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixNQUFNO2FBQ1A7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxZQUFZLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQzs7QUF6UU0sa0NBQWlCLEdBQUcsY0FBYyxDQUFDOzZHQUQvQixnQkFBZ0IsK0dBYWpCLFFBQVE7aUhBYlAsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFjSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgYXMgTmd4VHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaXNTdHJpbmcsIGtleXMgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IGdldEFuZ3VsYXJMb2NhbGVzTGFuZ3VhZ2VTdHJpbmcgfSBmcm9tICcuL2kxOG4ubW9kdWxlJztcbmltcG9ydCB7IGxvYWRMb2NhbGUgfSBmcm9tICcuL2xvYWQtbG9jYWxlJztcbmltcG9ydCB7XG4gIGRlZmluZUxvY2FsZSxcbiAgZGVMb2NhbGUsXG4gIGVuR2JMb2NhbGUsXG4gIGVzTG9jYWxlLFxuICBmckxvY2FsZSxcbiAgamFMb2NhbGUsXG4gIGtvTG9jYWxlLFxuICBubExvY2FsZSxcbiAgcGxMb2NhbGUsXG4gIHB0QnJMb2NhbGUsXG4gIHJ1TG9jYWxlLFxuICB6aENuTG9jYWxlXG59IGZyb20gJ25neC1ib290c3RyYXAvY2hyb25vcyc7XG5pbXBvcnQgeyBCc0xvY2FsZVNlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuXG4vKipcbiAqIEEgc2VydmljZSB0byBtYW5hZ2UgdGhlIGxhbmd1YWdlIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSB7XG4gIHN0YXRpYyBTQVZFX0xBTkdVQUdFX0tFWSA9ICdjOHlfbGFuZ3VhZ2UnO1xuICBzdGF0aWMgZGVmYXVsdExhbmcoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShUcmFuc2xhdGVTZXJ2aWNlLlNBVkVfTEFOR1VBR0VfS0VZKTtcbiAgfVxuICBsYW5nc0RldGFpbDogYW55ID0gdGhpcy5vcHRpb25zLmdldCgnbGFuZ3VhZ2VzJywge30pO1xuICBsYW5nczogYW55ID0ga2V5cyh0aGlzLmxhbmdzRGV0YWlsKS5maWx0ZXIoayA9PiB0aGlzLmxhbmdzRGV0YWlsW2tdKTtcbiAgcHJpdmF0ZSBERUZBVUxUX1NFUEFSQVRPUiA9ICdfJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5neFRyYW5zbGF0ZTogTmd4VHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHVpOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGJzTG9jYWxlU2VydmljZTogQnNMb2NhbGVTZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nTGFuZyA9IHRoaXMucXVlcnlTdHJpbmdMYW5nKCk7XG4gICAgaWYgKHF1ZXJ5U3RyaW5nTGFuZykge1xuICAgICAgdGhpcy5zYXZlSW5Mb2NhbFN0b3JhZ2UocXVlcnlTdHJpbmdMYW5nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3dpdGNoZXMgdGhlIGFwcCB0byBnaXZlbiBsb2NhbGUgKGluY2wuIEFuZ3VsYXIsIEJvb3RzdHJhcCwgdHJhbnNsYXRpb25zKS5cbiAgICogQHBhcmFtIGxvY2FsZUNvZGUgVGhlIGxvY2FsZSBjb2RlLiBTdXBwb3J0ZWQgZm9ybWF0czpcbiAgICogLSB0d28tbGV0dGVyIGNvZGVzIGZvciBsYW5ndWFnZSBvbmx5LCBmb3IgZXhhbXBsZTogYGVuYCwgYGRlYFxuICAgKiAtIGZvdXItbGV0dGVyIGNvZGVzIGZvciBsYW5ndWFnZSBhbmQgY291bnRyeSwgc2VwYXJhdGVkIHdpdGggdW5kZXJzY29yZSBvciBkYXNoLCBmb3IgZXhhbXBsZTogYHpoX0NOYCwgYHpoX2NuYCwgYHpoLUNOYCwgYHpoLWNuYFxuICAgKi9cbiAgYXN5bmMgc3dpdGNoVG9MYW5ndWFnZShsb2NhbGVDb2RlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGxhbmdDb3VudHJ5Q29kZTogbmd4TG9jYWxlQ29kZSwgbGFuZ0NvZGU6IG5neExvY2FsZUNvZGVGYWxsYmFjayB9ID1cbiAgICAgIHRoaXMucGFyc2VMb2NhbGVDb2RlKGxvY2FsZUNvZGUsICctJyk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZExvY2FsZXMobmd4TG9jYWxlQ29kZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKG5neExvY2FsZUNvZGVGYWxsYmFjayAhPT0gbmd4TG9jYWxlQ29kZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRMb2NhbGVzKG5neExvY2FsZUNvZGVGYWxsYmFjayk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgbGFuZ0NvZGU6IGJzTG9jYWxlQ29kZSwgbGFuZ0NvdW50cnlDb2RlOiBuZ3hUcmFuc2xhdGVMb2NhbGVDb2RlIH0gPVxuICAgICAgdGhpcy5wYXJzZUxvY2FsZUNvZGUobG9jYWxlQ29kZSk7XG4gICAgdGhpcy5zZXRCc0xvY2FsZShic0xvY2FsZUNvZGUpO1xuICAgIHRoaXMuc2V0TGFuZ3VhZ2Uobmd4VHJhbnNsYXRlTG9jYWxlQ29kZSk7XG4gIH1cblxuICBhc3luYyBsb2FkTG9jYWxlcyhtb2R1bGVMYW5nKSB7XG4gICAgY29uc3QgbW9kdWxlOiBhbnkgPSBhd2FpdCBsb2FkTG9jYWxlKGdldEFuZ3VsYXJMb2NhbGVzTGFuZ3VhZ2VTdHJpbmcobW9kdWxlTGFuZykpO1xuICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShtb2R1bGUuZGVmYXVsdCk7XG4gIH1cblxuICBzZXRMYW5ndWFnZShsYW5nOiBzdHJpbmcpIHtcbiAgICB0aGlzLm5neFRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyh0aGlzLm9wdGlvbnMuZ2V0KCdkZWZhdWx0TGFuZ3VhZ2UnLCAnZW4nKSk7XG4gICAgdGhpcy5uZ3hUcmFuc2xhdGUudXNlKGxhbmcpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVpLnN0YXRlJC5uZXh0KHsgLi4udGhpcy51aS5zdGF0ZSwgbGFuZyB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBmaXJzdCBzdXBwb3J0ZWQgbGFuZ3VhZ2VcbiAgICovXG4gIGZpcnN0U3VwcG9ydGVkTGFuZ3VhZ2UoKSB7XG4gICAgY29uc3QgbGFuZ3VhZ2VzID0gW3RoaXMucXVlcnlTdHJpbmdMYW5nKCksIHRoaXMubG9jYWxTdG9yYWdlTGFuZygpXVxuICAgICAgLmNvbmNhdChbdGhpcy5vcHRpb25zLmdldCgnZGVmYXVsdExhbmd1YWdlJyldKVxuICAgICAgLmNvbmNhdCh0aGlzLmJyb3dzZXJMYW5ncygpKVxuICAgICAgLmNvbmNhdChbJ2VuJ10pXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAubWFwKGxhbmcgPT4gbGFuZy50b0xvd2VyQ2FzZSgpKTtcblxuICAgIGNvbnN0IHByZWZlcnJlZExhbmd1YWdlID0gbGFuZ3VhZ2VzLmZpbmQobGFuZyA9PiB0aGlzLmdldFN1cHBvcnRlZChsYW5nKSk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3VwcG9ydGVkKHByZWZlcnJlZExhbmd1YWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIGlzbyBsYW5ndWFnZSBjb2RlIHRvIGEgUE8gbGFuZ3VhZ2UgY29kZSAoZS5nLiBkZS1kZSBnZXRzIGRlX2RlKS5cbiAgICogQHBhcmFtIGxhbmcgVGhlIGlzbyBsYW5ndWFnZSBjb2RlLlxuICAgKi9cbiAgY29udmVydFRvTGFuZ3VhZ2VDb2RlUE8obGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZXAgPSBsYW5nLmluZGV4T2YoJy0nKSA+IC0xID8gJy0nIDogdGhpcy5ERUZBVUxUX1NFUEFSQVRPUjtcbiAgICBjb25zdCBbbGFuZ01haW4sIGxhbmdTcGVjaWZpY10gPSBsYW5nLnNwbGl0KHNlcCk7XG4gICAgY29uc3QgbGFuZ0xhc3QgPSBsYW5nU3BlY2lmaWMgPyBgJHt0aGlzLkRFRkFVTFRfU0VQQVJBVE9SfSR7bGFuZ1NwZWNpZmljfWAgOiAnJztcbiAgICByZXR1cm4gYCR7bGFuZ01haW59JHtsYW5nTGFzdH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxhbmd1YWdlIGluIHRoZSBuYXRpdmUgbGFuZ3VhZ2UuXG4gICAqIEBwYXJhbSBsYW5nIFRoZSBsYW5ndWFnZSB0d28tbGV0dGVyIGNvZGUuXG4gICAqIEByZXR1cm4gVGhlIG5hdGl2ZSBuYW1lLlxuICAgKi9cbiAgZ2V0TmF0aXZlTGFuZ3VhZ2UobGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYW5nRGF0YSA9ICh0aGlzLmxhbmdzRGV0YWlsIHx8IHt9KVtsYW5nXSB8fCB7fTtcbiAgICByZXR1cm4gbGFuZ0RhdGEubmF0aXZlTmFtZSB8fCBsYW5nO1xuICB9XG5cbiAgc2F2ZUluTG9jYWxTdG9yYWdlKGxhbmc6IHN0cmluZykge1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShUcmFuc2xhdGVTZXJ2aWNlLlNBVkVfTEFOR1VBR0VfS0VZLCBsYW5nKTtcbiAgfVxuXG4gIGdldFN1cHBvcnRlZChsb2NhbGVDb2RlOiBzdHJpbmcpIHtcbiAgICBpZiAoIWxvY2FsZUNvZGUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGxvY2FsZUNvZGVQYXJzZWQgPSB0aGlzLnBhcnNlTG9jYWxlQ29kZShsb2NhbGVDb2RlKTtcbiAgICBjb25zdCBsb2NhbGVDb2Rlc1BhcnNlZCA9IHRoaXMubGFuZ3MubWFwKGxhbmcgPT4gdGhpcy5wYXJzZUxvY2FsZUNvZGUobGFuZykpO1xuICAgIGNvbnN0IGxhbmdDb3VudHJ5Q29kZU1hdGNoID0gbG9jYWxlQ29kZXNQYXJzZWQuZmluZChcbiAgICAgICh7IGxhbmdDb3VudHJ5Q29kZSB9KSA9PiBsYW5nQ291bnRyeUNvZGUgPT09IGxvY2FsZUNvZGVQYXJzZWQubGFuZ0NvdW50cnlDb2RlXG4gICAgKTtcbiAgICBpZiAobGFuZ0NvdW50cnlDb2RlTWF0Y2gpIHtcbiAgICAgIHJldHVybiBsYW5nQ291bnRyeUNvZGVNYXRjaC5sYW5nQ291bnRyeUNvZGU7XG4gICAgfVxuICAgIGNvbnN0IGxhbmdDb2RlTWF0Y2ggPSBsb2NhbGVDb2Rlc1BhcnNlZC5maW5kKFxuICAgICAgKHsgbGFuZ0NvZGUgfSkgPT4gbGFuZ0NvZGUgPT09IGxvY2FsZUNvZGVQYXJzZWQubGFuZ0NvZGVcbiAgICApO1xuICAgIGlmIChsYW5nQ29kZU1hdGNoKSB7XG4gICAgICByZXR1cm4gbGFuZ0NvZGVNYXRjaC5sYW5nQ291bnRyeUNvZGU7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGFuZ3VhZ2UgZnJvbSB0aGUgcXVlcnkgcGFyYW1ldGVyLlxuICAgKiBAcmV0dXJuIFRoZSBsYW5ndWFnZSB0d28tbGV0dGVyIGNvZGUuXG4gICAqL1xuICBxdWVyeVN0cmluZ0xhbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UXVlcnlQYXJhbWV0ZXIoJ2xhbmcnKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VMb2NhbGVDb2RlKFxuICAgIGxvY2FsZUNvZGU6IHN0cmluZyxcbiAgICBvdXRwdXRTZXBhcmF0b3IgPSAnXydcbiAgKTogeyBsYW5nQ29kZTogc3RyaW5nOyBsYW5nQ291bnRyeUNvZGU6IHN0cmluZyB9IHtcbiAgICBjb25zdCBtYXRjaGVzID0gbG9jYWxlQ29kZS5tYXRjaCgvXihbYS16XXsyfSkoW18tXShbYS16XXsyfSkpPyQvaSk7XG4gICAgaWYgKCFtYXRjaGVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDb3VsZCBub3QgcGFyc2UgbG9jYWxlIGNvZGUgXCIke2xvY2FsZUNvZGV9XCIsIG1ha2Ugc3VyZSBpdCdzIGEgdHdvLSBvciBmb3VyLWxldHRlciBjb2RlIChjYXNlIGluc2Vuc2l0aXZlKSBzZXBhcmF0ZWQgd2l0aCBcIl9cIiBvciBcIi1cIi5gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBsYW5nQ29kZSA9IG1hdGNoZXNbMV0udG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBjb3VudHJ5Q29kZSA9IG1hdGNoZXNbM10/LnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgbGFuZ0NvdW50cnlDb2RlID0gYCR7bGFuZ0NvZGV9JHtjb3VudHJ5Q29kZSA/IGAke291dHB1dFNlcGFyYXRvcn0ke2NvdW50cnlDb2RlfWAgOiAnJ31gO1xuICAgIHJldHVybiB7IGxhbmdDb2RlLCBsYW5nQ291bnRyeUNvZGUgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGVzc1NwZWNpZmljKGxhbmcpIHtcbiAgICByZXR1cm4gaXNTdHJpbmcobGFuZylcbiAgICAgID8gbGFuZy5yZXBsYWNlKCctJywgdGhpcy5ERUZBVUxUX1NFUEFSQVRPUikuc3BsaXQodGhpcy5ERUZBVUxUX1NFUEFSQVRPUilbMF1cbiAgICAgIDogJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGFuZ3VhZ2UgZnJvbSBsb2NhbCBzdG9yYWdlLlxuICAgKiBAcmV0dXJuIFRoZSBsYW5ndWFnZSB0d28tbGV0dGVyIGNvZGUuXG4gICAqL1xuICBwcml2YXRlIGxvY2FsU3RvcmFnZUxhbmcoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShUcmFuc2xhdGVTZXJ2aWNlLlNBVkVfTEFOR1VBR0VfS0VZKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoaWNoIGxhbmd1YWdlIGlzIHNldCBpbiB0aGUgYnJvd3Nlci5cbiAgICogQHJldHVybiBUaGUgbGFuZ3VhZ2VzIHRoZSBicm93c2VyIHN1cHBvcnRzIGFzIHN0cmluZyBhcnJheS5cbiAgICovXG4gIHByaXZhdGUgYnJvd3NlckxhbmdzKCkge1xuICAgIGNvbnN0IHsgbmF2aWdhdG9yIH0gPSB3aW5kb3c7XG4gICAgY29uc3QgYnJvd3Nlckxhbmd1YWdlUHJvcGVydHlLZXlzID0gW1xuICAgICAgJ2xhbmd1YWdlcycsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ2Jyb3dzZXJMYW5ndWFnZScsXG4gICAgICAnc3lzdGVtTGFuZ3VhZ2UnLFxuICAgICAgJ3VzZXJMYW5ndWFnZSdcbiAgICBdO1xuICAgIHJldHVybiBicm93c2VyTGFuZ3VhZ2VQcm9wZXJ0eUtleXMucmVkdWNlKChsYW5ndWFnZXMsIHByb3BlcnR5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0eUxhbmd1YWdlcyA9IG5hdmlnYXRvcltwcm9wZXJ0eV07XG4gICAgICBpZiAodHlwZW9mIHByb3BlcnR5TGFuZ3VhZ2VzID09PSAnc3RyaW5nJykge1xuICAgICAgICBsYW5ndWFnZXMucHVzaChwcm9wZXJ0eUxhbmd1YWdlcyk7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydHlMYW5ndWFnZXMpKSB7XG4gICAgICAgIGxhbmd1YWdlcyA9IGxhbmd1YWdlcy5jb25jYXQocHJvcGVydHlMYW5ndWFnZXMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxhbmd1YWdlcztcbiAgICB9LCBbXSk7XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXJ5UGFyYW1ldGVyKHF1ZXJ5S2V5KSB7XG4gICAgLy8gVE9ETzogcmVwbGFjZSB0aGlzIHdpdGggVVJMU2VhcmNoUGFyYW1zLCBpZSAxMSBzdGlsbCBkb2Vzbid0IHN1cHBvcnQgOigpXG4gICAgY29uc3QgcXVlcnkgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKTtcbiAgICBsZXQgcmVzdWx0O1xuICAgIHF1ZXJ5LnNwbGl0KCcmJykuZmluZChwYWlyID0+IHtcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IHBhaXIuc3BsaXQoJz0nKTtcbiAgICAgIGlmIChrZXkgPT09IHF1ZXJ5S2V5KSB7XG4gICAgICAgIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgbG9jYWxlIGZvciBuZ3gtYm9vdHN0cmFwLlxuICAgKiBAcGFyYW0gbGFuZyBBIHR3by1sZXR0ZXIgbGFuZ3VhZ2UgY29kZS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgc2V0QnNMb2NhbGUobGFuZykge1xuICAgIHN3aXRjaCAobGFuZykge1xuICAgICAgY2FzZSAnZGUnOiB7XG4gICAgICAgIGRlZmluZUxvY2FsZShsYW5nLCBkZUxvY2FsZSk7XG4gICAgICAgIHRoaXMuYnNMb2NhbGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdlbic6IHtcbiAgICAgICAgLy8gJ2VuLWdiJyBpcyBjcmVhdGVkIGJlY2F1c2Ugb3ZlcndyaXRpbmcgZGVmYXVsdCAnZW4nIGJyZWFrcyBkYXRlLXBpY2tlciBzb21laG93XG4gICAgICAgIGRlZmluZUxvY2FsZSgnZW4tZ2InLCBlbkdiTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKCdlbi1nYicpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2VzJzoge1xuICAgICAgICBkZWZpbmVMb2NhbGUobGFuZywgZXNMb2NhbGUpO1xuICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UobGFuZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZnInOiB7XG4gICAgICAgIGRlZmluZUxvY2FsZShsYW5nLCBmckxvY2FsZSk7XG4gICAgICAgIHRoaXMuYnNMb2NhbGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdqYSc6IHtcbiAgICAgICAgZGVmaW5lTG9jYWxlKGxhbmcsIGphTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2tvJzoge1xuICAgICAgICBkZWZpbmVMb2NhbGUobGFuZywga29Mb2NhbGUpO1xuICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UobGFuZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnbmwnOiB7XG4gICAgICAgIGRlZmluZUxvY2FsZShsYW5nLCBubExvY2FsZSk7XG4gICAgICAgIHRoaXMuYnNMb2NhbGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdwbCc6IHtcbiAgICAgICAgZGVmaW5lTG9jYWxlKGxhbmcsIHBsTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3B0Jzoge1xuICAgICAgICBkZWZpbmVMb2NhbGUobGFuZywgcHRCckxvY2FsZSk7XG4gICAgICAgIHRoaXMuYnNMb2NhbGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdydSc6IHtcbiAgICAgICAgZGVmaW5lTG9jYWxlKGxhbmcsIHJ1TG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3poJzoge1xuICAgICAgICBkZWZpbmVMb2NhbGUobGFuZywgemhDbkxvY2FsZSk7XG4gICAgICAgIHRoaXMuYnNMb2NhbGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGRlZmluZUxvY2FsZSgnZW4tZ2InLCBlbkdiTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKCdlbi1nYicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2kxOG4vdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLElBQUksbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixVQUFVLEVBQ1YsUUFBUSxFQUNSLFVBQVUsRUFDWCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixNQUFNLENBQUMsV0FBVztRQUNoQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUtELFlBQ1UsWUFBaUMsRUFDakMsRUFBbUIsRUFD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QkFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLE1BQU07YUFDUDtZQUNELEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBQ1QsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLE1BQU07YUFDUDtZQUNELEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBQ1QsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLE1BQU07YUFDUDtZQUNELEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBQ1QsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLE1BQU07YUFDUDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ25DO1NBQ0Y7SUFDSCxDQUFDOztBQTNRTSxrQ0FBaUIsR0FBRyxjQUFjLENBQUM7NkdBRC9CLGdCQUFnQiwrR0FhakIsUUFBUTtpSEFiUCxnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWNJLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSBhcyBOZ3hUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBpc1N0cmluZywga2V5cyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0QW5ndWxhckxvY2FsZXNMYW5ndWFnZVN0cmluZyB9IGZyb20gJy4vaTE4bi5tb2R1bGUnO1xuaW1wb3J0IHsgbG9hZExvY2FsZSB9IGZyb20gJy4vbG9hZC1sb2NhbGUnO1xuaW1wb3J0IHtcbiAgZGVmaW5lTG9jYWxlLFxuICBkZUxvY2FsZSxcbiAgZW5HYkxvY2FsZSxcbiAgZXNMb2NhbGUsXG4gIGZyTG9jYWxlLFxuICBqYUxvY2FsZSxcbiAga29Mb2NhbGUsXG4gIG5sTG9jYWxlLFxuICBwbExvY2FsZSxcbiAgcHRCckxvY2FsZSxcbiAgcnVMb2NhbGUsXG4gIHpoQ25Mb2NhbGVcbn0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jaHJvbm9zJztcbmltcG9ydCB7IEJzTG9jYWxlU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XG5cbi8qKlxuICogQSBzZXJ2aWNlIHRvIG1hbmFnZSB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIGFwcGxpY2F0aW9uLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIHtcbiAgc3RhdGljIFNBVkVfTEFOR1VBR0VfS0VZID0gJ2M4eV9sYW5ndWFnZSc7XG4gIHN0YXRpYyBkZWZhdWx0TGFuZygpIHtcbiAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFRyYW5zbGF0ZVNlcnZpY2UuU0FWRV9MQU5HVUFHRV9LRVkpO1xuICB9XG4gIGxhbmdzRGV0YWlsOiBhbnkgPSB0aGlzLm9wdGlvbnMuZ2V0KCdsYW5ndWFnZXMnLCB7fSk7XG4gIGxhbmdzOiBhbnkgPSBrZXlzKHRoaXMubGFuZ3NEZXRhaWwpLmZpbHRlcihrID0+IHRoaXMubGFuZ3NEZXRhaWxba10pO1xuICBwcml2YXRlIERFRkFVTFRfU0VQQVJBVE9SID0gJ18nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmd4VHJhbnNsYXRlOiBOZ3hUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdWk6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgYnNMb2NhbGVTZXJ2aWNlOiBCc0xvY2FsZVNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmdMYW5nID0gdGhpcy5xdWVyeVN0cmluZ0xhbmcoKTtcbiAgICBpZiAocXVlcnlTdHJpbmdMYW5nKSB7XG4gICAgICB0aGlzLnNhdmVJbkxvY2FsU3RvcmFnZShxdWVyeVN0cmluZ0xhbmcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTd2l0Y2hlcyB0aGUgYXBwIHRvIGdpdmVuIGxvY2FsZSAoaW5jbC4gQW5ndWxhciwgQm9vdHN0cmFwLCB0cmFuc2xhdGlvbnMpLlxuICAgKiBAcGFyYW0gbG9jYWxlQ29kZSBUaGUgbG9jYWxlIGNvZGUuIFN1cHBvcnRlZCBmb3JtYXRzOlxuICAgKiAtIHR3by1sZXR0ZXIgY29kZXMgZm9yIGxhbmd1YWdlIG9ubHksIGZvciBleGFtcGxlOiBgZW5gLCBgZGVgXG4gICAqIC0gZm91ci1sZXR0ZXIgY29kZXMgZm9yIGxhbmd1YWdlIGFuZCBjb3VudHJ5LCBzZXBhcmF0ZWQgd2l0aCB1bmRlcnNjb3JlIG9yIGRhc2gsIGZvciBleGFtcGxlOiBgemhfQ05gLCBgemhfY25gLCBgemgtQ05gLCBgemgtY25gXG4gICAqL1xuICBhc3luYyBzd2l0Y2hUb0xhbmd1YWdlKGxvY2FsZUNvZGU6IHN0cmluZykge1xuICAgIGNvbnN0IHsgbGFuZ0NvdW50cnlDb2RlOiBuZ3hMb2NhbGVDb2RlLCBsYW5nQ29kZTogbmd4TG9jYWxlQ29kZUZhbGxiYWNrIH0gPVxuICAgICAgdGhpcy5wYXJzZUxvY2FsZUNvZGUobG9jYWxlQ29kZSwgJy0nKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkTG9jYWxlcyhuZ3hMb2NhbGVDb2RlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAobmd4TG9jYWxlQ29kZUZhbGxiYWNrICE9PSBuZ3hMb2NhbGVDb2RlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZExvY2FsZXMobmd4TG9jYWxlQ29kZUZhbGxiYWNrKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgeyBsYW5nQ29kZTogYnNMb2NhbGVDb2RlLCBsYW5nQ291bnRyeUNvZGU6IG5neFRyYW5zbGF0ZUxvY2FsZUNvZGUgfSA9XG4gICAgICB0aGlzLnBhcnNlTG9jYWxlQ29kZShsb2NhbGVDb2RlKTtcbiAgICB0aGlzLnNldEJzTG9jYWxlKGJzTG9jYWxlQ29kZSk7XG4gICAgdGhpcy5zZXRMYW5ndWFnZShuZ3hUcmFuc2xhdGVMb2NhbGVDb2RlKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRMb2NhbGVzKG1vZHVsZUxhbmcpIHtcbiAgICBjb25zdCBtb2R1bGU6IGFueSA9IGF3YWl0IGxvYWRMb2NhbGUoZ2V0QW5ndWxhckxvY2FsZXNMYW5ndWFnZVN0cmluZyhtb2R1bGVMYW5nKSk7XG4gICAgcmVnaXN0ZXJMb2NhbGVEYXRhKG1vZHVsZS5kZWZhdWx0KTtcbiAgfVxuXG4gIHNldExhbmd1YWdlKGxhbmc6IHN0cmluZykge1xuICAgIHRoaXMubmd4VHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKHRoaXMub3B0aW9ucy5nZXQoJ2RlZmF1bHRMYW5ndWFnZScsICdlbicpKTtcbiAgICB0aGlzLm5neFRyYW5zbGF0ZS51c2UobGFuZykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudWkuc3RhdGUkLm5leHQoeyAuLi50aGlzLnVpLnN0YXRlLCBsYW5nIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmc7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGZpcnN0IHN1cHBvcnRlZCBsYW5ndWFnZVxuICAgKi9cbiAgZmlyc3RTdXBwb3J0ZWRMYW5ndWFnZSgpIHtcbiAgICBjb25zdCBsYW5ndWFnZXMgPSBbdGhpcy5xdWVyeVN0cmluZ0xhbmcoKSwgdGhpcy5sb2NhbFN0b3JhZ2VMYW5nKCldXG4gICAgICAuY29uY2F0KFt0aGlzLm9wdGlvbnMuZ2V0KCdkZWZhdWx0TGFuZ3VhZ2UnKV0pXG4gICAgICAuY29uY2F0KHRoaXMuYnJvd3NlckxhbmdzKCkpXG4gICAgICAuY29uY2F0KFsnZW4nXSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5tYXAobGFuZyA9PiBsYW5nLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgY29uc3QgcHJlZmVycmVkTGFuZ3VhZ2UgPSBsYW5ndWFnZXMuZmluZChsYW5nID0+IHRoaXMuZ2V0U3VwcG9ydGVkKGxhbmcpKTtcbiAgICByZXR1cm4gdGhpcy5nZXRTdXBwb3J0ZWQocHJlZmVycmVkTGFuZ3VhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgaXNvIGxhbmd1YWdlIGNvZGUgdG8gYSBQTyBsYW5ndWFnZSBjb2RlIChlLmcuIGRlLWRlIGdldHMgZGVfZGUpLlxuICAgKiBAcGFyYW0gbGFuZyBUaGUgaXNvIGxhbmd1YWdlIGNvZGUuXG4gICAqL1xuICBjb252ZXJ0VG9MYW5ndWFnZUNvZGVQTyhsYW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlcCA9IGxhbmcuaW5kZXhPZignLScpID4gLTEgPyAnLScgOiB0aGlzLkRFRkFVTFRfU0VQQVJBVE9SO1xuICAgIGNvbnN0IFtsYW5nTWFpbiwgbGFuZ1NwZWNpZmljXSA9IGxhbmcuc3BsaXQoc2VwKTtcbiAgICBjb25zdCBsYW5nTGFzdCA9IGxhbmdTcGVjaWZpYyA/IGAke3RoaXMuREVGQVVMVF9TRVBBUkFUT1J9JHtsYW5nU3BlY2lmaWN9YCA6ICcnO1xuICAgIHJldHVybiBgJHtsYW5nTWFpbn0ke2xhbmdMYXN0fWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbGFuZ3VhZ2UgaW4gdGhlIG5hdGl2ZSBsYW5ndWFnZS5cbiAgICogQHBhcmFtIGxhbmcgVGhlIGxhbmd1YWdlIHR3by1sZXR0ZXIgY29kZS5cbiAgICogQHJldHVybiBUaGUgbmF0aXZlIG5hbWUuXG4gICAqL1xuICBnZXROYXRpdmVMYW5ndWFnZShsYW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxhbmdEYXRhID0gKHRoaXMubGFuZ3NEZXRhaWwgfHwge30pW2xhbmddIHx8IHt9O1xuICAgIHJldHVybiBsYW5nRGF0YS5uYXRpdmVOYW1lIHx8IGxhbmc7XG4gIH1cblxuICBzYXZlSW5Mb2NhbFN0b3JhZ2UobGFuZzogc3RyaW5nKSB7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKFRyYW5zbGF0ZVNlcnZpY2UuU0FWRV9MQU5HVUFHRV9LRVksIGxhbmcpO1xuICB9XG5cbiAgZ2V0U3VwcG9ydGVkKGxvY2FsZUNvZGU6IHN0cmluZykge1xuICAgIGlmICghbG9jYWxlQ29kZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxlQ29kZVBhcnNlZCA9IHRoaXMucGFyc2VMb2NhbGVDb2RlKGxvY2FsZUNvZGUpO1xuICAgIGNvbnN0IGxvY2FsZUNvZGVzUGFyc2VkID0gdGhpcy5sYW5ncy5tYXAobGFuZyA9PiB0aGlzLnBhcnNlTG9jYWxlQ29kZShsYW5nKSk7XG4gICAgY29uc3QgbGFuZ0NvdW50cnlDb2RlTWF0Y2ggPSBsb2NhbGVDb2Rlc1BhcnNlZC5maW5kKFxuICAgICAgKHsgbGFuZ0NvdW50cnlDb2RlIH0pID0+IGxhbmdDb3VudHJ5Q29kZSA9PT0gbG9jYWxlQ29kZVBhcnNlZC5sYW5nQ291bnRyeUNvZGVcbiAgICApO1xuICAgIGlmIChsYW5nQ291bnRyeUNvZGVNYXRjaCkge1xuICAgICAgcmV0dXJuIGxhbmdDb3VudHJ5Q29kZU1hdGNoLmxhbmdDb3VudHJ5Q29kZTtcbiAgICB9XG4gICAgY29uc3QgbGFuZ0NvZGVNYXRjaCA9IGxvY2FsZUNvZGVzUGFyc2VkLmZpbmQoXG4gICAgICAoeyBsYW5nQ29kZSB9KSA9PiBsYW5nQ29kZSA9PT0gbG9jYWxlQ29kZVBhcnNlZC5sYW5nQ29kZVxuICAgICk7XG4gICAgaWYgKGxhbmdDb2RlTWF0Y2gpIHtcbiAgICAgIHJldHVybiBsYW5nQ29kZU1hdGNoLmxhbmdDb3VudHJ5Q29kZTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBsYW5ndWFnZSBmcm9tIHRoZSBxdWVyeSBwYXJhbWV0ZXIuXG4gICAqIEByZXR1cm4gVGhlIGxhbmd1YWdlIHR3by1sZXR0ZXIgY29kZS5cbiAgICovXG4gIHF1ZXJ5U3RyaW5nTGFuZygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRRdWVyeVBhcmFtZXRlcignbGFuZycpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUxvY2FsZUNvZGUoXG4gICAgbG9jYWxlQ29kZTogc3RyaW5nLFxuICAgIG91dHB1dFNlcGFyYXRvciA9ICdfJ1xuICApOiB7IGxhbmdDb2RlOiBzdHJpbmc7IGxhbmdDb3VudHJ5Q29kZTogc3RyaW5nIH0ge1xuICAgIC8vIC0gMiBsZXR0ZXIgbGFuZ3VhZ2UgY29kZVxuICAgIC8vIC0gb3B0aW9uYWwgcmVnaW9uIGNvZGUgdGhhdCdzIGVpdGhlciAyIGxldHRlcnMgT1IgMyBkaWdpdHNcbiAgICBjb25zdCBtYXRjaGVzID0gbG9jYWxlQ29kZS5tYXRjaCgvXihbYS16XXsyfSkoW18tXShbYS16XXsyfXxbMC05XXszfSkpPyQvaSk7XG4gICAgaWYgKCFtYXRjaGVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDb3VsZCBub3QgcGFyc2UgbG9jYWxlIGNvZGUgXCIke2xvY2FsZUNvZGV9XCIuIEV4cGVjdGVkIGZvcm1hdDogbGFuZ3VhZ2UgY29kZSAoMiBsZXR0ZXJzKSBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IHJlZ2lvbiBjb2RlICgyIGxldHRlcnMgb3IgMyBkaWdpdHMpIHNlcGFyYXRlZCB3aXRoIFwiX1wiIG9yIFwiLVwiLCBlLmcuIFwiZW4tVVNcIiBvciBcImVzLTQxOVwiLmBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGxhbmdDb2RlID0gbWF0Y2hlc1sxXS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHJlZ2lvbkNvZGUgPSBtYXRjaGVzWzNdPy50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IGxhbmdDb3VudHJ5Q29kZSA9IGAke2xhbmdDb2RlfSR7cmVnaW9uQ29kZSA/IGAke291dHB1dFNlcGFyYXRvcn0ke3JlZ2lvbkNvZGV9YCA6ICcnfWA7XG4gICAgcmV0dXJuIHsgbGFuZ0NvZGUsIGxhbmdDb3VudHJ5Q29kZSB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMZXNzU3BlY2lmaWMobGFuZykge1xuICAgIHJldHVybiBpc1N0cmluZyhsYW5nKVxuICAgICAgPyBsYW5nLnJlcGxhY2UoJy0nLCB0aGlzLkRFRkFVTFRfU0VQQVJBVE9SKS5zcGxpdCh0aGlzLkRFRkFVTFRfU0VQQVJBVE9SKVswXVxuICAgICAgOiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBsYW5ndWFnZSBmcm9tIGxvY2FsIHN0b3JhZ2UuXG4gICAqIEByZXR1cm4gVGhlIGxhbmd1YWdlIHR3by1sZXR0ZXIgY29kZS5cbiAgICovXG4gIHByaXZhdGUgbG9jYWxTdG9yYWdlTGFuZygpIHtcbiAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFRyYW5zbGF0ZVNlcnZpY2UuU0FWRV9MQU5HVUFHRV9LRVkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hpY2ggbGFuZ3VhZ2UgaXMgc2V0IGluIHRoZSBicm93c2VyLlxuICAgKiBAcmV0dXJuIFRoZSBsYW5ndWFnZXMgdGhlIGJyb3dzZXIgc3VwcG9ydHMgYXMgc3RyaW5nIGFycmF5LlxuICAgKi9cbiAgcHJpdmF0ZSBicm93c2VyTGFuZ3MoKSB7XG4gICAgY29uc3QgeyBuYXZpZ2F0b3IgfSA9IHdpbmRvdztcbiAgICBjb25zdCBicm93c2VyTGFuZ3VhZ2VQcm9wZXJ0eUtleXMgPSBbXG4gICAgICAnbGFuZ3VhZ2VzJyxcbiAgICAgICdsYW5ndWFnZScsXG4gICAgICAnYnJvd3Nlckxhbmd1YWdlJyxcbiAgICAgICdzeXN0ZW1MYW5ndWFnZScsXG4gICAgICAndXNlckxhbmd1YWdlJ1xuICAgIF07XG4gICAgcmV0dXJuIGJyb3dzZXJMYW5ndWFnZVByb3BlcnR5S2V5cy5yZWR1Y2UoKGxhbmd1YWdlcywgcHJvcGVydHkpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnR5TGFuZ3VhZ2VzID0gbmF2aWdhdG9yW3Byb3BlcnR5XTtcbiAgICAgIGlmICh0eXBlb2YgcHJvcGVydHlMYW5ndWFnZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGxhbmd1YWdlcy5wdXNoKHByb3BlcnR5TGFuZ3VhZ2VzKTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0eUxhbmd1YWdlcykpIHtcbiAgICAgICAgbGFuZ3VhZ2VzID0gbGFuZ3VhZ2VzLmNvbmNhdChwcm9wZXJ0eUxhbmd1YWdlcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbGFuZ3VhZ2VzO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlQYXJhbWV0ZXIocXVlcnlLZXkpIHtcbiAgICAvLyBUT0RPOiByZXBsYWNlIHRoaXMgd2l0aCBVUkxTZWFyY2hQYXJhbXMsIGllIDExIHN0aWxsIGRvZXNuJ3Qgc3VwcG9ydCA6KClcbiAgICBjb25zdCBxdWVyeSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpO1xuICAgIGxldCByZXN1bHQ7XG4gICAgcXVlcnkuc3BsaXQoJyYnKS5maW5kKHBhaXIgPT4ge1xuICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gcGFpci5zcGxpdCgnPScpO1xuICAgICAgaWYgKGtleSA9PT0gcXVlcnlLZXkpIHtcbiAgICAgICAgcmVzdWx0ID0gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBsb2NhbGUgZm9yIG5neC1ib290c3RyYXAuXG4gICAqIEBwYXJhbSBsYW5nIEEgdHdvLWxldHRlciBsYW5ndWFnZSBjb2RlLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRCc0xvY2FsZShsYW5nKSB7XG4gICAgc3dpdGNoIChsYW5nKSB7XG4gICAgICBjYXNlICdkZSc6IHtcbiAgICAgICAgZGVmaW5lTG9jYWxlKGxhbmcsIGRlTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2VuJzoge1xuICAgICAgICAvLyAnZW4tZ2InIGlzIGNyZWF0ZWQgYmVjYXVzZSBvdmVyd3JpdGluZyBkZWZhdWx0ICdlbicgYnJlYWtzIGRhdGUtcGlja2VyIHNvbWVob3dcbiAgICAgICAgZGVmaW5lTG9jYWxlKCdlbi1nYicsIGVuR2JMb2NhbGUpO1xuICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UoJ2VuLWdiJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZXMnOiB7XG4gICAgICAgIGRlZmluZUxvY2FsZShsYW5nLCBlc0xvY2FsZSk7XG4gICAgICAgIHRoaXMuYnNMb2NhbGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdmcic6IHtcbiAgICAgICAgZGVmaW5lTG9jYWxlKGxhbmcsIGZyTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2phJzoge1xuICAgICAgICBkZWZpbmVMb2NhbGUobGFuZywgamFMb2NhbGUpO1xuICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UobGFuZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAna28nOiB7XG4gICAgICAgIGRlZmluZUxvY2FsZShsYW5nLCBrb0xvY2FsZSk7XG4gICAgICAgIHRoaXMuYnNMb2NhbGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdubCc6IHtcbiAgICAgICAgZGVmaW5lTG9jYWxlKGxhbmcsIG5sTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3BsJzoge1xuICAgICAgICBkZWZpbmVMb2NhbGUobGFuZywgcGxMb2NhbGUpO1xuICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UobGFuZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAncHQnOiB7XG4gICAgICAgIGRlZmluZUxvY2FsZShsYW5nLCBwdEJyTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3J1Jzoge1xuICAgICAgICBkZWZpbmVMb2NhbGUobGFuZywgcnVMb2NhbGUpO1xuICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UobGFuZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnemgnOiB7XG4gICAgICAgIGRlZmluZUxvY2FsZShsYW5nLCB6aENuTG9jYWxlKTtcbiAgICAgICAgdGhpcy5ic0xvY2FsZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgZGVmaW5lTG9jYWxlKCdlbi1nYicsIGVuR2JMb2NhbGUpO1xuICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UoJ2VuLWdiJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -20,6 +20,7 @@ export class SelectComponent {
|
|
|
20
20
|
this.onChange = new EventEmitter();
|
|
21
21
|
this.textFilter = '';
|
|
22
22
|
this.labelText = '';
|
|
23
|
+
this.truncatedLabelText = '';
|
|
23
24
|
this.isOpen = false;
|
|
24
25
|
this.filteredItems = [];
|
|
25
26
|
this.searchFilter = null;
|
|
@@ -131,14 +132,11 @@ export class SelectComponent {
|
|
|
131
132
|
}
|
|
132
133
|
updateLabel() {
|
|
133
134
|
const outterSelected = this.items.filter(i => this.outterSelected(i));
|
|
134
|
-
if (typeof this.selectedLabel === 'string') {
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const itemName = this.propertyValueTransformService.getName({
|
|
140
|
-
name: this.selectedLabel(outterSelected)
|
|
141
|
-
});
|
|
135
|
+
if (typeof this.selectedLabel === 'string' || typeof this.selectedLabel === 'function') {
|
|
136
|
+
const nameValue = typeof this.selectedLabel === 'string'
|
|
137
|
+
? this.selectedLabel
|
|
138
|
+
: this.selectedLabel(outterSelected);
|
|
139
|
+
const itemName = this.propertyValueTransformService.getName({ name: nameValue });
|
|
142
140
|
this.labelText = itemName && this.translateService.instant(itemName);
|
|
143
141
|
}
|
|
144
142
|
else {
|
|
@@ -149,6 +147,7 @@ export class SelectComponent {
|
|
|
149
147
|
})
|
|
150
148
|
.join(', ');
|
|
151
149
|
}
|
|
150
|
+
this.truncatedLabelText = this.labelText ? this.labelText.substring(0, 100) : '';
|
|
152
151
|
}
|
|
153
152
|
updateSelected() {
|
|
154
153
|
const { itemsSelected, items } = this;
|
|
@@ -173,10 +172,10 @@ export class SelectComponent {
|
|
|
173
172
|
}
|
|
174
173
|
}
|
|
175
174
|
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
176
|
-
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: SelectComponent, selector: "c8y-select", inputs: { placeholder: "placeholder", selectedLabel: "selectedLabel", applyLabel: "applyLabel", items: "items", selected: "selected", updateItems: "updateItems", disableApplyOnNoSelection: "disableApplyOnNoSelection" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "preventClick($event)" } }, queries: [{ propertyName: "liChildren", predicate: ListItemComponent }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: BsDropdownDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"c8y-child-assets-selector dropdown fit-w\"\n (isOpenChange)=\"isOpenChange($event)\"\n dropdown\n #dropdown\n c8yDropdownDirection\n px-event=\"Select type\"\n>\n <button\n type=\"button\"\n class=\"btn dropdown-toggle c8y-dropdown\"\n title=\"{{ labelText || placeholder | translate }}\"\n aria-haspopup=\"true\"\n dropdownToggle\n >\n <span\n class=\"text-truncate\"\n *ngIf=\"labelText\"\n >\n <ng-container *ngIf=\"showAllLabel\">{{ 'All' | translate }}</ng-container>\n <ng-container *ngIf=\"!showAllLabel\">{{
|
|
175
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: SelectComponent, selector: "c8y-select", inputs: { placeholder: "placeholder", selectedLabel: "selectedLabel", applyLabel: "applyLabel", items: "items", selected: "selected", updateItems: "updateItems", disableApplyOnNoSelection: "disableApplyOnNoSelection" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "preventClick($event)" } }, queries: [{ propertyName: "liChildren", predicate: ListItemComponent }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: BsDropdownDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"c8y-child-assets-selector dropdown fit-w\"\n (isOpenChange)=\"isOpenChange($event)\"\n dropdown\n #dropdown\n c8yDropdownDirection\n px-event=\"Select type\"\n>\n <button\n type=\"button\"\n class=\"btn dropdown-toggle c8y-dropdown\"\n title=\"{{ labelText || placeholder | translate }}\"\n aria-haspopup=\"true\"\n dropdownToggle\n >\n <span\n class=\"text-truncate\"\n *ngIf=\"labelText\"\n >\n <ng-container *ngIf=\"showAllLabel\">{{ 'All' | translate }}</ng-container>\n <ng-container *ngIf=\"!showAllLabel\">{{ truncatedLabelText | translate }}</ng-container>\n </span>\n <span\n class=\"text-truncate text-muted\"\n *ngIf=\"!labelText\"\n >\n {{ placeholder | translate }}\n </span>\n </button>\n\n <ul\n class=\"dropdown-menu multiselect-container\"\n *dropdownMenu\n >\n <ng-content select=\"c8y-li\"></ng-content>\n <ng-container *ngIf=\"liChildren.length === 0\">\n <li\n *ngIf=\"items.length > sizeToShowFilter\"\n class=\"multiselect-item sticky-top\"\n >\n <div class=\"input-group input-group-search\">\n <input\n type=\"search\"\n class=\"form-control\"\n placeholder=\"{{ 'Filter' | translate }}\u2026\"\n (keyup)=\"updateFiltered($event.target.value)\"\n [(ngModel)]=\"searchFilter\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"!textFilter\"\n ></i>\n <i\n c8yIcon=\"times\"\n class=\"text-muted\"\n *ngIf=\"textFilter\"\n (click)=\"textFilter = ''\"\n ></i>\n </span>\n </div>\n </li>\n\n <li class=\"multiselect-item\">\n <label\n [title]=\"getSelectAllToggleStatus().label | translate\"\n class=\"c8y-checkbox input-sm\"\n ng-click=\"vm.toggleSelectAll(); $event.preventDefault()\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"getSelectAllToggleStatus().checked\"\n (change)=\"selectAll($event.target.checked)\"\n [indeterminate]=\"getSelectAllToggleStatus().indeterminate\"\n class=\"m-t-0\"\n />\n <span></span>\n <span class=\"label-text\">\n {{ getSelectAllToggleStatus().label | translate }}\n </span>\n </label>\n </li>\n\n <li>\n <ul class=\"list-unstyled\">\n <li\n class=\"multiselect-item\"\n *ngFor=\"let item of filteredItems\"\n >\n <label\n title=\"{{ item.name | nameTransform | translate }}\"\n class=\"c8y-checkbox input-sm text-truncate\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isSelected(item)\"\n (change)=\"onChangeItem($event.target.checked, item)\"\n class=\"m-t-0\"\n />\n <span></span>\n <span class=\"label-text\">\n {{ item.name | nameTransform | translate }}\n </span>\n </label>\n </li>\n </ul>\n </li>\n <li class=\"divider\"></li>\n <li class=\"sticky-bottom bg-level-0\">\n <button\n title=\"{{ applyLabel | translate }}\"\n class=\"btn btn-primary btn-block\"\n [disabled]=\"disableApplyOnNoSelection && isNoItemSelected()\"\n (click)=\"applyChanges()\"\n >\n {{ applyLabel | translate }}\n </button>\n </li>\n </ng-container>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i1.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i1.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i1.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DropdownDirectionDirective, selector: "[dropdown][c8yBsDropdownDirection],[dropdown][c8yDropdownDirection]" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i6.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i7.NameTransformPipe, name: "nameTransform" }] });
|
|
177
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SelectComponent, decorators: [{
|
|
178
177
|
type: Component,
|
|
179
|
-
args: [{ selector: 'c8y-select', template: "<div\n class=\"c8y-child-assets-selector dropdown fit-w\"\n (isOpenChange)=\"isOpenChange($event)\"\n dropdown\n #dropdown\n c8yDropdownDirection\n px-event=\"Select type\"\n>\n <button\n type=\"button\"\n class=\"btn dropdown-toggle c8y-dropdown\"\n title=\"{{ labelText || placeholder | translate }}\"\n aria-haspopup=\"true\"\n dropdownToggle\n >\n <span\n class=\"text-truncate\"\n *ngIf=\"labelText\"\n >\n <ng-container *ngIf=\"showAllLabel\">{{ 'All' | translate }}</ng-container>\n <ng-container *ngIf=\"!showAllLabel\">{{
|
|
178
|
+
args: [{ selector: 'c8y-select', template: "<div\n class=\"c8y-child-assets-selector dropdown fit-w\"\n (isOpenChange)=\"isOpenChange($event)\"\n dropdown\n #dropdown\n c8yDropdownDirection\n px-event=\"Select type\"\n>\n <button\n type=\"button\"\n class=\"btn dropdown-toggle c8y-dropdown\"\n title=\"{{ labelText || placeholder | translate }}\"\n aria-haspopup=\"true\"\n dropdownToggle\n >\n <span\n class=\"text-truncate\"\n *ngIf=\"labelText\"\n >\n <ng-container *ngIf=\"showAllLabel\">{{ 'All' | translate }}</ng-container>\n <ng-container *ngIf=\"!showAllLabel\">{{ truncatedLabelText | translate }}</ng-container>\n </span>\n <span\n class=\"text-truncate text-muted\"\n *ngIf=\"!labelText\"\n >\n {{ placeholder | translate }}\n </span>\n </button>\n\n <ul\n class=\"dropdown-menu multiselect-container\"\n *dropdownMenu\n >\n <ng-content select=\"c8y-li\"></ng-content>\n <ng-container *ngIf=\"liChildren.length === 0\">\n <li\n *ngIf=\"items.length > sizeToShowFilter\"\n class=\"multiselect-item sticky-top\"\n >\n <div class=\"input-group input-group-search\">\n <input\n type=\"search\"\n class=\"form-control\"\n placeholder=\"{{ 'Filter' | translate }}\u2026\"\n (keyup)=\"updateFiltered($event.target.value)\"\n [(ngModel)]=\"searchFilter\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"!textFilter\"\n ></i>\n <i\n c8yIcon=\"times\"\n class=\"text-muted\"\n *ngIf=\"textFilter\"\n (click)=\"textFilter = ''\"\n ></i>\n </span>\n </div>\n </li>\n\n <li class=\"multiselect-item\">\n <label\n [title]=\"getSelectAllToggleStatus().label | translate\"\n class=\"c8y-checkbox input-sm\"\n ng-click=\"vm.toggleSelectAll(); $event.preventDefault()\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"getSelectAllToggleStatus().checked\"\n (change)=\"selectAll($event.target.checked)\"\n [indeterminate]=\"getSelectAllToggleStatus().indeterminate\"\n class=\"m-t-0\"\n />\n <span></span>\n <span class=\"label-text\">\n {{ getSelectAllToggleStatus().label | translate }}\n </span>\n </label>\n </li>\n\n <li>\n <ul class=\"list-unstyled\">\n <li\n class=\"multiselect-item\"\n *ngFor=\"let item of filteredItems\"\n >\n <label\n title=\"{{ item.name | nameTransform | translate }}\"\n class=\"c8y-checkbox input-sm text-truncate\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isSelected(item)\"\n (change)=\"onChangeItem($event.target.checked, item)\"\n class=\"m-t-0\"\n />\n <span></span>\n <span class=\"label-text\">\n {{ item.name | nameTransform | translate }}\n </span>\n </label>\n </li>\n </ul>\n </li>\n <li class=\"divider\"></li>\n <li class=\"sticky-bottom bg-level-0\">\n <button\n title=\"{{ applyLabel | translate }}\"\n class=\"btn btn-primary btn-block\"\n [disabled]=\"disableApplyOnNoSelection && isNoItemSelected()\"\n (click)=\"applyChanges()\"\n >\n {{ applyLabel | translate }}\n </button>\n </li>\n </ng-container>\n </ul>\n</div>\n" }]
|
|
180
179
|
}], propDecorators: { placeholder: [{
|
|
181
180
|
type: Input
|
|
182
181
|
}], selectedLabel: [{
|
|
@@ -203,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
203
202
|
type: HostListener,
|
|
204
203
|
args: ['click', ['$event']]
|
|
205
204
|
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxlQUFlLEVBRWYsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBZ0J2RCxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQUtXLGdCQUFXLEdBQVcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdDLGVBQVUsR0FBVyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFJdEMsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUc5RCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2Ysa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDWCxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFDdEMsdUJBQWtCLEdBQVE7WUFDeEIsR0FBRyxFQUFFLE9BQU8sQ0FB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LENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0lBQy9GLENBQUM7OzRHQWhMVSxlQUFlO2dHQUFmLGVBQWUsc1lBVVQsaUJBQWlCLHVFQUR2QixtQkFBbUIscUVDMUNoQywwb0hBeUhBOzJGRHhGYSxlQUFlO2tCQUozQixTQUFTOytCQUNFLFlBQVk7OEJBSWIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDNEMsUUFBUTtzQkFBMUQsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2IsVUFBVTtzQkFBN0MsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBa0JsQyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnNEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ25neC1ib290c3RyYXAvZHJvcGRvd24nO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBPbkluaXQsXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbGlzdC1ncm91cC9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlbSB7XG4gIG5hbWU6IHN0cmluZztcbiAgX3NlbGVjdGVkPzogYm9vbGVhbjtcblxuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIHNlbGVjdGVkRnVuY3Rpb24gPSAoaXRlbTogSXRlbSkgPT4gYm9vbGVhbjtcbmV4cG9ydCB0eXBlIHNlbGVjdGVkTGFiZWxGdW5jdGlvbiA9IChpdGVtczogSXRlbVtdKSA9PiBzdHJpbmc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBnZXR0ZXh0KCdTZWxlY3QgaXRlbScpO1xuICBASW5wdXQoKSBzZWxlY3RlZExhYmVsOiBzdHJpbmcgfCBzZWxlY3RlZExhYmVsRnVuY3Rpb247XG4gIEBJbnB1dCgpIGFwcGx5TGFiZWw6IHN0cmluZyA9IGdldHRleHQoJ0FwcGx5Jyk7XG4gIEBJbnB1dCgpIGl0ZW1zOiBJdGVtW107XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBJdGVtW10gfCBzZWxlY3RlZEZ1bmN0aW9uO1xuICBASW5wdXQoKSB1cGRhdGVJdGVtczogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuICBASW5wdXQoKSBkaXNhYmxlQXBwbHlPbk5vU2VsZWN0aW9uID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoQnNEcm9wZG93bkRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyb3Bkb3duOiBCc0Ryb3Bkb3duRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkcmVuKExpc3RJdGVtQ29tcG9uZW50KSBsaUNoaWxkcmVuO1xuICB0ZXh0RmlsdGVyID0gJyc7XG4gIGxhYmVsVGV4dCA9ICcnO1xuICBpc09wZW4gPSBmYWxzZTtcbiAgZmlsdGVyZWRJdGVtczogSXRlbVtdID0gW107XG4gIHNlYXJjaEZpbHRlciA9IG51bGw7XG4gIHJlYWRvbmx5IHNpemVUb1Nob3dGaWx0ZXI6IG51bWJlciA9IDU7XG4gIGxhYmVsc0ZvclNlbGVjdEFsbDogYW55ID0ge1xuICAgIGFsbDogZ2V0dGV4dCgnQWxsJyksXG4gICAgYWxsRmlsdGVyZWQ6IGdldHRleHQoJ0FsbCBmaWx0ZXJlZCcpXG4gIH07XG4gIHNob3dBbGxMYWJlbCA9IGZhbHNlO1xuICBwcml2YXRlIGl0ZW1zU2VsZWN0ZWQ6IFNldDxJdGVtPiA9IG5ldyBTZXQoKTtcbiAgcHJpdmF0ZSBzdG9wQ2xpY2tzID0gZmFsc2U7XG4gIHByaXZhdGUgcHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2UgPSBpbmplY3QoUHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2UpO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcmV2ZW50Q2xpY2soZXZ0KSB7XG4gICAgaWYgKHRoaXMuc3RvcENsaWNrcykge1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLnN0b3BDbGlja3MgPSB0aGlzLmlzT3BlbjtcbiAgfVxuXG4gIGlzT3BlbkNoYW5nZShpc09wZW46IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkKCk7XG4gICAgICB0aGlzLnNlYXJjaEZpbHRlciA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcENsaWNrcyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG91dHRlclNlbGVjdGVkKGl0ZW06IEl0ZW0pIHtcbiAgICBjb25zdCB7IHNlbGVjdGVkIH0gPSB0aGlzO1xuICAgIGxldCBpc1NlbGVjdGVkOiBhbnkgPSAoKSA9PiBmYWxzZTtcbiAgICBpZiAodHlwZW9mIHNlbGVjdGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpc1NlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHNlbGVjdGVkKSkge1xuICAgICAgaXNTZWxlY3RlZCA9IChpOiBJdGVtKSA9PiBzZWxlY3RlZC5pbmRleE9mKGkpID4gLTE7XG4gICAgfVxuICAgIHJldHVybiBpc1NlbGVjdGVkKGl0ZW0pO1xuICB9XG5cbiAgaXNTZWxlY3RlZChpdGVtOiBJdGVtKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNTZWxlY3RlZC5oYXMoaXRlbSk7XG4gIH1cblxuICBpc0FsbEl0ZW1zU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNTZWxlY3RlZC5zaXplID09PSB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgfVxuXG4gIGlzQWxsRmlsdGVyZWRTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1NlbGVjdGVkLnNpemUgPT09IHRoaXMuZmlsdGVyZWRJdGVtcy5sZW5ndGg7XG4gIH1cblxuICBpc05vSXRlbVNlbGVjdGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5pdGVtc1NlbGVjdGVkLnNpemU7XG4gIH1cblxuICBhcHBseUNoYW5nZXMoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBBcnJheS5mcm9tKHRoaXMuaXRlbXNTZWxlY3RlZC52YWx1ZXMoKSk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB0aGlzLmRyb3Bkb3duLmhpZGUoKTtcbiAgfVxuXG4gIHNlbGVjdEFsbChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pdGVtc1NlbGVjdGVkLmNsZWFyKCk7XG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zLmZvckVhY2goaXRlbSA9PiB0aGlzLm9uQ2hhbmdlSXRlbShjaGVja2VkLCBpdGVtKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy51cGRhdGVJdGVtcykge1xuICAgICAgdGhpcy51cGRhdGVJdGVtcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkKCk7XG4gICAgICAgIHRoaXMudXBkYXRlTGFiZWwoKTtcbiAgICAgICAgdGhpcy5zaG93QWxsTGFiZWwgPSB0aGlzLmlzQWxsSXRlbXNTZWxlY3RlZCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2VJdGVtKGNoZWNrZWQ6IGJvb2xlYW4sIGl0ZW06IEl0ZW0pIHtcbiAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgdGhpcy5pdGVtc1NlbGVjdGVkLmFkZChpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pdGVtc1NlbGVjdGVkLmRlbGV0ZShpdGVtKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJlZCh0ZXJtOiBzdHJpbmcpIHtcbiAgICBpZiAodGVybSkge1xuICAgICAgY29uc3Qgc2VhcmNoID0gbmV3IFJlZ0V4cCh0ZXJtLCAnaScpO1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKHsgbmFtZSB9KSA9PiBzZWFyY2gudGVzdChuYW1lKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VsZWN0QWxsVG9nZ2xlU3RhdHVzKCkge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRMYWJlbCgpO1xuICAgIGNvbnN0IGNoZWNrZWQgPSB0aGlzLmlzQWxsU2VsZWN0ZWQoKTtcbiAgICBjb25zdCBpbmRldGVybWluYXRlID0gIWNoZWNrZWQgJiYgdGhpcy5pdGVtc1NlbGVjdGVkLnNpemUgPiAwO1xuXG4gICAgcmV0dXJuIHsgbGFiZWwsIGNoZWNrZWQsIGluZGV0ZXJtaW5hdGUgfTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaXRlbXMgfHwgY2hhbmdlcy5zZWxlY3RlZCB8fCBjaGFuZ2VzLmFwcGx5TGFiZWwpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMudXBkYXRlTGFiZWwoKTtcbiAgICAgIHRoaXMuc2hvd0FsbExhYmVsID0gdGhpcy5pc0FsbEl0ZW1zU2VsZWN0ZWQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy51cGRhdGVJdGVtcyAmJiAhdGhpcy51cGRhdGVJdGVtcy5jbG9zZWQpIHtcbiAgICAgIHRoaXMudXBkYXRlSXRlbXMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUxhYmVsKCkge1xuICAgIGNvbnN0IG91dHRlclNlbGVjdGVkID0gdGhpcy5pdGVtcy5maWx0ZXIoaSA9PiB0aGlzLm91dHRlclNlbGVjdGVkKGkpKTtcbiAgICBpZiAodHlwZW9mIHRoaXMuc2VsZWN0ZWRMYWJlbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGl0ZW1OYW1lID0gdGhpcy5wcm9wZXJ0eVZhbHVlVHJhbnNmb3JtU2VydmljZS5nZXROYW1lKHsgbmFtZTogdGhpcy5zZWxlY3RlZExhYmVsIH0pO1xuICAgICAgdGhpcy5sYWJlbFRleHQgPSBpdGVtTmFtZSAmJiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChpdGVtTmFtZSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5zZWxlY3RlZExhYmVsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBpdGVtTmFtZSA9IHRoaXMucHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2UuZ2V0TmFtZSh7XG4gICAgICAgIG5hbWU6IHRoaXMuc2VsZWN0ZWRMYWJlbChvdXR0ZXJTZWxlY3RlZClcbiAgICAgIH0pO1xuICAgICAgdGhpcy5sYWJlbFRleHQgPSBpdGVtTmFtZSAmJiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChpdGVtTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGFiZWxUZXh0ID0gb3V0dGVyU2VsZWN0ZWRcbiAgICAgICAgLm1hcCgoeyBuYW1lIH0pID0+IHtcbiAgICAgICAgICBjb25zdCBpdGVtTmFtZSA9IHRoaXMucHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2UuZ2V0TmFtZSh7IG5hbWUgfSk7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1OYW1lICYmIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGl0ZW1OYW1lKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RlZCgpIHtcbiAgICBjb25zdCB7IGl0ZW1zU2VsZWN0ZWQsIGl0ZW1zIH0gPSB0aGlzO1xuICAgIGl0ZW1zU2VsZWN0ZWQuY2xlYXIoKTtcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKHRoaXMub3V0dGVyU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgICAgaXRlbXNTZWxlY3RlZC5hZGQoaXRlbSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gaXRlbXM7XG4gIH1cblxuICBwcml2YXRlIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgaWYgKHRoaXMuZ2V0TGFiZWwoKSA9PT0gdGhpcy5sYWJlbHNGb3JTZWxlY3RBbGwuYWxsRmlsdGVyZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzQWxsRmlsdGVyZWRTZWxlY3RlZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0FsbEl0ZW1zU2VsZWN0ZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldExhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaEZpbHRlciA/IHRoaXMubGFiZWxzRm9yU2VsZWN0QWxsLmFsbEZpbHRlcmVkIDogdGhpcy5sYWJlbHNGb3JTZWxlY3RBbGwuYWxsO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYzh5LWNoaWxkLWFzc2V0cy1zZWxlY3RvciBkcm9wZG93biBmaXQtd1wiXG4gIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlKCRldmVudClcIlxuICBkcm9wZG93blxuICAjZHJvcGRvd25cbiAgYzh5RHJvcGRvd25EaXJlY3Rpb25cbiAgcHgtZXZlbnQ9XCJTZWxlY3QgdHlwZVwiXG4+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImJ0biBkcm9wZG93bi10b2dnbGUgYzh5LWRyb3Bkb3duXCJcbiAgICB0aXRsZT1cInt7IGxhYmVsVGV4dCB8fCBwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgIGRyb3Bkb3duVG9nZ2xlXG4gID5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCJcbiAgICAgICpuZ0lmPVwibGFiZWxUZXh0XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FsbExhYmVsXCI+e3sgJ0FsbCcgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0FsbExhYmVsXCI+e3sgbGFiZWxUZXh0IHwgdHJhbnNsYXRlIH19PC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInRleHQtdHJ1bmNhdGUgdGV4dC1tdXRlZFwiXG4gICAgICAqbmdJZj1cIiFsYWJlbFRleHRcIlxuICAgID5cbiAgICAgIHt7IHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8dWxcbiAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgbXVsdGlzZWxlY3QtY29udGFpbmVyXCJcbiAgICAqZHJvcGRvd25NZW51XG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjOHktbGlcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpQ2hpbGRyZW4ubGVuZ3RoID09PSAwXCI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiBzaXplVG9TaG93RmlsdGVyXCJcbiAgICAgICAgY2xhc3M9XCJtdWx0aXNlbGVjdC1pdGVtIHN0aWNreS10b3BcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgaW5wdXQtZ3JvdXAtc2VhcmNoXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ0ZpbHRlcicgfCB0cmFuc2xhdGUgfX3igKZcIlxuICAgICAgICAgICAgKGtleXVwKT1cInVwZGF0ZUZpbHRlcmVkKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoRmlsdGVyXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYWRkb25cIj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGM4eUljb249XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAqbmdJZj1cIiF0ZXh0RmlsdGVyXCJcbiAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjOHlJY29uPVwidGltZXNcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRleHQtbXV0ZWRcIlxuICAgICAgICAgICAgICAqbmdJZj1cInRleHRGaWx0ZXJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidGV4dEZpbHRlciA9ICcnXCJcbiAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbGk+XG5cbiAgICAgIDxsaSBjbGFzcz1cIm11bHRpc2VsZWN0LWl0ZW1cIj5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgW3RpdGxlXT1cImdldFNlbGVjdEFsbFRvZ2dsZVN0YXR1cygpLmxhYmVsIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBjbGFzcz1cImM4eS1jaGVja2JveCBpbnB1dC1zbVwiXG4gICAgICAgICAgbmctY2xpY2s9XCJ2bS50b2dnbGVTZWxlY3RBbGwoKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiZ2V0U2VsZWN0QWxsVG9nZ2xlU3RhdHVzKCkuY2hlY2tlZFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImdldFNlbGVjdEFsbFRvZ2dsZVN0YXR1cygpLmluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJtLXQtMFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBnZXRTZWxlY3RBbGxUb2dnbGVTdGF0dXMoKS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvbGk+XG5cbiAgICAgIDxsaT5cbiAgICAgICAgPHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZFwiPlxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3M9XCJtdWx0aXNlbGVjdC1pdGVtXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkSXRlbXNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICB0aXRsZT1cInt7IGl0ZW0ubmFtZSB8IG5hbWVUcmFuc2Zvcm0gfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBjbGFzcz1cImM4eS1jaGVja2JveCBpbnB1dC1zbSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlSXRlbSgkZXZlbnQudGFyZ2V0LmNoZWNrZWQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm0tdC0wXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfCBuYW1lVHJhbnNmb3JtIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJkaXZpZGVyXCI+PC9saT5cbiAgICAgIDxsaSBjbGFzcz1cInN0aWNreS1ib3R0b20gYmctbGV2ZWwtMFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdGl0bGU9XCJ7eyBhcHBseUxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2tcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQXBwbHlPbk5vU2VsZWN0aW9uICYmIGlzTm9JdGVtU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImFwcGx5Q2hhbmdlcygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGFwcGx5TGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3VsPlxuPC9kaXY+XG4iXX0=
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxlQUFlLEVBRWYsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBZ0J2RCxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQUtXLGdCQUFXLEdBQVcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdDLGVBQVUsR0FBVyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFJdEMsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUc5RCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDeEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ1gscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQ3RDLHVCQUFrQixH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LENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0lBQy9GLENBQUM7OzRHQXBMVSxlQUFlO2dHQUFmLGVBQWUsc1lBVVQsaUJBQWlCLHVFQUR2QixtQkFBbUIscUVDMUNoQyxtcEhBeUhBOzJGRHhGYSxlQUFlO2tCQUozQixTQUFTOytCQUNFLFlBQVk7OEJBSWIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDNEMsUUFBUTtzQkFBMUQsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2IsVUFBVTtzQkFBN0MsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBbUJsQyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnNEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ25neC1ib290c3RyYXAvZHJvcGRvd24nO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBPbkluaXQsXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbGlzdC1ncm91cC9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlbSB7XG4gIG5hbWU6IHN0cmluZztcbiAgX3NlbGVjdGVkPzogYm9vbGVhbjtcblxuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIHNlbGVjdGVkRnVuY3Rpb24gPSAoaXRlbTogSXRlbSkgPT4gYm9vbGVhbjtcbmV4cG9ydCB0eXBlIHNlbGVjdGVkTGFiZWxGdW5jdGlvbiA9IChpdGVtczogSXRlbVtdKSA9PiBzdHJpbmc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBnZXR0ZXh0KCdTZWxlY3QgaXRlbScpO1xuICBASW5wdXQoKSBzZWxlY3RlZExhYmVsOiBzdHJpbmcgfCBzZWxlY3RlZExhYmVsRnVuY3Rpb247XG4gIEBJbnB1dCgpIGFwcGx5TGFiZWw6IHN0cmluZyA9IGdldHRleHQoJ0FwcGx5Jyk7XG4gIEBJbnB1dCgpIGl0ZW1zOiBJdGVtW107XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBJdGVtW10gfCBzZWxlY3RlZEZ1bmN0aW9uO1xuICBASW5wdXQoKSB1cGRhdGVJdGVtczogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuICBASW5wdXQoKSBkaXNhYmxlQXBwbHlPbk5vU2VsZWN0aW9uID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoQnNEcm9wZG93bkRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyb3Bkb3duOiBCc0Ryb3Bkb3duRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkcmVuKExpc3RJdGVtQ29tcG9uZW50KSBsaUNoaWxkcmVuO1xuICB0ZXh0RmlsdGVyID0gJyc7XG4gIGxhYmVsVGV4dCA9ICcnO1xuICB0cnVuY2F0ZWRMYWJlbFRleHQgPSAnJztcbiAgaXNPcGVuID0gZmFsc2U7XG4gIGZpbHRlcmVkSXRlbXM6IEl0ZW1bXSA9IFtdO1xuICBzZWFyY2hGaWx0ZXIgPSBudWxsO1xuICByZWFkb25seSBzaXplVG9TaG93RmlsdGVyOiBudW1iZXIgPSA1O1xuICBsYWJlbHNGb3JTZWxlY3RBbGw6IGFueSA9IHtcbiAgICBhbGw6IGdldHRleHQoJ0FsbCcpLFxuICAgIGFsbEZpbHRlcmVkOiBnZXR0ZXh0KCdBbGwgZmlsdGVyZWQnKVxuICB9O1xuICBzaG93QWxsTGFiZWwgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpdGVtc1NlbGVjdGVkOiBTZXQ8SXRlbT4gPSBuZXcgU2V0KCk7XG4gIHByaXZhdGUgc3RvcENsaWNrcyA9IGZhbHNlO1xuICBwcml2YXRlIHByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlID0gaW5qZWN0KFByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJldmVudENsaWNrKGV2dCkge1xuICAgIGlmICh0aGlzLnN0b3BDbGlja3MpIHtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5zdG9wQ2xpY2tzID0gdGhpcy5pc09wZW47XG4gIH1cblxuICBpc09wZW5DaGFuZ2UoaXNPcGVuOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc09wZW4gPSBpc09wZW47XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZCgpO1xuICAgICAgdGhpcy5zZWFyY2hGaWx0ZXIgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3BDbGlja3MgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvdXR0ZXJTZWxlY3RlZChpdGVtOiBJdGVtKSB7XG4gICAgY29uc3QgeyBzZWxlY3RlZCB9ID0gdGhpcztcbiAgICBsZXQgaXNTZWxlY3RlZDogYW55ID0gKCkgPT4gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiBzZWxlY3RlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaXNTZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RlZCkpIHtcbiAgICAgIGlzU2VsZWN0ZWQgPSAoaTogSXRlbSkgPT4gc2VsZWN0ZWQuaW5kZXhPZihpKSA+IC0xO1xuICAgIH1cbiAgICByZXR1cm4gaXNTZWxlY3RlZChpdGVtKTtcbiAgfVxuXG4gIGlzU2VsZWN0ZWQoaXRlbTogSXRlbSkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zU2VsZWN0ZWQuaGFzKGl0ZW0pO1xuICB9XG5cbiAgaXNBbGxJdGVtc1NlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zU2VsZWN0ZWQuc2l6ZSA9PT0gdGhpcy5pdGVtcy5sZW5ndGg7XG4gIH1cblxuICBpc0FsbEZpbHRlcmVkU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNTZWxlY3RlZC5zaXplID09PSB0aGlzLmZpbHRlcmVkSXRlbXMubGVuZ3RoO1xuICB9XG5cbiAgaXNOb0l0ZW1TZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuaXRlbXNTZWxlY3RlZC5zaXplO1xuICB9XG5cbiAgYXBwbHlDaGFuZ2VzKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gQXJyYXkuZnJvbSh0aGlzLml0ZW1zU2VsZWN0ZWQudmFsdWVzKCkpO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgdGhpcy5kcm9wZG93bi5oaWRlKCk7XG4gIH1cblxuICBzZWxlY3RBbGwoY2hlY2tlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXRlbXNTZWxlY3RlZC5jbGVhcigpO1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5vbkNoYW5nZUl0ZW0oY2hlY2tlZCwgaXRlbSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudXBkYXRlSXRlbXMpIHtcbiAgICAgIHRoaXMudXBkYXRlSXRlbXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUxhYmVsKCk7XG4gICAgICAgIHRoaXMuc2hvd0FsbExhYmVsID0gdGhpcy5pc0FsbEl0ZW1zU2VsZWN0ZWQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlSXRlbShjaGVja2VkOiBib29sZWFuLCBpdGVtOiBJdGVtKSB7XG4gICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgIHRoaXMuaXRlbXNTZWxlY3RlZC5hZGQoaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbXNTZWxlY3RlZC5kZWxldGUoaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRmlsdGVyZWQodGVybTogc3RyaW5nKSB7XG4gICAgaWYgKHRlcm0pIHtcbiAgICAgIGNvbnN0IHNlYXJjaCA9IG5ldyBSZWdFeHAodGVybSwgJ2knKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKCh7IG5hbWUgfSkgPT4gc2VhcmNoLnRlc3QobmFtZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdEFsbFRvZ2dsZVN0YXR1cygpIHtcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMuZ2V0TGFiZWwoKTtcbiAgICBjb25zdCBjaGVja2VkID0gdGhpcy5pc0FsbFNlbGVjdGVkKCk7XG4gICAgY29uc3QgaW5kZXRlcm1pbmF0ZSA9ICFjaGVja2VkICYmIHRoaXMuaXRlbXNTZWxlY3RlZC5zaXplID4gMDtcblxuICAgIHJldHVybiB7IGxhYmVsLCBjaGVja2VkLCBpbmRldGVybWluYXRlIH07XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLml0ZW1zIHx8IGNoYW5nZXMuc2VsZWN0ZWQgfHwgY2hhbmdlcy5hcHBseUxhYmVsKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkKCk7XG4gICAgICB0aGlzLnVwZGF0ZUxhYmVsKCk7XG4gICAgICB0aGlzLnNob3dBbGxMYWJlbCA9IHRoaXMuaXNBbGxJdGVtc1NlbGVjdGVkKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMudXBkYXRlSXRlbXMgJiYgIXRoaXMudXBkYXRlSXRlbXMuY2xvc2VkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUl0ZW1zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVMYWJlbCgpOiB2b2lkIHtcbiAgICBjb25zdCBvdXR0ZXJTZWxlY3RlZCA9IHRoaXMuaXRlbXMuZmlsdGVyKGkgPT4gdGhpcy5vdXR0ZXJTZWxlY3RlZChpKSk7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuc2VsZWN0ZWRMYWJlbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHRoaXMuc2VsZWN0ZWRMYWJlbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgbmFtZVZhbHVlID1cbiAgICAgICAgdHlwZW9mIHRoaXMuc2VsZWN0ZWRMYWJlbCA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRMYWJlbFxuICAgICAgICAgIDogdGhpcy5zZWxlY3RlZExhYmVsKG91dHRlclNlbGVjdGVkKTtcblxuICAgICAgY29uc3QgaXRlbU5hbWUgPSB0aGlzLnByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlLmdldE5hbWUoeyBuYW1lOiBuYW1lVmFsdWUgfSk7XG4gICAgICB0aGlzLmxhYmVsVGV4dCA9IGl0ZW1OYW1lICYmIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGl0ZW1OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYWJlbFRleHQgPSBvdXR0ZXJTZWxlY3RlZFxuICAgICAgICAubWFwKCh7IG5hbWUgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1OYW1lID0gdGhpcy5wcm9wZXJ0eVZhbHVlVHJhbnNmb3JtU2VydmljZS5nZXROYW1lKHsgbmFtZSB9KTtcbiAgICAgICAgICByZXR1cm4gaXRlbU5hbWUgJiYgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoaXRlbU5hbWUpO1xuICAgICAgICB9KVxuICAgICAgICAuam9pbignLCAnKTtcbiAgICB9XG5cbiAgICB0aGlzLnRydW5jYXRlZExhYmVsVGV4dCA9IHRoaXMubGFiZWxUZXh0ID8gdGhpcy5sYWJlbFRleHQuc3Vic3RyaW5nKDAsIDEwMCkgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgeyBpdGVtc1NlbGVjdGVkLCBpdGVtcyB9ID0gdGhpcztcbiAgICBpdGVtc1NlbGVjdGVkLmNsZWFyKCk7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICh0aGlzLm91dHRlclNlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICAgIGl0ZW1zU2VsZWN0ZWQuYWRkKGl0ZW0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IGl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGlmICh0aGlzLmdldExhYmVsKCkgPT09IHRoaXMubGFiZWxzRm9yU2VsZWN0QWxsLmFsbEZpbHRlcmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0FsbEZpbHRlcmVkU2VsZWN0ZWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaXNBbGxJdGVtc1NlbGVjdGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hGaWx0ZXIgPyB0aGlzLmxhYmVsc0ZvclNlbGVjdEFsbC5hbGxGaWx0ZXJlZCA6IHRoaXMubGFiZWxzRm9yU2VsZWN0QWxsLmFsbDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImM4eS1jaGlsZC1hc3NldHMtc2VsZWN0b3IgZHJvcGRvd24gZml0LXdcIlxuICAoaXNPcGVuQ2hhbmdlKT1cImlzT3BlbkNoYW5nZSgkZXZlbnQpXCJcbiAgZHJvcGRvd25cbiAgI2Ryb3Bkb3duXG4gIGM4eURyb3Bkb3duRGlyZWN0aW9uXG4gIHB4LWV2ZW50PVwiU2VsZWN0IHR5cGVcIlxuPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gZHJvcGRvd24tdG9nZ2xlIGM4eS1kcm9wZG93blwiXG4gICAgdGl0bGU9XCJ7eyBsYWJlbFRleHQgfHwgcGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxuICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICBkcm9wZG93blRvZ2dsZVxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiXG4gICAgICAqbmdJZj1cImxhYmVsVGV4dFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dBbGxMYWJlbFwiPnt7ICdBbGwnIHwgdHJhbnNsYXRlIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNob3dBbGxMYWJlbFwiPnt7IHRydW5jYXRlZExhYmVsVGV4dCB8IHRyYW5zbGF0ZSB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlIHRleHQtbXV0ZWRcIlxuICAgICAgKm5nSWY9XCIhbGFiZWxUZXh0XCJcbiAgICA+XG4gICAgICB7eyBwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG5cbiAgPHVsXG4gICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IG11bHRpc2VsZWN0LWNvbnRhaW5lclwiXG4gICAgKmRyb3Bkb3duTWVudVxuICA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYzh5LWxpXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaUNoaWxkcmVuLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0lmPVwiaXRlbXMubGVuZ3RoID4gc2l6ZVRvU2hvd0ZpbHRlclwiXG4gICAgICAgIGNsYXNzPVwibXVsdGlzZWxlY3QtaXRlbSBzdGlja3ktdG9wXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLXNlYXJjaFwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdGaWx0ZXInIHwgdHJhbnNsYXRlIH194oCmXCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJ1cGRhdGVGaWx0ZXJlZCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEZpbHRlclwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLWFkZG9uXCI+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjOHlJY29uPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhdGV4dEZpbHRlclwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgYzh5SWNvbj1cInRpbWVzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LW11dGVkXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0ZXh0RmlsdGVyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRleHRGaWx0ZXIgPSAnJ1wiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xpPlxuXG4gICAgICA8bGkgY2xhc3M9XCJtdWx0aXNlbGVjdC1pdGVtXCI+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgIFt0aXRsZV09XCJnZXRTZWxlY3RBbGxUb2dnbGVTdGF0dXMoKS5sYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJjOHktY2hlY2tib3ggaW5wdXQtc21cIlxuICAgICAgICAgIG5nLWNsaWNrPVwidm0udG9nZ2xlU2VsZWN0QWxsKCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImdldFNlbGVjdEFsbFRvZ2dsZVN0YXR1cygpLmNoZWNrZWRcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiXG4gICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJnZXRTZWxlY3RBbGxUb2dnbGVTdGF0dXMoKS5pbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIGNsYXNzPVwibS10LTBcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtdGV4dFwiPlxuICAgICAgICAgICAge3sgZ2V0U2VsZWN0QWxsVG9nZ2xlU3RhdHVzKCkubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2xpPlxuXG4gICAgICA8bGk+XG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwibXVsdGlzZWxlY3QtaXRlbVwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBpdGVtLm5hbWUgfCBuYW1lVHJhbnNmb3JtIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjOHktY2hlY2tib3ggaW5wdXQtc20gdGV4dC10cnVuY2F0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZUl0ZW0oJGV2ZW50LnRhcmdldC5jaGVja2VkLCBpdGVtKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtLXQtMFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC10ZXh0XCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5uYW1lIHwgbmFtZVRyYW5zZm9ybSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwiZGl2aWRlclwiPjwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJzdGlja3ktYm90dG9tIGJnLWxldmVsLTBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHRpdGxlPVwie3sgYXBwbHlMYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFwcGx5T25Ob1NlbGVjdGlvbiAmJiBpc05vSXRlbVNlbGVjdGVkKClcIlxuICAgICAgICAgIChjbGljayk9XCJhcHBseUNoYW5nZXMoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBhcHBseUxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cbjwvZGl2PlxuIl19
|