@osovitny/anatoly 3.17.160 → 3.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/fesm2022/osovitny-anatoly.mjs +553 -522
  2. package/fesm2022/osovitny-anatoly.mjs.map +1 -1
  3. package/lib/billing/utils.d.ts +2 -1
  4. package/lib/core/converts/convert.d.ts +1 -1
  5. package/lib/core/guid.d.ts +1 -1
  6. package/lib/core/is.d.ts +5 -5
  7. package/lib/ui/components/base/components/component.d.ts +1 -1
  8. package/lib/ui/components/base/components/edit.component.d.ts +1 -1
  9. package/lib/ui/components/base/components/enum-edit.component.d.ts +1 -1
  10. package/lib/ui/components/data-grid/control-panel.component.d.ts +6 -5
  11. package/lib/ui/components/dropdownlists/country/country.dropdownlist.d.ts +1 -3
  12. package/lib/ui/directives/index.d.ts +1 -1
  13. package/lib/ui/directives/replacer/replacer.base.directive.d.ts +1 -1
  14. package/package.json +58 -60
  15. package/esm2022/lib/anatoly.module.mjs +0 -62
  16. package/esm2022/lib/billing/billing.module.mjs +0 -81
  17. package/esm2022/lib/billing/components/buttons/buyaccess-button.component.mjs +0 -104
  18. package/esm2022/lib/billing/components/buttons/subscribe-plan-button.component.mjs +0 -113
  19. package/esm2022/lib/billing/components/exports.mjs +0 -28
  20. package/esm2022/lib/billing/components/index.mjs +0 -31
  21. package/esm2022/lib/billing/components/order-summary/order-summary.component.mjs +0 -154
  22. package/esm2022/lib/billing/components/payment-methods/payment-methods.component.mjs +0 -106
  23. package/esm2022/lib/billing/components/payment-options/payment-options.component.mjs +0 -97
  24. package/esm2022/lib/billing/components/pm/braintree/braintree.component.mjs +0 -155
  25. package/esm2022/lib/billing/components/pm/paypal/paypal-button.component.mjs +0 -159
  26. package/esm2022/lib/billing/components/pm/paypal/paypal-subscribe-button.component.mjs +0 -149
  27. package/esm2022/lib/billing/components/pm/paypal/paypal.component.mjs +0 -317
  28. package/esm2022/lib/billing/components/pm/stripe/stripe.component.mjs +0 -109
  29. package/esm2022/lib/billing/exports.mjs +0 -19
  30. package/esm2022/lib/billing/models/paypal-models.mjs +0 -16
  31. package/esm2022/lib/billing/services/payments.service.mjs +0 -170
  32. package/esm2022/lib/billing/services/paypal-script.service.mjs +0 -90
  33. package/esm2022/lib/billing/utils.mjs +0 -28
  34. package/esm2022/lib/core/browser.mjs +0 -24
  35. package/esm2022/lib/core/consts/app-settings.mjs +0 -55
  36. package/esm2022/lib/core/consts/core-settings.mjs +0 -29
  37. package/esm2022/lib/core/consts/formats.mjs +0 -27
  38. package/esm2022/lib/core/consts/ga.mjs +0 -26
  39. package/esm2022/lib/core/consts/storageKeys.mjs +0 -23
  40. package/esm2022/lib/core/converts/convert.mjs +0 -103
  41. package/esm2022/lib/core/converts/dateConvert.mjs +0 -60
  42. package/esm2022/lib/core/converts/tz/tzParseTimezone.mjs +0 -122
  43. package/esm2022/lib/core/converts/tz/tzTokenizeDate.mjs +0 -101
  44. package/esm2022/lib/core/converts/xmlFormatter.mjs +0 -34
  45. package/esm2022/lib/core/core.module.mjs +0 -112
  46. package/esm2022/lib/core/dom.mjs +0 -153
  47. package/esm2022/lib/core/enums/billing.mjs +0 -56
  48. package/esm2022/lib/core/enums/enums.mjs +0 -35
  49. package/esm2022/lib/core/enums/index.mjs +0 -17
  50. package/esm2022/lib/core/exports.mjs +0 -67
  51. package/esm2022/lib/core/go/apps-go.service.mjs +0 -88
  52. package/esm2022/lib/core/go/go.service.mjs +0 -86
  53. package/esm2022/lib/core/guards/once-import.guard.mjs +0 -21
  54. package/esm2022/lib/core/guards/starter.guard.mjs +0 -46
  55. package/esm2022/lib/core/guid.mjs +0 -22
  56. package/esm2022/lib/core/interceptors/httpInterceptor.mjs +0 -161
  57. package/esm2022/lib/core/is.mjs +0 -98
  58. package/esm2022/lib/core/localization/localization.module.mjs +0 -45
  59. package/esm2022/lib/core/localization/localization.service.mjs +0 -164
  60. package/esm2022/lib/core/localization/localize.pipe.mjs +0 -83
  61. package/esm2022/lib/core/localization/settings.module.mjs +0 -103
  62. package/esm2022/lib/core/localization/utils.mjs +0 -41
  63. package/esm2022/lib/core/logging/globalErrorHandler.mjs +0 -41
  64. package/esm2022/lib/core/logging/logging.service.mjs +0 -40
  65. package/esm2022/lib/core/models/qs.mjs +0 -17
  66. package/esm2022/lib/core/notifications/alerts.mjs +0 -116
  67. package/esm2022/lib/core/notifications/interfaces/notification.mjs +0 -17
  68. package/esm2022/lib/core/notifications/services/notification-service.mjs +0 -83
  69. package/esm2022/lib/core/performance/stopwatch.mjs +0 -50
  70. package/esm2022/lib/core/services/appcontext.service.mjs +0 -186
  71. package/esm2022/lib/core/services/dm.service.mjs +0 -69
  72. package/esm2022/lib/core/services/google-analytics.service.mjs +0 -75
  73. package/esm2022/lib/core/services/idle.service.mjs +0 -77
  74. package/esm2022/lib/core/services/loading.service.mjs +0 -67
  75. package/esm2022/lib/core/services/script.service.mjs +0 -77
  76. package/esm2022/lib/core/services/starter.service.mjs +0 -85
  77. package/esm2022/lib/core/services/web-storage.service.mjs +0 -66
  78. package/esm2022/lib/core/subs.mjs +0 -31
  79. package/esm2022/lib/core/utils/qsutils.mjs +0 -84
  80. package/esm2022/lib/core/utils/utils.mjs +0 -112
  81. package/esm2022/lib/data/base/api.service.mjs +0 -94
  82. package/esm2022/lib/data/base/grid/grid-edit.service.mjs +0 -80
  83. package/esm2022/lib/data/base/grid/grid-read.service.mjs +0 -60
  84. package/esm2022/lib/data/data.module.mjs +0 -66
  85. package/esm2022/lib/data/exports.mjs +0 -29
  86. package/esm2022/lib/data/services/billing/currencies-api.service.mjs +0 -41
  87. package/esm2022/lib/data/services/billing/currencies-storage.service.mjs +0 -92
  88. package/esm2022/lib/data/services/billing/discountcodes-api.service.mjs +0 -37
  89. package/esm2022/lib/data/services/billing/payments-api.service.mjs +0 -64
  90. package/esm2022/lib/data/services/billing/subscriptions-api.service.mjs +0 -61
  91. package/esm2022/lib/data/services/billing/transactions-api.service.mjs +0 -43
  92. package/esm2022/lib/data/services/core-api.service.mjs +0 -44
  93. package/esm2022/lib/data/services/emails-api.service.mjs +0 -47
  94. package/esm2022/lib/external/fa.module.mjs +0 -45
  95. package/esm2022/lib/external/kendo.module.mjs +0 -179
  96. package/esm2022/lib/iam/b2c/b2c.mjs +0 -40
  97. package/esm2022/lib/iam/b2c/consts.mjs +0 -25
  98. package/esm2022/lib/iam/b2c/index.mjs +0 -21
  99. package/esm2022/lib/iam/configs.mjs +0 -109
  100. package/esm2022/lib/iam/consts.mjs +0 -22
  101. package/esm2022/lib/iam/exports.mjs +0 -22
  102. package/esm2022/lib/iam/guards/admin.guard.mjs +0 -46
  103. package/esm2022/lib/iam/guards/authentication.guard.mjs +0 -30
  104. package/esm2022/lib/iam/guards/index.mjs +0 -20
  105. package/esm2022/lib/iam/iam-pages.module.mjs +0 -57
  106. package/esm2022/lib/iam/iam-pages.routes.mjs +0 -45
  107. package/esm2022/lib/iam/iam.module.mjs +0 -84
  108. package/esm2022/lib/iam/pages/signin.page.mjs +0 -40
  109. package/esm2022/lib/iam/pages/signout.page.mjs +0 -40
  110. package/esm2022/lib/iam/pages/signup.page.mjs +0 -40
  111. package/esm2022/lib/iam/redirect.mjs +0 -29
  112. package/esm2022/lib/iam/services/auth.service.mjs +0 -436
  113. package/esm2022/lib/iam/storage.mjs +0 -42
  114. package/esm2022/lib/iam/utils.mjs +0 -49
  115. package/esm2022/lib/ui/components/base/components/component.mjs +0 -76
  116. package/esm2022/lib/ui/components/base/components/edit.component.mjs +0 -146
  117. package/esm2022/lib/ui/components/base/components/enum-edit.component.mjs +0 -92
  118. package/esm2022/lib/ui/components/base/dialog.mjs +0 -71
  119. package/esm2022/lib/ui/components/base/list.mjs +0 -100
  120. package/esm2022/lib/ui/components/base/pages/edit.page.mjs +0 -32
  121. package/esm2022/lib/ui/components/base/pages/page.mjs +0 -32
  122. package/esm2022/lib/ui/components/base/pages/paged.page.mjs +0 -68
  123. package/esm2022/lib/ui/components/card/card-body.component.mjs +0 -37
  124. package/esm2022/lib/ui/components/card/card-footer.component.mjs +0 -37
  125. package/esm2022/lib/ui/components/card/card-header.component.mjs +0 -51
  126. package/esm2022/lib/ui/components/card/card.component.mjs +0 -41
  127. package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +0 -43
  128. package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +0 -57
  129. package/esm2022/lib/ui/components/data-grid/control-panel.component.mjs +0 -201
  130. package/esm2022/lib/ui/components/datapager/datapager.component.mjs +0 -95
  131. package/esm2022/lib/ui/components/dropdownlists/country/country.dropdownlist.mjs +0 -96
  132. package/esm2022/lib/ui/components/dropdownlists/moderationstatus/moderationstatus.dropdownlist.mjs +0 -88
  133. package/esm2022/lib/ui/components/dropdownlists/publishstatus/publishstatus.dropdownlist.mjs +0 -88
  134. package/esm2022/lib/ui/components/dropdownlists/timezone/timezone.dropdownlist.mjs +0 -112
  135. package/esm2022/lib/ui/components/exports.mjs +0 -53
  136. package/esm2022/lib/ui/components/feature-will-be-ready/feature-will-be-ready.component.mjs +0 -55
  137. package/esm2022/lib/ui/components/html-editor/base-editor.component.mjs +0 -94
  138. package/esm2022/lib/ui/components/html-editor/defaultoptions.mjs +0 -87
  139. package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +0 -114
  140. package/esm2022/lib/ui/components/identity/signin-button.component.mjs +0 -105
  141. package/esm2022/lib/ui/components/identity/signout-button.component.mjs +0 -105
  142. package/esm2022/lib/ui/components/identity/signup-button.component.mjs +0 -105
  143. package/esm2022/lib/ui/components/index.mjs +0 -57
  144. package/esm2022/lib/ui/components/no-mobile-support/no-mobile-support.component.mjs +0 -45
  145. package/esm2022/lib/ui/components/nodata/nodata.component.mjs +0 -76
  146. package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +0 -53
  147. package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +0 -85
  148. package/esm2022/lib/ui/components/spinners/pagespinner/spinkits.mjs +0 -12
  149. package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +0 -130
  150. package/esm2022/lib/ui/components/you-agree-to-our-terms/you-agree-to-our-terms.component.mjs +0 -63
  151. package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +0 -78
  152. package/esm2022/lib/ui/dialogs/exports.mjs +0 -16
  153. package/esm2022/lib/ui/dialogs/index.mjs +0 -19
  154. package/esm2022/lib/ui/directives/exports.mjs +0 -19
  155. package/esm2022/lib/ui/directives/hover.directive.mjs +0 -50
  156. package/esm2022/lib/ui/directives/index.mjs +0 -22
  157. package/esm2022/lib/ui/directives/native-element.directive.mjs +0 -37
  158. package/esm2022/lib/ui/directives/replacer/a-replacer.directive.mjs +0 -48
  159. package/esm2022/lib/ui/directives/replacer/image-replacer.directive.mjs +0 -44
  160. package/esm2022/lib/ui/directives/replacer/replacer.base.directive.mjs +0 -44
  161. package/esm2022/lib/ui/exports.mjs +0 -22
  162. package/esm2022/lib/ui/forms/components/address/address.component.mjs +0 -240
  163. package/esm2022/lib/ui/forms/components/company/company.component.mjs +0 -138
  164. package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +0 -213
  165. package/esm2022/lib/ui/forms/exports.mjs +0 -20
  166. package/esm2022/lib/ui/forms/index.mjs +0 -21
  167. package/esm2022/lib/ui/pipes/exports.mjs +0 -19
  168. package/esm2022/lib/ui/pipes/filesize.pipe.mjs +0 -42
  169. package/esm2022/lib/ui/pipes/index.mjs +0 -22
  170. package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +0 -37
  171. package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +0 -34
  172. package/esm2022/lib/ui/ui.module.mjs +0 -122
  173. package/esm2022/lib/ui/validation/exports.mjs +0 -19
  174. package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +0 -90
  175. package/esm2022/lib/ui/validation/index.mjs +0 -21
  176. package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +0 -53
  177. package/esm2022/lib/ui/validation/validation-summary.component.mjs +0 -124
  178. package/esm2022/osovitny-anatoly.mjs +0 -5
  179. package/esm2022/public-api.mjs +0 -22
