@eui/showcase 15.4.0 → 15.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/LICENSE +296 -296
  2. package/README.md +26 -26
  3. package/esm2020/eui-showcase.mjs +4 -4
  4. package/esm2020/index.mjs +3 -3
  5. package/esm2020/lib/components/doc-page/doc-page.component.mjs +357 -357
  6. package/esm2020/lib/components/doc-page-code/doc-page-code.component.mjs +27 -27
  7. package/esm2020/lib/components/doc-page-code-fab/doc-page-code-fab.component.mjs +39 -39
  8. package/esm2020/lib/components/doc-page-pattern/doc-page-pattern.component.mjs +114 -114
  9. package/esm2020/lib/components/doc-sample/doc-sample.component.mjs +158 -158
  10. package/esm2020/lib/components/doc-sample-api/doc-sample-api.component.mjs +11 -11
  11. package/esm2020/lib/components/doc-section/doc-section.component.mjs +27 -27
  12. package/esm2020/lib/components/doc-section-code/doc-section-code.component.mjs +106 -106
  13. package/esm2020/lib/components/eui-code-highlighter/eui-code-highlighter.component.mjs +21 -21
  14. package/esm2020/lib/components/index.mjs +13 -13
  15. package/esm2020/lib/components/lorem-ipsum/lorem-ipsum-sample.component.mjs +17 -17
  16. package/esm2020/lib/components/playground/playground.component.mjs +198 -198
  17. package/esm2020/lib/components/playground/stackblitz.files.mjs +210 -210
  18. package/esm2020/lib/eui-showcase.module.mjs +150 -150
  19. package/fesm2015/eui-showcase.mjs +1307 -1307
  20. package/fesm2015/eui-showcase.mjs.map +1 -1
  21. package/fesm2020/eui-showcase.mjs +1309 -1309
  22. package/fesm2020/eui-showcase.mjs.map +1 -1
  23. package/index.d.ts +2 -2
  24. package/lib/components/doc-page/doc-page.component.d.ts +90 -90
  25. package/lib/components/doc-page-code/doc-page-code.component.d.ts +8 -8
  26. package/lib/components/doc-page-code-fab/doc-page-code-fab.component.d.ts +15 -15
  27. package/lib/components/doc-page-pattern/doc-page-pattern.component.d.ts +43 -43
  28. package/lib/components/doc-sample/doc-sample.component.d.ts +45 -45
  29. package/lib/components/doc-sample-api/doc-sample-api.component.d.ts +5 -5
  30. package/lib/components/doc-section/doc-section.component.d.ts +10 -10
  31. package/lib/components/doc-section-code/doc-section-code.component.d.ts +44 -44
  32. package/lib/components/eui-code-highlighter/eui-code-highlighter.component.d.ts +9 -9
  33. package/lib/components/index.d.ts +12 -12
  34. package/lib/components/lorem-ipsum/lorem-ipsum-sample.component.d.ts +6 -6
  35. package/lib/components/playground/playground.component.d.ts +61 -61
  36. package/lib/components/playground/stackblitz.files.d.ts +15 -15
  37. package/lib/eui-showcase.module.d.ts +29 -29
  38. package/package.json +2 -2
