@ng-nest/ui 15.0.7 → 15.0.8

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.
@@ -433,6 +433,7 @@ export interface XCountdownConfig {
433
433
  export interface XStepsConfig {
434
434
  }
435
435
  export interface XSwitchConfig {
436
+ size?: XSize;
436
437
  }
437
438
  export interface XTableConfig {
438
439
  index?: number;
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const X_CONFIG = new InjectionToken('x-config');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFNpemUsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFR5cGUsXHJcbiAgWEVmZmVjdCxcclxuICBYTnVtYmVyLFxyXG4gIFhQb3NpdGlvbkxlZnRSaWdodCxcclxuICBYSnVzdGlmeSxcclxuICBYU2hhcGUsXHJcbiAgWEZpdCxcclxuICBYU2hhZG93LFxyXG4gIFhUcmlnZ2VyLFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhDb3JuZXIsXHJcbiAgWERpcmVjdGlvbixcclxuICBYUGxhY2UsXHJcbiAgWFBvc2l0aW9uLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTdGF0dXMsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbmZpZyB7XHJcbiAgY29tcG9uZW50cz86IFhDb21wb25lbnRDb25maWc7XHJcbiAgdGhlbWU/OiBYVGhlbWU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhDb25maWdLZXkgPSBrZXlvZiBYQ29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbXBvbmVudENvbmZpZ0tleSA9IGtleW9mIFhDb21wb25lbnRDb25maWc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48WENvbmZpZz4oJ3gtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21wb25lbnRDb25maWcge1xyXG4gIGFmZml4PzogWEFmZml4Q29uZmlnO1xyXG4gIGFsZXJ0PzogWEFsZXJ0Q29uZmlnO1xyXG4gIGFuY2hvcj86IFhBbmNob3JDb25maWc7XHJcbiAgYXZhdGFyPzogWEF2YXRhckNvbmZpZztcclxuICBhdXRvQ29tcGxldGU/OiBYQXV0b0NvbXBsZXRlQ29uZmlnO1xyXG4gIGJhY2tUb3A/OiBYQmFja1RvcENvbmZpZztcclxuICBiYWRnZT86IFhCYWRnZUNvbmZnaWc7XHJcbiAgYnV0dG9uPzogWEJ1dHRvbkNvbmZpZztcclxuICBidXR0b25zPzogWEJ1dHRvbnNDb25maWc7XHJcbiAgY2FsZW5kYXI/OiBYQ2FsZW5kYXJDb25maWc7XHJcbiAgY2FyZD86IFhDYXJkQ29uZmlnO1xyXG4gIGNhcm91c2VsPzogWENhcm91c2VsQ29uZmlnO1xyXG4gIGNhc2NhZGU/OiBYQ2FzY2FkZUNvbmZpZztcclxuICBjaGVja2JveD86IFhDaGVja2JveENvbmZpZztcclxuICBjb2xsYXBzZT86IFhDb2xsYXBzZUNvbmZpZztcclxuICBjb2xvcj86IFhDb2xvckNvbmZpZztcclxuICBjb2xvclBpY2tlcj86IFhDb2xvclBpY2tlckNvbmZpZztcclxuICBjb21tZW50PzogWENvbW1lbnRDb25maWc7XHJcbiAgY29udGFpbmVyPzogWENvbnRhaW5lckNvbmZpZztcclxuICBoZWFkZXI/OiBYSGVhZGVyQ29uZmlnO1xyXG4gIGFzaWRlPzogWEFzaWRlQ29uZmlnO1xyXG4gIGZvb3Rlcj86IFhGb290ZXJDb25maWc7XHJcbiAgY3J1bWI/OiBYQ3J1bWJDb21maWc7XHJcbiAgZGF0ZVBpY2tlcj86IFhEYXRlUGlja2VyQ29uZmlnO1xyXG4gIGRhdGVSYW5nZT86IFhEYXRlUmFuZ2VDb25maWc7XHJcbiAgZGlhbG9nPzogWERpYWxvZ0NvbmZpZztcclxuICBkcmF3ZXI/OiBYRHJhd2VyQ29uZmlnO1xyXG4gIGRyb3Bkb3duPzogWERyb3Bkb3duQ29uZmlnO1xyXG4gIGRlc2NyaXB0aW9uPzogWERlc2NyaXB0aW9uQ29uZmlnO1xyXG4gIGVtcHR5PzogWEVtcHR5Q29uZmlnO1xyXG4gIGZpbmQ/OiBYRmluZENvbmZpZztcclxuICBmb3JtPzogWEZvcm1Db25maWc7XHJcbiAgaGlnaGxpZ2h0PzogWEhpZ2hsaWdodENvbmZpZztcclxuICBpY29uPzogWEljb25Db25maWc7XHJcbiAgaW5uZXI/OiBYSW5uZXJDb25maWc7XHJcbiAgaW5wdXQ/OiBYSW5wdXRDb25maWc7XHJcbiAgaW5wdXRHcm91cD86IFhJbnB1dEdyb3VwQ29uZmlnO1xyXG4gIGlucHV0TnVtYmVyPzogWElucHV0TnVtYmVyQ29uZmlnO1xyXG4gIGltYWdlPzogWEltYWdlQ29uZmlnO1xyXG4gIGNvbD86IFhDb2xDb25maWc7XHJcbiAgcm93PzogWFJvd0NvbmZpZztcclxuICByaXBwbGU/OiBYUmlwcGxlQ29uZmlnO1xyXG4gIGxpbms/OiBYTGlua0NvbmZpZztcclxuICBsaXN0PzogWExpc3RDb25maWc7XHJcbiAgbGlzdE9wdGlvbj86IFhMaXN0T3B0aW9uQ29uZmlnO1xyXG4gIGxvYWRpbmc/OiBYTG9hZGluZ0NvbmZpZztcclxuICBtZW51PzogWE1lbnVDb25maWc7XHJcbiAgbWVzc2FnZT86IFhNZXNzYWdlQ29uZmlnO1xyXG4gIG1lc3NhZ2VCb3g/OiBYTWVzc2FnZUJveENvbmZpZztcclxuICBub3RpZmljYXRpb24/OiBYTm90aWZpY2F0aW9uQ29uZmlnO1xyXG4gIG91dGxldD86IFhPdXRsZXRDb25maWc7XHJcbiAgcGFnZUhlYWRlcj86IFhQYWdlSGVhZGVyQ29uZmlnO1xyXG4gIHBhZ2luYXRpb24/OiBYUGFnaW5hdGlvbkNvbmZpZztcclxuICBwYXR0ZXJuPzogWFBhdHRlcm5Db25maWc7XHJcbiAgcG9wY29uZmlybT86IFhQb3Bjb25maXJtQ29uZmlnO1xyXG4gIHBvcG92ZXI/OiBYUG9wb3ZlckNvbmZpZztcclxuICBwb3J0YWw/OiBYUG9ydGFsQ29uZmlnO1xyXG4gIHByb2dyZXNzPzogWFByb2dyZXNzQ29uZmluZztcclxuICByYWRpbz86IFhSYWRpb0NvbmZpZztcclxuICByYXRlPzogWFJhdGVDb25maWc7XHJcbiAgcmVzdWx0PzogWFJlc3VsdENvbmZpZztcclxuICBzZWxlY3Q/OiBYU2VsZWN0Q29uZmlnO1xyXG4gIHNrZWxldG9uPzogWFNrZWxldG9uQ29uZmlnO1xyXG4gIHNsaWRlcj86IFhTbGlkZXJDb25maWc7XHJcbiAgc2xpZGVyU2VsZWN0PzogWFNsaWRlclNlbGVjdENvbmZpZztcclxuICBzdGF0aXN0aWM/OiBYU3RhdGlzdGljQ29uZmlnO1xyXG4gIGNvdW50ZG93bj86IFhDb3VudGRvd25Db25maWc7XHJcbiAgc3RlcHM/OiBYU3RlcHNDb25maWc7XHJcbiAgc3dpdGNoPzogWFN3aXRjaENvbmZpZztcclxuICB0YWJsZT86IFhUYWJsZUNvbmZpZztcclxuICB0YWJzPzogWFRhYnNDb25maWc7XHJcbiAgdGFnPzogWFRhZ0NvbmZpZztcclxuICB0ZXh0UmV0cmFjdD86IFhUZXh0UmV0cmFjdENvbmZpZztcclxuICB0aGVtZT86IFhUaGVtZUNvbmZpZztcclxuICB0aW1lQWdvPzogWFRpbWVBZ29Db25maWc7XHJcbiAgdGltZVBpY2tlcj86IFhUaW1lUGlja2VyQ29uZmlnO1xyXG4gIHRpbWVSYW5nZT86IFhUaW1lUmFuZ2VDb25maWc7XHJcbiAgdGltZWxpbmU/OiBYVGltZWxpbmVDb25maWc7XHJcbiAgdG9vbHRpcD86IFhUb29sdGlwQ29uZmlnO1xyXG4gIHRyYW5zZmVyPzogWFRyYW5zZmVyQ29uZmlnO1xyXG4gIHRyZWU/OiBYVHJlZUNvbmZpZztcclxuICB0cmVlRmlsZT86IFhUcmVlRmlsZUNvbmZpZztcclxuICB0cmVlU2VsZWN0PzogWFRyZWVTZWxlY3RDb25maWc7XHJcbiAgdGV4dGFyZWE/OiBYVGV4dGFyZWFDb25maWc7XHJcbiAgdXBsb2FkPzogWFVwbG9hZENvbmZpZztcclxuICBrZXl3b3JkPzogWEtleXdvcmRDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFmZml4Q29uZmlnIHtcclxuICB0b3A/OiBzdHJpbmc7XHJcbiAgbGVmdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQWxlcnRDb25maWcge1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgaGlkZUNsb3NlPzogWEJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBYQm9vbGVhbjtcclxuICBkaXNhYmxlZEFuaW1hdGlvbj86IFhCb29sZWFuO1xyXG4gIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IFhCb29sZWFuO1xyXG4gIGRyYWdIYW5kbGVUaXRsZT86IFhCb29sZWFuO1xyXG4gIGR1cmF0aW9uPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQW5jaG9yQ29uZmlnIHtcclxuICBhZmZpeFRvcD86IHN0cmluZztcclxuICBhZmZpeFdpZHRoPzogc3RyaW5nO1xyXG4gIGxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEF2YXRhckNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHNoYXBlPzogWFNoYXBlO1xyXG4gIGZpdD86IFhGaXQ7XHJcbiAgZ2FwPzogbnVtYmVyO1xyXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQXV0b0NvbXBsZXRlQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgb25seVNlbGVjdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJhY2tUb3BDb25maWcge1xyXG4gIHJpZ2h0Pzogc3RyaW5nO1xyXG4gIGJvdHRvbT86IHN0cmluZztcclxuICB2aXNpYmlsaXR5SGVpZ2h0PzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQmFkZ2VDb25mZ2lnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbkNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBwbGFpbj86IFhCb29sZWFuO1xyXG4gIHJvdW5kPzogWEJvb2xlYW47XHJcbiAgY2lyY2xlPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbnNDb25maWcge1xyXG4gIHNwYWNlPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FsZW5kYXJDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcmRDb25maWcge1xyXG4gIHNoYWRvdz86IFhTaGFkb3c7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcm91c2VsQ29uZmlnIHtcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIGFycm93PzogWFNoYWRvdztcclxuICBkaXJlY3Rpb24/OiBYRGlzcGxheURpcmVjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIG5vZGVUcmlnZ2VyPzogWFRyaWdnZXI7XHJcbiAgbm9kZUhvdmVyRGVsYXk/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDaGVja2JveENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xsYXBzZUNvbmZpZyB7XHJcbiAgc2hvd0ljb24/OiBCb29sZWFuO1xyXG4gIGdob3N0PzogQm9vbGVhbjtcclxuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGJvcmRlcmVkPzogQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JDb25maWcge1xyXG4gIG1lcmdlPzogc3RyaW5nO1xyXG4gIGFtb3VudHM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbG9yUGlja2VyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21tZW50Q29uZmlnIHtcclxuICBjb250ZW50TWF4PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb250YWluZXJDb25maWcge1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEhlYWRlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBc2lkZUNvbmZpZyB7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZvb3RlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDcnVtYkNvbWZpZyB7XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUmFuZ2VDb25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICBvZmZzZXQ/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgc2hvd0NhbmNlbD86IFhCb29sZWFuO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2hvd0NvbmZpcm0/OiBYQm9vbGVhbjtcclxuICBjb25maXJtVGV4dD86IHN0cmluZztcclxuICBiYWNrZHJvcENsb3NlPzogWEJvb2xlYW47XHJcbiAgZHJhZ2dhYmxlPzogWEJvb2xlYW47XHJcbiAgcmVzaXphYmxlPzogWEJvb2xlYW47XHJcbiAgbWF4aW1pemU/OiBYQm9vbGVhbjtcclxuICBoYXNCYWNrZHJvcD86IFhCb29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxuICBidXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERyYXdlckNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uO1xyXG4gIHNpemU/OiBzdHJpbmc7XHJcbiAgYmFja2Ryb3BDbG9zZT86IFhCb29sZWFuO1xyXG4gIGhhc0JhY2tkcm9wPzogWEJvb2xlYW47XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEcm9wZG93bkNvbmZpZyB7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERlc2NyaXB0aW9uQ29uZmlnIHtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRW1wdHlDb25maWcge1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIGNvbHVtbkxhYmVsPzogc3RyaW5nO1xyXG4gIGRpYWxvZ1RpdGxlPzogc3RyaW5nO1xyXG4gIGRpYWxvZ0NoZWNrYm94TGFiZWw/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQ2hlY2tib3hXaWR0aD86IG51bWJlcjtcclxuICBkaWFsb2dFbXB0eUNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG4gIHRhYmxlSW5kZXg/OiBudW1iZXI7XHJcbiAgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIHRhYmxlTG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHRhYmxlVmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgdGFibGVSb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHRyZWVFeHBhbmRlZExldmVsPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRm9ybUNvbmZpZyB7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIGxhYmVsU3VmZml4Pzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhIaWdobGlnaHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEljb25Db25maWcge1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElubmVyQ29uZmlnIHtcclxuICBwYWRkaW5nPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dENvbmZpZyB7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgaWNvbkxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBpbnB1dFBhZGRpbmc/OiBYTnVtYmVyO1xyXG4gIGlucHV0SWNvblBhZGRpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dEdyb3VwQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjb21wYWN0PzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0TnVtYmVyQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW1hZ2VDb25maWcge1xyXG4gIHByZXZpZXdUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJvd0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmlwcGxlQ29uZmlnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpbmtDb25maWcge1xyXG4gIHVuZGVybGluZT86IFhCb29sZWFuO1xyXG4gIGljb25SaWdodD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMaXN0Q29uZmlnIHtcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIGxvYWRNb3JlVGV4dD86IHN0cmluZztcclxuICBsb2FkaW5nTW9yZVRleHQ/OiBzdHJpbmc7XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpc3RPcHRpb25Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTG9hZGluZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIHpJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVudUNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUNvbmZpZyB7XHJcbiAgdHlwZT86IFhTdGF0dXM7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlO1xyXG4gIGRpc3BsYXlUeXBlPzogc3RyaW5nO1xyXG4gIG9mZnNldD86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhpZGVDbG9zZT86IGJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhNZXNzYWdlQm94Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhOb3RpZmljYXRpb25Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE91dGxldENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUGFnZUhlYWRlckNvbmZpZyB7XHJcbiAgYmFja0ljb24/OiBzdHJpbmc7XHJcbiAgYmFja1RleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhZ2luYXRpb25Db25maWcge1xyXG4gIGluZGV4PzogWE51bWJlcjtcclxuICBzaXplPzogWE51bWJlcjtcclxuICBzcGFjZT86IFhOdW1iZXI7XHJcbiAgcGFnZUxpbmtTaXplPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBib29sZWFuO1xyXG4gIHNob3dFbGxpcHNpcz86IGJvb2xlYW47XHJcbiAgc2hvd1RvdGFsPzogYm9vbGVhbjtcclxuICBzaG93U2l6ZT86IGJvb2xlYW47XHJcbiAgc2l6ZVdpZHRoPzogbnVtYmVyO1xyXG4gIHNpemVEYXRhPzogbnVtYmVyW107XHJcbiAgc2hvd0lucHV0U2l6ZT86IGJvb2xlYW47XHJcbiAgaW5wdXRTaXplV2lkdGg/OiBudW1iZXI7XHJcbiAgc2hvd0p1bXA/OiBib29sZWFuO1xyXG4gIGp1bXBXaWR0aD86IG51bWJlcjtcclxuICBzaW1wbGU/OiBib29sZWFuO1xyXG4gIHNpbXBsZUluZGV4V2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhdHRlcm5Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcGNvbmZpcm1Db25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcG92ZXJDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3J0YWxDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFByb2dyZXNzQ29uZmluZyB7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHN0ZXBXaWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmFkaW9Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmF0ZUNvbmZpZyB7XHJcbiAgY29sb3I/OiBzdHJpbmcgfCB7IFtjb2xvcjogc3RyaW5nXTogKHJhdGU6IG51bWJlcikgPT4gYm9vbGVhbiB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhSZXN1bHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTa2VsZXRvbkNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2xpZGVyQ29uZmlnIHtcclxuICBhbmltYXRlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBzaG93RXhwYW5kPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RhdGlzdGljQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb3VudGRvd25Db25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RlcHNDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb25maWcge1xyXG4gIGluZGV4PzogbnVtYmVyO1xyXG4gIHNpemU/OiBudW1iZXI7XHJcbiAgbG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHNob3dIZWFkZXI/OiBYQm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICByb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIGl0ZW1TaXplPzogWE51bWJlcjtcclxuICBib3JkZXJlZD86IFhOdW1iZXI7XHJcbiAgYWxsb3dTZWxlY3RSb3c/OiBYQm9vbGVhbjtcclxuICBhbGxvd0NoZWNrUm93PzogWEJvb2xlYW47XHJcbiAgcm93U2l6ZT86IFhTaXplO1xyXG4gIHNob3dQYWdpbmF0aW9uPzogWEJvb2xlYW47XHJcbiAgdHJlZVRhYmxlPzogWEJvb2xlYW47XHJcbiAgZXhwYW5kZWRBbGw/OiBYQm9vbGVhbjtcclxuICBleHBhbmRlZExldmVsPzogWE51bWJlcjtcclxuICBoaWRkZW5QYWdpbmF0aW9uQm9yZGVyPzogWEJvb2xlYW47XHJcbiAgaGlkZGVuV3JhcEJvcmRlcj86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJzQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgY2xvc2FibGU/OiBYQm9vbGVhbjtcclxuICBkYXJrPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRSZXRyYWN0Q29uZmlnIHtcclxuICBtYXg/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaGVtZUNvbmZpZyB7XHJcbiAgYW1vdW50cz86IFhOdW1iZXJbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZUFnb0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZVBpY2tlckNvbmZpZyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgdXNlMTJIb3Vycz86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lUmFuZ2VDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVsaW5lQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRvb2x0aXBDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyYW5zZmVyQ29uZmlnIHtcclxuICB0aXRsZXM/OiBzdHJpbmdbXTtcclxuICBkcmFnPzogWEJvb2xlYW47XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlQ29uZmlnIHtcclxuICBzcGFjaW5nPzogWE51bWJlcjtcclxuICBub2RlSGVpZ2h0PzogWE51bWJlcjtcclxuICBub2RlQWxpZ25JdGVtcz86IFhBbGlnbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICBvbmx5TGVhZj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRhcmVhQ29uZmlnIHtcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBpY29uTGF5b3V0PzogWFBvc2l0aW9uTGVmdFJpZ2h0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlRmlsZUNvbmZpZyB7XHJcbiAgbWF4SGVpZ2h0PzogWE51bWJlcjtcclxuICBzcGFjaW5nPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZVNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG4gIHNob3dQYXRoPzogWEJvb2xlYW47XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG4gIG9ubHlMZWFmPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVXBsb2FkQ29uZmlnIHtcclxuICBkb3dubG9hZD86IFhCb29sZWFuO1xyXG4gIG11bHRpcGxlTW9kZWw/OiAnY292ZXInIHwgJ2FkZCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEtleXdvcmRDb25maWcge1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBjb2xvcj86IHN0cmluZztcclxuICBjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFNpemUsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFR5cGUsXHJcbiAgWEVmZmVjdCxcclxuICBYTnVtYmVyLFxyXG4gIFhQb3NpdGlvbkxlZnRSaWdodCxcclxuICBYSnVzdGlmeSxcclxuICBYU2hhcGUsXHJcbiAgWEZpdCxcclxuICBYU2hhZG93LFxyXG4gIFhUcmlnZ2VyLFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhDb3JuZXIsXHJcbiAgWERpcmVjdGlvbixcclxuICBYUGxhY2UsXHJcbiAgWFBvc2l0aW9uLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTdGF0dXMsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbmZpZyB7XHJcbiAgY29tcG9uZW50cz86IFhDb21wb25lbnRDb25maWc7XHJcbiAgdGhlbWU/OiBYVGhlbWU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhDb25maWdLZXkgPSBrZXlvZiBYQ29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbXBvbmVudENvbmZpZ0tleSA9IGtleW9mIFhDb21wb25lbnRDb25maWc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48WENvbmZpZz4oJ3gtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21wb25lbnRDb25maWcge1xyXG4gIGFmZml4PzogWEFmZml4Q29uZmlnO1xyXG4gIGFsZXJ0PzogWEFsZXJ0Q29uZmlnO1xyXG4gIGFuY2hvcj86IFhBbmNob3JDb25maWc7XHJcbiAgYXZhdGFyPzogWEF2YXRhckNvbmZpZztcclxuICBhdXRvQ29tcGxldGU/OiBYQXV0b0NvbXBsZXRlQ29uZmlnO1xyXG4gIGJhY2tUb3A/OiBYQmFja1RvcENvbmZpZztcclxuICBiYWRnZT86IFhCYWRnZUNvbmZnaWc7XHJcbiAgYnV0dG9uPzogWEJ1dHRvbkNvbmZpZztcclxuICBidXR0b25zPzogWEJ1dHRvbnNDb25maWc7XHJcbiAgY2FsZW5kYXI/OiBYQ2FsZW5kYXJDb25maWc7XHJcbiAgY2FyZD86IFhDYXJkQ29uZmlnO1xyXG4gIGNhcm91c2VsPzogWENhcm91c2VsQ29uZmlnO1xyXG4gIGNhc2NhZGU/OiBYQ2FzY2FkZUNvbmZpZztcclxuICBjaGVja2JveD86IFhDaGVja2JveENvbmZpZztcclxuICBjb2xsYXBzZT86IFhDb2xsYXBzZUNvbmZpZztcclxuICBjb2xvcj86IFhDb2xvckNvbmZpZztcclxuICBjb2xvclBpY2tlcj86IFhDb2xvclBpY2tlckNvbmZpZztcclxuICBjb21tZW50PzogWENvbW1lbnRDb25maWc7XHJcbiAgY29udGFpbmVyPzogWENvbnRhaW5lckNvbmZpZztcclxuICBoZWFkZXI/OiBYSGVhZGVyQ29uZmlnO1xyXG4gIGFzaWRlPzogWEFzaWRlQ29uZmlnO1xyXG4gIGZvb3Rlcj86IFhGb290ZXJDb25maWc7XHJcbiAgY3J1bWI/OiBYQ3J1bWJDb21maWc7XHJcbiAgZGF0ZVBpY2tlcj86IFhEYXRlUGlja2VyQ29uZmlnO1xyXG4gIGRhdGVSYW5nZT86IFhEYXRlUmFuZ2VDb25maWc7XHJcbiAgZGlhbG9nPzogWERpYWxvZ0NvbmZpZztcclxuICBkcmF3ZXI/OiBYRHJhd2VyQ29uZmlnO1xyXG4gIGRyb3Bkb3duPzogWERyb3Bkb3duQ29uZmlnO1xyXG4gIGRlc2NyaXB0aW9uPzogWERlc2NyaXB0aW9uQ29uZmlnO1xyXG4gIGVtcHR5PzogWEVtcHR5Q29uZmlnO1xyXG4gIGZpbmQ/OiBYRmluZENvbmZpZztcclxuICBmb3JtPzogWEZvcm1Db25maWc7XHJcbiAgaGlnaGxpZ2h0PzogWEhpZ2hsaWdodENvbmZpZztcclxuICBpY29uPzogWEljb25Db25maWc7XHJcbiAgaW5uZXI/OiBYSW5uZXJDb25maWc7XHJcbiAgaW5wdXQ/OiBYSW5wdXRDb25maWc7XHJcbiAgaW5wdXRHcm91cD86IFhJbnB1dEdyb3VwQ29uZmlnO1xyXG4gIGlucHV0TnVtYmVyPzogWElucHV0TnVtYmVyQ29uZmlnO1xyXG4gIGltYWdlPzogWEltYWdlQ29uZmlnO1xyXG4gIGNvbD86IFhDb2xDb25maWc7XHJcbiAgcm93PzogWFJvd0NvbmZpZztcclxuICByaXBwbGU/OiBYUmlwcGxlQ29uZmlnO1xyXG4gIGxpbms/OiBYTGlua0NvbmZpZztcclxuICBsaXN0PzogWExpc3RDb25maWc7XHJcbiAgbGlzdE9wdGlvbj86IFhMaXN0T3B0aW9uQ29uZmlnO1xyXG4gIGxvYWRpbmc/OiBYTG9hZGluZ0NvbmZpZztcclxuICBtZW51PzogWE1lbnVDb25maWc7XHJcbiAgbWVzc2FnZT86IFhNZXNzYWdlQ29uZmlnO1xyXG4gIG1lc3NhZ2VCb3g/OiBYTWVzc2FnZUJveENvbmZpZztcclxuICBub3RpZmljYXRpb24/OiBYTm90aWZpY2F0aW9uQ29uZmlnO1xyXG4gIG91dGxldD86IFhPdXRsZXRDb25maWc7XHJcbiAgcGFnZUhlYWRlcj86IFhQYWdlSGVhZGVyQ29uZmlnO1xyXG4gIHBhZ2luYXRpb24/OiBYUGFnaW5hdGlvbkNvbmZpZztcclxuICBwYXR0ZXJuPzogWFBhdHRlcm5Db25maWc7XHJcbiAgcG9wY29uZmlybT86IFhQb3Bjb25maXJtQ29uZmlnO1xyXG4gIHBvcG92ZXI/OiBYUG9wb3ZlckNvbmZpZztcclxuICBwb3J0YWw/OiBYUG9ydGFsQ29uZmlnO1xyXG4gIHByb2dyZXNzPzogWFByb2dyZXNzQ29uZmluZztcclxuICByYWRpbz86IFhSYWRpb0NvbmZpZztcclxuICByYXRlPzogWFJhdGVDb25maWc7XHJcbiAgcmVzdWx0PzogWFJlc3VsdENvbmZpZztcclxuICBzZWxlY3Q/OiBYU2VsZWN0Q29uZmlnO1xyXG4gIHNrZWxldG9uPzogWFNrZWxldG9uQ29uZmlnO1xyXG4gIHNsaWRlcj86IFhTbGlkZXJDb25maWc7XHJcbiAgc2xpZGVyU2VsZWN0PzogWFNsaWRlclNlbGVjdENvbmZpZztcclxuICBzdGF0aXN0aWM/OiBYU3RhdGlzdGljQ29uZmlnO1xyXG4gIGNvdW50ZG93bj86IFhDb3VudGRvd25Db25maWc7XHJcbiAgc3RlcHM/OiBYU3RlcHNDb25maWc7XHJcbiAgc3dpdGNoPzogWFN3aXRjaENvbmZpZztcclxuICB0YWJsZT86IFhUYWJsZUNvbmZpZztcclxuICB0YWJzPzogWFRhYnNDb25maWc7XHJcbiAgdGFnPzogWFRhZ0NvbmZpZztcclxuICB0ZXh0UmV0cmFjdD86IFhUZXh0UmV0cmFjdENvbmZpZztcclxuICB0aGVtZT86IFhUaGVtZUNvbmZpZztcclxuICB0aW1lQWdvPzogWFRpbWVBZ29Db25maWc7XHJcbiAgdGltZVBpY2tlcj86IFhUaW1lUGlja2VyQ29uZmlnO1xyXG4gIHRpbWVSYW5nZT86IFhUaW1lUmFuZ2VDb25maWc7XHJcbiAgdGltZWxpbmU/OiBYVGltZWxpbmVDb25maWc7XHJcbiAgdG9vbHRpcD86IFhUb29sdGlwQ29uZmlnO1xyXG4gIHRyYW5zZmVyPzogWFRyYW5zZmVyQ29uZmlnO1xyXG4gIHRyZWU/OiBYVHJlZUNvbmZpZztcclxuICB0cmVlRmlsZT86IFhUcmVlRmlsZUNvbmZpZztcclxuICB0cmVlU2VsZWN0PzogWFRyZWVTZWxlY3RDb25maWc7XHJcbiAgdGV4dGFyZWE/OiBYVGV4dGFyZWFDb25maWc7XHJcbiAgdXBsb2FkPzogWFVwbG9hZENvbmZpZztcclxuICBrZXl3b3JkPzogWEtleXdvcmRDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFmZml4Q29uZmlnIHtcclxuICB0b3A/OiBzdHJpbmc7XHJcbiAgbGVmdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQWxlcnRDb25maWcge1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgaGlkZUNsb3NlPzogWEJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBYQm9vbGVhbjtcclxuICBkaXNhYmxlZEFuaW1hdGlvbj86IFhCb29sZWFuO1xyXG4gIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IFhCb29sZWFuO1xyXG4gIGRyYWdIYW5kbGVUaXRsZT86IFhCb29sZWFuO1xyXG4gIGR1cmF0aW9uPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQW5jaG9yQ29uZmlnIHtcclxuICBhZmZpeFRvcD86IHN0cmluZztcclxuICBhZmZpeFdpZHRoPzogc3RyaW5nO1xyXG4gIGxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEF2YXRhckNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHNoYXBlPzogWFNoYXBlO1xyXG4gIGZpdD86IFhGaXQ7XHJcbiAgZ2FwPzogbnVtYmVyO1xyXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQXV0b0NvbXBsZXRlQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgb25seVNlbGVjdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJhY2tUb3BDb25maWcge1xyXG4gIHJpZ2h0Pzogc3RyaW5nO1xyXG4gIGJvdHRvbT86IHN0cmluZztcclxuICB2aXNpYmlsaXR5SGVpZ2h0PzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQmFkZ2VDb25mZ2lnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbkNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBwbGFpbj86IFhCb29sZWFuO1xyXG4gIHJvdW5kPzogWEJvb2xlYW47XHJcbiAgY2lyY2xlPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbnNDb25maWcge1xyXG4gIHNwYWNlPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FsZW5kYXJDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcmRDb25maWcge1xyXG4gIHNoYWRvdz86IFhTaGFkb3c7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcm91c2VsQ29uZmlnIHtcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIGFycm93PzogWFNoYWRvdztcclxuICBkaXJlY3Rpb24/OiBYRGlzcGxheURpcmVjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIG5vZGVUcmlnZ2VyPzogWFRyaWdnZXI7XHJcbiAgbm9kZUhvdmVyRGVsYXk/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDaGVja2JveENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xsYXBzZUNvbmZpZyB7XHJcbiAgc2hvd0ljb24/OiBCb29sZWFuO1xyXG4gIGdob3N0PzogQm9vbGVhbjtcclxuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGJvcmRlcmVkPzogQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JDb25maWcge1xyXG4gIG1lcmdlPzogc3RyaW5nO1xyXG4gIGFtb3VudHM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbG9yUGlja2VyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21tZW50Q29uZmlnIHtcclxuICBjb250ZW50TWF4PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb250YWluZXJDb25maWcge1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEhlYWRlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBc2lkZUNvbmZpZyB7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZvb3RlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDcnVtYkNvbWZpZyB7XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUmFuZ2VDb25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICBvZmZzZXQ/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgc2hvd0NhbmNlbD86IFhCb29sZWFuO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2hvd0NvbmZpcm0/OiBYQm9vbGVhbjtcclxuICBjb25maXJtVGV4dD86IHN0cmluZztcclxuICBiYWNrZHJvcENsb3NlPzogWEJvb2xlYW47XHJcbiAgZHJhZ2dhYmxlPzogWEJvb2xlYW47XHJcbiAgcmVzaXphYmxlPzogWEJvb2xlYW47XHJcbiAgbWF4aW1pemU/OiBYQm9vbGVhbjtcclxuICBoYXNCYWNrZHJvcD86IFhCb29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxuICBidXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERyYXdlckNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uO1xyXG4gIHNpemU/OiBzdHJpbmc7XHJcbiAgYmFja2Ryb3BDbG9zZT86IFhCb29sZWFuO1xyXG4gIGhhc0JhY2tkcm9wPzogWEJvb2xlYW47XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEcm9wZG93bkNvbmZpZyB7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERlc2NyaXB0aW9uQ29uZmlnIHtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRW1wdHlDb25maWcge1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIGNvbHVtbkxhYmVsPzogc3RyaW5nO1xyXG4gIGRpYWxvZ1RpdGxlPzogc3RyaW5nO1xyXG4gIGRpYWxvZ0NoZWNrYm94TGFiZWw/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQ2hlY2tib3hXaWR0aD86IG51bWJlcjtcclxuICBkaWFsb2dFbXB0eUNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG4gIHRhYmxlSW5kZXg/OiBudW1iZXI7XHJcbiAgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIHRhYmxlTG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHRhYmxlVmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgdGFibGVSb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHRyZWVFeHBhbmRlZExldmVsPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRm9ybUNvbmZpZyB7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIGxhYmVsU3VmZml4Pzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhIaWdobGlnaHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEljb25Db25maWcge1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElubmVyQ29uZmlnIHtcclxuICBwYWRkaW5nPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dENvbmZpZyB7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgaWNvbkxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBpbnB1dFBhZGRpbmc/OiBYTnVtYmVyO1xyXG4gIGlucHV0SWNvblBhZGRpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dEdyb3VwQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjb21wYWN0PzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0TnVtYmVyQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW1hZ2VDb25maWcge1xyXG4gIHByZXZpZXdUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJvd0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmlwcGxlQ29uZmlnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpbmtDb25maWcge1xyXG4gIHVuZGVybGluZT86IFhCb29sZWFuO1xyXG4gIGljb25SaWdodD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMaXN0Q29uZmlnIHtcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIGxvYWRNb3JlVGV4dD86IHN0cmluZztcclxuICBsb2FkaW5nTW9yZVRleHQ/OiBzdHJpbmc7XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpc3RPcHRpb25Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTG9hZGluZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIHpJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVudUNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUNvbmZpZyB7XHJcbiAgdHlwZT86IFhTdGF0dXM7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlO1xyXG4gIGRpc3BsYXlUeXBlPzogc3RyaW5nO1xyXG4gIG9mZnNldD86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhpZGVDbG9zZT86IGJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhNZXNzYWdlQm94Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhOb3RpZmljYXRpb25Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE91dGxldENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUGFnZUhlYWRlckNvbmZpZyB7XHJcbiAgYmFja0ljb24/OiBzdHJpbmc7XHJcbiAgYmFja1RleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhZ2luYXRpb25Db25maWcge1xyXG4gIGluZGV4PzogWE51bWJlcjtcclxuICBzaXplPzogWE51bWJlcjtcclxuICBzcGFjZT86IFhOdW1iZXI7XHJcbiAgcGFnZUxpbmtTaXplPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBib29sZWFuO1xyXG4gIHNob3dFbGxpcHNpcz86IGJvb2xlYW47XHJcbiAgc2hvd1RvdGFsPzogYm9vbGVhbjtcclxuICBzaG93U2l6ZT86IGJvb2xlYW47XHJcbiAgc2l6ZVdpZHRoPzogbnVtYmVyO1xyXG4gIHNpemVEYXRhPzogbnVtYmVyW107XHJcbiAgc2hvd0lucHV0U2l6ZT86IGJvb2xlYW47XHJcbiAgaW5wdXRTaXplV2lkdGg/OiBudW1iZXI7XHJcbiAgc2hvd0p1bXA/OiBib29sZWFuO1xyXG4gIGp1bXBXaWR0aD86IG51bWJlcjtcclxuICBzaW1wbGU/OiBib29sZWFuO1xyXG4gIHNpbXBsZUluZGV4V2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhdHRlcm5Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcGNvbmZpcm1Db25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcG92ZXJDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3J0YWxDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFByb2dyZXNzQ29uZmluZyB7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHN0ZXBXaWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmFkaW9Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmF0ZUNvbmZpZyB7XHJcbiAgY29sb3I/OiBzdHJpbmcgfCB7IFtjb2xvcjogc3RyaW5nXTogKHJhdGU6IG51bWJlcikgPT4gYm9vbGVhbiB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhSZXN1bHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTa2VsZXRvbkNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2xpZGVyQ29uZmlnIHtcclxuICBhbmltYXRlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBzaG93RXhwYW5kPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RhdGlzdGljQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb3VudGRvd25Db25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RlcHNDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNvbmZpZyB7XHJcbiAgaW5kZXg/OiBudW1iZXI7XHJcbiAgc2l6ZT86IG51bWJlcjtcclxuICBsb2FkaW5nPzogWEJvb2xlYW47XHJcbiAgc2hvd0hlYWRlcj86IFhCb29sZWFuO1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIHJvd0hlaWdodD86IFhOdW1iZXI7XHJcbiAgaXRlbVNpemU/OiBYTnVtYmVyO1xyXG4gIGJvcmRlcmVkPzogWE51bWJlcjtcclxuICBhbGxvd1NlbGVjdFJvdz86IFhCb29sZWFuO1xyXG4gIGFsbG93Q2hlY2tSb3c/OiBYQm9vbGVhbjtcclxuICByb3dTaXplPzogWFNpemU7XHJcbiAgc2hvd1BhZ2luYXRpb24/OiBYQm9vbGVhbjtcclxuICB0cmVlVGFibGU/OiBYQm9vbGVhbjtcclxuICBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIGV4cGFuZGVkTGV2ZWw/OiBYTnVtYmVyO1xyXG4gIGhpZGRlblBhZ2luYXRpb25Cb3JkZXI/OiBYQm9vbGVhbjtcclxuICBoaWRkZW5XcmFwQm9yZGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYnNDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGFnQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjbG9zYWJsZT86IFhCb29sZWFuO1xyXG4gIGRhcms/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGV4dFJldHJhY3RDb25maWcge1xyXG4gIG1heD86IFhOdW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRoZW1lQ29uZmlnIHtcclxuICBhbW91bnRzPzogWE51bWJlcltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lQWdvQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lUGlja2VyQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICB1c2UxMkhvdXJzPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVSYW5nZUNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZWxpbmVDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVG9vbHRpcENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlbWVudDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJhbnNmZXJDb25maWcge1xyXG4gIHRpdGxlcz86IHN0cmluZ1tdO1xyXG4gIGRyYWc/OiBYQm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVDb25maWcge1xyXG4gIHNwYWNpbmc/OiBYTnVtYmVyO1xyXG4gIG5vZGVIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIG5vZGVBbGlnbkl0ZW1zPzogWEFsaWduO1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIG9ubHlMZWFmPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGV4dGFyZWFDb25maWcge1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIGljb25MYXlvdXQ/OiBYUG9zaXRpb25MZWZ0UmlnaHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVGaWxlQ29uZmlnIHtcclxuICBtYXhIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHNwYWNpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlU2VsZWN0Q29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgcG9ydGFsTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2VhcmNoPzogWEJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IFhCb29sZWFuO1xyXG4gIGRlYm91bmNlVGltZT86IG51bWJlcjtcclxuICBtYXhUYWdDb3VudD86IG51bWJlcjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbiAgc2hvd1BhdGg/OiBYQm9vbGVhbjtcclxuICBzZXBhcmF0b3I/OiBzdHJpbmc7XHJcbiAgb25seUxlYWY/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhVcGxvYWRDb25maWcge1xyXG4gIGRvd25sb2FkPzogWEJvb2xlYW47XHJcbiAgbXVsdGlwbGVNb2RlbD86ICdjb3ZlcicgfCAnYWRkJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYS2V5d29yZENvbmZpZyB7XHJcbiAgdHlwZT86IFhUeXBlO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component, Input } from '@angular/core';
3
3
  import { XControlValueAccessor } from '@ng-nest/ui/base-form';
4
- import { XInputBoolean } from '@ng-nest/ui/core';
4
+ import { XInputBoolean, XWithConfig } from '@ng-nest/ui/core';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * Switch
@@ -9,6 +9,7 @@ import * as i0 from "@angular/core";
9
9
  * @decorator component
10
10
  */
11
11
  export const XSwitchPrefix = 'x-switch';
12
+ const X_CONFIG_NAME = 'switch';
12
13
  /**
13
14
  * Switch Property
14
15
  */
@@ -28,13 +29,16 @@ export class XSwitchProperty extends XControlValueAccessor {
28
29
  }
29
30
  }