@@ -1,68 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 20 Aug 2022
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- //Node
17
- import { Component } from "@angular/core";
18
- //App
19
- import { PageBase } from "./page";
20
- import * as i0 from "@angular/core";
21
- export class PagedPageBase extends PageBase {
22
- constructor() {
23
- super(...arguments);
24
- this.currentFilter = null;
25
- this.totalItems = 0;
26
- this.pageSize = 10;
27
- this.skipItems = 0;
28
- this.currentPage = 1;
29
- }
30
- loadPageOne() {
31
- this.skipItems = 0;
32
- this.currentPage = 1;
33
- this.loadPage();
34
- }
35
- reloadPage(drop2pageOne = false) {
36
- if (drop2pageOne) {
37
- this.loadPageOne();
38
- }
39
- else {
40
- this.loadPage();
41
- }
42
- }
43
- setFilter(filter) {
44
- this.currentFilter = filter;
45
- this.loadPageOne();
46
- }
47
- //Tos
48
- toIndex(index) {
49
- return ((this.currentPage - 1) * this.pageSize) + index + 1;
50
- }
51
- //Events
52
- onPageChange(e) {
53
- this.pageSize = e.take;
54
- this.skipItems = e.skip;
55
- this.currentPage = (this.skipItems / this.pageSize) + 1;
56
- this.loadPage();
57
- }
58
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵPagedPageBase_BaseFactory; return function PagedPageBase_Factory(t) { return (ɵPagedPageBase_BaseFactory || (ɵPagedPageBase_BaseFactory = i0.ɵɵgetInheritedFactory(PagedPageBase)))(t || PagedPageBase); }; })(); }
59
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagedPageBase, selectors: [["ng-component"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function PagedPageBase_Template(rf, ctx) { }, encapsulation: 2 }); }
60
- }
61
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagedPageBase, [{
62
- type: Component,
63
- args: [{
64
- template: ''
65
- }]
66
- }], null, null); })();
67
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PagedPageBase, { className: "PagedPageBase", filePath: "lib\\ui\\components\\base\\pages\\paged.page.ts", lineNumber: 26 }); })();
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UvcGFnZXMvcGFnZWQucGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLEtBQUs7QUFDTCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUtsQyxNQUFNLE9BQWdCLGFBQWMsU0FBUSxRQUFRO0lBSHBEOztRQUlFLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBSXJCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO0tBcUN6QjtJQWpDUSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sVUFBVSxDQUFDLGVBQXdCLEtBQUs7UUFDN0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFTSxTQUFTLENBQUMsTUFBVztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUs7SUFDTCxPQUFPLENBQUMsS0FBSztRQUNYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFFBQVE7SUFDUixZQUFZLENBQUMsQ0FBTTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7d05BNUNtQixhQUFhLFNBQWIsYUFBYTtvRUFBYixhQUFhOztpRkFBYixhQUFhO2NBSGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNiOztrRkFDcUIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMCBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgUGFnZUJhc2UgfSBmcm9tIFwiLi9wYWdlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhZ2VkUGFnZUJhc2UgZXh0ZW5kcyBQYWdlQmFzZSB7XHJcbiAgY3VycmVudEZpbHRlciA9IG51bGw7XHJcblxyXG4gIC8vSXRlbXMgJiBQYWdpbmF0aW9uXHJcbiAgaXRlbXM6IGFueVtdO1xyXG4gIHRvdGFsSXRlbXM6IG51bWJlciA9IDA7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG4gIHNraXBJdGVtczogbnVtYmVyID0gMDtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuXHJcbiAgcHVibGljIGxvYWRQYWdlPyhwYWdlPzogbnVtYmVyKSA6IHZvaWQ7XHJcblxyXG4gIHB1YmxpYyBsb2FkUGFnZU9uZSgpIHtcclxuICAgIHRoaXMuc2tpcEl0ZW1zID0gMDtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5sb2FkUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbG9hZFBhZ2UoZHJvcDJwYWdlT25lOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmIChkcm9wMnBhZ2VPbmUpIHtcclxuICAgICAgdGhpcy5sb2FkUGFnZU9uZSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMubG9hZFBhZ2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRGaWx0ZXIoZmlsdGVyOiBhbnkpIHtcclxuICAgIHRoaXMuY3VycmVudEZpbHRlciA9IGZpbHRlcjtcclxuICAgIHRoaXMubG9hZFBhZ2VPbmUoKTtcclxuICB9XHJcblxyXG4gIC8vVG9zXHJcbiAgdG9JbmRleChpbmRleCkge1xyXG4gICAgcmV0dXJuICgodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5wYWdlU2l6ZSkgKyBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICAvL0V2ZW50c1xyXG4gIG9uUGFnZUNoYW5nZShlOiBhbnkpIHtcclxuICAgIHRoaXMucGFnZVNpemUgPSBlLnRha2U7XHJcbiAgICB0aGlzLnNraXBJdGVtcyA9IGUuc2tpcDtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAodGhpcy5za2lwSXRlbXMgLyB0aGlzLnBhZ2VTaXplKSArIDE7XHJcblxyXG4gICAgdGhpcy5sb2FkUGFnZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,37 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 July 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component } from '@angular/core';
17
- //App
18
- import { ComponentBase } from '../base/components/component';
19
- import * as i0 from "@angular/core";
20
- const _c0 = ["*"];
21
- export class CardBodyComponent extends ComponentBase {
22
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardBodyComponent_BaseFactory; return function CardBodyComponent_Factory(t) { return (ɵCardBodyComponent_BaseFactory || (ɵCardBodyComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardBodyComponent)))(t || CardBodyComponent); }; })(); }
23
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardBodyComponent, selectors: [["anatoly-card-body"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 2, vars: 3, template: function CardBodyComponent_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵprojectionDef();
25
- i0.ɵɵelementStart(0, "div");
26
- i0.ɵɵprojection(1);
27
- i0.ɵɵelementEnd();
28
- } if (rf & 2) {
29
- i0.ɵɵclassMapInterpolate1("card-body ", ctx.classes, "");
30
- } }, encapsulation: 2 }); }
31
- }
32
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardBodyComponent, [{
33
- type: Component,
34
- args: [{ selector: 'anatoly-card-body', template: "<div class='card-body {{ classes }}'>\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
35
- }], null, null); })();
36
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardBodyComponent, { className: "CardBodyComponent", filePath: "lib\\ui\\components\\card\\card-body.component.ts", lineNumber: 26 }); })();
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2NhcmQvY2FyZC1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2NhcmQvY2FyZC1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7d09BQXZDLGlCQUFpQixTQUFqQixpQkFBaUI7b0VBQWpCLGlCQUFpQjs7WUN6QjlCLDJCQUFxQztZQUNuQyxrQkFBeUI7WUFDM0IsaUJBQU07O1lBRkQsd0RBQStCOzs7aUZEeUJ2QixpQkFBaUI7Y0FKN0IsU0FBUzsyQkFDRSxtQkFBbUI7O2tGQUdsQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI5IEp1bHkgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9iYXNlL2NvbXBvbmVudHMvY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1jYXJkLWJvZHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWJvZHkuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkQm9keUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9J2NhcmQtYm9keSB7eyBjbGFzc2VzIH19Jz5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,37 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 July 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component } from '@angular/core';
17
- //App
18
- import { ComponentBase } from '../base/components/component';
19
- import * as i0 from "@angular/core";
20
- const _c0 = ["*"];
21
- export class CardFooterComponent extends ComponentBase {
22
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardFooterComponent_BaseFactory; return function CardFooterComponent_Factory(t) { return (ɵCardFooterComponent_BaseFactory || (ɵCardFooterComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardFooterComponent)))(t || CardFooterComponent); }; })(); }
23
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardFooterComponent, selectors: [["anatoly-card-footer"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 2, vars: 3, template: function CardFooterComponent_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵprojectionDef();
25
- i0.ɵɵelementStart(0, "div");
26
- i0.ɵɵprojection(1);
27
- i0.ɵɵelementEnd();
28
- } if (rf & 2) {
29
- i0.ɵɵclassMapInterpolate1("card-footer ", ctx.classes, "");
30
- } }, encapsulation: 2 }); }
31
- }
32
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardFooterComponent, [{
33
- type: Component,
34
- args: [{ selector: 'anatoly-card-footer', template: "<div class='card-footer {{ classes }}'>\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
35
- }], null, null); })();
36
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardFooterComponent, { className: "CardFooterComponent", filePath: "lib\\ui\\components\\card\\card-footer.component.ts", lineNumber: 26 }); })();
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2FyZC9jYXJkLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jYXJkL2NhcmQtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7Z1BBQXpDLG1CQUFtQixTQUFuQixtQkFBbUI7b0VBQW5CLG1CQUFtQjs7WUN6QmhDLDJCQUF1QztZQUNyQyxrQkFBeUI7WUFDM0IsaUJBQU07O1lBRkQsMERBQWlDOzs7aUZEeUJ6QixtQkFBbUI7Y0FKL0IsU0FBUzsyQkFDRSxxQkFBcUI7O2tGQUdwQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI5IEp1bHkgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9iYXNlL2NvbXBvbmVudHMvY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1jYXJkLWZvb3RlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtZm9vdGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZEZvb3RlckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9J2NhcmQtZm9vdGVyIHt7IGNsYXNzZXMgfX0nPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,51 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 July 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component } from '@angular/core';
17
- //App
18
- import { ComponentBase } from '../base/components/component';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "@angular/common";
21
- function CardHeaderComponent_h3_2_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "h3");
23
- i0.ɵɵtext(1);
24
- i0.ɵɵelementEnd();
25
- } if (rf & 2) {
26
- const ctx_r0 = i0.ɵɵnextContext();
27
- i0.ɵɵadvance();
28
- i0.ɵɵtextInterpolate(ctx_r0.title);
29
- } }
30
- const _c0 = ["*"];
31
- export class CardHeaderComponent extends ComponentBase {
32
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardHeaderComponent_BaseFactory; return function CardHeaderComponent_Factory(t) { return (ɵCardHeaderComponent_BaseFactory || (ɵCardHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardHeaderComponent)))(t || CardHeaderComponent); }; })(); }
33
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardHeaderComponent, selectors: [["anatoly-card-header"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 4, vars: 4, consts: [[1, "card-title"], [4, "ngIf"]], template: function CardHeaderComponent_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵprojectionDef();
35
- i0.ɵɵelementStart(0, "div")(1, "div", 0);
36
- i0.ɵɵtemplate(2, CardHeaderComponent_h3_2_Template, 2, 1, "h3", 1);
37
- i0.ɵɵelementEnd();
38
- i0.ɵɵprojection(3);
39
- i0.ɵɵelementEnd();
40
- } if (rf & 2) {
41
- i0.ɵɵclassMapInterpolate1("card-header ", ctx.classes, "");
42
- i0.ɵɵadvance(2);
43
- i0.ɵɵproperty("ngIf", ctx.title);
44
- } }, dependencies: [i1.NgIf], encapsulation: 2 }); }
45
- }
46
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardHeaderComponent, [{
47
- type: Component,
48
- args: [{ selector: 'anatoly-card-header', template: "<div class='card-header {{ classes }}'>\r\n <div class=\"card-title\">\r\n <h3 *ngIf='title'>{{ title }}</h3>\r\n </div>\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
49
- }], null, null); })();
50
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardHeaderComponent, { className: "CardHeaderComponent", filePath: "lib\\ui\\components\\card\\card-header.component.ts", lineNumber: 26 }); })();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2FyZC9jYXJkLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jYXJkL2NhcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0lDakJ6RCwwQkFBa0I7SUFBQSxZQUFXO0lBQUEsaUJBQUs7OztJQUFoQixjQUFXO0lBQVgsa0NBQVc7OztBRHVCakMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7Z1BBQXpDLG1CQUFtQixTQUFuQixtQkFBbUI7b0VBQW5CLG1CQUFtQjs7WUN6QmhDLDJCQUF1QyxhQUFBO1lBRW5DLGtFQUFrQztZQUNwQyxpQkFBTTtZQUNOLGtCQUF5QjtZQUMzQixpQkFBTTs7WUFMRCwwREFBaUM7WUFFN0IsZUFBVztZQUFYLGdDQUFXOzs7aUZEdUJQLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLHFCQUFxQjs7a0ZBR3BCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVseSAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWNhcmQtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz0nY2FyZC1oZWFkZXIge3sgY2xhc3NlcyB9fSc+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGVcIj5cclxuICAgIDxoMyAqbmdJZj0ndGl0bGUnPnt7IHRpdGxlIH19PC9oMz5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,41 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 July 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component } from '@angular/core';
17
- //App
18
- import { ComponentBase } from '../base/components/component';
19
- import * as i0 from "@angular/core";
20
- const _c0 = [[["card-header"]], [["card-body"]], "*", [["card-footer"]]];
21
- const _c1 = ["card-header", "card-body", "*", "card-footer"];
22
- export class CardComponent extends ComponentBase {
23
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardComponent_BaseFactory; return function CardComponent_Factory(t) { return (ɵCardComponent_BaseFactory || (ɵCardComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardComponent)))(t || CardComponent); }; })(); }
24
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardComponent, selectors: [["anatoly-card"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 5, vars: 3, template: function CardComponent_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵprojectionDef(_c0);
26
- i0.ɵɵelementStart(0, "div");
27
- i0.ɵɵprojection(1);
28
- i0.ɵɵprojection(2, 1);
29
- i0.ɵɵprojection(3, 2);
30
- i0.ɵɵprojection(4, 3);
31
- i0.ɵɵelementEnd();
32
- } if (rf & 2) {
33
- i0.ɵɵclassMapInterpolate1("card ", ctx.classes, "");
34
- } }, encapsulation: 2 }); }
35
- }
36
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardComponent, [{
37
- type: Component,
38
- args: [{ selector: 'anatoly-card', template: "<div class='card {{ classes }}'>\r\n <ng-content select='card-header'></ng-content>\r\n <ng-content select='card-body'></ng-content>\r\n <ng-content></ng-content>\r\n <ng-content select='card-footer'></ng-content>\r\n</div>\r\n" }]
39
- }], null, null); })();
40
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardComponent, { className: "CardComponent", filePath: "lib\\ui\\components\\card\\card.component.ts", lineNumber: 26 }); })();
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBTTdELE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTt3TkFBbkMsYUFBYSxTQUFiLGFBQWE7b0VBQWIsYUFBYTs7WUN6QjFCLDJCQUFnQztZQUM5QixrQkFBOEM7WUFDOUMscUJBQTRDO1lBQzVDLHFCQUF5QjtZQUN6QixxQkFBOEM7WUFDaEQsaUJBQU07O1lBTEQsbURBQTBCOzs7aUZEeUJsQixhQUFhO2NBSnpCLFNBQVM7MkJBQ0UsY0FBYzs7a0ZBR2IsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVseSAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWNhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9J2NhcmQge3sgY2xhc3NlcyB9fSc+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PSdjYXJkLWhlYWRlcic+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD0nY2FyZC1ib2R5Jz48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD0nY2FyZC1mb290ZXInPjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,43 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 15 Aug 2022
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- //Node
17
- import { Component, Input } from '@angular/core';
18
- import * as i0 from "@angular/core";
19
- import * as i1 from "@angular/common";
20
- import * as i2 from "@fortawesome/angular-fontawesome";
21
- const _c0 = ["*"];
22
- export class CheckIconComponent {
23
- constructor() {
24
- //Inputs
25
- this.checked = true;
26
- }
27
- static { this.ɵfac = function CheckIconComponent_Factory(t) { return new (t || CheckIconComponent)(); }; }
28
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CheckIconComponent, selectors: [["anatoly-check-icon"]], inputs: { checked: "checked" }, ngContentSelectors: _c0, decls: 2, vars: 2, consts: [[3, "icon", "ngClass"]], template: function CheckIconComponent_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵprojectionDef();
30
- i0.ɵɵelement(0, "fa-icon", 0);
31
- i0.ɵɵprojection(1);
32
- } if (rf & 2) {
33
- i0.ɵɵproperty("icon", ctx.checked ? "check-circle" : "circle-xmark")("ngClass", ctx.checked ? "text-success" : "text-danger");
34
- } }, dependencies: [i1.NgClass, i2.FaIconComponent], encapsulation: 2 }); }
35
- }
36
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckIconComponent, [{
37
- type: Component,
38
- args: [{ selector: 'anatoly-check-icon', template: "<fa-icon [icon]=\"this.checked ? 'check-circle' : 'circle-xmark'\" [ngClass]=\"checked ? 'text-success' : 'text-danger'\">\r\n</fa-icon>\r\n<ng-content></ng-content>\r\n" }]
39
- }], null, { checked: [{
40
- type: Input
41
- }] }); })();
42
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckIconComponent, { className: "CheckIconComponent", filePath: "lib\\ui\\components\\check-icon\\check-icon.component.ts", lineNumber: 24 }); })();
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2staWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jaGVjay1pY29uL2NoZWNrLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2hlY2staWNvbi9jaGVjay1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU1qRCxNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBS0UsUUFBUTtRQUNDLFlBQU8sR0FBWSxJQUFJLENBQUM7S0FDbEM7bUZBSFksa0JBQWtCO29FQUFsQixrQkFBa0I7O1lDdkIvQiw2QkFDVTtZQUNWLGtCQUF5Qjs7WUFGaEIsb0VBQXVELHlEQUFBOzs7aUZEdUJuRCxrQkFBa0I7Y0FKOUIsU0FBUzsyQkFDRSxvQkFBb0I7Z0JBS3JCLE9BQU87a0JBQWYsS0FBSzs7a0ZBRkssa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE1IEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1jaGVjay1pY29uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2staWNvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrSWNvbkNvbXBvbmVudCB7XHJcbiAgLy9JbnB1dHNcclxuICBASW5wdXQoKSBjaGVja2VkOiBib29sZWFuID0gdHJ1ZTtcclxufVxyXG4iLCI8ZmEtaWNvbiBbaWNvbl09XCJ0aGlzLmNoZWNrZWQgPyAnY2hlY2stY2lyY2xlJyA6ICdjaXJjbGUteG1hcmsnXCIgW25nQ2xhc3NdPVwiY2hlY2tlZCA/ICd0ZXh0LXN1Y2Nlc3MnIDogJ3RleHQtZGFuZ2VyJ1wiPlxyXG48L2ZhLWljb24+XHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
@@ -1,57 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 9 Jun 2020
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- //Node
17
- import { Component, Input } from '@angular/core';
18
- //App
19
- import { Utils } from '../../../core/utils/utils';
20
- import { ComponentBase } from '../base/components/component';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "@fortawesome/angular-fontawesome";
23
- import * as i2 from "../../directives/replacer/a-replacer.directive";
24
- export class Copy2ClipboardComponent extends ComponentBase {
25
- constructor() {
26
- super(...arguments);
27
- this.tooltip = "Copy to clipboard";
28
- this.text = "";
29
- }
30
- onCopy2Clipboard(event) {
31
- let oldTooltip = this.tooltip;
32
- this.tooltip = "Copied";
33
- setTimeout(() => {
34
- this.tooltip = oldTooltip;
35
- }, 1000);
36
- Utils.copyToClipBoard(event, this.text);
37
- }
38
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCopy2ClipboardComponent_BaseFactory; return function Copy2ClipboardComponent_Factory(t) { return (ɵCopy2ClipboardComponent_BaseFactory || (ɵCopy2ClipboardComponent_BaseFactory = i0.ɵɵgetInheritedFactory(Copy2ClipboardComponent)))(t || Copy2ClipboardComponent); }; })(); }
39
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Copy2ClipboardComponent, selectors: [["anatoly-copy-2-clipboard"]], inputs: { tooltip: "tooltip", text: "text" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 3, consts: [[3, "click"], ["size", "lg", "icon", "copy"]], template: function Copy2ClipboardComponent_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "a", 0);
41
- i0.ɵɵlistener("click", function Copy2ClipboardComponent_Template_a_click_0_listener($event) { return ctx.onCopy2Clipboard($event); });
42
- i0.ɵɵelement(1, "fa-icon", 1);
43
- i0.ɵɵelementEnd();
44
- } if (rf & 2) {
45
- i0.ɵɵclassMapInterpolate1("btn btn-icon ", ctx.classes, "");
46
- } }, dependencies: [i1.FaIconComponent, i2.AReplacerDirective], encapsulation: 2 }); }
47
- }
48
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Copy2ClipboardComponent, [{
49
- type: Component,
50
- args: [{ selector: 'anatoly-copy-2-clipboard', template: "<a class=\"btn btn-icon {{ classes }}\" (click)=\"onCopy2Clipboard($event)\">\r\n <fa-icon size=\"lg\" icon=\"copy\" />\r\n</a>\r\n" }]
51
- }], null, { tooltip: [{
52
- type: Input
53
- }], text: [{
54
- type: Input
55
- }] }); })();
56
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Copy2ClipboardComponent, { className: "Copy2ClipboardComponent", filePath: "lib\\ui\\components\\copy-2-clipboard\\copy-2-clipboard.component.ts", lineNumber: 28 }); })();
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS0yLWNsaXBib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jb3B5LTItY2xpcGJvYXJkL2NvcHktMi1jbGlwYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY29weS0yLWNsaXBib2FyZC9jb3B5LTItY2xpcGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELEtBQUs7QUFDTCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBTTdELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBSjFEOztRQUtXLFlBQU8sR0FBRyxtQkFBbUIsQ0FBQztRQUM5QixTQUFJLEdBQUcsRUFBRSxDQUFDO0tBWXBCO0lBVkMsZ0JBQWdCLENBQUMsS0FBSztRQUNwQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBRXhCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUM1QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFVCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztnUUFiVSx1QkFBdUIsU0FBdkIsdUJBQXVCO29FQUF2Qix1QkFBdUI7WUMzQnBDLDRCQUF5RTtZQUFuQyxxR0FBUyw0QkFBd0IsSUFBQztZQUN0RSw2QkFBaUM7WUFDbkMsaUJBQUk7O1lBRkQsMkRBQWtDOzs7aUZEMkJ4Qix1QkFBdUI7Y0FKbkMsU0FBUzsyQkFDRSwwQkFBMEI7Z0JBSTNCLE9BQU87a0JBQWYsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSzs7a0ZBRkssdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDkgSnVuIDIwMjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjUgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWNvcHktMi1jbGlwYm9hcmQnLFxyXG4gIHRlbXBsYXRlVXJsOicuL2NvcHktMi1jbGlwYm9hcmQuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29weTJDbGlwYm9hcmRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIHtcclxuICBASW5wdXQoKSB0b29sdGlwID0gXCJDb3B5IHRvIGNsaXBib2FyZFwiO1xyXG4gIEBJbnB1dCgpIHRleHQgPSBcIlwiO1xyXG5cclxuICBvbkNvcHkyQ2xpcGJvYXJkKGV2ZW50KSB7XHJcbiAgICBsZXQgb2xkVG9vbHRpcCA9IHRoaXMudG9vbHRpcDtcclxuICAgIHRoaXMudG9vbHRpcCA9IFwiQ29waWVkXCI7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudG9vbHRpcCA9IG9sZFRvb2x0aXA7XHJcbiAgICB9LCAxMDAwKTtcclxuXHJcbiAgICBVdGlscy5jb3B5VG9DbGlwQm9hcmQoZXZlbnQsIHRoaXMudGV4dCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhIGNsYXNzPVwiYnRuIGJ0bi1pY29uIHt7IGNsYXNzZXMgfX1cIiAoY2xpY2spPVwib25Db3B5MkNsaXBib2FyZCgkZXZlbnQpXCI+XHJcbiAgPGZhLWljb24gc2l6ZT1cImxnXCIgaWNvbj1cImNvcHlcIiAvPlxyXG48L2E+XHJcbiJdfQ==
@@ -1,201 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 23 Apr 2024
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component, EventEmitter, Input, Output } from '@angular/core';
17
- //App
18
- import { DataViewType } from '../../../core/enums';
19
- import { ComponentBase } from '../base/components/component';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@angular/common";
22
- import * as i2 from "@angular/forms";
23
- import * as i3 from "@fortawesome/angular-fontawesome";
24
- import * as i4 from "@progress/kendo-angular-dropdowns";
25
- import * as i5 from "../../directives/replacer/a-replacer.directive";
26
- const _c0 = a0 => ({ "active": a0 });
27
- function ControlPanelComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
28
- const _r5 = i0.ɵɵgetCurrentView();
29
- i0.ɵɵelementStart(0, "div", 7)(1, "a", 8);
30
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_2_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onFilterToggle()); });
31
- i0.ɵɵnamespaceSVG();
32
- i0.ɵɵelementStart(2, "svg", 9);
33
- i0.ɵɵelement(3, "path", 10);
34
- i0.ɵɵelementEnd()()();
35
- } if (rf & 2) {
36
- const ctx_r0 = i0.ɵɵnextContext();
37
- i0.ɵɵadvance();
38
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c0, ctx_r0.filterVisible));
39
- } }
40
- function ControlPanelComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
41
- const _r7 = i0.ɵɵgetCurrentView();
42
- i0.ɵɵelementStart(0, "div", 11)(1, "h2");
43
- i0.ɵɵtext(2, "Sort By:");
44
- i0.ɵɵelementEnd();
45
- i0.ɵɵelementStart(3, "kendo-dropdownlist", 12);
46
- i0.ɵɵlistener("ngModelChange", function ControlPanelComponent_Conditional_6_Template_kendo_dropdownlist_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.selectedSortBy = $event); })("valueChange", function ControlPanelComponent_Conditional_6_Template_kendo_dropdownlist_valueChange_3_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onSortByChange()); });
47
- i0.ɵɵelementEnd()();
48
- } if (rf & 2) {
49
- const ctx_r1 = i0.ɵɵnextContext();
50
- i0.ɵɵadvance(3);
51
- i0.ɵɵproperty("data", ctx_r1.sortByItems)("valuePrimitive", true)("ngModel", ctx_r1.selectedSortBy);
52
- } }
53
- function ControlPanelComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
54
- const _r10 = i0.ɵɵgetCurrentView();
55
- i0.ɵɵelementStart(0, "div", 13)(1, "a", 8);
56
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_7_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.onViewSwitch("grid")); });
57
- i0.ɵɵnamespaceSVG();
58
- i0.ɵɵelementStart(2, "svg", 14);
59
- i0.ɵɵelement(3, "path", 15)(4, "path", 16)(5, "path", 17)(6, "path", 18);
60
- i0.ɵɵelementEnd()();
61
- i0.ɵɵnamespaceHTML();
62
- i0.ɵɵelementStart(7, "a", 8);
63
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_7_Template_a_click_7_listener() { i0.ɵɵrestoreView(_r10); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.onViewSwitch("list")); });
64
- i0.ɵɵnamespaceSVG();
65
- i0.ɵɵelementStart(8, "svg", 19);
66
- i0.ɵɵelement(9, "path", 20);
67
- i0.ɵɵelementEnd()();
68
- i0.ɵɵnamespaceHTML();
69
- i0.ɵɵelementStart(10, "a", 8);
70
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_7_Template_a_click_10_listener() { i0.ɵɵrestoreView(_r10); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onViewSwitch("table")); });
71
- i0.ɵɵnamespaceSVG();
72
- i0.ɵɵelementStart(11, "svg", 21);
73
- i0.ɵɵelement(12, "path", 22);
74
- i0.ɵɵelementEnd()()();
75
- } if (rf & 2) {
76
- const ctx_r2 = i0.ɵɵnextContext();
77
- i0.ɵɵadvance();
78
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r2.viewType == "grid"));
79
- i0.ɵɵadvance(6);
80
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c0, ctx_r2.viewType == "list"));
81
- i0.ɵɵadvance(3);
82
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx_r2.viewType == "table"));
83
- } }
84
- function ControlPanelComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
85
- const _r14 = i0.ɵɵgetCurrentView();
86
- i0.ɵɵelementStart(0, "div", 23)(1, "a", 24);
87
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_8_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onAdd()); });
88
- i0.ɵɵelement(2, "fa-icon", 25);
89
- i0.ɵɵelementEnd()();
90
- } }
91
- const _c1 = ["*"];
92
- export class ControlPanelComponent extends ComponentBase {
93
- constructor() {
94
- super(...arguments);
95
- //Visible
96
- this.filterButtonVisible = false;
97
- this.sortByVisible = false;
98
- this.viewTypesVisible = false;
99
- this.addButtonVisible = false;
100
- //Outputs
101
- this.settingsChange = new EventEmitter();
102
- this.add = new EventEmitter();
103
- }
104
- ngOnInit() {
105
- this.setDefaults();
106
- this.setValues();
107
- this.resetSettings();
108
- this.fireSettingsChange();
109
- }
110
- setDefaults() {
111
- if (this.viewType) {
112
- this.viewTypeDefault = this.viewType;
113
- }
114
- else {
115
- this.viewType = DataViewType.List;
116
- this.viewTypeDefault = DataViewType.List;
117
- }
118
- }
119
- setValues() {
120
- }
121
- fireSettingsChange() {
122
- this.settingsChange.emit(this.getSettings());
123
- }
124
- fireAdd() {
125
- this.add.emit();
126
- }
127
- //Public
128
- resetSettings() {
129
- this.filterVisible = false;
130
- this.selectedSortBy = 1;
131
- this.viewType = this.viewTypeDefault;
132
- }
133
- getSettings() {
134
- let filterVisible = this.filterVisible;
135
- let sortBy = this.selectedSortBy;
136
- let viewType = this.viewType;
137
- return {
138
- filterVisible: filterVisible,
139
- sortBy: sortBy,
140
- viewType: viewType
141
- };
142
- }
143
- //Events
144
- onFilterToggle() {
145
- this.filterVisible = !this.filterVisible;
146
- this.fireSettingsChange();
147
- }
148
- onSortByChange() {
149
- this.fireSettingsChange();
150
- }
151
- onViewSwitch(value) {
152
- this.viewType = value;
153
- this.fireSettingsChange();
154
- }
155
- onAdd() {
156
- this.fireAdd();
157
- }
158
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵControlPanelComponent_BaseFactory; return function ControlPanelComponent_Factory(t) { return (ɵControlPanelComponent_BaseFactory || (ɵControlPanelComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ControlPanelComponent)))(t || ControlPanelComponent); }; })(); }
159
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ControlPanelComponent, selectors: [["anatoly-data-grid-control-panel"]], inputs: { sortByItems: "sortByItems", viewType: "viewType", filterButtonVisible: "filterButtonVisible", sortByVisible: "sortByVisible", viewTypesVisible: "viewTypesVisible", addButtonVisible: "addButtonVisible" }, outputs: { settingsChange: "settingsChange", add: "add" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 9, vars: 4, consts: [[1, "os-control-panel"], [1, "control-wrapper"], ["class", "filter"], [1, "tools"], ["class", "sort-by"], ["class", "actions"], ["class", "action-add"], [1, "filter"], ["href", "javascript:void(0)", 1, "btn", "btn-icon", "btn-primary", 3, "ngClass", "click"], ["height", "22", "viewBox", "0 0 32 32", "width", "20", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M2 7h.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2H9.858a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2zm4-3a2 2 0 1 1-2 2 2 2 0 0 1 2-2zm24 11h-.142a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2h20.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2zm-4 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2zm4 7H19.858a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2h10.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2zm-14 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2z", "fill", "currentColor"], [1, "sort-by"], ["valueField", "value", "textField", "text", 3, "data", "valuePrimitive", "ngModel", "ngModelChange", "valueChange"], [1, "actions"], ["fill", "none", "height", "18", "viewBox", "0 0 18 18", "width", "18", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M6 1H2C1.44772 1 1 1.44772 1 2V6C1 6.55228 1.44772 7 2 7H6C6.55228 7 7 6.55228 7 6V2C7 1.44772 6.55228 1 6 1Z", "stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2"], ["d", "M16 1H12C11.4477 1 11 1.44772 11 2V6C11 6.55228 11.4477 7 12 7H16C16.5523 7 17 6.55228 17 6V2C17 1.44772 16.5523 1 16 1Z", "stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2"], ["d", "M6 11H2C1.44772 11 1 11.4477 1 12V16C1 16.5523 1.44772 17 2 17H6C6.55228 17 7 16.5523 7 16V12C7 11.4477 6.55228 11 6 11Z", "stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2"], ["d", "M16 11H12C11.4477 11 11 11.4477 11 12V16C11 16.5523 11.4477 17 12 17H16C16.5523 17 17 16.5523 17 16V12C17 11.4477 16.5523 11 16 11Z", "stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2"], ["fill", "none", "height", "15", "viewBox", "0 0 19 15", "width", "19", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M1.5 6C0.67 6 0 6.67 0 7.5C0 8.33 0.67 9 1.5 9C2.33 9 3 8.33 3 7.5C3 6.67 2.33 6 1.5 6ZM1.5 0C0.67 0 0 0.67 0 1.5C0 2.33 0.67 3 1.5 3C2.33 3 3 2.33 3 1.5C3 0.67 2.33 0 1.5 0ZM1.5 12C0.67 12 0 12.68 0 13.5C0 14.32 0.68 15 1.5 15C2.32 15 3 14.32 3 13.5C3 12.68 2.33 12 1.5 12ZM5.5 14.5H17.5C18.05 14.5 18.5 14.05 18.5 13.5C18.5 12.95 18.05 12.5 17.5 12.5H5.5C4.95 12.5 4.5 12.95 4.5 13.5C4.5 14.05 4.95 14.5 5.5 14.5ZM5.5 8.5H17.5C18.05 8.5 18.5 8.05 18.5 7.5C18.5 6.95 18.05 6.5 17.5 6.5H5.5C4.95 6.5 4.5 6.95 4.5 7.5C4.5 8.05 4.95 8.5 5.5 8.5ZM4.5 1.5C4.5 2.05 4.95 2.5 5.5 2.5H17.5C18.05 2.5 18.5 2.05 18.5 1.5C18.5 0.95 18.05 0.5 17.5 0.5H5.5C4.95 0.5 4.5 0.95 4.5 1.5Z", "fill", "currentColor"], ["xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 512 512", "height", "20", "width", "20", "fill", "none"], ["d", "M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z", "fill", "currentColor"], [1, "action-add"], ["href", "javascript:void(0)", 1, "btn", "btn-icon", "btn-primary", 3, "click"], ["icon", "plus"]], template: function ControlPanelComponent_Template(rf, ctx) { if (rf & 1) {
160
- i0.ɵɵprojectionDef();
161
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
162
- i0.ɵɵtemplate(2, ControlPanelComponent_Conditional_2_Template, 4, 3, "div", 2);
163
- i0.ɵɵelementStart(3, "div");
164
- i0.ɵɵprojection(4);
165
- i0.ɵɵelementEnd();
166
- i0.ɵɵelementStart(5, "div", 3);
167
- i0.ɵɵtemplate(6, ControlPanelComponent_Conditional_6_Template, 4, 3, "div", 4)(7, ControlPanelComponent_Conditional_7_Template, 13, 9, "div", 5)(8, ControlPanelComponent_Conditional_8_Template, 3, 0, "div", 6);
168
- i0.ɵɵelementEnd()()();
169
- } if (rf & 2) {
170
- i0.ɵɵadvance(2);
171
- i0.ɵɵconditional(2, ctx.filterButtonVisible ? 2 : -1);
172
- i0.ɵɵadvance(4);
173
- i0.ɵɵconditional(6, ctx.sortByVisible ? 6 : -1);
174
- i0.ɵɵadvance();
175
- i0.ɵɵconditional(7, ctx.viewTypesVisible ? 7 : -1);
176
- i0.ɵɵadvance();
177
- i0.ɵɵconditional(8, ctx.addButtonVisible ? 8 : -1);
178
- } }, dependencies: [i1.NgClass, i2.NgControlStatus, i2.NgModel, i3.FaIconComponent, i4.DropDownListComponent, i5.AReplacerDirective], encapsulation: 2 }); }
179
- }
180
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ControlPanelComponent, [{
181
- type: Component,
182
- args: [{ selector: 'anatoly-data-grid-control-panel', template: "<div class='os-control-panel'>\r\n <div class='control-wrapper'>\r\n @if (filterButtonVisible) {\r\n <div class='filter'>\r\n <a [ngClass]=\"{'active': filterVisible}\"\r\n class='btn btn-icon btn-primary'\r\n href='javascript:void(0)' \r\n (click)='onFilterToggle()'>\r\n <svg height='22' viewBox='0 0 32 32' width='20' xmlns='http://www.w3.org/2000/svg'>\r\n <path\r\n d='M2 7h.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2H9.858a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2zm4-3a2 2 0 1 1-2 2 2 2 0 0 1 2-2zm24 11h-.142a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2h20.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2zm-4 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2zm4 7H19.858a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2h10.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2zm-14 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2z'\r\n fill='currentColor'/>\r\n </svg>\r\n </a> \r\n </div>\r\n }\r\n \r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div class='tools'>\r\n @if (sortByVisible) {\r\n <div class='sort-by'>\r\n <h2>Sort By:</h2>\r\n <kendo-dropdownlist [data]='sortByItems'\r\n valueField='value'\r\n textField='text'\r\n [valuePrimitive]='true'\r\n [(ngModel)]='selectedSortBy'\r\n (valueChange)='onSortByChange()'>\r\n </kendo-dropdownlist>\r\n </div>\r\n }\r\n\r\n @if (viewTypesVisible) {\r\n <div class='actions'>\r\n <a class='btn btn-icon btn-primary' href='javascript:void(0)'\r\n [ngClass]=\"{'active': viewType == 'grid'}\"\r\n (click)=\"onViewSwitch('grid')\">\r\n <svg fill='none' height='18' viewBox='0 0 18 18' width='18' xmlns='http://www.w3.org/2000/svg'>\r\n <path\r\n d='M6 1H2C1.44772 1 1 1.44772 1 2V6C1 6.55228 1.44772 7 2 7H6C6.55228 7 7 6.55228 7 6V2C7 1.44772 6.55228 1 6 1Z'\r\n stroke='currentColor'\r\n stroke-linecap='round'\r\n stroke-linejoin='round'\r\n stroke-width='2'/>\r\n <path\r\n d='M16 1H12C11.4477 1 11 1.44772 11 2V6C11 6.55228 11.4477 7 12 7H16C16.5523 7 17 6.55228 17 6V2C17 1.44772 16.5523 1 16 1Z'\r\n stroke='currentColor'\r\n stroke-linecap='round'\r\n stroke-linejoin='round'\r\n stroke-width='2'/>\r\n <path\r\n d='M6 11H2C1.44772 11 1 11.4477 1 12V16C1 16.5523 1.44772 17 2 17H6C6.55228 17 7 16.5523 7 16V12C7 11.4477 6.55228 11 6 11Z'\r\n stroke='currentColor'\r\n stroke-linecap='round'\r\n stroke-linejoin='round'\r\n stroke-width='2'/>\r\n <path\r\n d='M16 11H12C11.4477 11 11 11.4477 11 12V16C11 16.5523 11.4477 17 12 17H16C16.5523 17 17 16.5523 17 16V12C17 11.4477 16.5523 11 16 11Z'\r\n stroke='currentColor'\r\n stroke-linecap='round'\r\n stroke-linejoin='round'\r\n stroke-width='2'/>\r\n </svg>\r\n </a>\r\n <a class='btn btn-icon btn-primary' href='javascript:void(0)'\r\n [ngClass]=\"{'active': viewType == 'list'}\"\r\n (click)=\"onViewSwitch('list')\">\r\n <svg fill='none' height='15' viewBox='0 0 19 15' width='19' xmlns='http://www.w3.org/2000/svg'>\r\n <path\r\n d='M1.5 6C0.67 6 0 6.67 0 7.5C0 8.33 0.67 9 1.5 9C2.33 9 3 8.33 3 7.5C3 6.67 2.33 6 1.5 6ZM1.5 0C0.67 0 0 0.67 0 1.5C0 2.33 0.67 3 1.5 3C2.33 3 3 2.33 3 1.5C3 0.67 2.33 0 1.5 0ZM1.5 12C0.67 12 0 12.68 0 13.5C0 14.32 0.68 15 1.5 15C2.32 15 3 14.32 3 13.5C3 12.68 2.33 12 1.5 12ZM5.5 14.5H17.5C18.05 14.5 18.5 14.05 18.5 13.5C18.5 12.95 18.05 12.5 17.5 12.5H5.5C4.95 12.5 4.5 12.95 4.5 13.5C4.5 14.05 4.95 14.5 5.5 14.5ZM5.5 8.5H17.5C18.05 8.5 18.5 8.05 18.5 7.5C18.5 6.95 18.05 6.5 17.5 6.5H5.5C4.95 6.5 4.5 6.95 4.5 7.5C4.5 8.05 4.95 8.5 5.5 8.5ZM4.5 1.5C4.5 2.05 4.95 2.5 5.5 2.5H17.5C18.05 2.5 18.5 2.05 18.5 1.5C18.5 0.95 18.05 0.5 17.5 0.5H5.5C4.95 0.5 4.5 0.95 4.5 1.5Z'\r\n fill='currentColor'/>\r\n </svg>\r\n </a>\r\n <a class='btn btn-icon btn-primary' href='javascript:void(0)'\r\n [ngClass]=\"{'active': viewType == 'table'}\"\r\n (click)=\"onViewSwitch('table')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" height=\"20\" width=\"20\" fill='none' >\r\n <path\r\n d=\"M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z\"\r\n fill='currentColor'/>\r\n </svg>\r\n </a>\r\n </div>\r\n }\r\n\r\n @if (addButtonVisible) {\r\n <div class='action-add'>\r\n <a class='btn btn-icon btn-primary' href='javascript:void(0)' (click)='onAdd()'>\r\n <fa-icon icon='plus'/>\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n" }]
183
- }], null, { sortByItems: [{
184
- type: Input
185
- }], viewType: [{
186
- type: Input
187
- }], filterButtonVisible: [{
188
- type: Input
189
- }], sortByVisible: [{
190
- type: Input
191
- }], viewTypesVisible: [{
192
- type: Input
193
- }], addButtonVisible: [{
194
- type: Input
195
- }], settingsChange: [{
196
- type: Output
197
- }], add: [{
198
- type: Output
199
- }] }); })();
200
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ControlPanelComponent, { className: "ControlPanelComponent", filePath: "lib\\ui\\components\\data-grid\\control-panel.component.ts", lineNumber: 27 }); })();
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9kYXRhLWdyaWQvY29udHJvbC1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9kYXRhLWdyaWQvY29udHJvbC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsS0FBSztBQUNMLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7SUNqQnZELDhCQUFvQixXQUFBO0lBSWQscUtBQVMsZUFBQSx1QkFBZ0IsQ0FBQSxJQUFDO0lBQzVCLG1CQUFtRjtJQUFuRiw4QkFBbUY7SUFDakYsMkJBRXVCO0lBQ3pCLGlCQUFNLEVBQUEsRUFBQTs7O0lBUkwsY0FBcUM7SUFBckMsMEVBQXFDOzs7O0lBbUJ4QywrQkFBcUIsU0FBQTtJQUNmLHdCQUFRO0lBQUEsaUJBQUs7SUFDakIsOENBS3FEO0lBRGpDLDhQQUE0QixxTEFDYixlQUFBLHVCQUFnQixDQUFBLElBREg7SUFFaEQsaUJBQXFCLEVBQUE7OztJQU5ELGVBQW9CO0lBQXBCLHlDQUFvQix3QkFBQSxrQ0FBQTs7OztJQVcxQywrQkFBcUIsV0FBQTtJQUdoQixzS0FBUyxlQUFBLG9CQUFhLE1BQU0sQ0FBQyxDQUFBLElBQUM7SUFDL0IsbUJBQStGO0lBQS9GLCtCQUErRjtJQUM3RiwyQkFLb0IsZUFBQSxlQUFBLGVBQUE7SUFtQnRCLGlCQUFNLEVBQUE7SUFFUixvQkFFa0M7SUFGbEMsNEJBRWtDO0lBQS9CLHVLQUFTLGVBQUEscUJBQWEsTUFBTSxDQUFDLENBQUEsSUFBQztJQUMvQixtQkFBK0Y7SUFBL0YsK0JBQStGO0lBQzdGLDJCQUV1QjtJQUN6QixpQkFBTSxFQUFBO0lBRVIsb0JBRW1DO0lBRm5DLDZCQUVtQztJQUFoQyx3S0FBUyxlQUFBLHFCQUFhLE9BQU8sQ0FBQyxDQUFBLElBQUM7SUFDaEMsbUJBQWtHO0lBQWxHLGdDQUFrRztJQUNoRyw0QkFFdUI7SUFDekIsaUJBQU0sRUFBQSxFQUFBOzs7SUE3Q0wsY0FBMEM7SUFBMUMsK0VBQTBDO0lBOEIxQyxlQUEwQztJQUExQywrRUFBMEM7SUFTMUMsZUFBMkM7SUFBM0MsZ0ZBQTJDOzs7O0lBWWhELCtCQUF3QixZQUFBO0lBQ3dDLHVLQUFTLGVBQUEsZUFBTyxDQUFBLElBQUM7SUFDN0UsOEJBQXNCO0lBQ3hCLGlCQUFJLEVBQUE7OztBRGxFZCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQUp4RDs7UUFhRSxTQUFTO1FBQ0Esd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFbEMsU0FBUztRQUNDLG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsUUFBRyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0tBbUV2RDtJQWpFQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVM7SUFDakIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7SUFDUixhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN2QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2pDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFN0IsT0FBTztZQUNMLGFBQWEsRUFBRSxhQUFhO1lBQzVCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO0lBQ1IsY0FBYztRQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7d1BBbkZVLHFCQUFxQixTQUFyQixxQkFBcUI7b0VBQXJCLHFCQUFxQjs7WUMxQmxDLDhCQUE4QixhQUFBO1lBRTFCLDhFQWFDO1lBRUQsMkJBQUs7WUFDSCxrQkFBeUI7WUFDM0IsaUJBQU07WUFFTiw4QkFBbUI7WUFDakIsOEVBV0Msa0VBQUEsaUVBQUE7WUE4REgsaUJBQU0sRUFBQSxFQUFBOztZQTdGTixlQWFDO1lBYkQscURBYUM7WUFPQyxlQVdDO1lBWEQsK0NBV0M7WUFFRCxjQW1EQztZQW5ERCxrREFtREM7WUFFRCxjQU1DO1lBTkQsa0RBTUM7OztpRkRwRU0scUJBQXFCO2NBSmpDLFNBQVM7MkJBQ0UsaUNBQWlDO2dCQVNsQyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUdHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFHSSxjQUFjO2tCQUF2QixNQUFNO1lBQ0csR0FBRztrQkFBWixNQUFNOztrRkFqQkkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMyBBcHIgMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBEYXRhVmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VudW1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWRhdGEtZ3JpZC1jb250cm9sLXBhbmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udHJvbC1wYW5lbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRyb2xQYW5lbENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGZpbHRlclZpc2libGU7XHJcbiAgc2VsZWN0ZWRTb3J0Qnk7XHJcbiAgdmlld1R5cGVEZWZhdWx0O1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpIHNvcnRCeUl0ZW1zO1xyXG4gIEBJbnB1dCgpIHZpZXdUeXBlO1xyXG5cclxuICAvL1Zpc2libGVcclxuICBASW5wdXQoKSBmaWx0ZXJCdXR0b25WaXNpYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc29ydEJ5VmlzaWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpZXdUeXBlc1Zpc2libGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhZGRCdXR0b25WaXNpYmxlID0gZmFsc2U7XHJcblxyXG4gIC8vT3V0cHV0c1xyXG4gIEBPdXRwdXQoKSBzZXR0aW5nc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFkZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXREZWZhdWx0cygpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZXMoKTtcclxuICAgIHRoaXMucmVzZXRTZXR0aW5ncygpO1xyXG4gICAgdGhpcy5maXJlU2V0dGluZ3NDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdHMoKSB7XHJcbiAgICBpZiAodGhpcy52aWV3VHlwZSkge1xyXG4gICAgICB0aGlzLnZpZXdUeXBlRGVmYXVsdCA9IHRoaXMudmlld1R5cGU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3VHlwZSA9IERhdGFWaWV3VHlwZS5MaXN0O1xyXG4gICAgICB0aGlzLnZpZXdUeXBlRGVmYXVsdCA9IERhdGFWaWV3VHlwZS5MaXN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZXMoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpcmVTZXR0aW5nc0NoYW5nZSgpIHtcclxuICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2UuZW1pdCh0aGlzLmdldFNldHRpbmdzKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaXJlQWRkKCkge1xyXG4gICAgdGhpcy5hZGQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy9QdWJsaWNcclxuICByZXNldFNldHRpbmdzKCkge1xyXG4gICAgdGhpcy5maWx0ZXJWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkU29ydEJ5ID0gMTsgICAgXHJcbiAgICB0aGlzLnZpZXdUeXBlID0gdGhpcy52aWV3VHlwZURlZmF1bHQ7XHJcbiAgfVxyXG5cclxuICBnZXRTZXR0aW5ncygpIHtcclxuICAgIGxldCBmaWx0ZXJWaXNpYmxlID0gdGhpcy5maWx0ZXJWaXNpYmxlO1xyXG4gICAgbGV0IHNvcnRCeSA9IHRoaXMuc2VsZWN0ZWRTb3J0Qnk7ICAgIFxyXG4gICAgbGV0IHZpZXdUeXBlID0gdGhpcy52aWV3VHlwZTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBmaWx0ZXJWaXNpYmxlOiBmaWx0ZXJWaXNpYmxlLFxyXG4gICAgICBzb3J0Qnk6IHNvcnRCeSwgICAgICBcclxuICAgICAgdmlld1R5cGU6IHZpZXdUeXBlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvbkZpbHRlclRvZ2dsZSgpIHtcclxuICAgIHRoaXMuZmlsdGVyVmlzaWJsZSA9ICF0aGlzLmZpbHRlclZpc2libGU7XHJcbiAgICB0aGlzLmZpcmVTZXR0aW5nc0NoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgb25Tb3J0QnlDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmZpcmVTZXR0aW5nc0NoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgb25WaWV3U3dpdGNoKHZhbHVlKSB7XHJcbiAgICB0aGlzLnZpZXdUeXBlID0gdmFsdWU7XHJcbiAgICB0aGlzLmZpcmVTZXR0aW5nc0NoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgb25BZGQoKSB7XHJcbiAgICB0aGlzLmZpcmVBZGQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz0nb3MtY29udHJvbC1wYW5lbCc+XHJcbiAgPGRpdiBjbGFzcz0nY29udHJvbC13cmFwcGVyJz5cclxuICAgIEBpZiAoZmlsdGVyQnV0dG9uVmlzaWJsZSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPSdmaWx0ZXInPlxyXG4gICAgICAgIDxhIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogZmlsdGVyVmlzaWJsZX1cIlxyXG4gICAgICAgICAgICBjbGFzcz0nYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5J1xyXG4gICAgICAgICAgICBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCknIFxyXG4gICAgICAgICAgICAoY2xpY2spPSdvbkZpbHRlclRvZ2dsZSgpJz5cclxuICAgICAgICAgIDxzdmcgaGVpZ2h0PScyMicgdmlld0JveD0nMCAwIDMyIDMyJyB3aWR0aD0nMjAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD0nTTIgN2guMTQyYTMuOTgxIDMuOTgxIDAgMCAwIDcuNzE2IDBIMzBhMSAxIDAgMCAwIDAtMkg5Ljg1OGEzLjk4MSAzLjk4MSAwIDAgMC03LjcxNiAwSDJhMSAxIDAgMCAwIDAgMnptNC0zYTIgMiAwIDEgMS0yIDIgMiAyIDAgMCAxIDItMnptMjQgMTFoLS4xNDJhMy45ODEgMy45ODEgMCAwIDAtNy43MTYgMEgyYTEgMSAwIDAgMCAwIDJoMjAuMTQyYTMuOTgxIDMuOTgxIDAgMCAwIDcuNzE2IDBIMzBhMSAxIDAgMCAwIDAtMnptLTQgM2EyIDIgMCAxIDEgMi0yIDIgMiAwIDAgMS0yIDJ6bTQgN0gxOS44NThhMy45ODEgMy45ODEgMCAwIDAtNy43MTYgMEgyYTEgMSAwIDAgMCAwIDJoMTAuMTQyYTMuOTgxIDMuOTgxIDAgMCAwIDcuNzE2IDBIMzBhMSAxIDAgMCAwIDAtMnptLTE0IDNhMiAyIDAgMSAxIDItMiAyIDIgMCAwIDEtMiAyeidcclxuICAgICAgICAgICAgICBmaWxsPSdjdXJyZW50Q29sb3InLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvYT4gICAgICBcclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgPGRpdj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz0ndG9vbHMnPlxyXG4gICAgICBAaWYgKHNvcnRCeVZpc2libGUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPSdzb3J0LWJ5Jz5cclxuICAgICAgICAgIDxoMj5Tb3J0IEJ5OjwvaDI+XHJcbiAgICAgICAgICA8a2VuZG8tZHJvcGRvd25saXN0IFtkYXRhXT0nc29ydEJ5SXRlbXMnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9J3ZhbHVlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ9J3RleHQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZVByaW1pdGl2ZV09J3RydWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPSdzZWxlY3RlZFNvcnRCeSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT0nb25Tb3J0QnlDaGFuZ2UoKSc+XHJcbiAgICAgICAgICA8L2tlbmRvLWRyb3Bkb3dubGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmICh2aWV3VHlwZXNWaXNpYmxlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz0nYWN0aW9ucyc+XHJcbiAgICAgICAgICA8YSBjbGFzcz0nYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5JyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCknXHJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IHZpZXdUeXBlID09ICdncmlkJ31cIlxyXG4gICAgICAgICAgICAgKGNsaWNrKT1cIm9uVmlld1N3aXRjaCgnZ3JpZCcpXCI+XHJcbiAgICAgICAgICAgIDxzdmcgZmlsbD0nbm9uZScgaGVpZ2h0PScxOCcgdmlld0JveD0nMCAwIDE4IDE4JyB3aWR0aD0nMTgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XHJcbiAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgIGQ9J002IDFIMkMxLjQ0NzcyIDEgMSAxLjQ0NzcyIDEgMlY2QzEgNi41NTIyOCAxLjQ0NzcyIDcgMiA3SDZDNi41NTIyOCA3IDcgNi41NTIyOCA3IDZWMkM3IDEuNDQ3NzIgNi41NTIyOCAxIDYgMVonXHJcbiAgICAgICAgICAgICAgICBzdHJva2U9J2N1cnJlbnRDb2xvcidcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPSdyb3VuZCdcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj0ncm91bmQnXHJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9JzInLz5cclxuICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgZD0nTTE2IDFIMTJDMTEuNDQ3NyAxIDExIDEuNDQ3NzIgMTEgMlY2QzExIDYuNTUyMjggMTEuNDQ3NyA3IDEyIDdIMTZDMTYuNTUyMyA3IDE3IDYuNTUyMjggMTcgNlYyQzE3IDEuNDQ3NzIgMTYuNTUyMyAxIDE2IDFaJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlPSdjdXJyZW50Q29sb3InXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD0ncm91bmQnXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49J3JvdW5kJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPScyJy8+XHJcbiAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgIGQ9J002IDExSDJDMS40NDc3MiAxMSAxIDExLjQ0NzcgMSAxMlYxNkMxIDE2LjU1MjMgMS40NDc3MiAxNyAyIDE3SDZDNi41NTIyOCAxNyA3IDE2LjU1MjMgNyAxNlYxMkM3IDExLjQ0NzcgNi41NTIyOCAxMSA2IDExWidcclxuICAgICAgICAgICAgICAgIHN0cm9rZT0nY3VycmVudENvbG9yJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCdcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD0nMicvPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPSdNMTYgMTFIMTJDMTEuNDQ3NyAxMSAxMSAxMS40NDc3IDExIDEyVjE2QzExIDE2LjU1MjMgMTEuNDQ3NyAxNyAxMiAxN0gxNkMxNi41NTIzIDE3IDE3IDE2LjU1MjMgMTcgMTZWMTJDMTcgMTEuNDQ3NyAxNi41NTIzIDExIDE2IDExWidcclxuICAgICAgICAgICAgICAgIHN0cm9rZT0nY3VycmVudENvbG9yJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCdcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD0nMicvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDxhIGNsYXNzPSdidG4gYnRuLWljb24gYnRuLXByaW1hcnknIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKSdcclxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogdmlld1R5cGUgPT0gJ2xpc3QnfVwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwib25WaWV3U3dpdGNoKCdsaXN0JylcIj5cclxuICAgICAgICAgICAgPHN2ZyBmaWxsPSdub25lJyBoZWlnaHQ9JzE1JyB2aWV3Qm94PScwIDAgMTkgMTUnIHdpZHRoPScxOScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz5cclxuICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgZD0nTTEuNSA2QzAuNjcgNiAwIDYuNjcgMCA3LjVDMCA4LjMzIDAuNjcgOSAxLjUgOUMyLjMzIDkgMyA4LjMzIDMgNy41QzMgNi42NyAyLjMzIDYgMS41IDZaTTEuNSAwQzAuNjcgMCAwIDAuNjcgMCAxLjVDMCAyLjMzIDAuNjcgMyAxLjUgM0MyLjMzIDMgMyAyLjMzIDMgMS41QzMgMC42NyAyLjMzIDAgMS41IDBaTTEuNSAxMkMwLjY3IDEyIDAgMTIuNjggMCAxMy41QzAgMTQuMzIgMC42OCAxNSAxLjUgMTVDMi4zMiAxNSAzIDE0LjMyIDMgMTMuNUMzIDEyLjY4IDIuMzMgMTIgMS41IDEyWk01LjUgMTQuNUgxNy41QzE4LjA1IDE0LjUgMTguNSAxNC4wNSAxOC41IDEzLjVDMTguNSAxMi45NSAxOC4wNSAxMi41IDE3LjUgMTIuNUg1LjVDNC45NSAxMi41IDQuNSAxMi45NSA0LjUgMTMuNUM0LjUgMTQuMDUgNC45NSAxNC41IDUuNSAxNC41Wk01LjUgOC41SDE3LjVDMTguMDUgOC41IDE4LjUgOC4wNSAxOC41IDcuNUMxOC41IDYuOTUgMTguMDUgNi41IDE3LjUgNi41SDUuNUM0Ljk1IDYuNSA0LjUgNi45NSA0LjUgNy41QzQuNSA4LjA1IDQuOTUgOC41IDUuNSA4LjVaTTQuNSAxLjVDNC41IDIuMDUgNC45NSAyLjUgNS41IDIuNUgxNy41QzE4LjA1IDIuNSAxOC41IDIuMDUgMTguNSAxLjVDMTguNSAwLjk1IDE4LjA1IDAuNSAxNy41IDAuNUg1LjVDNC45NSAwLjUgNC41IDAuOTUgNC41IDEuNVonXHJcbiAgICAgICAgICAgICAgICBmaWxsPSdjdXJyZW50Q29sb3InLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8YSBjbGFzcz0nYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5JyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCknXHJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IHZpZXdUeXBlID09ICd0YWJsZSd9XCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJvblZpZXdTd2l0Y2goJ3RhYmxlJylcIj5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCIgaGVpZ2h0PVwiMjBcIiB3aWR0aD1cIjIwXCIgZmlsbD0nbm9uZScgPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTY0IDI1NmwwLTk2IDE2MCAwIDAgOTZMNjQgMjU2em0wIDY0bDE2MCAwIDAgOTZMNjQgNDE2bDAtOTZ6bTIyNCA5NmwwLTk2IDE2MCAwIDAgOTYtMTYwIDB6TTQ0OCAyNTZsLTE2MCAwIDAtOTYgMTYwIDAgMCA5NnpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpcIlxyXG4gICAgICAgICAgICAgICAgZmlsbD0nY3VycmVudENvbG9yJy8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgKGFkZEJ1dHRvblZpc2libGUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPSdhY3Rpb24tYWRkJz5cclxuICAgICAgICAgIDxhIGNsYXNzPSdidG4gYnRuLWljb24gYnRuLXByaW1hcnknIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKScgKGNsaWNrKT0nb25BZGQoKSc+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIGljb249J3BsdXMnLz5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=