@paperless/angular 2.20.1 → 2.22.0-alpha.2

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 (120) hide show
  1. package/esm2022/lib/base/form.component.mjs +113 -0
  2. package/esm2022/lib/base/number-value-accessor.mjs +36 -0
  3. package/esm2022/lib/base/upload.component.mjs +57 -0
  4. package/esm2022/lib/base/value-accessor.mjs +43 -0
  5. package/esm2022/lib/directives/p-checkbox.directive.mjs +39 -0
  6. package/esm2022/lib/directives/p-cropper.directive.mjs +37 -0
  7. package/esm2022/lib/directives/p-datepicker.directive.mjs +38 -0
  8. package/esm2022/lib/directives/p-field-number.directive.mjs +34 -0
  9. package/esm2022/lib/directives/p-field.directive.mjs +38 -0
  10. package/esm2022/lib/directives/p-pagination-pages.directive.mjs +41 -0
  11. package/esm2022/lib/directives/p-pagination-size.directive.mjs +41 -0
  12. package/esm2022/lib/directives/p-radio.directive.mjs +63 -0
  13. package/esm2022/lib/directives/p-select.directive.mjs +37 -0
  14. package/esm2022/lib/directives/p-toggle.directive.mjs +38 -0
  15. package/{esm2020 → esm2022}/lib/modules/overlay/overlay.module.mjs +15 -15
  16. package/esm2022/lib/modules/overlay/overlay.ref.mjs +14 -0
  17. package/esm2022/lib/modules/overlay/services/overlay.service.mjs +77 -0
  18. package/esm2022/lib/modules/table/base/table.component.mjs +229 -0
  19. package/esm2022/lib/modules/table/components/table/table.component.mjs +1078 -0
  20. package/esm2022/lib/modules/table/components/table-cell/table-cell.component.mjs +170 -0
  21. package/esm2022/lib/modules/table/components/table-column/table-column.component.mjs +62 -0
  22. package/esm2022/lib/modules/table/components/table-extra-header/table-extra-header.component.mjs +40 -0
  23. package/esm2022/lib/modules/table/components/table-row-action/table-row-action.component.mjs +88 -0
  24. package/{esm2020 → esm2022}/lib/modules/table/directives/p-table-custom-actions.directive.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/modules/table/directives/p-table-custom-filter.directive.mjs +4 -4
  26. package/esm2022/lib/modules/table/directives/p-table-custom-row.directive.mjs +20 -0
  27. package/{esm2020 → esm2022}/lib/modules/table/directives/p-table-filter-modal.directive.mjs +4 -4
  28. package/esm2022/lib/modules/table/directives/p-table-footer.directive.mjs +52 -0
  29. package/esm2022/lib/modules/table/directives/p-table-header.directive.mjs +59 -0
  30. package/esm2022/lib/modules/table/directives/p-table-ngx.directive.mjs +129 -0
  31. package/esm2022/lib/modules/table/directives/p-table.directive.mjs +77 -0
  32. package/{esm2020 → esm2022}/lib/modules/table/table.module.mjs +5 -5
  33. package/esm2022/lib/modules/toast/components/toast-container/toast-container.component.mjs +39 -0
  34. package/esm2022/lib/modules/toast/directives/toast.directive.mjs +51 -0
  35. package/esm2022/lib/modules/toast/services/toast.service.mjs +51 -0
  36. package/{esm2020 → esm2022}/lib/modules/toast/toast.module.mjs +5 -5
  37. package/{esm2020 → esm2022}/lib/paperless.module.mjs +5 -5
  38. package/esm2022/lib/pipes/currency.pipe.mjs +21 -0
  39. package/esm2022/lib/pipes/date.pipe.mjs +21 -0
  40. package/esm2022/lib/pipes/safe.pipe.mjs +34 -0
  41. package/{esm2020 → esm2022}/lib/pipes/select-autocomplete.pipe.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/pipes/select-select-all.pipe.mjs +4 -4
  43. package/esm2022/lib/stencil/components.mjs +2013 -0
  44. package/esm2022/lib/stencil.module.mjs +17 -0
  45. package/{fesm2020 → fesm2022}/paperless-angular.mjs +1045 -766
  46. package/{fesm2020 → fesm2022}/paperless-angular.mjs.map +1 -1
  47. package/lib/base/upload.component.d.ts +1 -1
  48. package/lib/modules/table/base/table.component.d.ts +1 -1
  49. package/lib/modules/table/components/table/table.component.d.ts +1 -1
  50. package/lib/modules/table/components/table-cell/table-cell.component.d.ts +1 -1
  51. package/lib/modules/table/components/table-column/table-column.component.d.ts +1 -1
  52. package/lib/modules/table/components/table-extra-header/table-extra-header.component.d.ts +1 -1
  53. package/lib/modules/table/components/table-row-action/table-row-action.component.d.ts +4 -4
  54. package/lib/modules/table/directives/p-table-custom-row.directive.d.ts +1 -1
  55. package/lib/modules/toast/components/toast-container/toast-container.component.d.ts +1 -1
  56. package/lib/modules/toast/directives/toast.directive.d.ts +1 -1
  57. package/lib/modules/toast/types.d.ts +1 -1
  58. package/lib/stencil/components.d.ts +63 -63
  59. package/package.json +8 -14
  60. package/esm2020/lib/base/form.component.mjs +0 -115
  61. package/esm2020/lib/base/number-value-accessor.mjs +0 -33
  62. package/esm2020/lib/base/upload.component.mjs +0 -56
  63. package/esm2020/lib/base/value-accessor.mjs +0 -41
  64. package/esm2020/lib/directives/p-checkbox.directive.mjs +0 -39
  65. package/esm2020/lib/directives/p-cropper.directive.mjs +0 -37
  66. package/esm2020/lib/directives/p-datepicker.directive.mjs +0 -38
  67. package/esm2020/lib/directives/p-field-number.directive.mjs +0 -34
  68. package/esm2020/lib/directives/p-field.directive.mjs +0 -38
  69. package/esm2020/lib/directives/p-pagination-pages.directive.mjs +0 -41
  70. package/esm2020/lib/directives/p-pagination-size.directive.mjs +0 -41
  71. package/esm2020/lib/directives/p-radio.directive.mjs +0 -60
  72. package/esm2020/lib/directives/p-select.directive.mjs +0 -37
  73. package/esm2020/lib/directives/p-toggle.directive.mjs +0 -38
  74. package/esm2020/lib/modules/overlay/overlay.ref.mjs +0 -12
  75. package/esm2020/lib/modules/overlay/services/overlay.service.mjs +0 -74
  76. package/esm2020/lib/modules/table/base/table.component.mjs +0 -227
  77. package/esm2020/lib/modules/table/components/table/table.component.mjs +0 -1006
  78. package/esm2020/lib/modules/table/components/table-cell/table-cell.component.mjs +0 -152
  79. package/esm2020/lib/modules/table/components/table-column/table-column.component.mjs +0 -59
  80. package/esm2020/lib/modules/table/components/table-extra-header/table-extra-header.component.mjs +0 -37
  81. package/esm2020/lib/modules/table/components/table-row-action/table-row-action.component.mjs +0 -73
  82. package/esm2020/lib/modules/table/directives/p-table-custom-row.directive.mjs +0 -19
  83. package/esm2020/lib/modules/table/directives/p-table-footer.directive.mjs +0 -52
  84. package/esm2020/lib/modules/table/directives/p-table-header.directive.mjs +0 -59
  85. package/esm2020/lib/modules/table/directives/p-table-ngx.directive.mjs +0 -128
  86. package/esm2020/lib/modules/table/directives/p-table.directive.mjs +0 -77
  87. package/esm2020/lib/modules/toast/components/toast-container/toast-container.component.mjs +0 -36
  88. package/esm2020/lib/modules/toast/directives/toast.directive.mjs +0 -51
  89. package/esm2020/lib/modules/toast/services/toast.service.mjs +0 -53
  90. package/esm2020/lib/pipes/currency.pipe.mjs +0 -20
  91. package/esm2020/lib/pipes/date.pipe.mjs +0 -20
  92. package/esm2020/lib/pipes/safe.pipe.mjs +0 -33
  93. package/esm2020/lib/stencil/components.mjs +0 -1865
  94. package/esm2020/lib/stencil.module.mjs +0 -17
  95. package/fesm2015/paperless-angular.mjs +0 -4914
  96. package/fesm2015/paperless-angular.mjs.map +0 -1
  97. /package/{esm2020 → esm2022}/lib/animations/fade.mjs +0 -0
  98. /package/{esm2020 → esm2022}/lib/animations/index.mjs +0 -0
  99. /package/{esm2020 → esm2022}/lib/animations/slide.mjs +0 -0
  100. /package/{esm2020 → esm2022}/lib/base/index.mjs +0 -0
  101. /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
  102. /package/{esm2020 → esm2022}/lib/modules/index.mjs +0 -0
  103. /package/{esm2020 → esm2022}/lib/modules/overlay/index.mjs +0 -0
  104. /package/{esm2020 → esm2022}/lib/modules/overlay/services/index.mjs +0 -0
  105. /package/{esm2020 → esm2022}/lib/modules/table/base/index.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/modules/table/components/index.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/modules/table/components/table/constants.mjs +0 -0
  108. /package/{esm2020 → esm2022}/lib/modules/table/directives/index.mjs +0 -0
  109. /package/{esm2020 → esm2022}/lib/modules/table/index.mjs +0 -0
  110. /package/{esm2020 → esm2022}/lib/modules/table/utils.mjs +0 -0
  111. /package/{esm2020 → esm2022}/lib/modules/toast/components/index.mjs +0 -0
  112. /package/{esm2020 → esm2022}/lib/modules/toast/directives/index.mjs +0 -0
  113. /package/{esm2020 → esm2022}/lib/modules/toast/index.mjs +0 -0
  114. /package/{esm2020 → esm2022}/lib/modules/toast/services/index.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/modules/toast/types.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/stencil/angular-component-lib/utils.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/stencil/index.mjs +0 -0
  119. /package/{esm2020 → esm2022}/paperless-angular.mjs +0 -0
  120. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -1,1865 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /* tslint:disable */
