ngx-touch-keyboard 2.0.0 → 2.1.0

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 (34) hide show
  1. package/README.md +67 -18
  2. package/esm2020/lib/layouts/index.mjs +131 -0
  3. package/esm2020/lib/layouts/layouts.type.mjs +2 -0
  4. package/esm2020/lib/ngx-touch-keyboard.component.mjs +610 -0
  5. package/esm2020/lib/ngx-touch-keyboard.directive.mjs +199 -0
  6. package/esm2020/lib/ngx-touch-keyboard.module.mjs +21 -0
  7. package/esm2020/ngx-touch-keyboard.mjs +5 -0
  8. package/esm2020/public-api.mjs +7 -0
  9. package/fesm2015/ngx-touch-keyboard.mjs +970 -0
  10. package/fesm2015/ngx-touch-keyboard.mjs.map +1 -0
  11. package/fesm2020/ngx-touch-keyboard.mjs +962 -0
  12. package/fesm2020/ngx-touch-keyboard.mjs.map +1 -0
  13. package/index.d.ts +5 -0
  14. package/lib/layouts/index.d.ts +3 -0
  15. package/lib/layouts/layouts.type.d.ts +6 -0
  16. package/lib/ngx-touch-keyboard.component.d.ts +203 -0
  17. package/lib/ngx-touch-keyboard.directive.d.ts +67 -0
  18. package/lib/ngx-touch-keyboard.module.d.ts +11 -0
  19. package/package.json +55 -35
  20. package/{src/public-api.ts → public-api.d.ts} +3 -7
  21. package/karma.conf.js +0 -44
  22. package/ng-package.json +0 -7
  23. package/src/lib/layouts/index.ts +0 -132
  24. package/src/lib/layouts/layouts.type.ts +0 -7
  25. package/src/lib/ngx-touch-keyboard.component.html +0 -26
  26. package/src/lib/ngx-touch-keyboard.component.scss +0 -103
  27. package/src/lib/ngx-touch-keyboard.component.spec.ts +0 -22
  28. package/src/lib/ngx-touch-keyboard.component.ts +0 -723
  29. package/src/lib/ngx-touch-keyboard.directive.ts +0 -164
  30. package/src/lib/ngx-touch-keyboard.module.ts +0 -14
  31. package/src/test.ts +0 -27
  32. package/tsconfig.lib.json +0 -15
  33. package/tsconfig.lib.prod.json +0 -10
  34. package/tsconfig.spec.json +0 -17
package/README.md CHANGED
@@ -1,24 +1,29 @@
1
1
  # AngularTouchKeyboard
