@onecx/angular-testing 4.43.1 → 5.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.
Files changed (61) hide show
  1. package/esm2022/lib/harnesses/button.harness.mjs +31 -0
  2. package/esm2022/lib/harnesses/div.harness.mjs +28 -0
  3. package/esm2022/lib/harnesses/input.harness.mjs +39 -0
  4. package/esm2022/lib/harnesses/list-item.harness.mjs +17 -0
  5. package/esm2022/lib/harnesses/menu-item.harness.mjs +17 -0
  6. package/esm2022/lib/harnesses/p-tableCheckbox.harness.mjs +18 -0
  7. package/esm2022/lib/harnesses/p.harness.mjs +30 -0
  8. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-accordion-tab.harness.mjs +2 -2
  9. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-accordion.harness.mjs +2 -2
  10. package/esm2022/lib/harnesses/primeng/p-breadcrumb.harness.mjs +13 -0
  11. package/esm2022/lib/harnesses/primeng/p-button-directive.harness.mjs +23 -0
  12. package/esm2022/lib/harnesses/primeng/p-button.harness.mjs +27 -0
  13. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-chart.harness.mjs +2 -2
  14. package/esm2022/lib/harnesses/primeng/p-checkbox.harness.mjs +27 -0
  15. package/esm2022/lib/harnesses/primeng/p-dialog.harness.mjs +25 -0
  16. package/esm2022/lib/harnesses/primeng/p-dropdown.harness.mjs +61 -0
  17. package/esm2022/lib/harnesses/primeng/p-menu-item.harness.mjs +25 -0
  18. package/esm2022/lib/harnesses/primeng/p-menu.harness.mjs +30 -0
  19. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-menubar.harness.mjs +2 -2
  20. package/esm2022/lib/harnesses/primeng/p-multiSelect.harness.mjs +69 -0
  21. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-multiSelectListItem.harness.mjs +2 -2
  22. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-paginator.harness.mjs +2 -2
  23. package/esm2022/lib/harnesses/primeng/p-panelmenu-item.harness.mjs +26 -0
  24. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-panelmenu.harness.mjs +2 -2
  25. package/esm2022/lib/harnesses/primeng/p-password.harness.mjs +34 -0
  26. package/esm2022/lib/harnesses/primeng/p-picklist.harness.mjs +64 -0
  27. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-selectButton.harness.mjs +2 -2
  28. package/esm2022/lib/harnesses/span.harness.mjs +17 -0
  29. package/{esm2020 → esm2022}/lib/harnesses/table-header-column.harness.mjs +2 -2
  30. package/esm2022/lib/harnesses/table-row.harness.mjs +19 -0
  31. package/{fesm2020 → fesm2022}/onecx-angular-testing.mjs +44 -35
  32. package/fesm2022/onecx-angular-testing.mjs.map +1 -0
  33. package/package.json +7 -13
  34. package/esm2020/lib/harnesses/button.harness.mjs +0 -31
  35. package/esm2020/lib/harnesses/div.harness.mjs +0 -28
  36. package/esm2020/lib/harnesses/input.harness.mjs +0 -39
  37. package/esm2020/lib/harnesses/list-item.harness.mjs +0 -17
  38. package/esm2020/lib/harnesses/menu-item.harness.mjs +0 -17
  39. package/esm2020/lib/harnesses/p-tableCheckbox.harness.mjs +0 -18
  40. package/esm2020/lib/harnesses/p.harness.mjs +0 -30
  41. package/esm2020/lib/harnesses/primeng/p-breadcrumb.harness.mjs +0 -13
  42. package/esm2020/lib/harnesses/primeng/p-button-directive.harness.mjs +0 -23
  43. package/esm2020/lib/harnesses/primeng/p-button.harness.mjs +0 -27
  44. package/esm2020/lib/harnesses/primeng/p-checkbox.harness.mjs +0 -27
  45. package/esm2020/lib/harnesses/primeng/p-dialog.harness.mjs +0 -25
  46. package/esm2020/lib/harnesses/primeng/p-dropdown.harness.mjs +0 -61
  47. package/esm2020/lib/harnesses/primeng/p-menu-item.harness.mjs +0 -25
  48. package/esm2020/lib/harnesses/primeng/p-menu.harness.mjs +0 -30
  49. package/esm2020/lib/harnesses/primeng/p-multiSelect.harness.mjs +0 -60
  50. package/esm2020/lib/harnesses/primeng/p-panelmenu-item.harness.mjs +0 -26
  51. package/esm2020/lib/harnesses/primeng/p-password.harness.mjs +0 -34
  52. package/esm2020/lib/harnesses/primeng/p-picklist.harness.mjs +0 -64
  53. package/esm2020/lib/harnesses/span.harness.mjs +0 -17
  54. package/esm2020/lib/harnesses/table-row.harness.mjs +0 -19
  55. package/fesm2015/onecx-angular-testing.mjs +0 -938
  56. package/fesm2015/onecx-angular-testing.mjs.map +0 -1
  57. package/fesm2020/onecx-angular-testing.mjs.map +0 -1
  58. /package/{esm2020 → esm2022}/index.mjs +0 -0
  59. /package/{esm2020 → esm2022}/lib/harnesses/menu-item-with-icon.harness.mjs +0 -0
  60. /package/{esm2020 → esm2022}/lib/harnesses/utils/primeicon.utils.mjs +0 -0
  61. /package/{esm2020 → esm2022}/onecx-angular-testing.mjs +0 -0
@@ -7,21 +7,22 @@ class PAccordionTabHarness extends ComponentHarness {
7
7
  super(...arguments);
8
8
  this.getButton = this.locatorFor('a.p-accordion-header-link');
9
9
  }
10
+ static { this.hostSelector = 'p-accordiontab'; }
10
11
  async expand() {
11
12
  await (await this.getButton()).click();
12
13
  }
13
14
  }
14
- PAccordionTabHarness.hostSelector = 'p-accordiontab';
15
15
 
16
16
  class PAccordionHarness extends ComponentHarness {
17
17
  constructor() {
18
18
  super(...arguments);
19
19
  this.getAllAccordionTabs = this.locatorForAll(PAccordionTabHarness);
20
20
  }
21
+ static { this.hostSelector = 'p-accordion'; }
21
22
  }
22
- PAccordionHarness.hostSelector = 'p-accordion';
23
23
 
24
24
  class ListItemHarness extends ComponentHarness {
25
+ static { this.hostSelector = 'li'; }
25
26
  static with(options) {
26
27
  return new HarnessPredicate(ListItemHarness, options).addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
27
28
  }
@@ -35,20 +36,20 @@ class ListItemHarness extends ComponentHarness {
35
36
  await (await this.host()).click();
36
37
  }
37
38
  }
38
- ListItemHarness.hostSelector = 'li';
39
39
 
40
40
  class PBreadcrumbHarness extends ComponentHarness {
41
41
  constructor() {
42
42
  super(...arguments);
43
43
  this.getBreadcrumbItems = this.locatorForAll(ListItemHarness);
44
44
  }
45
+ static { this.hostSelector = 'p-breadcrumb'; }
45
46
  async getBreadcrumbItem(itemText) {
46
47
  return await this.locatorForOptional(ListItemHarness.with({ text: itemText }))();
47
48
  }
48
49
  }
49
- PBreadcrumbHarness.hostSelector = 'p-breadcrumb';
50
50
 
