@ruc-lib/drawer 2.0.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.
package/README.md ADDED
@@ -0,0 +1,141 @@
1
+ # ruclib-drawer
2
+
3
+ This library provides a flexible and customizable drawer component for your Angular applications. Users can integrate the drawer component using Angular selectors with ease. Below are the features, usage instructions, and integration details:
4
+
5
+ ## RUC Library Installation Guide
6
+
7
+ Users can easily install the RUC (Ruxptest Library) from npm. Additionally, they can also choose to install individual components based on their requirements.
8
+
9
+ ## Install complete library
10
+
11
+ `npm install @uxpractice/ruc-lib`
12
+
13
+ ## Install individual component
14
+
15
+ If users only need the drawer component, they can install it separately
16
+
17
+ `npm install @ruc-lib/drawer`
18
+
19
+ ## Usage
20
+
21
+ To use the drawer component in your project, follow the integration guidelines provided in the documentation. Customize the drawer as per your requirements by adjusting the configuration options.
22
+
23
+ ## Using Selector
24
+
25
+ 1. Import `DrawerModule` into `app.module.ts` file.
26
+ `( import { RuclibDrawerModule } from '@ruc-lib/drawer'; OR import { RuclibDrawerModule } from '@ uxpractice /ruc-lib/drawer'; )`
27
+ 2. Use the drawer selector in your HTML file.
28
+ 3. Handle input and output bindings accordingly.
29
+
30
+ ```
31
+ <uxp-ruclib-drawer
32
+ (rucEvent)="passEvent($event)"
33
+ [rucInputData]="inputObjectDataDrawer"
34
+ [customTheme]="customTheme">
35
+ </uxp-ruclib-drawer>
36
+ ```
37
+
38
+ # Input and Output
39
+
40
+ ## Input and Output
41
+
42
+ Inputs:
43
+ • rucInputData: Data to be passed to the drawer.
44
+ • customTheme: Custom styling/theme for the drawer.
45
+
46
+ Outputs:
47
+ • rucEvent: Event emitted from the drawer.
48
+
49
+
50
+ ## rucInputData configurations options-
51
+
52
+ ```
53
+ DrawerDefaultConfig {
54
+ drawerPosition: string = 'left',
55
+ mode: string = 'over',
56
+ initialOpenedState: boolean = false,
57
+ drawerWidth: string = '250px',
58
+ drawerHeight: string = '',
59
+ content: {
60
+ drawerTitle: string = 'Drawer Title',
61
+ drawerBody: string = '<p>This is the <strong>body</strong> content of the drawer.</p><p>It can contain <em>HTML</em>.</p>',
62
+ mainBody: string = '<h2>Main Content Area</h2><p>This is where the main application content would go.</p>',
63
+ },
64
+ disableToggleButtonInMainContent: boolean = false,
65
+ toggleButtonText: object = {
66
+ open: string = 'Open Drawer',
67
+ close: string = 'Close Drawer',
68
+ },
69
+ hasBackdrop: boolean = true,
70
+ backdropBackgroundColor: string = 'rgba(129, 124, 124, 0.6)',
71
+ showCloseIcon: boolean = true,
72
+ disableClose: boolean = false,
73
+ animationDuration: string = '300ms',
74
+ toggleButtonIcon: string = '',
75
+ toggleButtonImageAlt: string = '',
76
+ toggleButtonImageUrl: string = '',
77
+ toggleButtonDimensions: ButtonDimensions = {
78
+ width: string = 'auto',
79
+ height: string = '40px',
80
+ padding: string = '10px',
81
+ fontSize: string = '13px',
82
+ iconSize: string = '24px',
83
+ },
84
+ closeButtonDimensions: IconDimensions = {
85
+ width: string = '40px',
86
+ height: string = '40px',
87
+ iconSize: string = '24px',
88
+ },
89
+ };
90
+ ```
91
+
92
+ # Default value be like –
93
+
94
+ ```
95
+ export const mockDrawerInput = {
96
+ drawerPosition: 'left',
97
+ mode: 'over',
98
+ initialOpenedState: false,
99
+ drawerWidth: '250px',
100
+ drawerHeight: '',
101
+ content: {
102
+ drawerTitle: 'Drawer Title',
103
+ drawerBody: '<p>This is the <strong>body</strong> content of the drawer.</p><p>It can contain <em>HTML</em>.</p>',
104
+ mainBody: '<h2>Main Content Area</h2><p>This is where the main application content would go.</p>',
105
+ },
106
+ disableToggleButtonInMainContent: false,
107
+ toggleButtonText: {
108
+ open: 'Open Drawer',
109
+ close: 'Close Drawer',
110
+ },
111
+ hasBackdrop: true,
112
+ backdropBackgroundColor: 'rgba(129, 124, 124, 0.6)',
113
+ showCloseIcon: true,
114
+ disableClose: false,
115
+ animationDuration: '300ms',
116
+ toggleButtonIcon: '',
117
+ toggleButtonImageAlt: '',
118
+ toggleButtonImageUrl: '',
119
+ toggleButtonDimensions: {
120
+ width: 'auto',
121
+ height: '40px',
122
+ padding: '10px',
123
+ fontSize: '13px',
124
+ iconSize: '24px',
125
+ },
126
+ closeButtonDimensions: {
127
+ width: '40px',
128
+ height: '40px',
129
+ iconSize: '24px',
130
+ },
131
+ };
132
+ ```
133
+
134
+
135
+ # Contribution
136
+
137
+ Contributions are welcome! Feel free to open issues or pull requests for any enhancements or fixes.
138
+
139
+ # Acknowledgements
140
+
141
+ Thank you for choosing the Drawer Component Library. If you have any feedback or suggestions, please let us know!
@@ -0,0 +1,4 @@
1
+ export * from './lib/ruclib-drawer.module';
2
+ export * from './lib/ruclib-drawer/ruclib-drawer.component';
3
+ export * from './model/default-values';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ydWNsaWItZHJhd2VyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1Y2xpYi1kcmF3ZXIvcnVjbGliLWRyYXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2RlZmF1bHQtdmFsdWVzJzsiXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludGVyZmFjZS9kcmF3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERyYXdlck1vZGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdlwiO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiBEZWZpbmVzIHRoZSBkaW1lbnNpb25zIGZvciBhIGJ1dHRvbiwgaW5jbHVkaW5nIHRleHQgYW5kIGljb24gc2l6aW5nLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBCdXR0b25EaW1lbnNpb25zIHtcclxuICAvKipcclxuICAgKiBUaGUgd2lkdGggb2YgdGhlIGJ1dHRvbi5cclxuICAgKiBAZXhhbXBsZSAnMTIwcHgnLCAnNWVtJ1xyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIHdpZHRoPzogc3RyaW5nOyAgICAgIC8vIGUuZy4sICcxMjBweCcsICc1ZW0nXHJcbiAgLyoqXHJcbiAgICogVGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uLlxyXG4gICAqIEBleGFtcGxlICc0MHB4JywgJzIuNWVtJ1xyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIGhlaWdodD86IHN0cmluZzsgICAgIC8vIGUuZy4sICc0MHB4JywgJzIuNWVtJ1xyXG4gIC8qKlxyXG4gICAqIFRoZSBwYWRkaW5nIG9mIHRoZSBidXR0b24uIFByaW1hcmlseSBmb3IgdGhlIG1haW4gdG9nZ2xlIGJ1dHRvbi5cclxuICAgKiBAZXhhbXBsZSAnMCAxMHB4J1xyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIHBhZGRpbmc/OiBzdHJpbmc7ICAgIC8vIGUuZy4sICcwIDEwcHgnIChNb3N0bHkgZm9yIHRvZ2dsZSBidXR0b24pXHJcbiAgLyoqXHJcbiAgICogVGhlIGZvbnQgc2l6ZSBmb3IgdGV4dCB3aXRoaW4gdGhlIGJ1dHRvbi5cclxuICAgKiBAZXhhbXBsZSAnMTRweCdcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKi9cclxuICBmb250U2l6ZT86IHN0cmluZzsgICAvLyBlLmcuLCAnMTRweCcgKEZvciB0ZXh0IGluIHRvZ2dsZSBidXR0b24pXHJcbiAgLyoqXHJcbiAgICogVGhlIHNpemUgb2YgdGhlIGljb24gd2l0aGluIHRoZSBidXR0b24uXHJcbiAgICogQGV4YW1wbGUgJzIwcHgnXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICovXHJcbiAgaWNvblNpemU/OiBzdHJpbmc7ICAgLy8gZS5nLiwgJzIwcHgnIChGb3IgaWNvbnMgaW4gdG9nZ2xlIG9yIGNsb3NlIGJ1dHRvbilcclxufVxyXG5cclxuLyoqXHJcbiAqIERlZmluZXMgdGhlIGRpbWVuc2lvbnMgZm9yIGFuIGljb24gYnV0dG9uLCBsaWtlIGEgY2xvc2UgYnV0dG9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJY29uRGltZW5zaW9ucyB7IC8vIFNpbXBsaWZpZWQgZm9yIGljb24gYnV0dG9ucyBsaWtlIGNsb3NlXHJcbiAgLyoqXHJcbiAgICogVGhlIHdpZHRoIG9mIHRoZSBpY29uIGJ1dHRvbi5cclxuICAgKiBAZXhhbXBsZSAnMzJweCdcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKi9cclxuICB3aWR0aD86IHN0cmluZzsgICAgICAvLyBlLmcuLCAnMzJweCdcclxuICAvKipcclxuICAgKiBUaGUgaGVpZ2h0IG9mIHRoZSBpY29uIGJ1dHRvbi5cclxuICAgKiBAZXhhbXBsZSAnMzJweCdcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKi9cclxuICBoZWlnaHQ/OiBzdHJpbmc7ICAgICAvLyBlLmcuLCAnMzJweCdcclxuICAvKipcclxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaWNvbiBpdHNlbGYgd2l0aGluIHRoZSBidXR0b24uXHJcbiAgICogQGV4YW1wbGUgJzE4cHgnXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICovXHJcbiAgaWNvblNpemU/OiBzdHJpbmc7ICAgLy8gZS5nLiwgJzE4cHgnXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZWZpbmVzIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGZvciB0aGUgUnVjbGliRHJhd2VyQ29tcG9uZW50LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBSdWNsaWJEcmF3ZXJJbnB1dCB7XHJcbiAgLyoqXHJcbiAgICogUG9zaXRpb24gb2YgdGhlIGRyYXdlci5cclxuICAgKiBAZGVmYXVsdCAnbGVmdCdcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKi9cclxuICBkcmF3ZXJQb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nOyAvLyBEZWZhdWx0ICdsZWZ0J1xyXG4gIC8qKlxyXG4gICAqIE1vZGUgb2YgdGhlIGRyYXdlci5cclxuICAgKiBgc2lkZWA6IERyYXdlciBzdGF5cyBvcGVuIGFuZCByZWR1Y2VzIHRoZSBjb250ZW50IGFyZWEuXHJcbiAgICogYG92ZXJgOiBEcmF3ZXIgZmxvYXRzIG92ZXIgdGhlIGNvbnRlbnQuXHJcbiAgICogYHB1c2hgOiBEcmF3ZXIgcHVzaGVzIHRoZSBjb250ZW50IGF3YXkuXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICovXHJcbiAgbW9kZT86IE1hdERyYXdlck1vZGU7IC8vICdzaWRlJywgJ292ZXInLCAncHVzaCdcclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBkcmF3ZXIgaXMgaW5pdGlhbGx5IG9wZW5lZC5cclxuICAgKiBAb3B0aW9uYWxcclxuICAgKi9cclxuICBpbml0aWFsT3BlbmVkU3RhdGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIFdpZHRoIG9mIHRoZSBkcmF3ZXIsIHVzZWQgd2hlbiBgZHJhd2VyUG9zaXRpb25gIGlzICdsZWZ0JyBvciAncmlnaHQnLlxyXG4gICAqIEBleGFtcGxlICcyNTBweCcsICczMHZ3J1xyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIGRyYXdlcldpZHRoPzogc3RyaW5nOyAvLyBVc2VkIGZvciBsZWZ0L3JpZ2h0IGRyYXdlcnNcclxuICAvKipcclxuICAgKiBIZWlnaHQgb2YgdGhlIGRyYXdlciwgdXNlZCB3aGVuIGBkcmF3ZXJQb3NpdGlvbmAgaXMgJ3RvcCcgb3IgJ2JvdHRvbScuXHJcbiAgICogQGV4YW1wbGUgJzIwMHB4JywgJzQwdmgnXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICovXHJcbiAgZHJhd2VySGVpZ2h0Pzogc3RyaW5nOyAvLyBVc2VkIGZvciB0b3AvYm90dG9tIGRyYXdlcnNcclxuICAvKipcclxuICAgKiBDb250ZW50IHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgZHJhd2VyIGFuZCBtYWluIGFyZWEuXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICovXHJcbiAgY29udGVudD86IHtcclxuICAgIC8qKlxyXG4gICAgICogVGl0bGUgZGlzcGxheWVkIHdpdGhpbiB0aGUgZHJhd2VyLlxyXG4gICAgICogQG9wdGlvbmFsXHJcbiAgICAgKi9cclxuICAgIGRyYXdlclRpdGxlPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBIVE1MIGNvbnRlbnQgZm9yIHRoZSBib2R5IG9mIHRoZSBkcmF3ZXIuIFVzZWQgaWYgYGRyYXdlckNvbnRlbnRDb21wb25lbnRgIGlzIG5vdCBwcm92aWRlZC5cclxuICAgICAqIEBvcHRpb25hbFxyXG4gICAgICovXHJcbiAgICBkcmF3ZXJCb2R5Pzogc3RyaW5nOyAvLyBIVE1MIGNvbnRlbnRcclxuICAgIC8qKlxyXG4gICAgICogQW4gQW5ndWxhciBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWQgYXMgdGhlIGRyYXdlcidzIGJvZHkgY29udGVudC5cclxuICAgICAqIElmIHByb3ZpZGVkLCBgZHJhd2VyQm9keWAgKEhUTUwgc3RyaW5nKSB3aWxsIGJlIGlnbm9yZWQgZm9yIHRoZSBkcmF3ZXIuXHJcbiAgICAgKiBAb3B0aW9uYWxcclxuICAgICAqL1xyXG4gICAgZHJhd2VyQ29udGVudENvbXBvbmVudD86IFR5cGU8YW55PjtcclxuICAgIC8qKlxyXG4gICAgICogSFRNTCBjb250ZW50IGZvciB0aGUgbWFpbiBhcHBsaWNhdGlvbiBhcmVhIGJlc2lkZS91bmRlciB0aGUgZHJhd2VyLlxyXG4gICAgICogQG9wdGlvbmFsXHJcbiAgICAgKi9cclxuICAgIG1haW5Cb2R5Pzogc3RyaW5nOyAgIC8vIEhUTUwgY29udGVudFxyXG4gIH07XHJcbiAgLyoqXHJcbiAgICogRGF0YSB0byBiZSBwYXNzZWQgdG8gdGhlIGBkcmF3ZXJDb250ZW50Q29tcG9uZW50YCBpbnN0YW5jZS5cclxuICAgKiBUaGUgZHluYW1pYyBjb21wb25lbnQgc2hvdWxkIGhhdmUgYW4gQElucHV0KCkgcHJvcGVydHkgdG8gcmVjZWl2ZSB0aGlzIGRhdGEuXHJcbiAgICovXHJcbiAgZHJhd2VyQ29udGVudENvbXBvbmVudERhdGE/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSB0b2dnbGUgYnV0dG9uIGluIHRoZSBtYWluIGNvbnRlbnQgYXJlYS5cclxuICAgKiBAb3B0aW9uYWxcclxuICAgKi9cclxuICBkaXNhYmxlVG9nZ2xlQnV0dG9uSW5NYWluQ29udGVudD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogVGV4dCBmb3IgdGhlIHRvZ2dsZSBidXR0b24sIHN1cHBvcnRpbmcgZGlmZmVyZW50IHRleHQgZm9yIG9wZW4gYW5kIGNsb3NlIHN0YXRlcy5cclxuICAgKiBBbHNvIHVzZWQgZm9yIGFyaWEtbGFiZWwuXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICovXHJcbiAgdG9nZ2xlQnV0dG9uVGV4dD86IHtcclxuICAgIC8qKlxyXG4gICAgICogVGV4dCBmb3IgdGhlIGJ1dHRvbiB3aGVuIHRoZSBkcmF3ZXIgaXMgY2xvc2VkIChhY3Rpb24gdG8gb3BlbikuXHJcbiAgICAgKiBAb3B0aW9uYWxcclxuICAgICAqL1xyXG4gICAgb3Blbj86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogVGV4dCBmb3IgdGhlIGJ1dHRvbiB3aGVuIHRoZSBkcmF3ZXIgaXMgb3BlbiAoYWN0aW9uIHRvIGNsb3NlKS5cclxuICAgICAqIEBvcHRpb25hbFxyXG4gICAgICovXHJcbiAgICBjbG9zZT86IHN0cmluZzsgLy8gVXNlZCBmb3IgdGV4dCBkaXNwbGF5IGFuZCBhcmlhLWxhYmVsXHJcbiAgfTtcclxuICAvKipcclxuICAgKiBNYXRlcmlhbCBpY29uIG5hbWUgZm9yIHRoZSB0b2dnbGUgYnV0dG9uLlxyXG4gICAqIEBleGFtcGxlICdtZW51JywgJ3NldHRpbmdzJ1xyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIHRvZ2dsZUJ1dHRvbkljb24/OiBzdHJpbmc7IC8vIE1hdGVyaWFsIGljb24gbmFtZVxyXG4gIC8qKlxyXG4gICAqIFVSTCBmb3IgYW4gaW1hZ2UgdG8gYmUgdXNlZCBpbiB0aGUgdG9nZ2xlIGJ1dHRvbi5cclxuICAgKiBAb3B0aW9uYWxcclxuICAgKi9cclxuICB0b2dnbGVCdXR0b25JbWFnZVVybD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBBbHQgdGV4dCBmb3IgdGhlIHRvZ2dsZSBidXR0b24gaW1hZ2UuXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICovXHJcbiAgdG9nZ2xlQnV0dG9uSW1hZ2VBbHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgZHJhd2VyIGhhcyBhIGJhY2tkcm9wLCBlc3BlY2lhbGx5IGluICdvdmVyJyBtb2RlLlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBDdXN0b20gYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJhY2tkcm9wLlxyXG4gICAqIEBleGFtcGxlICdyZ2JhKDAsMCwwLDAuNSknLCAnIzMzMzMzMydcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKi9cclxuICBiYWNrZHJvcEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSBjbG9zZSBpY29uIChlLmcuLCAneCcpIGluc2lkZSB0aGUgZHJhd2VyLlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIHNob3dDbG9zZUljb24/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSBjbG9zaW5nIHRoZSBkcmF3ZXIgYnkgcHJlc3NpbmcgdGhlIEVzY2FwZSBrZXkgb3IgY2xpY2tpbmcgb24gdGhlIGJhY2tkcm9wLlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIGRpc2FibGVDbG9zZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogRHVyYXRpb24gZm9yIHRoZSBkcmF3ZXIncyBvcGVuL2Nsb3NlIGFuaW1hdGlvbi5cclxuICAgKiBAZXhhbXBsZSAnMzAwbXMnLCAnMC41cydcclxuICAgKiBAb3B0aW9uYWwgRGVmYXVsdHMgdG8gTWF0ZXJpYWwncyBkZWZhdWx0ICh1c3VhbGx5IGFyb3VuZCA0MDBtcyBmb3IgTWF0RHJhd2VyLCBvciAzMDBtcyBmb3IgY3VzdG9tIGFuaW1hdGlvbnMpLlxyXG4gICAqL1xyXG4gIGFuaW1hdGlvbkR1cmF0aW9uPzogc3RyaW5nOyAvLyBlLmcuLCAnMzAwbXMnLCAnMC41cycuIERlZmF1bHQgaXMgTWF0ZXJpYWwncyBkZWZhdWx0ICh1c3VhbGx5IDQwMG1zKVxyXG4gIC8qKlxyXG4gICAqIEN1c3RvbSBkaW1lbnNpb25zIGZvciB0aGUgbWFpbiB0b2dnbGUgYnV0dG9uLlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqL1xyXG4gIHRvZ2dsZUJ1dHRvbkRpbWVuc2lvbnM/OiBCdXR0b25EaW1lbnNpb25zOyAvLyBDdXN0b20gZGltZW5zaW9ucyBmb3IgdGhlIG1haW4gdG9nZ2xlIGJ1dHRvblxyXG4gIC8qKlxyXG4gICAqIEN1c3RvbSBkaW1lbnNpb25zIGZvciB0aGUgY2xvc2UgaWNvbiBidXR0b24gaW5zaWRlIHRoZSBkcmF3ZXIuXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICovXHJcbiAgY2xvc2VCdXR0b25EaW1lbnNpb25zPzogSWNvbkRpbWVuc2lvbnM7ICAvLyBDdXN0b20gZGltZW5zaW9ucyBmb3IgdGhlIGNsb3NlIGljb24gYnV0dG9uXHJcbn0iXX0=