2
- [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
3
- [![npm version](https://badge.fury.io/js/ngx-touch-keyboard.svg)](http://badge.fury.io/js/ngx-touch-keyboard)
2
+
3
+ [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![npm version](https://badge.fury.io/js/ngx-touch-keyboard.svg)](http://badge.fury.io/js/ngx-touch-keyboard)
4
4
 
5
5
  ## What is this?
6
+
6
7
  Virtual Keyboard for Angular applications.
7
8
 
8
- <img src="src/assets/images/angularTouchKeyboard.png" alt="angular touch keyboard"/>
9
+ ![angular touch keyboard](https://mohsen77sk.github.io/angular-touch-keyboard/assets/images/angularTouchKeyboard.png)
9
10
 
10
11
  ## Demo
11
- https://mohsen77sk.github.io/angular-touch-keyboard/
12
+
13
+ <https://mohsen77sk.github.io/angular-touch-keyboard/>
12
14
 
13
15
  ## Install
14
16
 
15
- ### Step 1: Install ngx-touch-keyboard
17
+ ### Step 1: Install [ngx-touch-keyboard](https://www.npmjs.com/package/ngx-touch-keyboard)
18
+
16
19
  ```sh
17
- $ npm install ngx-touch-keyboard
20
+ npm install ngx-touch-keyboard
18
21
  ```
19
22
 
20
23
  ### Step 2: Import the module
24
+
21
25
  Add `ngxTouchKeyboardModule` as an import in your app's root NgModule.
26
+
22
27
  ```typescript
23
28
  import { ngxTouchKeyboardModule } from 'ngx-touch-keyboard';
24
29
  @NgModule({
@@ -32,8 +37,15 @@ import { ngxTouchKeyboardModule } from 'ngx-touch-keyboard';
32
37
  export class AppModule { }
33
38
  ```
34
39
 
40
+ ### Compatibility
41
+
42
+ * `@angular/core`: ^14.0.0
43
+ * `@angular/cdk`: ^14.0.0
44
+
35
45
  ## Usage
46
+
36
47
  Simple usage example
48
+
37
49
  ```html
38
50
  <input
39
51
  type="text"
@@ -42,7 +54,9 @@ Simple usage example
42
54
  (focus)="touchKeyboard.openPanel()"
43
55
  />
44
56
  ```
57
+
45
58
  Material usage example
59
+
46
60
  ```html
47
61
  <mat-form-field>
48
62
  <mat-label>Default</mat-label>
@@ -62,25 +76,60 @@ Material usage example
62
76
  </button>
63
77
  </mat-form-field>
64
78
  ```
79
+
80
+ ### Properties
81
+
82
+ | Property | Description |
83
+ | --- | --- |
84
+ | `ngxTouchKeyboard` | Required to initialize Virtual Keyboard to specified input. |
85
+ | `ngxTouchKeyboardDebug` | Debug mode is on. |
86
+ | `ngxTouchKeyboardFullScreen` | Full screen mode is on. |
87
+
65
88
  ### Methods
66
89
 
90
+ Here's the list of all available methods:
91
+
67
92
  | Methods | Description |
68
93
  | --- | --- |
69
- | `openPanel` | Open keyboard panel |
70
- | `closePanel` | Close keyboard panel |
71
- | `togglePanel` | Toggle keyboard panel |
94
+ | `openPanel(): void` | Open keyboard panel |
95
+ | `closePanel(): void` | Close keyboard panel |
96
+ | `togglePanel(): void` | Toggle keyboard panel |
97
+
98
+ ## Themes
99
+
100
+ ### Built-in themes
101
+
102
+ * `default`: white theme
103
+ * `dark`: dark theme
104
+
105
+ To use the `dark` theme, you must put the class `dark` in the body.
72
106
 
73
- ### Layouts
107
+ ### Create custom theme
74
108
 
75
- | inputmode | screenshot |
109
+ To customize the theme, you need to use css variables.
110
+
111
+ | Name | Description |
112
+ | --- | --- |
113
+ | `--tk-color-text` | color of text button |
114
+ | `--tk-background` | color of background panel |
115
+ | `--tk-background-button` | color of background basic button |
116
+ | `--tk-background-button-fn` | color of background functional button |
117
+ | `--tk-background-button-active` | color of background active button |
118
+
119
+ ## Layouts
120
+
121
+ Depends on attribute inputmode, the keyboard layout is changed.
122
+
123
+ | inputmode | Screenshot |
76
124
  | --- | --- |
77
- | `inputmode='text'` | <img src="src/assets/images/text.png" alt="angular touch keyboard" width="260"/> |
78
- | `inputmode='search'` | <img src="src/assets/images/search.png" alt="angular touch keyboard" width="260"/> |
79
- | `inputmode='email'` | <img src="src/assets/images/email.png" alt="angular touch keyboard" width="260"/> |
80
- | `inputmode='url'` | <img src="src/assets/images/url.png" alt="angular touch keyboard" width="260"/> |
81
- | `inputmode='numeric'` | <img src="src/assets/images/number.png" alt="angular touch keyboard" width="260"/> |
82
- | `inputmode='decimal'` | <img src="src/assets/images/decimal.png" alt="angular touch keyboard" width="260"/> |
83
- | `inputmode='tel'` | <img src="src/assets/images/tel.png" alt="angular touch keyboard" width="260"/> |
125
+ | `inputmode='text'` | ![angular touch keyboard](https://mohsen77sk.github.io/angular-touch-keyboard/assets/images/text.png) |
126
+ | `inputmode='search'` | ![angular touch keyboard](https://mohsen77sk.github.io/angular-touch-keyboard/assets/images/search.png) |
127
+ | `inputmode='email'` | ![angular touch keyboard](https://mohsen77sk.github.io/angular-touch-keyboard/assets/images/email.png) |
128
+ | `inputmode='url'` | ![angular touch keyboard](https://mohsen77sk.github.io/angular-touch-keyboard/assets/images/url.png) |
129
+ | `inputmode='numeric'` | ![angular touch keyboard](https://mohsen77sk.github.io/angular-touch-keyboard/assets/images/number.png) |
130
+ | `inputmode='decimal'` | ![angular touch keyboard](https://mohsen77sk.github.io/angular-touch-keyboard/assets/images/decimal.png) |
131
+ | `inputmode='tel'` | ![angular touch keyboard](https://mohsen77sk.github.io/angular-touch-keyboard/assets/images/tel.png) |
84
132
 
85
133
  ## License
134
+
86
135
  [The MIT License (MIT)](LICENSE)
@@ -0,0 +1,131 @@
1
+ export const getLayout = () => {
2
+ return {
3
+ text_default: [
4
+ ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'],
5
+ ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'],
6
+ ['{shift}', 'z', 'x', 'c', 'v', 'b', 'n', 'm', '{backspace}'],
7
+ ['{numbers}', '{space}', '{ent}'],
8
+ ],
9
+ text_shift: [
10
+ ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'],
11
+ ['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'],
12
+ ['{shift}', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '{backspace}'],
13
+ ['{numbers}', '{space}', '{ent}'],
14
+ ],
15
+ text_numbers: [
16
+ ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
17
+ ['-', '/', ':', ';', '(', ')', '$', '&', '@', '"'],
18
+ ['{extends}', '.', ',', '?', '!', "'", '{backspace}'],
19
+ ['{abc}', '{space}', '{ent}'],
20
+ ],
21
+ text_extends: [
22
+ ['[', ']', '{', '}', '#', '%', '^', '*', '+', '='],
23
+ ['_', '\\', '|', '~', '<', '>', '€', '£', '¥', '•'],
24
+ ['{numbers}', '.', ',', '?', '!', "'", '{backspace}'],
25
+ ['{abc}', '{space}', '{ent}'],
26
+ ],
27
+ search_default: [
28
+ ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'],
29
+ ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'],
30
+ ['{shift}', 'z', 'x', 'c', 'v', 'b', 'n', 'm', '{backspace}'],
31
+ ['{numbers}', '{space}', '{ent}'],
32
+ ],
33
+ search_shift: [
34
+ ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'],
35
+ ['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'],
36
+ ['{shift}', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '{backspace}'],
37
+ ['{numbers}', '{space}', '{ent}'],
38
+ ],
39
+ search_numbers: [
40
+ ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
41
+ ['-', '/', ':', ';', '(', ')', '$', '&', '@', '"'],
42
+ ['{extends}', '.', ',', '?', '!', "'", '{backspace}'],
43
+ ['{abc}', '{space}', '{ent}'],
44
+ ],
45
+ search_extends: [
46
+ ['[', ']', '{', '}', '#', '%', '^', '*', '+', '='],
47
+ ['_', '\\', '|', '~', '<', '>', '€', '£', '¥', '•'],
48
+ ['{numbers}', '.', ',', '?', '!', "'", '{backspace}'],
49
+ ['{abc}', '{space}', '{ent}'],
50
+ ],
51
+ email_default: [
52
+ ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'],
53
+ ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'],
54
+ ['{shift}', 'z', 'x', 'c', 'v', 'b', 'n', 'm', '{backspace}'],
55
+ ['{numbers}', '@', '{space}', '.', '{ent}'],
56
+ ],
57
+ email_shift: [
58
+ ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'],
59
+ ['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'],
60
+ ['{shift}', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '{backspace}'],
61
+ ['{numbers}', '@', '{space}', '.', '{ent}'],
62
+ ],
63
+ email_numbers: [
64
+ ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
65
+ ['$', '!', '~', '&', '=', '#', '[', ']'],
66
+ ['{extends}', '.', '_', '-', '+', '{backspace}'],
67
+ ['{abc}', '@', '{space}', '.', '{ent}'],
68
+ ],
69
+ email_extends: [
70
+ ['`', '|', '{', '}', '?', '%', '^', '*', '/', "'"],
71
+ ['$', '!', '~', '&', '=', '#', '[', ']'],
72
+ ['{numbers}', '.', '_', '-', '+', '{backspace}'],
73
+ ['{abc}', '@', '{space}', '.', '{ent}'],
74
+ ],
75
+ url_default: [
76
+ ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'],
77
+ ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'],
78
+ ['{shift}', 'z', 'x', 'c', 'v', 'b', 'n', 'm', '{backspace}'],
79
+ ['{numbers}', '/', '.com', '.', '{ent}'],
80
+ ],
81
+ url_shift: [
82
+ ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'],
83
+ ['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'],
84
+ ['{shift}', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '{backspace}'],
85
+ ['{numbers}', '/', '.com', '.', '{ent}'],
86
+ ],
87
+ url_numbers: [
88
+ ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
89
+ ['@', '&', '%', '?', ',', '=', '[', ']'],
90
+ ['{extends}', '_', ':', '-', '+', '{backspace}'],
91
+ ['{abc}', '/', '.com', '.', '{ent}'],
92
+ ],
93
+ url_extends: [
94
+ ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
95
+ ['*', '$', '#', '!', "'", '^', '[', ']'],
96
+ ['{numbers}', '~', ';', '(', ')', '{backspace}'],
97
+ ['{abc}', '/', '.com', '.', '{ent}'],
98
+ ],
99
+ numeric_default: [
100
+ ['1', '2', '3'],
101
+ ['4', '5', '6'],
102
+ ['7', '8', '9'],
103
+ ['0', '{backspace}'],
104
+ ],
105
+ decimal_default: [
106
+ ['1', '2', '3'],
107
+ ['4', '5', '6'],
108
+ ['7', '8', '9'],
109
+ ['.', '0', '{backspace}'],
110
+ ],
111
+ tel_default: [
112
+ ['1', '2', '3', '*'],
113
+ ['4', '5', '6', '#'],
114
+ ['7', '8', '9', '+'],
115
+ ['0', '{backspace}'],
116
+ ],
117
+ };
118
+ };
119
+ export const getDisplay = () => {
120
+ return {
121
+ '{ent}': '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20" viewBox="0 0 24 24"><path d="m12 15-5-5h10Z"/></svg>',
122
+ '{language}': '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20" viewBox="0 0 24 24"><path d="M12 22q-2.05 0-3.875-.788-1.825-.787-3.187-2.15-1.363-1.362-2.15-3.187Q2 14.05 2 12q0-2.075.788-3.887.787-1.813 2.15-3.175Q6.3 3.575 8.125 2.787 9.95 2 12 2q2.075 0 3.887.787 1.813.788 3.175 2.151 1.363 1.362 2.15 3.175Q22 9.925 22 12q0 2.05-.788 3.875-.787 1.825-2.15 3.187-1.362 1.363-3.175 2.15Q14.075 22 12 22Zm0-2.05q.65-.9 1.125-1.875T13.9 16h-3.8q.3 1.1.775 2.075.475.975 1.125 1.875Zm-2.6-.4q-.45-.825-.787-1.713Q8.275 16.95 8.05 16H5.1q.725 1.25 1.812 2.175Q8 19.1 9.4 19.55Zm5.2 0q1.4-.45 2.487-1.375Q18.175 17.25 18.9 16h-2.95q-.225.95-.562 1.837-.338.888-.788 1.713ZM4.25 14h3.4q-.075-.5-.113-.988Q7.5 12.525 7.5 12t.037-1.012q.038-.488.113-.988h-3.4q-.125.5-.188.988Q4 11.475 4 12t.062 1.012q.063.488.188.988Zm5.4 0h4.7q.075-.5.113-.988.037-.487.037-1.012t-.037-1.012q-.038-.488-.113-.988h-4.7q-.075.5-.112.988Q9.5 11.475 9.5 12t.038 1.012q.037.488.112.988Zm6.7 0h3.4q.125-.5.188-.988Q20 12.525 20 12t-.062-1.012q-.063-.488-.188-.988h-3.4q.075.5.112.988.038.487.038 1.012t-.038 1.012q-.037.488-.112.988Zm-.4-6h2.95q-.725-1.25-1.813-2.175Q16 4.9 14.6 4.45q.45.825.788 1.712.337.888.562 1.838ZM10.1 8h3.8q-.3-1.1-.775-2.075Q12.65 4.95 12 4.05q-.65.9-1.125 1.875T10.1 8Zm-5 0h2.95q.225-.95.563-1.838.337-.887.787-1.712Q8 4.9 6.912 5.825 5.825 6.75 5.1 8Z"/></svg>',
123
+ '{shift}': '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20" viewBox="0 0 24 24"><path d="M10.8796773,2.4676627 C10.7983669,2.53542133 10.7233714,2.61041687 10.6556128,2.69172724 L2.79065437,12.1296773 C2.17191723,12.8721619 2.27223434,13.9756501 3.01471891,14.5943872 L3.15432027,14.6993778 C3.44275103,14.8945506 3.78413686,15 4.13504161,15 L6.999,15 L7,20.25 C7,21.2164983 7.78350169,22 8.75,22 L15.25,22 L15.3935272,21.9941988 C16.2928897,21.9211923 17,21.1681734 17,20.25 L16.999,15 L19.8649584,15 C20.8314567,15 21.6149584,14.2164983 21.6149584,13.25 C21.6149584,12.8406111 21.47143,12.4441786 21.2093456,12.1296773 L13.3443872,2.69172724 C12.7600244,1.99049181 11.7432755,1.8620539 11.0066223,2.37118457 L10.8796773,2.4676627 Z M12.1920553,3.65200384 L20.0570137,13.0899539 C20.0944543,13.1348827 20.1149584,13.1915159 20.1149584,13.25 C20.1149584,13.3880712 20.0030296,13.5 19.8649584,13.5 L16.25,13.5 C15.8357864,13.5 15.5,13.8357864 15.5,14.25 L15.5,20.25 C15.5,20.3880712 15.3880712,20.5 15.25,20.5 L8.75,20.5 C8.61192881,20.5 8.5,20.3880712 8.5,20.25 L8.5,14.25 C8.5,13.8357864 8.16421356,13.5 7.75,13.5 L4.13504161,13.5 C4.07655749,13.5 4.01992426,13.4794959 3.97499551,13.4420553 C3.86892629,13.3536643 3.85459527,13.1960231 3.94298629,13.0899539 L11.8079447,3.65200384 C11.8176245,3.64038807 11.8283381,3.62967442 11.8399539,3.61999462 C11.9460231,3.5316036 12.1036643,3.54593461 12.1920553,3.65200384 Z"></path></svg>',
124
+ '{backspace}': '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20" viewBox="0 0 24 24"><path d="M18.75,4 C20.4830315,4 21.8992459,5.35645477 21.9948552,7.06557609 L22,7.25 L22,16.75 C22,18.4830315 20.6435452,19.8992459 18.9344239,19.9948552 L18.75,20 L10.2488122,20 C9.48467584,20 8.74731983,19.7308489 8.16441163,19.243553 L8.00936186,19.1052839 L3.01367221,14.3552839 C1.71288481,13.1184697 1.66102433,11.0613371 2.89783857,9.76054971 L3.01367221,9.64471607 L8.00936186,4.89471607 C8.56313355,4.36817906 9.28295917,4.05514987 10.0411712,4.00663485 L10.2488122,4 L18.75,4 Z M18.75,5.5 L10.2488122,5.5 C9.85605678,5.5 9.47644043,5.63205173 9.16975262,5.87226779 L9.04295431,5.98177019 L4.04726465,10.7317702 L3.98489269,10.7941421 C3.3580909,11.4533647 3.34595643,12.473346 3.93064574,13.1462921 L4.04726465,13.2682298 L9.04295431,18.0182298 C9.32758521,18.2888625 9.69368599,18.4547433 10.0814672,18.4919848 L10.2488122,18.5 L18.75,18.5 C19.6681734,18.5 20.4211923,17.7928897 20.4941988,16.8935272 L20.5,16.75 L20.5,7.25 C20.5,6.3318266 19.7928897,5.57880766 18.8935272,5.5058012 L18.75,5.5 Z M11.4462117,8.39705176 L11.5303301,8.46966991 L14.000116,10.939 L16.4696699,8.46966991 C16.7625631,8.1767767 17.2374369,8.1767767 17.5303301,8.46966991 C17.7965966,8.73593648 17.8208027,9.15260016 17.6029482,9.44621165 L17.5303301,9.53033009 L15.061116,12 L17.5303301,14.4696699 C17.8232233,14.7625631 17.8232233,15.2374369 17.5303301,15.5303301 C17.2640635,15.7965966 16.8473998,15.8208027 16.5537883,15.6029482 L16.4696699,15.5303301 L14.000116,13.061 L11.5303301,15.5303301 C11.2374369,15.8232233 10.7625631,15.8232233 10.4696699,15.5303301 C10.2034034,15.2640635 10.1791973,14.8473998 10.3970518,14.5537883 L10.4696699,14.4696699 L12.939116,12 L10.4696699,9.53033009 C10.1767767,9.23743687 10.1767767,8.76256313 10.4696699,8.46966991 C10.7359365,8.20340335 11.1526002,8.1791973 11.4462117,8.39705176 Z"></path></svg>',
125
+ '{abc}': 'ABC',
126
+ '{numbers}': '123',
127
+ '{extends}': '#+=',
128
+ '{space}': ' ',
129
+ };
130
+ };
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG91Y2gta2V5Ym9hcmQvc3JjL2xpYi9sYXlvdXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFtQixFQUFFO0lBQzVDLE9BQU87UUFDTCxZQUFZLEVBQUU7WUFDWixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNsRCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQzdDLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLENBQUM7WUFDN0QsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztTQUNsQztRQUNELFVBQVUsRUFBRTtZQUNWLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ2xELENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDN0MsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQWEs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RUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDbEQsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUM3QyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsYUFBYSxDQUFDO1lBQzdELENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQztTQUM1QztRQUNELGFBQWEsRUFBRTtZQUNiLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ2xELENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUN4QyxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsYUFBYSxDQUFDO1lBQ2hELENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQztTQUN4QztRQUNELGFBQWEsRUFBRTtZQUNiLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ2xELENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxF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QUUsYUFBYSxDQUFDO1NBQ3JCO1FBQ0QsZUFBZSxFQUFFO1lBQ2YsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNmLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDZixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ2YsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQWEsQ0FBQztTQUMxQjtRQUNELFdBQVcsRUFBRTtZQUNYLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ3BCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ3BCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ3BCLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQztTQUNyQjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBb0IsRUFBRTtJQUM5QyxPQUFPO1FBQ0wsT0FBTyxFQUNMLHFIQUFxSDtRQUN2SCxZQUFZLEVBQ1YsdTFDQUF1MUM7UUFDejFDLFNBQVMsRUFDUCw2NUNBQTY1QztRQUMvNUMsYUFBYSxFQUNYLHczREFBdzNEO1FBQzEzRCxPQUFPLEVBQUUsS0FBSztRQUNkLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLFNBQVMsRUFBRSxHQUFHO0tBQ2YsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleWJvYXJkTGF5b3V0LCBLZXlib2FyZERpc3BsYXkgfSBmcm9tICcuL2xheW91dHMudHlwZSc7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0TGF5b3V0ID0gKCk6IEtleWJvYXJkTGF5b3V0ID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgdGV4dF9kZWZhdWx0OiBbXHJcbiAgICAgIFsncScsICd3JywgJ2UnLCAncicsICd0JywgJ3knLCAndScsICdpJywgJ28nLCAncCddLFxyXG4gICAgICBbJ2EnLCAncycsICdkJywgJ2YnLCAnZycsICdoJywgJ2onLCAnaycsICdsJ10sXHJcbiAgICAgIFsne3NoaWZ0fScsICd6JywgJ3gnLCAnYycsICd2JywgJ2InLCAnbicsICdtJywgJ3tiYWNrc3BhY2V9J10sXHJcbiAgICAgIFsne251bWJlcnN9JywgJ3tzcGFjZX0nLCAne2VudH0nXSxcclxuICAgIF0sXHJcbiAgICB0ZXh0X3NoaWZ0OiBbXHJcbiAgICAgIFsnUScsICdXJywgJ0UnLCAnUicsICdUJywgJ1knLCAnVScsICdJJywgJ08nLCAnUCddLFxyXG4gICAgICBbJ0EnLCAnUycsICdEJywgJ0YnLCAnRycsICdIJywgJ0onLCAnSycsICdMJ10sXHJcbiAgICAgIFsne3NoaWZ0fScsICdaJywgJ1gnLCAnQycsICdWJywgJ0InLCAnTicsICdNJywgJ3tiYWNrc3BhY2V9J10sXHJcbiAgICAgIFsne251bWJlcnN9JywgJ3tzcGFjZX0nLCAne2VudH0nXSxcclxuICAgIF0sXHJcbiAgICB0ZXh0X251bWJlcnM6IFtcclxuICAgICAgWycxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsICcwJ10sXHJcbiAgICAgIFsnLScsICcvJywgJzonLCAnOycsICcoJywgJyknLCAnJCcsICcmJywgJ0AnLCAnXCInXSxcclxuICAgICAgWyd7ZXh0ZW5kc30nLCAnLicsICcsJywgJz8nLCAnIScsIFwiJ1wiLCAne2JhY2tzcGFjZX0nXSxcclxuICAgICAgWyd7YWJjfScsICd7c3BhY2V9JywgJ3tlbnR9J10sXHJcbiAgICBdLFxyXG4gICAgdGV4dF9leHRlbmRzOiBbXHJcbiAgICAgIFsnWycsICddJywgJ3snLCAnfScsICcjJywgJyUnLCAnXicsICcqJywgJysnLCAnPSddLFxyXG4gICAgICBbJ18nLCAnXFxcXCcsICd8JywgJ34nLCAnPCcsICc+JywgJ+KCrCcsICfCoycsICfCpScsICfigKInXSxcclxuICAgICAgWyd7bnVtYmVyc30nLCAnLicsICcsJywgJz8nLCAnIScsIFwiJ1wiLCAne2JhY2tzcGFjZX0nXSxcclxuICAgICAgWyd7YWJjfScsICd7c3BhY2V9JywgJ3tlbnR9J10sXHJcbiAgICBdLFxyXG4gICAgc2VhcmNoX2RlZmF1bHQ6IFtcclxuICAgICAgWydxJywgJ3cnLCAnZScsICdyJywgJ3QnLCAneScsICd1JywgJ2knLCAnbycsICdwJ10sXHJcbiAgICAgIFsnYScsICdzJywgJ2QnLCAnZicsICdnJywgJ2gnLCAnaicsICdrJywgJ2wnXSxcclxuICAgICAgWyd7c2hpZnR9JywgJ3onLCAneCcsICdjJywgJ3YnLCAnYicsICduJywgJ20nLCAne2JhY2tzcGFjZX0nXSxcclxuICAgICAgWyd7bnVtYmVyc30nLCAne3NwYWNlfScsICd7ZW50fSddLFxyXG4gICAgXSxcclxuICAgIHNlYXJjaF9zaGlmdDogW1xyXG4gICAgICBbJ1EnLCAnVycsICdFJywgJ1InLCAnVCcsICdZJywgJ1UnLCAnSScsICdPJywgJ1AnXSxcclxuICAgICAgWydBJywgJ1MnLCAnRCcsICdGJywgJ0cnLCAnSCcsICdKJywgJ0snLCAnTCddLFxyXG4gICAgICBbJ3tzaGlmdH0nLCAnWicsICdYJywgJ0MnLCAnVicsICdCJywgJ04nLCAnTScsICd7YmFja3NwYWNlfSddLFxyXG4gICAgICBbJ3tudW1iZXJzfScsICd7c3BhY2V9JywgJ3tlbnR9J10sXHJcbiAgICBdLFxyXG4gICAgc2VhcmNoX251bWJlcnM6IFtcclxuICAgICAgWycxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsICcwJ10sXHJcbiAgICAgIFsnLScsICcvJywgJzonLCAnOycsICcoJywgJyknLCAnJCcsICcmJywgJ0AnLCAnXCInXSxcclxuICAgICAgWyd7ZXh0ZW5kc30nLCAnLicsICcsJywgJz8nLCAnIScsIFwiJ1wiLCAne2JhY2tzcGFjZX0nXSxcclxuICAgICAgWyd7YWJjfScsICd7c3BhY2V9JywgJ3tlbnR9J10sXHJcbiAgICBdLFxyXG4gICAgc2VhcmNoX2V4dGVuZHM6IFtcclxuICAgICAgWydbJywgJ10nLCAneycsICd9JywgJyMnLCAnJScsICdeJywgJyonLCAnKycsICc9J10sXHJcbiAgICAgIFsnXycsICdcXFxcJywgJ3wnLCAnficsICc8JywgJz4nLCAn4oKsJywgJ8KjJywgJ8KlJywgJ+KAoiddLFxyXG4gICAgICBbJ3tudW1iZXJzfScsICcuJywgJywnLCAnPycsICchJywgXCInXCIsICd7YmFja3NwYWNlfSddLFxyXG4gICAgICBbJ3thYmN9JywgJ3tzcGFjZX0nLCAne2VudH0nXSxcclxuICAgIF0sXHJcbiAgICBlbWFpbF9kZWZhdWx0OiBbXHJcbiAgICAgIFsncScsICd3JywgJ2UnLCAncicsICd0JywgJ3knLCAndScsICdpJywgJ28nLCAncCddLFxyXG4gICAgICBbJ2EnLCAncycsICdkJywgJ2YnLCAnZycsICdoJywgJ2onLCAnaycsICdsJ10sXHJcbiAgICAgIFsne3NoaWZ0fScsICd6JywgJ3gnLCAnYycsICd2JywgJ2InLCAnbicsICdtJywgJ3tiYWNrc3BhY2V9J10sXHJcbiAgICAgIFsne251bWJlcnN9JywgJ0AnLCAne3NwYWNlfScsICcuJywgJ3tlbnR9J10sXHJcbiAgICBdLFxyXG4gICAgZW1haWxfc2hpZnQ6IFtcclxuICAgICAgWydRJywgJ1cnLCAnRScsICdSJywgJ1QnLCAnWScsICdVJywgJ0knLCAnTycsICdQJ10sXHJcbiAgICAgIFsnQScsICdTJywgJ0QnLCAnRicsICdHJywgJ0gnLCAnSicsICdLJywgJ0wnXSxcclxuICAgICAgWyd7c2hpZnR9JywgJ1onLCAnWCcsICdDJywgJ1YnLCAnQicsICdOJywgJ00nLCAne2JhY2tzcGFjZX0nXSxcclxuICAgICAgWyd7bnVtYmVyc30nLCAnQCcsICd7c3BhY2V9JywgJy4nLCAne2VudH0nXSxcclxuICAgIF0sXHJcbiAgICBlbWFpbF9udW1iZXJzOiBbXHJcbiAgICAgIFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMCddLFxyXG4gICAgICBbJyQnLCAnIScsICd+JywgJyYnLCAnPScsICcjJywgJ1snLCAnXSddLFxyXG4gICAgICBbJ3tleHRlbmRzfScsICcuJywgJ18nLCAnLScsICcrJywgJ3tiYWNrc3BhY2V9J10sXHJcbiAgICAgIFsne2FiY30nLCAnQCcsICd7c3BhY2V9JywgJy4nLCAne2VudH0nXSxcclxuICAgIF0sXHJcbiAgICBlbWFpbF9leHRlbmRzOiBbXHJcbiAgICAgIFsnYCcsICd8JywgJ3snLCAnfScsICc/JywgJyUnLCAnXicsICcqJywgJy8nLCBcIidcIl0sXHJcbiAgICAgIFsnJCcsICchJywgJ34nLCAnJicsICc9JywgJyMnLCAnWycsICddJ10sXHJcbiAgICAgIFsne251bWJlcnN9JywgJy4nLCAnXycsICctJywgJysnLCAne2JhY2tzcGFjZX0nXSxcclxuICAgICAgWyd7YWJjfScsICdAJywgJ3tzcGFjZX0nLCAnLicsICd7ZW50fSddLFxyXG4gICAgXSxcclxuICAgIHVybF9kZWZhdWx0OiBbXHJcbiAgICAgIFsncScsICd3JywgJ2UnLCAncicsICd0JywgJ3knLCAndScsICdpJywgJ28nLCAncCddLFxyXG4gICAgICBbJ2EnLCAncycsICdkJywgJ2YnLCAnZycsICdoJywgJ2onLCAnaycsICdsJ10sXHJcbiAgICAgIFsne3NoaWZ0fScsICd6JywgJ3gnLCAnYycsICd2JywgJ2InLCAnbicsICdtJywgJ3tiYWNrc3BhY2V9J10sXHJcbiAgICAgIFsne251bWJlcnN9JywgJy8nLCAnLmNvbScsICcuJywgJ3tlbnR9J10sXHJcbiAgICBdLFxyXG4gICAgdXJsX3NoaWZ0OiBbXHJcbiAgICAgIFsnUScsICdXJywgJ0UnLCAnUicsICdUJywgJ1knLCAnVScsICdJJywgJ08nLCAnUCddLFxyXG4gICAgICBbJ0EnLCAnUycsICdEJywgJ0YnLCAnRycsICdIJywgJ0onLCAnSycsICdMJ10sXHJcbiAgICAgIFsne3NoaWZ0fScsICdaJywgJ1gnLCAnQycsICdWJywgJ0InLCAnTicsICdNJywgJ3tiYWNrc3BhY2V9J10sXHJcbiAgICAgIFsne251bWJlcnN9JywgJy8nLCAnLmNvbScsICcuJywgJ3tlbnR9J10sXHJcbiAgICBdLFxyXG4gICAgdXJsX251bWJlcnM6IFtcclxuICAgICAgWycxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsICcwJ10sXHJcbiAgICAgIFsnQCcsICcmJywgJyUnLCAnPycsICcsJywgJz0nLCAnWycsICddJ10sXHJcbiAgICAgIFsne2V4dGVuZHN9JywgJ18nLCAnOicsICctJywgJysnLCAne2JhY2tzcGFjZX0nXSxcclxuICAgICAgWyd7YWJjfScsICcvJywgJy5jb20nLCAnLicsICd7ZW50fSddLFxyXG4gICAgXSxcclxuICAgIHVybF9leHRlbmRzOiBbXHJcbiAgICAgIFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMCddLFxyXG4gICAgICBbJyonLCAnJCcsICcjJywgJyEnLCBcIidcIiwgJ14nLCAnWycsICddJ10sXHJcbiAgICAgIFsne251bWJlcnN9JywgJ34nLCAnOycsICcoJywgJyknLCAne2JhY2tzcGFjZX0nXSxcclxuICAgICAgWyd7YWJjfScsICcvJywgJy5jb20nLCAnLicsICd7ZW50fSddLFxyXG4gICAgXSxcclxuICAgIG51bWVyaWNfZGVmYXVsdDogW1xyXG4gICAgICBbJzEnLCAnMicsICczJ10sXHJcbiAgICAgIFsnNCcsICc1JywgJzYnXSxcclxuICAgICAgWyc3JywgJzgnLCAnOSddLFxyXG4gICAgICBbJzAnLCAne2JhY2tzcGFjZX0nXSxcclxuICAgIF0sXHJcbiAgICBkZWNpbWFsX2RlZmF1bHQ6IFtcclxuICAgICAgWycxJywgJzInLCAnMyddLFxyXG4gICAgICBbJzQnLCAnNScsICc2J10sXHJcbiAgICAgIFsnNycsICc4JywgJzknXSxcclxuICAgICAgWycuJywgJzAnLCAne2JhY2tzcGFjZX0nXSxcclxuICAgIF0sXHJcbiAgICB0ZWxfZGVmYXVsdDogW1xyXG4gICAgICBbJzEnLCAnMicsICczJywgJyonXSxcclxuICAgICAgWyc0JywgJzUnLCAnNicsICcjJ10sXHJcbiAgICAgIFsnNycsICc4JywgJzknLCAnKyddLFxyXG4gICAgICBbJzAnLCAne2JhY2tzcGFjZX0nXSxcclxuICAgIF0sXHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXREaXNwbGF5ID0gKCk6IEtleWJvYXJkRGlzcGxheSA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgICd7ZW50fSc6XHJcbiAgICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHdpZHRoPVwiMjBcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIm0xMiAxNS01LTVoMTBaXCIvPjwvc3ZnPicsXHJcbiAgICAne2xhbmd1YWdlfSc6XHJcbiAgICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHdpZHRoPVwiMjBcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0xMiAyMnEtMi4wNSAwLTMuODc1LS43ODgtMS44MjUtLjc4Ny0zLjE4Ny0yLjE1LTEuMzYzLTEuMzYyLTIuMTUtMy4xODdRMiAxNC4wNSAyIDEycTAtMi4wNzUuNzg4LTMuODg3Ljc4Ny0xLjgxMyAyLjE1LTMuMTc1UTYuMyAzLjU3NSA4LjEyNSAyLjc4NyA5Ljk1IDIgMTIgMnEyLjA3NSAwIDMuODg3Ljc4NyAxLjgxMy43ODggMy4xNzUgMi4xNTEgMS4zNjMgMS4zNjIgMi4xNSAzLjE3NVEyMiA5LjkyNSAyMiAxMnEwIDIuMDUtLjc4OCAzLjg3NS0uNzg3IDEuODI1LTIuMTUgMy4xODctMS4zNjIgMS4zNjMtMy4xNzUgMi4xNVExNC4wNzUgMjIgMTIgMjJabTAtMi4wNXEuNjUtLjkgMS4xMjUtMS44NzVUMTMuOSAxNmgtMy44cS4zIDEuMS43NzUgMi4wNzUuNDc1Ljk3NSAxLjEyNSAxLjg3NVptLTIuNi0uNHEtLjQ1LS44MjUtLjc4Ny0xLjcxM1E4LjI3NSAxNi45NSA4LjA1IDE2SDUuMXEuNzI1IDEuMjUgMS44MTIgMi4xNzVROCAxOS4xIDkuNCAxOS41NVptNS4yIDBxMS40LS40NSAyLjQ4Ny0xLjM3NVExOC4xNzUgMTcuMjUgMTguOSAxNmgtMi45NXEtLjIyNS45NS0uNTYyIDEuODM3LS4zMzguODg4LS43ODggMS43MTNaTTQuMjUgMTRoMy40cS0uMDc1LS41LS4xMTMtLjk4OFE3LjUgMTIuNTI1IDcuNSAxMnQuMDM3LTEuMDEycS4wMzgtLjQ4OC4xMTMtLjk4OGgtMy40cS0uMTI1LjUtLjE4OC45ODhRNCAxMS40NzUgNCAxMnQuMDYyIDEuMDEycS4wNjMuNDg4LjE4OC45ODhabTUuNCAwaDQuN3EuMDc1LS41LjExMy0uOTg4LjAzNy0uNDg3LjAzNy0xLjAxMnQtLjAzNy0xLjAxMnEtLjAzOC0uNDg4LS4xMTMtLjk4OGgtNC43cS0uMDc1LjUtLjExMi45ODhROS41IDExLjQ3NSA5LjUgMTJ0LjAzOCAxLjAxMnEuMDM3LjQ4OC4xMTIuOTg4Wm02LjcgMGgzLjRxLjEyNS0uNS4xODgtLjk4OFEyMCAxMi41MjUgMjAgMTJ0LS4wNjItMS4wMTJxLS4wNjMtLjQ4OC0uMTg4LS45ODhoLTMuNHEuMDc1LjUuMTEyLjk4OC4wMzguNDg3LjAzOCAxLjAxMnQtLjAzOCAxLjAxMnEtLjAzNy40ODgtLjExMi45ODhabS0uNC02aDIuOTVxLS43MjUtMS4yNS0xLjgxMy0yLjE3NVExNiA0LjkgMTQuNiA0LjQ1cS40NS44MjUuNzg4IDEuNzEyLjMzNy44ODguNTYyIDEuODM4Wk0xMC4xIDhoMy44cS0uMy0xLjEtLjc3NS0yLjA3NVExMi42NSA0Ljk1IDEyIDQuMDVxLS42NS45LTEuMTI1IDEuODc1VDEwLjEgOFptLTUgMGgyLjk1cS4yMjUtLjk1LjU2My0xLjgzOC4zMzctLjg4Ny43ODctMS43MTJROCA0LjkgNi45MTIgNS44MjUgNS44MjUgNi43NSA1LjEgOFpcIi8+PC9zdmc+JyxcclxuICAgICd7c2hpZnR9JzpcclxuICAgICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjIwXCIgd2lkdGg9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTEwLjg3OTY3NzMsMi40Njc2NjI3IEMxMC43OTgzNjY5LDIuNTM1NDIxMzMgMTAuNzIzMzcxNCwyLjYxMDQxNjg3IDEwLjY1NTYxMjgsMi42OTE3MjcyNCBMMi43OTA2NTQzNywxMi4xMjk2NzczIEMyLjE3MTkxNzIzLDEyLjg3MjE2MTkgMi4yNzIyMzQzNCwxMy45NzU2NTAxIDMuMDE0NzE4OTEsMTQuNTk0Mzg3MiBMMy4xNTQzMjAyNywxNC42OTkzNzc4IEMzLjQ0Mjc1MTAzLDE0Ljg5NDU1MDYgMy43ODQxMzY4NiwxNSA0LjEzNTA0MTYxLDE1IEw2Ljk5OSwxNSBMNywyMC4yNSBDNywyMS4yMTY0OTgzIDcuNzgzNTAxNjksMjIgOC43NSwyMiBMMTUuMjUsMjIgTDE1LjM5MzUyNzIsMjEuOTk0MTk4OCBDMTYuMjkyODg5NywyMS45MjExOTIzIDE3LDIxLjE2ODE3MzQgMTcsMjAuMjUgTDE2Ljk5OSwxNSBMMTkuODY0OTU4NCwxNSBDMjAuODMxNDU2NywxNSAyMS42MTQ5NTg0LDE0LjIxNjQ5ODMgMjEuNjE0OTU4NCwxMy4yNSBDMjEuNjE0OTU4NCwxMi44NDA2MTExIDIxLjQ3MTQzLDEyLjQ0NDE3ODYgMjEuMjA5MzQ1NiwxMi4xMjk2NzczIEwxMy4zNDQzODcyLDIuNjkxNzI3MjQgQzEyLjc2MDAyNDQsMS45OTA0OTE4MSAxMS43NDMyNzU1LDEuODYyMDUzOSAxMS4wMDY2MjIzLDIuMzcxMTg0NTcgTDEwLjg3OTY3NzMsMi40Njc2NjI3IFogTTEyLjE5MjA1NTMsMy42NTIwMDM4NCBMMjAuMDU3MDEzNywxMy4wODk5NTM5IEMyMC4wOTQ0NTQzLDEzLjEzNDg4MjcgMjAuMTE0OTU4NCwxMy4xOTE1MTU5IDIwLjExNDk1ODQsMTMuMjUgQzIwLjExNDk1ODQsMTMuMzg4MDcxMiAyMC4wMDMwMjk2LDEzLjUgMTkuODY0OTU4NCwxMy41IEwxNi4yNSwxMy41IEMxNS44MzU3ODY0LDEzLjUgMTUuNSwxMy44MzU3ODY0IDE1LjUsMTQuMjUgTDE1LjUsMjAuMjUgQzE1LjUsMjAuMzg4MDcxMiAxNS4zODgwNzEyLDIwLjUgMTUuMjUsMjAuNSBMOC43NSwyMC41IEM4LjYxMTkyODgxLDIwLjUgOC41LDIwLjM4ODA3MTIgOC41LDIwLjI1IEw4LjUsMTQuMjUgQzguNSwxMy44MzU3ODY0IDguMTY0MjEzNTYsMTMuNSA3Ljc1LDEzLjUgTDQuMTM1MDQxNjEsMTMuNSBDNC4wNzY1NTc0OSwxMy41IDQuMDE5OTI0MjYsMTMuNDc5NDk1OSAzLjk3NDk5NTUxLDEzLjQ0MjA1NTMgQzMuODY4OTI2MjksMTMuMzUzNjY0MyAzLjg1NDU5NTI3LDEzLjE5NjAyMzEgMy45NDI5ODYyOSwxMy4wODk5NTM5IEwxMS44MDc5NDQ3LDMuNjUyMDAzODQgQzExLjgxNzYyNDUsMy42NDAzODgwNyAxMS44MjgzMzgxLDMuNjI5Njc0NDIgMTEuODM5OTUzOSwzLjYxOTk5NDYyIEMxMS45NDYwMjMxLDMuNTMxNjAzNiAxMi4xMDM2NjQzLDMuNTQ1OTM0NjEgMTIuMTkyMDU1MywzLjY1MjAwMzg0IFpcIj48L3BhdGg+PC9zdmc+JyxcclxuICAgICd7YmFja3NwYWNlfSc6XHJcbiAgICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHdpZHRoPVwiMjBcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0xOC43NSw0IEMyMC40ODMwMzE1LDQgMjEuODk5MjQ1OSw1LjM1NjQ1NDc3IDIxLjk5NDg1NTIsNy4wNjU1NzYwOSBMMjIsNy4yNSBMMjIsMTYuNzUgQzIyLDE4LjQ4MzAzMTUgMjAuNjQzNTQ1MiwxOS44OTkyNDU5IDE4LjkzNDQyMzksMTkuOTk0ODU1MiBMMTguNzUsMjAgTDEwLjI0ODgxMjIsMjAgQzkuNDg0Njc1ODQsMjAgOC43NDczMTk4MywxOS43MzA4NDg5IDguMTY0NDExNjMsMTkuMjQzNTUzIEw4LjAwOTM2MTg2LDE5LjEwNTI4MzkgTDMuMDEzNjcyMjEsMTQuMzU1MjgzOSBDMS43MTI4ODQ4MSwxMy4xMTg0Njk3IDEuNjYxMDI0MzMsMTEuMDYxMzM3MSAyLjg5NzgzODU3LDkuNzYwNTQ5NzEgTDMuMDEzNjcyMjEsOS42NDQ3MTYwNyBMOC4wMDkzNjE4Niw0Ljg5NDcxNjA3IEM4LjU2MzEzMzU1LDQuMzY4MTc5MDYgOS4yODI5NTkxNyw0LjA1NTE0OTg3IDEwLjA0MTE3MTIsNC4wMDY2MzQ4NSBMMTAuMjQ4ODEyMiw0IEwxOC43NSw0IFogTTE4Ljc1LDUuNSBMMTAuMjQ4ODEyMiw1LjUgQzkuODU2MDU2NzgsNS41IDkuNDc2NDQwNDMsNS42MzIwNTE3MyA5LjE2OTc1MjYyLDUuODcyMjY3NzkgTDkuMDQyOTU0MzEsNS45ODE3NzAxOSBMNC4wNDcyNjQ2NSwxMC43MzE3NzAyIEwzLjk4NDg5MjY5LDEwLjc5NDE0MjEgQzMuMzU4MDkwOSwxMS40NTMzNjQ3IDMuMzQ1OTU2NDMsMTIuNDczMzQ2IDMuOTMwNjQ1NzQsMTMuMTQ2MjkyMSBMNC4wNDcyNjQ2NSwxMy4yNjgyMjk4IEw5LjA0Mjk1NDMxLDE4LjAxODIyOTggQzkuMzI3NTg1MjEsMTguMjg4ODYyNSA5LjY5MzY4NTk5LDE4LjQ1NDc0MzMgMTAuMDgxNDY3MiwxOC40OTE5ODQ4IEwxMC4yNDg4MTIyLDE4LjUgTDE4Ljc1LDE4LjUgQzE5LjY2ODE3MzQsMTguNSAyMC40MjExOTIzLDE3Ljc5Mjg4OTcgMjAuNDk0MTk4OCwxNi44OTM1MjcyIEwyMC41LDE2Ljc1IEwyMC41LDcuMjUgQzIwLjUsNi4zMzE4MjY2IDE5Ljc5Mjg4OTcsNS41Nzg4MDc2NiAxOC44OTM1MjcyLDUuNTA1ODAxMiBMMTguNzUsNS41IFogTTExLjQ0NjIxMTcsOC4zOTcwNTE3NiBMMTEuNTMwMzMwMSw4LjQ2OTY2OTkxIEwxNC4wMDAxMTYsMTAuOTM5IEwxNi40Njk2Njk5LDguNDY5NjY5OTEgQzE2Ljc2MjU2MzEsOC4xNzY3NzY3IDE3LjIzNzQzNjksOC4xNzY3NzY3IDE3LjUzMDMzMDEsOC40Njk2Njk5MSBDMTcuNzk2NTk2Niw4LjczNTkzNjQ4IDE3LjgyMDgwMjcsOS4xNTI2MDAxNiAxNy42MDI5NDgyLDkuNDQ2MjExNjUgTDE3LjUzMDMzMDEsOS41MzAzMzAwOSBMMTUuMDYxMTE2LDEyIEwxNy41MzAzMzAxLDE0LjQ2OTY2OTkgQzE3LjgyMzIyMzMsMTQuNzYyNTYzMSAxNy44MjMyMjMzLDE1LjIzNzQzNjkgMTcuNTMwMzMwMSwxNS41MzAzMzAxIEMxNy4yNjQwNjM1LDE1Ljc5NjU5NjYgMTYuODQ3Mzk5OCwxNS44MjA4MDI3IDE2LjU1Mzc4ODMsMTUuNjAyOTQ4MiBMMTYuNDY5NjY5OSwxNS41MzAzMzAxIEwxNC4wMDAxMTYsMTMuMDYxIEwxMS41MzAzMzAxLDE1LjUzMDMzMDEgQzExLjIzNzQzNjksMTUuODIzMjIzMyAxMC43NjI1NjMxLDE1LjgyMzIyMzMgMTAuNDY5NjY5OSwxNS41MzAzMzAxIEMxMC4yMDM0MDM0LDE1LjI2NDA2MzUgMTAuMTc5MTk3MywxNC44NDczOTk4IDEwLjM5NzA1MTgsMTQuNTUzNzg4MyBMMTAuNDY5NjY5OSwxNC40Njk2Njk5IEwxMi45MzkxMTYsMTIgTDEwLjQ2OTY2OTksOS41MzAzMzAwOSBDMTAuMTc2Nzc2Nyw5LjIzNzQzNjg3IDEwLjE3Njc3NjcsOC43NjI1NjMxMyAxMC40Njk2Njk5LDguNDY5NjY5OTEgQzEwLjczNTkzNjUsOC4yMDM0MDMzNSAxMS4xNTI2MDAyLDguMTc5MTk3MyAxMS40NDYyMTE3LDguMzk3MDUxNzYgWlwiPjwvcGF0aD48L3N2Zz4nLFxyXG4gICAgJ3thYmN9JzogJ0FCQycsXHJcbiAgICAne251bWJlcnN9JzogJzEyMycsXHJcbiAgICAne2V4dGVuZHN9JzogJyMrPScsXHJcbiAgICAne3NwYWNlfSc6ICcgJyxcclxuICB9O1xyXG59O1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0cy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvdWNoLWtleWJvYXJkL3NyYy9saWIvbGF5b3V0cy9sYXlvdXRzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmRMYXlvdXQge1xuICBba2V5OiBzdHJpbmddOiBBcnJheTxBcnJheTxzdHJpbmc+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXlib2FyZERpc3BsYXkge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG4iXX0=