51
51
  class PButtonDirectiveHarness extends ComponentHarness {
52
+ static { this.hostSelector = 'button[pButton]'; }
52
53
  static with(options) {
53
54
  return new HarnessPredicate(PButtonDirectiveHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
54
55
  }
@@ -68,9 +69,9 @@ class PButtonDirectiveHarness extends ComponentHarness {
68
69
  return await (await this.host()).getProperty('disabled');
69
70
  }
70
71
  }
71
- PButtonDirectiveHarness.hostSelector = 'button[pButton]';
72
72
 
73
73
  class PButtonHarness extends ComponentHarness {
74
+ static { this.hostSelector = 'p-button'; }
74
75
  static with(options) {
75
76
  return new HarnessPredicate(PButtonHarness, options)
76
77
  .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
@@ -94,9 +95,9 @@ class PButtonHarness extends ComponentHarness {
94
95
  await (await this.locatorFor('button')()).click();
95
96
  }
96
97
  }
97
- PButtonHarness.hostSelector = 'p-button';
98
98
 
99
99
  class PChartHarness extends ComponentHarness {
100
+ static { this.hostSelector = 'p-chart'; }
100
101
  async getType() {
101
102
  return await (await this.host()).getAttribute('ng-reflect-type');
102
103
  }
@@ -104,9 +105,9 @@ class PChartHarness extends ComponentHarness {
104
105
  return await (await this.host()).getAttribute('ng-reflect-options');
105
106
  }
106
107
  }
107
- PChartHarness.hostSelector = 'p-chart';
108
108
 
109
109
  class DivHarness extends ComponentHarness {
110
+ static { this.hostSelector = 'div'; }
110
111
  static with(options) {
111
112
  return new HarnessPredicate(DivHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
112
113
  }
@@ -131,9 +132,9 @@ class DivHarness extends ComponentHarness {
131
132
  await (await this.host()).click();
132
133
  }
133
134
  }
134
- DivHarness.hostSelector = 'div';
135
135
 
136
136
  class InputHarness extends ComponentHarness {
137
+ static { this.hostSelector = 'input'; }
137
138
  static with(options) {
138
139
  return new HarnessPredicate(InputHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
139
140
  }
@@ -169,13 +170,13 @@ class InputHarness extends ComponentHarness {
169
170
  await (await this.host()).click();
170
171
  }
171
172
  }
172
- InputHarness.hostSelector = 'input';
173
173
 
174
174
  class PCheckboxHarness extends ComponentHarness {
175
175
  constructor() {
176
176
  super(...arguments);
177
177
  this.getCheckBoxDiv = this.locatorForOptional(DivHarness.with({ class: 'p-checkbox-box' }));
178
178
  }
179
+ static { this.hostSelector = 'p-checkbox'; }
179
180
  static with(options) {
180
181
  return new HarnessPredicate(PCheckboxHarness, options).addOption('inputid', options.inputid, (harness, inputid) => HarnessPredicate.stringMatches(harness.getId(), inputid));
181
182
  }
@@ -193,7 +194,6 @@ class PCheckboxHarness extends ComponentHarness {
193
194
  await (await this.getCheckBoxDiv())?.click();
194
195
  }
195
196
  }
196
- PCheckboxHarness.hostSelector = 'p-checkbox';
197
197
 
198
198
  class PDialogHarness extends ContentContainerComponentHarness {
199
199
  constructor() {
@@ -201,6 +201,7 @@ class PDialogHarness extends ContentContainerComponentHarness {
201
201
  this.getHeader = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-header' }));
202
202
  this.getFooter = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-footer' }));
203
203
  }
204
+ static { this.hostSelector = 'p-dialog'; }
204
205
  async getDialogTitle() {
205
206
  return await (await this.getHeader())?.getText();
206
207
  }
@@ -216,9 +217,9 @@ class PDialogHarness extends ContentContainerComponentHarness {
216
217
  return (await (await this.host()).getAttribute('ng-reflect-visible')) === 'true' ? true : false;
217
218
  }
218
219
  }
219
- PDialogHarness.hostSelector = 'p-dialog';
220
220
 
221
221
  class PDropdownHarness extends ContentContainerComponentHarness {
222
+ static { this.hostSelector = 'p-dropdown'; }
222
223
  static with(options) {
223
224
  return new HarnessPredicate(PDropdownHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
224
225
  }
@@ -275,9 +276,9 @@ class PDropdownHarness extends ContentContainerComponentHarness {
275
276
  }
276
277
  }
277
278
  }
278
- PDropdownHarness.hostSelector = 'p-dropdown';
279
279
 
280
280
  class SpanHarness extends ComponentHarness {
281
+ static { this.hostSelector = 'span'; }
281
282
  static with(options) {
282
283
  return new HarnessPredicate(SpanHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
283
284
  }
@@ -291,7 +292,6 @@ class SpanHarness extends ComponentHarness {
291
292
  return await (await this.host()).text();
292
293
  }
293
294
  }
294
- SpanHarness.hostSelector = 'span';
295
295
 
296
296
  class PMenuItemHarness extends ComponentHarness {
297
297
  constructor() {
@@ -300,6 +300,7 @@ class PMenuItemHarness extends ComponentHarness {
300
300
  this.getChildren = this.locatorForAll(PMenuItemHarness);
301
301
  this.getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-menuitem-icon' }));
302
302
  }
303
+ static { this.hostSelector = 'li.p-menuitem'; }
303
304
  async getText() {
304
305
  return await (await this.getAnchor()).text();
305
306
  }
@@ -314,9 +315,9 @@ class PMenuItemHarness extends ComponentHarness {
314
315
  return await (await this.getAnchor()).getAttribute('href');
315
316
  }
316
317
  }
317
- PMenuItemHarness.hostSelector = 'li.p-menuitem';
318
318
 
319
319
  class MenuItemHarness extends ComponentHarness {
320
+ static { this.hostSelector = 'li>div>a'; }
320
321
  static with(options) {
321
322
  return new HarnessPredicate(MenuItemHarness, options).addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
322
323
  }
@@ -330,9 +331,9 @@ class MenuItemHarness extends ComponentHarness {
330
331
  return await (await this.host()).getAttribute('href');
331
332
  }
332
333
  }
333
- MenuItemHarness.hostSelector = 'li > a';
334
334
 
335
335
  class PMenuHarness extends ContentContainerComponentHarness {
336
+ static { this.hostSelector = 'p-menu'; }
336
337
  async getHarnessLoaderForPMenuOverlay() {
337
338
  return this.documentRootLocatorFactory().harnessLoaderForOptional('.p-menu-overlay');
338
339
  }
@@ -358,17 +359,17 @@ class PMenuHarness extends ContentContainerComponentHarness {
358
359
  return undefined;
359
360
  }
360
361
  }
361
- PMenuHarness.hostSelector = 'p-menu';
362
362
 
363
363
  class PMenuBarHarness extends ComponentHarness {
364
364
  constructor() {
365
365
  super(...arguments);
366
366
  this.getAllMenuItems = this.locatorForAll(PMenuItemHarness);
367
367
  }
368
+ static { this.hostSelector = 'p-menubar'; }
368
369
  }
369
- PMenuBarHarness.hostSelector = 'p-menubar';
370
370
 
371
371
  class PMultiSelectListItemHarness extends ComponentHarness {
372
+ static { this.hostSelector = 'li'; }
372
373
  async getTestElement() {
373
374
  return await this.host();
374
375
  }
@@ -379,9 +380,9 @@ class PMultiSelectListItemHarness extends ComponentHarness {
379
380
  return await (await this.host()).text();
380
381
  }
381
382
  }
382
- PMultiSelectListItemHarness.hostSelector = 'li';
383
383
 
384
384
  class PMultiSelectHarness extends ComponentHarness {
385
+ static { this.hostSelector = 'p-multiselect'; }
385
386
  static with(options) {
386
387
  return new HarnessPredicate(PMultiSelectHarness, options)
387
388
  .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
@@ -404,7 +405,14 @@ class PMultiSelectHarness extends ComponentHarness {
404
405
  return await (await this.getHarnessLoaderForPMultiSelectPanel()).getAllHarnesses(PMultiSelectListItemHarness);
405
406
  }
406
407
  async isOpen() {
407
- return await (await this.locatorFor('div')()).hasClass('p-multiselect-open');
408
+ try {
409
+ await this.getHarnessLoaderForPMultiSelectPanel();
410
+ return true;
411
+ }
412
+ catch (error) {
413
+ console.error(error);
414
+ return false;
415
+ }
408
416
  }
409
417
  async open() {
410
418
  if (!(await this.isOpen())) {
@@ -423,7 +431,9 @@ class PMultiSelectHarness extends ComponentHarness {
423
431
  }
424
432
  }
425
433
  async isHighlighted(PMultiSelectListItem) {
426
- return await (await PMultiSelectListItem.getTestElement()).hasClass('p-highlight');
434
+ return (await (await PMultiSelectListItem.getTestElement()).getAttribute('data-p-highlight')) === 'true'
435
+ ? true
436
+ : false;
427
437
  }
428
438
  async getSelectedOptions() {
429
439
  const allOptions = await this.getAllOptions();
@@ -437,7 +447,6 @@ class PMultiSelectHarness extends ComponentHarness {
437
447
  return selectedOptions;
438
448
  }
439
449
  }
440
- PMultiSelectHarness.hostSelector = 'p-multiSelect';
441
450
 
442
451
  class PanelMenuItemHarness extends ComponentHarness {
443
452
  constructor() {
@@ -446,6 +455,7 @@ class PanelMenuItemHarness extends ComponentHarness {
446
455
  this.getChildren = this.locatorForAll(PMenuItemHarness);
447
456
  this.getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-menuitem-icon' }));
448
457
  }
458
+ static { this.hostSelector = 'div.p-panelmenu-panel'; }
449
459
  async getText() {
450
460
  return await (await this.getAnchor()).text();
451
461
  }
@@ -460,17 +470,17 @@ class PanelMenuItemHarness extends ComponentHarness {
460
470
  return await (await this.getAnchor()).getAttribute('href');
461
471
  }
462
472
  }
463
- PanelMenuItemHarness.hostSelector = 'div.p-panelmenu-panel';
464
473
 
465
474
  class PPanelMenuHarness extends ComponentHarness {
466
475
  constructor() {
467
476
  super(...arguments);
468
477
  this.getAllPanels = this.locatorForAll(PanelMenuItemHarness);
469
478
  }
479
+ static { this.hostSelector = 'p-panelmenu'; }
470
480
  }
471
- PPanelMenuHarness.hostSelector = 'p-panelmenu';
472
481
 
473
482
  class ButtonHarness extends ComponentHarness {
483
+ static { this.hostSelector = 'button'; }
474
484
  static with(options) {
475
485
  return new HarnessPredicate(ButtonHarness, options)
476
486
  .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
@@ -498,7 +508,6 @@ class ButtonHarness extends ComponentHarness {
498
508
  return await (await this.host()).getProperty('disabled');
499
509
  }
500
510
  }
501
- ButtonHarness.hostSelector = 'button';
502
511
 
503
512
  class PPaginatorHarness extends ContentContainerComponentHarness {
504
513
  constructor() {
@@ -507,6 +516,7 @@ class PPaginatorHarness extends ContentContainerComponentHarness {
507
516
  this.getRowsPerPageOptions = this.locatorFor(PDropdownHarness);
508
517
  this.getNextPageButton = this.locatorFor(ButtonHarness.with({ class: 'p-paginator-next' }));
509
518
  }
519
+ static { this.hostSelector = 'p-paginator'; }
510
520
  async getCurrentPageReportText() {
511
521
  return await (await this.getCurrentPageReport()).getText();
512
522
  }
@@ -515,13 +525,13 @@ class PPaginatorHarness extends ContentContainerComponentHarness {
515
525
  (await this.getNextPageButton()).click();
516
526
  }
517
527
  }
518
- PPaginatorHarness.hostSelector = 'p-paginator';
519
528
 
520
529
  class PPasswordHarness extends ComponentHarness {
521
530
  constructor() {
522
531
  super(...arguments);
523
532
  this.getInput = this.locatorFor(InputHarness);
524
533
  }
534
+ static { this.hostSelector = 'p-password'; }
525
535
  static with(options) {
526
536
  return new HarnessPredicate(PPasswordHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
527
537
  }
@@ -547,13 +557,13 @@ class PPasswordHarness extends ComponentHarness {
547
557
  return await (await this.getInput()).setValue(value);
548
558
  }
549
559
  }
550
- PPasswordHarness.hostSelector = 'p-password';
551
560
 
552
561
  class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {
553
562
  constructor() {
554
563
  super(...arguments);
555
564
  this.getButtons = this.locatorForAll(ButtonHarness);
556
565
  }
566
+ static { this.hostSelector = '.p-picklist-buttons'; }
557
567
  static with(options) {
558
568
  return new HarnessPredicate(PPicklistControlsButtonsHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
559
569
  }
@@ -561,13 +571,13 @@ class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {
561
571
  return (await (await this.host()).hasClass(c)) ? c : '';
562
572
  }
563
573
  }
564
- PPicklistControlsButtonsHarness.hostSelector = '.p-picklist-buttons';
565
574
  class PPicklistListWrapperHarness extends ContentContainerComponentHarness {
566
575
  constructor() {
567
576
  super(...arguments);
568
577
  this.getHeader = this.locatorFor(DivHarness.with({ class: 'p-picklist-header' }));
569
578
  this.getAllListItems = this.locatorForAll(ListItemHarness);
570
579
  }
580
+ static { this.hostSelector = '.p-picklist-list-wrapper'; }
571
581
  static with(options) {
572
582
  return new HarnessPredicate(PPicklistListWrapperHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
573
583
  }
@@ -575,7 +585,6 @@ class PPicklistListWrapperHarness extends ContentContainerComponentHarness {
575
585
  return (await (await this.host()).hasClass(c)) ? c : '';
576
586
  }
577
587
  }
578
- PPicklistListWrapperHarness.hostSelector = '.p-picklist-list-wrapper';
579
588
  class PPicklistHarness extends ContentContainerComponentHarness {
580
589
  constructor() {
581
590
  super(...arguments);
@@ -585,6 +594,7 @@ class PPicklistHarness extends ContentContainerComponentHarness {
585
594
  this.getPicklistSource = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-source-wrapper' }));
586
595
  this.getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-wrapper' }));
587
596
  }
597
+ static { this.hostSelector = 'p-picklist'; }
588
598
  async getSourceControlsButtons() {
589
599
  return await (await this.getPicklistSourceControls()).getButtons();
590
600
  }
@@ -607,15 +617,14 @@ class PPicklistHarness extends ContentContainerComponentHarness {
607
617
  return await (await this.getPicklistTarget()).getAllListItems();
608
618
  }
609
619
  }
610
- PPicklistHarness.hostSelector = 'p-picklist';
611
620
 
612
621
  class PSelectButtonHarness extends ContentContainerComponentHarness {
613
622
  constructor() {
614
623
  super(...arguments);
615
624
  this.getAllButtons = this.locatorForAll('div > div');
616
625
  }
626
+ static { this.hostSelector = 'p-selectbutton'; }
617
627
  }
618
- PSelectButtonHarness.hostSelector = 'p-selectbutton';
619
628
 
620
629
  class MenuItemWithIconHarness extends MenuItemHarness {
621
630
  async hasIcon(icon) {
@@ -625,13 +634,14 @@ class MenuItemWithIconHarness extends MenuItemHarness {
625
634
  }
626
635
 
627
636
  class PTableCheckboxHarness extends ComponentHarness {
637
+ static { this.hostSelector = 'p-tablecheckbox'; }
628
638
  static with(options = {}) {
629
639
  return new HarnessPredicate(this, options).addOption('isSelected', options.isSelected, async (harness, selected) => {
630
640
  return (await harness.isChecked()) === selected;
631
641
  });
632
642
  }
633
643
  async isChecked() {
634
- const allChecked = await this.locatorForAll('.pi-check')();
644
+ const allChecked = await this.locatorForAll('checkicon')();
635
645
  return allChecked.length === 1;
636
646
  }
637
647
  async checkBox() {
@@ -639,9 +649,9 @@ class PTableCheckboxHarness extends ComponentHarness {
639
649
  return checkBoxElement.click();
640
650
  }
641
651
  }
642
- PTableCheckboxHarness.hostSelector = 'p-tableCheckbox';
643
652
 
644
653
  class PHarness extends ComponentHarness {
654
+ static { this.hostSelector = 'p'; }
645
655
  static with(options) {
646
656
  return new HarnessPredicate(PHarness, options)
647
657
  .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))
@@ -668,7 +678,6 @@ class PHarness extends ComponentHarness {
668
678
  return [];
669
679
  }
670
680
  }
671
- PHarness.hostSelector = 'p';
672
681
 
673
682
  class TableHeaderColumnHarness extends ContentContainerComponentHarness {
674
683
  constructor() {
@@ -680,11 +689,11 @@ class TableHeaderColumnHarness extends ContentContainerComponentHarness {
680
689
  class: 'filterMultiSelect',
681
690
  }));
682
691
  }
692
+ static { this.hostSelector = 'th'; }
683
693
  async getText() {
684
694
  return (await this.host()).text();
685
695
  }
686
696
  }
687
- TableHeaderColumnHarness.hostSelector = 'th';
688
697
 
689
698
  class TableRowHarness extends ContentContainerComponentHarness {
690
699
  constructor() {
@@ -694,6 +703,7 @@ class TableRowHarness extends ContentContainerComponentHarness {
694
703
  this.getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editTableRowButton' }));
695
704
  this.getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteTableRowButton' }));
696
705
  }
706
+ static { this.hostSelector = 'tbody > tr'; }
697
707
  async getData() {
698
708
  const tds = await this.locatorForAll('td')();
699
709
  const isActionsTd = await Promise.all(tds.map((t) => t.hasClass('actions')));
@@ -701,7 +711,6 @@ class TableRowHarness extends ContentContainerComponentHarness {
701
711
  return Promise.all(textTds.map((t) => t.text()));
702
712
  }
703
713
  }
704
- TableRowHarness.hostSelector = 'tbody > tr';
705
714
 
706
715
  /**
707
716
  * Generated bundle index. Do not edit.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onecx-angular-testing.mjs","sources":["../../../../libs/angular-testing/src/lib/harnesses/primeng/p-accordion-tab.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-accordion.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/list-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-breadcrumb.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-button-directive.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-button.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-chart.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/div.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/input.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-checkbox.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-dialog.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-dropdown.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/span.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-menu-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/menu-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-menu.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-menubar.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-multiSelectListItem.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-multiSelect.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-panelmenu-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-panelmenu.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/button.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-paginator.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-password.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-picklist.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-selectButton.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/menu-item-with-icon.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/p-tableCheckbox.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/p.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/table-header-column.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/table-row.harness.ts","../../../../libs/angular-testing/src/onecx-angular-testing.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class PAccordionTabHarness extends ComponentHarness {\n static hostSelector = 'p-accordiontab'\n\n getButton = this.locatorFor('a.p-accordion-header-link')\n\n async expand() {\n await (await this.getButton()).click()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PAccordionTabHarness } from './p-accordion-tab.harness'\n\nexport class PAccordionHarness extends ComponentHarness {\n static hostSelector = 'p-accordion'\n\n getAllAccordionTabs = this.locatorForAll(PAccordionTabHarness)\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface ListItemHarnessFilters extends BaseHarnessFilters {\n text?: string\n}\n\nexport class ListItemHarness extends ComponentHarness {\n static hostSelector = 'li'\n\n static with(options: ListItemHarnessFilters): HarnessPredicate<ListItemHarness> {\n return new HarnessPredicate(ListItemHarness, options).addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text)\n )\n }\n\n async getText() {\n return await (await this.host()).text()\n }\n\n async isSelected(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-selected')) === 'true' ? true : false\n }\n\n async selectItem() {\n await (await this.host()).click()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { ListItemHarness } from '../list-item.harness'\n\nexport class PBreadcrumbHarness extends ComponentHarness {\n static hostSelector = 'p-breadcrumb'\n\n getBreadcrumbItems = this.locatorForAll(ListItemHarness)\n\n async getBreadcrumbItem(itemText: string): Promise<ListItemHarness | null> {\n return await this.locatorForOptional(ListItemHarness.with({ text: itemText }))()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PButtonDirectiveHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PButtonDirectiveHarness extends ComponentHarness {\n static hostSelector = 'button[pButton]'\n\n static with(options: PButtonDirectiveHarnessFilters): HarnessPredicate<PButtonDirectiveHarness> {\n return new HarnessPredicate(PButtonDirectiveHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async click() {\n await (await this.host()).click()\n }\n\n async getLabel(): Promise<string | null> {\n return await (await this.host()).text()\n }\n\n async getIcon(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-icon')\n }\n\n async getDisabled(): Promise<boolean> {\n return await (await this.host()).getProperty('disabled')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PButtonHarnessFilters extends BaseHarnessFilters {\n id?: string\n name?: string\n label?: string\n icon?: string\n}\n\nexport class PButtonHarness extends ComponentHarness {\n static hostSelector = 'p-button'\n\n static with(options: PButtonHarnessFilters): HarnessPredicate<PButtonHarness> {\n return new HarnessPredicate(PButtonHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('name', options.name, (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n .addOption('label', options.label, (harness, label) => HarnessPredicate.stringMatches(harness.getLabel(), label))\n .addOption('icon', options.icon, (harness, icon) => HarnessPredicate.stringMatches(harness.getIcon(), icon))\n }\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getName(): Promise<string | null> {\n return await (await this.host()).getAttribute('name')\n }\n\n async getLabel(): Promise<string | null> {\n return await (await this.host()).text()\n }\n\n async getIcon(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-icon')\n }\n\n async click() {\n await (await this.locatorFor('button')()).click()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class PChartHarness extends ComponentHarness {\n static hostSelector = 'p-chart'\n\n async getType(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-type')\n }\n async getOptions(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-options')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface DivHarnessFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class DivHarness extends ComponentHarness {\n static hostSelector = 'div'\n\n static with(options: DivHarnessFilters): HarnessPredicate<DivHarness> {\n return new HarnessPredicate(DivHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n\n async getClassList() {\n const host = await this.host()\n const attributeString = await host.getAttribute('class')\n if (attributeString) {\n return attributeString.trim().split(' ')\n }\n return []\n }\n\n async click(): Promise<void> {\n await (await this.host()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate, TestElement } from '@angular/cdk/testing'\n\nexport interface InputHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class InputHarness extends ComponentHarness {\n static hostSelector = 'input'\n\n static with(options: InputHarnessFilters): HarnessPredicate<InputHarness> {\n return new HarnessPredicate(InputHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getValue(): Promise<string | null> {\n return await (await this.host()).getProperty<string>('value')\n }\n async getChecked(): Promise<boolean> {\n return await (await this.host()).getProperty<boolean>('checked')\n }\n\n async setValue(value: string | Date): Promise<void> {\n if (value instanceof Date) {\n await (\n await this.host()\n ).setInputValue(\n `${value.toLocaleDateString([], {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n })} ${value.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}`\n )\n } else {\n await (await this.host()).clear()\n if (value) {\n await (await this.host()).sendKeys(value)\n }\n await (await this.host()).setInputValue(value)\n }\n }\n\n async getTestElement(): Promise<TestElement> {\n return await this.host()\n }\n\n async click() {\n await (await this.host()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { DivHarness } from '../div.harness'\nimport { InputHarness } from '../input.harness'\n\nexport interface PCheckBoxHarnessFilters extends BaseHarnessFilters {\n inputid?: string\n}\nexport class PCheckboxHarness extends ComponentHarness {\n static hostSelector = 'p-checkbox'\n\n getCheckBoxDiv = this.locatorForOptional(DivHarness.with({ class: 'p-checkbox-box' }))\n\n static with(options: PCheckBoxHarnessFilters): HarnessPredicate<PCheckboxHarness> {\n return new HarnessPredicate(PCheckboxHarness, options).addOption('inputid', options.inputid, (harness, inputid) =>\n HarnessPredicate.stringMatches(harness.getId(), inputid)\n )\n }\n\n async isChecked(): Promise<boolean> {\n return (await this.locatorFor(InputHarness)()).getChecked()\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('inputId')\n }\n\n async isHidden(): Promise<boolean> {\n const attr = await (await this.host()).getAttribute('hidden')\n return Boolean(attr)\n }\n\n async click(): Promise<void> {\n await (await this.getCheckBoxDiv())?.click()\n }\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, TestKey } from '@angular/cdk/testing'\nimport { DivHarness } from '../div.harness'\n\nexport interface PDialogHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PDialogHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-dialog'\n\n getHeader = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-header' }))\n getFooter = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-footer' }))\n\n async getDialogTitle(): Promise<string | undefined> {\n return await (await this.getHeader())?.getText()\n }\n\n async close() {\n if (await this.isVisible()) {\n await (await this.host()).sendKeys(TestKey.ESCAPE)\n } else {\n console.warn('Unable to close CustomGroupColumnSelectionDialog, because it is not open.')\n }\n }\n\n async isVisible(): Promise<boolean> {\n return (await (await this.host()).getAttribute('ng-reflect-visible')) === 'true' ? true : false\n }\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { ListItemHarness } from '../list-item.harness'\n\nexport interface PDropdownHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PDropdownHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-dropdown'\n\n static with(options: PDropdownHarnessFilters): HarnessPredicate<PDropdownHarness> {\n return new HarnessPredicate(PDropdownHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getDefaultText() {\n return (await this.locatorForOptional('span.p-placeholder')())?.text()\n }\n\n async isOpen(): Promise<boolean> {\n return (await this.locatorFor('div')()).hasClass('p-dropdown-open')\n }\n\n async open() {\n if (!(await this.isOpen())) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to open dropdown, because it is already open.')\n }\n }\n\n async close() {\n if (await this.isOpen()) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to close dropdown, because it is not open.')\n }\n }\n\n async getDropdownItems() {\n await this.open()\n const rootLocator = this.documentRootLocatorFactory()\n const items = await rootLocator.harnessLoaderFor('.p-dropdown-items')\n return await items.getAllHarnesses(ListItemHarness)\n }\n\n async getDropdownItem(itemText: string): Promise<ListItemHarness | null> {\n return await this.locatorForOptional(ListItemHarness.with({ text: itemText }))()\n }\n\n async selectedDropdownItem(position: number) {\n const selectedColumnGroup = await Promise.all(\n (await this.getDropdownItems()).filter((listItem) => listItem.isSelected())\n )\n return selectedColumnGroup[position]\n }\n\n async selectedDropdownItemText(position: number) {\n return (await this.selectedDropdownItem(position)).getText()\n }\n\n async hasClearOption() {\n return (await this.locatorFor('div')()).hasClass('p-dropdown-clearable')\n }\n\n async clear() {\n if (await this.hasClearOption()) {\n return await (await this.locatorFor('.p-dropdown-clear-icon')()).click()\n } else {\n console.warn('Unable to clear dropdown, because it has no clear option')\n }\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface SpanHarnessFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class SpanHarness extends ComponentHarness {\n static hostSelector = 'span'\n\n static with(options: SpanHarnessFilters): HarnessPredicate<SpanHarness> {\n return new HarnessPredicate(SpanHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n}","import { ComponentHarness } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\n\nexport class PMenuItemHarness extends ComponentHarness {\n static hostSelector = 'li.p-menuitem'\n\n getAnchor = this.locatorFor('a')\n getChildren = this.locatorForAll(PMenuItemHarness)\n getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-menuitem-icon' }))\n\n async getText(): Promise<string> {\n return await (await this.getAnchor()).text()\n }\n\n async hasIcon(icon: string): Promise<boolean | undefined> {\n const classList = await (await (await this.getIconSpan())?.host())?.getAttribute('class')\n return classList?.includes(icon)\n }\n\n async click() {\n return await (await this.getAnchor()).click()\n }\n\n async getLink(): Promise<string | null> {\n return await (await this.getAnchor()).getAttribute('href')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface MenuItemHarnessFilters extends BaseHarnessFilters {\n text?: string\n}\n\nexport class MenuItemHarness extends ComponentHarness {\n static hostSelector = 'li>div>a'\n\n static with(options: MenuItemHarnessFilters): HarnessPredicate<MenuItemHarness> {\n return new HarnessPredicate(MenuItemHarness, options).addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text)\n )\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n\n async selectItem() {\n await (await this.host()).click()\n }\n\n async getLink(): Promise<string | null> {\n return await (await this.host()).getAttribute('href')\n }\n}\n","import { ContentContainerComponentHarness, HarnessLoader } from '@angular/cdk/testing'\nimport { MenuItemHarness } from '../menu-item.harness'\n\nexport class PMenuHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-menu'\n\n async getHarnessLoaderForPMenuOverlay(): Promise<HarnessLoader | null> {\n return this.documentRootLocatorFactory().harnessLoaderForOptional('.p-menu-overlay')\n }\n\n async isOpen(): Promise<boolean> {\n return !!(await this.getHarnessLoaderForPMenuOverlay())\n }\n\n async getAllMenuItems(): Promise<MenuItemHarness[] | undefined> {\n if (await this.isOpen()) {\n return await (await this.getHarnessLoaderForPMenuOverlay())?.getAllHarnesses(MenuItemHarness)\n } else {\n console.warn('Cannot get menu items because menu is closed.')\n }\n return []\n }\n\n async getMenuItem(itemText: string): Promise<MenuItemHarness | undefined | null> {\n if (await this.isOpen()) {\n return await (\n await this.getHarnessLoaderForPMenuOverlay()\n )?.getHarnessOrNull(MenuItemHarness.with({ text: itemText }))\n } else {\n console.warn('Cannot get menu items because menu is closed.')\n }\n return undefined\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PMenuItemHarness } from './p-menu-item.harness'\n\nexport class PMenuBarHarness extends ComponentHarness {\n static hostSelector = 'p-menubar'\n\n getAllMenuItems = this.locatorForAll(PMenuItemHarness)\n}\n","import { ComponentHarness, TestElement } from '@angular/cdk/testing'\n\nexport class PMultiSelectListItemHarness extends ComponentHarness {\n static hostSelector = 'li'\n\n async getTestElement(): Promise<TestElement> {\n return await this.host()\n }\n\n async click(): Promise<void> {\n await (await this.host()).click()\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessLoader, HarnessPredicate } from '@angular/cdk/testing'\nimport { PMultiSelectListItemHarness } from './p-multiSelectListItem.harness'\n\nexport interface PMultiSelectHarnessFilters extends BaseHarnessFilters {\n id?: string\n class?: string\n}\n\nexport class PMultiSelectHarness extends ComponentHarness {\n static hostSelector = 'p-multiselect'\n\n static with(options: PMultiSelectHarnessFilters): HarnessPredicate<PMultiSelectHarness> {\n return new HarnessPredicate(PMultiSelectHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getByClass(c: string): Promise<string | null> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async getHarnessLoaderForPMultiSelectPanel(): Promise<HarnessLoader> {\n const rootLocator = this.documentRootLocatorFactory()\n return rootLocator.harnessLoaderFor('.p-multiselect-panel')\n }\n\n async getAllOptions(): Promise<PMultiSelectListItemHarness[]> {\n if (!(await this.isOpen())) {\n await this.open()\n }\n return await (await this.getHarnessLoaderForPMultiSelectPanel()).getAllHarnesses(PMultiSelectListItemHarness)\n }\n\n async isOpen(): Promise<boolean> {\n try {\n await this.getHarnessLoaderForPMultiSelectPanel()\n return true\n } catch (error) {\n console.error(error)\n return false\n }\n }\n\n async open() {\n if (!(await this.isOpen())) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to open multiSelect, because it is already open.')\n }\n }\n\n async close() {\n if (await this.isOpen()) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to close multiSelect, because it is not open.')\n }\n }\n\n async isHighlighted(PMultiSelectListItem: PMultiSelectListItemHarness): Promise<boolean> {\n return (await (await PMultiSelectListItem.getTestElement()).getAttribute('data-p-highlight')) === 'true'\n ? true\n : false\n }\n\n async getSelectedOptions(): Promise<string[] | null> {\n const allOptions = await this.getAllOptions()\n const selectedOptions: string[] = []\n for (let index = 0; index < allOptions.length; index++) {\n const option = allOptions[index]\n if (await this.isHighlighted(option)) {\n selectedOptions.push(await option.getText())\n }\n }\n return selectedOptions\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\nimport { PMenuItemHarness } from './p-menu-item.harness'\n\nexport class PanelMenuItemHarness extends ComponentHarness {\n static hostSelector = 'div.p-panelmenu-panel'\n\n getAnchor = this.locatorFor('a')\n getChildren = this.locatorForAll(PMenuItemHarness)\n getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-menuitem-icon' }))\n\n async getText(): Promise<string> {\n return await (await this.getAnchor()).text()\n }\n\n async hasIcon(icon: string): Promise<boolean | undefined> {\n const classList = await (await (await this.getIconSpan())?.host())?.getAttribute('class')\n return classList?.includes(icon)\n }\n\n async click() {\n await (await this.getAnchor()).click()\n }\n\n async getLink(): Promise<string | null> {\n return await (await this.getAnchor()).getAttribute('href')\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PanelMenuItemHarness } from './p-panelmenu-item.harness'\n\nexport class PPanelMenuHarness extends ComponentHarness {\n static hostSelector = 'p-panelmenu'\n\n getAllPanels = this.locatorForAll(PanelMenuItemHarness)\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface ButtonHarnessFilters extends BaseHarnessFilters {\n id?: string\n icon?: string\n class?: string\n}\n\nexport class ButtonHarness extends ComponentHarness {\n static hostSelector = 'button'\n\n static with(options: ButtonHarnessFilters): HarnessPredicate<ButtonHarness> {\n return new HarnessPredicate(ButtonHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('icon', options.icon, (harness, icon) => HarnessPredicate.stringMatches(harness.getIcon(), icon))\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n async getIcon(): Promise<string | null> {\n return await (await this.host()).getAttribute('icon')\n }\n async getByClass(c: string): Promise<string | null> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async click() {\n if (!(await this.isDisabled())) {\n await (await this.host()).click()\n } else {\n console.warn('Button cannot be clicked, because it is disabled!')\n }\n }\n\n async isDisabled(): Promise<boolean> {\n return await (await this.host()).getProperty('disabled')\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\nimport { PDropdownHarness } from './p-dropdown.harness'\nimport { ButtonHarness } from '../button.harness'\n\nexport class PPaginatorHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-paginator'\n getCurrentPageReport = this.locatorFor(SpanHarness.with({ class: 'p-paginator-current' }))\n getRowsPerPageOptions = this.locatorFor(PDropdownHarness)\n getNextPageButton = this.locatorFor(ButtonHarness.with({ class: 'p-paginator-next' }))\n\n async getCurrentPageReportText(): Promise<string | undefined> {\n return await (await this.getCurrentPageReport()).getText()\n }\n\n async clickNextPage() {\n ;(await this.getNextPageButton()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { InputHarness } from '../input.harness'\n\nexport interface PPasswordHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PPasswordHarness extends ComponentHarness {\n static hostSelector = 'p-password'\n\n getInput = this.locatorFor(InputHarness)\n\n static with(options: PPasswordHarnessFilters): HarnessPredicate<PPasswordHarness> {\n return new HarnessPredicate(PPasswordHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getPromptLabel(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-prompt-label')\n }\n\n async getWeakLabel(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-weak-label')\n }\n\n async getMediumLabel(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-medium-label')\n }\n\n async getStrongLabel(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-strong-label')\n }\n\n async getValue(): Promise<string | null> {\n return await (await this.getInput()).getValue()\n }\n\n async setValue(value: string) {\n return await (await this.getInput()).setValue(value)\n }\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { ButtonHarness } from '../button.harness'\nimport { DivHarness } from '../div.harness'\nimport { ListItemHarness } from '../list-item.harness'\n\nexport interface PPicklistControlsButtonsFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport interface PPicklistListWrapperFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {\n static hostSelector = '.p-picklist-buttons'\n\n getButtons = this.locatorForAll(ButtonHarness)\n\n static with(options: PPicklistControlsButtonsFilters): HarnessPredicate<PPicklistControlsButtonsHarness> {\n return new HarnessPredicate(PPicklistControlsButtonsHarness, options).addOption(\n 'class',\n options.class,\n (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string) {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n}\n\nexport class PPicklistListWrapperHarness extends ContentContainerComponentHarness {\n static hostSelector = '.p-picklist-list-wrapper'\n\n getHeader = this.locatorFor(DivHarness.with({ class: 'p-picklist-header' }))\n getAllListItems = this.locatorForAll(ListItemHarness)\n\n static with(options: PPicklistListWrapperFilters): HarnessPredicate<PPicklistListWrapperHarness> {\n return new HarnessPredicate(PPicklistListWrapperHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string) {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n}\n\nexport class PPicklistHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-picklist'\n\n private getPicklistSourceControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-source-controls' })\n )\n private getPicklistTransferControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-transfer-buttons' })\n )\n private getPicklistTargetControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-target-controls' })\n )\n\n private getPicklistSource = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-source-wrapper' }))\n private getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-wrapper' }))\n\n async getSourceControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistSourceControls()).getButtons()\n }\n\n async getTransferControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistTransferControls()).getButtons()\n }\n\n async getTargetControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistTargetControls()).getButtons()\n }\n\n async getSourceHeader(): Promise<string> {\n return await (await (await this.getPicklistSource()).getHeader()).getText()\n }\n\n async getTargetHeader(): Promise<string> {\n return await (await (await this.getPicklistTarget()).getHeader()).getText()\n }\n\n async getSourceListItems(): Promise<ListItemHarness[]> {\n return await (await this.getPicklistSource()).getAllListItems()\n }\n\n async getTargetListItems(): Promise<ListItemHarness[]> {\n return await (await this.getPicklistTarget()).getAllListItems()\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\n\nexport class PSelectButtonHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-selectbutton'\n\n getAllButtons = this.locatorForAll('div > div')\n}\n","import { MenuItemHarness } from './menu-item.harness'\n\nexport class MenuItemWithIconHarness extends MenuItemHarness {\n async hasIcon(icon: string): Promise<boolean | undefined> {\n const classList = await (await this.locatorForOptional('i')())?.getAttribute('class')\n return classList?.includes(icon)\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PTableCheckboxHarnessFilter extends BaseHarnessFilters {\n isSelected?: boolean\n}\n\nexport class PTableCheckboxHarness extends ComponentHarness {\n static hostSelector = 'p-tablecheckbox'\n\n static with<T extends PTableCheckboxHarness>(this: ComponentHarnessConstructor<T>, options: PTableCheckboxHarnessFilter = {}): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption('isSelected', options.isSelected, async (harness, selected) => {\n return (await harness.isChecked()) === selected\n })\n }\n\n async isChecked(): Promise<boolean> {\n const allChecked = await this.locatorForAll('checkicon')()\n return allChecked.length === 1\n }\n\n async checkBox(): Promise<void> {\n const checkBoxElement = await this.locatorFor('.p-checkbox-box')()\n return checkBoxElement.click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PHarnessFilters extends BaseHarnessFilters {\n class?: string\n id?: string\n}\n\nexport class PHarness extends ComponentHarness {\n static hostSelector = 'p'\n\n static with(options: PHarnessFilters): HarnessPredicate<PHarness> {\n return new HarnessPredicate(PHarness, options)\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.hasId(id), id))\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async hasId(id: string): Promise<string> {\n return (await (await this.host()).matchesSelector('#' + id)) ? id : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n\n async getClassList() {\n const host = await this.host()\n const attributeString = await host.getAttribute('class')\n if (attributeString) {\n return attributeString.trim().split(' ')\n }\n return []\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness } from './button.harness'\nimport { PMultiSelectHarness } from './primeng/p-multiSelect.harness'\n\nexport class TableHeaderColumnHarness extends ContentContainerComponentHarness {\n static hostSelector = 'th'\n\n getSortButton = this.locatorFor(\n ButtonHarness.with({\n class: 'sortButton',\n })\n )\n\n getFilterMultiSelect = this.locatorFor(\n PMultiSelectHarness.with({\n class: 'filterMultiSelect',\n })\n )\n\n async getText(): Promise<string> {\n return (await this.host()).text()\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness } from './button.harness'\n\nexport class TableRowHarness extends ContentContainerComponentHarness {\n static hostSelector = 'tbody > tr'\n\n getAllActionButtons = this.locatorForAll('button')\n getViewButton = this.locatorForOptional(ButtonHarness.with({ class: 'viewTableRowButton' }))\n getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editTableRowButton' }))\n getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteTableRowButton' }))\n\n async getData(): Promise<string[]> {\n const tds = await this.locatorForAll('td')()\n const isActionsTd = await Promise.all(tds.map((t) => t.hasClass('actions')))\n const textTds = tds.filter((_v, index) => !isActionsTd[index])\n return Promise.all(textTds.map((t) => t.text()))\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAEM,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAA1D,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAA;KAKzD;aAPQ,IAAY,CAAA,YAAA,GAAG,gBAAH,CAAmB,EAAA;AAItC,IAAA,MAAM,MAAM,GAAA;QACV,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAA;KACvC;;;ACNG,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AAAvD,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;KAC/D;aAHQ,IAAY,CAAA,YAAA,GAAG,aAAH,CAAgB,EAAA;;;ACE/B,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;aAC5C,IAAY,CAAA,YAAA,GAAG,IAAI,CAAA,EAAA;IAE1B,OAAO,IAAI,CAAC,OAA+B,EAAA;AACzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAClG,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CACxD,CAAA;KACF;AAED,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACxC;AAED,IAAA,MAAM,UAAU,GAAA;QACd,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,KAAK,CAAA;KAC3F;AAED,IAAA,MAAM,UAAU,GAAA;QACd,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;KAClC;;;ACtBG,MAAO,kBAAmB,SAAQ,gBAAgB,CAAA;AAAxD,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;KAKzD;aAPQ,IAAY,CAAA,YAAA,GAAG,cAAH,CAAiB,EAAA;IAIpC,MAAM,iBAAiB,CAAC,QAAgB,EAAA;AACtC,QAAA,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;KACjF;;;ACJG,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;aACpD,IAAY,CAAA,YAAA,GAAG,iBAAiB,CAAA,EAAA;IAEvC,OAAO,IAAI,CAAC,OAAuC,EAAA;AACjD,QAAA,OAAO,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KACpG,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CACpD,CAAA;KACF;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;KACpD;AAED,IAAA,MAAM,KAAK,GAAA;QACT,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;KAClC;AAED,IAAA,MAAM,QAAQ,GAAA;QACZ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACxC;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;KACjE;AAED,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;KACzD;;;ACxBG,MAAO,cAAe,SAAQ,gBAAgB,CAAA;aAC3C,IAAY,CAAA,YAAA,GAAG,UAAU,CAAA,EAAA;IAEhC,OAAO,IAAI,CAAC,OAA8B,EAAA;AACxC,QAAA,OAAO,IAAI,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC;aACjD,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;aACjG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;aAC3G,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;aAChH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;KAC/G;AACD,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;KACpD;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;KACtD;AAED,IAAA,MAAM,QAAQ,GAAA;QACZ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACxC;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;KACjE;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;KAClD;;;ACnCG,MAAO,aAAc,SAAQ,gBAAgB,CAAA;aAC1C,IAAY,CAAA,YAAA,GAAG,SAAS,CAAA,EAAA;AAE/B,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;KACjE;AACD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA;KACpE;;;ACJG,MAAO,UAAW,SAAQ,gBAAgB,CAAA;aACvC,IAAY,CAAA,YAAA,GAAG,KAAK,CAAA,EAAA;IAE3B,OAAO,IAAI,CAAC,OAA0B,EAAA;AACpC,QAAA,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAC5F,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACzD,CAAA;KACF;IAED,MAAM,UAAU,CAAC,CAAS,EAAA;QACxB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;KACxD;IAED,MAAM,aAAa,CAAC,KAAa,EAAA;AAC/B,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;KACjD;AAED,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACxC;AAED,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,eAAe,EAAE;YACnB,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACzC;AACD,QAAA,OAAO,EAAE,CAAA;KACV;AAED,IAAA,MAAM,KAAK,GAAA;QACT,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;KAClC;;;AChCG,MAAO,YAAa,SAAQ,gBAAgB,CAAA;aACzC,IAAY,CAAA,YAAA,GAAG,OAAO,CAAA,EAAA;IAE7B,OAAO,IAAI,CAAC,OAA4B,EAAA;AACtC,QAAA,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KACzF,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CACpD,CAAA;KACF;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;KACpD;AAED,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAS,OAAO,CAAC,CAAA;KAC9D;AACD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAU,SAAS,CAAC,CAAA;KACjE;IAED,MAAM,QAAQ,CAAC,KAAoB,EAAA;AACjC,QAAA,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,YAAA,MAAM,CACJ,MAAM,IAAI,CAAC,IAAI,EAAE,EACjB,aAAa,CACb,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE;AAC9B,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,IAAI,EAAE,SAAS;AAChB,aAAA,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA,CAAE,CAC7E,CAAA;SACF;aAAM;YACL,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;YACjC,IAAI,KAAK,EAAE;AACT,gBAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;aAC1C;AACD,YAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;SAC/C;KACF;AAED,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;KACzB;AAED,IAAA,MAAM,KAAK,GAAA;QACT,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;KAClC;;;AC7CG,MAAO,gBAAiB,SAAQ,gBAAgB,CAAA;AAAtD,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAA;KAwBvF;aA1BQ,IAAY,CAAA,YAAA,GAAG,YAAH,CAAe,EAAA;IAIlC,OAAO,IAAI,CAAC,OAAgC,EAAA;AAC1C,QAAA,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAC5G,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CACzD,CAAA;KACF;AAED,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,CAAA;KAC5D;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;KACzD;AAED,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;AAC7D,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;KACrB;AAED,IAAA,MAAM,KAAK,GAAA;QACT,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,EAAE,CAAA;KAC7C;;;AC1BG,MAAO,cAAe,SAAQ,gCAAgC,CAAA;AAApE,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;AAClF,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;KAiBnF;aApBQ,IAAY,CAAA,YAAA,GAAG,UAAH,CAAa,EAAA;AAKhC,IAAA,MAAM,cAAc,GAAA;QAClB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,CAAA;KACjD;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE;AAC1B,YAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;SACnD;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAA;SAC1F;KACF;AAED,IAAA,MAAM,SAAS,GAAA;QACb,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,oBAAoB,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,KAAK,CAAA;KAChG;;;ACpBG,MAAO,gBAAiB,SAAQ,gCAAgC,CAAA;aAC7D,IAAY,CAAA,YAAA,GAAG,YAAY,CAAA,EAAA;IAElC,OAAO,IAAI,CAAC,OAAgC,EAAA;AAC1C,QAAA,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAC7F,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CACpD,CAAA;KACF;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;KACpD;AAED,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,GAAG,IAAI,EAAE,CAAA;KACvE;AAED,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;KACpE;AAED,IAAA,MAAM,IAAI,GAAA;QACR,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;AAC1B,YAAA,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;SAC/C;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;SACrE;KACF;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE;AACvB,YAAA,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;SAC/C;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;SAClE;KACF;AAED,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;AACjB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAA;QACrD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;AACrE,QAAA,OAAO,MAAM,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;KACpD;IAED,MAAM,eAAe,CAAC,QAAgB,EAAA;AACpC,QAAA,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;KACjF;IAED,MAAM,oBAAoB,CAAC,QAAgB,EAAA;AACzC,QAAA,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAC5E,CAAA;AACD,QAAA,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAA;KACrC;IAED,MAAM,wBAAwB,CAAC,QAAgB,EAAA;AAC7C,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;KAC7D;AAED,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAA;KACzE;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE;AAC/B,YAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;SACzE;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;SACzE;KACF;;;ACtEG,MAAO,WAAY,SAAQ,gBAAgB,CAAA;aACxC,IAAY,CAAA,YAAA,GAAG,MAAM,CAAA,EAAA;IAE5B,OAAO,IAAI,CAAC,OAA2B,EAAA;AACrC,QAAA,OAAO,IAAI,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAC7F,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACzD,CAAA;KACF;IAED,MAAM,UAAU,CAAC,CAAS,EAAA;QACxB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;KACxD;IAED,MAAM,aAAa,CAAC,KAAa,EAAA;AAC/B,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;KACjD;AAED,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACxC;;;ACtBG,MAAO,gBAAiB,SAAQ,gBAAgB,CAAA;AAAtD,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAChC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;AAClD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;KAkBtF;aAtBQ,IAAY,CAAA,YAAA,GAAG,eAAH,CAAkB,EAAA;AAMrC,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAA;KAC7C;IAED,MAAM,OAAO,CAAC,IAAY,EAAA;QACxB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;AACzF,QAAA,OAAO,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;KACjC;AAED,IAAA,MAAM,KAAK,GAAA;QACT,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAA;KAC9C;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;KAC3D;;;ACnBG,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;aAC5C,IAAY,CAAA,YAAA,GAAG,UAAU,CAAA,EAAA;IAEhC,OAAO,IAAI,CAAC,OAA+B,EAAA;AACzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAClG,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CACxD,CAAA;KACF;AAED,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACxC;AAED,IAAA,MAAM,UAAU,GAAA;QACd,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;KAClC;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;KACtD;;;ACtBG,MAAO,YAAa,SAAQ,gCAAgC,CAAA;aACzD,IAAY,CAAA,YAAA,GAAG,QAAQ,CAAA,EAAA;AAE9B,IAAA,MAAM,+BAA+B,GAAA;QACnC,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAA;KACrF;AAED,IAAA,MAAM,MAAM,GAAA;QACV,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAA;KACxD;AAED,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE;AACvB,YAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,+BAA+B,EAAE,GAAG,eAAe,CAAC,eAAe,CAAC,CAAA;SAC9F;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;SAC9D;AACD,QAAA,OAAO,EAAE,CAAA;KACV;IAED,MAAM,WAAW,CAAC,QAAgB,EAAA;AAChC,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE;YACvB,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,+BAA+B,EAAE,GAC3C,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;SAC9D;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;SAC9D;AACD,QAAA,OAAO,SAAS,CAAA;KACjB;;;AC7BG,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;AAArD,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;KACvD;aAHQ,IAAY,CAAA,YAAA,GAAG,WAAH,CAAc,EAAA;;;ACF7B,MAAO,2BAA4B,SAAQ,gBAAgB,CAAA;aACxD,IAAY,CAAA,YAAA,GAAG,IAAI,CAAA,EAAA;AAE1B,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;KACzB;AAED,IAAA,MAAM,KAAK,GAAA;QACT,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;KAClC;AAED,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACxC;;;ACPG,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;aAChD,IAAY,CAAA,YAAA,GAAG,eAAe,CAAA,EAAA;IAErC,OAAO,IAAI,CAAC,OAAmC,EAAA;AAC7C,QAAA,OAAO,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC;aACtD,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACjG,aAAA,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;KAC/G;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;KACpD;IAED,MAAM,UAAU,CAAC,CAAS,EAAA;QACxB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;KACxD;AAED,IAAA,MAAM,oCAAoC,GAAA;AACxC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAA;AACrD,QAAA,OAAO,WAAW,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAA;KAC5D;AAED,IAAA,MAAM,aAAa,GAAA;QACjB,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;AAC1B,YAAA,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;SAClB;AACD,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,oCAAoC,EAAE,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAA;KAC9G;AAED,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,oCAAoC,EAAE,CAAA;AACjD,YAAA,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AACpB,YAAA,OAAO,KAAK,CAAA;SACb;KACF;AAED,IAAA,MAAM,IAAI,GAAA;QACR,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;AAC1B,YAAA,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;SAC/C;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;SACxE;KACF;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE;AACvB,YAAA,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;SAC/C;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;SACrE;KACF;IAED,MAAM,aAAa,CAAC,oBAAiD,EAAA;AACnE,QAAA,OAAO,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,kBAAkB,CAAC,MAAM,MAAM;AACtG,cAAE,IAAI;cACJ,KAAK,CAAA;KACV;AAED,IAAA,MAAM,kBAAkB,GAAA;AACtB,QAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC7C,MAAM,eAAe,GAAa,EAAE,CAAA;AACpC,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACtD,YAAA,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;YAChC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;gBACpC,eAAe,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;aAC7C;SACF;AACD,QAAA,OAAO,eAAe,CAAA;KACvB;;;AC3EG,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAA1D,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAChC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;AAClD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;KAkBtF;aAtBQ,IAAY,CAAA,YAAA,GAAG,uBAAH,CAA0B,EAAA;AAM7C,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAA;KAC7C;IAED,MAAM,OAAO,CAAC,IAAY,EAAA;QACxB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;AACzF,QAAA,OAAO,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;KACjC;AAED,IAAA,MAAM,KAAK,GAAA;QACT,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAA;KACvC;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;KAC3D;;;ACvBG,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AAAvD,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;KACxD;aAHQ,IAAY,CAAA,YAAA,GAAG,aAAH,CAAgB,EAAA;;;ACI/B,MAAO,aAAc,SAAQ,gBAAgB,CAAA;aAC1C,IAAY,CAAA,YAAA,GAAG,QAAQ,CAAA,EAAA;IAE9B,OAAO,IAAI,CAAC,OAA6B,EAAA;AACvC,QAAA,OAAO,IAAI,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC;aAChD,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;aACjG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;AAC3G,aAAA,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;KAC/G;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;KACpD;AACD,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;KACtD;IACD,MAAM,UAAU,CAAC,CAAS,EAAA;QACxB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;KACxD;AAED,IAAA,MAAM,KAAK,GAAA;QACT,IAAI,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE;YAC9B,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;SAClC;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;SAClE;KACF;AAED,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;KACzD;;;ACjCG,MAAO,iBAAkB,SAAQ,gCAAgC,CAAA;AAAvE,IAAA,WAAA,GAAA;;AAEE,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAA;AAC1F,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;AACzD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAA;KASvF;aAZQ,IAAY,CAAA,YAAA,GAAG,aAAH,CAAgB,EAAA;AAKnC,IAAA,MAAM,wBAAwB,GAAA;QAC5B,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAA;KAC3D;AAED,IAAA,MAAM,aAAa,GAAA;QACjB,CAAC;QAAA,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAA;KAC1C;;;ACVG,MAAO,gBAAiB,SAAQ,gBAAgB,CAAA;AAAtD,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;KAkCzC;aApCQ,IAAY,CAAA,YAAA,GAAG,YAAH,CAAe,EAAA;IAIlC,OAAO,IAAI,CAAC,OAAgC,EAAA;AAC1C,QAAA,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAC7F,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CACpD,CAAA;KACF;AACD,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;KACpD;AAED,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,yBAAyB,CAAC,CAAA;KACzE;AAED,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAA;KACvE;AAED,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,yBAAyB,CAAC,CAAA;KACzE;AAED,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,yBAAyB,CAAC,CAAA;KACzE;AAED,IAAA,MAAM,QAAQ,GAAA;QACZ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;KAChD;IAED,MAAM,QAAQ,CAAC,KAAa,EAAA;AAC1B,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;KACrD;;;AC9BG,MAAO,+BAAgC,SAAQ,gCAAgC,CAAA;AAArF,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;KAa/C;aAfQ,IAAY,CAAA,YAAA,GAAG,qBAAH,CAAwB,EAAA;IAI3C,OAAO,IAAI,CAAC,OAAwC,EAAA;AAClD,QAAA,OAAO,IAAI,gBAAgB,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC,SAAS,CAC7E,OAAO,EACP,OAAO,CAAC,KAAK,EACb,CAAC,OAAO,EAAE,CAAC,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACzE,CAAA;KACF;IAED,MAAM,UAAU,CAAC,CAAS,EAAA;QACxB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;KACxD;;AAGG,MAAO,2BAA4B,SAAQ,gCAAgC,CAAA;AAAjF,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAA;AAC5E,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;KAWtD;aAdQ,IAAY,CAAA,YAAA,GAAG,0BAAH,CAA6B,EAAA;IAKhD,OAAO,IAAI,CAAC,OAAoC,EAAA;AAC9C,QAAA,OAAO,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAC7G,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACzD,CAAA;KACF;IAED,MAAM,UAAU,CAAC,CAAS,EAAA;QACxB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;KACxD;;AAGG,MAAO,gBAAiB,SAAQ,gCAAgC,CAAA;AAAtE,IAAA,WAAA,GAAA;;AAGU,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC,UAAU,CACjD,+BAA+B,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAC9E,CAAA;AACO,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,CAAC,UAAU,CACnD,+BAA+B,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAC/E,CAAA;AACO,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC,UAAU,CACjD,+BAA+B,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAC9E,CAAA;AAEO,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAA;AAC7G,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAA;KA6BtH;aA1CQ,IAAY,CAAA,YAAA,GAAG,YAAH,CAAe,EAAA;AAelC,IAAA,MAAM,wBAAwB,GAAA;QAC5B,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,yBAAyB,EAAE,EAAE,UAAU,EAAE,CAAA;KACnE;AAED,IAAA,MAAM,0BAA0B,GAAA;QAC9B,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,2BAA2B,EAAE,EAAE,UAAU,EAAE,CAAA;KACrE;AAED,IAAA,MAAM,wBAAwB,GAAA;QAC5B,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,yBAAyB,EAAE,EAAE,UAAU,EAAE,CAAA;KACnE;AAED,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAA;KAC5E;AAED,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAA;KAC5E;AAED,IAAA,MAAM,kBAAkB,GAAA;QACtB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,eAAe,EAAE,CAAA;KAChE;AAED,IAAA,MAAM,kBAAkB,GAAA;QACtB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,eAAe,EAAE,CAAA;KAChE;;;ACxFG,MAAO,oBAAqB,SAAQ,gCAAgC,CAAA;AAA1E,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;KAChD;aAHQ,IAAY,CAAA,YAAA,GAAG,gBAAH,CAAmB,EAAA;;;ACDlC,MAAO,uBAAwB,SAAQ,eAAe,CAAA;IAC1D,MAAM,OAAO,CAAC,IAAY,EAAA;AACxB,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;AACrF,QAAA,OAAO,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;KACjC;AACF;;ACDK,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;aAClD,IAAY,CAAA,YAAA,GAAG,iBAAiB,CAAA,EAAA;AAEvC,IAAA,OAAO,IAAI,CAAwE,OAAA,GAAuC,EAAE,EAAA;QAC1H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,OAAO,EAAE,QAAQ,KAAI;YAC/G,OAAO,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,QAAQ,CAAA;AACnD,SAAC,CAAC,CAAA;KACH;AAED,IAAA,MAAM,SAAS,GAAA;QACb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAA;AAC1D,QAAA,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAA;KAC/B;AAED,IAAA,MAAM,QAAQ,GAAA;QACZ,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAA;AAClE,QAAA,OAAO,eAAe,CAAC,KAAK,EAAE,CAAA;KAC/B;;;AChBG,MAAO,QAAS,SAAQ,gBAAgB,CAAA;aACrC,IAAY,CAAA,YAAA,GAAG,GAAG,CAAA,EAAA;IAEzB,OAAO,IAAI,CAAC,OAAwB,EAAA;AAClC,QAAA,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC;aAC3C,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3G,aAAA,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;KACvG;IAED,MAAM,UAAU,CAAC,CAAS,EAAA;QACxB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;KACxD;IAED,MAAM,KAAK,CAAC,EAAU,EAAA;QACpB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,eAAe,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;KACvE;IAED,MAAM,aAAa,CAAC,KAAa,EAAA;AAC/B,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;KACjD;AAED,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACxC;AAED,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,eAAe,EAAE;YACnB,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACzC;AACD,QAAA,OAAO,EAAE,CAAA;KACV;;;ACnCG,MAAO,wBAAyB,SAAQ,gCAAgC,CAAA;AAA9E,IAAA,WAAA,GAAA;;QAGE,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC,UAAU,CAC7B,aAAa,CAAC,IAAI,CAAC;AACjB,YAAA,KAAK,EAAE,YAAY;AACpB,SAAA,CAAC,CACH,CAAA;QAED,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC,UAAU,CACpC,mBAAmB,CAAC,IAAI,CAAC;AACvB,YAAA,KAAK,EAAE,mBAAmB;AAC3B,SAAA,CAAC,CACH,CAAA;KAKF;aAjBQ,IAAY,CAAA,YAAA,GAAG,IAAH,CAAO,EAAA;AAc1B,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KAClC;;;AClBG,MAAO,eAAgB,SAAQ,gCAAgC,CAAA;AAArE,IAAA,WAAA,GAAA;;AAGE,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAClD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAA;AAC5F,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAA;AAC5F,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAA;KAQjG;aAbQ,IAAY,CAAA,YAAA,GAAG,YAAH,CAAe,EAAA;AAOlC,IAAA,MAAM,OAAO,GAAA;QACX,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAA;QAC5C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAC5E,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAC9D,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;KACjD;;;AChBH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@onecx/angular-testing",
3
- "version": "4.43.1",
3
+ "version": "5.0.0",
4
4
  "peerDependencies": {
5
- "@angular/cdk": "^15.2.7",
6
- "primeng": "^15.0.0"
5
+ "@angular/cdk": "^18.0.5",
6
+ "primeng": "^17.18.2"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "^2.3.0"
@@ -11,11 +11,7 @@
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
- "module": "fesm2015/onecx-angular-testing.mjs",
15
- "es2020": "fesm2020/onecx-angular-testing.mjs",
16
- "esm2020": "esm2020/onecx-angular-testing.mjs",
17
- "fesm2020": "fesm2020/onecx-angular-testing.mjs",
18
- "fesm2015": "fesm2015/onecx-angular-testing.mjs",
14
+ "module": "fesm2022/onecx-angular-testing.mjs",
19
15
  "typings": "index.d.ts",
20
16
  "exports": {
21
17
  "./package.json": {
@@ -23,11 +19,9 @@
23
19
  },
24
20
  ".": {
25
21
  "types": "./index.d.ts",
26
- "esm2020": "./esm2020/onecx-angular-testing.mjs",
27
- "es2020": "./fesm2020/onecx-angular-testing.mjs",
28
- "es2015": "./fesm2015/onecx-angular-testing.mjs",
29
- "node": "./fesm2015/onecx-angular-testing.mjs",
30
- "default": "./fesm2020/onecx-angular-testing.mjs"
22
+ "esm2022": "./esm2022/onecx-angular-testing.mjs",
23
+ "esm": "./esm2022/onecx-angular-testing.mjs",
24
+ "default": "./fesm2022/onecx-angular-testing.mjs"
31
25
  }
32
26
  },
33
27
  "sideEffects": false
@@ -1,31 +0,0 @@
1
- import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
- export class ButtonHarness extends ComponentHarness {
3
- static with(options) {
4
- return new HarnessPredicate(ButtonHarness, options)
5
- .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
6
- .addOption('icon', options.icon, (harness, icon) => HarnessPredicate.stringMatches(harness.getIcon(), icon))
7
- .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
8
- }
9
- async getId() {
10
- return await (await this.host()).getAttribute('id');
11
- }
12
- async getIcon() {
13
- return await (await this.host()).getAttribute('icon');
14
- }
15
- async getByClass(c) {
16
- return (await (await this.host()).hasClass(c)) ? c : '';
17
- }
18
- async click() {
19
- if (!(await this.isDisabled())) {
20
- await (await this.host()).click();
21
- }
22
- else {
23
- console.warn('Button cannot be clicked, because it is disabled!');
24
- }
25
- }
26
- async isDisabled() {
27
- return await (await this.host()).getProperty('disabled');
28
- }
29
- }
30
- ButtonHarness.hostSelector = 'button';
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGVzdGluZy9zcmMvbGliL2hhcm5lc3Nlcy9idXR0b24uaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFRN0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxnQkFBZ0I7SUFHakQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUE2QjtRQUN2QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQzthQUNoRCxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ2pHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDM0csU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNoSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU87UUFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFTO1FBQ3hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDekQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRTtZQUM5QixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtTQUNsQzthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxtREFBbUQsQ0FBQyxDQUFBO1NBQ2xFO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVO1FBQ2QsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDMUQsQ0FBQzs7QUE3Qk0sMEJBQVksR0FBRyxRQUFRLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMsIENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZydcblxuZXhwb3J0IGludGVyZmFjZSBCdXR0b25IYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7XG4gIGlkPzogc3RyaW5nXG4gIGljb24/OiBzdHJpbmdcbiAgY2xhc3M/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIEJ1dHRvbkhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdidXR0b24nXG5cbiAgc3RhdGljIHdpdGgob3B0aW9uczogQnV0dG9uSGFybmVzc0ZpbHRlcnMpOiBIYXJuZXNzUHJlZGljYXRlPEJ1dHRvbkhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoQnV0dG9uSGFybmVzcywgb3B0aW9ucylcbiAgICAgIC5hZGRPcHRpb24oJ2lkJywgb3B0aW9ucy5pZCwgKGhhcm5lc3MsIGlkKSA9PiBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRJZCgpLCBpZCkpXG4gICAgICAuYWRkT3B0aW9uKCdpY29uJywgb3B0aW9ucy5pY29uLCAoaGFybmVzcywgaWNvbikgPT4gSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGhhcm5lc3MuZ2V0SWNvbigpLCBpY29uKSlcbiAgICAgIC5hZGRPcHRpb24oJ2NsYXNzJywgb3B0aW9ucy5jbGFzcywgKGhhcm5lc3MsIGMpID0+IEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhoYXJuZXNzLmdldEJ5Q2xhc3MoYyksIGMpKVxuICB9XG5cbiAgYXN5bmMgZ2V0SWQoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdpZCcpXG4gIH1cbiAgYXN5bmMgZ2V0SWNvbigpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ2ljb24nKVxuICB9XG4gIGFzeW5jIGdldEJ5Q2xhc3MoYzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmhhc0NsYXNzKGMpKSA/IGMgOiAnJ1xuICB9XG5cbiAgYXN5bmMgY2xpY2soKSB7XG4gICAgaWYgKCEoYXdhaXQgdGhpcy5pc0Rpc2FibGVkKCkpKSB7XG4gICAgICBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmNsaWNrKClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdCdXR0b24gY2Fubm90IGJlIGNsaWNrZWQsIGJlY2F1c2UgaXQgaXMgZGlzYWJsZWQhJylcbiAgICB9XG4gIH1cblxuICBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldFByb3BlcnR5KCdkaXNhYmxlZCcpXG4gIH1cbn1cbiJdfQ==