3
- /* auto-generated angular directive proxies */
4
- import { ChangeDetectionStrategy, Component } from '@angular/core';
5
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
- import * as i0 from "@angular/core";
7
- let PAccordion = class PAccordion {
8
- constructor(c, r, z) {
9
- this.z = z;
10
- c.detach();
11
- this.el = r.nativeElement;
12
- proxyOutputs(this, this.el, ['isOpen']);
13
- }
14
- };
15
- PAccordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
16
- PAccordion.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PAccordion, selector: "p-accordion", inputs: { closeable: "closeable", header: "header", open: "open", openable: "openable", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
- PAccordion = __decorate([
18
- ProxyCmp({
19
- inputs: ['closeable', 'header', 'open', 'openable', 'variant']
20
- })
21
- ], PAccordion);
22
- export { PAccordion };
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PAccordion, decorators: [{
24
- type: Component,
25
- args: [{
26
- selector: 'p-accordion',
27
- changeDetection: ChangeDetectionStrategy.OnPush,
28
- template: '<ng-content></ng-content>',
29
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
30
- inputs: ['closeable', 'header', 'open', 'openable', 'variant'],
31
- }]
32
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
33
- let PAttachment = class PAttachment {
34
- constructor(c, r, z) {
35
- this.z = z;
36
- c.detach();
37
- this.el = r.nativeElement;
38
- proxyOutputs(this, this.el, ['upload', 'download', 'delete']);
39
- }
40
- };
41
- PAttachment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PAttachment, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
42
- PAttachment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PAttachment, selector: "p-attachment", inputs: { accept: "accept", cameraTooltip: "cameraTooltip", deleteTooltip: "deleteTooltip", downloadTooltip: "downloadTooltip", enableCameraOnMobile: "enableCameraOnMobile", error: "error", fileId: "fileId", helper: "helper", label: "label", loading: "loading", mode: "mode", placeholder: "placeholder", required: "required", uploadTooltip: "uploadTooltip", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
- PAttachment = __decorate([
44
- ProxyCmp({
45
- inputs: ['accept', 'cameraTooltip', 'deleteTooltip', 'downloadTooltip', 'enableCameraOnMobile', 'error', 'fileId', 'helper', 'label', 'loading', 'mode', 'placeholder', 'required', 'uploadTooltip', 'value']
46
- })
47
- ], PAttachment);
48
- export { PAttachment };
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PAttachment, decorators: [{
50
- type: Component,
51
- args: [{
52
- selector: 'p-attachment',
53
- changeDetection: ChangeDetectionStrategy.OnPush,
54
- template: '<ng-content></ng-content>',
55
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
56
- inputs: ['accept', 'cameraTooltip', 'deleteTooltip', 'downloadTooltip', 'enableCameraOnMobile', 'error', 'fileId', 'helper', 'label', 'loading', 'mode', 'placeholder', 'required', 'uploadTooltip', 'value'],
57
- }]
58
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
59
- let PAvatar = class PAvatar {
60
- constructor(c, r, z) {
61
- this.z = z;
62
- c.detach();
63
- this.el = r.nativeElement;
64
- }
65
- };
66
- PAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
67
- PAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PAvatar, selector: "p-avatar", inputs: { defaultImage: "defaultImage", letters: "letters", size: "size", src: "src", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
- PAvatar = __decorate([
69
- ProxyCmp({
70
- inputs: ['defaultImage', 'letters', 'size', 'src', 'variant']
71
- })
72
- ], PAvatar);
73
- export { PAvatar };
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PAvatar, decorators: [{
75
- type: Component,
76
- args: [{
77
- selector: 'p-avatar',
78
- changeDetection: ChangeDetectionStrategy.OnPush,
79
- template: '<ng-content></ng-content>',
80
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
81
- inputs: ['defaultImage', 'letters', 'size', 'src', 'variant'],
82
- }]
83
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
84
- let PAvatarGroup = class PAvatarGroup {
85
- constructor(c, r, z) {
86
- this.z = z;
87
- c.detach();
88
- this.el = r.nativeElement;
89
- }
90
- };
91
- PAvatarGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PAvatarGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
92
- PAvatarGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PAvatarGroup, selector: "p-avatar-group", inputs: { extra: "extra" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
- PAvatarGroup = __decorate([
94
- ProxyCmp({
95
- inputs: ['extra']
96
- })
97
- ], PAvatarGroup);
98
- export { PAvatarGroup };
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PAvatarGroup, decorators: [{
100
- type: Component,
101
- args: [{
102
- selector: 'p-avatar-group',
103
- changeDetection: ChangeDetectionStrategy.OnPush,
104
- template: '<ng-content></ng-content>',
105
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
106
- inputs: ['extra'],
107
- }]
108
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
109
- let PBackdrop = class PBackdrop {
110
- constructor(c, r, z) {
111
- this.z = z;
112
- c.detach();
113
- this.el = r.nativeElement;
114
- proxyOutputs(this, this.el, ['clicked']);
115
- }
116
- };
117
- PBackdrop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PBackdrop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
118
- PBackdrop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PBackdrop, selector: "p-backdrop", inputs: { applyBlur: "applyBlur", class: "class", closing: "closing", scrollLock: "scrollLock", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
- PBackdrop = __decorate([
120
- ProxyCmp({
121
- inputs: ['applyBlur', 'class', 'closing', 'scrollLock', 'variant']
122
- })
123
- ], PBackdrop);
124
- export { PBackdrop };
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PBackdrop, decorators: [{
126
- type: Component,
127
- args: [{
128
- selector: 'p-backdrop',
129
- changeDetection: ChangeDetectionStrategy.OnPush,
130
- template: '<ng-content></ng-content>',
131
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
132
- inputs: ['applyBlur', 'class', 'closing', 'scrollLock', 'variant'],
133
- }]
134
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
135
- let PBadge = class PBadge {
136
- constructor(c, r, z) {
137
- this.z = z;
138
- c.detach();
139
- this.el = r.nativeElement;
140
- }
141
- };
142
- PBadge.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
143
- PBadge.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PBadge, selector: "p-badge", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
- PBadge = __decorate([
145
- ProxyCmp({})
146
- ], PBadge);
147
- export { PBadge };
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PBadge, decorators: [{
149
- type: Component,
150
- args: [{
151
- selector: 'p-badge',
152
- changeDetection: ChangeDetectionStrategy.OnPush,
153
- template: '<ng-content></ng-content>',
154
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
155
- inputs: [],
156
- }]
157
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
158
- let PButton = class PButton {
159
- constructor(c, r, z) {
160
- this.z = z;
161
- c.detach();
162
- this.el = r.nativeElement;
163
- proxyOutputs(this, this.el, ['onClick']);
164
- }
165
- };
166
- PButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
167
- PButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PButton, selector: "p-button", inputs: { active: "active", as: "as", buttonGroupPosition: "buttonGroupPosition", chevron: "chevron", chevronPosition: "chevronPosition", class: "class", disabled: "disabled", error: "error", href: "href", icon: "icon", iconClass: "iconClass", iconFlip: "iconFlip", iconOnly: "iconOnly", iconPosition: "iconPosition", iconRotate: "iconRotate", inheritText: "inheritText", label: "label", loading: "loading", size: "size", tabIndex: "tabIndex", target: "target", type: "type", underline: "underline", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
168
- PButton = __decorate([
169
- ProxyCmp({
170
- inputs: ['active', 'as', 'buttonGroupPosition', 'chevron', 'chevronPosition', 'class', 'disabled', 'error', 'href', 'icon', 'iconClass', 'iconFlip', 'iconOnly', 'iconPosition', 'iconRotate', 'inheritText', 'label', 'loading', 'size', 'tabIndex', 'target', 'type', 'underline', 'variant']
171
- })
172
- ], PButton);
173
- export { PButton };
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PButton, decorators: [{
175
- type: Component,
176
- args: [{
177
- selector: 'p-button',
178
- changeDetection: ChangeDetectionStrategy.OnPush,
179
- template: '<ng-content></ng-content>',
180
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
181
- inputs: ['active', 'as', 'buttonGroupPosition', 'chevron', 'chevronPosition', 'class', 'disabled', 'error', 'href', 'icon', 'iconClass', 'iconFlip', 'iconOnly', 'iconPosition', 'iconRotate', 'inheritText', 'label', 'loading', 'size', 'tabIndex', 'target', 'type', 'underline', 'variant'],
182
- }]
183
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
184
- let PButtonGroup = class PButtonGroup {
185
- constructor(c, r, z) {
186
- this.z = z;
187
- c.detach();
188
- this.el = r.nativeElement;
189
- }
190
- };
191
- PButtonGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PButtonGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
192
- PButtonGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PButtonGroup, selector: "p-button-group", inputs: { size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
193
- PButtonGroup = __decorate([
194
- ProxyCmp({
195
- inputs: ['size']
196
- })
197
- ], PButtonGroup);
198
- export { PButtonGroup };
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PButtonGroup, decorators: [{
200
- type: Component,
201
- args: [{
202
- selector: 'p-button-group',
203
- changeDetection: ChangeDetectionStrategy.OnPush,
204
- template: '<ng-content></ng-content>',
205
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
206
- inputs: ['size'],
207
- }]
208
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
209
- let PCalendar = class PCalendar {
210
- constructor(c, r, z) {
211
- this.z = z;
212
- c.detach();
213
- this.el = r.nativeElement;
214
- proxyOutputs(this, this.el, ['valueChange']);
215
- }
216
- };
217
- PCalendar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCalendar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
218
- PCalendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PCalendar, selector: "p-calendar", inputs: { disableWeekends: "disableWeekends", disabledDates: "disabledDates", enableToday: "enableToday", maxDate: "maxDate", minDate: "minDate", mode: "mode", preselectToday: "preselectToday", todayText: "todayText", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
219
- PCalendar = __decorate([
220
- ProxyCmp({
221
- inputs: ['disableWeekends', 'disabledDates', 'enableToday', 'maxDate', 'minDate', 'mode', 'preselectToday', 'todayText', 'value', 'variant']
222
- })
223
- ], PCalendar);
224
- export { PCalendar };
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCalendar, decorators: [{
226
- type: Component,
227
- args: [{
228
- selector: 'p-calendar',
229
- changeDetection: ChangeDetectionStrategy.OnPush,
230
- template: '<ng-content></ng-content>',
231
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
232
- inputs: ['disableWeekends', 'disabledDates', 'enableToday', 'maxDate', 'minDate', 'mode', 'preselectToday', 'todayText', 'value', 'variant'],
233
- }]
234
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
235
- let PCardBody = class PCardBody {
236
- constructor(c, r, z) {
237
- this.z = z;
238
- c.detach();
239
- this.el = r.nativeElement;
240
- }
241
- };
242
- PCardBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCardBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
243
- PCardBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PCardBody, selector: "p-card-body", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
244
- PCardBody = __decorate([
245
- ProxyCmp({})
246
- ], PCardBody);
247
- export { PCardBody };
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCardBody, decorators: [{
249
- type: Component,
250
- args: [{
251
- selector: 'p-card-body',
252
- changeDetection: ChangeDetectionStrategy.OnPush,
253
- template: '<ng-content></ng-content>',
254
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
255
- inputs: [],
256
- }]
257
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
258
- let PCardContainer = class PCardContainer {
259
- constructor(c, r, z) {
260
- this.z = z;
261
- c.detach();
262
- this.el = r.nativeElement;
263
- }
264
- };
265
- PCardContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCardContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
266
- PCardContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PCardContainer, selector: "p-card-container", inputs: { active: "active", bgClass: "bgClass", border: "border", hoverable: "hoverable", shadow: "shadow", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
267
- PCardContainer = __decorate([
268
- ProxyCmp({
269
- inputs: ['active', 'bgClass', 'border', 'hoverable', 'shadow', 'variant']
270
- })
271
- ], PCardContainer);
272
- export { PCardContainer };
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCardContainer, decorators: [{
274
- type: Component,
275
- args: [{
276
- selector: 'p-card-container',
277
- changeDetection: ChangeDetectionStrategy.OnPush,
278
- template: '<ng-content></ng-content>',
279
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
280
- inputs: ['active', 'bgClass', 'border', 'hoverable', 'shadow', 'variant'],
281
- }]
282
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
283
- let PCardHeader = class PCardHeader {
284
- constructor(c, r, z) {
285
- this.z = z;
286
- c.detach();
287
- this.el = r.nativeElement;
288
- }
289
- };
290
- PCardHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCardHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
291
- PCardHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PCardHeader, selector: "p-card-header", inputs: { divider: "divider", header: "header", icon: "icon", iconFlip: "iconFlip", iconRotate: "iconRotate", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
292
- PCardHeader = __decorate([
293
- ProxyCmp({
294
- inputs: ['divider', 'header', 'icon', 'iconFlip', 'iconRotate', 'variant']
295
- })
296
- ], PCardHeader);
297
- export { PCardHeader };
298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCardHeader, decorators: [{
299
- type: Component,
300
- args: [{
301
- selector: 'p-card-header',
302
- changeDetection: ChangeDetectionStrategy.OnPush,
303
- template: '<ng-content></ng-content>',
304
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
305
- inputs: ['divider', 'header', 'icon', 'iconFlip', 'iconRotate', 'variant'],
306
- }]
307
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
308
- let PCheckbox = class PCheckbox {
309
- constructor(c, r, z) {
310
- this.z = z;
311
- c.detach();
312
- this.el = r.nativeElement;
313
- proxyOutputs(this, this.el, ['checkedChange', 'indeterminateChange']);
314
- }
315
- };
316
- PCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
317
- PCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PCheckbox, selector: "p-checkbox", inputs: { checked: "checked", disabled: "disabled", id: "id", indeterminate: "indeterminate", name: "name", required: "required" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
318
- PCheckbox = __decorate([
319
- ProxyCmp({
320
- inputs: ['checked', 'disabled', 'id', 'indeterminate', 'name', 'required']
321
- })
322
- ], PCheckbox);
323
- export { PCheckbox };
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCheckbox, decorators: [{
325
- type: Component,
326
- args: [{
327
- selector: 'p-checkbox',
328
- changeDetection: ChangeDetectionStrategy.OnPush,
329
- template: '<ng-content></ng-content>',
330
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
331
- inputs: ['checked', 'disabled', 'id', 'indeterminate', 'name', 'required'],
332
- }]
333
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
334
- let PContentSlider = class PContentSlider {
335
- constructor(c, r, z) {
336
- this.z = z;
337
- c.detach();
338
- this.el = r.nativeElement;
339
- }
340
- };
341
- PContentSlider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PContentSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
342
- PContentSlider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PContentSlider, selector: "p-content-slider", inputs: { disableAutoCenter: "disableAutoCenter", disableDrag: "disableDrag", disableIndicatorClick: "disableIndicatorClick", hideMobileIndicator: "hideMobileIndicator" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
343
- PContentSlider = __decorate([
344
- ProxyCmp({
345
- inputs: ['disableAutoCenter', 'disableDrag', 'disableIndicatorClick', 'hideMobileIndicator']
346
- })
347
- ], PContentSlider);
348
- export { PContentSlider };
349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PContentSlider, decorators: [{
350
- type: Component,
351
- args: [{
352
- selector: 'p-content-slider',
353
- changeDetection: ChangeDetectionStrategy.OnPush,
354
- template: '<ng-content></ng-content>',
355
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
356
- inputs: ['disableAutoCenter', 'disableDrag', 'disableIndicatorClick', 'hideMobileIndicator'],
357
- }]
358
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
359
- let PCropper = class PCropper {
360
- constructor(c, r, z) {
361
- this.z = z;
362
- c.detach();
363
- this.el = r.nativeElement;
364
- proxyOutputs(this, this.el, ['valueChange']);
365
- }
366
- };
367
- PCropper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCropper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
368
- PCropper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PCropper, selector: "p-cropper", inputs: { returnType: "returnType", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
369
- PCropper = __decorate([
370
- ProxyCmp({
371
- inputs: ['returnType', 'value']
372
- })
373
- ], PCropper);
374
- export { PCropper };
375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PCropper, decorators: [{
376
- type: Component,
377
- args: [{
378
- selector: 'p-cropper',
379
- changeDetection: ChangeDetectionStrategy.OnPush,
380
- template: '<ng-content></ng-content>',
381
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
382
- inputs: ['returnType', 'value'],
383
- }]
384
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
385
- let PDatepicker = class PDatepicker {
386
- constructor(c, r, z) {
387
- this.z = z;
388
- c.detach();
389
- this.el = r.nativeElement;
390
- proxyOutputs(this, this.el, ['valueChange']);
391
- }
392
- };
393
- PDatepicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDatepicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
394
- PDatepicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDatepicker, selector: "p-datepicker", inputs: { disableWeekends: "disableWeekends", disabled: "disabled", disabledDates: "disabledDates", enableNativePicker: "enableNativePicker", enableToday: "enableToday", error: "error", format: "format", helper: "helper", hideIconWhenFilled: "hideIconWhenFilled", label: "label", loading: "loading", maxDate: "maxDate", minDate: "minDate", mode: "mode", placeholder: "placeholder", placement: "placement", prefix: "prefix", preselectToday: "preselectToday", required: "required", showOptional: "showOptional", size: "size", strategy: "strategy", todayText: "todayText", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
395
- PDatepicker = __decorate([
396
- ProxyCmp({
397
- inputs: ['disableWeekends', 'disabled', 'disabledDates', 'enableNativePicker', 'enableToday', 'error', 'format', 'helper', 'hideIconWhenFilled', 'label', 'loading', 'maxDate', 'minDate', 'mode', 'placeholder', 'placement', 'prefix', 'preselectToday', 'required', 'showOptional', 'size', 'strategy', 'todayText', 'value']
398
- })
399
- ], PDatepicker);
400
- export { PDatepicker };
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDatepicker, decorators: [{
402
- type: Component,
403
- args: [{
404
- selector: 'p-datepicker',
405
- changeDetection: ChangeDetectionStrategy.OnPush,
406
- template: '<ng-content></ng-content>',
407
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
408
- inputs: ['disableWeekends', 'disabled', 'disabledDates', 'enableNativePicker', 'enableToday', 'error', 'format', 'helper', 'hideIconWhenFilled', 'label', 'loading', 'maxDate', 'minDate', 'mode', 'placeholder', 'placement', 'prefix', 'preselectToday', 'required', 'showOptional', 'size', 'strategy', 'todayText', 'value'],
409
- }]
410
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
411
- let PDivider = class PDivider {
412
- constructor(c, r, z) {
413
- this.z = z;
414
- c.detach();
415
- this.el = r.nativeElement;
416
- }
417
- };
418
- PDivider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
419
- PDivider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDivider, selector: "p-divider", inputs: { alignContent: "alignContent", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
420
- PDivider = __decorate([
421
- ProxyCmp({
422
- inputs: ['alignContent', 'variant']
423
- })
424
- ], PDivider);
425
- export { PDivider };
426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDivider, decorators: [{
427
- type: Component,
428
- args: [{
429
- selector: 'p-divider',
430
- changeDetection: ChangeDetectionStrategy.OnPush,
431
- template: '<ng-content></ng-content>',
432
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
433
- inputs: ['alignContent', 'variant'],
434
- }]
435
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
436
- let PDrawer = class PDrawer {
437
- constructor(c, r, z) {
438
- this.z = z;
439
- c.detach();
440
- this.el = r.nativeElement;
441
- proxyOutputs(this, this.el, ['closeClicked', 'closed']);
442
- }
443
- };
444
- PDrawer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
445
- PDrawer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDrawer, selector: "p-drawer", inputs: { applyBlur: "applyBlur", backdropClickClose: "backdropClickClose", canClose: "canClose", header: "header", scrollLock: "scrollLock", show: "show", showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
446
- PDrawer = __decorate([
447
- ProxyCmp({
448
- inputs: ['applyBlur', 'backdropClickClose', 'canClose', 'header', 'scrollLock', 'show', 'showClose']
449
- })
450
- ], PDrawer);
451
- export { PDrawer };
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDrawer, decorators: [{
453
- type: Component,
454
- args: [{
455
- selector: 'p-drawer',
456
- changeDetection: ChangeDetectionStrategy.OnPush,
457
- template: '<ng-content></ng-content>',
458
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
459
- inputs: ['applyBlur', 'backdropClickClose', 'canClose', 'header', 'scrollLock', 'show', 'showClose'],
460
- }]
461
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
462
- let PDrawerBody = class PDrawerBody {
463
- constructor(c, r, z) {
464
- this.z = z;
465
- c.detach();
466
- this.el = r.nativeElement;
467
- }
468
- };
469
- PDrawerBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDrawerBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
470
- PDrawerBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDrawerBody, selector: "p-drawer-body", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
471
- PDrawerBody = __decorate([
472
- ProxyCmp({})
473
- ], PDrawerBody);
474
- export { PDrawerBody };
475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDrawerBody, decorators: [{
476
- type: Component,
477
- args: [{
478
- selector: 'p-drawer-body',
479
- changeDetection: ChangeDetectionStrategy.OnPush,
480
- template: '<ng-content></ng-content>',
481
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
482
- inputs: [],
483
- }]
484
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
485
- let PDrawerContainer = class PDrawerContainer {
486
- constructor(c, r, z) {
487
- this.z = z;
488
- c.detach();
489
- this.el = r.nativeElement;
490
- }
491
- };
492
- PDrawerContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDrawerContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
493
- PDrawerContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDrawerContainer, selector: "p-drawer-container", inputs: { closing: "closing" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
494
- PDrawerContainer = __decorate([
495
- ProxyCmp({
496
- inputs: ['closing']
497
- })
498
- ], PDrawerContainer);
499
- export { PDrawerContainer };
500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDrawerContainer, decorators: [{
501
- type: Component,
502
- args: [{
503
- selector: 'p-drawer-container',
504
- changeDetection: ChangeDetectionStrategy.OnPush,
505
- template: '<ng-content></ng-content>',
506
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
507
- inputs: ['closing'],
508
- }]
509
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
510
- let PDrawerHeader = class PDrawerHeader {
511
- constructor(c, r, z) {
512
- this.z = z;
513
- c.detach();
514
- this.el = r.nativeElement;
515
- proxyOutputs(this, this.el, ['close']);
516
- }
517
- };
518
- PDrawerHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDrawerHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
519
- PDrawerHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDrawerHeader, selector: "p-drawer-header", inputs: { showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
520
- PDrawerHeader = __decorate([
521
- ProxyCmp({
522
- inputs: ['showClose']
523
- })
524
- ], PDrawerHeader);
525
- export { PDrawerHeader };
526
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDrawerHeader, decorators: [{
527
- type: Component,
528
- args: [{
529
- selector: 'p-drawer-header',
530
- changeDetection: ChangeDetectionStrategy.OnPush,
531
- template: '<ng-content></ng-content>',
532
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
533
- inputs: ['showClose'],
534
- }]
535
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
536
- let PDropdown = class PDropdown {
537
- constructor(c, r, z) {
538
- this.z = z;
539
- c.detach();
540
- this.el = r.nativeElement;
541
- proxyOutputs(this, this.el, ['isOpen']);
542
- }
543
- };
544
- PDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
545
- PDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDropdown, selector: "p-dropdown", inputs: { allowOverflow: "allowOverflow", applyChevron: "applyChevron", applyFullWidth: "applyFullWidth", applyMaxWidth: "applyMaxWidth", chevronDirection: "chevronDirection", chevronPosition: "chevronPosition", containerClass: "containerClass", disableTriggerClick: "disableTriggerClick", insideClick: "insideClick", isDatepicker: "isDatepicker", manual: "manual", offset: "offset", placement: "placement", scrollable: "scrollable", show: "show", strategy: "strategy", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
546
- PDropdown = __decorate([
547
- ProxyCmp({
548
- inputs: ['allowOverflow', 'applyChevron', 'applyFullWidth', 'applyMaxWidth', 'chevronDirection', 'chevronPosition', 'containerClass', 'disableTriggerClick', 'insideClick', 'isDatepicker', 'manual', 'offset', 'placement', 'scrollable', 'show', 'strategy', 'variant']
549
- })
550
- ], PDropdown);
551
- export { PDropdown };
552
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDropdown, decorators: [{
553
- type: Component,
554
- args: [{
555
- selector: 'p-dropdown',
556
- changeDetection: ChangeDetectionStrategy.OnPush,
557
- template: '<ng-content></ng-content>',
558
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
559
- inputs: ['allowOverflow', 'applyChevron', 'applyFullWidth', 'applyMaxWidth', 'chevronDirection', 'chevronPosition', 'containerClass', 'disableTriggerClick', 'insideClick', 'isDatepicker', 'manual', 'offset', 'placement', 'scrollable', 'show', 'strategy', 'variant'],
560
- }]
561
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
562
- let PDropdownMenuContainer = class PDropdownMenuContainer {
563
- constructor(c, r, z) {
564
- this.z = z;
565
- c.detach();
566
- this.el = r.nativeElement;
567
- }
568
- };
569
- PDropdownMenuContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDropdownMenuContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
570
- PDropdownMenuContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDropdownMenuContainer, selector: "p-dropdown-menu-container", inputs: { allowOverflow: "allowOverflow", class: "class", fullWidth: "fullWidth", maxWidth: "maxWidth", scrollable: "scrollable", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
571
- PDropdownMenuContainer = __decorate([
572
- ProxyCmp({
573
- inputs: ['allowOverflow', 'class', 'fullWidth', 'maxWidth', 'scrollable', 'variant']
574
- })
575
- ], PDropdownMenuContainer);
576
- export { PDropdownMenuContainer };
577
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDropdownMenuContainer, decorators: [{
578
- type: Component,
579
- args: [{
580
- selector: 'p-dropdown-menu-container',
581
- changeDetection: ChangeDetectionStrategy.OnPush,
582
- template: '<ng-content></ng-content>',
583
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
584
- inputs: ['allowOverflow', 'class', 'fullWidth', 'maxWidth', 'scrollable', 'variant'],
585
- }]
586
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
587
- let PDropdownMenuItem = class PDropdownMenuItem {
588
- constructor(c, r, z) {
589
- this.z = z;
590
- c.detach();
591
- this.el = r.nativeElement;
592
- }
593
- };
594
- PDropdownMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDropdownMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
595
- PDropdownMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PDropdownMenuItem, selector: "p-dropdown-menu-item", inputs: { active: "active", autoHeight: "autoHeight", checkbox: "checkbox", disabled: "disabled", enableHover: "enableHover", enableTextWrap: "enableTextWrap", icon: "icon", iconWave: "iconWave", useContainer: "useContainer", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
596
- PDropdownMenuItem = __decorate([
597
- ProxyCmp({
598
- inputs: ['active', 'autoHeight', 'checkbox', 'disabled', 'enableHover', 'enableTextWrap', 'icon', 'iconWave', 'useContainer', 'variant']
599
- })
600
- ], PDropdownMenuItem);
601
- export { PDropdownMenuItem };
602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PDropdownMenuItem, decorators: [{
603
- type: Component,
604
- args: [{
605
- selector: 'p-dropdown-menu-item',
606
- changeDetection: ChangeDetectionStrategy.OnPush,
607
- template: '<ng-content></ng-content>',
608
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
609
- inputs: ['active', 'autoHeight', 'checkbox', 'disabled', 'enableHover', 'enableTextWrap', 'icon', 'iconWave', 'useContainer', 'variant'],
610
- }]
611
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
612
- let PEmptyState = class PEmptyState {
613
- constructor(c, r, z) {
614
- this.z = z;
615
- c.detach();
616
- this.el = r.nativeElement;
617
- proxyOutputs(this, this.el, ['action']);
618
- }
619
- };
620
- PEmptyState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PEmptyState, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
621
- PEmptyState.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PEmptyState, selector: "p-empty-state", inputs: { actionIcon: "actionIcon", actionIconPosition: "actionIconPosition", actionLoading: "actionLoading", actionText: "actionText", actionVariant: "actionVariant", content: "content", enableAction: "enableAction", header: "header", illustration: "illustration" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
622
- PEmptyState = __decorate([
623
- ProxyCmp({
624
- inputs: ['actionIcon', 'actionIconPosition', 'actionLoading', 'actionText', 'actionVariant', 'content', 'enableAction', 'header', 'illustration']
625
- })
626
- ], PEmptyState);
627
- export { PEmptyState };
628
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PEmptyState, decorators: [{
629
- type: Component,
630
- args: [{
631
- selector: 'p-empty-state',
632
- changeDetection: ChangeDetectionStrategy.OnPush,
633
- template: '<ng-content></ng-content>',
634
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
635
- inputs: ['actionIcon', 'actionIconPosition', 'actionLoading', 'actionText', 'actionVariant', 'content', 'enableAction', 'header', 'illustration'],
636
- }]
637
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
638
- let PField = class PField {
639
- constructor(c, r, z) {
640
- this.z = z;
641
- c.detach();
642
- this.el = r.nativeElement;
643
- proxyOutputs(this, this.el, ['valueChange', 'inputRefChange', 'add', 'enter']);
644
- }
645
- };
646
- PField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PField, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
647
- PField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PField, selector: "p-field", inputs: { addText: "addText", align: "align", autoShowError: "autoShowError", autofocus: "autofocus", disabled: "disabled", error: "error", errorPlacement: "errorPlacement", focusMethod: "focusMethod", focused: "focused", forceShowTooltip: "forceShowTooltip", helper: "helper", icon: "icon", iconFlip: "iconFlip", iconPosition: "iconPosition", iconRotate: "iconRotate", id: "id", label: "label", loading: "loading", optionalTemplate: "optionalTemplate", placeholder: "placeholder", prefix: "prefix", properties: "properties", required: "required", selectAllOnFocus: "selectAllOnFocus", showAddOnEmpty: "showAddOnEmpty", showOptional: "showOptional", size: "size", suffix: "suffix", type: "type", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
648
- PField = __decorate([
649
- ProxyCmp({
650
- inputs: ['addText', 'align', 'autoShowError', 'autofocus', 'disabled', 'error', 'errorPlacement', 'focusMethod', 'focused', 'forceShowTooltip', 'helper', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'id', 'label', 'loading', 'optionalTemplate', 'placeholder', 'prefix', 'properties', 'required', 'selectAllOnFocus', 'showAddOnEmpty', 'showOptional', 'size', 'suffix', 'type', 'value', 'variant']
651
- })
652
- ], PField);
653
- export { PField };
654
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PField, decorators: [{
655
- type: Component,
656
- args: [{
657
- selector: 'p-field',
658
- changeDetection: ChangeDetectionStrategy.OnPush,
659
- template: '<ng-content></ng-content>',
660
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
661
- inputs: ['addText', 'align', 'autoShowError', 'autofocus', 'disabled', 'error', 'errorPlacement', 'focusMethod', 'focused', 'forceShowTooltip', 'helper', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'id', 'label', 'loading', 'optionalTemplate', 'placeholder', 'prefix', 'properties', 'required', 'selectAllOnFocus', 'showAddOnEmpty', 'showOptional', 'size', 'suffix', 'type', 'value', 'variant'],
662
- }]
663
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
664
- let PFieldContainer = class PFieldContainer {
665
- constructor(c, r, z) {
666
- this.z = z;
667
- c.detach();
668
- this.el = r.nativeElement;
669
- proxyOutputs(this, this.el, ['focus']);
670
- }
671
- };
672
- PFieldContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PFieldContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
673
- PFieldContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PFieldContainer, selector: "p-field-container", inputs: { align: "align", error: "error", errorPlacement: "errorPlacement", forceShowTooltip: "forceShowTooltip", helper: "helper", id: "id", label: "label", loading: "loading", loadingSize: "loadingSize", optionalTemplate: "optionalTemplate", required: "required", showOptional: "showOptional", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
674
- PFieldContainer = __decorate([
675
- ProxyCmp({
676
- inputs: ['align', 'error', 'errorPlacement', 'forceShowTooltip', 'helper', 'id', 'label', 'loading', 'loadingSize', 'optionalTemplate', 'required', 'showOptional', 'variant']
677
- })
678
- ], PFieldContainer);
679
- export { PFieldContainer };
680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PFieldContainer, decorators: [{
681
- type: Component,
682
- args: [{
683
- selector: 'p-field-container',
684
- changeDetection: ChangeDetectionStrategy.OnPush,
685
- template: '<ng-content></ng-content>',
686
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
687
- inputs: ['align', 'error', 'errorPlacement', 'forceShowTooltip', 'helper', 'id', 'label', 'loading', 'loadingSize', 'optionalTemplate', 'required', 'showOptional', 'variant'],
688
- }]
689
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
690
- let PFloatingMenuContainer = class PFloatingMenuContainer {
691
- constructor(c, r, z) {
692
- this.z = z;
693
- c.detach();
694
- this.el = r.nativeElement;
695
- proxyOutputs(this, this.el, ['close']);
696
- }
697
- };
698
- PFloatingMenuContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PFloatingMenuContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
699
- PFloatingMenuContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PFloatingMenuContainer, selector: "p-floating-menu-container", inputs: { amount: "amount", amountSelectedTemplate: "amountSelectedTemplate", enableAmountSelected: "enableAmountSelected", enableClose: "enableClose", usedInTable: "usedInTable" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
700
- PFloatingMenuContainer = __decorate([
701
- ProxyCmp({
702
- inputs: ['amount', 'amountSelectedTemplate', 'enableAmountSelected', 'enableClose', 'usedInTable']
703
- })
704
- ], PFloatingMenuContainer);
705
- export { PFloatingMenuContainer };
706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PFloatingMenuContainer, decorators: [{
707
- type: Component,
708
- args: [{
709
- selector: 'p-floating-menu-container',
710
- changeDetection: ChangeDetectionStrategy.OnPush,
711
- template: '<ng-content></ng-content>',
712
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
713
- inputs: ['amount', 'amountSelectedTemplate', 'enableAmountSelected', 'enableClose', 'usedInTable'],
714
- }]
715
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
716
- let PFloatingMenuItem = class PFloatingMenuItem {
717
- constructor(c, r, z) {
718
- this.z = z;
719
- c.detach();
720
- this.el = r.nativeElement;
721
- }
722
- };
723
- PFloatingMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PFloatingMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
724
- PFloatingMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PFloatingMenuItem, selector: "p-floating-menu-item", inputs: { disabled: "disabled", hover: "hover", icon: "icon", iconFlip: "iconFlip", iconPosition: "iconPosition", iconRotate: "iconRotate", loading: "loading" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
725
- PFloatingMenuItem = __decorate([
726
- ProxyCmp({
727
- inputs: ['disabled', 'hover', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'loading']
728
- })
729
- ], PFloatingMenuItem);
730
- export { PFloatingMenuItem };
731
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PFloatingMenuItem, decorators: [{
732
- type: Component,
733
- args: [{
734
- selector: 'p-floating-menu-item',
735
- changeDetection: ChangeDetectionStrategy.OnPush,
736
- template: '<ng-content></ng-content>',
737
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
738
- inputs: ['disabled', 'hover', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'loading'],
739
- }]
740
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
741
- let PHelper = class PHelper {
742
- constructor(c, r, z) {
743
- this.z = z;
744
- c.detach();
745
- this.el = r.nativeElement;
746
- }
747
- };
748
- PHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PHelper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
749
- PHelper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PHelper, selector: "p-helper", inputs: { placement: "placement", strategy: "strategy" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
750
- PHelper = __decorate([
751
- ProxyCmp({
752
- inputs: ['placement', 'strategy']
753
- })
754
- ], PHelper);
755
- export { PHelper };
756
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PHelper, decorators: [{
757
- type: Component,
758
- args: [{
759
- selector: 'p-helper',
760
- changeDetection: ChangeDetectionStrategy.OnPush,
761
- template: '<ng-content></ng-content>',
762
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
763
- inputs: ['placement', 'strategy'],
764
- }]
765
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
766
- let PIbanIcon = class PIbanIcon {
767
- constructor(c, r, z) {
768
- this.z = z;
769
- c.detach();
770
- this.el = r.nativeElement;
771
- }
772
- };
773
- PIbanIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PIbanIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
774
- PIbanIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PIbanIcon, selector: "p-iban-icon", inputs: { iban: "iban", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
775
- PIbanIcon = __decorate([
776
- ProxyCmp({
777
- inputs: ['iban', 'variant']
778
- })
779
- ], PIbanIcon);
780
- export { PIbanIcon };
781
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PIbanIcon, decorators: [{
782
- type: Component,
783
- args: [{
784
- selector: 'p-iban-icon',
785
- changeDetection: ChangeDetectionStrategy.OnPush,
786
- template: '<ng-content></ng-content>',
787
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
788
- inputs: ['iban', 'variant'],
789
- }]
790
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
791
- let PIcon = class PIcon {
792
- constructor(c, r, z) {
793
- this.z = z;
794
- c.detach();
795
- this.el = r.nativeElement;
796
- }
797
- };
798
- PIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
799
- PIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PIcon, selector: "p-icon", inputs: { flip: "flip", rotate: "rotate", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
800
- PIcon = __decorate([
801
- ProxyCmp({
802
- inputs: ['flip', 'rotate', 'size', 'variant']
803
- })
804
- ], PIcon);
805
- export { PIcon };
806
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PIcon, decorators: [{
807
- type: Component,
808
- args: [{
809
- selector: 'p-icon',
810
- changeDetection: ChangeDetectionStrategy.OnPush,
811
- template: '<ng-content></ng-content>',
812
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
813
- inputs: ['flip', 'rotate', 'size', 'variant'],
814
- }]
815
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
816
- let PIllustration = class PIllustration {
817
- constructor(c, r, z) {
818
- this.z = z;
819
- c.detach();
820
- this.el = r.nativeElement;
821
- }
822
- };
823
- PIllustration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PIllustration, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
824
- PIllustration.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PIllustration, selector: "p-illustration", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
825
- PIllustration = __decorate([
826
- ProxyCmp({
827
- inputs: ['variant']
828
- })
829
- ], PIllustration);
830
- export { PIllustration };
831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PIllustration, decorators: [{
832
- type: Component,
833
- args: [{
834
- selector: 'p-illustration',
835
- changeDetection: ChangeDetectionStrategy.OnPush,
836
- template: '<ng-content></ng-content>',
837
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
838
- inputs: ['variant'],
839
- }]
840
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
841
- let PIllustrationDeprecated = class PIllustrationDeprecated {
842
- constructor(c, r, z) {
843
- this.z = z;
844
- c.detach();
845
- this.el = r.nativeElement;
846
- }
847
- };
848
- PIllustrationDeprecated.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PIllustrationDeprecated, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
849
- PIllustrationDeprecated.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PIllustrationDeprecated, selector: "p-illustration-deprecated", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
850
- PIllustrationDeprecated = __decorate([
851
- ProxyCmp({
852
- inputs: ['variant']
853
- })
854
- ], PIllustrationDeprecated);
855
- export { PIllustrationDeprecated };
856
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PIllustrationDeprecated, decorators: [{
857
- type: Component,
858
- args: [{
859
- selector: 'p-illustration-deprecated',
860
- changeDetection: ChangeDetectionStrategy.OnPush,
861
- template: '<ng-content></ng-content>',
862
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
863
- inputs: ['variant'],
864
- }]
865
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
866
- let PInfoPanel = class PInfoPanel {
867
- constructor(c, r, z) {
868
- this.z = z;
869
- c.detach();
870
- this.el = r.nativeElement;
871
- proxyOutputs(this, this.el, ['closed']);
872
- }
873
- };
874
- PInfoPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PInfoPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
875
- PInfoPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PInfoPanel, selector: "p-info-panel", inputs: { closeable: "closeable", content: "content", header: "header", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
876
- PInfoPanel = __decorate([
877
- ProxyCmp({
878
- inputs: ['closeable', 'content', 'header', 'variant']
879
- })
880
- ], PInfoPanel);
881
- export { PInfoPanel };
882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PInfoPanel, decorators: [{
883
- type: Component,
884
- args: [{
885
- selector: 'p-info-panel',
886
- changeDetection: ChangeDetectionStrategy.OnPush,
887
- template: '<ng-content></ng-content>',
888
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
889
- inputs: ['closeable', 'content', 'header', 'variant'],
890
- }]
891
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
892
- let PLabel = class PLabel {
893
- constructor(c, r, z) {
894
- this.z = z;
895
- c.detach();
896
- this.el = r.nativeElement;
897
- }
898
- };
899
- PLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PLabel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
900
- PLabel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PLabel, selector: "p-label", inputs: { icon: "icon", iconFlip: "iconFlip", iconOnly: "iconOnly", iconRotate: "iconRotate", keepMobileContent: "keepMobileContent", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
901
- PLabel = __decorate([
902
- ProxyCmp({
903
- inputs: ['icon', 'iconFlip', 'iconOnly', 'iconRotate', 'keepMobileContent', 'variant']
904
- })
905
- ], PLabel);
906
- export { PLabel };
907
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PLabel, decorators: [{
908
- type: Component,
909
- args: [{
910
- selector: 'p-label',
911
- changeDetection: ChangeDetectionStrategy.OnPush,
912
- template: '<ng-content></ng-content>',
913
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
914
- inputs: ['icon', 'iconFlip', 'iconOnly', 'iconRotate', 'keepMobileContent', 'variant'],
915
- }]
916
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
917
- let PLayout = class PLayout {
918
- constructor(c, r, z) {
919
- this.z = z;
920
- c.detach();
921
- this.el = r.nativeElement;
922
- proxyOutputs(this, this.el, ['scroll']);
923
- }
924
- };
925
- PLayout.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PLayout, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
926
- PLayout.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PLayout, selector: "p-layout", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
927
- PLayout = __decorate([
928
- ProxyCmp({
929
- inputs: ['variant']
930
- })
931
- ], PLayout);
932
- export { PLayout };
933
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PLayout, decorators: [{
934
- type: Component,
935
- args: [{
936
- selector: 'p-layout',
937
- changeDetection: ChangeDetectionStrategy.OnPush,
938
- template: '<ng-content></ng-content>',
939
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
940
- inputs: ['variant'],
941
- }]
942
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
943
- let PListing = class PListing {
944
- constructor(c, r, z) {
945
- this.z = z;
946
- c.detach();
947
- this.el = r.nativeElement;
948
- }
949
- };
950
- PListing.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PListing, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
951
- PListing.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PListing, selector: "p-listing", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
952
- PListing = __decorate([
953
- ProxyCmp({})
954
- ], PListing);
955
- export { PListing };
956
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PListing, decorators: [{
957
- type: Component,
958
- args: [{
959
- selector: 'p-listing',
960
- changeDetection: ChangeDetectionStrategy.OnPush,
961
- template: '<ng-content></ng-content>',
962
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
963
- inputs: [],
964
- }]
965
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
966
- let PListingItem = class PListingItem {
967
- constructor(c, r, z) {
968
- this.z = z;
969
- c.detach();
970
- this.el = r.nativeElement;
971
- }
972
- };
973
- PListingItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PListingItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
974
- PListingItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PListingItem, selector: "p-listing-item", inputs: { icon: "icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
975
- PListingItem = __decorate([
976
- ProxyCmp({
977
- inputs: ['icon']
978
- })
979
- ], PListingItem);
980
- export { PListingItem };
981
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PListingItem, decorators: [{
982
- type: Component,
983
- args: [{
984
- selector: 'p-listing-item',
985
- changeDetection: ChangeDetectionStrategy.OnPush,
986
- template: '<ng-content></ng-content>',
987
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
988
- inputs: ['icon'],
989
- }]
990
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
991
- let PListingLine = class PListingLine {
992
- constructor(c, r, z) {
993
- this.z = z;
994
- c.detach();
995
- this.el = r.nativeElement;
996
- }
997
- };
998
- PListingLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PListingLine, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
999
- PListingLine.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PListingLine, selector: "p-listing-line", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1000
- PListingLine = __decorate([
1001
- ProxyCmp({})
1002
- ], PListingLine);
1003
- export { PListingLine };
1004
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PListingLine, decorators: [{
1005
- type: Component,
1006
- args: [{
1007
- selector: 'p-listing-line',
1008
- changeDetection: ChangeDetectionStrategy.OnPush,
1009
- template: '<ng-content></ng-content>',
1010
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1011
- inputs: [],
1012
- }]
1013
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1014
- let PLoader = class PLoader {
1015
- constructor(c, r, z) {
1016
- this.z = z;
1017
- c.detach();
1018
- this.el = r.nativeElement;
1019
- }
1020
- };
1021
- PLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PLoader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1022
- PLoader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PLoader, selector: "p-loader", inputs: { color: "color", modalDescription: "modalDescription", modalTitle: "modalTitle", show: "show", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1023
- PLoader = __decorate([
1024
- ProxyCmp({
1025
- inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant']
1026
- })
1027
- ], PLoader);
1028
- export { PLoader };
1029
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PLoader, decorators: [{
1030
- type: Component,
1031
- args: [{
1032
- selector: 'p-loader',
1033
- changeDetection: ChangeDetectionStrategy.OnPush,
1034
- template: '<ng-content></ng-content>',
1035
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1036
- inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant'],
1037
- }]
1038
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1039
- let PModal = class PModal {
1040
- constructor(c, r, z) {
1041
- this.z = z;
1042
- c.detach();
1043
- this.el = r.nativeElement;
1044
- proxyOutputs(this, this.el, ['closeClicked', 'closed']);
1045
- }
1046
- };
1047
- PModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1048
- PModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PModal, selector: "p-modal", inputs: { applyBlur: "applyBlur", backdropClickClose: "backdropClickClose", header: "header", scrollLock: "scrollLock", show: "show", showClose: "showClose", showMobileFooter: "showMobileFooter", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1049
- PModal = __decorate([
1050
- ProxyCmp({
1051
- inputs: ['applyBlur', 'backdropClickClose', 'header', 'scrollLock', 'show', 'showClose', 'showMobileFooter', 'size']
1052
- })
1053
- ], PModal);
1054
- export { PModal };
1055
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModal, decorators: [{
1056
- type: Component,
1057
- args: [{
1058
- selector: 'p-modal',
1059
- changeDetection: ChangeDetectionStrategy.OnPush,
1060
- template: '<ng-content></ng-content>',
1061
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1062
- inputs: ['applyBlur', 'backdropClickClose', 'header', 'scrollLock', 'show', 'showClose', 'showMobileFooter', 'size'],
1063
- }]
1064
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1065
- let PModalBody = class PModalBody {
1066
- constructor(c, r, z) {
1067
- this.z = z;
1068
- c.detach();
1069
- this.el = r.nativeElement;
1070
- }
1071
- };
1072
- PModalBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModalBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1073
- PModalBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PModalBody, selector: "p-modal-body", inputs: { roundedBottom: "roundedBottom", roundedTop: "roundedTop" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1074
- PModalBody = __decorate([
1075
- ProxyCmp({
1076
- inputs: ['roundedBottom', 'roundedTop']
1077
- })
1078
- ], PModalBody);
1079
- export { PModalBody };
1080
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModalBody, decorators: [{
1081
- type: Component,
1082
- args: [{
1083
- selector: 'p-modal-body',
1084
- changeDetection: ChangeDetectionStrategy.OnPush,
1085
- template: '<ng-content></ng-content>',
1086
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1087
- inputs: ['roundedBottom', 'roundedTop'],
1088
- }]
1089
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1090
- let PModalContainer = class PModalContainer {
1091
- constructor(c, r, z) {
1092
- this.z = z;
1093
- c.detach();
1094
- this.el = r.nativeElement;
1095
- }
1096
- };
1097
- PModalContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModalContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1098
- PModalContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PModalContainer, selector: "p-modal-container", inputs: { closing: "closing", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1099
- PModalContainer = __decorate([
1100
- ProxyCmp({
1101
- inputs: ['closing', 'size']
1102
- })
1103
- ], PModalContainer);
1104
- export { PModalContainer };
1105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModalContainer, decorators: [{
1106
- type: Component,
1107
- args: [{
1108
- selector: 'p-modal-container',
1109
- changeDetection: ChangeDetectionStrategy.OnPush,
1110
- template: '<ng-content></ng-content>',
1111
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1112
- inputs: ['closing', 'size'],
1113
- }]
1114
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1115
- let PModalFooter = class PModalFooter {
1116
- constructor(c, r, z) {
1117
- this.z = z;
1118
- c.detach();
1119
- this.el = r.nativeElement;
1120
- }
1121
- };
1122
- PModalFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModalFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1123
- PModalFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PModalFooter, selector: "p-modal-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1124
- PModalFooter = __decorate([
1125
- ProxyCmp({})
1126
- ], PModalFooter);
1127
- export { PModalFooter };
1128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModalFooter, decorators: [{
1129
- type: Component,
1130
- args: [{
1131
- selector: 'p-modal-footer',
1132
- changeDetection: ChangeDetectionStrategy.OnPush,
1133
- template: '<ng-content></ng-content>',
1134
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1135
- inputs: [],
1136
- }]
1137
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1138
- let PModalHeader = class PModalHeader {
1139
- constructor(c, r, z) {
1140
- this.z = z;
1141
- c.detach();
1142
- this.el = r.nativeElement;
1143
- proxyOutputs(this, this.el, ['close']);
1144
- }
1145
- };
1146
- PModalHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModalHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1147
- PModalHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PModalHeader, selector: "p-modal-header", inputs: { showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1148
- PModalHeader = __decorate([
1149
- ProxyCmp({
1150
- inputs: ['showClose']
1151
- })
1152
- ], PModalHeader);
1153
- export { PModalHeader };
1154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PModalHeader, decorators: [{
1155
- type: Component,
1156
- args: [{
1157
- selector: 'p-modal-header',
1158
- changeDetection: ChangeDetectionStrategy.OnPush,
1159
- template: '<ng-content></ng-content>',
1160
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1161
- inputs: ['showClose'],
1162
- }]
1163
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1164
- let PNavbar = class PNavbar {
1165
- constructor(c, r, z) {
1166
- this.z = z;
1167
- c.detach();
1168
- this.el = r.nativeElement;
1169
- }
1170
- };
1171
- PNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PNavbar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1172
- PNavbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PNavbar, selector: "p-navbar", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1173
- PNavbar = __decorate([
1174
- ProxyCmp({})
1175
- ], PNavbar);
1176
- export { PNavbar };
1177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PNavbar, decorators: [{
1178
- type: Component,
1179
- args: [{
1180
- selector: 'p-navbar',
1181
- changeDetection: ChangeDetectionStrategy.OnPush,
1182
- template: '<ng-content></ng-content>',
1183
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1184
- inputs: [],
1185
- }]
1186
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1187
- let PNavigationItem = class PNavigationItem {
1188
- constructor(c, r, z) {
1189
- this.z = z;
1190
- c.detach();
1191
- this.el = r.nativeElement;
1192
- }
1193
- };
1194
- PNavigationItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PNavigationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1195
- PNavigationItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PNavigationItem, selector: "p-navigation-item", inputs: { active: "active", applyFullWidth: "applyFullWidth", as: "as", class: "class", counter: "counter", href: "href", icon: "icon", loading: "loading", target: "target" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1196
- PNavigationItem = __decorate([
1197
- ProxyCmp({
1198
- inputs: ['active', 'applyFullWidth', 'as', 'class', 'counter', 'href', 'icon', 'loading', 'target']
1199
- })
1200
- ], PNavigationItem);
1201
- export { PNavigationItem };
1202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PNavigationItem, decorators: [{
1203
- type: Component,
1204
- args: [{
1205
- selector: 'p-navigation-item',
1206
- changeDetection: ChangeDetectionStrategy.OnPush,
1207
- template: '<ng-content></ng-content>',
1208
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1209
- inputs: ['active', 'applyFullWidth', 'as', 'class', 'counter', 'href', 'icon', 'loading', 'target'],
1210
- }]
1211
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1212
- let PNavigationSection = class PNavigationSection {
1213
- constructor(c, r, z) {
1214
- this.z = z;
1215
- c.detach();
1216
- this.el = r.nativeElement;
1217
- }
1218
- };
1219
- PNavigationSection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PNavigationSection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1220
- PNavigationSection.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PNavigationSection, selector: "p-navigation-section", inputs: { header: "header" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1221
- PNavigationSection = __decorate([
1222
- ProxyCmp({
1223
- inputs: ['header']
1224
- })
1225
- ], PNavigationSection);
1226
- export { PNavigationSection };
1227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PNavigationSection, decorators: [{
1228
- type: Component,
1229
- args: [{
1230
- selector: 'p-navigation-section',
1231
- changeDetection: ChangeDetectionStrategy.OnPush,
1232
- template: '<ng-content></ng-content>',
1233
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1234
- inputs: ['header'],
1235
- }]
1236
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1237
- let PNavigationTitle = class PNavigationTitle {
1238
- constructor(c, r, z) {
1239
- this.z = z;
1240
- c.detach();
1241
- this.el = r.nativeElement;
1242
- }
1243
- };
1244
- PNavigationTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PNavigationTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1245
- PNavigationTitle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PNavigationTitle, selector: "p-navigation-title", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1246
- PNavigationTitle = __decorate([
1247
- ProxyCmp({})
1248
- ], PNavigationTitle);
1249
- export { PNavigationTitle };
1250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PNavigationTitle, decorators: [{
1251
- type: Component,
1252
- args: [{
1253
- selector: 'p-navigation-title',
1254
- changeDetection: ChangeDetectionStrategy.OnPush,
1255
- template: '<ng-content></ng-content>',
1256
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1257
- inputs: [],
1258
- }]
1259
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1260
- let PPagination = class PPagination {
1261
- constructor(c, r, z) {
1262
- this.z = z;
1263
- c.detach();
1264
- this.el = r.nativeElement;
1265
- proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'pagesChange']);
1266
- }
1267
- };
1268
- PPagination.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1269
- PPagination.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PPagination, selector: "p-pagination", inputs: { enablePaginationPages: "enablePaginationPages", enablePaginationSize: "enablePaginationSize", hideOnSinglePage: "hideOnSinglePage", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1270
- PPagination = __decorate([
1271
- ProxyCmp({
1272
- inputs: ['enablePaginationPages', 'enablePaginationSize', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1273
- })
1274
- ], PPagination);
1275
- export { PPagination };
1276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PPagination, decorators: [{
1277
- type: Component,
1278
- args: [{
1279
- selector: 'p-pagination',
1280
- changeDetection: ChangeDetectionStrategy.OnPush,
1281
- template: '<ng-content></ng-content>',
1282
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1283
- inputs: ['enablePaginationPages', 'enablePaginationSize', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total'],
1284
- }]
1285
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1286
- let PPaginationPages = class PPaginationPages {
1287
- constructor(c, r, z) {
1288
- this.z = z;
1289
- c.detach();
1290
- this.el = r.nativeElement;
1291
- proxyOutputs(this, this.el, ['pageChange', 'pagesChange']);
1292
- }
1293
- };
1294
- PPaginationPages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PPaginationPages, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1295
- PPaginationPages.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PPaginationPages, selector: "p-pagination-pages", inputs: { dropdownPageTemplate: "dropdownPageTemplate", hideOnSinglePage: "hideOnSinglePage", page: "page", pageSize: "pageSize", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1296
- PPaginationPages = __decorate([
1297
- ProxyCmp({
1298
- inputs: ['dropdownPageTemplate', 'hideOnSinglePage', 'page', 'pageSize', 'total']
1299
- })
1300
- ], PPaginationPages);
1301
- export { PPaginationPages };
1302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PPaginationPages, decorators: [{
1303
- type: Component,
1304
- args: [{
1305
- selector: 'p-pagination-pages',
1306
- changeDetection: ChangeDetectionStrategy.OnPush,
1307
- template: '<ng-content></ng-content>',
1308
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1309
- inputs: ['dropdownPageTemplate', 'hideOnSinglePage', 'page', 'pageSize', 'total'],
1310
- }]
1311
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1312
- let PPaginationPagesItem = class PPaginationPagesItem {
1313
- constructor(c, r, z) {
1314
- this.z = z;
1315
- c.detach();
1316
- this.el = r.nativeElement;
1317
- }
1318
- };
1319
- PPaginationPagesItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PPaginationPagesItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1320
- PPaginationPagesItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PPaginationPagesItem, selector: "p-pagination-pages-item", inputs: { active: "active", disabled: "disabled", hover: "hover", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1321
- PPaginationPagesItem = __decorate([
1322
- ProxyCmp({
1323
- inputs: ['active', 'disabled', 'hover', 'variant']
1324
- })
1325
- ], PPaginationPagesItem);
1326
- export { PPaginationPagesItem };
1327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PPaginationPagesItem, decorators: [{
1328
- type: Component,
1329
- args: [{
1330
- selector: 'p-pagination-pages-item',
1331
- changeDetection: ChangeDetectionStrategy.OnPush,
1332
- template: '<ng-content></ng-content>',
1333
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1334
- inputs: ['active', 'disabled', 'hover', 'variant'],
1335
- }]
1336
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1337
- let PPaginationSize = class PPaginationSize {
1338
- constructor(c, r, z) {
1339
- this.z = z;
1340
- c.detach();
1341
- this.el = r.nativeElement;
1342
- proxyOutputs(this, this.el, ['sizeChange']);
1343
- }
1344
- };
1345
- PPaginationSize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PPaginationSize, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1346
- PPaginationSize.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PPaginationSize, selector: "p-pagination-size", inputs: { hidden: "hidden", itemTemplate: "itemTemplate", size: "size", sizeOptions: "sizeOptions" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1347
- PPaginationSize = __decorate([
1348
- ProxyCmp({
1349
- inputs: ['hidden', 'itemTemplate', 'size', 'sizeOptions']
1350
- })
1351
- ], PPaginationSize);
1352
- export { PPaginationSize };
1353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PPaginationSize, decorators: [{
1354
- type: Component,
1355
- args: [{
1356
- selector: 'p-pagination-size',
1357
- changeDetection: ChangeDetectionStrategy.OnPush,
1358
- template: '<ng-content></ng-content>',
1359
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1360
- inputs: ['hidden', 'itemTemplate', 'size', 'sizeOptions'],
1361
- }]
1362
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1363
- let PProfile = class PProfile {
1364
- constructor(c, r, z) {
1365
- this.z = z;
1366
- c.detach();
1367
- this.el = r.nativeElement;
1368
- }
1369
- };
1370
- PProfile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PProfile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1371
- PProfile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PProfile, selector: "p-profile", inputs: { dropdownLocation: "dropdownLocation" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1372
- PProfile = __decorate([
1373
- ProxyCmp({
1374
- inputs: ['dropdownLocation']
1375
- })
1376
- ], PProfile);
1377
- export { PProfile };
1378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PProfile, decorators: [{
1379
- type: Component,
1380
- args: [{
1381
- selector: 'p-profile',
1382
- changeDetection: ChangeDetectionStrategy.OnPush,
1383
- template: '<ng-content></ng-content>',
1384
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1385
- inputs: ['dropdownLocation'],
1386
- }]
1387
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1388
- let PRadio = class PRadio {
1389
- constructor(c, r, z) {
1390
- this.z = z;
1391
- c.detach();
1392
- this.el = r.nativeElement;
1393
- proxyOutputs(this, this.el, ['checkedChange']);
1394
- }
1395
- };
1396
- PRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1397
- PRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PRadio, selector: "p-radio", inputs: { checked: "checked", disabled: "disabled", id: "id", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1398
- PRadio = __decorate([
1399
- ProxyCmp({
1400
- inputs: ['checked', 'disabled', 'id', 'name', 'required', 'value']
1401
- })
1402
- ], PRadio);
1403
- export { PRadio };
1404
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PRadio, decorators: [{
1405
- type: Component,
1406
- args: [{
1407
- selector: 'p-radio',
1408
- changeDetection: ChangeDetectionStrategy.OnPush,
1409
- template: '<ng-content></ng-content>',
1410
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1411
- inputs: ['checked', 'disabled', 'id', 'name', 'required', 'value'],
1412
- }]
1413
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1414
- let PRange = class PRange {
1415
- constructor(c, r, z) {
1416
- this.z = z;
1417
- c.detach();
1418
- this.el = r.nativeElement;
1419
- proxyOutputs(this, this.el, ['valueChange']);
1420
- }
1421
- };
1422
- PRange.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PRange, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1423
- PRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PRange, selector: "p-range", inputs: { max: "max", min: "min", step: "step", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1424
- PRange = __decorate([
1425
- ProxyCmp({
1426
- inputs: ['max', 'min', 'step', 'value']
1427
- })
1428
- ], PRange);
1429
- export { PRange };
1430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PRange, decorators: [{
1431
- type: Component,
1432
- args: [{
1433
- selector: 'p-range',
1434
- changeDetection: ChangeDetectionStrategy.OnPush,
1435
- template: '<ng-content></ng-content>',
1436
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1437
- inputs: ['max', 'min', 'step', 'value'],
1438
- }]
1439
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1440
- let PSegmentContainer = class PSegmentContainer {
1441
- constructor(c, r, z) {
1442
- this.z = z;
1443
- c.detach();
1444
- this.el = r.nativeElement;
1445
- }
1446
- };
1447
- PSegmentContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PSegmentContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1448
- PSegmentContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PSegmentContainer, selector: "p-segment-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1449
- PSegmentContainer = __decorate([
1450
- ProxyCmp({})
1451
- ], PSegmentContainer);
1452
- export { PSegmentContainer };
1453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PSegmentContainer, decorators: [{
1454
- type: Component,
1455
- args: [{
1456
- selector: 'p-segment-container',
1457
- changeDetection: ChangeDetectionStrategy.OnPush,
1458
- template: '<ng-content></ng-content>',
1459
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1460
- inputs: [],
1461
- }]
1462
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1463
- let PSegmentItem = class PSegmentItem {
1464
- constructor(c, r, z) {
1465
- this.z = z;
1466
- c.detach();
1467
- this.el = r.nativeElement;
1468
- }
1469
- };
1470
- PSegmentItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PSegmentItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1471
- PSegmentItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PSegmentItem, selector: "p-segment-item", inputs: { active: "active", icon: "icon", iconFlip: "iconFlip", iconOnly: "iconOnly", iconRotate: "iconRotate", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1472
- PSegmentItem = __decorate([
1473
- ProxyCmp({
1474
- inputs: ['active', 'icon', 'iconFlip', 'iconOnly', 'iconRotate', 'variant']
1475
- })
1476
- ], PSegmentItem);
1477
- export { PSegmentItem };
1478
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PSegmentItem, decorators: [{
1479
- type: Component,
1480
- args: [{
1481
- selector: 'p-segment-item',
1482
- changeDetection: ChangeDetectionStrategy.OnPush,
1483
- template: '<ng-content></ng-content>',
1484
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1485
- inputs: ['active', 'icon', 'iconFlip', 'iconOnly', 'iconRotate', 'variant'],
1486
- }]
1487
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1488
- let PSelect = class PSelect {
1489
- constructor(c, r, z) {
1490
- this.z = z;
1491
- c.detach();
1492
- this.el = r.nativeElement;
1493
- proxyOutputs(this, this.el, ['queryChange', 'valueChange', 'selectAllChange', 'dropdownShown', 'add']);
1494
- }
1495
- };
1496
- PSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1497
- PSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PSelect, selector: "p-select", inputs: { addItemText: "addItemText", applyClassOnSelectedItem: "applyClassOnSelectedItem", applyClassOnSelectedItemInMenu: "applyClassOnSelectedItemInMenu", asyncFilter: "asyncFilter", autoSelectFirst: "autoSelectFirst", autocompletePlaceholder: "autocompletePlaceholder", avatarKey: "avatarKey", avatarLettersKey: "avatarLettersKey", classKey: "classKey", disabled: "disabled", displayKey: "displayKey", dropdownDisplayKey: "dropdownDisplayKey", emptyStateText: "emptyStateText", enableAutocomplete: "enableAutocomplete", enableSelectAll: "enableSelectAll", enableTextWrap: "enableTextWrap", error: "error", helper: "helper", icon: "icon", iconClassKey: "iconClassKey", iconKey: "iconKey", identifierKey: "identifierKey", items: "items", label: "label", loading: "loading", maxDisplayedItems: "maxDisplayedItems", multi: "multi", placeholder: "placeholder", prefix: "prefix", query: "query", queryKey: "queryKey", required: "required", selectAllIcon: "selectAllIcon", selectAllText: "selectAllText", selectionDisplayKey: "selectionDisplayKey", showAddItem: "showAddItem", showChevron: "showChevron", showIconOnSelectedItem: "showIconOnSelectedItem", showOptional: "showOptional", size: "size", strategy: "strategy", value: "value", valueKey: "valueKey" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1498
- PSelect = __decorate([
1499
- ProxyCmp({
1500
- inputs: ['addItemText', 'applyClassOnSelectedItem', 'applyClassOnSelectedItemInMenu', 'asyncFilter', 'autoSelectFirst', 'autocompletePlaceholder', 'avatarKey', 'avatarLettersKey', 'classKey', 'disabled', 'displayKey', 'dropdownDisplayKey', 'emptyStateText', 'enableAutocomplete', 'enableSelectAll', 'enableTextWrap', 'error', 'helper', 'icon', 'iconClassKey', 'iconKey', 'identifierKey', 'items', 'label', 'loading', 'maxDisplayedItems', 'multi', 'placeholder', 'prefix', 'query', 'queryKey', 'required', 'selectAllIcon', 'selectAllText', 'selectionDisplayKey', 'showAddItem', 'showChevron', 'showIconOnSelectedItem', 'showOptional', 'size', 'strategy', 'value', 'valueKey']
1501
- })
1502
- ], PSelect);
1503
- export { PSelect };
1504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PSelect, decorators: [{
1505
- type: Component,
1506
- args: [{
1507
- selector: 'p-select',
1508
- changeDetection: ChangeDetectionStrategy.OnPush,
1509
- template: '<ng-content></ng-content>',
1510
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1511
- inputs: ['addItemText', 'applyClassOnSelectedItem', 'applyClassOnSelectedItemInMenu', 'asyncFilter', 'autoSelectFirst', 'autocompletePlaceholder', 'avatarKey', 'avatarLettersKey', 'classKey', 'disabled', 'displayKey', 'dropdownDisplayKey', 'emptyStateText', 'enableAutocomplete', 'enableSelectAll', 'enableTextWrap', 'error', 'helper', 'icon', 'iconClassKey', 'iconKey', 'identifierKey', 'items', 'label', 'loading', 'maxDisplayedItems', 'multi', 'placeholder', 'prefix', 'query', 'queryKey', 'required', 'selectAllIcon', 'selectAllText', 'selectionDisplayKey', 'showAddItem', 'showChevron', 'showIconOnSelectedItem', 'showOptional', 'size', 'strategy', 'value', 'valueKey'],
1512
- }]
1513
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1514
- let PSmile = class PSmile {
1515
- constructor(c, r, z) {
1516
- this.z = z;
1517
- c.detach();
1518
- this.el = r.nativeElement;
1519
- }
1520
- };
1521
- PSmile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PSmile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1522
- PSmile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PSmile, selector: "p-smile", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1523
- PSmile = __decorate([
1524
- ProxyCmp({
1525
- inputs: ['variant']
1526
- })
1527
- ], PSmile);
1528
- export { PSmile };
1529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PSmile, decorators: [{
1530
- type: Component,
1531
- args: [{
1532
- selector: 'p-smile',
1533
- changeDetection: ChangeDetectionStrategy.OnPush,
1534
- template: '<ng-content></ng-content>',
1535
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1536
- inputs: ['variant'],
1537
- }]
1538
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1539
- let PStepper = class PStepper {
1540
- constructor(c, r, z) {
1541
- this.z = z;
1542
- c.detach();
1543
- this.el = r.nativeElement;
1544
- }
1545
- };
1546
- PStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PStepper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1547
- PStepper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PStepper, selector: "p-stepper", inputs: { activeStep: "activeStep", align: "align", contentPosition: "contentPosition", direction: "direction", enableAutoStatus: "enableAutoStatus", steps: "steps" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1548
- PStepper = __decorate([
1549
- ProxyCmp({
1550
- inputs: ['activeStep', 'align', 'contentPosition', 'direction', 'enableAutoStatus', 'steps']
1551
- })
1552
- ], PStepper);
1553
- export { PStepper };
1554
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PStepper, decorators: [{
1555
- type: Component,
1556
- args: [{
1557
- selector: 'p-stepper',
1558
- changeDetection: ChangeDetectionStrategy.OnPush,
1559
- template: '<ng-content></ng-content>',
1560
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1561
- inputs: ['activeStep', 'align', 'contentPosition', 'direction', 'enableAutoStatus', 'steps'],
1562
- }]
1563
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1564
- let PStepperItem = class PStepperItem {
1565
- constructor(c, r, z) {
1566
- this.z = z;
1567
- c.detach();
1568
- this.el = r.nativeElement;
1569
- }
1570
- };
1571
- PStepperItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PStepperItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1572
- PStepperItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PStepperItem, selector: "p-stepper-item", inputs: { active: "active", align: "align", contentPosition: "contentPosition", direction: "direction", finished: "finished", number: "number" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1573
- PStepperItem = __decorate([
1574
- ProxyCmp({
1575
- inputs: ['active', 'align', 'contentPosition', 'direction', 'finished', 'number']
1576
- })
1577
- ], PStepperItem);
1578
- export { PStepperItem };
1579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PStepperItem, decorators: [{
1580
- type: Component,
1581
- args: [{
1582
- selector: 'p-stepper-item',
1583
- changeDetection: ChangeDetectionStrategy.OnPush,
1584
- template: '<ng-content></ng-content>',
1585
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1586
- inputs: ['active', 'align', 'contentPosition', 'direction', 'finished', 'number'],
1587
- }]
1588
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1589
- let PStepperLine = class PStepperLine {
1590
- constructor(c, r, z) {
1591
- this.z = z;
1592
- c.detach();
1593
- this.el = r.nativeElement;
1594
- }
1595
- };
1596
- PStepperLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PStepperLine, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1597
- PStepperLine.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PStepperLine, selector: "p-stepper-line", inputs: { active: "active", direction: "direction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1598
- PStepperLine = __decorate([
1599
- ProxyCmp({
1600
- inputs: ['active', 'direction']
1601
- })
1602
- ], PStepperLine);
1603
- export { PStepperLine };
1604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PStepperLine, decorators: [{
1605
- type: Component,
1606
- args: [{
1607
- selector: 'p-stepper-line',
1608
- changeDetection: ChangeDetectionStrategy.OnPush,
1609
- template: '<ng-content></ng-content>',
1610
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1611
- inputs: ['active', 'direction'],
1612
- }]
1613
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1614
- let PTabContainer = class PTabContainer {
1615
- constructor(c, r, z) {
1616
- this.z = z;
1617
- c.detach();
1618
- this.el = r.nativeElement;
1619
- }
1620
- };
1621
- PTabContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTabContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1622
- PTabContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PTabContainer, selector: "p-tab-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1623
- PTabContainer = __decorate([
1624
- ProxyCmp({})
1625
- ], PTabContainer);
1626
- export { PTabContainer };
1627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTabContainer, decorators: [{
1628
- type: Component,
1629
- args: [{
1630
- selector: 'p-tab-container',
1631
- changeDetection: ChangeDetectionStrategy.OnPush,
1632
- template: '<ng-content></ng-content>',
1633
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1634
- inputs: [],
1635
- }]
1636
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1637
- let PTabItem = class PTabItem {
1638
- constructor(c, r, z) {
1639
- this.z = z;
1640
- c.detach();
1641
- this.el = r.nativeElement;
1642
- }
1643
- };
1644
- PTabItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTabItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1645
- PTabItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PTabItem, selector: "p-tab-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1646
- PTabItem = __decorate([
1647
- ProxyCmp({
1648
- inputs: ['active']
1649
- })
1650
- ], PTabItem);
1651
- export { PTabItem };
1652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTabItem, decorators: [{
1653
- type: Component,
1654
- args: [{
1655
- selector: 'p-tab-item',
1656
- changeDetection: ChangeDetectionStrategy.OnPush,
1657
- template: '<ng-content></ng-content>',
1658
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1659
- inputs: ['active'],
1660
- }]
1661
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1662
- let PTableContainer = class PTableContainer {
1663
- constructor(c, r, z) {
1664
- this.z = z;
1665
- c.detach();
1666
- this.el = r.nativeElement;
1667
- }
1668
- };
1669
- PTableContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1670
- PTableContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PTableContainer, selector: "p-table-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1671
- PTableContainer = __decorate([
1672
- ProxyCmp({})
1673
- ], PTableContainer);
1674
- export { PTableContainer };
1675
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableContainer, decorators: [{
1676
- type: Component,
1677
- args: [{
1678
- selector: 'p-table-container',
1679
- changeDetection: ChangeDetectionStrategy.OnPush,
1680
- template: '<ng-content></ng-content>',
1681
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1682
- inputs: [],
1683
- }]
1684
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1685
- let PTableFooter = class PTableFooter {
1686
- constructor(c, r, z) {
1687
- this.z = z;
1688
- c.detach();
1689
- this.el = r.nativeElement;
1690
- proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'hiddenChange']);
1691
- }
1692
- };
1693
- PTableFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1694
- PTableFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PTableFooter, selector: "p-table-footer", inputs: { enablePaginationPages: "enablePaginationPages", enablePaginationSize: "enablePaginationSize", hideOnSinglePage: "hideOnSinglePage", loading: "loading", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", tableHeaderHasAction: "tableHeaderHasAction", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1695
- PTableFooter = __decorate([
1696
- ProxyCmp({
1697
- inputs: ['enablePaginationPages', 'enablePaginationSize', 'hideOnSinglePage', 'loading', 'page', 'pageSize', 'pageSizeOptions', 'tableHeaderHasAction', 'total']
1698
- })
1699
- ], PTableFooter);
1700
- export { PTableFooter };
1701
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableFooter, decorators: [{
1702
- type: Component,
1703
- args: [{
1704
- selector: 'p-table-footer',
1705
- changeDetection: ChangeDetectionStrategy.OnPush,
1706
- template: '<ng-content></ng-content>',
1707
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1708
- inputs: ['enablePaginationPages', 'enablePaginationSize', 'hideOnSinglePage', 'loading', 'page', 'pageSize', 'pageSizeOptions', 'tableHeaderHasAction', 'total'],
1709
- }]
1710
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1711
- let PTableHeader = class PTableHeader {
1712
- constructor(c, r, z) {
1713
- this.z = z;
1714
- c.detach();
1715
- this.el = r.nativeElement;
1716
- proxyOutputs(this, this.el, ['quickFilter', 'queryChange', 'filter', 'action', 'export']);
1717
- }
1718
- };
1719
- PTableHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1720
- PTableHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PTableHeader, selector: "p-table-header", inputs: { actionButtonTemplate: "actionButtonTemplate", actionIcon: "actionIcon", actionLoading: "actionLoading", actionText: "actionText", activeQuickFilterIdentifier: "activeQuickFilterIdentifier", canUseAction: "canUseAction", enableAction: "enableAction", enableExport: "enableExport", enableFilter: "enableFilter", enableFilterDesktop: "enableFilterDesktop", enableSearch: "enableSearch", filterButtonTemplate: "filterButtonTemplate", itemsSelectedAmount: "itemsSelectedAmount", loading: "loading", query: "query", quickFilters: "quickFilters", selectedFiltersAmount: "selectedFiltersAmount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1721
- PTableHeader = __decorate([
1722
- ProxyCmp({
1723
- inputs: ['actionButtonTemplate', 'actionIcon', 'actionLoading', 'actionText', 'activeQuickFilterIdentifier', 'canUseAction', 'enableAction', 'enableExport', 'enableFilter', 'enableFilterDesktop', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'loading', 'query', 'quickFilters', 'selectedFiltersAmount']
1724
- })
1725
- ], PTableHeader);
1726
- export { PTableHeader };
1727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableHeader, decorators: [{
1728
- type: Component,
1729
- args: [{
1730
- selector: 'p-table-header',
1731
- changeDetection: ChangeDetectionStrategy.OnPush,
1732
- template: '<ng-content></ng-content>',
1733
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1734
- inputs: ['actionButtonTemplate', 'actionIcon', 'actionLoading', 'actionText', 'activeQuickFilterIdentifier', 'canUseAction', 'enableAction', 'enableExport', 'enableFilter', 'enableFilterDesktop', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'loading', 'query', 'quickFilters', 'selectedFiltersAmount'],
1735
- }]
1736
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1737
- let PTableRow = class PTableRow {
1738
- constructor(c, r, z) {
1739
- this.z = z;
1740
- c.detach();
1741
- this.el = r.nativeElement;
1742
- }
1743
- };
1744
- PTableRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1745
- PTableRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PTableRow, selector: "p-table-row", inputs: { checked: "checked", enableHover: "enableHover", isLast: "isLast", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1746
- PTableRow = __decorate([
1747
- ProxyCmp({
1748
- inputs: ['checked', 'enableHover', 'isLast', 'variant']
1749
- })
1750
- ], PTableRow);
1751
- export { PTableRow };
1752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableRow, decorators: [{
1753
- type: Component,
1754
- args: [{
1755
- selector: 'p-table-row',
1756
- changeDetection: ChangeDetectionStrategy.OnPush,
1757
- template: '<ng-content></ng-content>',
1758
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1759
- inputs: ['checked', 'enableHover', 'isLast', 'variant'],
1760
- }]
1761
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1762
- let PTableRowActionsContainer = class PTableRowActionsContainer {
1763
- constructor(c, r, z) {
1764
- this.z = z;
1765
- c.detach();
1766
- this.el = r.nativeElement;
1767
- }
1768
- };
1769
- PTableRowActionsContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableRowActionsContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1770
- PTableRowActionsContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PTableRowActionsContainer, selector: "p-table-row-actions-container", inputs: { checked: "checked" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1771
- PTableRowActionsContainer = __decorate([
1772
- ProxyCmp({
1773
- inputs: ['checked']
1774
- })
1775
- ], PTableRowActionsContainer);
1776
- export { PTableRowActionsContainer };
1777
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTableRowActionsContainer, decorators: [{
1778
- type: Component,
1779
- args: [{
1780
- selector: 'p-table-row-actions-container',
1781
- changeDetection: ChangeDetectionStrategy.OnPush,
1782
- template: '<ng-content></ng-content>',
1783
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1784
- inputs: ['checked'],
1785
- }]
1786
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1787
- let PToast = class PToast {
1788
- constructor(c, r, z) {
1789
- this.z = z;
1790
- c.detach();
1791
- this.el = r.nativeElement;
1792
- proxyOutputs(this, this.el, ['action']);
1793
- }
1794
- };
1795
- PToast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1796
- PToast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PToast, selector: "p-toast", inputs: { actionIcon: "actionIcon", actionIconFlip: "actionIconFlip", actionIconRotate: "actionIconRotate", content: "content", enableAction: "enableAction", header: "header", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1797
- PToast = __decorate([
1798
- ProxyCmp({
1799
- inputs: ['actionIcon', 'actionIconFlip', 'actionIconRotate', 'content', 'enableAction', 'header', 'variant']
1800
- })
1801
- ], PToast);
1802
- export { PToast };
1803
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PToast, decorators: [{
1804
- type: Component,
1805
- args: [{
1806
- selector: 'p-toast',
1807
- changeDetection: ChangeDetectionStrategy.OnPush,
1808
- template: '<ng-content></ng-content>',
1809
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1810
- inputs: ['actionIcon', 'actionIconFlip', 'actionIconRotate', 'content', 'enableAction', 'header', 'variant'],
1811
- }]
1812
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1813
- let PToggle = class PToggle {
1814
- constructor(c, r, z) {
1815
- this.z = z;
1816
- c.detach();
1817
- this.el = r.nativeElement;
1818
- proxyOutputs(this, this.el, ['checkedChange', 'indeterminateChange']);
1819
- }
1820
- };
1821
- PToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1822
- PToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PToggle, selector: "p-toggle", inputs: { checked: "checked", disabled: "disabled", id: "id", name: "name", required: "required" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1823
- PToggle = __decorate([
1824
- ProxyCmp({
1825
- inputs: ['checked', 'disabled', 'id', 'name', 'required']
1826
- })
1827
- ], PToggle);
1828
- export { PToggle };
1829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PToggle, decorators: [{
1830
- type: Component,
1831
- args: [{
1832
- selector: 'p-toggle',
1833
- changeDetection: ChangeDetectionStrategy.OnPush,
1834
- template: '<ng-content></ng-content>',
1835
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1836
- inputs: ['checked', 'disabled', 'id', 'name', 'required'],
1837
- }]
1838
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1839
- let PTooltip = class PTooltip {
1840
- constructor(c, r, z) {
1841
- this.z = z;
1842
- c.detach();
1843
- this.el = r.nativeElement;
1844
- proxyOutputs(this, this.el, ['isOpen']);
1845
- }
1846
- };
1847
- PTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1848
- PTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PTooltip, selector: "p-tooltip", inputs: { canManuallyClose: "canManuallyClose", content: "content", enableUserInput: "enableUserInput", offset: "offset", placement: "placement", show: "show", strategy: "strategy", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1849
- PTooltip = __decorate([
1850
- ProxyCmp({
1851
- inputs: ['canManuallyClose', 'content', 'enableUserInput', 'offset', 'placement', 'show', 'strategy', 'variant']
1852
- })
1853
- ], PTooltip);
1854
- export { PTooltip };
1855
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PTooltip, decorators: [{
1856
- type: Component,
1857
- args: [{
1858
- selector: 'p-tooltip',
1859
- changeDetection: ChangeDetectionStrategy.OnPush,
1860
- template: '<ng-content></ng-content>',
1861
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1862
- inputs: ['canManuallyClose', 'content', 'enableUserInput', 'offset', 'placement', 'show', 'strategy', 'variant'],
1863
- }]
1864
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1865
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvbGliL3N0ZW5jaWwvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFlaEUsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUVyQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O3VHQU5VLFVBQVU7MkZBQVYsVUFBVSxpS0FKWCwyQkFBMkI7QUFJMUIsVUFBVTtJQVZ0QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDO0tBQy9ELENBQUM7R0FRVyxVQUFVLENBT3RCO1NBUFksVUFBVTsyRkFBVixVQUFVO2tCQVB0QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFD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LEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7aUJBQzFEOztBQWlDTSxJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVE7SUFFbkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDOztxR0FOVSxRQUFRO3lGQUFSLFFBQVEsNlBBSlQsMkJBQTJCO0FBSTFCLFFBQVE7SUFWcEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7S0FDakgsQ0FBQztHQVFXLFFBQVEsQ0FPcEI7U0FQWSxRQUFROzJGQUFSLFFBQVE7a0JBUHBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDO2lCQUNqSCIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BwYXBlcmxlc3MvY29yZSc7XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlYWJsZScsICdoZWFkZXInLCAnb3BlbicsICdvcGVuYWJsZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2hlYWRlcicsICdvcGVuJywgJ29wZW5hYmxlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBBY2NvcmRpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpc09wZW4nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEFjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuUEFjY29yZGlvbiB7XG4gIC8qKlxuICAgKiBPcGVuIGNoYW5nZSBldmVudFxuICAgKi9cbiAgaXNPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NlcHQnLCAnY2FtZXJhVG9vbHRpcCcsICdkZWxldGVUb29sdGlwJywgJ2Rvd25sb2FkVG9vbHRpcCcsICdlbmFibGVDYW1lcmFPbk1vYmlsZScsICdlcnJvcicsICdmaWxlSWQnLCAnaGVscGVyJywgJ2xhYmVsJywgJ2xvYWRpbmcnLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICd1cGxvYWRUb29sdGlwJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWF0dGFjaG1lbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdjYW1lcmFUb29sdGlwJywgJ2RlbGV0ZVRvb2x0aXAnLCAnZG93bmxvYWRUb29sdGlwJywgJ2VuYWJsZUNhbWVyYU9uTW9iaWxlJywgJ2Vycm9yJywgJ2ZpbGVJZCcsICdoZWxwZXInLCAnbGFiZWwnLCAnbG9hZGluZycsICdtb2RlJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJywgJ3VwbG9hZFRvb2x0aXAnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEF0dGFjaG1lbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQXR0YWNobWVudEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3VwbG9hZCcsICdkb3dubG9hZCcsICdkZWxldGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEF0dGFjaG1lbnQgZXh0ZW5kcyBDb21wb25lbnRzLlBBdHRhY2htZW50IHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdXBsb2FkIGlzIHByZXNzZWRcbiAgICovXG4gIHVwbG9hZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZmlsZTogRmlsZTsgZmlsZUlkOiBzdHJpbmc7IHJlc3VsdDogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIGRvd25sb2FkIGlzIHByZXNzZWRcbiAgICovXG4gIGRvd25sb2FkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiBkZWxldGUgaXMgcHJlc3NlZFxuICAgKi9cbiAgZGVsZXRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0SW1hZ2UnLCAnbGV0dGVycycsICdzaXplJywgJ3NyYycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWF2YXRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdEltYWdlJywgJ2xldHRlcnMnLCAnc2l6ZScsICdzcmMnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQQXZhdGFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEF2YXRhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBBdmF0YXIgZXh0ZW5kcyBDb21wb25lbnRzLlBBdmF0YXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXh0cmEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYXZhdGFyLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydleHRyYSddLFxufSlcbmV4cG9ydCBjbGFzcyBQQXZhdGFyR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQXZhdGFyR3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQXZhdGFyR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlBBdmF0YXJHcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBseUJsdXInLCAnY2xhc3MnLCAnY2xvc2luZycsICdzY3JvbGxMb2NrJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYmFja2Ryb3AnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGx5Qmx1cicsICdjbGFzcycsICdjbG9zaW5nJywgJ3Njcm9sbExvY2snLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQQmFja2Ryb3Age1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQmFja2Ryb3BFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbGlja2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBCYWNrZHJvcCBleHRlbmRzIENvbXBvbmVudHMuUEJhY2tkcm9wIHtcbiAgLyoqXG4gICAqIFdoZW4gdGhlIGJhY2tkcm9wIGlzIGNsaWNrZWRcbiAgICovXG4gIGNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBCYWRnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBCYWRnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBCYWRnZSBleHRlbmRzIENvbXBvbmVudHMuUEJhZGdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhcycsICdidXR0b25Hcm91cFBvc2l0aW9uJywgJ2NoZXZyb24nLCAnY2hldnJvblBvc2l0aW9uJywgJ2NsYXNzJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hyZWYnLCAnaWNvbicsICdpY29uQ2xhc3MnLCAnaWNvbkZsaXAnLCAnaWNvbk9ubHknLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Sb3RhdGUnLCAnaW5oZXJpdFRleHQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdzaXplJywgJ3RhYkluZGV4JywgJ3RhcmdldCcsICd0eXBlJywgJ3VuZGVybGluZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2FzJywgJ2J1dHRvbkdyb3VwUG9zaXRpb24nLCAnY2hldnJvbicsICdjaGV2cm9uUG9zaXRpb24nLCAnY2xhc3MnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaHJlZicsICdpY29uJywgJ2ljb25DbGFzcycsICdpY29uRmxpcCcsICdpY29uT25seScsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdpbmhlcml0VGV4dCcsICdsYWJlbCcsICdsb2FkaW5nJywgJ3NpemUnLCAndGFiSW5kZXgnLCAndGFyZ2V0JywgJ3R5cGUnLCAndW5kZXJsaW5lJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBCdXR0b25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlBCdXR0b24ge1xuICAvKipcbiAgICogQnV0dG9uIGNsaWNrIGV2ZW50XG4gICAqL1xuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWJ1dHRvbi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQQnV0dG9uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQnV0dG9uR3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQnV0dG9uR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlBCdXR0b25Hcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlV2Vla2VuZHMnLCAnZGlzYWJsZWREYXRlcycsICdlbmFibGVUb2RheScsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnbW9kZScsICdwcmVzZWxlY3RUb2RheScsICd0b2RheVRleHQnLCAndmFsdWUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jYWxlbmRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZVdlZWtlbmRzJywgJ2Rpc2FibGVkRGF0ZXMnLCAnZW5hYmxlVG9kYXknLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ21vZGUnLCAncHJlc2VsZWN0VG9kYXknLCAndG9kYXlUZXh0JywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUENhbGVuZGFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUENhbGVuZGFyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmFsdWVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUENhbGVuZGFyIGV4dGVuZHMgQ29tcG9uZW50cy5QQ2FsZW5kYXIge1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY2FyZC1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBDYXJkQm9keSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBDYXJkQm9keUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBDYXJkQm9keSBleHRlbmRzIENvbXBvbmVudHMuUENhcmRCb2R5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdiZ0NsYXNzJywgJ2JvcmRlcicsICdob3ZlcmFibGUnLCAnc2hhZG93JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY2FyZC1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdiZ0NsYXNzJywgJ2JvcmRlcicsICdob3ZlcmFibGUnLCAnc2hhZG93JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUENhcmRDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQ2FyZENvbnRhaW5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBDYXJkQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QQ2FyZENvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXZpZGVyJywgJ2hlYWRlcicsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Sb3RhdGUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jYXJkLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGl2aWRlcicsICdoZWFkZXInLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUm90YXRlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUENhcmRIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQ2FyZEhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBDYXJkSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QQ2FyZEhlYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lkJywgJ2luZGV0ZXJtaW5hdGUnLCAnbmFtZScsICdyZXF1aXJlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpZCcsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAncmVxdWlyZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUENoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUENoZWNrYm94RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2tlZENoYW5nZScsICdpbmRldGVybWluYXRlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBDaGVja2JveCBleHRlbmRzIENvbXBvbmVudHMuUENoZWNrYm94IHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBjaGVja2VkIGNoYW5nZXNcbiAgICovXG4gIGNoZWNrZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgaW5kZXRlcm1pbmF0ZSBjaGFuZ2VzXG4gICAqL1xuICBpbmRldGVybWluYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlQXV0b0NlbnRlcicsICdkaXNhYmxlRHJhZycsICdkaXNhYmxlSW5kaWNhdG9yQ2xpY2snLCAnaGlkZU1vYmlsZUluZGljYXRvciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jb250ZW50LXNsaWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZUF1dG9DZW50ZXInLCAnZGlzYWJsZURyYWcnLCAnZGlzYWJsZUluZGljYXRvckNsaWNrJywgJ2hpZGVNb2JpbGVJbmRpY2F0b3InXSxcbn0pXG5leHBvcnQgY2xhc3MgUENvbnRlbnRTbGlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQ29udGVudFNsaWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBDb250ZW50U2xpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QQ29udGVudFNsaWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydyZXR1cm5UeXBlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWNyb3BwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3JldHVyblR5cGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUENyb3BwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQ3JvcHBlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBDcm9wcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QQ3JvcHBlciB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlV2Vla2VuZHMnLCAnZGlzYWJsZWQnLCAnZGlzYWJsZWREYXRlcycsICdlbmFibGVOYXRpdmVQaWNrZXInLCAnZW5hYmxlVG9kYXknLCAnZXJyb3InLCAnZm9ybWF0JywgJ2hlbHBlcicsICdoaWRlSWNvbldoZW5GaWxsZWQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncHJlZml4JywgJ3ByZXNlbGVjdFRvZGF5JywgJ3JlcXVpcmVkJywgJ3Nob3dPcHRpb25hbCcsICdzaXplJywgJ3N0cmF0ZWd5JywgJ3RvZGF5VGV4dCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kYXRlcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlV2Vla2VuZHMnLCAnZGlzYWJsZWQnLCAnZGlzYWJsZWREYXRlcycsICdlbmFibGVOYXRpdmVQaWNrZXInLCAnZW5hYmxlVG9kYXknLCAnZXJyb3InLCAnZm9ybWF0JywgJ2hlbHBlcicsICdoaWRlSWNvbldoZW5GaWxsZWQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncHJlZml4JywgJ3ByZXNlbGVjdFRvZGF5JywgJ3JlcXVpcmVkJywgJ3Nob3dPcHRpb25hbCcsICdzaXplJywgJ3N0cmF0ZWd5JywgJ3RvZGF5VGV4dCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQRGF0ZXBpY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBEYXRlcGlja2VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmFsdWVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERhdGVwaWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBEYXRlcGlja2VyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsaWduQ29udGVudCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsaWduQ29udGVudCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBEaXZpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUERpdmlkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuUERpdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBwbHlCbHVyJywgJ2JhY2tkcm9wQ2xpY2tDbG9zZScsICdjYW5DbG9zZScsICdoZWFkZXInLCAnc2Nyb2xsTG9jaycsICdzaG93JywgJ3Nob3dDbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcmF3ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGx5Qmx1cicsICdiYWNrZHJvcENsaWNrQ2xvc2UnLCAnY2FuQ2xvc2UnLCAnaGVhZGVyJywgJ3Njcm9sbExvY2snLCAnc2hvdycsICdzaG93Q2xvc2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyYXdlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBEcmF3ZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZUNsaWNrZWQnLCAnY2xvc2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEcmF3ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBEcmF3ZXIge1xuICAvKipcbiAgICogQ2xvc2UgY2xpY2sgZXZlbnRcbiAgICovXG4gIGNsb3NlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnQ6IE1vdXNlRXZlbnQ7IGNhbkNsb3NlOiBib29sZWFuOyBzb3VyY2U6ICd1bmtub3duJyB8ICdiYWNrZHJvcCcgfCAnY2xvc2UnIHwgJ2V2ZW50JyB9Pj47XG4gIC8qKlxuICAgKiBDbG9zZWQgZXZlbnRcbiAgICovXG4gIGNsb3NlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bGw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJhd2VyLWJvZHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyYXdlckJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRHJhd2VyQm9keUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEcmF3ZXJCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5QRHJhd2VyQm9keSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyYXdlci1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NpbmcnXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyYXdlckNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBEcmF3ZXJDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJhd2VyQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJhd2VyQ29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Nob3dDbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcmF3ZXItaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaG93Q2xvc2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyYXdlckhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBEcmF3ZXJIZWFkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJhd2VySGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJhd2VySGVhZGVyIHtcbiAgLyoqXG4gICAqIENsb3NlIGNsaWNrIGV2ZW50XG4gICAqL1xuICBjbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dPdmVyZmxvdycsICdhcHBseUNoZXZyb24nLCAnYXBwbHlGdWxsV2lkdGgnLCAnYXBwbHlNYXhXaWR0aCcsICdjaGV2cm9uRGlyZWN0aW9uJywgJ2NoZXZyb25Qb3NpdGlvbicsICdjb250YWluZXJDbGFzcycsICdkaXNhYmxlVHJpZ2dlckNsaWNrJywgJ2luc2lkZUNsaWNrJywgJ2lzRGF0ZXBpY2tlcicsICdtYW51YWwnLCAnb2Zmc2V0JywgJ3BsYWNlbWVudCcsICdzY3JvbGxhYmxlJywgJ3Nob3cnLCAnc3RyYXRlZ3knLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxsb3dPdmVyZmxvdycsICdhcHBseUNoZXZyb24nLCAnYXBwbHlGdWxsV2lkdGgnLCAnYXBwbHlNYXhXaWR0aCcsICdjaGV2cm9uRGlyZWN0aW9uJywgJ2NoZXZyb25Qb3NpdGlvbicsICdjb250YWluZXJDbGFzcycsICdkaXNhYmxlVHJpZ2dlckNsaWNrJywgJ2luc2lkZUNsaWNrJywgJ2lzRGF0ZXBpY2tlcicsICdtYW51YWwnLCAnb2Zmc2V0JywgJ3BsYWNlbWVudCcsICdzY3JvbGxhYmxlJywgJ3Nob3cnLCAnc3RyYXRlZ3knLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRHJvcGRvd25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpc09wZW4nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJvcGRvd24ge1xuICAvKipcbiAgICogT3BlbiBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIGlzT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dPdmVyZmxvdycsICdjbGFzcycsICdmdWxsV2lkdGgnLCAnbWF4V2lkdGgnLCAnc2Nyb2xsYWJsZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duLW1lbnUtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd092ZXJmbG93JywgJ2NsYXNzJywgJ2Z1bGxXaWR0aCcsICdtYXhXaWR0aCcsICdzY3JvbGxhYmxlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyb3Bkb3duTWVudUNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBEcm9wZG93bk1lbnVDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJvcGRvd25NZW51Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJvcGRvd25NZW51Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhdXRvSGVpZ2h0JywgJ2NoZWNrYm94JywgJ2Rpc2FibGVkJywgJ2VuYWJsZUhvdmVyJywgJ2VuYWJsZVRleHRXcmFwJywgJ2ljb24nLCAnaWNvbldhdmUnLCAndXNlQ29udGFpbmVyJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJvcGRvd24tbWVudS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXV0b0hlaWdodCcsICdjaGVja2JveCcsICdkaXNhYmxlZCcsICdlbmFibGVIb3ZlcicsICdlbmFibGVUZXh0V3JhcCcsICdpY29uJywgJ2ljb25XYXZlJywgJ3VzZUNvbnRhaW5lcicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcm9wZG93bk1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUERyb3Bkb3duTWVudUl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJvcGRvd25NZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuUERyb3Bkb3duTWVudUl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aW9uSWNvbicsICdhY3Rpb25JY29uUG9zaXRpb24nLCAnYWN0aW9uTG9hZGluZycsICdhY3Rpb25UZXh0JywgJ2FjdGlvblZhcmlhbnQnLCAnY29udGVudCcsICdlbmFibGVBY3Rpb24nLCAnaGVhZGVyJywgJ2lsbHVzdHJhdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1lbXB0eS1zdGF0ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aW9uSWNvbicsICdhY3Rpb25JY29uUG9zaXRpb24nLCAnYWN0aW9uTG9hZGluZycsICdhY3Rpb25UZXh0JywgJ2FjdGlvblZhcmlhbnQnLCAnY29udGVudCcsICdlbmFibGVBY3Rpb24nLCAnaGVhZGVyJywgJ2lsbHVzdHJhdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBQRW1wdHlTdGF0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBFbXB0eVN0YXRlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWN0aW9uJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBFbXB0eVN0YXRlIGV4dGVuZHMgQ29tcG9uZW50cy5QRW1wdHlTdGF0ZSB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCBvbiB0aGUgYWN0aW9uIGJ1dHRvblxuICAgKi9cbiAgYWN0aW9uOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhZGRUZXh0JywgJ2FsaWduJywgJ2F1dG9TaG93RXJyb3InLCAnYXV0b2ZvY3VzJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yUGxhY2VtZW50JywgJ2ZvY3VzTWV0aG9kJywgJ2ZvY3VzZWQnLCAnZm9yY2VTaG93VG9vbHRpcCcsICdoZWxwZXInLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdpZCcsICdsYWJlbCcsICdsb2FkaW5nJywgJ29wdGlvbmFsVGVtcGxhdGUnLCAncGxhY2Vob2xkZXInLCAncHJlZml4JywgJ3Byb3BlcnRpZXMnLCAncmVxdWlyZWQnLCAnc2VsZWN0QWxsT25Gb2N1cycsICdzaG93QWRkT25FbXB0eScsICdzaG93T3B0aW9uYWwnLCAnc2l6ZScsICdzdWZmaXgnLCAndHlwZScsICd2YWx1ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWZpZWxkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhZGRUZXh0JywgJ2FsaWduJywgJ2F1dG9TaG93RXJyb3InLCAnYXV0b2ZvY3VzJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yUGxhY2VtZW50JywgJ2ZvY3VzTWV0aG9kJywgJ2ZvY3VzZWQnLCAnZm9yY2VTaG93VG9vbHRpcCcsICdoZWxwZXInLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdpZCcsICdsYWJlbCcsICdsb2FkaW5nJywgJ29wdGlvbmFsVGVtcGxhdGUnLCAncGxhY2Vob2xkZXInLCAncHJlZml4JywgJ3Byb3BlcnRpZXMnLCAncmVxdWlyZWQnLCAnc2VsZWN0QWxsT25Gb2N1cycsICdzaG93QWRkT25FbXB0eScsICdzaG93T3B0aW9uYWwnLCAnc2l6ZScsICdzdWZmaXgnLCAndHlwZScsICd2YWx1ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBGaWVsZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBGaWVsZEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlJywgJ2lucHV0UmVmQ2hhbmdlJywgJ2FkZCcsICdlbnRlciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRmllbGQgZXh0ZW5kcyBDb21wb25lbnRzLlBGaWVsZCB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmcgfCBudW1iZXI+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBpbnB1dCByZWYgY2hhbmdlc1xuICAgKi9cbiAgaW5wdXRSZWZDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIGFkZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSB1c2VyIHByZXNzZXMgZW50ZXIgYW5kIHRoZSBmaWVsZCBpcyBmb2N1c2VkXG4gICAqL1xuICBlbnRlcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZyB8IG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGlnbicsICdlcnJvcicsICdlcnJvclBsYWNlbWVudCcsICdmb3JjZVNob3dUb29sdGlwJywgJ2hlbHBlcicsICdpZCcsICdsYWJlbCcsICdsb2FkaW5nJywgJ2xvYWRpbmdTaXplJywgJ29wdGlvbmFsVGVtcGxhdGUnLCAncmVxdWlyZWQnLCAnc2hvd09wdGlvbmFsJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZmllbGQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGlnbicsICdlcnJvcicsICdlcnJvclBsYWNlbWVudCcsICdmb3JjZVNob3dUb29sdGlwJywgJ2hlbHBlcicsICdpZCcsICdsYWJlbCcsICdsb2FkaW5nJywgJ2xvYWRpbmdTaXplJywgJ29wdGlvbmFsVGVtcGxhdGUnLCAncmVxdWlyZWQnLCAnc2hvd09wdGlvbmFsJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEZpZWxkQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEZpZWxkQ29udGFpbmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZm9jdXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEZpZWxkQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRmllbGRDb250YWluZXIge1xuXG4gIGZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbW91bnQnLCAnYW1vdW50U2VsZWN0ZWRUZW1wbGF0ZScsICdlbmFibGVBbW91bnRTZWxlY3RlZCcsICdlbmFibGVDbG9zZScsICd1c2VkSW5UYWJsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1mbG9hdGluZy1tZW51LWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW1vdW50JywgJ2Ftb3VudFNlbGVjdGVkVGVtcGxhdGUnLCAnZW5hYmxlQW1vdW50U2VsZWN0ZWQnLCAnZW5hYmxlQ2xvc2UnLCAndXNlZEluVGFibGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEZsb2F0aW5nTWVudUNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBGbG9hdGluZ01lbnVDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRmxvYXRpbmdNZW51Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRmxvYXRpbmdNZW51Q29udGFpbmVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBjbG9zZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgY2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hvdmVyJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Sb3RhdGUnLCAnbG9hZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1mbG9hdGluZy1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hvdmVyJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Sb3RhdGUnLCAnbG9hZGluZyddLFxufSlcbmV4cG9ydCBjbGFzcyBQRmxvYXRpbmdNZW51SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBGbG9hdGluZ01lbnVJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEZsb2F0aW5nTWVudUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBGbG9hdGluZ01lbnVJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3BsYWNlbWVudCcsICdzdHJhdGVneSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1oZWxwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3BsYWNlbWVudCcsICdzdHJhdGVneSddLFxufSlcbmV4cG9ydCBjbGFzcyBQSGVscGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEhlbHBlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBIZWxwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBIZWxwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWJhbicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWliYW4taWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWJhbicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBJYmFuSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBJYmFuSWNvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJYmFuSWNvbiBleHRlbmRzIENvbXBvbmVudHMuUEliYW5JY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZsaXAnLCAncm90YXRlJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmbGlwJywgJ3JvdGF0ZScsICdzaXplJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQSWNvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5QSWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWlsbHVzdHJhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQSWxsdXN0cmF0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUElsbHVzdHJhdGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJbGx1c3RyYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlBJbGx1c3RyYXRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbGx1c3RyYXRpb24tZGVwcmVjYXRlZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQSWxsdXN0cmF0aW9uRGVwcmVjYXRlZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBJbGx1c3RyYXRpb25EZXByZWNhdGVkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUElsbHVzdHJhdGlvbkRlcHJlY2F0ZWQgZXh0ZW5kcyBDb21wb25lbnRzLlBJbGx1c3RyYXRpb25EZXByZWNhdGVkIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlYWJsZScsICdjb250ZW50JywgJ2hlYWRlcicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWluZm8tcGFuZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NlYWJsZScsICdjb250ZW50JywgJ2hlYWRlcicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBJbmZvUGFuZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQSW5mb1BhbmVsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvc2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJbmZvUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLlBJbmZvUGFuZWwge1xuICAvKipcbiAgICogV2hlbiB0aGUgYmFja2Ryb3AgaXMgY2xpY2tlZFxuICAgKi9cbiAgY2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Pbmx5JywgJ2ljb25Sb3RhdGUnLCAna2VlcE1vYmlsZUNvbnRlbnQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWNvbicsICdpY29uRmxpcCcsICdpY29uT25seScsICdpY29uUm90YXRlJywgJ2tlZXBNb2JpbGVDb250ZW50JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUExhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUExhYmVsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUExhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5QTGFiZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1sYXlvdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUExheW91dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBMYXlvdXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzY3JvbGwnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUExheW91dCBleHRlbmRzIENvbXBvbmVudHMuUExheW91dCB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgbGF5b3V0IGlzIGJlaW5nIHNjcm9sbGVkXG4gICAqL1xuICBzY3JvbGw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbGlzdGluZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQTGlzdGluZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBMaXN0aW5nRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUExpc3RpbmcgZXh0ZW5kcyBDb21wb25lbnRzLlBMaXN0aW5nIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ljb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbGlzdGluZy1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpY29uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBMaXN0aW5nSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBMaXN0aW5nSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBMaXN0aW5nSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUExpc3RpbmdJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxpc3RpbmctbGluZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQTGlzdGluZ0xpbmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTGlzdGluZ0xpbmVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTGlzdGluZ0xpbmUgZXh0ZW5kcyBDb21wb25lbnRzLlBMaXN0aW5nTGluZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdtb2RhbERlc2NyaXB0aW9uJywgJ21vZGFsVGl0bGUnLCAnc2hvdycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxvYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnbW9kYWxEZXNjcmlwdGlvbicsICdtb2RhbFRpdGxlJywgJ3Nob3cnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQTG9hZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUExvYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBMb2FkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBMb2FkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBwbHlCbHVyJywgJ2JhY2tkcm9wQ2xpY2tDbG9zZScsICdoZWFkZXInLCAnc2Nyb2xsTG9jaycsICdzaG93JywgJ3Nob3dDbG9zZScsICdzaG93TW9iaWxlRm9vdGVyJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGx5Qmx1cicsICdiYWNrZHJvcENsaWNrQ2xvc2UnLCAnaGVhZGVyJywgJ3Njcm9sbExvY2snLCAnc2hvdycsICdzaG93Q2xvc2UnLCAnc2hvd01vYmlsZUZvb3RlcicsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBNb2RhbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlQ2xpY2tlZCcsICdjbG9zZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsIGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWwge1xuICAvKipcbiAgICogQ2xvc2UgY2xpY2sgZXZlbnRcbiAgICovXG4gIGNsb3NlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsb3NlZCBldmVudFxuICAgKi9cbiAgY2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3JvdW5kZWRCb3R0b20nLCAncm91bmRlZFRvcCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1tb2RhbC1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydyb3VuZGVkQm90dG9tJywgJ3JvdW5kZWRUb3AnXSxcbn0pXG5leHBvcnQgY2xhc3MgUE1vZGFsQm9keSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBNb2RhbEJvZHlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTW9kYWxCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWxCb2R5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NpbmcnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1tb2RhbC1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NpbmcnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQTW9kYWxDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTW9kYWxDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTW9kYWxDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBNb2RhbENvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1tb2RhbC1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUE1vZGFsRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUE1vZGFsRm9vdGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWxGb290ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2hvd0Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW1vZGFsLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2hvd0Nsb3NlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbEhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBNb2RhbEhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBNb2RhbEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUE1vZGFsSGVhZGVyIHtcbiAgLyoqXG4gICAqIENsb3NlIGNsaWNrIGV2ZW50XG4gICAqL1xuICBjbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbmF2YmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBOYXZiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTmF2YmFyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE5hdmJhciBleHRlbmRzIENvbXBvbmVudHMuUE5hdmJhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXBwbHlGdWxsV2lkdGgnLCAnYXMnLCAnY2xhc3MnLCAnY291bnRlcicsICdocmVmJywgJ2ljb24nLCAnbG9hZGluZycsICd0YXJnZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbmF2aWdhdGlvbi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXBwbHlGdWxsV2lkdGgnLCAnYXMnLCAnY2xhc3MnLCAnY291bnRlcicsICdocmVmJywgJ2ljb24nLCAnbG9hZGluZycsICd0YXJnZXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUE5hdmlnYXRpb25JdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUE5hdmlnYXRpb25JdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE5hdmlnYXRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QTmF2aWdhdGlvbkl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVhZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW5hdmlnYXRpb24tc2VjdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBOYXZpZ2F0aW9uU2VjdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBOYXZpZ2F0aW9uU2VjdGlvbiBleHRlbmRzIENvbXBvbmVudHMuUE5hdmlnYXRpb25TZWN0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW5hdmlnYXRpb24tdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUE5hdmlnYXRpb25UaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBOYXZpZ2F0aW9uVGl0bGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTmF2aWdhdGlvblRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5QTmF2aWdhdGlvblRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2VuYWJsZVBhZ2luYXRpb25QYWdlcycsICdlbmFibGVQYWdpbmF0aW9uU2l6ZScsICdoaWRlT25TaW5nbGVQYWdlJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAncGFnZVNpemVPcHRpb25zJywgJ3RvdGFsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXBhZ2luYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2VuYWJsZVBhZ2luYXRpb25QYWdlcycsICdlbmFibGVQYWdpbmF0aW9uU2l6ZScsICdoaWRlT25TaW5nbGVQYWdlJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAncGFnZVNpemVPcHRpb25zJywgJ3RvdGFsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBQYWdpbmF0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFBhZ2luYXRpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwYWdlQ2hhbmdlJywgJ3BhZ2VTaXplQ2hhbmdlJywgJ3BhZ2VzQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBQYWdpbmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5QUGFnaW5hdGlvbiB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgcGFnZSBjaGFuZ2VzXG4gICAqL1xuICBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgcGFnZSBjaGFuZ2VzXG4gICAqL1xuICBwYWdlU2l6ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogVGhlIHBhZ2VzIHRoYXQgd2VyZSBnZW5lcmF0ZWRcbiAgICovXG4gIHBhZ2VzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Ryb3Bkb3duUGFnZVRlbXBsYXRlJywgJ2hpZGVPblNpbmdsZVBhZ2UnLCAncGFnZScsICdwYWdlU2l6ZScsICd0b3RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wYWdpbmF0aW9uLXBhZ2VzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkcm9wZG93blBhZ2VUZW1wbGF0ZScsICdoaWRlT25TaW5nbGVQYWdlJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAndG90YWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2luYXRpb25QYWdlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBQYWdpbmF0aW9uUGFnZXNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwYWdlQ2hhbmdlJywgJ3BhZ2VzQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBQYWdpbmF0aW9uUGFnZXMgZXh0ZW5kcyBDb21wb25lbnRzLlBQYWdpbmF0aW9uUGFnZXMge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHBhZ2UgY2hhbmdlc1xuICAgKi9cbiAgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogVGhlIHBhZ2VzIHRoYXQgd2VyZSBnZW5lcmF0ZWRcbiAgICovXG4gIHBhZ2VzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCcsICdob3ZlcicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXBhZ2luYXRpb24tcGFnZXMtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Rpc2FibGVkJywgJ2hvdmVyJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2luYXRpb25QYWdlc0l0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQUGFnaW5hdGlvblBhZ2VzSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBQYWdpbmF0aW9uUGFnZXNJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QUGFnaW5hdGlvblBhZ2VzSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWRkZW4nLCAnaXRlbVRlbXBsYXRlJywgJ3NpemUnLCAnc2l6ZU9wdGlvbnMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtcGFnaW5hdGlvbi1zaXplJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRkZW4nLCAnaXRlbVRlbXBsYXRlJywgJ3NpemUnLCAnc2l6ZU9wdGlvbnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2luYXRpb25TaXplIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFBhZ2luYXRpb25TaXplRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l6ZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnaW5hdGlvblNpemUgZXh0ZW5kcyBDb21wb25lbnRzLlBQYWdpbmF0aW9uU2l6ZSB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgc2l6ZSBjaGFuZ2VzXG4gICAqL1xuICBzaXplQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Ryb3Bkb3duTG9jYXRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtcHJvZmlsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZHJvcGRvd25Mb2NhdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBQUHJvZmlsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBQcm9maWxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFByb2ZpbGUgZXh0ZW5kcyBDb21wb25lbnRzLlBQcm9maWxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaWQnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpZCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBSYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBSYWRpb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NoZWNrZWRDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5QUmFkaW8ge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIGNoZWNrZWQgY2hhbmdlc1xuICAgKi9cbiAgY2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbWF4JywgJ21pbicsICdzdGVwJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXJhbmdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydtYXgnLCAnbWluJywgJ3N0ZXAnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFJhbmdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFJhbmdlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmFsdWVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFJhbmdlIGV4dGVuZHMgQ29tcG9uZW50cy5QUmFuZ2Uge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXNlZ21lbnQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBTZWdtZW50Q29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFNlZ21lbnRDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQU2VnbWVudENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUFNlZ21lbnRDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvbk9ubHknLCAnaWNvblJvdGF0ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXNlZ21lbnQtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvbk9ubHknLCAnaWNvblJvdGF0ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBTZWdtZW50SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBTZWdtZW50SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTZWdtZW50SXRlbSBleHRlbmRzIENvbXBvbmVudHMuUFNlZ21lbnRJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FkZEl0ZW1UZXh0JywgJ2FwcGx5Q2xhc3NPblNlbGVjdGVkSXRlbScsICdhcHBseUNsYXNzT25TZWxlY3RlZEl0ZW1Jbk1lbnUnLCAnYXN5bmNGaWx0ZXInLCAnYXV0b1NlbGVjdEZpcnN0JywgJ2F1dG9jb21wbGV0ZVBsYWNlaG9sZGVyJywgJ2F2YXRhcktleScsICdhdmF0YXJMZXR0ZXJzS2V5JywgJ2NsYXNzS2V5JywgJ2Rpc2FibGVkJywgJ2Rpc3BsYXlLZXknLCAnZHJvcGRvd25EaXNwbGF5S2V5JywgJ2VtcHR5U3RhdGVUZXh0JywgJ2VuYWJsZUF1dG9jb21wbGV0ZScsICdlbmFibGVTZWxlY3RBbGwnLCAnZW5hYmxlVGV4dFdyYXAnLCAnZXJyb3InLCAnaGVscGVyJywgJ2ljb24nLCAnaWNvbkNsYXNzS2V5JywgJ2ljb25LZXknLCAnaWRlbnRpZmllcktleScsICdpdGVtcycsICdsYWJlbCcsICdsb2FkaW5nJywgJ21heERpc3BsYXllZEl0ZW1zJywgJ211bHRpJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeCcsICdxdWVyeScsICdxdWVyeUtleScsICdyZXF1aXJlZCcsICdzZWxlY3RBbGxJY29uJywgJ3NlbGVjdEFsbFRleHQnLCAnc2VsZWN0aW9uRGlzcGxheUtleScsICdzaG93QWRkSXRlbScsICdzaG93Q2hldnJvbicsICdzaG93SWNvbk9uU2VsZWN0ZWRJdGVtJywgJ3Nob3dPcHRpb25hbCcsICdzaXplJywgJ3N0cmF0ZWd5JywgJ3ZhbHVlJywgJ3ZhbHVlS2V5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkSXRlbVRleHQnLCAnYXBwbHlDbGFzc09uU2VsZWN0ZWRJdGVtJywgJ2FwcGx5Q2xhc3NPblNlbGVjdGVkSXRlbUluTWVudScsICdhc3luY0ZpbHRlcicsICdhdXRvU2VsZWN0Rmlyc3QnLCAnYXV0b2NvbXBsZXRlUGxhY2Vob2xkZXInLCAnYXZhdGFyS2V5JywgJ2F2YXRhckxldHRlcnNLZXknLCAnY2xhc3NLZXknLCAnZGlzYWJsZWQnLCAnZGlzcGxheUtleScsICdkcm9wZG93bkRpc3BsYXlLZXknLCAnZW1wdHlTdGF0ZVRleHQnLCAnZW5hYmxlQXV0b2NvbXBsZXRlJywgJ2VuYWJsZVNlbGVjdEFsbCcsICdlbmFibGVUZXh0V3JhcCcsICdlcnJvcicsICdoZWxwZXInLCAnaWNvbicsICdpY29uQ2xhc3NLZXknLCAnaWNvbktleScsICdpZGVudGlmaWVyS2V5JywgJ2l0ZW1zJywgJ2xhYmVsJywgJ2xvYWRpbmcnLCAnbWF4RGlzcGxheWVkSXRlbXMnLCAnbXVsdGknLCAncGxhY2Vob2xkZXInLCAncHJlZml4JywgJ3F1ZXJ5JywgJ3F1ZXJ5S2V5JywgJ3JlcXVpcmVkJywgJ3NlbGVjdEFsbEljb24nLCAnc2VsZWN0QWxsVGV4dCcsICdzZWxlY3Rpb25EaXNwbGF5S2V5JywgJ3Nob3dBZGRJdGVtJywgJ3Nob3dDaGV2cm9uJywgJ3Nob3dJY29uT25TZWxlY3RlZEl0ZW0nLCAnc2hvd09wdGlvbmFsJywgJ3NpemUnLCAnc3RyYXRlZ3knLCAndmFsdWUnLCAndmFsdWVLZXknXSxcbn0pXG5leHBvcnQgY2xhc3MgUFNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBTZWxlY3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydxdWVyeUNoYW5nZScsICd2YWx1ZUNoYW5nZScsICdzZWxlY3RBbGxDaGFuZ2UnLCAnZHJvcGRvd25TaG93bicsICdhZGQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFNlbGVjdCBleHRlbmRzIENvbXBvbmVudHMuUFNlbGVjdCB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSBxdWVyeSBvZiB0aGUgYXV0b2NvbXBsZXRlIGNoYW5nZXNcbiAgICovXG4gIHF1ZXJ5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgc2VsZWN0IGFsbCBpdGVtIGhhcyBiZWVuIHNlbGVjdGVkIG9yIG5vdFxuICAgKi9cbiAgc2VsZWN0QWxsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSBkcm9wZG93biBzaG93c1xuICAgKi9cbiAgZHJvcGRvd25TaG93bjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgYWRkIGl0ZW0gaXMgY2xpY2tlZFxuICAgKi9cbiAgYWRkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc21pbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFNtaWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFNtaWxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFNtaWxlIGV4dGVuZHMgQ29tcG9uZW50cy5QU21pbGUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlU3RlcCcsICdhbGlnbicsICdjb250ZW50UG9zaXRpb24nLCAnZGlyZWN0aW9uJywgJ2VuYWJsZUF1dG9TdGF0dXMnLCAnc3RlcHMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlU3RlcCcsICdhbGlnbicsICdjb250ZW50UG9zaXRpb24nLCAnZGlyZWN0aW9uJywgJ2VuYWJsZUF1dG9TdGF0dXMnLCAnc3RlcHMnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQU3RlcHBlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYWxpZ24nLCAnY29udGVudFBvc2l0aW9uJywgJ2RpcmVjdGlvbicsICdmaW5pc2hlZCcsICdudW1iZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc3RlcHBlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnYWxpZ24nLCAnY29udGVudFBvc2l0aW9uJywgJ2RpcmVjdGlvbicsICdmaW5pc2hlZCcsICdudW1iZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgUFN0ZXBwZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFN0ZXBwZXJJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFN0ZXBwZXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QU3RlcHBlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2RpcmVjdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zdGVwcGVyLWxpbmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXJlY3Rpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgUFN0ZXBwZXJMaW5lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFN0ZXBwZXJMaW5lRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFN0ZXBwZXJMaW5lIGV4dGVuZHMgQ29tcG9uZW50cy5QU3RlcHBlckxpbmUge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdGFiLWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQVGFiQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRhYkNvbnRhaW5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBUYWJDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRhYkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQVGFiSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QVGFiSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWJsZS1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRhYmxlQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRhYmxlQ29udGFpbmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRhYmxlQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QVGFibGVDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZW5hYmxlUGFnaW5hdGlvblBhZ2VzJywgJ2VuYWJsZVBhZ2luYXRpb25TaXplJywgJ2hpZGVPblNpbmdsZVBhZ2UnLCAnbG9hZGluZycsICdwYWdlJywgJ3BhZ2VTaXplJywgJ3BhZ2VTaXplT3B0aW9ucycsICd0YWJsZUhlYWRlckhhc0FjdGlvbicsICd0b3RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWJsZS1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2VuYWJsZVBhZ2luYXRpb25QYWdlcycsICdlbmFibGVQYWdpbmF0aW9uU2l6ZScsICdoaWRlT25TaW5nbGVQYWdlJywgJ2xvYWRpbmcnLCAncGFnZScsICdwYWdlU2l6ZScsICdwYWdlU2l6ZU9wdGlvbnMnLCAndGFibGVIZWFkZXJIYXNBY3Rpb24nLCAndG90YWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRhYmxlRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRhYmxlRm9vdGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZUNoYW5nZScsICdwYWdlU2l6ZUNoYW5nZScsICdoaWRkZW5DaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRhYmxlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QVGFibGVGb290ZXIge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHBhZ2UgY2hhbmdlc1xuICAgKi9cbiAgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHBhZ2UgY2hhbmdlc1xuICAgKi9cbiAgcGFnZVNpemVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBmb290ZXIgaXMgaGlkZGVuIG9yIG5vZ1xuICAgKi9cbiAgaGlkZGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb25CdXR0b25UZW1wbGF0ZScsICdhY3Rpb25JY29uJywgJ2FjdGlvbkxvYWRpbmcnLCAnYWN0aW9uVGV4dCcsICdhY3RpdmVRdWlja0ZpbHRlcklkZW50aWZpZXInLCAnY2FuVXNlQWN0aW9uJywgJ2VuYWJsZUFjdGlvbicsICdlbmFibGVFeHBvcnQnLCAnZW5hYmxlRmlsdGVyJywgJ2VuYWJsZUZpbHRlckRlc2t0b3AnLCAnZW5hYmxlU2VhcmNoJywgJ2ZpbHRlckJ1dHRvblRlbXBsYXRlJywgJ2l0ZW1zU2VsZWN0ZWRBbW91bnQnLCAnbG9hZGluZycsICdxdWVyeScsICdxdWlja0ZpbHRlcnMnLCAnc2VsZWN0ZWRGaWx0ZXJzQW1vdW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYmxlLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aW9uQnV0dG9uVGVtcGxhdGUnLCAnYWN0aW9uSWNvbicsICdhY3Rpb25Mb2FkaW5nJywgJ2FjdGlvblRleHQnLCAnYWN0aXZlUXVpY2tGaWx0ZXJJZGVudGlmaWVyJywgJ2NhblVzZUFjdGlvbicsICdlbmFibGVBY3Rpb24nLCAnZW5hYmxlRXhwb3J0JywgJ2VuYWJsZUZpbHRlcicsICdlbmFibGVGaWx0ZXJEZXNrdG9wJywgJ2VuYWJsZVNlYXJjaCcsICdmaWx0ZXJCdXR0b25UZW1wbGF0ZScsICdpdGVtc1NlbGVjdGVkQW1vdW50JywgJ2xvYWRpbmcnLCAncXVlcnknLCAncXVpY2tGaWx0ZXJzJywgJ3NlbGVjdGVkRmlsdGVyc0Ftb3VudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQVGFibGVIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQVGFibGVIZWFkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydxdWlja0ZpbHRlcicsICdxdWVyeUNoYW5nZScsICdmaWx0ZXInLCAnYWN0aW9uJywgJ2V4cG9ydCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgUXVpY2tGaWx0ZXIgYXMgSVBUYWJsZUhlYWRlclF1aWNrRmlsdGVyIH0gZnJvbSAnQHBhcGVybGVzcy9jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJsZUhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUFRhYmxlSGVhZGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gb25lIG9mIHRoZSBxdWljayBmaWx0ZXJzIGlzIGNsaWNrZWRcbiAgICovXG4gIHF1aWNrRmlsdGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVBUYWJsZUhlYWRlclF1aWNrRmlsdGVyPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSBxdWVyeSBjaGFuZ2VzXG4gICAqL1xuICBxdWVyeUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgZmlsdGVyIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBmaWx0ZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudWxsPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIGFjdGlvbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bGw+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBleHBvcnQgYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIGV4cG9ydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2VuYWJsZUhvdmVyJywgJ2lzTGFzdCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYmxlLXJvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdlbmFibGVIb3ZlcicsICdpc0xhc3QnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQVGFibGVSb3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQVGFibGVSb3dFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVGFibGVSb3cgZXh0ZW5kcyBDb21wb25lbnRzLlBUYWJsZVJvdyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYmxlLXJvdy1hY3Rpb25zLWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBQVGFibGVSb3dBY3Rpb25zQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRhYmxlUm93QWN0aW9uc0NvbnRhaW5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJsZVJvd0FjdGlvbnNDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBUYWJsZVJvd0FjdGlvbnNDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aW9uSWNvbicsICdhY3Rpb25JY29uRmxpcCcsICdhY3Rpb25JY29uUm90YXRlJywgJ2NvbnRlbnQnLCAnZW5hYmxlQWN0aW9uJywgJ2hlYWRlcicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRvYXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3Rpb25JY29uJywgJ2FjdGlvbkljb25GbGlwJywgJ2FjdGlvbkljb25Sb3RhdGUnLCAnY29udGVudCcsICdlbmFibGVBY3Rpb24nLCAnaGVhZGVyJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRvYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRvYXN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWN0aW9uJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUb2FzdCBleHRlbmRzIENvbXBvbmVudHMuUFRvYXN0IHtcbiAgLyoqXG4gICAqIEJ1dHRvbiBjbGljayBldmVudFxuICAgKi9cbiAgYWN0aW9uOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lkJywgJ25hbWUnLCAncmVxdWlyZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdG9nZ2xlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lkJywgJ25hbWUnLCAncmVxdWlyZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRvZ2dsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBUb2dnbGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVja2VkQ2hhbmdlJywgJ2luZGV0ZXJtaW5hdGVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRvZ2dsZSBleHRlbmRzIENvbXBvbmVudHMuUFRvZ2dsZSB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgY2hlY2tlZCBjaGFuZ2VzXG4gICAqL1xuICBjaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIGluZGV0ZXJtaW5hdGUgY2hhbmdlc1xuICAgKi9cbiAgaW5kZXRlcm1pbmF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2FuTWFudWFsbHlDbG9zZScsICdjb250ZW50JywgJ2VuYWJsZVVzZXJJbnB1dCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3Nob3cnLCAnc3RyYXRlZ3knLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYW5NYW51YWxseUNsb3NlJywgJ2NvbnRlbnQnLCAnZW5hYmxlVXNlcklucHV0JywgJ29mZnNldCcsICdwbGFjZW1lbnQnLCAnc2hvdycsICdzdHJhdGVneScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRvb2x0aXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpc09wZW4nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlBUb29sdGlwIHtcbiAgLyoqXG4gICAqIE9wZW4gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBpc09wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuIl19