tnp-core 18.0.39 → 18.0.42

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.
Files changed (88) hide show
  1. package/README.md +20 -20
  2. package/assets/shared/shared_folder_info.txt +1 -1
  3. package/browser/README.md +24 -24
  4. package/browser/esm2022/lib/core-imports.mjs +4 -1
  5. package/browser/esm2022/lib/helpers-isomorphic.mjs +26 -30
  6. package/browser/esm2022/lib/helpers-messages.mjs +45 -16
  7. package/browser/esm2022/lib/helpers.mjs +22 -28
  8. package/browser/esm2022/lib/index.mjs +2 -2
  9. package/browser/esm2022/lib/required-global-npm-packages.mjs +79 -0
  10. package/browser/esm2022/lib/utils.mjs +308 -2
  11. package/browser/fesm2022/tnp-core.mjs +1884 -1551
  12. package/browser/fesm2022/tnp-core.mjs.map +1 -1
  13. package/browser/lib/helpers-isomorphic.d.ts +20 -0
  14. package/browser/lib/helpers-messages.d.ts +11 -0
  15. package/browser/lib/helpers.d.ts +16 -2
  16. package/browser/lib/index.d.ts +1 -1
  17. package/{websql/lib/required.d.ts → browser/lib/required-global-npm-packages.d.ts} +4 -0
  18. package/browser/lib/utils.d.ts +61 -8
  19. package/cli.backend.js +2 -2
  20. package/client/README.md +24 -24
  21. package/client/esm2022/lib/core-imports.mjs +4 -1
  22. package/client/esm2022/lib/helpers-isomorphic.mjs +26 -30
  23. package/client/esm2022/lib/helpers-messages.mjs +45 -16
  24. package/client/esm2022/lib/helpers.mjs +22 -28
  25. package/client/esm2022/lib/index.mjs +2 -2
  26. package/client/esm2022/lib/required-global-npm-packages.mjs +79 -0
  27. package/client/esm2022/lib/utils.mjs +308 -2
  28. package/client/fesm2022/tnp-core.mjs +1884 -1551
  29. package/client/fesm2022/tnp-core.mjs.map +1 -1
  30. package/client/lib/helpers-isomorphic.d.ts +20 -0
  31. package/client/lib/helpers-messages.d.ts +11 -0
  32. package/client/lib/helpers.d.ts +16 -2
  33. package/client/lib/index.d.ts +1 -1
  34. package/{browser/lib/required.d.ts → client/lib/required-global-npm-packages.d.ts} +4 -0
  35. package/client/lib/utils.d.ts +61 -8
  36. package/lib/core-cli.js +3 -3
  37. package/lib/core-cli.js.map +1 -1
  38. package/lib/core-imports.d.ts +5 -1
  39. package/lib/core-imports.js.map +1 -1
  40. package/lib/helpers-isomorphic.d.ts +20 -0
  41. package/lib/helpers-isomorphic.js +25 -35
  42. package/lib/helpers-isomorphic.js.map +1 -1
  43. package/lib/helpers-messages.d.ts +11 -0
  44. package/lib/helpers-messages.js +58 -16
  45. package/lib/helpers-messages.js.map +1 -1
  46. package/lib/helpers.d.ts +14 -0
  47. package/lib/helpers.js +33 -28
  48. package/lib/helpers.js.map +1 -1
  49. package/lib/index.d.ts +1 -1
  50. package/lib/index.js +1 -1
  51. package/lib/index.js.map +1 -1
  52. package/lib/node-chalk-mock.js +2 -2
  53. package/lib/node-path-mock.js +2 -2
  54. package/lib/{required.d.ts → required-global-npm-packages.d.ts} +6 -2
  55. package/lib/{required.js → required-global-npm-packages.js} +8 -1
  56. package/lib/required-global-npm-packages.js.map +1 -0
  57. package/lib/utils.d.ts +61 -8
  58. package/lib/utils.js +368 -3
  59. package/lib/utils.js.map +1 -1
  60. package/migrations/index.d.ts +1 -0
  61. package/migrations/index.js +6 -0
  62. package/migrations/index.js.map +1 -0
  63. package/migrations/migrations_index._auto-generated_.d.ts +0 -0
  64. package/migrations/migrations_index._auto-generated_.js +4 -0
  65. package/migrations/migrations_index._auto-generated_.js.map +1 -0
  66. package/package.json +3 -3
  67. package/taon.jsonc +65 -65
  68. package/tmp-environment.json +39 -31
  69. package/websql/README.md +24 -24
  70. package/websql/esm2022/lib/core-imports.mjs +4 -1
  71. package/websql/esm2022/lib/helpers-isomorphic.mjs +26 -29
  72. package/websql/esm2022/lib/helpers-messages.mjs +45 -16
  73. package/websql/esm2022/lib/helpers.mjs +22 -28
  74. package/websql/esm2022/lib/index.mjs +2 -2
  75. package/websql/esm2022/lib/required-global-npm-packages.mjs +79 -0
  76. package/websql/esm2022/lib/utils.mjs +307 -2
  77. package/websql/fesm2022/tnp-core.mjs +1885 -1552
  78. package/websql/fesm2022/tnp-core.mjs.map +1 -1
  79. package/websql/lib/helpers-isomorphic.d.ts +20 -0
  80. package/websql/lib/helpers-messages.d.ts +11 -0
  81. package/websql/lib/helpers.d.ts +16 -2
  82. package/websql/lib/index.d.ts +1 -1
  83. package/{client/lib/required.d.ts → websql/lib/required-global-npm-packages.d.ts} +4 -0
  84. package/websql/lib/utils.d.ts +61 -8
  85. package/browser/esm2022/lib/required.mjs +0 -72
  86. package/client/esm2022/lib/required.mjs +0 -72
  87. package/lib/required.js.map +0 -1
  88. package/websql/esm2022/lib/required.mjs +0 -72
package/README.md CHANGED
@@ -1,20 +1,20 @@
1
- # taon-core ( tnp-core )
2
-
3
- - Part of [taon.dev](https://github.com/darekf77/taon)
4
- - JavasScript/Typescript most essential helpers
5
- - Basic taon releated helpers
6
- - Purpose:
7
- + lightweight most essential helpers library
8
- + crossplatform helpers for NodeJs/Browser
9
-
10
-
11
- ## Usage
12
- - in taon isomorphic libs/apps or any NodeJS apps/libs:
13
- ```ts
14
- import { Helpers } from 'tnp-core';
15
- ```
16
-
17
- - in any frontend browser apps (except taon lib/apps)
18
- ```ts
19
- import { Helpers } from 'tnp-core/browser';
20
- ```
1
+ # taon-core ( tnp-core )
2
+
3
+ - Part of [taon.dev](https://github.com/darekf77/taon)
4
+ - JavasScript/Typescript most essential helpers
5
+ - Basic taon releated helpers
6
+ - Purpose:
7
+ + lightweight most essential helpers library
8
+ + crossplatform helpers for NodeJs/Browser
9
+
10
+
11
+ ## Usage
12
+ - in taon isomorphic libs/apps or any NodeJS apps/libs:
13
+ ```ts
14
+ import { Helpers } from 'tnp-core';
15
+ ```
16
+
17
+ - in any frontend browser apps (except taon lib/apps)
18
+ ```ts
19
+ import { Helpers } from 'tnp-core/browser';
20
+ ```
@@ -1,6 +1,6 @@
1
1
  THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
2
2
 
3
- Assets from this folder are being shipped with this npm package (tnp-core@18.0.39)
3
+ Assets from this folder are being shipped with this npm package (tnp-core@18.0.42)
4
4
  created from this project.
5
5
 
6
6
  THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
package/browser/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -141,6 +141,9 @@ export { _, q, moment, dateformat, crossPlatformPath, win32Path, path, chalk, js
141
141
  /* */
142
142
  /* */
143
143
  /* */
144
+ /* */
145
+ /* */
146
+ /* */
144
147
  ;
145
148
  ({}); // @--end-of-file-for-module=tnp-core lib/core-imports.ts
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1pbXBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9jb3JlLWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0FBQ3ZCLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUV6QyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUsvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBS2xDLElBQUksQ0FBYSxDQUFDO0FBRWxCLENBQUMsR0FBRyxNQUFNLENBQUM7QUFFWCxLQUFLO0FBQ0wsS0FBSztBQU1MLElBQUksSUFB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RyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQVlELE9BQU8scUJBQXFCLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBSUYsT0FBTyxFQUFJLENBQUMsRUFBSSxDQUFDLEVBQUksTUFBTSxFQUFJLFVBQVUsRUFBSSxpQkFBaUIsRUFBSSxTQUFTLEVBQUksSUFBSSxFQUFJLEtBQUssRUFBSSxLQUFLLEVBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxLQUFLO0FBQ25ILEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBSUosQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5sZXQgZm9yY2VUcmFjZSA9IGZhbHNlO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5pbXBvcnQgalF1ZXJ5IGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgeyBjaGFsayBhcyBjaGFsa01vY2sgfSBmcm9tICcuL25vZGUtY2hhbGstbW9jayc7XG5pbXBvcnQgeyBwYXRoIGFzIHBhdGhNb2NrIH0gZnJvbSAnLi9ub2RlLXBhdGgtbW9jayc7XG5cbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCAqIGFzIHEgZnJvbSAncSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCAqIGFzIGRhdGVmb3JtYXQgZnJvbSAnZGF0ZWZvcm1hdCc7XG5pbXBvcnQgeyBDaGFsayB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGpzb241IGZyb20gJ2pzb241JztcbmltcG9ydCB0eXBlIGpRdWVyeVR5cGUgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB0eXBlIGNoYWxrQmFzZVR5cGUgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHR5cGUgKiBhcyBwYXRoQmFzZVR5cGUgZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcblxuXG5cblxubGV0ICQ6IGpRdWVyeVR5cGU7XG5cbiQgPSBqUXVlcnk7XG5cbi8qICovXG4vKiAqL1xuICBcblxuXG5cblxubGV0IHBhdGggPSB2b2lkIDAgYXMgdHlwZW9mIHBhdGhCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG4vLyBAdHMtaWdub3JlXG5wYXRoID0gcGF0aE1vY2s7XG5cblxuXG5cblxubGV0IGNoYWxrOiBDaGFsayA9IHZvaWQgMCBhcyB0eXBlb2YgY2hhbGtCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG4vLyBAdHMtaWdub3JlXG5jaGFsayA9IGNoYWxrTW9jaztcblxuXG5cblxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuLyoqXG4gKiB0cmFuc2Zvcm0gdW5peCBwYXRoIHRvIHdpbjMyIHBhdGhcbiAqL1xuY29uc3Qgd2luMzJQYXRoID0gKHA6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgaWYgKC9eXFwvW2Etel1cXC8vLnRlc3QocCkpIHtcbiAgICBwID0gcC5yZXBsYWNlKC9eXFwvW2Etel1cXC8vLCBgJHtwLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfTovYCk7XG4gIH1cbiAgcmV0dXJuIHBhdGgud2luMzIubm9ybWFsaXplKHApO1xufTtcblxuXG5cbi8qKlxuICogVGhpcyBmdW5jaXRvbiB3aWxsIHJlcGxhY2UgLy8gdG8gL1xuICovXG5jb25zdCBjcm9zc1BsYXRmb3JtUGF0aCA9IChcbiAgcGF0aFN0cmluZ09yUGF0aFBhcnRzOiBzdHJpbmcgfCBzdHJpbmdbXSxcbik6IHN0cmluZyA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdGhTdHJpbmdPclBhdGhQYXJ0cykpIHtcbiAgICBwYXRoU3RyaW5nT3JQYXRoUGFydHMgPSBwYXRoU3RyaW5nT3JQYXRoUGFydHMuam9pbignLycpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwYXRoU3RyaW5nT3JQYXRoUGFydHMgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhdGhTdHJpbmdPclBhdGhQYXJ0cztcbiAgfVxuXG5cblxuICBpZiAoXG4gICAgdHlwZW9mIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyA9PT0gJ3N0cmluZycgJiZcbiAgICAvXltBLVpdXFw6Ly50ZXN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cylcbiAgKSB7XG4gICAgcGF0aFN0cmluZ09yUGF0aFBhcnRzID0gXy5sb3dlckZpcnN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIH1cblxuICBjb25zdCBpc0V4dGVuZGVkTGVuZ3RoUGF0aCA9IC9eXFxcXFxcXFxcXD9cXFxcLy50ZXN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIGNvbnN0IGhhc05vbkFzY2lpID0gL1teXFx1MDAwMC1cXHUwMDgwXSsvLnRlc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gIGlmIChpc0V4dGVuZGVkTGVuZ3RoUGF0aCkge1xuICAgIGNvbnNvbGUud2FybihgW3Rhb24tY29yZV1bY3Jvc3NQbGF0Zm9ybVBhdGhdOiBQYXRoIHN0YXJ0cyB3aXRoIFxcXFxcXFxcLFxuICAgIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBpbiBjcm9zc1BsYXRmb3JtUGF0aGApO1xuICAgIGlmIChmb3JjZVRyYWNlKSB7XG4gICAgICBjb25zb2xlLnRyYWNlKGBwYXRoOiBcIiR7cGF0aFN0cmluZ09yUGF0aFBhcnRzfVwiYCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGhhc05vbkFzY2lpKSB7XG4gICAgY29uc3QgYWxsTm9uQXNjaWkgPSBwYXRoU3RyaW5nT3JQYXRoUGFydHMubWF0Y2goL1teXFx1MDAwMC1cXHUwMDgwXSsvZykgfHwgJyc7XG4gICAgSGVscGVycy5sb2dXYXJuKFxuICAgICAgYFt0YW9uLWNvcmVdW2Nyb3NzUGxhdGZvcm1QYXRoXTogUGF0aCBjb250YWlucyBub24tYXNjaWkgY2hhcmFjdGVyczogJHthbGxOb25Bc2NpaX1gLFxuICAgICk7XG4gICAgSGVscGVycy5sb2dXYXJuKHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIH1cblxuICBwYXRoU3RyaW5nT3JQYXRoUGFydHMgPSAocGF0aFN0cmluZ09yUGF0aFBhcnRzIHx8ICcnKVxuICAgIC5yZXBsYWNlKC9cXFxcL2csICcvJylcbiAgICAucmVwbGFjZSgvXFwvXFwvL2csICcvJylcbiAgICAucmVwbGFjZSgvXFwvXFwvL2csICcvJyk7IC8vIFRPRE8gcHJvYmFibHkgbm90IG5lZWRlZFxuXG4gIGxldCBpc1dpbmRvd3MgPSBmYWxzZTtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gIGNvbnN0IHJlZ2V4V2luUGF0aDEgPSAvXihcXC8pW2EtekEtWl1cXDovO1xuXG5cbiAgaWYgKGlzV2luZG93cyAmJiByZWdleFdpblBhdGgxLnRlc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKSkge1xuICAgIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyA9IHBhdGhTdHJpbmdPclBhdGhQYXJ0cy5zbGljZSgxKTtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuXG5cbiAgcmV0dXJuIHBhdGhTdHJpbmdPclBhdGhQYXJ0cztcbn07XG5cblxuXG5leHBvcnQgeyAgIF8sICAgcSwgICBtb21lbnQsICAgZGF0ZWZvcm1hdCwgICBjcm9zc1BsYXRmb3JtUGF0aCwgICB3aW4zMlBhdGgsICAgcGF0aCwgICBjaGFsaywgICBqc29uNSwgICAkLCB9Oy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvY29yZS1pbXBvcnRzLnRzIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1pbXBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9jb3JlLWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0FBQ3ZCLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUV6QyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUsvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBS2xDLElBQUksQ0FBYSxDQUFDO0FBRWxCLENBQUMsR0FBRyxNQUFNLENBQUM7QUFFWCxLQUFLO0FBQ0wsS0FBSztBQU1MLElBQUksSUFB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RyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQVlELE9BQU8scUJBQXFCLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBSUYsT0FBTyxFQUFJLENBQUMsRUFBSSxDQUFDLEVBQUksTUFBTSxFQUFJLFVBQVUsRUFBSSxpQkFBaUIsRUFBSSxTQUFTLEVBQUksSUFBSSxFQUFJLEtBQUssRUFBSSxLQUFLLEVBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxLQUFLO0FBQ25ILEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBSUosQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5sZXQgZm9yY2VUcmFjZSA9IGZhbHNlO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5pbXBvcnQgalF1ZXJ5IGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgeyBjaGFsayBhcyBjaGFsa01vY2sgfSBmcm9tICcuL25vZGUtY2hhbGstbW9jayc7XG5pbXBvcnQgeyBwYXRoIGFzIHBhdGhNb2NrIH0gZnJvbSAnLi9ub2RlLXBhdGgtbW9jayc7XG5cbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCAqIGFzIHEgZnJvbSAncSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCAqIGFzIGRhdGVmb3JtYXQgZnJvbSAnZGF0ZWZvcm1hdCc7XG5pbXBvcnQgeyBDaGFsayB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIGpzb241IGZyb20gJ2pzb241JztcbmltcG9ydCB0eXBlIGpRdWVyeVR5cGUgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB0eXBlIGNoYWxrQmFzZVR5cGUgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHR5cGUgKiBhcyBwYXRoQmFzZVR5cGUgZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcblxuXG5cblxubGV0ICQ6IGpRdWVyeVR5cGU7XG5cbiQgPSBqUXVlcnk7XG5cbi8qICovXG4vKiAqL1xuICBcblxuXG5cblxubGV0IHBhdGggPSB2b2lkIDAgYXMgdHlwZW9mIHBhdGhCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG4vLyBAdHMtaWdub3JlXG5wYXRoID0gcGF0aE1vY2s7XG5cblxuXG5cblxubGV0IGNoYWxrOiBDaGFsayA9IHZvaWQgMCBhcyB0eXBlb2YgY2hhbGtCYXNlVHlwZTtcbi8qICovXG4vKiAqL1xuICBcblxuXG4vLyBAdHMtaWdub3JlXG5jaGFsayA9IGNoYWxrTW9jaztcblxuXG5cblxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuLyoqXG4gKiB0cmFuc2Zvcm0gdW5peCBwYXRoIHRvIHdpbjMyIHBhdGhcbiAqL1xuY29uc3Qgd2luMzJQYXRoID0gKHA6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgaWYgKC9eXFwvW2Etel1cXC8vLnRlc3QocCkpIHtcbiAgICBwID0gcC5yZXBsYWNlKC9eXFwvW2Etel1cXC8vLCBgJHtwLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfTovYCk7XG4gIH1cbiAgcmV0dXJuIHBhdGgud2luMzIubm9ybWFsaXplKHApO1xufTtcblxuXG5cbi8qKlxuICogVGhpcyBmdW5jaXRvbiB3aWxsIHJlcGxhY2UgLy8gdG8gL1xuICovXG5jb25zdCBjcm9zc1BsYXRmb3JtUGF0aCA9IChcbiAgcGF0aFN0cmluZ09yUGF0aFBhcnRzOiBzdHJpbmcgfCBzdHJpbmdbXSxcbik6IHN0cmluZyA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdGhTdHJpbmdPclBhdGhQYXJ0cykpIHtcbiAgICBwYXRoU3RyaW5nT3JQYXRoUGFydHMgPSBwYXRoU3RyaW5nT3JQYXRoUGFydHMuam9pbignLycpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwYXRoU3RyaW5nT3JQYXRoUGFydHMgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhdGhTdHJpbmdPclBhdGhQYXJ0cztcbiAgfVxuXG5cblxuICBpZiAoXG4gICAgdHlwZW9mIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyA9PT0gJ3N0cmluZycgJiZcbiAgICAvXltBLVpdXFw6Ly50ZXN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cylcbiAgKSB7XG4gICAgcGF0aFN0cmluZ09yUGF0aFBhcnRzID0gXy5sb3dlckZpcnN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIH1cblxuICBjb25zdCBpc0V4dGVuZGVkTGVuZ3RoUGF0aCA9IC9eXFxcXFxcXFxcXD9cXFxcLy50ZXN0KHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIGNvbnN0IGhhc05vbkFzY2lpID0gL1teXFx1MDAwMC1cXHUwMDgwXSsvLnRlc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gIGlmIChpc0V4dGVuZGVkTGVuZ3RoUGF0aCkge1xuICAgIGNvbnNvbGUud2FybihgW3Rhb24tY29yZV1bY3Jvc3NQbGF0Zm9ybVBhdGhdOiBQYXRoIHN0YXJ0cyB3aXRoIFxcXFxcXFxcLFxuICAgIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBpbiBjcm9zc1BsYXRmb3JtUGF0aGApO1xuICAgIGlmIChmb3JjZVRyYWNlKSB7XG4gICAgICBjb25zb2xlLnRyYWNlKGBwYXRoOiBcIiR7cGF0aFN0cmluZ09yUGF0aFBhcnRzfVwiYCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGhhc05vbkFzY2lpKSB7XG4gICAgY29uc3QgYWxsTm9uQXNjaWkgPSBwYXRoU3RyaW5nT3JQYXRoUGFydHMubWF0Y2goL1teXFx1MDAwMC1cXHUwMDgwXSsvZykgfHwgJyc7XG4gICAgSGVscGVycy5sb2dXYXJuKFxuICAgICAgYFt0YW9uLWNvcmVdW2Nyb3NzUGxhdGZvcm1QYXRoXTogUGF0aCBjb250YWlucyBub24tYXNjaWkgY2hhcmFjdGVyczogJHthbGxOb25Bc2NpaX1gLFxuICAgICk7XG4gICAgSGVscGVycy5sb2dXYXJuKHBhdGhTdHJpbmdPclBhdGhQYXJ0cyk7XG4gIH1cblxuICBwYXRoU3RyaW5nT3JQYXRoUGFydHMgPSAocGF0aFN0cmluZ09yUGF0aFBhcnRzIHx8ICcnKVxuICAgIC5yZXBsYWNlKC9cXFxcL2csICcvJylcbiAgICAucmVwbGFjZSgvXFwvXFwvL2csICcvJylcbiAgICAucmVwbGFjZSgvXFwvXFwvL2csICcvJyk7IC8vIFRPRE8gcHJvYmFibHkgbm90IG5lZWRlZFxuXG4gIGxldCBpc1dpbmRvd3MgPSBmYWxzZTtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gIGNvbnN0IHJlZ2V4V2luUGF0aDEgPSAvXihcXC8pW2EtekEtWl1cXDovO1xuXG5cbiAgaWYgKGlzV2luZG93cyAmJiByZWdleFdpblBhdGgxLnRlc3QocGF0aFN0cmluZ09yUGF0aFBhcnRzKSkge1xuICAgIHBhdGhTdHJpbmdPclBhdGhQYXJ0cyA9IHBhdGhTdHJpbmdPclBhdGhQYXJ0cy5zbGljZSgxKTtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuXG5cbiAgcmV0dXJuIHBhdGhTdHJpbmdPclBhdGhQYXJ0cztcbn07XG5cblxuXG5leHBvcnQgeyAgIF8sICAgcSwgICBtb21lbnQsICAgZGF0ZWZvcm1hdCwgICBjcm9zc1BsYXRmb3JtUGF0aCwgICB3aW4zMlBhdGgsICAgcGF0aCwgICBjaGFsaywgICBqc29uNSwgICAkLCB9Oy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvY29yZS1pbXBvcnRzLnRzIl19
@@ -1,41 +1,37 @@
1
+ import { UtilsOs } from './utils';
1
2
  export class HelpersIsomorphic {
3
+ /**
4
+ * @deprecated
5
+ * use UtilsOs.isRunningInBrowser() instead
6
+ */
2
7
  get isBrowser() {
3
- /* */
4
- /* */
5
- return true;
8
+ return UtilsOs.isRunningInBrowser();
6
9
  }
10
+ /**
11
+ * @deprecated
12
+ * use UtilsOs.isRunningInWebSQL() instead
13
+ */
7
14
  get isWebSQL() {
8
- /* */
9
- /* */
10
- /* */
11
- /* */
12
- return false;
15
+ return UtilsOs.isRunningInWebSQL();
13
16
  }
17
+ /**
18
+ * @deprecated
19
+ * use UtilsOs.isRunningInNode() instead
20
+ */
14
21
  get isNode() {
15
- /* */
16
- /* */
17
- return false;
22
+ return UtilsOs.isRunningInNode();
18
23
  }
24
+ /**
25
+ * @deprecated
26
+ * use UtilsOs.isRunningInElectron() instead
27
+ */
19
28
  get isElectron() {
20
- // @ts-ignore
21
- if (typeof window !== 'undefined' &&
22
- typeof window.process === 'object' &&
23
- window.process.type === 'renderer') {
24
- return true;
25
- }
26
- // @ts-ignore
27
- if (typeof process !== 'undefined' &&
28
- typeof process.versions === 'object' &&
29
- !!process.versions.electron) {
30
- return true;
31
- }
32
- if (typeof navigator === 'object' &&
33
- typeof navigator.userAgent === 'string' &&
34
- navigator.userAgent.indexOf('Electron') >= 0) {
35
- return true;
36
- }
37
- return false;
29
+ return UtilsOs.isRunningInElectron();
38
30
  }
31
+ /**
32
+ * TODO what is the purpose of this function?
33
+ * @deprecated
34
+ */
39
35
  contain(arr, item) {
40
36
  return (arr.filter(l => {
41
37
  if (l instanceof RegExp) {
@@ -53,4 +49,4 @@ export class HelpersIsomorphic {
53
49
  }
54
50
  ;
55
51
  ({}); // @--end-of-file-for-module=tnp-core lib/helpers-isomorphic.ts
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1pc29tb3JwaGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9oZWxwZXJzLWlzb21vcnBoaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixJQUFJLFNBQVM7UUFDZixLQUFLO1FBQ0wsS0FBSztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNkLEtBQUs7UUFDTCxLQUFLO1FBR0wsS0FBSztRQUNMLEtBQUs7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDWixLQUFLO1FBQ0wsS0FBSztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVTtRQUVaLGFBQWE7UUFDYixJQUNFLE9BQU8sTUFBTSxLQUFLLFdBQVc7WUFDN0IsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVE7WUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUNsQyxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBR0QsYUFBYTtRQUNiLElBQ0UsT0FBTyxPQUFPLEtBQUssV0FBVztZQUM5QixPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUTtZQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQzNCLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFHRCxJQUNFLE9BQU8sU0FBUyxLQUFLLFFBQVE7WUFDN0IsT0FBTyxTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVE7WUFDdkMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUM1QyxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVUsRUFBRSxJQUFTO1FBQzNCLE9BQU8sQ0FDTCxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsSUFDRSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFDdEUsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ2QsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0RBQStEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzSXNvbW9ycGhpYyB7XG4gIGdldCBpc0Jyb3dzZXIoKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgaXNXZWJTUUwoKSB7XG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZ2V0IGlzTm9kZSgpIHtcbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgaXNFbGVjdHJvbigpIHtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoXG4gICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgdHlwZW9mIHdpbmRvdy5wcm9jZXNzID09PSAnb2JqZWN0JyAmJlxuICAgICAgd2luZG93LnByb2Nlc3MudHlwZSA9PT0gJ3JlbmRlcmVyJ1xuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKFxuICAgICAgdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICB0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICEhcHJvY2Vzcy52ZXJzaW9ucy5lbGVjdHJvblxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgbmF2aWdhdG9yID09PSAnb2JqZWN0JyAmJlxuICAgICAgdHlwZW9mIG5hdmlnYXRvci51c2VyQWdlbnQgPT09ICdzdHJpbmcnICYmXG4gICAgICBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0VsZWN0cm9uJykgPj0gMFxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29udGFpbihhcnI6IGFueVtdLCBpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJyLmZpbHRlcihsID0+IHtcbiAgICAgICAgaWYgKGwgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgICByZXR1cm4gbC50ZXN0KGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsID09PSBpdGVtKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGl0ZW0ubWF0Y2ggJiYgdHlwZW9mIGl0ZW0ubWF0Y2ggPT09ICdmdW5jdGlvbicgPyBpdGVtLm1hdGNoKGwpIDogZmFsc2VcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSkubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1jb3JlIGxpYi9oZWxwZXJzLWlzb21vcnBoaWMudHMiXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1pc29tb3JwaGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9oZWxwZXJzLWlzb21vcnBoaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsQyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7T0FHRztJQUNILElBQUksU0FBUztRQUNYLE9BQU8sT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksUUFBUTtRQUNWLE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsR0FBVSxFQUFFLElBQVM7UUFDM0IsT0FBTyxDQUNMLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsWUFBWSxNQUFNLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDZixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxJQUNFLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUN0RSxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDZCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrREFBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgVXRpbHNPcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgSGVscGVyc0lzb21vcnBoaWMge1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogdXNlIFV0aWxzT3MuaXNSdW5uaW5nSW5Ccm93c2VyKCkgaW5zdGVhZFxuICAgKi9cbiAgZ2V0IGlzQnJvd3NlcigpIHtcbiAgICByZXR1cm4gVXRpbHNPcy5pc1J1bm5pbmdJbkJyb3dzZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgVXRpbHNPcy5pc1J1bm5pbmdJbldlYlNRTCgpIGluc3RlYWRcbiAgICovXG4gIGdldCBpc1dlYlNRTCgpIHtcbiAgICByZXR1cm4gVXRpbHNPcy5pc1J1bm5pbmdJbldlYlNRTCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIHVzZSBVdGlsc09zLmlzUnVubmluZ0luTm9kZSgpIGluc3RlYWRcbiAgICovXG4gIGdldCBpc05vZGUoKSB7XG4gICAgcmV0dXJuIFV0aWxzT3MuaXNSdW5uaW5nSW5Ob2RlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogdXNlIFV0aWxzT3MuaXNSdW5uaW5nSW5FbGVjdHJvbigpIGluc3RlYWRcbiAgICovXG4gIGdldCBpc0VsZWN0cm9uKCkge1xuICAgIHJldHVybiBVdGlsc09zLmlzUnVubmluZ0luRWxlY3Ryb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIHdoYXQgaXMgdGhlIHB1cnBvc2Ugb2YgdGhpcyBmdW5jdGlvbj9cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGNvbnRhaW4oYXJyOiBhbnlbXSwgaXRlbTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFyci5maWx0ZXIobCA9PiB7XG4gICAgICAgIGlmIChsIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgICAgcmV0dXJuIGwudGVzdChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobCA9PT0gaXRlbSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpdGVtLm1hdGNoICYmIHR5cGVvZiBpdGVtLm1hdGNoID09PSAnZnVuY3Rpb24nID8gaXRlbS5tYXRjaChsKSA6IGZhbHNlXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvaGVscGVycy1pc29tb3JwaGljLnRzIl19
@@ -52,6 +52,22 @@ const KEY_IMPORTANTCE = {
52
52
  /* */
53
53
  /* */
54
54
  const LIMIT = 10;
55
+ /**
56
+ * @param details any data to be transformed
57
+ * @returns string ready to be displayed
58
+ */
59
+ const transformData = (details) => {
60
+ if (typeof details === 'object') {
61
+ try {
62
+ const json = JSON.stringify(details, null, 2);
63
+ details = json;
64
+ }
65
+ catch (error) {
66
+ return details;
67
+ }
68
+ }
69
+ return details;
70
+ };
55
71
  export class HelpersMessages extends HelpersIsomorphic {
56
72
  msgCacheClear() {
57
73
  /* */
@@ -76,6 +92,26 @@ export class HelpersMessages extends HelpersIsomorphic {
76
92
  /* */
77
93
  }
78
94
  }
95
+ /**
96
+ * Throw error and exit process
97
+ * make sure browser or nodejs will not continue
98
+ * @param details
99
+ */
100
+ throw(details) {
101
+ if (this.isBrowser) {
102
+ document.body.innerHTML =
103
+ '<h1>Application has encountered an error and stopped.</h1>';
104
+ document.body.style.pointerEvents = 'none';
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ }
110
+ throw new Error(details);
111
+ }
112
+ tryCatchError(error) {
113
+ Helpers.error(error, true, true);
114
+ }
79
115
  error(details, noExit = false, noTrace = false) {
80
116
  if (Helpers.isBrowser) {
81
117
  console.error(details);
@@ -338,6 +374,14 @@ export class HelpersMessages extends HelpersIsomorphic {
338
374
  /* */
339
375
  /* */
340
376
  }
377
+ get isVerboseMode() {
378
+ return true; // TODO what it means in browser
379
+ /* */
380
+ /* */
381
+ }
382
+ /**
383
+ * log messages only available in verbose mode
384
+ */
341
385
  log(details, debugLevel = 0) {
342
386
  if (Helpers.isBrowser) {
343
387
  console.log(details);
@@ -497,21 +541,6 @@ export class HelpersMessages extends HelpersIsomorphic {
497
541
  /* */
498
542
  }
499
543
  }
500
- function transformData(details) {
501
- if (typeof details === 'object') {
502
- if (Array.isArray(details)) {
503
- return details.join('\n');
504
- }
505
- try {
506
- const json = JSON.stringify(details);
507
- details = json;
508
- }
509
- catch (error) {
510
- return details;
511
- }
512
- }
513
- return details;
514
- }
515
544
  ;
516
545
  ({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts
517
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvaGVscGVycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFLTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTXpELE1BQU0sR0FBRyxHQUFHO0lBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFO0lBQ3RCLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtJQUMzQixjQUFjLEVBQUUsTUFBTSxFQUFFO0NBQ3pCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ3BCLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQUU7SUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQzNCLGNBQWMsRUFBRSxNQUFNLEVBQUU7Q0FDekIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxNQUFNLEVBQUU7SUFDcEIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFFBQVEsRUFBRSxNQUFNLEVBQUU7SUFDbEIsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUN0QixpQkFBaUIsRUFBRSxNQUFNLEVBQUU7SUFDM0IsY0FBYyxFQUFFLE1BQU0sRUFBRTtDQUN6QixDQUFDO0FBRUYsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBRWpCLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQUNwRCxhQUFhO1FBQ2YsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNaLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztRQUVELENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLE9BQU8sR0FBRyxLQUFLO1FBRWpELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFHTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxJQUFJLENBQUMsT0FBZSxFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUlELE9BQU8sQ0FBQyxPQUFxQjtRQUMzQixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFHRDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxPQUFxQixFQUFFLFlBQXFCLEtBQUs7UUFDM0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUdELFFBQVEsQ0FBQyxPQUFzQixFQUFFLGVBQWUsR0FBRyxLQUFLO1FBQ3RELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNM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S0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7Q0FFRjtBQUVELFNBQVMsYUFBYSxDQUFDLE9BQVk7SUFDakMsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNkRBQTZEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBfIH0gZnJvbSAnLi9jb3JlLWltcG9ydHMnO1xuXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEhlbHBlcnNJc29tb3JwaGljIH0gZnJvbSAnLi9oZWxwZXJzLWlzb21vcnBoaWMnO1xuaW1wb3J0IHsgUFJPR1JFU1NfREFUQSB9IGZyb20gJy4vcHJvZ3Jlc3MtZGF0YSc7XG5pbXBvcnQgeyBmcmFtZXdvcmtOYW1lIH0gZnJvbSAnLi9mcmFtZXdvcmstbmFtZSc7XG5cblxuXG5jb25zdCBLRVkgPSB7XG4gIExBU1RfRVJST1I6IFN5bWJvbCgpLFxuICBMQVNUX0lORk86IFN5bWJvbCgpLFxuICBMQVNUX1dBUk46IFN5bWJvbCgpLFxuICBMQVNUX0xPRzogU3ltYm9sKCksXG4gIExBU1RfU1VDQ0VTUzogU3ltYm9sKCksXG4gIExBU1RfVEFTS19TVEFSVEVEOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX0RPTkU6IFN5bWJvbCgpLFxufTtcblxuY29uc3QgS0VZX0NPVU5UID0ge1xuICBMQVNUX0VSUk9SOiBTeW1ib2woKSxcbiAgTEFTVF9JTkZPOiBTeW1ib2woKSxcbiAgTEFTVF9XQVJOOiBTeW1ib2woKSxcbiAgTEFTVF9MT0c6IFN5bWJvbCgpLFxuICBMQVNUX1NVQ0NFU1M6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfU1RBUlRFRDogU3ltYm9sKCksXG4gIExBU1RfVEFTS19ET05FOiBTeW1ib2woKSxcbn07XG5cbmNvbnN0IEtFWV9JTVBPUlRBTlRDRSA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbiAgTEFTVF9TVUNDRVNTOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX1NUQVJURUQ6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfRE9ORTogU3ltYm9sKCksXG59O1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5jb25zdCBMSU1JVCA9IDEwO1xuXG5leHBvcnQgY2xhc3MgSGVscGVyc01lc3NhZ2VzIGV4dGVuZHMgSGVscGVyc0lzb21vcnBoaWMge1xuICBtc2dDYWNoZUNsZWFyKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgcmVuZGVyRXJyb3IoZXJyOiBFcnJvcikge1xuICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSBlbHNlIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgfVxuICB9XG5cbiAgZXJyb3IoZGV0YWlsczogYW55LCBub0V4aXQgPSBmYWxzZSwgbm9UcmFjZSA9IGZhbHNlKSB7XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBpbmZvKGRldGFpbHM6IHN0cmluZywgcmVwZWF0YWJsZSA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIHN1Y2Nlc3MoZGV0YWlsczogYW55IHwgc3RyaW5nKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmluZm8oZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZGV0YWlsc1xuICAgKiBAcGFyYW0gaXNMb2dUYXNrIGlzIGxlc3MgaW1wb3J0YW50IGxvZyB0YXNrXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICB0YXNrU3RhcnRlZChkZXRhaWxzOiBhbnkgfCBzdHJpbmcsIGlzTG9nVGFzazogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmluZm8oZGV0YWlscyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuICB0YXNrRG9uZShkZXRhaWxzPzogYW55IHwgc3RyaW5nLCBpc0xlc3NJbXBvcnRhbnQgPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGxvZyhkZXRhaWxzOiBhbnksIGRlYnVnTGV2ZWwgPSAwKSB7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmxvZyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG4gIC8qKlxuICAgKiBMb2dzIG5vdCB2aXNpYmxlIGluIG5vcm1hbCB1c2Ugb2YgdGFvbi1jbGlcbiAgICovXG4gIGxvZ1N1Y2Nlc3MoZGV0YWlsczogYW55IHwgc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dJbmZvKGRldGFpbHM6IHN0cmluZywgcmVwZWF0YWJsZSA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dFcnJvcihkZXRhaWxzOiBhbnksIG5vRXhpdCA9IGZhbHNlLCBub1RyYWNlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExvZ3Mgbm90IHZpc2libGUgaW4gbm9ybWFsIHVzZSBvZiB0YW9uLWNsaVxuICAgKi9cbiAgbG9nV2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgd2FybihkZXRhaWxzOiBzdHJpbmcsIHRyYWNlID0gZmFsc2UpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUud2FybihkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRGF0YShkZXRhaWxzOiBhbnkpIHtcbiAgaWYgKHR5cGVvZiBkZXRhaWxzID09PSAnb2JqZWN0Jykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRldGFpbHMpKSB7XG4gICAgICByZXR1cm4gZGV0YWlscy5qb2luKCdcXG4nKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShkZXRhaWxzKTtcbiAgICAgIGRldGFpbHMgPSBqc29uO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gZGV0YWlscztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRldGFpbHM7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvaGVscGVycy1tZXNzYWdlcy50cyJdfQ==
546
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvaGVscGVycy1tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFLTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTXpELE1BQU0sR0FBRyxHQUFHO0lBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUNwQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFO0lBQ3RCLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtJQUMzQixjQUFjLEVBQUUsTUFBTSxFQUFFO0NBQ3pCLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ3BCLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQUU7SUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQzNCLGNBQWMsRUFBRSxNQUFNLEVBQUU7Q0FDekIsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxNQUFNLEVBQUU7SUFDcEIsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNuQixTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25CLFFBQVEsRUFBRSxNQUFNLEVBQUU7SUFDbEIsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUN0QixpQkFBaUIsRUFBRSxNQUFNLEVB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QUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUlELElBQUksQ0FBQyxPQUFlLEVBQUUsVUFBVSxHQUFHLEtBQUs7UUFDMUMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBSUQsT0FBTyxDQUFDLE9BQXFCO1FBQzNCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUdEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLE9BQXFCLEVBQUUsWUFBcUIsS0FBSztRQUMzRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBR0QsUUFBUSxDQUFDLE9BQXNCLEVBQUUsZUFBZSxHQUFHLEtBQUs7UUFDdEQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBR0QsSUFBSSxhQUFhO1FBRWYsT0FBTyxJQUFJLENBQUMsQ0FBQyxnQ0FBZ0M7UUFFakQsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBR0Q7O09BRUc7SUFDSCxHQUFHLENBQUMsT0FBWSxFQUFFLFVBQVUsR0FBRyxDQUFDO1FBQzlCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFHRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxPQUFxQjtRQUNsQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBVSxHQUFHLEtBQUs7UUFDN0MsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsT0FBWSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDeEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBR0Q7O09BRUc7SUFDSCxPQUFPLENBQUMsT0FBZSxFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3hDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUdELElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDakMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZEQUE2RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgXyB9IGZyb20gJy4vY29yZS1pbXBvcnRzJztcblxuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBIZWxwZXJzSXNvbW9ycGhpYyB9IGZyb20gJy4vaGVscGVycy1pc29tb3JwaGljJztcbmltcG9ydCB7IFBST0dSRVNTX0RBVEEgfSBmcm9tICcuL3Byb2dyZXNzLWRhdGEnO1xuaW1wb3J0IHsgZnJhbWV3b3JrTmFtZSB9IGZyb20gJy4vZnJhbWV3b3JrLW5hbWUnO1xuXG5cblxuY29uc3QgS0VZID0ge1xuICBMQVNUX0VSUk9SOiBTeW1ib2woKSxcbiAgTEFTVF9JTkZPOiBTeW1ib2woKSxcbiAgTEFTVF9XQVJOOiBTeW1ib2woKSxcbiAgTEFTVF9MT0c6IFN5bWJvbCgpLFxuICBMQVNUX1NVQ0NFU1M6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfU1RBUlRFRDogU3ltYm9sKCksXG4gIExBU1RfVEFTS19ET05FOiBTeW1ib2woKSxcbn07XG5cbmNvbnN0IEtFWV9DT1VOVCA9IHtcbiAgTEFTVF9FUlJPUjogU3ltYm9sKCksXG4gIExBU1RfSU5GTzogU3ltYm9sKCksXG4gIExBU1RfV0FSTjogU3ltYm9sKCksXG4gIExBU1RfTE9HOiBTeW1ib2woKSxcbiAgTEFTVF9TVUNDRVNTOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX1NUQVJURUQ6IFN5bWJvbCgpLFxuICBMQVNUX1RBU0tfRE9ORTogU3ltYm9sKCksXG59O1xuXG5jb25zdCBLRVlfSU1QT1JUQU5UQ0UgPSB7XG4gIExBU1RfRVJST1I6IFN5bWJvbCgpLFxuICBMQVNUX0lORk86IFN5bWJvbCgpLFxuICBMQVNUX1dBUk46IFN5bWJvbCgpLFxuICBMQVNUX0xPRzogU3ltYm9sKCksXG4gIExBU1RfU1VDQ0VTUzogU3ltYm9sKCksXG4gIExBU1RfVEFTS19TVEFSVEVEOiBTeW1ib2woKSxcbiAgTEFTVF9UQVNLX0RPTkU6IFN5bWJvbCgpLFxufTtcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuY29uc3QgTElNSVQgPSAxMDtcblxuXG4vKipcbiAqIEBwYXJhbSBkZXRhaWxzIGFueSBkYXRhIHRvIGJlIHRyYW5zZm9ybWVkXG4gKiBAcmV0dXJucyBzdHJpbmcgcmVhZHkgdG8gYmUgZGlzcGxheWVkXG4gKi9cbmNvbnN0IHRyYW5zZm9ybURhdGEgPSAoZGV0YWlsczogYW55KTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiBkZXRhaWxzID09PSAnb2JqZWN0Jykge1xuXG5cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkoZGV0YWlscywgbnVsbCwgMik7XG4gICAgICBkZXRhaWxzID0ganNvbjtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgfVxuICB9XG4gIHJldHVybiBkZXRhaWxzO1xufTtcblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc01lc3NhZ2VzIGV4dGVuZHMgSGVscGVyc0lzb21vcnBoaWMge1xuICBtc2dDYWNoZUNsZWFyKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgcmVuZGVyRXJyb3IoZXJyOiBFcnJvcikge1xuICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfSBlbHNlIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRocm93IGVycm9yIGFuZCBleGl0IHByb2Nlc3NcbiAgICogbWFrZSBzdXJlIGJyb3dzZXIgb3Igbm9kZWpzIHdpbGwgbm90IGNvbnRpbnVlXG4gICAqIEBwYXJhbSBkZXRhaWxzXG4gICAqL1xuICB0aHJvdyhkZXRhaWxzOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcblxuICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPVxuICAgICAgICAnPGgxPkFwcGxpY2F0aW9uIGhhcyBlbmNvdW50ZXJlZCBhbiBlcnJvciBhbmQgc3RvcHBlZC48L2gxPic7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoZGV0YWlscyk7XG4gIH1cblxuICB0cnlDYXRjaEVycm9yKGVycm9yOiBhbnkpIHtcbiAgICBIZWxwZXJzLmVycm9yKGVycm9yLCB0cnVlLCB0cnVlKTtcbiAgfVxuXG4gIGVycm9yKGRldGFpbHM6IGFueSwgbm9FeGl0ID0gZmFsc2UsIG5vVHJhY2UgPSBmYWxzZSkge1xuXG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgaW5mbyhkZXRhaWxzOiBzdHJpbmcsIHJlcGVhdGFibGUgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBzdWNjZXNzKGRldGFpbHM6IGFueSB8IHN0cmluZykge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGRldGFpbHNcbiAgICogQHBhcmFtIGlzTG9nVGFzayBpcyBsZXNzIGltcG9ydGFudCBsb2cgdGFza1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgdGFza1N0YXJ0ZWQoZGV0YWlsczogYW55IHwgc3RyaW5nLCBpc0xvZ1Rhc2s6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS5pbmZvKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgdGFza0RvbmUoZGV0YWlscz86IGFueSB8IHN0cmluZywgaXNMZXNzSW1wb3J0YW50ID0gZmFsc2UpIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhkZXRhaWxzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgZ2V0IGlzVmVyYm9zZU1vZGUoKSB7XG5cbiAgICByZXR1cm4gdHJ1ZTsgLy8gVE9ETyB3aGF0IGl0IG1lYW5zIGluIGJyb3dzZXJcblxuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuICAvKipcbiAgICogbG9nIG1lc3NhZ2VzIG9ubHkgYXZhaWxhYmxlIGluIHZlcmJvc2UgbW9kZVxuICAgKi9cbiAgbG9nKGRldGFpbHM6IGFueSwgZGVidWdMZXZlbCA9IDApIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIGNvbnNvbGUubG9nKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExvZ3Mgbm90IHZpc2libGUgaW4gbm9ybWFsIHVzZSBvZiB0YW9uLWNsaVxuICAgKi9cbiAgbG9nU3VjY2VzcyhkZXRhaWxzOiBhbnkgfCBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIG5vdCB2aXNpYmxlIGluIG5vcm1hbCB1c2Ugb2YgdGFvbi1jbGlcbiAgICovXG4gIGxvZ0luZm8oZGV0YWlsczogc3RyaW5nLCByZXBlYXRhYmxlID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIG5vdCB2aXNpYmxlIGluIG5vcm1hbCB1c2Ugb2YgdGFvbi1jbGlcbiAgICovXG4gIGxvZ0Vycm9yKGRldGFpbHM6IGFueSwgbm9FeGl0ID0gZmFsc2UsIG5vVHJhY2UgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICAvKipcbiAgICogTG9ncyBub3QgdmlzaWJsZSBpbiBub3JtYWwgdXNlIG9mIHRhb24tY2xpXG4gICAqL1xuICBsb2dXYXJuKGRldGFpbHM6IHN0cmluZywgdHJhY2UgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICB3YXJuKGRldGFpbHM6IHN0cmluZywgdHJhY2UgPSBmYWxzZSkge1xuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgY29uc29sZS53YXJuKGRldGFpbHMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL2hlbHBlcnMtbWVzc2FnZXMudHMiXX0=