@@ -1,210 +1,210 @@
1
- export const polyfillsFile = `import 'zone.js/dist/zone';`;
2
- export const mainFile = (moduleName) => `
3
- import './polyfills';
4
- import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
5
- import { preInitApp } from '@eui/core';
6
- import { ${moduleName} } from './component';
7
-
8
- preInitApp({production: false}).then(() => platformBrowserDynamic().bootstrapModule(${moduleName}).then(ref => {
9
- // Ensure Angular destroys itself on hot reloads.
10
- if (window['ngRef']) {
11
- window['ngRef'].destroy();
12
- }
13
- window['ngRef'] = ref;
14
-
15
- // Otherwise, log the boot error
16
- }).catch(err => console.error(err))
17
- );
18
-
19
- `;
20
- export const moduleFile = (componentName, m = []) => `
21
- import { NgModule, InjectionToken } from '@angular/core';
22
- import { BrowserModule } from '@angular/platform-browser';
23
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
24
- import { RouterModule } from '@angular/router';
25
- import { APP_BASE_HREF } from '@angular/common';
26
- import { HttpClientModule } from '@angular/common/http';
27
- import { StoreModule } from '@ngrx/store';
28
- import { EffectsModule } from '@ngrx/effects';
29
- import { TranslateModule } from '@ngx-translate/core';
30
- import { FormsModule } from '@angular/forms';
31
- import { CommonModule } from '@angular/common';
32
- import { EuiAllModule } from '@eui/components';
33
- import {
34
- reducers as coreReducers,
35
- CoreModule as EuiCoreModule,
36
- translateConfig,
37
- CoreModuleEffects,
38
- EUI_CONFIG_TOKEN,
39
- } from '@eui/core';
40
-
41
- import { ${componentName} } from './component';
42
- ` +
43
- m.map((i) => `import { ${i.name} } from '${i.path}';\n`).join('') +
44
- `
45
-
46
- export const REDUCER_TOKEN = new InjectionToken<any>('Registered Reducers');
47
-
48
- @NgModule({
49
- imports: [
50
- BrowserAnimationsModule,
51
- CommonModule,
52
- BrowserModule,
53
- FormsModule,
54
- EuiAllModule,
55
- HttpClientModule,
56
- RouterModule.forRoot([]),
57
- EuiCoreModule.forRoot(),
58
- EffectsModule.forRoot([...CoreModuleEffects]),
59
- TranslateModule.forRoot(translateConfig),
60
- StoreModule.forRoot(REDUCER_TOKEN, { })
61
- ` +
62
- m.map((i) => `${i.name},`).join('') +
63
- `
64
- ],
65
- declarations: [${componentName}],
66
- providers: [
67
- {
68
- provide: REDUCER_TOKEN,
69
- deps: [],
70
- useFactory: () => Object.assign({}, coreReducers),
71
- },
72
- {
73
- provide: EUI_CONFIG_TOKEN,
74
- useValue: { appConfig: {}, environment: {} }
75
- },
76
- {
77
- provide: APP_BASE_HREF, useValue: '/'
78
- }
79
- ],
80
- bootstrap: [${componentName}],
81
- })
82
- export class AppModule {}
83
- `;
84
- export const angularJsonFile = `
85
- {
86
- "version": 1,
87
- "newProjectRoot": "projects",
88
- "projects": {
89
- "demo": {
90
- "root": "",
91
- "sourceRoot": "",
92
- "projectType": "application",
93
- "prefix": "app",
94
- "schematics": {},
95
- "architect": {
96
- "build": {
97
- "builder": "@angular-devkit/build-angular:browser",
98
- "options": {
99
- "outputPath": "dist/demo",
100
- "index": "src/index.html",
101
- "main": "src/main.ts",
102
- "polyfills": "src/polyfills.ts",
103
- "tsConfig": "tsconfig.json",
104
- "assets": [
105
- {
106
- "glob": "**/*",
107
- "input": "./node_modules/@eui/styles-base/src/assets/",
108
- "output": "src/assets"
109
- },
110
- {
111
- "glob": "**/*",
112
- "input": "./node_modules/@eui/core/assets/",
113
- "output": "src/assets"
114
- }
115
- ],
116
- "styles": [
117
- "./node_modules/@eui/styles/dist/styles/eui.css"
118
- ],
119
- "scripts": [],
120
- "preserveSymlinks": true
121
- },
122
- "configurations": {
123
- "production": {
124
- "optimization": true,
125
- "outputHashing": "all",
126
- "sourceMap": false,
127
- "extractCss": true,
128
- "namedChunks": false,
129
- "aot": true,
130
- "extractLicenses": true,
131
- "vendorChunk": false,
132
- "buildOptimizer": true
133
- }
134
- }
135
- },
136
- "serve": {
137
- "builder": "@angular-devkit/build-angular:dev-server",
138
- "options": {
139
- "browserTarget": "demo:build"
140
- },
141
- "configurations": {
142
- "production": {
143
- "browserTarget": "demo:build:production"
144
- }
145
- }
146
- },
147
- "lint": {
148
- "builder": "@angular-devkit/build-angular:tslint",
149
- "options": {
150
- "tsConfig": ["tsconfig.json"],
151
- "exclude": ["**/node_modules/**"]
152
- }
153
- }
154
- }
155
- }
156
- },
157
- "defaultProject": "demo",
158
- "cli": {
159
- "analytics": "0f944abb-e787-4c1f-9092-e34292361c91"
160
- }
161
- }
162
- `;
163
- export const indexHtmlFile = (selector) => `
164
- <!-- TODO: Find a workaround -->
165
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
166
- <link rel="stylesheet" href="assets/eui.css" />
167
- <!-- END TODO -->
168
- <${selector}>
169
- <div id="loader-wrapper">
170
- <div id="loader"></div>
171
- </div>
172
- </${selector}>
173
- `;
174
- export const PACKAGE_JSON = {
175
- name: 'demo',
176
- version: '0.0.0',
177
- private: true,
178
- dependencies: {},
179
- };
180
- export const tsConfig = `
181
- {
182
- "compileOnSave": false,
183
- "compilerOptions": {
184
- "baseUrl": "./",
185
- "outDir": "./dist/out-tsc",
186
- "sourceMap": true,
187
- "declaration": false,
188
- "downlevelIteration": true,
189
- "experimentalDecorators": true,
190
- "module": "esnext",
191
- "moduleResolution": "node",
192
- "importHelpers": true,
193
- "target": "es2016",
194
- "allowSyntheticDefaultImports": true,
195
- "emitDecoratorMetadata": true,
196
- "typeRoots": [
197
- "node_modules/@types"
198
- ],
199
- "lib": [
200
- "es2020",
201
- "dom"
202
- ]
203
- },
204
- "angularCompilerOptions": {
205
- "enableIvy": true,
206
- "fullTemplateTypeCheck": true,
207
- "strictInjectionParameters": true
208
- }
209
- }`;
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2tibGl0ei5maWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3N0YWNrYmxpdHouZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFVBQWtCLEVBQVUsRUFBRSxDQUFDOzs7O1dBSTdDLFVBQVU7O3NGQUVpRSxVQUFVOzs7Ozs7Ozs7OztDQVcvRixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsYUFBcUIsRUFBRSxJQUFzQyxFQUFFLEVBQVUsRUFBRSxDQUNsRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBcUJPLGFBQWE7Q0FDdkI7SUFDRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQkM7SUFDRCxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkM7O21CQUVlLGFBQWE7Ozs7Ozs7Ozs7Ozs7OztnQkFlaEIsYUFBYTs7O0NBRzVCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThFOUIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDOzs7OztHQUt4RCxRQUFROzs7O0lBSVAsUUFBUTtDQUNYLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsT0FBTztJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLFlBQVksRUFBRSxFQUFFO0NBQ25CLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkJ0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHBvbHlmaWxsc0ZpbGUgPSBgaW1wb3J0ICd6b25lLmpzL2Rpc3Qvem9uZSc7YDtcbmV4cG9ydCBjb25zdCBtYWluRmlsZSA9IChtb2R1bGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4gYFxuaW1wb3J0ICcuL3BvbHlmaWxscyc7XG5pbXBvcnQgeyBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJztcbmltcG9ydCB7IHByZUluaXRBcHAgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgJHttb2R1bGVOYW1lfSB9IGZyb20gJy4vY29tcG9uZW50JztcblxucHJlSW5pdEFwcCh7cHJvZHVjdGlvbjogZmFsc2V9KS50aGVuKCgpID0+IHBsYXRmb3JtQnJvd3NlckR5bmFtaWMoKS5ib290c3RyYXBNb2R1bGUoJHttb2R1bGVOYW1lfSkudGhlbihyZWYgPT4ge1xuICAgICAgLy8gRW5zdXJlIEFuZ3VsYXIgZGVzdHJveXMgaXRzZWxmIG9uIGhvdCByZWxvYWRzLlxuICAgICAgaWYgKHdpbmRvd1snbmdSZWYnXSkge1xuICAgICAgICB3aW5kb3dbJ25nUmVmJ10uZGVzdHJveSgpO1xuICAgICAgfVxuICAgICAgd2luZG93WyduZ1JlZiddID0gcmVmO1xuXG4gICAgICAvLyBPdGhlcndpc2UsIGxvZyB0aGUgYm9vdCBlcnJvclxuICAgIH0pLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpXG4pO1xuXG5gO1xuZXhwb3J0IGNvbnN0IG1vZHVsZUZpbGUgPSAoY29tcG9uZW50TmFtZTogc3RyaW5nLCBtOiB7IG5hbWU6IHN0cmluZzsgcGF0aDogc3RyaW5nIH1bXSA9IFtdKTogc3RyaW5nID0+XG4gICAgYFxuaW1wb3J0IHsgTmdNb2R1bGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVBQX0JBU0VfSFJFRiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEV1aUFsbE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICAgIHJlZHVjZXJzIGFzIGNvcmVSZWR1Y2VycyxcbiAgICBDb3JlTW9kdWxlIGFzIEV1aUNvcmVNb2R1bGUsXG4gICAgdHJhbnNsYXRlQ29uZmlnLFxuICAgIENvcmVNb2R1bGVFZmZlY3RzLFxuICAgIEVVSV9DT05GSUdfVE9LRU4sXG59IGZyb20gJ0BldWkvY29yZSc7XG5cbmltcG9ydCB7ICR7Y29tcG9uZW50TmFtZX0gfSBmcm9tICcuL2NvbXBvbmVudCc7XG5gICtcbiAgICBtLm1hcCgoaSkgPT4gYGltcG9ydCB7ICR7aS5uYW1lfSB9IGZyb20gJyR7aS5wYXRofSc7XFxuYCkuam9pbignJykgK1xuICAgIGBcblxuZXhwb3J0IGNvbnN0IFJFRFVDRVJfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignUmVnaXN0ZXJlZCBSZWR1Y2VycycpO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRXVpQWxsTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLmZvclJvb3QoW10pLFxuICAgIEV1aUNvcmVNb2R1bGUuZm9yUm9vdCgpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yUm9vdChbLi4uQ29yZU1vZHVsZUVmZmVjdHNdKSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh0cmFuc2xhdGVDb25maWcpLFxuICAgIFN0b3JlTW9kdWxlLmZvclJvb3QoUkVEVUNFUl9UT0tFTiwgeyB9KVxuICAgIGAgK1xuICAgIG0ubWFwKChpKSA9PiBgJHtpLm5hbWV9LGApLmpvaW4oJycpICtcbiAgICBgXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogWyR7Y29tcG9uZW50TmFtZX1dLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFJFRFVDRVJfVE9LRU4sXG4gICAgICAgIGRlcHM6IFtdLFxuICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiBPYmplY3QuYXNzaWduKHt9LCBjb3JlUmVkdWNlcnMpLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBFVUlfQ09ORklHX1RPS0VOLFxuICAgICAgICB1c2VWYWx1ZTogeyBhcHBDb25maWc6IHt9LCBlbnZpcm9ubWVudDoge30gfVxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBBUFBfQkFTRV9IUkVGLCB1c2VWYWx1ZTogJy8nXG4gICAgfVxuICBdLFxuICBib290c3RyYXA6IFske2NvbXBvbmVudE5hbWV9XSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG5gO1xuZXhwb3J0IGNvbnN0IGFuZ3VsYXJKc29uRmlsZSA9IGBcbntcbiAgXCJ2ZXJzaW9uXCI6IDEsXG4gIFwibmV3UHJvamVjdFJvb3RcIjogXCJwcm9qZWN0c1wiLFxuICBcInByb2plY3RzXCI6IHtcbiAgICBcImRlbW9cIjoge1xuICAgICAgXCJyb290XCI6IFwiXCIsXG4gICAgICBcInNvdXJjZVJvb3RcIjogXCJcIixcbiAgICAgIFwicHJvamVjdFR5cGVcIjogXCJhcHBsaWNhdGlvblwiLFxuICAgICAgXCJwcmVmaXhcIjogXCJhcHBcIixcbiAgICAgIFwic2NoZW1hdGljc1wiOiB7fSxcbiAgICAgIFwiYXJjaGl0ZWN0XCI6IHtcbiAgICAgICAgXCJidWlsZFwiOiB7XG4gICAgICAgICAgXCJidWlsZGVyXCI6IFwiQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6YnJvd3NlclwiLFxuICAgICAgICAgIFwib3B0aW9uc1wiOiB7XG4gICAgICAgICAgICBcIm91dHB1dFBhdGhcIjogXCJkaXN0L2RlbW9cIixcbiAgICAgICAgICAgIFwiaW5kZXhcIjogXCJzcmMvaW5kZXguaHRtbFwiLFxuICAgICAgICAgICAgXCJtYWluXCI6IFwic3JjL21haW4udHNcIixcbiAgICAgICAgICAgIFwicG9seWZpbGxzXCI6IFwic3JjL3BvbHlmaWxscy50c1wiLFxuICAgICAgICAgICAgXCJ0c0NvbmZpZ1wiOiBcInRzY29uZmlnLmpzb25cIixcbiAgICAgICAgICAgIFwiYXNzZXRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiZ2xvYlwiOiBcIioqLypcIixcbiAgICAgICAgICAgICAgICBcImlucHV0XCI6IFwiLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvYXNzZXRzL1wiLFxuICAgICAgICAgICAgICAgIFwib3V0cHV0XCI6IFwic3JjL2Fzc2V0c1wiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImdsb2JcIjogXCIqKi8qXCIsXG4gICAgICAgICAgICAgICAgXCJpbnB1dFwiOiBcIi4vbm9kZV9tb2R1bGVzL0BldWkvY29yZS9hc3NldHMvXCIsXG4gICAgICAgICAgICAgICAgXCJvdXRwdXRcIjogXCJzcmMvYXNzZXRzXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwic3R5bGVzXCI6IFtcbiAgICAgICAgICAgICAgXCIuL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy9kaXN0L3N0eWxlcy9ldWkuY3NzXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInNjcmlwdHNcIjogW10sXG4gICAgICAgICAgICBcInByZXNlcnZlU3ltbGlua3NcIjogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJjb25maWd1cmF0aW9uc1wiOiB7XG4gICAgICAgICAgICBcInByb2R1Y3Rpb25cIjoge1xuICAgICAgICAgICAgICBcIm9wdGltaXphdGlvblwiOiB0cnVlLFxuICAgICAgICAgICAgICBcIm91dHB1dEhhc2hpbmdcIjogXCJhbGxcIixcbiAgICAgICAgICAgICAgXCJzb3VyY2VNYXBcIjogZmFsc2UsXG4gICAgICAgICAgICAgIFwiZXh0cmFjdENzc1wiOiB0cnVlLFxuICAgICAgICAgICAgICBcIm5hbWVkQ2h1bmtzXCI6IGZhbHNlLFxuICAgICAgICAgICAgICBcImFvdFwiOiB0cnVlLFxuICAgICAgICAgICAgICBcImV4dHJhY3RMaWNlbnNlc1wiOiB0cnVlLFxuICAgICAgICAgICAgICBcInZlbmRvckNodW5rXCI6IGZhbHNlLFxuICAgICAgICAgICAgICBcImJ1aWxkT3B0aW1pemVyXCI6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2VydmVcIjoge1xuICAgICAgICAgIFwiYnVpbGRlclwiOiBcIkBhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmRldi1zZXJ2ZXJcIixcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xuICAgICAgICAgICAgXCJicm93c2VyVGFyZ2V0XCI6IFwiZGVtbzpidWlsZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImNvbmZpZ3VyYXRpb25zXCI6IHtcbiAgICAgICAgICAgIFwicHJvZHVjdGlvblwiOiB7XG4gICAgICAgICAgICAgIFwiYnJvd3NlclRhcmdldFwiOiBcImRlbW86YnVpbGQ6cHJvZHVjdGlvblwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImxpbnRcIjoge1xuICAgICAgICAgIFwiYnVpbGRlclwiOiBcIkBhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOnRzbGludFwiLFxuICAgICAgICAgIFwib3B0aW9uc1wiOiB7XG4gICAgICAgICAgICBcInRzQ29uZmlnXCI6IFtcInRzY29uZmlnLmpzb25cIl0sXG4gICAgICAgICAgICBcImV4Y2x1ZGVcIjogW1wiKiovbm9kZV9tb2R1bGVzLyoqXCJdXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBcImRlZmF1bHRQcm9qZWN0XCI6IFwiZGVtb1wiLFxuICBcImNsaVwiOiB7XG4gICAgXCJhbmFseXRpY3NcIjogXCIwZjk0NGFiYi1lNzg3LTRjMWYtOTA5Mi1lMzQyOTIzNjFjOTFcIlxuICB9XG59XG5gO1xuZXhwb3J0IGNvbnN0IGluZGV4SHRtbEZpbGUgPSAoc2VsZWN0b3I6IHN0cmluZyk6IHN0cmluZyA9PiBgXG48IS0tIFRPRE86IEZpbmQgYSB3b3JrYXJvdW5kIC0tPlxuPG1ldGEgaHR0cC1lcXVpdj1cIkNvbnRlbnQtVHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIiAvPlxuPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIGhyZWY9XCJhc3NldHMvZXVpLmNzc1wiIC8+XG48IS0tIEVORCBUT0RPIC0tPlxuPCR7c2VsZWN0b3J9PlxuICAgIDxkaXYgaWQ9XCJsb2FkZXItd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGlkPVwibG9hZGVyXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48LyR7c2VsZWN0b3J9PlxuYDtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX0pTT04gPSB7XG4gICAgbmFtZTogJ2RlbW8nLFxuICAgIHZlcnNpb246ICcwLjAuMCcsXG4gICAgcHJpdmF0ZTogdHJ1ZSxcbiAgICBkZXBlbmRlbmNpZXM6IHt9LFxufTtcbmV4cG9ydCBjb25zdCB0c0NvbmZpZyA9IGBcbntcbiAgXCJjb21waWxlT25TYXZlXCI6IGZhbHNlLFxuICBcImNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAgXCJiYXNlVXJsXCI6IFwiLi9cIixcbiAgICBcIm91dERpclwiOiBcIi4vZGlzdC9vdXQtdHNjXCIsXG4gICAgXCJzb3VyY2VNYXBcIjogdHJ1ZSxcbiAgICBcImRlY2xhcmF0aW9uXCI6IGZhbHNlLFxuICAgIFwiZG93bmxldmVsSXRlcmF0aW9uXCI6IHRydWUsXG4gICAgXCJleHBlcmltZW50YWxEZWNvcmF0b3JzXCI6IHRydWUsXG4gICAgXCJtb2R1bGVcIjogXCJlc25leHRcIixcbiAgICBcIm1vZHVsZVJlc29sdXRpb25cIjogXCJub2RlXCIsXG4gICAgXCJpbXBvcnRIZWxwZXJzXCI6IHRydWUsXG4gICAgXCJ0YXJnZXRcIjogXCJlczIwMTZcIixcbiAgICBcImFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHNcIjogdHJ1ZSxcbiAgICBcImVtaXREZWNvcmF0b3JNZXRhZGF0YVwiOiB0cnVlLFxuICAgIFwidHlwZVJvb3RzXCI6IFtcbiAgICAgIFwibm9kZV9tb2R1bGVzL0B0eXBlc1wiXG4gICAgXSxcbiAgICBcImxpYlwiOiBbXG4gICAgICBcImVzMjAyMFwiLFxuICAgICAgXCJkb21cIlxuICAgIF1cbiAgfSxcbiAgXCJhbmd1bGFyQ29tcGlsZXJPcHRpb25zXCI6IHtcbiAgICBcImVuYWJsZUl2eVwiOiB0cnVlLFxuICAgIFwiZnVsbFRlbXBsYXRlVHlwZUNoZWNrXCI6IHRydWUsXG4gICAgXCJzdHJpY3RJbmplY3Rpb25QYXJhbWV0ZXJzXCI6IHRydWVcbiAgfVxufWA7XG4iXX0=
1
+ export const polyfillsFile = `import 'zone.js/dist/zone';`;
2
+ export const mainFile = (moduleName) => `
3
+ import './polyfills';
4
+ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
5
+ import { preInitApp } from '@eui/core';
6
+ import { ${moduleName} } from './component';
7
+
8
+ preInitApp({production: false}).then(() => platformBrowserDynamic().bootstrapModule(${moduleName}).then(ref => {
9
+ // Ensure Angular destroys itself on hot reloads.
10
+ if (window['ngRef']) {
11
+ window['ngRef'].destroy();
12
+ }
13
+ window['ngRef'] = ref;
14
+
15
+ // Otherwise, log the boot error
16
+ }).catch(err => console.error(err))
17
+ );
18
+
19
+ `;
20
+ export const moduleFile = (componentName, m = []) => `
21
+ import { NgModule, InjectionToken } from '@angular/core';
22
+ import { BrowserModule } from '@angular/platform-browser';
23
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
24
+ import { RouterModule } from '@angular/router';
25
+ import { APP_BASE_HREF } from '@angular/common';
26
+ import { HttpClientModule } from '@angular/common/http';
27
+ import { StoreModule } from '@ngrx/store';
28
+ import { EffectsModule } from '@ngrx/effects';
29
+ import { TranslateModule } from '@ngx-translate/core';
30
+ import { FormsModule } from '@angular/forms';
31
+ import { CommonModule } from '@angular/common';
32
+ import { EuiAllModule } from '@eui/components';
33
+ import {
34
+ reducers as coreReducers,
35
+ CoreModule as EuiCoreModule,
36
+ translateConfig,
37
+ CoreModuleEffects,
38
+ EUI_CONFIG_TOKEN,
39
+ } from '@eui/core';
40
+
41
+ import { ${componentName} } from './component';
42
+ ` +
43
+ m.map((i) => `import { ${i.name} } from '${i.path}';\n`).join('') +
44
+ `
45
+
46
+ export const REDUCER_TOKEN = new InjectionToken<any>('Registered Reducers');
47
+
48
+ @NgModule({
49
+ imports: [
50
+ BrowserAnimationsModule,
51
+ CommonModule,
52
+ BrowserModule,
53
+ FormsModule,
54
+ EuiAllModule,
55
+ HttpClientModule,
56
+ RouterModule.forRoot([]),
57
+ EuiCoreModule.forRoot(),
58
+ EffectsModule.forRoot([...CoreModuleEffects]),
59
+ TranslateModule.forRoot(translateConfig),
60
+ StoreModule.forRoot(REDUCER_TOKEN, { })
61
+ ` +
62
+ m.map((i) => `${i.name},`).join('') +
63
+ `
64
+ ],
65
+ declarations: [${componentName}],
66
+ providers: [
67
+ {
68
+ provide: REDUCER_TOKEN,
69
+ deps: [],
70
+ useFactory: () => Object.assign({}, coreReducers),
71
+ },
72
+ {
73
+ provide: EUI_CONFIG_TOKEN,
74
+ useValue: { appConfig: {}, environment: {} }
75
+ },
76
+ {
77
+ provide: APP_BASE_HREF, useValue: '/'
78
+ }
79
+ ],
80
+ bootstrap: [${componentName}],
81
+ })
82
+ export class AppModule {}
83
+ `;
84
+ export const angularJsonFile = `
85
+ {
86
+ "version": 1,
87
+ "newProjectRoot": "projects",
88
+ "projects": {
89
+ "demo": {
90
+ "root": "",
91
+ "sourceRoot": "",
92
+ "projectType": "application",
93
+ "prefix": "app",
94
+ "schematics": {},
95
+ "architect": {
96
+ "build": {
97
+ "builder": "@angular-devkit/build-angular:browser",
98
+ "options": {
99
+ "outputPath": "dist/demo",
100
+ "index": "src/index.html",
101
+ "main": "src/main.ts",
102
+ "polyfills": "src/polyfills.ts",
103
+ "tsConfig": "tsconfig.json",
104
+ "assets": [
105
+ {
106
+ "glob": "**/*",
107
+ "input": "./node_modules/@eui/styles-base/src/assets/",
108
+ "output": "src/assets"
109
+ },
110
+ {
111
+ "glob": "**/*",
112
+ "input": "./node_modules/@eui/core/assets/",
113
+ "output": "src/assets"
114
+ }
115
+ ],
116
+ "styles": [
117
+ "./node_modules/@eui/styles/dist/styles/eui.css"
118
+ ],
119
+ "scripts": [],
120
+ "preserveSymlinks": true
121
+ },
122
+ "configurations": {
123
+ "production": {
124
+ "optimization": true,
125
+ "outputHashing": "all",
126
+ "sourceMap": false,
127
+ "extractCss": true,
128
+ "namedChunks": false,
129
+ "aot": true,
130
+ "extractLicenses": true,
131
+ "vendorChunk": false,
132
+ "buildOptimizer": true
133
+ }
134
+ }
135
+ },
136
+ "serve": {
137
+ "builder": "@angular-devkit/build-angular:dev-server",
138
+ "options": {
139
+ "browserTarget": "demo:build"
140
+ },
141
+ "configurations": {
142
+ "production": {
143
+ "browserTarget": "demo:build:production"
144
+ }
145
+ }
146
+ },
147
+ "lint": {
148
+ "builder": "@angular-devkit/build-angular:tslint",
149
+ "options": {
150
+ "tsConfig": ["tsconfig.json"],
151
+ "exclude": ["**/node_modules/**"]
152
+ }
153
+ }
154
+ }
155
+ }
156
+ },
157
+ "defaultProject": "demo",
158
+ "cli": {
159
+ "analytics": "0f944abb-e787-4c1f-9092-e34292361c91"
160
+ }
161
+ }
162
+ `;
163
+ export const indexHtmlFile = (selector) => `
164
+ <!-- TODO: Find a workaround -->
165
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
166
+ <link rel="stylesheet" href="assets/eui.css" />
167
+ <!-- END TODO -->
168
+ <${selector}>
169
+ <div id="loader-wrapper">
170
+ <div id="loader"></div>
171
+ </div>
172
+ </${selector}>
173
+ `;
174
+ export const PACKAGE_JSON = {
175
+ name: 'demo',
176
+ version: '0.0.0',
177
+ private: true,
178
+ dependencies: {},
179
+ };
180
+ export const tsConfig = `
181
+ {
182
+ "compileOnSave": false,
183
+ "compilerOptions": {
184
+ "baseUrl": "./",
185
+ "outDir": "./dist/out-tsc",
186
+ "sourceMap": true,
187
+ "declaration": false,
188
+ "downlevelIteration": true,
189
+ "experimentalDecorators": true,
190
+ "module": "esnext",
191
+ "moduleResolution": "node",
192
+ "importHelpers": true,
193
+ "target": "es2016",
194
+ "allowSyntheticDefaultImports": true,
195
+ "emitDecoratorMetadata": true,
196
+ "typeRoots": [
197
+ "node_modules/@types"
198
+ ],
199
+ "lib": [
200
+ "es2020",
201
+ "dom"
202
+ ]
203
+ },
204
+ "angularCompilerOptions": {
205
+ "enableIvy": true,
206
+ "fullTemplateTypeCheck": true,
207
+ "strictInjectionParameters": true
208
+ }
209
+ }`;
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2tibGl0ei5maWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3N0YWNrYmxpdHouZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFVBQWtCLEVBQVUsRUFBRSxDQUFDOzs7O1dBSTdDLFVBQVU7O3NGQUVpRSxVQUFVOzs7Ozs7Ozs7OztDQVcvRixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsYUFBcUIsRUFBRSxJQUFzQyxFQUFFLEVBQVUsRUFBRSxDQUNsRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBcUJPLGFBQWE7Q0FDdkI7SUFDRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQkM7SUFDRCxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkM7O21CQUVlLGFBQWE7Ozs7Ozs7Ozs7Ozs7OztnQkFlaEIsYUFBYTs7O0NBRzVCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThFOUIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDOzs7OztHQUt4RCxRQUFROzs7O0lBSVAsUUFBUTtDQUNYLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsT0FBTztJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLFlBQVksRUFBRSxFQUFFO0NBQ25CLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkJ0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHBvbHlmaWxsc0ZpbGUgPSBgaW1wb3J0ICd6b25lLmpzL2Rpc3Qvem9uZSc7YDtcclxuZXhwb3J0IGNvbnN0IG1haW5GaWxlID0gKG1vZHVsZU5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiBgXHJcbmltcG9ydCAnLi9wb2x5ZmlsbHMnO1xyXG5pbXBvcnQgeyBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJztcclxuaW1wb3J0IHsgcHJlSW5pdEFwcCB9IGZyb20gJ0BldWkvY29yZSc7XHJcbmltcG9ydCB7ICR7bW9kdWxlTmFtZX0gfSBmcm9tICcuL2NvbXBvbmVudCc7XHJcblxyXG5wcmVJbml0QXBwKHtwcm9kdWN0aW9uOiBmYWxzZX0pLnRoZW4oKCkgPT4gcGxhdGZvcm1Ccm93c2VyRHluYW1pYygpLmJvb3RzdHJhcE1vZHVsZSgke21vZHVsZU5hbWV9KS50aGVuKHJlZiA9PiB7XHJcbiAgICAgIC8vIEVuc3VyZSBBbmd1bGFyIGRlc3Ryb3lzIGl0c2VsZiBvbiBob3QgcmVsb2Fkcy5cclxuICAgICAgaWYgKHdpbmRvd1snbmdSZWYnXSkge1xyXG4gICAgICAgIHdpbmRvd1snbmdSZWYnXS5kZXN0cm95KCk7XHJcbiAgICAgIH1cclxuICAgICAgd2luZG93WyduZ1JlZiddID0gcmVmO1xyXG5cclxuICAgICAgLy8gT3RoZXJ3aXNlLCBsb2cgdGhlIGJvb3QgZXJyb3JcclxuICAgIH0pLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpXHJcbik7XHJcblxyXG5gO1xyXG5leHBvcnQgY29uc3QgbW9kdWxlRmlsZSA9IChjb21wb25lbnROYW1lOiBzdHJpbmcsIG06IHsgbmFtZTogc3RyaW5nOyBwYXRoOiBzdHJpbmcgfVtdID0gW10pOiBzdHJpbmcgPT5cclxuICAgIGBcclxuaW1wb3J0IHsgTmdNb2R1bGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBUFBfQkFTRV9IUkVGIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBFdWlBbGxNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQge1xyXG4gICAgcmVkdWNlcnMgYXMgY29yZVJlZHVjZXJzLFxyXG4gICAgQ29yZU1vZHVsZSBhcyBFdWlDb3JlTW9kdWxlLFxyXG4gICAgdHJhbnNsYXRlQ29uZmlnLFxyXG4gICAgQ29yZU1vZHVsZUVmZmVjdHMsXHJcbiAgICBFVUlfQ09ORklHX1RPS0VOLFxyXG59IGZyb20gJ0BldWkvY29yZSc7XHJcblxyXG5pbXBvcnQgeyAke2NvbXBvbmVudE5hbWV9IH0gZnJvbSAnLi9jb21wb25lbnQnO1xyXG5gICtcclxuICAgIG0ubWFwKChpKSA9PiBgaW1wb3J0IHsgJHtpLm5hbWV9IH0gZnJvbSAnJHtpLnBhdGh9JztcXG5gKS5qb2luKCcnKSArXHJcbiAgICBgXHJcblxyXG5leHBvcnQgY29uc3QgUkVEVUNFUl9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdSZWdpc3RlcmVkIFJlZHVjZXJzJyk7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQnJvd3Nlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgRXVpQWxsTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZS5mb3JSb290KFtdKSxcclxuICAgIEV1aUNvcmVNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgRWZmZWN0c01vZHVsZS5mb3JSb290KFsuLi5Db3JlTW9kdWxlRWZmZWN0c10pLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3QodHJhbnNsYXRlQ29uZmlnKSxcclxuICAgIFN0b3JlTW9kdWxlLmZvclJvb3QoUkVEVUNFUl9UT0tFTiwgeyB9KVxyXG4gICAgYCArXHJcbiAgICBtLm1hcCgoaSkgPT4gYCR7aS5uYW1lfSxgKS5qb2luKCcnKSArXHJcbiAgICBgXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFske2NvbXBvbmVudE5hbWV9XSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBSRURVQ0VSX1RPS0VOLFxyXG4gICAgICAgIGRlcHM6IFtdLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IE9iamVjdC5hc3NpZ24oe30sIGNvcmVSZWR1Y2VycyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEVVSV9DT05GSUdfVE9LRU4sXHJcbiAgICAgICAgdXNlVmFsdWU6IHsgYXBwQ29uZmlnOiB7fSwgZW52aXJvbm1lbnQ6IHt9IH1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogQVBQX0JBU0VfSFJFRiwgdXNlVmFsdWU6ICcvJ1xyXG4gICAgfVxyXG4gIF0sXHJcbiAgYm9vdHN0cmFwOiBbJHtjb21wb25lbnROYW1lfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cclxuYDtcclxuZXhwb3J0IGNvbnN0IGFuZ3VsYXJKc29uRmlsZSA9IGBcclxue1xyXG4gIFwidmVyc2lvblwiOiAxLFxyXG4gIFwibmV3UHJvamVjdFJvb3RcIjogXCJwcm9qZWN0c1wiLFxyXG4gIFwicHJvamVjdHNcIjoge1xyXG4gICAgXCJkZW1vXCI6IHtcclxuICAgICAgXCJyb290XCI6IFwiXCIsXHJcbiAgICAgIFwic291cmNlUm9vdFwiOiBcIlwiLFxyXG4gICAgICBcInByb2plY3RUeXBlXCI6IFwiYXBwbGljYXRpb25cIixcclxuICAgICAgXCJwcmVmaXhcIjogXCJhcHBcIixcclxuICAgICAgXCJzY2hlbWF0aWNzXCI6IHt9LFxyXG4gICAgICBcImFyY2hpdGVjdFwiOiB7XHJcbiAgICAgICAgXCJidWlsZFwiOiB7XHJcbiAgICAgICAgICBcImJ1aWxkZXJcIjogXCJAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpicm93c2VyXCIsXHJcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xyXG4gICAgICAgICAgICBcIm91dHB1dFBhdGhcIjogXCJkaXN0L2RlbW9cIixcclxuICAgICAgICAgICAgXCJpbmRleFwiOiBcInNyYy9pbmRleC5odG1sXCIsXHJcbiAgICAgICAgICAgIFwibWFpblwiOiBcInNyYy9tYWluLnRzXCIsXHJcbiAgICAgICAgICAgIFwicG9seWZpbGxzXCI6IFwic3JjL3BvbHlmaWxscy50c1wiLFxyXG4gICAgICAgICAgICBcInRzQ29uZmlnXCI6IFwidHNjb25maWcuanNvblwiLFxyXG4gICAgICAgICAgICBcImFzc2V0c1wiOiBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgXCJnbG9iXCI6IFwiKiovKlwiLFxyXG4gICAgICAgICAgICAgICAgXCJpbnB1dFwiOiBcIi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL2Fzc2V0cy9cIixcclxuICAgICAgICAgICAgICAgIFwib3V0cHV0XCI6IFwic3JjL2Fzc2V0c1wiXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImdsb2JcIjogXCIqKi8qXCIsXHJcbiAgICAgICAgICAgICAgICBcImlucHV0XCI6IFwiLi9ub2RlX21vZHVsZXMvQGV1aS9jb3JlL2Fzc2V0cy9cIixcclxuICAgICAgICAgICAgICAgIFwib3V0cHV0XCI6IFwic3JjL2Fzc2V0c1wiXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBcInN0eWxlc1wiOiBbXHJcbiAgICAgICAgICAgICAgXCIuL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy9kaXN0L3N0eWxlcy9ldWkuY3NzXCJcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgXCJzY3JpcHRzXCI6IFtdLFxyXG4gICAgICAgICAgICBcInByZXNlcnZlU3ltbGlua3NcIjogdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIFwiY29uZmlndXJhdGlvbnNcIjoge1xyXG4gICAgICAgICAgICBcInByb2R1Y3Rpb25cIjoge1xyXG4gICAgICAgICAgICAgIFwib3B0aW1pemF0aW9uXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgXCJvdXRwdXRIYXNoaW5nXCI6IFwiYWxsXCIsXHJcbiAgICAgICAgICAgICAgXCJzb3VyY2VNYXBcIjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgXCJleHRyYWN0Q3NzXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgXCJuYW1lZENodW5rc1wiOiBmYWxzZSxcclxuICAgICAgICAgICAgICBcImFvdFwiOiB0cnVlLFxyXG4gICAgICAgICAgICAgIFwiZXh0cmFjdExpY2Vuc2VzXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgXCJ2ZW5kb3JDaHVua1wiOiBmYWxzZSxcclxuICAgICAgICAgICAgICBcImJ1aWxkT3B0aW1pemVyXCI6IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJzZXJ2ZVwiOiB7XHJcbiAgICAgICAgICBcImJ1aWxkZXJcIjogXCJAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpkZXYtc2VydmVyXCIsXHJcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xyXG4gICAgICAgICAgICBcImJyb3dzZXJUYXJnZXRcIjogXCJkZW1vOmJ1aWxkXCJcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBcImNvbmZpZ3VyYXRpb25zXCI6IHtcclxuICAgICAgICAgICAgXCJwcm9kdWN0aW9uXCI6IHtcclxuICAgICAgICAgICAgICBcImJyb3dzZXJUYXJnZXRcIjogXCJkZW1vOmJ1aWxkOnByb2R1Y3Rpb25cIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBcImxpbnRcIjoge1xyXG4gICAgICAgICAgXCJidWlsZGVyXCI6IFwiQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6dHNsaW50XCIsXHJcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xyXG4gICAgICAgICAgICBcInRzQ29uZmlnXCI6IFtcInRzY29uZmlnLmpzb25cIl0sXHJcbiAgICAgICAgICAgIFwiZXhjbHVkZVwiOiBbXCIqKi9ub2RlX21vZHVsZXMvKipcIl1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9LFxyXG4gIFwiZGVmYXVsdFByb2plY3RcIjogXCJkZW1vXCIsXHJcbiAgXCJjbGlcIjoge1xyXG4gICAgXCJhbmFseXRpY3NcIjogXCIwZjk0NGFiYi1lNzg3LTRjMWYtOTA5Mi1lMzQyOTIzNjFjOTFcIlxyXG4gIH1cclxufVxyXG5gO1xyXG5leHBvcnQgY29uc3QgaW5kZXhIdG1sRmlsZSA9IChzZWxlY3Rvcjogc3RyaW5nKTogc3RyaW5nID0+IGBcclxuPCEtLSBUT0RPOiBGaW5kIGEgd29ya2Fyb3VuZCAtLT5cclxuPG1ldGEgaHR0cC1lcXVpdj1cIkNvbnRlbnQtVHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIiAvPlxyXG48bGluayByZWw9XCJzdHlsZXNoZWV0XCIgaHJlZj1cImFzc2V0cy9ldWkuY3NzXCIgLz5cclxuPCEtLSBFTkQgVE9ETyAtLT5cclxuPCR7c2VsZWN0b3J9PlxyXG4gICAgPGRpdiBpZD1cImxvYWRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBpZD1cImxvYWRlclwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvJHtzZWxlY3Rvcn0+XHJcbmA7XHJcbmV4cG9ydCBjb25zdCBQQUNLQUdFX0pTT04gPSB7XHJcbiAgICBuYW1lOiAnZGVtbycsXHJcbiAgICB2ZXJzaW9uOiAnMC4wLjAnLFxyXG4gICAgcHJpdmF0ZTogdHJ1ZSxcclxuICAgIGRlcGVuZGVuY2llczoge30sXHJcbn07XHJcbmV4cG9ydCBjb25zdCB0c0NvbmZpZyA9IGBcclxue1xyXG4gIFwiY29tcGlsZU9uU2F2ZVwiOiBmYWxzZSxcclxuICBcImNvbXBpbGVyT3B0aW9uc1wiOiB7XHJcbiAgICBcImJhc2VVcmxcIjogXCIuL1wiLFxyXG4gICAgXCJvdXREaXJcIjogXCIuL2Rpc3Qvb3V0LXRzY1wiLFxyXG4gICAgXCJzb3VyY2VNYXBcIjogdHJ1ZSxcclxuICAgIFwiZGVjbGFyYXRpb25cIjogZmFsc2UsXHJcbiAgICBcImRvd25sZXZlbEl0ZXJhdGlvblwiOiB0cnVlLFxyXG4gICAgXCJleHBlcmltZW50YWxEZWNvcmF0b3JzXCI6IHRydWUsXHJcbiAgICBcIm1vZHVsZVwiOiBcImVzbmV4dFwiLFxyXG4gICAgXCJtb2R1bGVSZXNvbHV0aW9uXCI6IFwibm9kZVwiLFxyXG4gICAgXCJpbXBvcnRIZWxwZXJzXCI6IHRydWUsXHJcbiAgICBcInRhcmdldFwiOiBcImVzMjAxNlwiLFxyXG4gICAgXCJhbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzXCI6IHRydWUsXHJcbiAgICBcImVtaXREZWNvcmF0b3JNZXRhZGF0YVwiOiB0cnVlLFxyXG4gICAgXCJ0eXBlUm9vdHNcIjogW1xyXG4gICAgICBcIm5vZGVfbW9kdWxlcy9AdHlwZXNcIlxyXG4gICAgXSxcclxuICAgIFwibGliXCI6IFtcclxuICAgICAgXCJlczIwMjBcIixcclxuICAgICAgXCJkb21cIlxyXG4gICAgXVxyXG4gIH0sXHJcbiAgXCJhbmd1bGFyQ29tcGlsZXJPcHRpb25zXCI6IHtcclxuICAgIFwiZW5hYmxlSXZ5XCI6IHRydWUsXHJcbiAgICBcImZ1bGxUZW1wbGF0ZVR5cGVDaGVja1wiOiB0cnVlLFxyXG4gICAgXCJzdHJpY3RJbmplY3Rpb25QYXJhbWV0ZXJzXCI6IHRydWVcclxuICB9XHJcbn1gO1xyXG4iXX0=