30
31
  /** @nocollapse */ XSwitchProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XSwitchProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
31
- /** @nocollapse */ XSwitchProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XSwitchProperty, selector: "ng-component", inputs: { loading: "loading", manual: "manual", checkedText: "checkedText", unCheckedText: "unCheckedText" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
32
+ /** @nocollapse */ XSwitchProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XSwitchProperty, selector: "ng-component", inputs: { loading: "loading", manual: "manual", size: "size", checkedText: "checkedText", unCheckedText: "unCheckedText" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
32
33
  __decorate([
33
34
  XInputBoolean()
34
35
  ], XSwitchProperty.prototype, "loading", void 0);
35
36
  __decorate([
36
37
  XInputBoolean()
37
38
  ], XSwitchProperty.prototype, "manual", void 0);
39
+ __decorate([
40
+ XWithConfig(X_CONFIG_NAME, 'medium')
41
+ ], XSwitchProperty.prototype, "size", void 0);
38
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XSwitchProperty, decorators: [{
39
43
  type: Component,
40
44
  args: [{ template: '' }]
@@ -42,9 +46,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
42
46
  type: Input
43
47
  }], manual: [{
44
48
  type: Input
49
+ }], size: [{
50
+ type: Input
45
51
  }], checkedText: [{
46
52
  type: Input
47
53
  }], unCheckedText: [{
48
54
  type: Input
49
55
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3dpdGNoL3N3aXRjaC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFZLGFBQWEsRUFBYSxNQUFNLGtCQUFrQixDQUFDOztBQUV0RTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUV4Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUE4QjtJQURuRTs7UUFFRTs7O1dBR0c7UUFDdUIsWUFBTyxHQUFhLEtBQUssQ0FBQztRQUNwRDs7O1dBR0c7UUFDdUIsV0FBTSxHQUFhLEtBQUssQ0FBQztLQVdwRDs7K0hBckJZLGVBQWU7bUhBQWYsZUFBZSx5TEFETCxFQUFFO0FBTUc7SUFBaEIsYUFBYSxFQUFFO2dEQUEyQjtBQUsxQjtJQUFoQixhQUFhLEVBQUU7K0NBQTBCOzJGQVZ4QyxlQUFlO2tCQUQzQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNQyxPQUFPO3NCQUFoQyxLQUFLO2dCQUtvQixNQUFNO3NCQUEvQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBYRm9ybU9wdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhCb29sZWFuLCBYSW5wdXRCb29sZWFuLCBYVGVtcGxhdGUgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBTd2l0Y2hcclxuICogQHNlbGVjdG9yIHgtc3dpdGNoXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFN3aXRjaFByZWZpeCA9ICd4LXN3aXRjaCc7XHJcblxyXG4vKipcclxuICogU3dpdGNoIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYU3dpdGNoUHJvcGVydHkgZXh0ZW5kcyBYQ29udHJvbFZhbHVlQWNjZXNzb3I8Ym9vbGVhbj4gaW1wbGVtZW50cyBYU3dpdGNoT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65Yqg6L295LitXHJcbiAgICogQGVuX1VTIFNob3cgbG9hZGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbG9hZGluZzogWEJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5omL5Yqo5o6n5Yi2XHJcbiAgICogQGVuX1VTIE1hbnVhbCBjb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtYW51YWw6IFhCb29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaWh+Wtl+aIluiAheiHquWumuS5ieaooeeJiO+8iOW8gOWQr+eKtuaAge+8iVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRleHQgb3IgY3VzdG9tIHRlbXBsYXRlIChvcGVuIHN0YXRlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNoZWNrZWRUZXh0PzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrmloflrZfmiJbogIXoh6rlrprkuYnmqKHniYjvvIjlhbPpl63nirbmgIHvvIlcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0ZXh0IG9yIGN1c3RvbSB0ZW1wbGF0ZSAoY2xvc2VkKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHVuQ2hlY2tlZFRleHQ/OiBYVGVtcGxhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTd2l0Y2ggT3B0aW9uXHJcbiAqIEB1bmRvY3VtZW50IHRydWVcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaE9wdGlvbiBleHRlbmRzIFhGb3JtT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65Yqg6L295LitXHJcbiAgICogQGVuX1VTIFNob3cgbG9hZGluZ1xyXG4gICAqL1xyXG4gIGxvYWRpbmc/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5omL5Yqo5o6n5Yi2XHJcbiAgICogQGVuX1VTIE1hbnVhbCBjb250cm9sXHJcbiAgICovXHJcbiAgbWFudWFsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaWh+Wtl+aIluiAheiHquWumuS5ieaooeeJiO+8iOW8gOWQr+eKtuaAge+8iVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRleHQgb3IgY3VzdG9tIHRlbXBsYXRlIChvcGVuIHN0YXRlKVxyXG4gICAqL1xyXG4gIGNoZWNrZWRUZXh0PzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrmloflrZfmiJbogIXoh6rlrprkuYnmqKHniYjvvIjlhbPpl63nirbmgIHvvIlcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0ZXh0IG9yIGN1c3RvbSB0ZW1wbGF0ZSAoY2xvc2VkKVxyXG4gICAqL1xyXG4gIHVuQ2hlY2tlZFRleHQ/OiBYVGVtcGxhdGU7XHJcbn1cclxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3dpdGNoL3N3aXRjaC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFZLGFBQWEsRUFBb0IsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTFGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQUUvQjs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUE4QjtJQURuRTs7UUFFRTs7O1dBR0c7UUFDdUIsWUFBTyxHQUFhLEtBQUssQ0FBQztRQUNwRDs7O1dBR0c7UUFDdUIsV0FBTSxHQUFhLEtBQUssQ0FBQztLQWdCcEQ7OytIQTFCWSxlQUFlO21IQUFmLGVBQWUsdU1BREwsRUFBRTtBQU1HO0lBQWhCLGFBQWEsRUFBRTtnREFBMkI7QUFLMUI7SUFBaEIsYUFBYSxFQUFFOytDQUEwQjtBQUtHO0lBQTVDLFdBQVcsQ0FBUSxhQUFhLEVBQUUsUUFBUSxDQUFDOzZDQUF1QjsyRkFmakUsZUFBZTtrQkFEM0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTUMsT0FBTztzQkFBaEMsS0FBSztnQkFLb0IsTUFBTTtzQkFBL0IsS0FBSztnQkFLeUQsSUFBSTtzQkFBbEUsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDb250cm9sVmFsdWVBY2Nlc3NvciwgWEZvcm1PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYQm9vbGVhbiwgWElucHV0Qm9vbGVhbiwgWFNpemUsIFhUZW1wbGF0ZSwgWFdpdGhDb25maWcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBTd2l0Y2hcclxuICogQHNlbGVjdG9yIHgtc3dpdGNoXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFN3aXRjaFByZWZpeCA9ICd4LXN3aXRjaCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnc3dpdGNoJztcclxuXHJcbi8qKlxyXG4gKiBTd2l0Y2ggUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhTd2l0Y2hQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3Nvcjxib29sZWFuPiBpbXBsZW1lbnRzIFhTd2l0Y2hPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliqDovb3kuK1cclxuICAgKiBAZW5fVVMgU2hvdyBsb2FkaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsb2FkaW5nOiBYQm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmiYvliqjmjqfliLZcclxuICAgKiBAZW5fVVMgTWFudWFsIGNvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG1hbnVhbDogWEJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSBvdmVycmlkZSBzaXplITogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaWh+Wtl+aIluiAheiHquWumuS5ieaooeeJiO+8iOW8gOWQr+eKtuaAge+8iVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRleHQgb3IgY3VzdG9tIHRlbXBsYXRlIChvcGVuIHN0YXRlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNoZWNrZWRUZXh0PzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrmloflrZfmiJbogIXoh6rlrprkuYnmqKHniYjvvIjlhbPpl63nirbmgIHvvIlcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0ZXh0IG9yIGN1c3RvbSB0ZW1wbGF0ZSAoY2xvc2VkKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHVuQ2hlY2tlZFRleHQ/OiBYVGVtcGxhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTd2l0Y2ggT3B0aW9uXHJcbiAqIEB1bmRvY3VtZW50IHRydWVcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaE9wdGlvbiBleHRlbmRzIFhGb3JtT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65Yqg6L295LitXHJcbiAgICogQGVuX1VTIFNob3cgbG9hZGluZ1xyXG4gICAqL1xyXG4gIGxvYWRpbmc/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5omL5Yqo5o6n5Yi2XHJcbiAgICogQGVuX1VTIE1hbnVhbCBjb250cm9sXHJcbiAgICovXHJcbiAgbWFudWFsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaWh+Wtl+aIluiAheiHquWumuS5ieaooeeJiO+8iOW8gOWQr+eKtuaAge+8iVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRleHQgb3IgY3VzdG9tIHRlbXBsYXRlIChvcGVuIHN0YXRlKVxyXG4gICAqL1xyXG4gIGNoZWNrZWRUZXh0PzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrmloflrZfmiJbogIXoh6rlrprkuYnmqKHniYjvvIjlhbPpl63nirbmgIHvvIlcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0ZXh0IG9yIGN1c3RvbSB0ZW1wbGF0ZSAoY2xvc2VkKVxyXG4gICAqL1xyXG4gIHVuQ2hlY2tlZFRleHQ/OiBYVGVtcGxhdGU7XHJcbn1cclxuIl19
@@ -124,12 +124,14 @@ export class XTableHeadComponent extends XTableHeadProperty {
124
124
  }
125
125
  }
126
126
  dragWidthStarted(position, column) {
127
+ column.draggingWidth = true;
127
128
  if (column.width && XIsFunction(column.dragWidthStarted)) {
128
129
  column.dragWidthStarted({ position, column });
129
130
  this.table.columnDragWidthStarted.emit({ position, column });
130
131
  }
131
132
  }
132
133
  dragWidthEnded(position, column) {
134
+ column.draggingWidth = false;
133
135
  if (column.width && XIsFunction(column.dragWidthEnded)) {
134
136
  column.dragWidthEnded({ position, column });
135
137
  this.table.columnDragWidthEnded.emit({ position, column });
@@ -170,14 +172,14 @@ export class XTableHeadComponent extends XTableHeadProperty {
170
172
  }
171
173
  }
172
174
  /** @nocollapse */ XTableHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTableHeadComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
173
- /** @nocollapse */ XTableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XTableHeadComponent, selector: "x-table-head", inputs: { table: "table" }, viewQueries: [{ propertyName: "thead", first: true, predicate: ["thead"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #thead [ngStyle]=\"theadStyle\" [class.x-table-head-top]=\"position === 'top'\" [class.x-table-head-bottom]=\"position === 'bottom'\">\r\n <ng-container *ngIf=\"cellConfig; else columnsTpl\">\r\n <tr [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\" [style.min-height.px]=\"getRowHeight\">\r\n <th\r\n *ngFor=\"let column of cellConfig.cells\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [class.x-table-width-drag]=\"column.dragWidth\"\r\n [style.grid-area]=\"column.gridArea\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [title]=\"column?.label\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div\r\n *ngIf=\"column.dragWidth\"\r\n class=\"x-table-drag-width\"\r\n xDrag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n </th>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"table.headSearchTpl\">\r\n <ng-container *ngTemplateOutlet=\"columnsTpl; context: { case: 'search' }\"></ng-container>\r\n </ng-container>\r\n</thead>\r\n\r\n<ng-template #columnsTpl let-case=\"case\">\r\n <tr\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListSorted)=\"dropListSorted($event)\"\r\n (cdkDropListDropped)=\"dropListDropped($event)\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.padding-right.px]=\"scrollYWidth\"\r\n [style.width.px]=\"scrollXWidth\"\r\n [class.x-table-search]=\"case === 'search'\"\r\n >\r\n <th\r\n *ngFor=\"let column of columns; trackBy: trackByItem\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!column.dragColumn\"\r\n (cdkDragStarted)=\"dragStarted($event, column)\"\r\n (cdkDragEnded)=\"dragEnded(column)\"\r\n [ngClass]=\"thClassMap\"\r\n [class.x-table-th]=\"true\"\r\n [class.x-table-sticky]=\"table.getSticky(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.width.px]=\"getColumnWidth(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"getColumnRight(column.right)\"\r\n [style.flex]=\"getFlex(column)\"\r\n >\r\n <ng-container [ngSwitch]=\"case\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <ng-container *ngTemplateOutlet=\"table.headSearchTpl; context: { $column: column }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div\r\n *ngIf=\"column.dragWidth\"\r\n class=\"x-table-drag-width\"\r\n xDrag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n </ng-container>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #columnBaseTpl let-column=\"column\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n *ngIf=\"column.headChecked\"\r\n [data]=\"[{ id: true, label: column.label }]\"\r\n [(ngModel)]=\"table.checkedValues[column.id]\"\r\n (ngModelChange)=\"table.headChecked($event, column)\"\r\n [indeterminate]=\"table.checkedValues[column.id + table.indeterminate]\"\r\n ></x-checkbox>\r\n <ng-container *ngIf=\"!column.headChecked\">\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <a>{{ column.label }}</a>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cloumnDefaultTpl let-column=\"column\">\r\n <a [class.x-table-sort]=\"column.sort\" (click)=\"onSort(column)\" [style.text-align]=\"column.textAlign\">\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column }\">\r\n {{ column.label }}\r\n </ng-container>\r\n <x-icon\r\n *ngIf=\"column.sort\"\r\n type=\"fto-bar-chart\"\r\n class=\"x-table-sort-icon\"\r\n [class.x-table-icon-up]=\"sortStr === column.id + ' desc'\"\r\n [class.x-table-icon-down]=\"sortStr === column.id + ' asc'\"\r\n ></x-icon>\r\n </a>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i6.XIconComponent, selector: "x-icon" }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i8.XDragDirective, selector: "[xDrag]", outputs: ["dragStarted", "dragMoved", "dragEnded"] }], encapsulation: i0.ViewEncapsulation.None });
175
+ /** @nocollapse */ XTableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XTableHeadComponent, selector: "x-table-head", inputs: { table: "table" }, viewQueries: [{ propertyName: "thead", first: true, predicate: ["thead"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #thead [ngStyle]=\"theadStyle\" [class.x-table-head-top]=\"position === 'top'\" [class.x-table-head-bottom]=\"position === 'bottom'\">\r\n <ng-container *ngIf=\"cellConfig; else columnsTpl\">\r\n <tr [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\" [style.min-height.px]=\"getRowHeight\">\r\n <th\r\n *ngFor=\"let column of cellConfig.cells\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [class.x-table-width-drag]=\"column.dragWidth\"\r\n [style.grid-area]=\"column.gridArea\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [title]=\"column?.label\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div\r\n *ngIf=\"column.dragWidth\"\r\n class=\"x-table-drag-width\"\r\n xDrag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n </th>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"table.headSearchTpl\">\r\n <ng-container *ngTemplateOutlet=\"columnsTpl; context: { case: 'search' }\"></ng-container>\r\n </ng-container>\r\n</thead>\r\n\r\n<ng-template #columnsTpl let-case=\"case\">\r\n <tr\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListSorted)=\"dropListSorted($event)\"\r\n (cdkDropListDropped)=\"dropListDropped($event)\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.padding-right.px]=\"scrollYWidth\"\r\n [style.width.px]=\"scrollXWidth\"\r\n [class.x-table-search]=\"case === 'search'\"\r\n >\r\n <th\r\n *ngFor=\"let column of columns; trackBy: trackByItem\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"column.draggingWidth || !column.dragColumn\"\r\n (cdkDragStarted)=\"dragStarted($event, column)\"\r\n (cdkDragEnded)=\"dragEnded(column)\"\r\n [ngClass]=\"thClassMap\"\r\n [class.x-table-th]=\"true\"\r\n [class.x-table-sticky]=\"table.getSticky(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.width.px]=\"getColumnWidth(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"getColumnRight(column.right)\"\r\n [style.flex]=\"getFlex(column)\"\r\n >\r\n <ng-container [ngSwitch]=\"case\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <ng-container *ngTemplateOutlet=\"table.headSearchTpl; context: { $column: column }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div\r\n *ngIf=\"column.dragWidth\"\r\n class=\"x-table-drag-width\"\r\n xDrag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n </ng-container>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #columnBaseTpl let-column=\"column\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n *ngIf=\"column.headChecked\"\r\n [data]=\"[{ id: true, label: column.label }]\"\r\n [(ngModel)]=\"table.checkedValues[column.id]\"\r\n (ngModelChange)=\"table.headChecked($event, column)\"\r\n [indeterminate]=\"table.checkedValues[column.id + table.indeterminate]\"\r\n ></x-checkbox>\r\n <ng-container *ngIf=\"!column.headChecked\">\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <a>{{ column.label }}</a>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cloumnDefaultTpl let-column=\"column\">\r\n <a [class.x-table-sort]=\"column.sort\" (click)=\"onSort(column)\" [style.text-align]=\"column.textAlign\">\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column }\">\r\n {{ column.label }}\r\n </ng-container>\r\n <x-icon\r\n *ngIf=\"column.sort\"\r\n type=\"fto-bar-chart\"\r\n class=\"x-table-sort-icon\"\r\n [class.x-table-icon-up]=\"sortStr === column.id + ' desc'\"\r\n [class.x-table-icon-down]=\"sortStr === column.id + ' asc'\"\r\n ></x-icon>\r\n </a>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i6.XIconComponent, selector: "x-icon" }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i8.XDragDirective, selector: "[xDrag]", outputs: ["dragStarted", "dragMoved", "dragEnded"] }], encapsulation: i0.ViewEncapsulation.None });
174
176
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTableHeadComponent, decorators: [{
175
177
  type: Component,
176
- args: [{ selector: `${XTableHeadPrefix}`, encapsulation: ViewEncapsulation.None, template: "<thead #thead [ngStyle]=\"theadStyle\" [class.x-table-head-top]=\"position === 'top'\" [class.x-table-head-bottom]=\"position === 'bottom'\">\r\n <ng-container *ngIf=\"cellConfig; else columnsTpl\">\r\n <tr [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\" [style.min-height.px]=\"getRowHeight\">\r\n <th\r\n *ngFor=\"let column of cellConfig.cells\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [class.x-table-width-drag]=\"column.dragWidth\"\r\n [style.grid-area]=\"column.gridArea\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [title]=\"column?.label\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div\r\n *ngIf=\"column.dragWidth\"\r\n class=\"x-table-drag-width\"\r\n xDrag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n </th>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"table.headSearchTpl\">\r\n <ng-container *ngTemplateOutlet=\"columnsTpl; context: { case: 'search' }\"></ng-container>\r\n </ng-container>\r\n</thead>\r\n\r\n<ng-template #columnsTpl let-case=\"case\">\r\n <tr\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListSorted)=\"dropListSorted($event)\"\r\n (cdkDropListDropped)=\"dropListDropped($event)\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.padding-right.px]=\"scrollYWidth\"\r\n [style.width.px]=\"scrollXWidth\"\r\n [class.x-table-search]=\"case === 'search'\"\r\n >\r\n <th\r\n *ngFor=\"let column of columns; trackBy: trackByItem\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!column.dragColumn\"\r\n (cdkDragStarted)=\"dragStarted($event, column)\"\r\n (cdkDragEnded)=\"dragEnded(column)\"\r\n [ngClass]=\"thClassMap\"\r\n [class.x-table-th]=\"true\"\r\n [class.x-table-sticky]=\"table.getSticky(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.width.px]=\"getColumnWidth(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"getColumnRight(column.right)\"\r\n [style.flex]=\"getFlex(column)\"\r\n >\r\n <ng-container [ngSwitch]=\"case\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <ng-container *ngTemplateOutlet=\"table.headSearchTpl; context: { $column: column }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div\r\n *ngIf=\"column.dragWidth\"\r\n class=\"x-table-drag-width\"\r\n xDrag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n </ng-container>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #columnBaseTpl let-column=\"column\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n *ngIf=\"column.headChecked\"\r\n [data]=\"[{ id: true, label: column.label }]\"\r\n [(ngModel)]=\"table.checkedValues[column.id]\"\r\n (ngModelChange)=\"table.headChecked($event, column)\"\r\n [indeterminate]=\"table.checkedValues[column.id + table.indeterminate]\"\r\n ></x-checkbox>\r\n <ng-container *ngIf=\"!column.headChecked\">\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <a>{{ column.label }}</a>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cloumnDefaultTpl let-column=\"column\">\r\n <a [class.x-table-sort]=\"column.sort\" (click)=\"onSort(column)\" [style.text-align]=\"column.textAlign\">\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column }\">\r\n {{ column.label }}\r\n </ng-container>\r\n <x-icon\r\n *ngIf=\"column.sort\"\r\n type=\"fto-bar-chart\"\r\n class=\"x-table-sort-icon\"\r\n [class.x-table-icon-up]=\"sortStr === column.id + ' desc'\"\r\n [class.x-table-icon-down]=\"sortStr === column.id + ' asc'\"\r\n ></x-icon>\r\n </a>\r\n</ng-template>\r\n" }]
178
+ args: [{ selector: `${XTableHeadPrefix}`, encapsulation: ViewEncapsulation.None, template: "<thead #thead [ngStyle]=\"theadStyle\" [class.x-table-head-top]=\"position === 'top'\" [class.x-table-head-bottom]=\"position === 'bottom'\">\r\n <ng-container *ngIf=\"cellConfig; else columnsTpl\">\r\n <tr [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\" [style.min-height.px]=\"getRowHeight\">\r\n <th\r\n *ngFor=\"let column of cellConfig.cells\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [class.x-table-width-drag]=\"column.dragWidth\"\r\n [style.grid-area]=\"column.gridArea\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [title]=\"column?.label\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div\r\n *ngIf=\"column.dragWidth\"\r\n class=\"x-table-drag-width\"\r\n xDrag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n </th>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"table.headSearchTpl\">\r\n <ng-container *ngTemplateOutlet=\"columnsTpl; context: { case: 'search' }\"></ng-container>\r\n </ng-container>\r\n</thead>\r\n\r\n<ng-template #columnsTpl let-case=\"case\">\r\n <tr\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListSorted)=\"dropListSorted($event)\"\r\n (cdkDropListDropped)=\"dropListDropped($event)\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.padding-right.px]=\"scrollYWidth\"\r\n [style.width.px]=\"scrollXWidth\"\r\n [class.x-table-search]=\"case === 'search'\"\r\n >\r\n <th\r\n *ngFor=\"let column of columns; trackBy: trackByItem\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"column.draggingWidth || !column.dragColumn\"\r\n (cdkDragStarted)=\"dragStarted($event, column)\"\r\n (cdkDragEnded)=\"dragEnded(column)\"\r\n [ngClass]=\"thClassMap\"\r\n [class.x-table-th]=\"true\"\r\n [class.x-table-sticky]=\"table.getSticky(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.width.px]=\"getColumnWidth(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"getColumnRight(column.right)\"\r\n [style.flex]=\"getFlex(column)\"\r\n >\r\n <ng-container [ngSwitch]=\"case\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <ng-container *ngTemplateOutlet=\"table.headSearchTpl; context: { $column: column }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div\r\n *ngIf=\"column.dragWidth\"\r\n class=\"x-table-drag-width\"\r\n xDrag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n </ng-container>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #columnBaseTpl let-column=\"column\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n *ngIf=\"column.headChecked\"\r\n [data]=\"[{ id: true, label: column.label }]\"\r\n [(ngModel)]=\"table.checkedValues[column.id]\"\r\n (ngModelChange)=\"table.headChecked($event, column)\"\r\n [indeterminate]=\"table.checkedValues[column.id + table.indeterminate]\"\r\n ></x-checkbox>\r\n <ng-container *ngIf=\"!column.headChecked\">\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <a>{{ column.label }}</a>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cloumnDefaultTpl let-column=\"column\">\r\n <a [class.x-table-sort]=\"column.sort\" (click)=\"onSort(column)\" [style.text-align]=\"column.textAlign\">\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column }\">\r\n {{ column.label }}\r\n </ng-container>\r\n <x-icon\r\n *ngIf=\"column.sort\"\r\n type=\"fto-bar-chart\"\r\n class=\"x-table-sort-icon\"\r\n [class.x-table-icon-up]=\"sortStr === column.id + ' desc'\"\r\n [class.x-table-icon-down]=\"sortStr === column.id + ' asc'\"\r\n ></x-icon>\r\n </a>\r\n</ng-template>\r\n" }]
177
179
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { thead: [{
178
180
  type: ViewChild,
179
181
  args: ['thead']
180
182
  }], table: [{
181
183
  type: Input
182
184
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1oZWFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFLakIsU0FBUyxFQUNULEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQTRCLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFTLFNBQVMsRUFBc0MsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUgsT0FBTyxFQUErQyxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQU90RyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBVXpEO0lBQ0UscURBQXFEO0lBQzlDLFFBQW1CLEVBQ25CLFVBQW1DLEVBQ25DLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFkdEMsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZUFBVSxHQUFnQyxFQUFFLENBQUM7UUFDN0MsZUFBVSxHQUFjLEVBQUUsQ0FBQztJQWMzQixDQUFDO0lBWEQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMs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ZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUhlYWRQcmVmaXgsIFhUYWJsZUhlYWRQcm9wZXJ0eSwgWFRhYmxlQ29sdW1uLCBYVGFibGVDZWxsLCBYVGFibGVQcmVmaXggfSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgcmVtb3ZlTmdUYWcsIFhJc0VtcHR5LCBYU29ydCwgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSwgWE51bWJlciwgWENsYXNzTWFwLCBYSXNGdW5jdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgQ2RrRHJhZ1NvcnRFdmVudCwgQ2RrRHJhZ1N0YXJ0LCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGFibGVIZWFkUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUhlYWRDb21wb25lbnQgZXh0ZW5kcyBYVGFibGVIZWFkUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNvcnQ6IFhTb3J0W10gPSBbXTtcclxuICBzb3J0U3RyID0gJyc7XHJcbiAgdGhlYWRTdHlsZTogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgdGhDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgQFZpZXdDaGlsZCgndGhlYWQnKSB0aGVhZCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBJbnB1dCgpIHRhYmxlOiBhbnk7XHJcbiAgZ2V0IGdldFJvd0hlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBAT3B0aW9uYWwoKSBASG9zdCgpIHB1YmxpYyB0YWJsZTogWFRhYmxlQ29tcG9uZW50LFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgY29sdW1ucywgc2Nyb2xsWVdpZHRoLCBzY3JvbGxYV2lkdGgsIGNlbGxDb25maWcgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoY29sdW1ucywgc2Nyb2xsWVdpZHRoLCBzY3JvbGxYV2lkdGgsIGNlbGxDb25maWcpICYmIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgcmVtb3ZlTmdUYWcodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgdGhpcy5zZXRTdHlsZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50YWJsZS50aGVhZHMucHVzaCh0aGlzLnRoZWFkKTtcclxuICAgIHRoaXMudGFibGUudGhlYWRzQ2hhbmdlLnB1c2goKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKTtcclxuICAgIHRoaXMuc2V0VGhDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0VGhDbGFzc01hcCgpIHtcclxuICAgIHRoaXMudGhDbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hUYWJsZVByZWZpeH0tdGgtJHt0aGlzLnRhYmxlLnJvd1NpemV9YF06ICFYSXNFbXB0eSh0aGlzLnRhYmxlLnJvd1NpemUpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0RmxleChjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgaWYgKGNvbHVtbi53aWR0aCkgcmV0dXJuICdub25lJztcclxuICAgIGlmICghY29sdW1uLmZsZXgpIHJldHVybiAxO1xyXG4gICAgcmV0dXJuIGNvbHVtbi5mbGV4O1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sdW1uUmlnaHQocmlnaHQ/OiBudW1iZXIpIHtcclxuICAgIGlmIChOdW1iZXIocmlnaHQpID49IDApIHtcclxuICAgICAgaWYgKE51bWJlcih0aGlzLnNjcm9sbFlXaWR0aCkgPj0gMCkge1xyXG4gICAgICAgIHJldHVybiBOdW1iZXIocmlnaHQpICsgTnVtYmVyKHRoaXMuc2Nyb2xsWVdpZHRoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gTnVtYmVyKHJpZ2h0KTtcclxuICAgIH1cclxuICAgIC8vIHJldHVybiByaWdodDtcclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldENvbHVtbldpZHRoKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICAvLyBpZiAoTnVtYmVyKGNvbHVtbi5yaWdodCkgPT09IDApIHtcclxuICAgIC8vICAgaWYgKE51bWJlcih0aGlzLnNjcm9sbFlXaWR0aCkgPj0gMCkge1xyXG4gICAgLy8gICAgIHJldHVybiBOdW1iZXIoY29sdW1uLndpZHRoKSArIE51bWJlcih0aGlzLnNjcm9sbFlXaWR0aCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgcmV0dXJuIGNvbHVtbi53aWR0aDtcclxuICAgIC8vIH1cclxuICAgIHJldHVybiBjb2x1bW4ud2lkdGg7XHJcbiAgfVxyXG5cclxuICBzZXRTdHlsZSgpIHtcclxuICAgIGxldCBoZWlnaHQgPSB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICAgIGlmICh0aGlzLmNlbGxDb25maWcgJiYgdGhpcy5jZWxsQ29uZmlnLmNlbGxzKSB7XHJcbiAgICAgIGNvbnN0IHNwdCA9IHRoaXMuY2VsbENvbmZpZy5jZWxscy5tYXAoKHgpID0+IHtcclxuICAgICAgICBjb25zdCBncmlkQXJlYVNwdCA9IHguZ3JpZEFyZWE/LnNwbGl0KCcvJyk7XHJcbiAgICAgICAgcmV0dXJuIGdyaWRBcmVhU3B0ICYmIGdyaWRBcmVhU3B0Lmxlbmd0aCA+IDMgPyBOdW1iZXIoZ3JpZEFyZWFTcHRbMl0pIDogMjtcclxuICAgICAgfSk7XHJcbiAgICAgIGhlaWdodCA9ICgoTWF0aC5tYXgoLi4uc3B0KSAtIDEpICogKGhlaWdodCBhcyBudW1iZXIpKSBhcyBYTnVtYmVyO1xyXG4gICAgfVxyXG4gICAgdGhpcy50aGVhZFN0eWxlID0ge1xyXG4gICAgICAvLyBoZWlnaHQ6IGAke2hlaWdodH1weGAsXHJcbiAgICAgIFsnbWluLWhlaWdodCddOiBgJHt0aGlzLmdldFJvd0hlaWdodH1weGBcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBvblNvcnQoY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIGlmICghY29sdW1uLnNvcnQpIHJldHVybjtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnNvcnQpKSB0aGlzLnNvcnQgPSBbXTtcclxuICAgIGxldCBzb3J0ID0gdGhpcy5zb3J0Py5maW5kKCh5KSA9PiB5LmZpZWxkID09PSBjb2x1bW4uaWQpO1xyXG4gICAgaWYgKHNvcnQpIHtcclxuICAgICAgaWYgKHNvcnQudmFsdWUgPT09ICdhc2MnKSB7XHJcbiAgICAgICAgdGhpcy5zb3J0ID0gW107XHJcbiAgICAgICAgdGhpcy5zb3J0U3RyID0gJyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc29ydC52YWx1ZSA9ICdhc2MnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzb3J0ID0geyBmaWVsZDogY29sdW1uLmlkLCB2YWx1ZTogJ2Rlc2MnIH07XHJcbiAgICAgIHRoaXMuc29ydCA9IFtzb3J0XTtcclxuICAgIH1cclxuICAgIGlmICghWElzRW1wdHkodGhpcy5zb3J0KSkgdGhpcy5zb3J0U3RyID0gYCR7c29ydC5maWVsZH0gJHtzb3J0LnZhbHVlfWA7XHJcbiAgICB0aGlzLnRhYmxlLmNoZWNrU29ydCh0aGlzLnNvcnQpO1xyXG4gICAgdGhpcy50YWJsZS5zb3J0Q2hhbmdlLmVtaXQodGhpcy5zb3J0KTtcclxuICAgIHRoaXMudGFibGUucmVzZXRTY3JvbGwoZmFsc2UsIHRydWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZHJhZ1dpZHRoTW92ZWQocG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IG9mZnNldFg6IG51bWJlcjsgb2Zmc2V0WTogbnVtYmVyIH0sIGNvbHVtbjogWFRhYmxlQ29sdW1uIHwgWFRhYmxlQ2VsbCkge1xyXG4gICAgaWYgKGNvbHVtbi53aWR0aCkge1xyXG4gICAgICAoY29sdW1uLndpZHRoIGFzIG51bWJlcikgKz0gcG9zaXRpb24ub2Zmc2V0WDtcclxuICAgICAgaWYgKGNvbHVtbi53aWR0aCA8IDYwKSBjb2x1bW4ud2lkdGggPSA2MDtcclxuICAgICAgWElzRnVuY3Rpb24oY29sdW1uLmRyYWdXaWR0aE1vdmVkKSAmJiBjb2x1bW4uZHJhZ1dpZHRoTW92ZWQoeyBwb3NpdGlvbiwgY29sdW1uIH0pO1xyXG4gICAgICB0aGlzLnRhYmxlLmNvbHVtbkRyYWdXaWR0aE1vdmVkLmVtaXQoeyBwb3NpdGlvbiwgY29sdW1uIH0pO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMudGFibGUuYm9keUNoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZHJhZ1dpZHRoU3RhcnRlZChwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCBjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIGlmIChjb2x1bW4ud2lkdGggJiYgWElzRnVuY3Rpb24oY29sdW1uLmRyYWdXaWR0aFN0YXJ0ZWQpKSB7XHJcbiAgICAgIGNvbHVtbi5kcmFnV2lkdGhTdGFydGVkKHsgcG9zaXRpb24sIGNvbHVtbiB9KTtcclxuICAgICAgdGhpcy50YWJsZS5jb2x1bW5EcmFnV2lkdGhTdGFydGVkLmVtaXQoeyBwb3NpdGlvbiwgY29sdW1uIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZHJhZ1dpZHRoRW5kZWQocG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICBpZiAoY29sdW1uLndpZHRoICYmIFhJc0Z1bmN0aW9uKGNvbHVtbi5kcmFnV2lkdGhFbmRlZCkpIHtcclxuICAgICAgY29sdW1uLmRyYWdXaWR0aEVuZGVkKHsgcG9zaXRpb24sIGNvbHVtbiB9KTtcclxuICAgICAgdGhpcy50YWJsZS5jb2x1bW5EcmFnV2lkdGhFbmRlZC5lbWl0KHsgcG9zaXRpb24sIGNvbHVtbiB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRyb3BMaXN0RHJvcHBlZChfZXZlbnQ6IENka0RyYWdEcm9wPFhUYWJsZUNvbHVtbltdPikge1xyXG4gICAgdGhpcy5kcmFnQ2hhbmdlKCk7XHJcbiAgICB0aGlzLnRhYmxlLmNvbHVtbkRyb3BMaXN0RHJvcHBlZC5lbWl0KHRoaXMuY29sdW1ucyk7XHJcbiAgfVxyXG5cclxuICBkcm9wTGlzdFNvcnRlZChldmVudDogQ2RrRHJhZ1NvcnRFdmVudDxYVGFibGVDb2x1bW5bXT4pIHtcclxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5jb2x1bW5zW2V2ZW50LnByZXZpb3VzSW5kZXhdO1xyXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuY29sdW1uc1tldmVudC5jdXJyZW50SW5kZXhdO1xyXG4gICAgY29uc3QgbWlkZGxlID0geyBsZWZ0OiBwcmV2aW91cy5sZWZ0LCByaWdodDogcHJldmlvdXMucmlnaHQgfTtcclxuICAgIHByZXZpb3VzLmxlZnQgPSBjdXJyZW50LmxlZnQ7XHJcbiAgICBwcmV2aW91cy5yaWdodCA9IGN1cnJlbnQucmlnaHQ7XHJcbiAgICBjdXJyZW50LmxlZnQgPSBtaWRkbGUubGVmdDtcclxuICAgIGN1cnJlbnQucmlnaHQgPSBtaWRkbGUucmlnaHQ7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2x1bW5zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgdGhpcy5kcmFnQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBkcmFnU3RhcnRlZChfZXZlbnQ6IENka0RyYWdTdGFydCwgY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIGNvbHVtbi5kcmFnZ2luZyA9IHRydWU7XHJcbiAgICB0aGlzLmRyYWdDaGFuZ2UoKTtcclxuICAgIHRoaXMudGFibGUudGhlYWRzQ2hhbmdlcygpO1xyXG4gICAgdGhpcy50YWJsZS5jb2x1bW5EcmFnU3RhcnRlZC5lbWl0KGNvbHVtbik7XHJcbiAgfVxyXG5cclxuICBkcmFnRW5kZWQoY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIGNvbHVtbi5kcmFnZ2luZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kcmFnQ2hhbmdlKCk7XHJcbiAgICB0aGlzLnRhYmxlLnRoZWFkc0NoYW5nZXMoKTtcclxuICAgIHRoaXMudGFibGUuY29sdW1uRHJhZ0VuZGVkLmVtaXQoY29sdW1uKTtcclxuICB9XHJcblxyXG4gIGRyYWdDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnRhYmxlLmJvZHlDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8dGhlYWQgI3RoZWFkIFtuZ1N0eWxlXT1cInRoZWFkU3R5bGVcIiBbY2xhc3MueC10YWJsZS1oZWFkLXRvcF09XCJwb3NpdGlvbiA9PT0gJ3RvcCdcIiBbY2xhc3MueC10YWJsZS1oZWFkLWJvdHRvbV09XCJwb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbENvbmZpZzsgZWxzZSBjb2x1bW5zVHBsXCI+XHJcbiAgICA8dHIgW3N0eWxlLmdyaWRUZW1wbGF0ZUNvbHVtbnNdPVwiY2VsbENvbmZpZy5ncmlkVGVtcGxhdGVDb2x1bW5zXCIgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCI+XHJcbiAgICAgIDx0aFxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY2VsbENvbmZpZy5jZWxsc1wiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKSB8fCB0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdC1sYXN0XT1cInRhYmxlLmdldFN0aWNreUxlZnRMYXN0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodC1maXJzdF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodEZpcnN0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXdpZHRoLWRyYWddPVwiY29sdW1uLmRyYWdXaWR0aFwiXHJcbiAgICAgICAgW3N0eWxlLmdyaWQtYXJlYV09XCJjb2x1bW4uZ3JpZEFyZWFcIlxyXG4gICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgICBbc3R5bGUucmlnaHQucHhdPVwiY29sdW1uLnJpZ2h0XCJcclxuICAgICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgICAgIFt0aXRsZV09XCJjb2x1bW4/LmxhYmVsXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5CYXNlVHBsOyBjb250ZXh0OiB7IGNvbHVtbjogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdJZj1cImNvbHVtbi5kcmFnV2lkdGhcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ4LXRhYmxlLWRyYWctd2lkdGhcIlxyXG4gICAgICAgICAgeERyYWdcclxuICAgICAgICAgIChkcmFnTW92ZWQpPVwiZHJhZ1dpZHRoTW92ZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgIChkcmFnU3RhcnRlZCk9XCJkcmFnV2lkdGhTdGFydGVkKCRldmVudCwgY29sdW1uKVwiXHJcbiAgICAgICAgICAoZHJhZ0VuZGVkKT1cImRyYWdXaWR0aEVuZGVkKCRldmVudCwgY29sdW1uKVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFibGUuaGVhZFNlYXJjaFRwbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbnNUcGw7IGNvbnRleHQ6IHsgY2FzZTogJ3NlYXJjaCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L3RoZWFkPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb2x1bW5zVHBsIGxldC1jYXNlPVwiY2FzZVwiPlxyXG4gIDx0clxyXG4gICAgY2RrRHJvcExpc3RcclxuICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcclxuICAgIChjZGtEcm9wTGlzdFNvcnRlZCk9XCJkcm9wTGlzdFNvcnRlZCgkZXZlbnQpXCJcclxuICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcExpc3REcm9wcGVkKCRldmVudClcIlxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0LnB4XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWFdpZHRoXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLXNlYXJjaF09XCJjYXNlID09PSAnc2VhcmNoJ1wiXHJcbiAgPlxyXG4gICAgPHRoXHJcbiAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICBjZGtEcmFnXHJcbiAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWNvbHVtbi5kcmFnQ29sdW1uXCJcclxuICAgICAgKGNka0RyYWdTdGFydGVkKT1cImRyYWdTdGFydGVkKCRldmVudCwgY29sdW1uKVwiXHJcbiAgICAgIChjZGtEcmFnRW5kZWQpPVwiZHJhZ0VuZGVkKGNvbHVtbilcIlxyXG4gICAgICBbbmdDbGFzc109XCJ0aENsYXNzTWFwXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtdGhdPVwidHJ1ZVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreV09XCJ0YWJsZS5nZXRTdGlja3koY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1sZWZ0XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnQtbGFzdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0TGFzdChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LXJpZ2h0LWZpcnN0XT1cInRhYmxlLmdldFN0aWNreVJpZ2h0Rmlyc3QoY29sdW1uKVwiXHJcbiAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICAgIFtzdHlsZS53aWR0aC5weF09XCJnZXRDb2x1bW5XaWR0aChjb2x1bW4pXCJcclxuICAgICAgW3N0eWxlLmxlZnQucHhdPVwiY29sdW1uLmxlZnRcIlxyXG4gICAgICBbc3R5bGUucmlnaHQucHhdPVwiZ2V0Q29sdW1uUmlnaHQoY29sdW1uLnJpZ2h0KVwiXHJcbiAgICAgIFtzdHlsZS5mbGV4XT1cImdldEZsZXgoY29sdW1uKVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNhc2VcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VhcmNoJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlLmhlYWRTZWFyY2hUcGw7IGNvbnRleHQ6IHsgJGNvbHVtbjogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uQmFzZVRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLmRyYWdXaWR0aFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwieC10YWJsZS1kcmFnLXdpZHRoXCJcclxuICAgICAgICAgICAgeERyYWdcclxuICAgICAgICAgICAgKGRyYWdNb3ZlZCk9XCJkcmFnV2lkdGhNb3ZlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgICAoZHJhZ1N0YXJ0ZWQpPVwiZHJhZ1dpZHRoU3RhcnRlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgICAoZHJhZ0VuZGVkKT1cImRyYWdXaWR0aEVuZGVkKCRldmVudCwgY29sdW1uKVwiXHJcbiAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC90aD5cclxuICA8L3RyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb2x1bW5CYXNlVHBsIGxldC1jb2x1bW49XCJjb2x1bW5cIj5cclxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb2x1bW4udHlwZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPlxyXG4gICAgICA8eC1jaGVja2JveFxyXG4gICAgICAgICpuZ0lmPVwiY29sdW1uLmhlYWRDaGVja2VkXCJcclxuICAgICAgICBbZGF0YV09XCJbeyBpZDogdHJ1ZSwgbGFiZWw6IGNvbHVtbi5sYWJlbCB9XVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0YWJsZS5jaGVja2VkVmFsdWVzW2NvbHVtbi5pZF1cIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRhYmxlLmhlYWRDaGVja2VkKCRldmVudCwgY29sdW1uKVwiXHJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwidGFibGUuY2hlY2tlZFZhbHVlc1tjb2x1bW4uaWQgKyB0YWJsZS5pbmRldGVybWluYXRlXVwiXHJcbiAgICAgID48L3gtY2hlY2tib3g+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uLmhlYWRDaGVja2VkXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3VtbkRlZmF1bHRUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2luZGV4J1wiPlxyXG4gICAgICA8YT57eyBjb2x1bW4ubGFiZWwgfX08L2E+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3VtbkRlZmF1bHRUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2Nsb3VtbkRlZmF1bHRUcGwgbGV0LWNvbHVtbj1cImNvbHVtblwiPlxyXG4gIDxhIFtjbGFzcy54LXRhYmxlLXNvcnRdPVwiY29sdW1uLnNvcnRcIiAoY2xpY2spPVwib25Tb3J0KGNvbHVtbilcIiBbc3R5bGUudGV4dC1hbGlnbl09XCJjb2x1bW4udGV4dEFsaWduXCI+XHJcbiAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwiY29sdW1uVHBsW2NvbHVtbi5pZF07IGNvbnRleHQ6IHsgJGNvbHVtbjogY29sdW1uIH1cIj5cclxuICAgICAge3sgY29sdW1uLmxhYmVsIH19XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDx4LWljb25cclxuICAgICAgKm5nSWY9XCJjb2x1bW4uc29ydFwiXHJcbiAgICAgIHR5cGU9XCJmdG8tYmFyLWNoYXJ0XCJcclxuICAgICAgY2xhc3M9XCJ4LXRhYmxlLXNvcnQtaWNvblwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLWljb24tdXBdPVwic29ydFN0ciA9PT0gY29sdW1uLmlkICsgJyBkZXNjJ1wiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLWljb24tZG93bl09XCJzb3J0U3RyID09PSBjb2x1bW4uaWQgKyAnIGFzYydcIlxyXG4gICAgPjwveC1pY29uPlxyXG4gIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1oZWFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFLakIsU0FBUyxFQUNULEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQTRCLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFTLFNBQVMsRUFBc0MsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUgsT0FBTyxFQUErQyxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQU90RyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBVXpEO0lBQ0UscURBQXFEO0lBQzlDLFFBQW1CLEVBQ25CLFVBQW1DLEVBQ25DLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFkdEMsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZUFBVSxHQUFnQyxFQUFFLENBQUM7UUFDN0MsZUFBVSxHQUFjLEVBQUUsQ0FBQztJQWMzQixDQUFDO0lBWEQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMs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YixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUhlYWRQcmVmaXgsIFhUYWJsZUhlYWRQcm9wZXJ0eSwgWFRhYmxlQ29sdW1uLCBYVGFibGVDZWxsLCBYVGFibGVQcmVmaXggfSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgcmVtb3ZlTmdUYWcsIFhJc0VtcHR5LCBYU29ydCwgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSwgWE51bWJlciwgWENsYXNzTWFwLCBYSXNGdW5jdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgQ2RrRHJhZ1NvcnRFdmVudCwgQ2RrRHJhZ1N0YXJ0LCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGFibGVIZWFkUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUhlYWRDb21wb25lbnQgZXh0ZW5kcyBYVGFibGVIZWFkUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNvcnQ6IFhTb3J0W10gPSBbXTtcclxuICBzb3J0U3RyID0gJyc7XHJcbiAgdGhlYWRTdHlsZTogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgdGhDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgQFZpZXdDaGlsZCgndGhlYWQnKSB0aGVhZCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBJbnB1dCgpIHRhYmxlOiBhbnk7XHJcbiAgZ2V0IGdldFJvd0hlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBAT3B0aW9uYWwoKSBASG9zdCgpIHB1YmxpYyB0YWJsZTogWFRhYmxlQ29tcG9uZW50LFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgY29sdW1ucywgc2Nyb2xsWVdpZHRoLCBzY3JvbGxYV2lkdGgsIGNlbGxDb25maWcgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoY29sdW1ucywgc2Nyb2xsWVdpZHRoLCBzY3JvbGxYV2lkdGgsIGNlbGxDb25maWcpICYmIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgcmVtb3ZlTmdUYWcodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgdGhpcy5zZXRTdHlsZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50YWJsZS50aGVhZHMucHVzaCh0aGlzLnRoZWFkKTtcclxuICAgIHRoaXMudGFibGUudGhlYWRzQ2hhbmdlLnB1c2goKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKTtcclxuICAgIHRoaXMuc2V0VGhDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0VGhDbGFzc01hcCgpIHtcclxuICAgIHRoaXMudGhDbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hUYWJsZVByZWZpeH0tdGgtJHt0aGlzLnRhYmxlLnJvd1NpemV9YF06ICFYSXNFbXB0eSh0aGlzLnRhYmxlLnJvd1NpemUpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0RmxleChjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgaWYgKGNvbHVtbi53aWR0aCkgcmV0dXJuICdub25lJztcclxuICAgIGlmICghY29sdW1uLmZsZXgpIHJldHVybiAxO1xyXG4gICAgcmV0dXJuIGNvbHVtbi5mbGV4O1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sdW1uUmlnaHQocmlnaHQ/OiBudW1iZXIpIHtcclxuICAgIGlmIChOdW1iZXIocmlnaHQpID49IDApIHtcclxuICAgICAgaWYgKE51bWJlcih0aGlzLnNjcm9sbFlXaWR0aCkgPj0gMCkge1xyXG4gICAgICAgIHJldHVybiBOdW1iZXIocmlnaHQpICsgTnVtYmVyKHRoaXMuc2Nyb2xsWVdpZHRoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gTnVtYmVyKHJpZ2h0KTtcclxuICAgIH1cclxuICAgIC8vIHJldHVybiByaWdodDtcclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldENvbHVtbldpZHRoKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICAvLyBpZiAoTnVtYmVyKGNvbHVtbi5yaWdodCkgPT09IDApIHtcclxuICAgIC8vICAgaWYgKE51bWJlcih0aGlzLnNjcm9sbFlXaWR0aCkgPj0gMCkge1xyXG4gICAgLy8gICAgIHJldHVybiBOdW1iZXIoY29sdW1uLndpZHRoKSArIE51bWJlcih0aGlzLnNjcm9sbFlXaWR0aCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgcmV0dXJuIGNvbHVtbi53aWR0aDtcclxuICAgIC8vIH1cclxuICAgIHJldHVybiBjb2x1bW4ud2lkdGg7XHJcbiAgfVxyXG5cclxuICBzZXRTdHlsZSgpIHtcclxuICAgIGxldCBoZWlnaHQgPSB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICAgIGlmICh0aGlzLmNlbGxDb25maWcgJiYgdGhpcy5jZWxsQ29uZmlnLmNlbGxzKSB7XHJcbiAgICAgIGNvbnN0IHNwdCA9IHRoaXMuY2VsbENvbmZpZy5jZWxscy5tYXAoKHgpID0+IHtcclxuICAgICAgICBjb25zdCBncmlkQXJlYVNwdCA9IHguZ3JpZEFyZWE/LnNwbGl0KCcvJyk7XHJcbiAgICAgICAgcmV0dXJuIGdyaWRBcmVhU3B0ICYmIGdyaWRBcmVhU3B0Lmxlbmd0aCA+IDMgPyBOdW1iZXIoZ3JpZEFyZWFTcHRbMl0pIDogMjtcclxuICAgICAgfSk7XHJcbiAgICAgIGhlaWdodCA9ICgoTWF0aC5tYXgoLi4uc3B0KSAtIDEpICogKGhlaWdodCBhcyBudW1iZXIpKSBhcyBYTnVtYmVyO1xyXG4gICAgfVxyXG4gICAgdGhpcy50aGVhZFN0eWxlID0ge1xyXG4gICAgICAvLyBoZWlnaHQ6IGAke2hlaWdodH1weGAsXHJcbiAgICAgIFsnbWluLWhlaWdodCddOiBgJHt0aGlzLmdldFJvd0hlaWdodH1weGBcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBvblNvcnQoY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIGlmICghY29sdW1uLnNvcnQpIHJldHVybjtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnNvcnQpKSB0aGlzLnNvcnQgPSBbXTtcclxuICAgIGxldCBzb3J0ID0gdGhpcy5zb3J0Py5maW5kKCh5KSA9PiB5LmZpZWxkID09PSBjb2x1bW4uaWQpO1xyXG4gICAgaWYgKHNvcnQpIHtcclxuICAgICAgaWYgKHNvcnQudmFsdWUgPT09ICdhc2MnKSB7XHJcbiAgICAgICAgdGhpcy5zb3J0ID0gW107XHJcbiAgICAgICAgdGhpcy5zb3J0U3RyID0gJyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc29ydC52YWx1ZSA9ICdhc2MnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzb3J0ID0geyBmaWVsZDogY29sdW1uLmlkLCB2YWx1ZTogJ2Rlc2MnIH07XHJcbiAgICAgIHRoaXMuc29ydCA9IFtzb3J0XTtcclxuICAgIH1cclxuICAgIGlmICghWElzRW1wdHkodGhpcy5zb3J0KSkgdGhpcy5zb3J0U3RyID0gYCR7c29ydC5maWVsZH0gJHtzb3J0LnZhbHVlfWA7XHJcbiAgICB0aGlzLnRhYmxlLmNoZWNrU29ydCh0aGlzLnNvcnQpO1xyXG4gICAgdGhpcy50YWJsZS5zb3J0Q2hhbmdlLmVtaXQodGhpcy5zb3J0KTtcclxuICAgIHRoaXMudGFibGUucmVzZXRTY3JvbGwoZmFsc2UsIHRydWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZHJhZ1dpZHRoTW92ZWQocG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IG9mZnNldFg6IG51bWJlcjsgb2Zmc2V0WTogbnVtYmVyIH0sIGNvbHVtbjogWFRhYmxlQ29sdW1uIHwgWFRhYmxlQ2VsbCkge1xyXG4gICAgaWYgKGNvbHVtbi53aWR0aCkge1xyXG4gICAgICAoY29sdW1uLndpZHRoIGFzIG51bWJlcikgKz0gcG9zaXRpb24ub2Zmc2V0WDtcclxuICAgICAgaWYgKGNvbHVtbi53aWR0aCA8IDYwKSBjb2x1bW4ud2lkdGggPSA2MDtcclxuICAgICAgWElzRnVuY3Rpb24oY29sdW1uLmRyYWdXaWR0aE1vdmVkKSAmJiBjb2x1bW4uZHJhZ1dpZHRoTW92ZWQoeyBwb3NpdGlvbiwgY29sdW1uIH0pO1xyXG4gICAgICB0aGlzLnRhYmxlLmNvbHVtbkRyYWdXaWR0aE1vdmVkLmVtaXQoeyBwb3NpdGlvbiwgY29sdW1uIH0pO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMudGFibGUuYm9keUNoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZHJhZ1dpZHRoU3RhcnRlZChwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCBjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIGNvbHVtbi5kcmFnZ2luZ1dpZHRoID0gdHJ1ZTtcclxuICAgIGlmIChjb2x1bW4ud2lkdGggJiYgWElzRnVuY3Rpb24oY29sdW1uLmRyYWdXaWR0aFN0YXJ0ZWQpKSB7XHJcbiAgICAgIGNvbHVtbi5kcmFnV2lkdGhTdGFydGVkKHsgcG9zaXRpb24sIGNvbHVtbiB9KTtcclxuICAgICAgdGhpcy50YWJsZS5jb2x1bW5EcmFnV2lkdGhTdGFydGVkLmVtaXQoeyBwb3NpdGlvbiwgY29sdW1uIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZHJhZ1dpZHRoRW5kZWQocG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICBjb2x1bW4uZHJhZ2dpbmdXaWR0aCA9IGZhbHNlO1xyXG4gICAgaWYgKGNvbHVtbi53aWR0aCAmJiBYSXNGdW5jdGlvbihjb2x1bW4uZHJhZ1dpZHRoRW5kZWQpKSB7XHJcbiAgICAgIGNvbHVtbi5kcmFnV2lkdGhFbmRlZCh7IHBvc2l0aW9uLCBjb2x1bW4gfSk7XHJcbiAgICAgIHRoaXMudGFibGUuY29sdW1uRHJhZ1dpZHRoRW5kZWQuZW1pdCh7IHBvc2l0aW9uLCBjb2x1bW4gfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkcm9wTGlzdERyb3BwZWQoX2V2ZW50OiBDZGtEcmFnRHJvcDxYVGFibGVDb2x1bW5bXT4pIHtcclxuICAgIHRoaXMuZHJhZ0NoYW5nZSgpO1xyXG4gICAgdGhpcy50YWJsZS5jb2x1bW5Ecm9wTGlzdERyb3BwZWQuZW1pdCh0aGlzLmNvbHVtbnMpO1xyXG4gIH1cclxuXHJcbiAgZHJvcExpc3RTb3J0ZWQoZXZlbnQ6IENka0RyYWdTb3J0RXZlbnQ8WFRhYmxlQ29sdW1uW10+KSB7XHJcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuY29sdW1uc1tldmVudC5wcmV2aW91c0luZGV4XTtcclxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmNvbHVtbnNbZXZlbnQuY3VycmVudEluZGV4XTtcclxuICAgIGNvbnN0IG1pZGRsZSA9IHsgbGVmdDogcHJldmlvdXMubGVmdCwgcmlnaHQ6IHByZXZpb3VzLnJpZ2h0IH07XHJcbiAgICBwcmV2aW91cy5sZWZ0ID0gY3VycmVudC5sZWZ0O1xyXG4gICAgcHJldmlvdXMucmlnaHQgPSBjdXJyZW50LnJpZ2h0O1xyXG4gICAgY3VycmVudC5sZWZ0ID0gbWlkZGxlLmxlZnQ7XHJcbiAgICBjdXJyZW50LnJpZ2h0ID0gbWlkZGxlLnJpZ2h0O1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuY29sdW1ucywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgIHRoaXMuZHJhZ0NoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgZHJhZ1N0YXJ0ZWQoX2V2ZW50OiBDZGtEcmFnU3RhcnQsIGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBjb2x1bW4uZHJhZ2dpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5kcmFnQ2hhbmdlKCk7XHJcbiAgICB0aGlzLnRhYmxlLnRoZWFkc0NoYW5nZXMoKTtcclxuICAgIHRoaXMudGFibGUuY29sdW1uRHJhZ1N0YXJ0ZWQuZW1pdChjb2x1bW4pO1xyXG4gIH1cclxuXHJcbiAgZHJhZ0VuZGVkKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBjb2x1bW4uZHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZHJhZ0NoYW5nZSgpO1xyXG4gICAgdGhpcy50YWJsZS50aGVhZHNDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnRhYmxlLmNvbHVtbkRyYWdFbmRlZC5lbWl0KGNvbHVtbik7XHJcbiAgfVxyXG5cclxuICBkcmFnQ2hhbmdlKCkge1xyXG4gICAgdGhpcy50YWJsZS5ib2R5Q2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPHRoZWFkICN0aGVhZCBbbmdTdHlsZV09XCJ0aGVhZFN0eWxlXCIgW2NsYXNzLngtdGFibGUtaGVhZC10b3BdPVwicG9zaXRpb24gPT09ICd0b3AnXCIgW2NsYXNzLngtdGFibGUtaGVhZC1ib3R0b21dPVwicG9zaXRpb24gPT09ICdib3R0b20nXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGxDb25maWc7IGVsc2UgY29sdW1uc1RwbFwiPlxyXG4gICAgPHRyIFtzdHlsZS5ncmlkVGVtcGxhdGVDb2x1bW5zXT1cImNlbGxDb25maWcuZ3JpZFRlbXBsYXRlQ29sdW1uc1wiIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiPlxyXG4gICAgICA8dGhcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNlbGxDb25maWcuY2VsbHNcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreV09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbikgfHwgdGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnRdPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHRdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnQtbGFzdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0TGFzdChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHQtZmlyc3RdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS13aWR0aC1kcmFnXT1cImNvbHVtbi5kcmFnV2lkdGhcIlxyXG4gICAgICAgIFtzdHlsZS5ncmlkLWFyZWFdPVwiY29sdW1uLmdyaWRBcmVhXCJcclxuICAgICAgICBbc3R5bGUubGVmdC5weF09XCJjb2x1bW4ubGVmdFwiXHJcbiAgICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImNvbHVtbi5yaWdodFwiXHJcbiAgICAgICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgICAgICBbdGl0bGVdPVwiY29sdW1uPy5sYWJlbFwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uQmFzZVRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgKm5nSWY9XCJjb2x1bW4uZHJhZ1dpZHRoXCJcclxuICAgICAgICAgIGNsYXNzPVwieC10YWJsZS1kcmFnLXdpZHRoXCJcclxuICAgICAgICAgIHhEcmFnXHJcbiAgICAgICAgICAoZHJhZ01vdmVkKT1cImRyYWdXaWR0aE1vdmVkKCRldmVudCwgY29sdW1uKVwiXHJcbiAgICAgICAgICAoZHJhZ1N0YXJ0ZWQpPVwiZHJhZ1dpZHRoU3RhcnRlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgKGRyYWdFbmRlZCk9XCJkcmFnV2lkdGhFbmRlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgPC90aD5cclxuICAgIDwvdHI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYmxlLmhlYWRTZWFyY2hUcGxcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5zVHBsOyBjb250ZXh0OiB7IGNhc2U6ICdzZWFyY2gnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC90aGVhZD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29sdW1uc1RwbCBsZXQtY2FzZT1cImNhc2VcIj5cclxuICA8dHJcclxuICAgIGNka0Ryb3BMaXN0XHJcbiAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXHJcbiAgICAoY2RrRHJvcExpc3RTb3J0ZWQpPVwiZHJvcExpc3RTb3J0ZWQoJGV2ZW50KVwiXHJcbiAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BMaXN0RHJvcHBlZCgkZXZlbnQpXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICBbc3R5bGUucGFkZGluZy1yaWdodC5weF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cInNjcm9sbFhXaWR0aFwiXHJcbiAgICBbY2xhc3MueC10YWJsZS1zZWFyY2hdPVwiY2FzZSA9PT0gJ3NlYXJjaCdcIlxyXG4gID5cclxuICAgIDx0aFxyXG4gICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcclxuICAgICAgY2RrRHJhZ1xyXG4gICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cImNvbHVtbi5kcmFnZ2luZ1dpZHRoIHx8ICFjb2x1bW4uZHJhZ0NvbHVtblwiXHJcbiAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJkcmFnU3RhcnRlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAoY2RrRHJhZ0VuZGVkKT1cImRyYWdFbmRlZChjb2x1bW4pXCJcclxuICAgICAgW25nQ2xhc3NdPVwidGhDbGFzc01hcFwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXRoXT1cInRydWVcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ldPVwidGFibGUuZ2V0U3RpY2t5KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHRdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1sZWZ0LWxhc3RdPVwidGFibGUuZ2V0U3RpY2t5TGVmdExhc3QoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodC1maXJzdF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodEZpcnN0KGNvbHVtbilcIlxyXG4gICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwiZ2V0Q29sdW1uV2lkdGgoY29sdW1uKVwiXHJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImdldENvbHVtblJpZ2h0KGNvbHVtbi5yaWdodClcIlxyXG4gICAgICBbc3R5bGUuZmxleF09XCJnZXRGbGV4KGNvbHVtbilcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjYXNlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlYXJjaCdcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZS5oZWFkU2VhcmNoVHBsOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbkJhc2VUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cImNvbHVtbi5kcmFnV2lkdGhcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIngtdGFibGUtZHJhZy13aWR0aFwiXHJcbiAgICAgICAgICAgIHhEcmFnXHJcbiAgICAgICAgICAgIChkcmFnTW92ZWQpPVwiZHJhZ1dpZHRoTW92ZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgICAgKGRyYWdTdGFydGVkKT1cImRyYWdXaWR0aFN0YXJ0ZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgICAgKGRyYWdFbmRlZCk9XCJkcmFnV2lkdGhFbmRlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdGg+XHJcbiAgPC90cj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29sdW1uQmFzZVRwbCBsZXQtY29sdW1uPVwiY29sdW1uXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cclxuICAgICAgPHgtY2hlY2tib3hcclxuICAgICAgICAqbmdJZj1cImNvbHVtbi5oZWFkQ2hlY2tlZFwiXHJcbiAgICAgICAgW2RhdGFdPVwiW3sgaWQ6IHRydWUsIGxhYmVsOiBjb2x1bW4ubGFiZWwgfV1cIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwidGFibGUuY2hlY2tlZFZhbHVlc1tjb2x1bW4uaWRdXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0YWJsZS5oZWFkQ2hlY2tlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cInRhYmxlLmNoZWNrZWRWYWx1ZXNbY29sdW1uLmlkICsgdGFibGUuaW5kZXRlcm1pbmF0ZV1cIlxyXG4gICAgICA+PC94LWNoZWNrYm94PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbi5oZWFkQ2hlY2tlZFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG91bW5EZWZhdWx0VHBsOyBjb250ZXh0OiB7IGNvbHVtbjogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpbmRleCdcIj5cclxuICAgICAgPGE+e3sgY29sdW1uLmxhYmVsIH19PC9hPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG91bW5EZWZhdWx0VHBsOyBjb250ZXh0OiB7IGNvbHVtbjogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjbG91bW5EZWZhdWx0VHBsIGxldC1jb2x1bW49XCJjb2x1bW5cIj5cclxuICA8YSBbY2xhc3MueC10YWJsZS1zb3J0XT1cImNvbHVtbi5zb3J0XCIgKGNsaWNrKT1cIm9uU29ydChjb2x1bW4pXCIgW3N0eWxlLnRleHQtYWxpZ25dPVwiY29sdW1uLnRleHRBbGlnblwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImNvbHVtblRwbFtjb2x1bW4uaWRdOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiB9XCI+XHJcbiAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8eC1pY29uXHJcbiAgICAgICpuZ0lmPVwiY29sdW1uLnNvcnRcIlxyXG4gICAgICB0eXBlPVwiZnRvLWJhci1jaGFydFwiXHJcbiAgICAgIGNsYXNzPVwieC10YWJsZS1zb3J0LWljb25cIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1pY29uLXVwXT1cInNvcnRTdHIgPT09IGNvbHVtbi5pZCArICcgZGVzYydcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1pY29uLWRvd25dPVwic29ydFN0ciA9PT0gY29sdW1uLmlkICsgJyBhc2MnXCJcclxuICAgID48L3gtaWNvbj5cclxuICA8L2E+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -516,4 +516,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
516
516
  }], rowHeight: [{
517
517
  type: Input
518
518
  }] } });
519
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBRVosYUFBYSxFQUdiLFdBQVcsRUFNWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDOztBQUVoRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUN0QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUR2RDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQUNyQzs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQStCdEM7OztXQUdHO1FBQ08sdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3RDs7O1dBR0c7UUFDTSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDNUM7OztXQUdHO1FBQ00sa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBZ0I1Qzs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBbUMsQ0FBQztRQTBCbkY7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFDbkM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFNbkM7OztXQUdHO1FBQ3NCLGVBQVUsR0FBWSxDQUFDLENBQUM7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QUs7Z0JBS21CLFFBQVE7c0JBQWhDLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUttQixjQUFjO3NCQUF0QyxLQUFLO2dCQUttQixVQUFVO3NCQUFsQyxLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7O0FBR1I7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztBQUUvQzs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTOztrSUFBcEMsa0JBQWtCO3NIQUFsQixrQkFBa0IsaUlBRFIsRUFBRTsyRkFDWixrQkFBa0I7a0JBRDlCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1oQixNQUFNO3NCQUFkLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFByb3BlcnR5LFxyXG4gIFhOdW1iZXIsXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhTb3J0LFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWEJvb2xlYW4sXHJcbiAgWERhdGEsXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFRleHRBbGlnbixcclxuICBYU2l6ZSxcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYSWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYVGVtcGxhdGVcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQYWdpbmF0aW9uUHJvcGVydHksIFhQYWdpbmF0aW9uT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvcGFnaW5hdGlvbic7XHJcblxyXG4vKipcclxuICogVGFibGVcclxuICogQHNlbGVjdG9yIHgtdGFibGVcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVQcmVmaXggPSAneC10YWJsZSc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndGFibGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVQcm9wZXJ0eSBleHRlbmRzIFhQYWdpbmF0aW9uUHJvcGVydHkgaW1wbGVtZW50cyBYVGFibGVPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRhOiBYRGF0YTxYVGFibGVSb3c+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDQyKSBAWElucHV0TnVtYmVyKCkgcm93SGVpZ2h0ITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBsb2FkaW5nITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWxleekuuWIl+i+ueahhlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIHNob3cgY29sdW1uIGJvcmRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuaYvuekuuWIl+WktFxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNvbHVtbiBoZWFkZXJzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIHNob3dIZWFkZXIhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pi+56S65L2N572uXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY29sdW1uIGhlYWRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFRhYmxlSGVhZGVyUG9zaXRpb24+KFhfQ09ORklHX05BTUUsICd0b3AnKSBoZWFkZXJQb3NpdGlvbiE6IFhUYWJsZUhlYWRlclBvc2l0aW9uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aXZhdGVkUm93PzogWFRhYmxlUm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlLnlj5hcclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnRseSBzZWxlY3RlZCByb3cgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZWRSb3dDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS06Ieq5a6a5LmJ5qih5p2/77yM6YCa6L+HIGtleS12YWx1ZSDnmoTmlrnlvI/mjIflrprmr4/liJfnmoTmqKHniYhcclxuICAgKiBAZW5fVVMgQ29sdW1uIGhlYWRlciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWFkQ29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflhoXlrrnoh6rlrprkuYnmqKHmnb/vvIzpgJrov4cga2V5LXZhbHVlIOeahOaWueW8j+aMh+Wumuavj+WIl+eahOaooeeJiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gY29udGVudCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBib2R5Q29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLznmoToh6rlrprkuYnmqKHmnb/vvIzkvJjlhYjnuqfkvY7kuo7liJflhoXlrrnoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHRlbXBsYXRlIG9mIGNlbGxzXHJcbiAgICovXHJcbiAgQElucHV0KCkgYm9keVRkVHBsPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJvd0NsYXNzPzogKHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pCc57Si6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIExpbmUgaGVhZCBzZWFyY2ggY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVhZFNlYXJjaFRwbD86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP54K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNvcnQgY2xpY2sgZXZlbnRzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhTb3J0W10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WktCBjaGVja2JveCDkuovku7ZcclxuICAgKiBAZW5fVVMgaGVhZCBjaGVja2JveCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBoZWFkQ2hlY2tib3hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgW3Byb3BlcnR5OiBzdHJpbmddOiBib29sZWFuIH0+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4reW9k+WJjeihjFxyXG4gICAqIEBlbl9VUyBBbGxvdyByb3cgY2xpY2sgdG8gc2VsZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGFsbG93U2VsZWN0Um93ITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4rSBjaGVja2JveFxyXG4gICAqIEBlbl9VUyBBbGxvdyBsaW5lcyB0byBjbGljayBjaGVja2JveFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBhbGxvd0NoZWNrUm93ITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FKSBAWElucHV0Qm9vbGVhbigpIHZpcnR1YWxTY3JvbGwhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBib2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBpdGVtU2l6Ze+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBpdGVtU2l6Ze+8jGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDQyKSBAWElucHV0TnVtYmVyKCkgaXRlbVNpemUhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWluQnVmZmVyUHg6IG51bWJlciA9IDEwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFJlbmRlciB0aGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1heEJ1ZmZlclB4OiBudW1iZXIgPSAyMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBBZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgYWRhcHRpb25IZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlofmoaPpq5jluqbnmb7liIbmr5TvvIzlvLnnqpfnmb7liIbmr5Tpq5jluqbnlKjliLBcclxuICAgKiBAZW5fVVMgRG9jdW1lbnQgaGVpZ2h0IHBlcmNlbnRhZ2UsIHVzZWQgYnkgcG9wLXVwIHdpbmRvdyBwZXJjZW50YWdlIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBkb2NQZXJjZW50OiBYTnVtYmVyID0gMTtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5YiX5Yid5aeL6YCJ5Lit55qE5pWw5o2u77yM5YiX5Lit5r+A5rS7IGNoZWNrYm94XHJcbiAgICogQGVuX1VTIENoZWNrYm94IGNvbHVtbiBpbml0aWFsbHkgc2VsZWN0ZWQgZGF0YSwgY2hlY2tib3ggaXMgYWN0aXZhdGVkIGluIGNvbHVtblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNoZWNrZWRSb3c6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnlbXSB9ID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWmguaenCBkYXRhIOaYr+WHveaVsOexu+Wei++8jOWPr+S7pemAmui/h+atpOWPguaVsOaOp+WItuivt+axgu+8jOW4uOeUqOS6juW8ueahhuS4reeahOihqOagvO+8jOW8ueWHuuWQjuWGjeivt+axglxyXG4gICAqIEBlbl9VUyBJZiBkYXRhIGlzIGEgZnVuY3Rpb24gdHlwZSwgeW91IGNhbiB1c2UgdGhpcyBwYXJhbWV0ZXIgdG8gY29udHJvbCB0aGUgcmVxdWVzdCwgd2hpY2ggaXMgb2Z0ZW4gdXNlZCBpbiB0aGUgZm9ybSBpbiB0aGUgcG9wLXVwIGJveCwgYW5kIHRoZW4gcmVxdWVzdCBpdCBhZnRlciBpdCBwb3BzIHVwXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtYW51YWw6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5rua5Yqo5Yy65Z+f6auY5a69XHJcbiAgICogQGVuX1VTIEhlaWdodCBhbmQgd2lkdGggb2Ygcm9sbGluZyBhcmVhXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2Nyb2xsPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXlpLRcclxuICAgKiBAZW5fVVMgVGFibGUgaGVhZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVhZGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXlsL5cclxuICAgKiBAZW5fVVMgVGFibGUgZm9vdGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9vdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj4LmlbDmjqfliLbor7fmsYLmlLnlj5jkuovku7ZcclxuICAgKiBAZW5fVVMgUGFyYW1ldGVyIGNvbnRyb2wgcmVxdWVzdCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbWFudWFsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ2VsbCBjb25maWdcclxuICAgKi9cclxuICBASW5wdXQoKSBjZWxsQ29uZmlnPzogWFRhYmxlQ2VsbENvbmZpZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSByb3dTaXplPzogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIhumhteWZqOS9jee9rlxyXG4gICAqIEBlbl9VUyBQYWdpbmF0aW9uIHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgcGFnaW5hdGlvblBvc2l0aW9uOiBYUGFnaW5hdGlvblBvc2l0aW9uID0gJ2JvdHRvbS1sZWZ0JztcclxuICAvKipcclxuICAgKiBAemhfQ04g6ZqQ6JeP6KGo5qC85aSW6L655qGGXHJcbiAgICogQGVuX1VTIEhpZGRlbiB0YWJsZSB3cmFwIGJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgaGlkZGVuV3JhcEJvcmRlcj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol4/liIbpobXlmajmjInpkq7ovrnmoYZcclxuICAgKiBAZW5fVVMgSGlkZGVuIHBhZ2luYXRpb24gYnV0dG9uIGJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgaGlkZGVuUGFnaW5hdGlvbkJvcmRlcj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIbpobXlmahcclxuICAgKiBAZW5fVVMgUGFnaW5hdGlvbiBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBzaG93UGFnaW5hdGlvbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLxcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdHJlZVRhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOWxleW8gOaJgOacieiKgueCuVxyXG4gICAqIEBlbl9VUyBUcmVlIHRhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpu5jorqTlsZXlvIDnmoTlsYLnuqfvvIwtMSDkuI3lsZXlvIBcclxuICAgKiBAZW5fVVMgRGVmYXVsdCBleHBhbmRlZCBsZXZlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAtMSkgQFhJbnB1dE51bWJlcigpIGV4cGFuZGVkTGV2ZWwhOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDnmoToioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBhbnlbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZXlvIDlhoXlrrlcclxuICAgKiBAZW5fVVMgQ3VzdG9taXplZCBleHBhbnNpb24gY29udGVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZFRwbD86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05ouW5Yqo5byA5aeL5LqL5Lu277yM6L+U5Zue5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIENvbHVtbiBIZWFkZXIgRHJhZyBFbmQgRXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJhZ1N0YXJ0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZUNvbHVtbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05ouW5Yqo57uT5p2f5LqL5Lu277yM6L+U5Zue5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIFRoZSBjb2x1bW4gaGVhZGVyIGlzIGRyYWdnaW5nLCBhbmQgdGhlIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIHRoZSBvcmRlciBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNvbHVtbkRyYWdFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlQ29sdW1uPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPnlKjmiLfmiorkuIDkuKrmnaHnm67mipXmlL7ov5vor6Xlrrnlmajml7blsLHkvJrop6blj5HvvIzmi5bliqjmlL7lvIDnmoTkuovku7bvvIzov5Tlm57mi5bliqjmjpLluo/lkI7nmoTliJfmlbDmja5cclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBoZWFkZXIgaXMgZHJhZ2dpbmcsIGFuZCB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG9yZGVyIGlzIGNoYW5nZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJvcExpc3REcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVDb2x1bW5bXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5aeL5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIHN0YXJ0ZWQgZHJhZyBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJhZ1dpZHRoU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuveaXtueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBtb3ZlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5EcmFnV2lkdGhNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOe7k+adn+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBlbmRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5EcmFnV2lkdGhFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBPcHRpb25cclxuICogQHVuZG9jdW1lbnQgdHJ1ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVPcHRpb24gZXh0ZW5kcyBYUGFnaW5hdGlvbk9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIGRhdGE/OiBYRGF0YTxYVGFibGVSb3c+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIGNvbHVtbnM/OiBYVGFibGVDb2x1bW5bXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIHJvd0hlaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5ZCv55So5Yqg6L29IGxvYWRpbmdcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBlbmFibGUgbG9hZGluZ1xyXG4gICAqL1xyXG4gIGxvYWRpbmc/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIGFjdGl2YXRlZFJvdz86IFhUYWJsZVJvdztcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS06Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIENvbHVtbiBoZWFkZXIgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgaGVhZENvbHVtblRwbD86IFhUYWJsZVRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflhoXlrrnoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ29sdW1uIGNvbnRlbnQgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgYm9keUNvbHVtblRwbD86IFhUYWJsZVRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIHJvd0NsYXNzPzogKHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICBib2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgRXhjZWVkIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIG1pbkJ1ZmZlclB4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgbWF4QnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBBZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgZG9jUGVyY2VudD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHJvd1NpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmlbDmja5cclxuICogQGVuX1VTIERhdGFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlUm93IGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFRhYmxlUm93PiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gFxyXG4gICAqIEBlbl9VUyBVbmZvbGRcclxuICAgKi9cclxuICBleHBhbmRlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WPguaVsFxyXG4gKiBAZW5fVVMgQ29sdW1uIHBhcmFtZXRlclxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb2x1bW4gZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOexu+Wei1xyXG4gICAqIEBlbl9VUyBUeXBlcyBvZlxyXG4gICAqL1xyXG4gIHR5cGU/OiBYQ29sdW1uVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a695bqmXHJcbiAgICogQGVuX1VTIFdpZHRoXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5a695bqmXHJcbiAgICogQGVuX1VTIEZsZXggbGF5b3V0IHdpZHRoXHJcbiAgICovXHJcbiAgZmxleD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5p+l6K+i5a2X5q61XHJcbiAgICogQGVuX1VTIFF1ZXJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc2VhcmNoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP5a2X5q61XHJcbiAgICogQGVuX1VTIFNvcnQgZmllbGRcclxuICAgKi9cclxuICBzb3J0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75bem6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSBsZWZ0XHJcbiAgICovXHJcbiAgbGVmdD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75Y+z6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSByaWdodFxyXG4gICAqL1xyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmk43kvZzmjInpkq5cclxuICAgKiBAZW5fVVMgT3BlcmF0aW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gIGFjdGlvbj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHR5cGUg5Li6IGNoZWNrYm94IOaXtue7keWumuihjOeCueWHu+mAieS4reS6i+S7tlxyXG4gICAqIEBlbl9VUyBCaW5kIHJvdyBjbGljayBzZWxlY3Rpb24gZXZlbnQgd2hlbiB0eXBlIGlzIGNoZWNrYm94XHJcbiAgICovXHJcbiAgcm93Q2hlY2tlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHR5cGUg5Li6IGV4cGFuZCDml7bnu5HlrprooYzngrnlh7vlsZXlvIDkuovku7ZcclxuICAgKiBAZW5fVVMgQmluZCByb3cgY2xpY2sgc2VsZWN0aW9uIGV2ZW50IHdoZW4gdHlwZSBpcyBleHBhbmRcclxuICAgKi9cclxuICByb3dFeHBhbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmloflrZflr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgVGV4dCBhbGlnbm1lbnRcclxuICAgKi9cclxuICB0ZXh0QWxpZ24/OiBYVGV4dEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjliJflrr3vvIzpnIDopoHorr7nva7liJfnmoTliJ3lp4vlrr3luqYgd2lkdGhcclxuICAgKiBAZW5fVVMgRHJhZyB0aGUgY29sdW1uIHdpZHRoLCB5b3UgbmVlZCB0byBzZXQgdGhlIGluaXRpYWwgd2lkdGggb2YgdGhlIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWni+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBzdGFydGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoU3RhcnRlZD86IChldmVudDogWFRhYmxlRHJhZ1dpZHRoRXZlbnQpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuveaXtueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBtb3ZlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aE1vdmVkPzogKGV2ZW50OiBYVGFibGVEcmFnV2lkdGhFdmVudCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBAemhfQ04g57uT5p2f5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIGVuZGVkIGRyYWcgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoRW5kZWQ/OiAoZXZlbnQ6IFhUYWJsZURyYWdXaWR0aEV2ZW50KSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjliJdcclxuICAgKiBAZW5fVVMgRHJhZyB0aGUgY29sdW1uXHJcbiAgICovXHJcbiAgZHJhZ0NvbHVtbj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl1xyXG4gICAqIEBlbl9VUyBEcmFnZ2luZyBjb2x1bW5cclxuICAgKi9cclxuICBkcmFnZ2luZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWktOmDqOaYvuekuiBjaGVja2JveFxyXG4gICAqIEBlbl9VUyBIZWFkIHNob3dzIGNoZWNrYm94XHJcbiAgICovXHJcbiAgaGVhZENoZWNrZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpLTpg6jmmL7npLogZXhwYW5kXHJcbiAgICogQGVuX1VTIEhlYWQgc2hvd3MgZXhwYW5kXHJcbiAgICovXHJcbiAgaGVhZEV4cGFuZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WktOWuveW6puaLluWKqOS6i+S7tlxyXG4gKiBAZW5fVVMgQ29sdW1uIGhlYWRlciB3aWR0aCBkcmFnIGV2ZW50XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZURyYWdXaWR0aEV2ZW50IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIERyYWdnZWQgY29sdW1uXHJcbiAgICovXHJcbiAgY29sdW1uOiBYVGFibGVDb2x1bW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+S9jee9ru+8jOato+WcqOaLluWKqOeahOaXtuWAmeaMh+WBj+enu+S9jee9rlxyXG4gICAqIEBlbl9VUyBUaGUgY29sdW1uIHBvc2l0aW9uIHJlZmVycyB0byB0aGUgb2Zmc2V0IHBvc2l0aW9uIHdoZW4gZHJhZ2dpbmdcclxuICAgKi9cclxuICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gKiBAZW5fVVMgQ2VsbCBjb25maWdcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlQ2VsbENvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDb2x1bW4gY2VsbCBjb25maWdcclxuICAgKi9cclxuICB0aGVhZD86IFhUYWJsZUNlbGxDb25maWdSdWxlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgUm93IGNvbmZpZ1xyXG4gICAqL1xyXG4gIHRib2R5PzogWFRhYmxlQ2VsbENvbmZpZ1J1bGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC86YWN572u6KeE5YiZXHJcbiAqIEBlbl9VUyBDZWxsIGNvbmZpZyBydWxlc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDZWxsQ29uZmlnUnVsZSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGdyaWQg5biD5bGA5LiL5a6a5LmJ5YiX5a695bqmXHJcbiAgICogQGVuX1VTIERlZmluZSBjb2x1bW4gd2lkdGggdW5kZXIgZ3JpZCBsYXlvdXRcclxuICAgKi9cclxuICBncmlkVGVtcGxhdGVDb2x1bW5zPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ2VsbCBtZXJnZSBydWxlc1xyXG4gICAqL1xyXG4gIGNlbGxzPzogWFRhYmxlQ2VsbFtdO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWNleWFg+agvOWQiOW5tumFjee9rlxyXG4gKiBAZW5fVVMgQ2VsbCBtZXJnZSBydWxlc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDZWxsIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5L2/55SoIGdyaWQg5biD5bGA5p2l5ZCI5bm25Y2V5YWD5qC8XHJcbiAgICogQGVuX1VTIFVzZSBncmlkIGxheW91dCB0byBtZXJnZSBjZWxsc1xyXG4gICAqL1xyXG4gIGdyaWRBcmVhPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlkI3np7BcclxuICAgKiBAZW5fVVMgTmFtZVxyXG4gICAqL1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICB3aWR0aD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75bem6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSBsZWZ0XHJcbiAgICovXHJcbiAgbGVmdD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75Y+z6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSByaWdodFxyXG4gICAqL1xyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlr7nlupTliJfnmoQgaWRcclxuICAgKiBAZW5fVVMgVGhlIGlkIG9mIHRoZSBjb3JyZXNwb25kaW5nIGNvbHVtblxyXG4gICAqL1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjliJflrr1cclxuICAgKiBAZW5fVVMgRHJhZyB0aGUgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiX57G75Z6LXHJcbiAqIEBlbl9VUyBDb2x1bW4gdHlwZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWENvbHVtblR5cGUgPSAnbGFiZWwnIHwgJ2luZGV4JyB8ICdjaGVja2JveCcgfCAnZXhwYW5kJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiX5aS05pi+56S65L2N572uXHJcbiAqIEBlbl9VUyBMaW5lIGhlYWQgZGlzcGxheSBwb3NpdGlvblxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWFRhYmxlSGVhZGVyUG9zaXRpb24gPSAndG9wJyB8ICdib3R0b20nIHwgJ3RvcC1ib3R0b20nO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliIbpobXlmajkvY3nva5cclxuICogQGVuX1VTIFBhZ2luZyBwb3NpdGlvblxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWFBhZ2luYXRpb25Qb3NpdGlvbiA9ICd0b3AtbGVmdCcgfCAndG9wLWNlbnRlcicgfCAndG9wLXJpZ2h0JyB8ICdib3R0b20tbGVmdCcgfCAnYm90dG9tLWNlbnRlcicgfCAnYm90dG9tLXJpZ2h0JztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5qih5p2/XHJcbiAqIEBlbl9VUyBUZW1wbGF0ZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWFRhYmxlVGVtcGxhdGUgPSB7IFtwcm9wZXJ0eTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55PiB9O1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEhlYWRcclxuICogQHNlbGVjdG9yIHgtdGFibGUtaGVhZFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZUhlYWRQcmVmaXggPSAneC10YWJsZS1oZWFkJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBIZWFkIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVIZWFkUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM6IFhUYWJsZUNvbHVtbltdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOW6pu+8jOWNleS9jSBweFxyXG4gICAqIEBlbl9VUyBIZWlnaHQgaW4gcHhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgcm93SGVpZ2h0OiBYTnVtYmVyID0gNDI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOerluWQkea7muWKqOadoeWuveW6plxyXG4gICAqIEBlbl9VUyBWZXJ0aWNhbCBzY3JvbGwgYmFyIHdpZHRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2Nyb2xsWVdpZHRoPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmqKrlkJHmu5rliqjmnaHlrr3luqZcclxuICAgKiBAZW5fVVMgSG9yaXpvbnRhbCBzY3JvbGwgYmFyIHdpZHRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2Nyb2xsWFdpZHRoPzogbnVtYmVyIHwgbnVsbDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENlbGwgbWVyZ2UgcnVsZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBjZWxsQ29uZmlnPzogWFRhYmxlQ2VsbENvbmZpZ1J1bGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuueahOS9jee9rlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgcG9zaXRpb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBCb2R5XHJcbiAqIEBzZWxlY3RvciB4LXRhYmxlLWJvZHlcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVCb2R5UHJlZml4ID0gJ3gtdGFibGUtYm9keSc7XHJcblxyXG4vKipcclxuICogVGFibGUgQm9keSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlQm9keVByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGF0YTogWFRhYmxlUm93W10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6ZuG5ZCIXHJcbiAgICogQGVuX1VTIENvbHVtbiBzZXRcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zOiBYVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aXZhdGVkUm93PzogWFRhYmxlUm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlLnlj5hcclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnRseSBzZWxlY3RlZCByb3cgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZWRSb3dDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5bqm77yM5Y2V5L2NIHB444CC6K6+572u5Li6IDAg6KGo56S66KGM6auY6Ieq6YCC5bqU5YaF5a656auY5bqm44CCXHJcbiAgICogQGVuX1VTIEhlaWdodCBpbiBweC4gc2V0IHRvIDAgbWVhbnMgdGhhdCB0aGUgcm93IGhlaWdodCBpcyBhZGFwdGl2ZSB0byB0aGUgY29udGVudCBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgcm93SGVpZ2h0OiBYTnVtYmVyID0gNDI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgYm9keUhlaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWB6K646KGM54K55Ye76YCJ5LitXHJcbiAgICogQGVuX1VTIEFsbG93IHJvdyBjbGljayB0byBzZWxlY3RcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGFsbG93U2VsZWN0Um93OiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSB2aXJ0dWFsU2Nyb2xsOiBYQm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBpdGVtU2l6Ze+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBpdGVtU2l6Ze+8jGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBpdGVtU2l6ZTogbnVtYmVyID0gNDI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWluQnVmZmVyUHg6IG51bWJlciA9IDEwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFJlbmRlciB0aGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1heEJ1ZmZlclB4OiBudW1iZXIgPSAyMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBBZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgYWRhcHRpb25IZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlofmoaPpq5jluqbnmb7liIbmr5TvvIzlvLnnqpfnmb7liIbmr5Tpq5jluqbnlKjliLBcclxuICAgKiBAZW5fVVMgRG9jdW1lbnQgaGVpZ2h0IHBlcmNlbnRhZ2UsIHVzZWQgYnkgcG9wLXVwIHdpbmRvdyBwZXJjZW50YWdlIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBkb2NQZXJjZW50OiBYTnVtYmVyID0gMTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5rua5Yqo5Yy65Z+f6auY5a69XHJcbiAgICogQGVuX1VTIEhlaWdodCBhbmQgd2lkdGggb2Ygcm9sbGluZyBhcmVhXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2Nyb2xsPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva7op4TliJlcclxuICAgKiBAZW5fVVMgQ2VsbCBjb25maWcgcnVsZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBjZWxsQ29uZmlnPzogWFRhYmxlQ2VsbENvbmZpZ1J1bGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOadoeS7tuagt+W8j1xyXG4gICAqIEBlbl9VUyBSb3cgY29uZGl0aW9uIGNsYXNzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcm93Q2xhc3M/OiAocm93OiBYVGFibGVSb3csIGluZGV4OiBudW1iZXIpID0+IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLzkuIvnmoTlsYLnuqdcclxuICAgKiBAZW5fVVMgVGhlIGxldmVsIHVuZGVyIHRoZSB0cmVlIHRhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGV2ZWw6IG51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOWxleW8gOaJgOacieiKgueCuVxyXG4gICAqIEBlbl9VUyBUcmVlIHRhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZXlvIDlhoXlrrlcclxuICAgKiBAZW5fVVMgQ3VzdG9taXplZCBleHBhbnNpb24gY29udGVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZFRwbD86IFhUZW1wbGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEZvb3RcclxuICogQHNlbGVjdG9yIHgtdGFibGUtZm9vdFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZUZvb3RQcmVmaXggPSAneC10YWJsZS1mb290JztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBGb290IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVGb290UHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXlsL5cclxuICAgKiBAZW5fVVMgVGFibGUgZm9vdGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9vdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajlpLTlkozooYzpq5jvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVhZGVyIGFuZCByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgQElucHV0KCkgcm93SGVpZ2h0ITogbnVtYmVyO1xyXG59XHJcbiJdfQ==
519
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBRVosYUFBYSxFQUdiLFdBQVcsRUFNWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDOztBQUVoRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUN0QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUR2RDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQUNyQzs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQStCdEM7OztXQUdHO1FBQ08sdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3RDs7O1dBR0c7UUFDTSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDNUM7OztXQUdHO1FBQ00sa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBZ0I1Qzs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBbUMsQ0FBQztRQTBCbkY7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFDbkM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFNbkM7OztXQUdHO1FBQ3NCLGVBQVUsR0FBWSxDQUFDLENBQUM7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QUs7Z0JBS21CLFFBQVE7c0JBQWhDLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUttQixjQUFjO3NCQUF0QyxLQUFLO2dCQUttQixVQUFVO3NCQUFsQyxLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7O0FBR1I7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztBQUUvQzs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTOztrSUFBcEMsa0JBQWtCO3NIQUFsQixrQkFBa0IsaUlBRFIsRUFBRTsyRkFDWixrQkFBa0I7a0JBRDlCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1oQixNQUFNO3NCQUFkLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFByb3BlcnR5LFxyXG4gIFhOdW1iZXIsXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhTb3J0LFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWEJvb2xlYW4sXHJcbiAgWERhdGEsXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFRleHRBbGlnbixcclxuICBYU2l6ZSxcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYSWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYVGVtcGxhdGVcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQYWdpbmF0aW9uUHJvcGVydHksIFhQYWdpbmF0aW9uT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvcGFnaW5hdGlvbic7XHJcblxyXG4vKipcclxuICogVGFibGVcclxuICogQHNlbGVjdG9yIHgtdGFibGVcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVQcmVmaXggPSAneC10YWJsZSc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndGFibGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVQcm9wZXJ0eSBleHRlbmRzIFhQYWdpbmF0aW9uUHJvcGVydHkgaW1wbGVtZW50cyBYVGFibGVPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRhOiBYRGF0YTxYVGFibGVSb3c+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDQyKSBAWElucHV0TnVtYmVyKCkgcm93SGVpZ2h0ITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBsb2FkaW5nITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWxleekuuWIl+i+ueahhlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIHNob3cgY29sdW1uIGJvcmRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuaYvuekuuWIl+WktFxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNvbHVtbiBoZWFkZXJzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIHNob3dIZWFkZXIhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pi+56S65L2N572uXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY29sdW1uIGhlYWRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFRhYmxlSGVhZGVyUG9zaXRpb24+KFhfQ09ORklHX05BTUUsICd0b3AnKSBoZWFkZXJQb3NpdGlvbiE6IFhUYWJsZUhlYWRlclBvc2l0aW9uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aXZhdGVkUm93PzogWFRhYmxlUm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlLnlj5hcclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnRseSBzZWxlY3RlZCByb3cgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZWRSb3dDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS06Ieq5a6a5LmJ5qih5p2/77yM6YCa6L+HIGtleS12YWx1ZSDnmoTmlrnlvI/mjIflrprmr4/liJfnmoTmqKHniYhcclxuICAgKiBAZW5fVVMgQ29sdW1uIGhlYWRlciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWFkQ29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflhoXlrrnoh6rlrprkuYnmqKHmnb/vvIzpgJrov4cga2V5LXZhbHVlIOeahOaWueW8j+aMh+Wumuavj+WIl+eahOaooeeJiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gY29udGVudCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBib2R5Q29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLznmoToh6rlrprkuYnmqKHmnb/vvIzkvJjlhYjnuqfkvY7kuo7liJflhoXlrrnoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHRlbXBsYXRlIG9mIGNlbGxzXHJcbiAgICovXHJcbiAgQElucHV0KCkgYm9keVRkVHBsPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJvd0NsYXNzPzogKHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pCc57Si6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIExpbmUgaGVhZCBzZWFyY2ggY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVhZFNlYXJjaFRwbD86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP54K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNvcnQgY2xpY2sgZXZlbnRzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhTb3J0W10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WktCBjaGVja2JveCDkuovku7ZcclxuICAgKiBAZW5fVVMgaGVhZCBjaGVja2JveCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBoZWFkQ2hlY2tib3hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgW3Byb3BlcnR5OiBzdHJpbmddOiBib29sZWFuIH0+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4reW9k+WJjeihjFxyXG4gICAqIEBlbl9VUyBBbGxvdyByb3cgY2xpY2sgdG8gc2VsZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGFsbG93U2VsZWN0Um93ITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4rSBjaGVja2JveFxyXG4gICAqIEBlbl9VUyBBbGxvdyBsaW5lcyB0byBjbGljayBjaGVja2JveFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBhbGxvd0NoZWNrUm93ITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FKSBAWElucHV0Qm9vbGVhbigpIHZpcnR1YWxTY3JvbGwhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBib2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBpdGVtU2l6Ze+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBpdGVtU2l6Ze+8jGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDQyKSBAWElucHV0TnVtYmVyKCkgaXRlbVNpemUhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWluQnVmZmVyUHg6IG51bWJlciA9IDEwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFJlbmRlciB0aGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1heEJ1ZmZlclB4OiBudW1iZXIgPSAyMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBBZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgYWRhcHRpb25IZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlofmoaPpq5jluqbnmb7liIbmr5TvvIzlvLnnqpfnmb7liIbmr5Tpq5jluqbnlKjliLBcclxuICAgKiBAZW5fVVMgRG9jdW1lbnQgaGVpZ2h0IHBlcmNlbnRhZ2UsIHVzZWQgYnkgcG9wLXVwIHdpbmRvdyBwZXJjZW50YWdlIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBkb2NQZXJjZW50OiBYTnVtYmVyID0gMTtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5YiX5Yid5aeL6YCJ5Lit55qE5pWw5o2u77yM5YiX5Lit5r+A5rS7IGNoZWNrYm94XHJcbiAgICogQGVuX1VTIENoZWNrYm94IGNvbHVtbiBpbml0aWFsbHkgc2VsZWN0ZWQgZGF0YSwgY2hlY2tib3ggaXMgYWN0aXZhdGVkIGluIGNvbHVtblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNoZWNrZWRSb3c6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnlbXSB9ID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWmguaenCBkYXRhIOaYr+WHveaVsOexu+Wei++8jOWPr+S7pemAmui/h+atpOWPguaVsOaOp+WItuivt+axgu+8jOW4uOeUqOS6juW8ueahhuS4reeahOihqOagvO+8jOW8ueWHuuWQjuWGjeivt+axglxyXG4gICAqIEBlbl9VUyBJZiBkYXRhIGlzIGEgZnVuY3Rpb24gdHlwZSwgeW91IGNhbiB1c2UgdGhpcyBwYXJhbWV0ZXIgdG8gY29udHJvbCB0aGUgcmVxdWVzdCwgd2hpY2ggaXMgb2Z0ZW4gdXNlZCBpbiB0aGUgZm9ybSBpbiB0aGUgcG9wLXVwIGJveCwgYW5kIHRoZW4gcmVxdWVzdCBpdCBhZnRlciBpdCBwb3BzIHVwXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtYW51YWw6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5rua5Yqo5Yy65Z+f6auY5a69XHJcbiAgICogQGVuX1VTIEhlaWdodCBhbmQgd2lkdGggb2Ygcm9sbGluZyBhcmVhXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2Nyb2xsPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXlpLRcclxuICAgKiBAZW5fVVMgVGFibGUgaGVhZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVhZGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXlsL5cclxuICAgKiBAZW5fVVMgVGFibGUgZm9vdGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9vdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj4LmlbDmjqfliLbor7fmsYLmlLnlj5jkuovku7ZcclxuICAgKiBAZW5fVVMgUGFyYW1ldGVyIGNvbnRyb2wgcmVxdWVzdCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbWFudWFsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ2VsbCBjb25maWdcclxuICAgKi9cclxuICBASW5wdXQoKSBjZWxsQ29uZmlnPzogWFRhYmxlQ2VsbENvbmZpZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSByb3dTaXplPzogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIhumhteWZqOS9jee9rlxyXG4gICAqIEBlbl9VUyBQYWdpbmF0aW9uIHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgcGFnaW5hdGlvblBvc2l0aW9uOiBYUGFnaW5hdGlvblBvc2l0aW9uID0gJ2JvdHRvbS1sZWZ0JztcclxuICAvKipcclxuICAgKiBAemhfQ04g6ZqQ6JeP6KGo5qC85aSW6L655qGGXHJcbiAgICogQGVuX1VTIEhpZGRlbiB0YWJsZSB3cmFwIGJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgaGlkZGVuV3JhcEJvcmRlcj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol4/liIbpobXlmajmjInpkq7ovrnmoYZcclxuICAgKiBAZW5fVVMgSGlkZGVuIHBhZ2luYXRpb24gYnV0dG9uIGJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgaGlkZGVuUGFnaW5hdGlvbkJvcmRlcj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIbpobXlmahcclxuICAgKiBAZW5fVVMgUGFnaW5hdGlvbiBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBzaG93UGFnaW5hdGlvbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLxcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdHJlZVRhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOWxleW8gOaJgOacieiKgueCuVxyXG4gICAqIEBlbl9VUyBUcmVlIHRhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpu5jorqTlsZXlvIDnmoTlsYLnuqfvvIwtMSDkuI3lsZXlvIBcclxuICAgKiBAZW5fVVMgRGVmYXVsdCBleHBhbmRlZCBsZXZlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAtMSkgQFhJbnB1dE51bWJlcigpIGV4cGFuZGVkTGV2ZWwhOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDnmoToioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBhbnlbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZXlvIDlhoXlrrlcclxuICAgKiBAZW5fVVMgQ3VzdG9taXplZCBleHBhbnNpb24gY29udGVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZFRwbD86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05ouW5Yqo5byA5aeL5LqL5Lu277yM6L+U5Zue5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIENvbHVtbiBIZWFkZXIgRHJhZyBFbmQgRXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJhZ1N0YXJ0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZUNvbHVtbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05ouW5Yqo57uT5p2f5LqL5Lu277yM6L+U5Zue5ouW5Yqo55qE5YiXXHJcbiAgICogQGVuX1VTIFRoZSBjb2x1bW4gaGVhZGVyIGlzIGRyYWdnaW5nLCBhbmQgdGhlIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIHRoZSBvcmRlciBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNvbHVtbkRyYWdFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlQ29sdW1uPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPnlKjmiLfmiorkuIDkuKrmnaHnm67mipXmlL7ov5vor6Xlrrnlmajml7blsLHkvJrop6blj5HvvIzmi5bliqjmlL7lvIDnmoTkuovku7bvvIzov5Tlm57mi5bliqjmjpLluo/lkI7nmoTliJfmlbDmja5cclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBoZWFkZXIgaXMgZHJhZ2dpbmcsIGFuZCB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG9yZGVyIGlzIGNoYW5nZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJvcExpc3REcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVDb2x1bW5bXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5aeL5ouW5Yqo5YiX5a6955qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV2ZW50IHRvIHN0YXJ0ZWQgZHJhZyBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY29sdW1uRHJhZ1dpZHRoU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuveaXtueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBtb3ZlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5EcmFnV2lkdGhNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOe7k+adn+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBlbmRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5EcmFnV2lkdGhFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlRHJhZ1dpZHRoRXZlbnQ+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBPcHRpb25cclxuICogQHVuZG9jdW1lbnQgdHJ1ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVPcHRpb24gZXh0ZW5kcyBYUGFnaW5hdGlvbk9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIGRhdGE/OiBYRGF0YTxYVGFibGVSb3c+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIGNvbHVtbnM/OiBYVGFibGVDb2x1bW5bXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIHJvd0hlaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5ZCv55So5Yqg6L29IGxvYWRpbmdcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBlbmFibGUgbG9hZGluZ1xyXG4gICAqL1xyXG4gIGxvYWRpbmc/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIGFjdGl2YXRlZFJvdz86IFhUYWJsZVJvdztcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS06Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIENvbHVtbiBoZWFkZXIgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgaGVhZENvbHVtblRwbD86IFhUYWJsZVRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflhoXlrrnoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ29sdW1uIGNvbnRlbnQgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgYm9keUNvbHVtblRwbD86IFhUYWJsZVRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIHJvd0NsYXNzPzogKHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICBib2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgRXhjZWVkIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIG1pbkJ1ZmZlclB4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgbWF4QnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBBZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgZG9jUGVyY2VudD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHJvd1NpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmlbDmja5cclxuICogQGVuX1VTIERhdGFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlUm93IGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFRhYmxlUm93PiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gFxyXG4gICAqIEBlbl9VUyBVbmZvbGRcclxuICAgKi9cclxuICBleHBhbmRlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WPguaVsFxyXG4gKiBAZW5fVVMgQ29sdW1uIHBhcmFtZXRlclxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb2x1bW4gZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOexu+Wei1xyXG4gICAqIEBlbl9VUyBUeXBlcyBvZlxyXG4gICAqL1xyXG4gIHR5cGU/OiBYQ29sdW1uVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a695bqmXHJcbiAgICogQGVuX1VTIFdpZHRoXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5a695bqmXHJcbiAgICogQGVuX1VTIEZsZXggbGF5b3V0IHdpZHRoXHJcbiAgICovXHJcbiAgZmxleD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5p+l6K+i5a2X5q61XHJcbiAgICogQGVuX1VTIFF1ZXJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc2VhcmNoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP5a2X5q61XHJcbiAgICogQGVuX1VTIFNvcnQgZmllbGRcclxuICAgKi9cclxuICBzb3J0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75bem6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSBsZWZ0XHJcbiAgICovXHJcbiAgbGVmdD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu65a6a5YiX77yM6Led56a75Y+z6L6555qE6Led56a7XHJcbiAgICogQGVuX1VTIEZpeGVkIGNvbHVtbiwgZGlzdGFuY2UgZnJvbSByaWdodFxyXG4gICAqL1xyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmk43kvZzmjInpkq5cclxuICAgKiBAZW5fVVMgT3BlcmF0aW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gIGFjdGlvbj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHR5cGUg5Li6IGNoZWNrYm94IOaXtue7keWumuihjOeCueWHu+mAieS4reS6i+S7tlxyXG4gICAqIEBlbl9VUyBCaW5kIHJvdyBjbGljayBzZWxlY3Rpb24gZXZlbnQgd2hlbiB0eXBlIGlzIGNoZWNrYm94XHJcbiAgICovXHJcbiAgcm93Q2hlY2tlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHR5cGUg5Li6IGV4cGFuZCDml7bnu5HlrprooYzngrnlh7vlsZXlvIDkuovku7ZcclxuICAgKiBAZW5fVVMgQmluZCByb3cgY2xpY2sgc2VsZWN0aW9uIGV2ZW50IHdoZW4gdHlwZSBpcyBleHBhbmRcclxuICAgKi9cclxuICByb3dFeHBhbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmloflrZflr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgVGV4dCBhbGlnbm1lbnRcclxuICAgKi9cclxuICB0ZXh0QWxpZ24/OiBYVGV4dEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjliJflrr3vvIzpnIDopoHorr7nva7liJfnmoTliJ3lp4vlrr3luqYgd2lkdGhcclxuICAgKiBAZW5fVVMgRHJhZyB0aGUgY29sdW1uIHdpZHRoLCB5b3UgbmVlZCB0byBzZXQgdGhlIGluaXRpYWwgd2lkdGggb2YgdGhlIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WcqOaLluWKqOWIl+WuvVxyXG4gICAqIEBlbl9VUyBEcmFnZ2luZyB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdnaW5nV2lkdGg/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlp4vmi5bliqjliJflrr3nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnQgdG8gc3RhcnRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aFN0YXJ0ZWQ/OiAoZXZlbnQ6IFhUYWJsZURyYWdXaWR0aEV2ZW50KSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjmi5bliqjliJflrr3ml7bnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnQgdG8gbW92ZWQgZHJhZyBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBkcmFnV2lkdGhNb3ZlZD86IChldmVudDogWFRhYmxlRHJhZ1dpZHRoRXZlbnQpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOe7k+adn+aLluWKqOWIl+WuveeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudCB0byBlbmRlZCBkcmFnIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aEVuZGVkPzogKGV2ZW50OiBYVGFibGVEcmFnV2lkdGhFdmVudCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo5YiXXHJcbiAgICogQGVuX1VTIERyYWcgdGhlIGNvbHVtblxyXG4gICAqL1xyXG4gIGRyYWdDb2x1bW4/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjmi5bliqjliJdcclxuICAgKiBAZW5fVVMgRHJhZ2dpbmcgY29sdW1uXHJcbiAgICovXHJcbiAgZHJhZ2dpbmc/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpLTpg6jmmL7npLogY2hlY2tib3hcclxuICAgKiBAZW5fVVMgSGVhZCBzaG93cyBjaGVja2JveFxyXG4gICAqL1xyXG4gIGhlYWRDaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aS06YOo5pi+56S6IGV4cGFuZFxyXG4gICAqIEBlbl9VUyBIZWFkIHNob3dzIGV4cGFuZFxyXG4gICAqL1xyXG4gIGhlYWRFeHBhbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLTlrr3luqbmi5bliqjkuovku7ZcclxuICogQGVuX1VTIENvbHVtbiBoZWFkZXIgd2lkdGggZHJhZyBldmVudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVEcmFnV2lkdGhFdmVudCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOeahOWIl1xyXG4gICAqIEBlbl9VUyBEcmFnZ2VkIGNvbHVtblxyXG4gICAqL1xyXG4gIGNvbHVtbjogWFRhYmxlQ29sdW1uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfkvY3nva7vvIzmraPlnKjmi5bliqjnmoTml7blgJnmjIflgY/np7vkvY3nva5cclxuICAgKiBAZW5fVVMgVGhlIGNvbHVtbiBwb3NpdGlvbiByZWZlcnMgdG8gdGhlIG9mZnNldCBwb3NpdGlvbiB3aGVuIGRyYWdnaW5nXHJcbiAgICovXHJcbiAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICogQGVuX1VTIENlbGwgY29uZmlnXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGxDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ29sdW1uIGNlbGwgY29uZmlnXHJcbiAgICovXHJcbiAgdGhlYWQ/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIFJvdyBjb25maWdcclxuICAgKi9cclxuICB0Ym9keT86IFhUYWJsZUNlbGxDb25maWdSdWxlO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWNleWFg+agvOmFjee9ruinhOWImVxyXG4gKiBAZW5fVVMgQ2VsbCBjb25maWcgcnVsZXNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlQ2VsbENvbmZpZ1J1bGUge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBncmlkIOW4g+WxgOS4i+WumuS5ieWIl+WuveW6plxyXG4gICAqIEBlbl9VUyBEZWZpbmUgY29sdW1uIHdpZHRoIHVuZGVyIGdyaWQgbGF5b3V0XHJcbiAgICovXHJcbiAgZ3JpZFRlbXBsYXRlQ29sdW1ucz86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENlbGwgbWVyZ2UgcnVsZXNcclxuICAgKi9cclxuICBjZWxscz86IFhUYWJsZUNlbGxbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzlkIjlubbphY3nva5cclxuICogQGVuX1VTIENlbGwgbWVyZ2UgcnVsZXNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYmxlQ2VsbCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS9v+eUqCBncmlkIOW4g+WxgOadpeWQiOW5tuWNleWFg+agvFxyXG4gICAqIEBlbl9VUyBVc2UgZ3JpZCBsYXlvdXQgdG8gbWVyZ2UgY2VsbHNcclxuICAgKi9cclxuICBncmlkQXJlYT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5ZCN56ewXHJcbiAgICogQGVuX1VTIE5hbWVcclxuICAgKi9cclxuICBsYWJlbD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5a695bqmXHJcbiAgICogQGVuX1VTIFdpZHRoXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbuuWumuWIl++8jOi3neemu+W3pui+ueeahOi3neemu1xyXG4gICAqIEBlbl9VUyBGaXhlZCBjb2x1bW4sIGRpc3RhbmNlIGZyb20gbGVmdFxyXG4gICAqL1xyXG4gIGxlZnQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbuuWumuWIl++8jOi3neemu+WPs+i+ueeahOi3neemu1xyXG4gICAqIEBlbl9VUyBGaXhlZCBjb2x1bW4sIGRpc3RhbmNlIGZyb20gcmlnaHRcclxuICAgKi9cclxuICByaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a+55bqU5YiX55qEIGlkXHJcbiAgICogQGVuX1VTIFRoZSBpZCBvZiB0aGUgY29ycmVzcG9uZGluZyBjb2x1bW5cclxuICAgKi9cclxuICBpZD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo5YiX5a69XHJcbiAgICogQGVuX1VTIERyYWcgdGhlIGNvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIGRyYWdXaWR0aD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+exu+Wei1xyXG4gKiBAZW5fVVMgQ29sdW1uIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhDb2x1bW5UeXBlID0gJ2xhYmVsJyB8ICdpbmRleCcgfCAnY2hlY2tib3gnIHwgJ2V4cGFuZCc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIl+WktOaYvuekuuS9jee9rlxyXG4gKiBAZW5fVVMgTGluZSBoZWFkIGRpc3BsYXkgcG9zaXRpb25cclxuICovXHJcbmV4cG9ydCB0eXBlIFhUYWJsZUhlYWRlclBvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJyB8ICd0b3AtYm90dG9tJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiG6aG15Zmo5L2N572uXHJcbiAqIEBlbl9VUyBQYWdpbmcgcG9zaXRpb25cclxuICovXHJcbmV4cG9ydCB0eXBlIFhQYWdpbmF0aW9uUG9zaXRpb24gPSAndG9wLWxlZnQnIHwgJ3RvcC1jZW50ZXInIHwgJ3RvcC1yaWdodCcgfCAnYm90dG9tLWxlZnQnIHwgJ2JvdHRvbS1jZW50ZXInIHwgJ2JvdHRvbS1yaWdodCc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaooeadv1xyXG4gKiBAZW5fVVMgVGVtcGxhdGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhUYWJsZVRlbXBsYXRlID0geyBbcHJvcGVydHk6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT4gfTtcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBIZWFkXHJcbiAqIEBzZWxlY3RvciB4LXRhYmxlLWhlYWRcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVIZWFkUHJlZml4ID0gJ3gtdGFibGUtaGVhZCc7XHJcblxyXG4vKipcclxuICogVGFibGUgSGVhZCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlSGVhZFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6ZuG5ZCIXHJcbiAgICogQGVuX1VTIENvbHVtbiBzZXRcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zOiBYVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqbvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVpZ2h0IGluIHB4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHJvd0hlaWdodDogWE51bWJlciA9IDQyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uVHBsOiBYVGFibGVUZW1wbGF0ZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnq5blkJHmu5rliqjmnaHlrr3luqZcclxuICAgKiBAZW5fVVMgVmVydGljYWwgc2Nyb2xsIGJhciB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbFlXaWR0aD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qiq5ZCR5rua5Yqo5p2h5a695bqmXHJcbiAgICogQGVuX1VTIEhvcml6b250YWwgc2Nyb2xsIGJhciB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbFhXaWR0aD86IG51bWJlciB8IG51bGw7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2VsbENvbmZpZz86IFhUYWJsZUNlbGxDb25maWdSdWxlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTkvY3nva5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogVGFibGUgQm9keVxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1ib2R5XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlQm9keVByZWZpeCA9ICd4LXRhYmxlLWJvZHknO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEJvZHkgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUJvZHlQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRhdGE6IFhUYWJsZVJvd1tdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtblRwbDogWFRhYmxlVGVtcGxhdGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGl2YXRlZFJvdz86IFhUYWJsZVJvdztcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pS55Y+YXHJcbiAgICogQGVuX1VTIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcm93IGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWN0aXZhdGVkUm93Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVGFibGVSb3c+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOW6pu+8jOWNleS9jSBweOOAguiuvue9ruS4uiAwIOihqOekuuihjOmrmOiHqumAguW6lOWGheWuuemrmOW6puOAglxyXG4gICAqIEBlbl9VUyBIZWlnaHQgaW4gcHguIHNldCB0byAwIG1lYW5zIHRoYXQgdGhlIHJvdyBoZWlnaHQgaXMgYWRhcHRpdmUgdG8gdGhlIGNvbnRlbnQgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHJvd0hlaWdodDogWE51bWJlciA9IDQyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFgeiuuOihjOeCueWHu+mAieS4rVxyXG4gICAqIEBlbl9VUyBBbGxvdyByb3cgY2xpY2sgdG8gc2VsZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBhbGxvd1NlbGVjdFJvdzogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgdmlydHVhbFNjcm9sbDogWEJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04gaXRlbVNpemXvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgaXRlbVNpemXvvIxjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgaXRlbVNpemU6IG51bWJlciA9IDQyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgRXhjZWVkIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1pbkJ1ZmZlclB4OiBudW1iZXIgPSAxMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBSZW5kZXIgdGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtYXhCdWZmZXJQeDogbnVtYmVyID0gMjAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rpgILlupTpq5jluqbvvIx0YWJsZSDpq5jluqbnrYnkuo7lsY/luZXpq5jluqblh4/mjonmraTlpITorr7nva7nmoTmlbDlgLxcclxuICAgKiBAZW5fVVMgQWRhcHRpdmUgaGVpZ2h0LCB0YWJsZSBoZWlnaHQgaXMgZXF1YWwgdG8gdGhlIHNjcmVlbiBoZWlnaHQgbWludXMgdGhlIHZhbHVlIHNldCBoZXJlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIERvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGJ5IHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgZG9jUGVyY2VudDogWE51bWJlciA9IDE7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa7muWKqOWMuuWfn+mrmOWuvVxyXG4gICAqIEBlbl9VUyBIZWlnaHQgYW5kIHdpZHRoIG9mIHJvbGxpbmcgYXJlYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbD86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572u6KeE5YiZXHJcbiAgICogQGVuX1VTIENlbGwgY29uZmlnIHJ1bGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2VsbENvbmZpZz86IFhUYWJsZUNlbGxDb25maWdSdWxlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmnaHku7bmoLflvI9cclxuICAgKiBAZW5fVVMgUm93IGNvbmRpdGlvbiBjbGFzc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJvd0NsYXNzPzogKHJvdzogWFRhYmxlUm93LCBpbmRleDogbnVtYmVyKSA9PiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85LiL55qE5bGC57qnXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCB1bmRlciB0aGUgdHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxldmVsOiBudW1iZXIgPSAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLzlsZXlvIDmiYDmnInoioLngrlcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgZXhwYW5kZWRBbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGV5byA5YaF5a65XHJcbiAgICogQGVuX1VTIEN1c3RvbWl6ZWQgZXhwYW5zaW9uIGNvbnRlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBleHBhbmRUcGw/OiBYVGVtcGxhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBGb290XHJcbiAqIEBzZWxlY3RvciB4LXRhYmxlLWZvb3RcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVGb290UHJlZml4ID0gJ3gtdGFibGUtZm9vdCc7XHJcblxyXG4vKipcclxuICogVGFibGUgRm9vdCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlRm9vdFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86aG15bC+XHJcbiAgICogQGVuX1VTIFRhYmxlIGZvb3RlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvb3Rlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJvd0hlaWdodCE6IG51bWJlcjtcclxufVxyXG4iXX0=