@gipisistemas/ng-core 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/assets/styles/colors.scss +5 -1
  2. package/bundles/gipisistemas-ng-core.umd.js +8379 -7856
  3. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  4. package/bundles/gipisistemas-ng-core.umd.min.js +10 -9
  5. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  6. package/core/gipi-components/models/sort.model.d.ts +3 -3
  7. package/core/utils/array.util.d.ts +2 -2
  8. package/core/utils/object.util.d.ts +3 -5
  9. package/esm2015/core/gipi-components/models/sort.model.js +1 -1
  10. package/esm2015/core/gipi-components/services/abstract-crud.service.js +18 -24
  11. package/esm2015/core/utils/array.util.js +4 -2
  12. package/esm2015/core/utils/object.util.js +5 -9
  13. package/esm2015/gipi-components.js +10 -1
  14. package/esm2015/shared/components/input/input.component.js +46 -23
  15. package/esm2015/shared/components/table/table.component.js +1 -1
  16. package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
  17. package/esm2015/shared/gipi-components/button/button.component.js +2 -2
  18. package/esm2015/shared/gipi-components/card/card.component.js +113 -0
  19. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
  20. package/esm2015/shared/gipi-components/empty-state/empty-state.component.js +30 -0
  21. package/esm2015/shared/gipi-components/layout-grid/col.directive.js +4 -4
  22. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
  23. package/esm2015/shared/gipi-components/notification/notification.component.js +8 -3
  24. package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
  25. package/esm2015/shared/gipi-components/slide-toggle/slide-toggle.component.js +113 -0
  26. package/esm2015/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +18 -0
  27. package/esm2015/shared/gipi-components/tabs/shared/tab.model.js +8 -0
  28. package/esm2015/shared/gipi-components/tabs/tab/tab.component.js +66 -0
  29. package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +123 -0
  30. package/esm2015/shared/gipi-components/textarea/textarea.component.js +298 -0
  31. package/esm2015/shared/shared.module.js +20 -16
  32. package/esm2015/shared.js +1 -5
  33. package/esm5/core/gipi-components/models/sort.model.js +1 -1
  34. package/esm5/core/gipi-components/services/abstract-crud.service.js +18 -24
  35. package/esm5/core/utils/array.util.js +4 -3
  36. package/esm5/core/utils/object.util.js +5 -9
  37. package/esm5/gipi-components.js +10 -1
  38. package/esm5/shared/components/input/input.component.js +46 -23
  39. package/esm5/shared/components/table/table.component.js +1 -1
  40. package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
  41. package/esm5/shared/gipi-components/button/button.component.js +2 -2
  42. package/esm5/shared/gipi-components/card/card.component.js +135 -0
  43. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
  44. package/esm5/shared/gipi-components/empty-state/empty-state.component.js +33 -0
  45. package/esm5/shared/gipi-components/layout-grid/col.directive.js +4 -4
  46. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
  47. package/esm5/shared/gipi-components/notification/notification.component.js +8 -3
  48. package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
  49. package/esm5/shared/gipi-components/slide-toggle/slide-toggle.component.js +127 -0
  50. package/esm5/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +19 -0
  51. package/esm5/shared/gipi-components/tabs/shared/tab.model.js +10 -0
  52. package/esm5/shared/gipi-components/tabs/tab/tab.component.js +67 -0
  53. package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +131 -0
  54. package/esm5/shared/gipi-components/textarea/textarea.component.js +352 -0
  55. package/esm5/shared/shared.module.js +20 -16
  56. package/esm5/shared.js +1 -5
  57. package/fesm2015/gipisistemas-ng-core.js +1741 -1303
  58. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  59. package/fesm5/gipisistemas-ng-core.js +8369 -7851
  60. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  61. package/gipi-components.d.ts +8 -0
  62. package/gipisistemas-ng-core.metadata.json +1 -1
  63. package/package.json +1 -2
  64. package/shared/components/input/input.component.d.ts +13 -11
  65. package/shared/components/table/table.component.d.ts +3 -3
  66. package/shared/gipi-components/card/card.component.d.ts +23 -0
  67. package/shared/gipi-components/empty-state/empty-state.component.d.ts +5 -0
  68. package/shared/gipi-components/notification/notification.component.d.ts +1 -0
  69. package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +7 -0
  70. package/shared/gipi-components/slide-toggle/slide-toggle.component.d.ts +27 -0
  71. package/shared/{directives → gipi-components/tabs/shared}/dynamic-tab.directive.d.ts +1 -1
  72. package/shared/gipi-components/tabs/shared/tab.model.d.ts +12 -0
  73. package/shared/{components → gipi-components/tabs}/tab/tab.component.d.ts +4 -2
  74. package/shared/gipi-components/tabs/tab-group/tab-group.component.d.ts +22 -0
  75. package/shared/gipi-components/textarea/textarea.component.d.ts +68 -0
  76. package/shared.d.ts +0 -4
  77. package/esm2015/shared/components/select-button/select-button.component.js +0 -181
  78. package/esm2015/shared/components/tab/tab.component.js +0 -57
  79. package/esm2015/shared/components/tab-group/tab-group.component.js +0 -117
  80. package/esm2015/shared/directives/dynamic-tab.directive.js +0 -18
  81. package/esm5/shared/components/select-button/select-button.component.js +0 -195
  82. package/esm5/shared/components/tab/tab.component.js +0 -58
  83. package/esm5/shared/components/tab-group/tab-group.component.js +0 -125
  84. package/esm5/shared/directives/dynamic-tab.directive.js +0 -19
  85. package/shared/components/select-button/select-button.component.d.ts +0 -35
  86. package/shared/components/tab-group/tab-group.component.d.ts +0 -22
@@ -0,0 +1,135 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectorRef, Component, ElementRef, forwardRef, Input, OnInit } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ var nextUniqueId = 0;
5
+ var GIPICardComponent = /** @class */ (function () {
6
+ function GIPICardComponent(elementRef, _changeDetectorRef) {
7
+ this.elementRef = elementRef;
8
+ this._changeDetectorRef = _changeDetectorRef;
9
+ this._uniqueId = "gipi-card-" + ++nextUniqueId;
10
+ this._id = '';
11
+ this._name = '';
12
+ this._loading = false;
13
+ this._shadow = true;
14
+ this._padding = true;
15
+ }
16
+ GIPICardComponent_1 = GIPICardComponent;
17
+ Object.defineProperty(GIPICardComponent.prototype, "id", {
18
+ get: function () {
19
+ return this._id;
20
+ },
21
+ set: function (value) {
22
+ this._id = value || this._uniqueId;
23
+ },
24
+ enumerable: false,
25
+ configurable: true
26
+ });
27
+ Object.defineProperty(GIPICardComponent.prototype, "name", {
28
+ get: function () {
29
+ return this._name;
30
+ },
31
+ set: function (value) {
32
+ this._name = value || this._uniqueId;
33
+ },
34
+ enumerable: false,
35
+ configurable: true
36
+ });
37
+ Object.defineProperty(GIPICardComponent.prototype, "loading", {
38
+ get: function () {
39
+ return this._loading;
40
+ },
41
+ set: function (value) {
42
+ if (value !== this.loading) {
43
+ this._loading = value;
44
+ this._changeDetectorRef.markForCheck();
45
+ }
46
+ },
47
+ enumerable: false,
48
+ configurable: true
49
+ });
50
+ Object.defineProperty(GIPICardComponent.prototype, "shadow", {
51
+ get: function () {
52
+ return this._shadow;
53
+ },
54
+ set: function (value) {
55
+ if (value !== this.shadow) {
56
+ this._shadow = value;
57
+ this._changeDetectorRef.markForCheck();
58
+ }
59
+ },
60
+ enumerable: false,
61
+ configurable: true
62
+ });
63
+ Object.defineProperty(GIPICardComponent.prototype, "padding", {
64
+ get: function () {
65
+ return this._padding;
66
+ },
67
+ set: function (value) {
68
+ if (value !== this.padding) {
69
+ this._padding = value;
70
+ this._changeDetectorRef.markForCheck();
71
+ }
72
+ },
73
+ enumerable: false,
74
+ configurable: true
75
+ });
76
+ GIPICardComponent.prototype.ngOnInit = function () { };
77
+ var GIPICardComponent_1;
78
+ GIPICardComponent.ctorParameters = function () { return [
79
+ { type: ElementRef },
80
+ { type: ChangeDetectorRef }
81
+ ]; };
82
+ __decorate([
83
+ Input(),
84
+ __metadata("design:type", String),
85
+ __metadata("design:paramtypes", [String])
86
+ ], GIPICardComponent.prototype, "id", null);
87
+ __decorate([
88
+ Input(),
89
+ __metadata("design:type", String),
90
+ __metadata("design:paramtypes", [String])
91
+ ], GIPICardComponent.prototype, "name", null);
92
+ __decorate([
93
+ Input(),
94
+ __metadata("design:type", Boolean),
95
+ __metadata("design:paramtypes", [Boolean])
96
+ ], GIPICardComponent.prototype, "loading", null);
97
+ __decorate([
98
+ Input(),
99
+ __metadata("design:type", Boolean),
100
+ __metadata("design:paramtypes", [Boolean])
101
+ ], GIPICardComponent.prototype, "shadow", null);
102
+ __decorate([
103
+ Input(),
104
+ __metadata("design:type", Boolean),
105
+ __metadata("design:paramtypes", [Boolean])
106
+ ], GIPICardComponent.prototype, "padding", null);
107
+ GIPICardComponent = GIPICardComponent_1 = __decorate([
108
+ Component({
109
+ selector: 'gipi-card',
110
+ exportAs: 'gipiCard',
111
+ template: "<ng-content></ng-content>",
112
+ providers: [
113
+ {
114
+ provide: NG_VALUE_ACCESSOR,
115
+ useExisting: forwardRef(function () { return GIPICardComponent_1; }),
116
+ multi: true
117
+ }
118
+ ],
119
+ host: {
120
+ 'class': 'gipi-card',
121
+ '[attr.id]': 'id',
122
+ '[attr.name]': 'name',
123
+ '[class.shadow-none]': '!shadow',
124
+ '[class.padding-none]': '!padding',
125
+ '[class.loading]': 'loading',
126
+ },
127
+ styles: [":host{display:block;flex:1;border-radius:.2rem;box-shadow:0 3px 1px -2px rgba(0,0,0,.14),0 2px 2px 0 rgba(0,0,0,.098),0 1px 5px 0 rgba(0,0,0,.084);padding:1.6rem}.padding-none{padding:0!important}.shadow-none{box-shadow:none!important}"]
128
+ }),
129
+ __metadata("design:paramtypes", [ElementRef,
130
+ ChangeDetectorRef])
131
+ ], GIPICardComponent);
132
+ return GIPICardComponent;
133
+ }());
134
+ export { GIPICardComponent };
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELElBQUksWUFBWSxHQUFXLENBQUMsQ0FBQztBQXVCN0I7SUFxREksMkJBQ1csVUFBc0IsRUFDckIsa0JBQXFDO1FBRHRDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQXJEdkMsY0FBUyxHQUFXLGVBQWEsRUFBRSxZQUFjLENBQUM7UUFFcEQsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQVFqQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBUW5CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFXMUIsWUFBTyxHQUFZLElBQUksQ0FBQztRQVd4QixhQUFRLEdBQVksSUFBSSxDQUFDO0lBYzdCLENBQUM7MEJBeERJLGlCQUFpQjtJQUtqQixzQkFBSSxpQ0FBRTthQUFOO1lBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3BCLENBQUM7YUFDRCxVQUFPLEtBQWE7WUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN2QyxDQUFDOzs7T0FIQTtJQU1RLHNCQUFJLG1DQUFJO2FBQVI7WUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQzthQUNELFVBQVMsS0FBYTtZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3pDLENBQUM7OztPQUhBO0lBTVEsc0JBQUksc0NBQU87YUFBWDtZQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN6QixDQUFDO2FBQ0QsVUFBWSxLQUFjO1lBQ3RCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDMUM7UUFDTCxDQUFDOzs7T0FOQTtJQVNRLHNCQUFJLHFDQUFNO2FBQVY7WUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQzthQUNELFVBQVcsS0FBYztZQUNyQixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO2FBQzFDO1FBQ0wsQ0FBQzs7O09BTkE7SUFTUSxzQkFBSSxzQ0FBTzthQUFYO1lBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3pCLENBQUM7YUFDRCxVQUFZLEtBQWM7WUFDdEIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUMxQztRQUNMLENBQUM7OztPQU5BO0lBYUQsb0NBQVEsR0FBUixjQUFtQixDQUFDOzs7Z0JBSkcsVUFBVTtnQkFDRCxpQkFBaUI7O0lBbER4QztRQUFSLEtBQUssRUFBRTs7OytDQUVQO0lBTVE7UUFBUixLQUFLLEVBQUU7OztpREFFUDtJQU1RO1FBQVIsS0FBSyxFQUFFOzs7b0RBRVA7SUFTUTtRQUFSLEtBQUssRUFBRTs7O21EQUVQO0lBU1E7UUFBUixLQUFLLEVBQUU7OztvREFFUDtJQTdDUSxpQkFBaUI7UUFyQjdCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLHFDQUFvQztZQUVwQyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsbUJBQWlCLEVBQWpCLENBQWlCLENBQUM7b0JBQ2hELEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQ0o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0YsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixhQUFhLEVBQUUsTUFBTTtnQkFDckIscUJBQXFCLEVBQUUsU0FBUztnQkFDaEMsc0JBQXNCLEVBQUUsVUFBVTtnQkFDbEMsaUJBQWlCLEVBQUUsU0FBUzthQUMvQjs7U0FDSixDQUFDO3lDQXVEeUIsVUFBVTtZQUNELGlCQUFpQjtPQXZEeEMsaUJBQWlCLENBNEQ3QjtJQUFELHdCQUFDO0NBQUEsQUE1REQsSUE0REM7U0E1RFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmxldCBuZXh0VW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ2lwaS1jYXJkJyxcbiAgICBleHBvcnRBczogJ2dpcGlDYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEdJUElDYXJkQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktY2FyZCcsXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2F0dHIubmFtZV0nOiAnbmFtZScsXG4gICAgICAgICdbY2xhc3Muc2hhZG93LW5vbmVdJzogJyFzaGFkb3cnLFxuICAgICAgICAnW2NsYXNzLnBhZGRpbmctbm9uZV0nOiAnIXBhZGRpbmcnLFxuICAgICAgICAnW2NsYXNzLmxvYWRpbmddJzogJ2xvYWRpbmcnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdJUElDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHByb3RlY3RlZCBfdW5pcXVlSWQ6IHN0cmluZyA9IGBnaXBpLWNhcmQtJHsrK25leHRVbmlxdWVJZH1gO1xuXG4gICAgcHJpdmF0ZSBfaWQ6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuICAgIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdW5pcXVlSWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gICAgfVxuICAgIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbmFtZSA9IHZhbHVlIHx8IHRoaXMuX3VuaXF1ZUlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRpbmc7XG4gICAgfVxuICAgIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5sb2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NoYWRvdzogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgZ2V0IHNoYWRvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NoYWRvdztcbiAgICB9XG4gICAgc2V0IHNoYWRvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuc2hhZG93KSB7XG4gICAgICAgICAgICB0aGlzLl9zaGFkb3cgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcGFkZGluZzogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgZ2V0IHBhZGRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYWRkaW5nO1xuICAgIH1cbiAgICBzZXQgcGFkZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMucGFkZGluZykge1xuICAgICAgICAgICAgdGhpcy5fcGFkZGluZyA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IH1cblxufVxuIl19
@@ -2,6 +2,7 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
3
  import { ChangeDetectorRef, Component, ElementRef, forwardRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { ObjectUtil } from './../../../../core/utils/object.util';
5
6
  import * as moment_ from 'moment';
6
7
  var moment = moment_;
7
8
  import { BrowserUtil } from '../../../../core/utils/browser.util';
@@ -33,7 +34,9 @@ var DatepickerComponent = /** @class */ (function () {
33
34
  },
34
35
  set: function (value) {
35
36
  this._minDate = value;
36
- this._minDate.setHours(0, 0, 0, 0);
37
+ if (!ObjectUtil.isNull(value)) {
38
+ this._minDate.setHours(0, 0, 0, 0);
39
+ }
37
40
  },
38
41
  enumerable: false,
39
42
  configurable: true
@@ -44,7 +47,9 @@ var DatepickerComponent = /** @class */ (function () {
44
47
  },
45
48
  set: function (value) {
46
49
  this._maxDate = value;
47
- this._maxDate.setHours(0, 0, 0, 0);
50
+ if (!ObjectUtil.isNull(value)) {
51
+ this._maxDate.setHours(0, 0, 0, 0);
52
+ }
48
53
  },
49
54
  enumerable: false,
50
55
  configurable: true
@@ -249,4 +254,4 @@ var DatepickerComponent = /** @class */ (function () {
249
254
  return DatepickerComponent;
250
255
  }());
251
256
  export { DatepickerComponent };
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFMUUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBa0JyQjtJQW9GSSw2QkFDVyxVQUFzQixFQUNyQixrQkFBcUM7UUFEdEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBbEZ6QyxVQUFLLEdBQVcscUJBQW1CLFlBQVksRUFBSSxDQUFDO1FBRW5ELE9BQUUsR0FBYyxJQUFJLENBQUMsS0FBSyxVQUFPLENBQUM7UUFFbEMsU0FBSSxHQUFjLElBQUksQ0FBQyxLQUFLLFVBQU8sQ0FBQztRQUVwQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGdCQUFXLEdBQVcsWUFBWSxDQUFDO1FB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RUFBRTs7cURBQW1CO0lBR2I7UUFBYixLQUFLLENBQUMsS0FBSyxDQUFDO2tDQUdNLElBQUk7eUNBQUosSUFBSTtzREFEdEI7SUFPYTtRQUFiLEtBQUssQ0FBQyxLQUFLLENBQUM7a0NBR00sSUFBSTt5Q0FBSixJQUFJO3NEQUR0QjtJQU9RO1FBQVIsS0FBSyxFQUFFOzs7dURBRVA7SUFNUTtRQUFSLEtBQUssRUFBRTs7O3VEQUVQO0lBTVE7UUFBUixLQUFLLEVBQUU7Ozt1REFFUDtJQU1RO1FBQVIsS0FBSyxFQUFFOzs7eURBRVA7SUFNUTtRQUFSLEtBQUssRUFBRTtrQ0FHUyxJQUFJO3lDQUFKLElBQUk7b0RBRHBCO0lBckVRLG1CQUFtQjtRQWhCL0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLGs1Q0FBMEM7WUFFMUMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBa0MsT0FBQSxxQkFBbUIsRUFBbkIsQ0FBbUIsQ0FBQztvQkFDOUUsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtZQUNELElBQUksRUFBRTtnQkFDRixPQUFPLEVBQUUsaUJBQWlCO2FBQzdCOztTQUNKLENBQUM7eUNBc0Z5QixVQUFVO1lBQ0QsaUJBQWlCO09BdEZ4QyxtQkFBbUIsQ0F1Si9CO0lBQUQsMEJBQUM7Q0FBQSxBQXZKRCxJQXVKQztTQXZKWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuaW1wb3J0IHsgQnJvd3NlclV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3V0aWxzL2Jyb3dzZXIudXRpbCc7XG5pbXBvcnQgeyBEYXRlVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdXRpbHMvZGF0ZS51dGlsJztcbmltcG9ydCB7IERhdGVGaWx0ZXJGbiB9IGZyb20gJy4uL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyVG9nZ2xlIH0gZnJvbSAnLi4vbWF0LWRhdGVwaWNrZXIvZGF0ZXBpY2tlci10b2dnbGUnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdnaXBpLWRhdGVwaWNrZXInLFxuICAgIGV4cG9ydEFzOiAnZ2lwaURhdGVQaWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCk6IHR5cGVvZiBEYXRlcGlja2VyQ29tcG9uZW50ID0+IERhdGVwaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktZGF0ZXBpY2tlcicsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIEBWaWV3Q2hpbGQoTWF0RGF0ZXBpY2tlclRvZ2dsZSwgeyBzdGF0aWM6IHRydWUgfSkgbWF0RGF0ZXBpY2tlclRvZ2dsZVJlZjogTWF0RGF0ZXBpY2tlclRvZ2dsZTxEYXRlPjtcblxuICAgIHByaXZhdGUgX25hbWU6IHN0cmluZyA9IGBnaXBpLWRhdGUtcmFuZ2UtJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGAke3RoaXMuX25hbWV9LWRhdGVgO1xuXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gYCR7dGhpcy5fbmFtZX0tZGF0ZWA7XG5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ19fL19fL19fX18nO1xuXG4gICAgQElucHV0KCkgaGVscDogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIF9taW5EYXRlOiBEYXRlID0gbmV3IERhdGUoJzAxLzAxLzIwMDAnKTtcbiAgICBASW5wdXQoJ21pbicpIGdldCBtaW5EYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluRGF0ZTtcbiAgICB9XG4gICAgc2V0IG1pbkRhdGUodmFsdWU6IERhdGUpIHtcbiAgICAgICAgdGhpcy5fbWluRGF0ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9taW5EYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21heERhdGU6IERhdGU7XG4gICAgQElucHV0KCdtYXgnKSBnZXQgbWF4RGF0ZSgpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heERhdGU7XG4gICAgfVxuICAgIHNldCBtYXhEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX21heERhdGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fbWF4RGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gICAgfVxuICAgIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kYXRlRmlsdGVyOiBEYXRlRmlsdGVyRm48RGF0ZT4gPSBudWxsO1xuICAgIEBJbnB1dCgpIGdldCBkYXRlRmlsdGVyKCk6IERhdGVGaWx0ZXJGbjxEYXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlRmlsdGVyO1xuICAgIH1cbiAgICBzZXQgZGF0ZUZpbHRlcih2YWx1ZTogRGF0ZUZpbHRlckZuPERhdGU+KSB7XG4gICAgICAgIHRoaXMuX2RhdGVGaWx0ZXIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZTogRGF0ZTtcbiAgICBASW5wdXQoKSBnZXQgdmFsdWUoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgc2V0IHZhbHVlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCh0aGlzLl92YWx1ZSk7XG4gICAgfVxuXG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuXG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHsgfTtcblxuICAgIHB1YmxpYyBnZXQgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7IH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JbnB1dENvbnRlbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmVhZG9ubHkgfHwgIXRoaXMubWF0RGF0ZXBpY2tlclRvZ2dsZVJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdlbmVyYXRlZERhdGUodmFsdWVEYXRlOiBzdHJpbmcsIGtleVVwOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICgha2V5VXAgJiYgQnJvd3NlclV0aWwuZ2V0QnJvd3NlcigpID09PSAnRmlyZWZveCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBtYXRjaCA9IGZhbHNlO1xuICAgICAgICBpZiAodmFsdWVEYXRlLmluY2x1ZGVzKCcvJykgJiYgKCFrZXlVcCB8fCB2YWx1ZURhdGUubGVuZ3RoID09PSAxMCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtb21lbnQodmFsdWVEYXRlLCAnREQvTU0vWVlZWScpLnRvRGF0ZSgpO1xuICAgICAgICAgICAgbWF0Y2ggPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKCF2YWx1ZURhdGUuaW5jbHVkZXMoJy8nKSAmJiAoIWtleVVwIHx8IHZhbHVlRGF0ZS5sZW5ndGggPT09IDgpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbW9tZW50KHZhbHVlRGF0ZSwgJ0RETU1ZWVlZJykudG9EYXRlKCk7XG4gICAgICAgICAgICBtYXRjaCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQnJvd3NlclV0aWwuZ2V0QnJvd3NlcigpICE9PSAnRmlyZWZveCcpIHtcbiAgICAgICAgICAgIGlmIChtYXRjaCAmJiAhRGF0ZVV0aWwuaXNWYWxpZCh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobWF0Y2ggJiYgIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlTWluQW5kTWF4RGF0ZSh2YWx1ZURhdGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRlSW5wdXQgPSBtb21lbnQodmFsdWVEYXRlLCAnREQvTU0vWVlZWScpLnRvRGF0ZSgpO1xuICAgICAgICBpZiAoRGF0ZVV0aWwuaXNMZXNzVGhhbihkYXRlSW5wdXQsIHRoaXMubWluRGF0ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXhEYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gKERhdGVVdGlsLmlzR3JlYXRlclRoYW4oZGF0ZUlucHV0LCB0aGlzLm1heERhdGUpID8gdW5kZWZpbmVkIDogZGF0ZUlucHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRWxFLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTFFLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQWtCckI7SUF3RkksNkJBQ1csVUFBc0IsRUFDckIsa0JBQXFDO1FBRHRDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQXRGekMsVUFBSyxHQUFXLHFCQUFtQixZQUFZLEVBQUksQ0FBQztRQUVuRCxPQUFFLEdBQWMsSUFBSSxDQUFDLEtBQUssVUFBTyxDQUFDO1FBRWxDLFNBQUksR0FBYyxJQUFJLENBQUMsS0FBSyxVQUFPLENBQUM7UUFFcEMsVUFBSyxH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Q0FBQztrQ0FBeUIsbUJBQW1CO3VFQUFPO0lBSTNGO1FBQVIsS0FBSyxFQUFFOzttREFBbUM7SUFFbEM7UUFBUixLQUFLLEVBQUU7O3FEQUFxQztJQUVwQztRQUFSLEtBQUssRUFBRTs7c0RBQW9CO0lBRW5CO1FBQVIsS0FBSyxFQUFFOzs0REFBb0M7SUFFbkM7UUFBUixLQUFLLEVBQUU7O3FEQUFtQjtJQUdiO1FBQWIsS0FBSyxDQUFDLEtBQUssQ0FBQztrQ0FHTSxJQUFJO3lDQUFKLElBQUk7c0RBRHRCO0lBU2E7UUFBYixLQUFLLENBQUMsS0FBSyxDQUFDO2tDQUdNLElBQUk7eUNBQUosSUFBSTtzREFEdEI7SUFTUTtRQUFSLEtBQUssRUFBRTs7O3VEQUVQO0lBTVE7UUFBUixLQUFLLEVBQUU7Ozt1REFFUDtJQU1RO1FBQVIsS0FBSyxFQUFFOzs7dURBRVA7SUFNUTtRQUFSLEtBQUssRUFBRTs7O3lEQUVQO0lBTVE7UUFBUixLQUFLLEVBQUU7a0NBR1MsSUFBSTt5Q0FBSixJQUFJO29EQURwQjtJQXpFUSxtQkFBbUI7UUFoQi9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixrNUNBQTBDO1lBRTFDLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQWtDLE9BQUEscUJBQW1CLEVBQW5CLENBQW1CLENBQUM7b0JBQzlFLEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQ0o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0YsT0FBTyxFQUFFLGlCQUFpQjthQUM3Qjs7U0FDSixDQUFDO3lDQTBGeUIsVUFBVTtZQUNELGlCQUFpQjtPQTFGeEMsbUJBQW1CLENBMkovQjtJQUFELDBCQUFDO0NBQUEsQUEzSkQsSUEySkM7U0EzSlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi8uLi8uLi8uLi8uLi9jb3JlL3V0aWxzL29iamVjdC51dGlsJztcblxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuaW1wb3J0IHsgQnJvd3NlclV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3V0aWxzL2Jyb3dzZXIudXRpbCc7XG5pbXBvcnQgeyBEYXRlVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdXRpbHMvZGF0ZS51dGlsJztcbmltcG9ydCB7IERhdGVGaWx0ZXJGbiB9IGZyb20gJy4uL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyVG9nZ2xlIH0gZnJvbSAnLi4vbWF0LWRhdGVwaWNrZXIvZGF0ZXBpY2tlci10b2dnbGUnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdnaXBpLWRhdGVwaWNrZXInLFxuICAgIGV4cG9ydEFzOiAnZ2lwaURhdGVQaWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCk6IHR5cGVvZiBEYXRlcGlja2VyQ29tcG9uZW50ID0+IERhdGVwaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktZGF0ZXBpY2tlcicsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIEBWaWV3Q2hpbGQoTWF0RGF0ZXBpY2tlclRvZ2dsZSwgeyBzdGF0aWM6IHRydWUgfSkgbWF0RGF0ZXBpY2tlclRvZ2dsZVJlZjogTWF0RGF0ZXBpY2tlclRvZ2dsZTxEYXRlPjtcblxuICAgIHByaXZhdGUgX25hbWU6IHN0cmluZyA9IGBnaXBpLWRhdGUtcmFuZ2UtJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGAke3RoaXMuX25hbWV9LWRhdGVgO1xuXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gYCR7dGhpcy5fbmFtZX0tZGF0ZWA7XG5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ19fL19fL19fX18nO1xuXG4gICAgQElucHV0KCkgaGVscDogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIF9taW5EYXRlOiBEYXRlID0gbmV3IERhdGUoJzAxLzAxLzIwMDAnKTtcbiAgICBASW5wdXQoJ21pbicpIGdldCBtaW5EYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluRGF0ZTtcbiAgICB9XG4gICAgc2V0IG1pbkRhdGUodmFsdWU6IERhdGUpIHtcbiAgICAgICAgdGhpcy5fbWluRGF0ZSA9IHZhbHVlO1xuICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fbWluRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX21heERhdGU6IERhdGU7XG4gICAgQElucHV0KCdtYXgnKSBnZXQgbWF4RGF0ZSgpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heERhdGU7XG4gICAgfVxuICAgIHNldCBtYXhEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX21heERhdGUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX21heERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gICAgfVxuICAgIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kYXRlRmlsdGVyOiBEYXRlRmlsdGVyRm48RGF0ZT4gPSBudWxsO1xuICAgIEBJbnB1dCgpIGdldCBkYXRlRmlsdGVyKCk6IERhdGVGaWx0ZXJGbjxEYXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlRmlsdGVyO1xuICAgIH1cbiAgICBzZXQgZGF0ZUZpbHRlcih2YWx1ZTogRGF0ZUZpbHRlckZuPERhdGU+KSB7XG4gICAgICAgIHRoaXMuX2RhdGVGaWx0ZXIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZTogRGF0ZTtcbiAgICBASW5wdXQoKSBnZXQgdmFsdWUoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgc2V0IHZhbHVlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCh0aGlzLl92YWx1ZSk7XG4gICAgfVxuXG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuXG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHsgfTtcblxuICAgIHB1YmxpYyBnZXQgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7IH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JbnB1dENvbnRlbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmVhZG9ubHkgfHwgIXRoaXMubWF0RGF0ZXBpY2tlclRvZ2dsZVJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdlbmVyYXRlZERhdGUodmFsdWVEYXRlOiBzdHJpbmcsIGtleVVwOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICgha2V5VXAgJiYgQnJvd3NlclV0aWwuZ2V0QnJvd3NlcigpID09PSAnRmlyZWZveCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBtYXRjaCA9IGZhbHNlO1xuICAgICAgICBpZiAodmFsdWVEYXRlLmluY2x1ZGVzKCcvJykgJiYgKCFrZXlVcCB8fCB2YWx1ZURhdGUubGVuZ3RoID09PSAxMCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtb21lbnQodmFsdWVEYXRlLCAnREQvTU0vWVlZWScpLnRvRGF0ZSgpO1xuICAgICAgICAgICAgbWF0Y2ggPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKCF2YWx1ZURhdGUuaW5jbHVkZXMoJy8nKSAmJiAoIWtleVVwIHx8IHZhbHVlRGF0ZS5sZW5ndGggPT09IDgpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbW9tZW50KHZhbHVlRGF0ZSwgJ0RETU1ZWVlZJykudG9EYXRlKCk7XG4gICAgICAgICAgICBtYXRjaCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQnJvd3NlclV0aWwuZ2V0QnJvd3NlcigpICE9PSAnRmlyZWZveCcpIHtcbiAgICAgICAgICAgIGlmIChtYXRjaCAmJiAhRGF0ZVV0aWwuaXNWYWxpZCh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobWF0Y2ggJiYgIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlTWluQW5kTWF4RGF0ZSh2YWx1ZURhdGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRlSW5wdXQgPSBtb21lbnQodmFsdWVEYXRlLCAnREQvTU0vWVlZWScpLnRvRGF0ZSgpO1xuICAgICAgICBpZiAoRGF0ZVV0aWwuaXNMZXNzVGhhbihkYXRlSW5wdXQsIHRoaXMubWluRGF0ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXhEYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gKERhdGVVdGlsLmlzR3JlYXRlclRoYW4oZGF0ZUlucHV0LCB0aGlzLm1heERhdGUpID8gdW5kZWZpbmVkIDogZGF0ZUlucHV0KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ var GIPIEmptyStateComponent = /** @class */ (function () {
5
+ function GIPIEmptyStateComponent() {
6
+ }
7
+ GIPIEmptyStateComponent_1 = GIPIEmptyStateComponent;
8
+ GIPIEmptyStateComponent.prototype.ngOnInit = function () { };
9
+ var GIPIEmptyStateComponent_1;
10
+ GIPIEmptyStateComponent = GIPIEmptyStateComponent_1 = __decorate([
11
+ Component({
12
+ selector: 'gipi-empty-state',
13
+ exportAs: 'gipiEmptyState',
14
+ template: "<mat-icon>sentiment_very_dissatisfied</mat-icon>\nNenhum registro foi encontrado",
15
+ providers: [
16
+ {
17
+ provide: NG_VALUE_ACCESSOR,
18
+ useExisting: forwardRef(function () { return GIPIEmptyStateComponent_1; }),
19
+ multi: true
20
+ }
21
+ ],
22
+ host: {
23
+ 'class': 'gipi-empty-state',
24
+ },
25
+ changeDetection: ChangeDetectionStrategy.OnPush,
26
+ styles: [":host{display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:1.4rem;font-weight:600;color:#131313;padding:2.4rem 0}:host>mat-icon{font-size:3.2rem;height:3.2rem;width:3.2rem;margin-bottom:5px}"]
27
+ }),
28
+ __metadata("design:paramtypes", [])
29
+ ], GIPIEmptyStateComponent);
30
+ return GIPIEmptyStateComponent;
31
+ }());
32
+ export { GIPIEmptyStateComponent };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBbUJuRDtJQUVJO0lBQWdCLENBQUM7Z0NBRlIsdUJBQXVCO0lBSWhDLDBDQUFRLEdBQVIsY0FBbUIsQ0FBQzs7SUFKWCx1QkFBdUI7UUFqQm5DLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQiw0RkFBMkM7WUFFM0MsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHlCQUF1QixFQUF2QixDQUF1QixDQUFDO29CQUN0RCxLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUNKO1lBQ0QsSUFBSSxFQUFFO2dCQUNGLE9BQU8sRUFBRSxrQkFBa0I7YUFDOUI7WUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDbEQsQ0FBQzs7T0FDVyx1QkFBdUIsQ0FNbkM7SUFBRCw4QkFBQztDQUFBLEFBTkQsSUFNQztTQU5ZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ2lwaS1lbXB0eS1zdGF0ZScsXG4gICAgZXhwb3J0QXM6ICdnaXBpRW1wdHlTdGF0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VtcHR5LXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbXB0eS1zdGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEdJUElFbXB0eVN0YXRlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktZW1wdHktc3RhdGUnLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgR0lQSUVtcHR5U3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbn1cbiJdfQ==
@@ -42,7 +42,7 @@ var GIPIColDirective = /** @class */ (function () {
42
42
  };
43
43
  GIPIColDirective.prototype._setHostClassMap = function () {
44
44
  var _a;
45
- var hostClassMap = __assign((_a = {}, _a['grid-col'] = true, _a["grid-col-" + this.GIPISpan] = ObjectUtil.isNotNil(this.GIPISpan), _a["grid-col-order-" + this.GIPIOrder] = ObjectUtil.isNotNil(this.GIPIOrder), _a["grid-col-offset-" + this.GIPIOffset] = ObjectUtil.isNotNil(this.GIPIOffset), _a["grid-col-pull-" + this.GIPIPull] = ObjectUtil.isNotNil(this.GIPIPull), _a["grid-col-push-" + this.GIPIPush] = ObjectUtil.isNotNil(this.GIPIPush), _a), this._generateClass());
45
+ var hostClassMap = __assign((_a = {}, _a['grid-col'] = true, _a["grid-col-" + this.GIPISpan] = !ObjectUtil.isNull(this.GIPISpan), _a["grid-col-order-" + this.GIPIOrder] = !ObjectUtil.isNull(this.GIPIOrder), _a["grid-col-offset-" + this.GIPIOffset] = !ObjectUtil.isNull(this.GIPIOffset), _a["grid-col-pull-" + this.GIPIPull] = !ObjectUtil.isNull(this.GIPIPull), _a["grid-col-push-" + this.GIPIPush] = !ObjectUtil.isNull(this.GIPIPush), _a), this._generateClass());
46
46
  for (var i in this._classMap) {
47
47
  if (this._classMap.hasOwnProperty(i)) {
48
48
  this.renderer.removeClass(this.elementRef.nativeElement, i);
@@ -75,7 +75,7 @@ var GIPIColDirective = /** @class */ (function () {
75
75
  var listClassMap = {};
76
76
  listOfSizeInputName.forEach(function (name) {
77
77
  var sizeName = name.replace('GIPI', '').toLowerCase();
78
- if (ObjectUtil.isNotNil(_this[name])) {
78
+ if (!ObjectUtil.isNull(_this[name])) {
79
79
  if (typeof _this[name] === 'number' || typeof _this[name] === 'string') {
80
80
  listClassMap["grid-col-" + sizeName + "-" + _this[name]] = true;
81
81
  }
@@ -84,7 +84,7 @@ var GIPIColDirective = /** @class */ (function () {
84
84
  var prefixArray = ['span', 'pull', 'push', 'offset', 'order'];
85
85
  prefixArray.forEach(function (prefix) {
86
86
  var prefixClass = prefix === 'span' ? '-' : "-" + prefix + "-";
87
- listClassMap["grid-col-" + sizeName + prefixClass + embedded_1[prefix]] = embedded_1 && ObjectUtil.isNotNil(embedded_1[prefix]);
87
+ listClassMap["grid-col-" + sizeName + prefixClass + embedded_1[prefix]] = embedded_1 && !ObjectUtil.isNull(embedded_1[prefix]);
88
88
  });
89
89
  }
90
90
  }
@@ -161,4 +161,4 @@ var GIPIColDirective = /** @class */ (function () {
161
161
  return GIPIColDirective;
162
162
  }());
163
163
  export { GIPIColDirective };
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvbGF5b3V0LWdyaWQvY29sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFrQm5EO0lBZ0NJLDBCQUNZLFVBQXNCLEVBQ0gsZ0JBQWtDLEVBQ3RELFFBQW1CO1FBRmxCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDSCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3RELGFBQVEsR0FBUixRQUFRLENBQVc7UUFqQ3RCLGNBQVMsR0FBK0IsRUFBRSxDQUFDO1FBRTNDLGNBQVMsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVwRCxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFFM0IsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFFeEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFFeEMsY0FBUyxHQUEyQixJQUFJLENBQUM7UUFFekMsZUFBVSxHQUEyQixJQUFJLENBQUM7UUFFMUMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFFeEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFFeEMsV0FBTSxHQUE4QyxJQUFJLENBQUM7UUFFekQsV0FBTSxHQUE4QyxJQUFJLENBQUM7UUFFekQsV0FBTSxHQUE4QyxJ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QyxDQUFDO2lCQUNOO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7O2dCQXhGdUIsVUFBVTtnQkFDZSxnQkFBZ0IsdUJBQTVELFFBQVEsWUFBSSxJQUFJO2dCQUNBLFNBQVM7O0lBM0JyQjtRQUFSLEtBQUssRUFBRTs7c0RBQXlDO0lBRXhDO1FBQVIsS0FBSyxFQUFFOztzREFBeUM7SUFFeEM7UUFBUixLQUFLLEVBQUU7O3VEQUEwQztJQUV6QztRQUFSLEtBQUssRUFBRTs7d0RBQTJDO0lBRTFDO1FBQVIsS0FBSyxFQUFFOztzREFBeUM7SUFFeEM7UUFBUixLQUFLLEVBQUU7O3NEQUF5QztJQUV4QztRQUFSLEtBQUssRUFBRTs7b0RBQTBEO0lBRXpEO1FBQVIsS0FBSyxFQUFFOztvREFBMEQ7SUFFekQ7UUFBUixLQUFLLEVBQUU7O29EQUEwRDtJQUV6RDtRQUFSLEtBQUssRUFBRTs7b0RBQTBEO0lBRXpEO1FBQVIsS0FBSyxFQUFFOztvREFBMEQ7SUFFekQ7UUFBUixLQUFLLEVBQUU7O3FEQUEyRDtJQTlCMUQsZ0JBQWdCO1FBUjVCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSw2QkFBNkI7WUFDdkMsUUFBUSxFQUFFLFNBQVM7WUFDbkIsSUFBSSxFQUFFO2dCQUNGLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixjQUFjLEVBQUUsZUFBZTthQUNsQztTQUNKLENBQUM7UUFtQ08sV0FBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLFdBQUEsSUFBSSxFQUFFLENBQUE7eUNBREMsVUFBVTtZQUNlLGdCQUFnQjtZQUM1QyxTQUFTO09BbkNyQixnQkFBZ0IsQ0EySDVCO0lBQUQsdUJBQUM7Q0FBQSxBQTNIRCxJQTJIQztTQTNIWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3QsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEdJUElDbGFzc0ludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvbmctY2xhc3MudHlwZSc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBHSVBJUm93RGlyZWN0aXZlIH0gZnJvbSAnLi9yb3cuZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBFbWJlZGRlZFByb3BlcnR5IHtcbiAgICBzcGFuPzogbnVtYmVyO1xuICAgIHB1bGw/OiBudW1iZXI7XG4gICAgcHVzaD86IG51bWJlcjtcbiAgICBvZmZzZXQ/OiBudW1iZXI7XG4gICAgb3JkZXI/OiBudW1iZXI7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2dpcGktY29sXSxnaXBpLWNvbCxHSVBJQ29sJyxcbiAgICBleHBvcnRBczogJ2dpcGlDb2wnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dyaWQtY29sJyxcbiAgICAgICAgJ1tzdHlsZS5mbGV4XSc6ICdob3N0RmxleFN0eWxlJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgR0lQSUNvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBfY2xhc3NNYXA6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx1bmtub3duPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBob3N0RmxleFN0eWxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElGbGV4OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElTcGFuOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElPcmRlcjogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKSBHSVBJT2Zmc2V0OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElQdXNoOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElQdWxsOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElYczogc3RyaW5nIHwgbnVtYmVyIHwgRW1iZWRkZWRQcm9wZXJ0eSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSVNtOiBzdHJpbmcgfCBudW1iZXIgfCBFbWJlZGRlZFByb3BlcnR5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKSBHSVBJTWQ6IHN0cmluZyB8IG51bWJlciB8IEVtYmVkZGVkUHJvcGVydHkgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElMZzogc3RyaW5nIHwgbnVtYmVyIHwgRW1iZWRkZWRQcm9wZXJ0eSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSVhsOiBzdHJpbmcgfCBudW1iZXIgfCBFbWJlZGRlZFByb3BlcnR5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKSBHSVBJWFhsOiBzdHJpbmcgfCBudW1iZXIgfCBFbWJlZGRlZFByb3BlcnR5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHB1YmxpYyBHSVBJUm93RGlyZWN0aXZlOiBHSVBJUm93RGlyZWN0aXZlLFxuICAgICAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0SG9zdENsYXNzTWFwKCk7XG4gICAgICAgIHRoaXMuX3NldEhvc3RGbGV4U3R5bGUoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldEhvc3RDbGFzc01hcCgpO1xuXG4gICAgICAgIGNvbnN0IHsgR0lQSUZsZXggfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChHSVBJRmxleCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0SG9zdEZsZXhTdHlsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQgeyB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEhvc3RDbGFzc01hcCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdENsYXNzTWFwID0ge1xuICAgICAgICAgICAgWydncmlkLWNvbCddOiB0cnVlLFxuICAgICAgICAgICAgW2BncmlkLWNvbC0ke3RoaXMuR0lQSVNwYW59YF06IE9iamVjdFV0aWwuaXNOb3ROaWwodGhpcy5HSVBJU3BhbiksXG4gICAgICAgICAgICBbYGdyaWQtY29sLW9yZGVyLSR7dGhpcy5HSVBJT3JkZXJ9YF06IE9iamVjdFV0aWwuaXNOb3ROaWwodGhpcy5HSVBJT3JkZXIpLFxuICAgICAgICAgICAgW2BncmlkLWNvbC1vZmZzZXQtJHt0aGlzLkdJUElPZmZzZXR9YF06IE9iamVjdFV0aWwuaXNOb3ROaWwodGhpcy5HSVBJT2Zmc2V0KSxcbiAgICAgICAgICAgIFtgZ3JpZC1jb2wtcHVsbC0ke3RoaXMuR0lQSVB1bGx9YF06IE9iamVjdFV0aWwuaXNOb3ROaWwodGhpcy5HSVBJUHVsbCksXG4gICAgICAgICAgICBbYGdyaWQtY29sLXB1c2gtJHt0aGlzLkdJUElQdXNofWBdOiBPYmplY3RVdGlsLmlzTm90TmlsKHRoaXMuR0lQSVB1c2gpLFxuICAgICAgICAgICAgLi4udGhpcy5fZ2VuZXJhdGVDbGFzcygpXG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCBpIGluIHRoaXMuX2NsYXNzTWFwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2xhc3NNYXAuaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NsYXNzTWFwID0geyAuLi5ob3N0Q2xhc3NNYXAgfTtcbiAgICAgICAgZm9yIChjb25zdCBpIGluIHRoaXMuX2NsYXNzTWFwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2xhc3NNYXAuaGFzT3duUHJvcGVydHkoaSkgJiYgdGhpcy5fY2xhc3NNYXBbaV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEhvc3RGbGV4U3R5bGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdEZsZXhTdHlsZSA9IHRoaXMuX3BhcnNlRmxleCh0aGlzLkdJUElGbGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wYXJzZUZsZXgoZmxleDogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAodHlwZW9mIGZsZXggPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZmxleH0gJHtmbGV4fSBhdXRvYDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZmxleCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmICgvXlxcZCsoXFwuXFxkKyk/KHB4fGVtfHJlbXwlKSQvLnRlc3QoZmxleCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYDAgMCAke2ZsZXh9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmxleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUNsYXNzKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IGxpc3RPZlNpemVJbnB1dE5hbWU6IEFycmF5PGtleW9mIEdJUElDb2xEaXJlY3RpdmU+ID0gWydHSVBJWHMnLCAnR0lQSVNtJywgJ0dJUElNZCcsICdHSVBJTGcnLCAnR0lQSVhsJywgJ0dJUElYWGwnXTtcbiAgICAgICAgY29uc3QgbGlzdENsYXNzTWFwOiBHSVBJQ2xhc3NJbnRlcmZhY2UgPSB7fTtcblxuICAgICAgICBsaXN0T2ZTaXplSW5wdXROYW1lLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzaXplTmFtZTogc3RyaW5nID0gbmFtZS5yZXBsYWNlKCdHSVBJJywgJycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIGlmIChPYmplY3RVdGlsLmlzTm90TmlsKHRoaXNbbmFtZV0pKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzW25hbWVdID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdGhpc1tuYW1lXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdENsYXNzTWFwW2BncmlkLWNvbC0ke3NpemVOYW1lfS0ke3RoaXNbbmFtZV19YF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVtYmVkZGVkID0gdGhpc1tuYW1lXSBhcyBFbWJlZGRlZFByb3BlcnR5O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmVmaXhBcnJheTogQXJyYXk8a2V5b2YgRW1iZWRkZWRQcm9wZXJ0eT4gPSBbJ3NwYW4nLCAncHVsbCcsICdwdXNoJywgJ29mZnNldCcsICdvcmRlciddO1xuXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeEFycmF5LmZvckVhY2gocHJlZml4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZWZpeENsYXNzOiBzdHJpbmcgPSBwcmVmaXggPT09ICdzcGFuJyA/ICctJyA6IGAtJHtwcmVmaXh9LWA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0Q2xhc3NNYXBbYGdyaWQtY29sLSR7c2l6ZU5hbWV9JHtwcmVmaXhDbGFzc30ke2VtYmVkZGVkW3ByZWZpeF19YF0gPSBlbWJlZGRlZCAmJiBPYmplY3RVdGlsLmlzTm90TmlsKGVtYmVkZGVkW3ByZWZpeF0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbGlzdENsYXNzTWFwO1xuICAgIH1cblxufVxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvbGF5b3V0LWdyaWQvY29sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFrQm5EO0lBZ0NJLDBCQUNZLFVBQXNCLEVBQ0gsZ0JBQWtDLEVBQ3RELFFBQW1CO1FBRmxCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDSCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3RELGFBQVEsR0FBUixRQUFRLENBQVc7UUFqQ3RCLGNBQVMsR0FBK0IsRUFBRSxDQUFDO1FBRTNDLGNBQVMsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVwRCxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFFM0IsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFFeEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFFeEMsY0FBUyxHQUEyQixJQUFJLENBQUM7UUFFekMsZUFBVSxHQUEyQixJQUFJLENBQUM7UUFFMUMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFFeEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFFeEMsV0FBTSxHQUE4QyxJQUFJLENBQUM7UUFFekQsV0FBTSxHQUE4QyxJQUFJLENBQUM7UUFFekQsV0FBTSxHQUE4QyxJ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TUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDN0gsQ0FBQyxDQUFDLENBQUM7aUJBQ047YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQzs7Z0JBeEZ1QixVQUFVO2dCQUNlLGdCQUFnQix1QkFBNUQsUUFBUSxZQUFJLElBQUk7Z0JBQ0EsU0FBUzs7SUEzQnJCO1FBQVIsS0FBSyxFQUFFOztzREFBeUM7SUFFeEM7UUFBUixLQUFLLEVBQUU7O3NEQUF5QztJQUV4QztRQUFSLEtBQUssRUFBRTs7dURBQTBDO0lBRXpDO1FBQVIsS0FBSyxFQUFFOzt3REFBMkM7SUFFMUM7UUFBUixLQUFLLEVBQUU7O3NEQUF5QztJQUV4QztRQUFSLEtBQUssRUFBRTs7c0RBQXlDO0lBRXhDO1FBQVIsS0FBSyxFQUFFOztvREFBMEQ7SUFFekQ7UUFBUixLQUFLLEVBQUU7O29EQUEwRDtJQUV6RDtRQUFSLEtBQUssRUFBRTs7b0RBQTBEO0lBRXpEO1FBQVIsS0FBSyxFQUFFOztvREFBMEQ7SUFFekQ7UUFBUixLQUFLLEVBQUU7O29EQUEwRDtJQUV6RDtRQUFSLEtBQUssRUFBRTs7cURBQTJEO0lBOUIxRCxnQkFBZ0I7UUFSNUIsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLDZCQUE2QjtZQUN2QyxRQUFRLEVBQUUsU0FBUztZQUNuQixJQUFJLEVBQUU7Z0JBQ0YsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLGNBQWMsRUFBRSxlQUFlO2FBQ2xDO1NBQ0osQ0FBQztRQW1DTyxXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxJQUFJLEVBQUUsQ0FBQTt5Q0FEQyxVQUFVO1lBQ2UsZ0JBQWdCO1lBQzVDLFNBQVM7T0FuQ3JCLGdCQUFnQixDQTJINUI7SUFBRCx1QkFBQztDQUFBLEFBM0hELElBMkhDO1NBM0hZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgR0lQSUNsYXNzSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcy9uZy1jbGFzcy50eXBlJztcbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IEdJUElSb3dEaXJlY3RpdmUgfSBmcm9tICcuL3Jvdy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVtYmVkZGVkUHJvcGVydHkge1xuICAgIHNwYW4/OiBudW1iZXI7XG4gICAgcHVsbD86IG51bWJlcjtcbiAgICBwdXNoPzogbnVtYmVyO1xuICAgIG9mZnNldD86IG51bWJlcjtcbiAgICBvcmRlcj86IG51bWJlcjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZ2lwaS1jb2xdLGdpcGktY29sLEdJUElDb2wnLFxuICAgIGV4cG9ydEFzOiAnZ2lwaUNvbCcsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ3JpZC1jb2wnLFxuICAgICAgICAnW3N0eWxlLmZsZXhdJzogJ2hvc3RGbGV4U3R5bGUnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBHSVBJQ29sRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIF9jbGFzc01hcDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHVua25vd24+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGhvc3RGbGV4U3R5bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSUZsZXg6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSVNwYW46IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSU9yZGVyOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElPZmZzZXQ6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSVB1c2g6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSVB1bGw6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSVhzOiBzdHJpbmcgfCBudW1iZXIgfCBFbWJlZGRlZFByb3BlcnR5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKSBHSVBJU206IHN0cmluZyB8IG51bWJlciB8IEVtYmVkZGVkUHJvcGVydHkgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElNZDogc3RyaW5nIHwgbnVtYmVyIHwgRW1iZWRkZWRQcm9wZXJ0eSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgR0lQSUxnOiBzdHJpbmcgfCBudW1iZXIgfCBFbWJlZGRlZFByb3BlcnR5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKSBHSVBJWGw6IHN0cmluZyB8IG51bWJlciB8IEVtYmVkZGVkUHJvcGVydHkgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIEdJUElYWGw6IHN0cmluZyB8IG51bWJlciB8IEVtYmVkZGVkUHJvcGVydHkgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHVibGljIEdJUElSb3dEaXJlY3RpdmU6IEdJUElSb3dEaXJlY3RpdmUsXG4gICAgICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRIb3N0Q2xhc3NNYXAoKTtcbiAgICAgICAgdGhpcy5fc2V0SG9zdEZsZXhTdHlsZSgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0SG9zdENsYXNzTWFwKCk7XG5cbiAgICAgICAgY29uc3QgeyBHSVBJRmxleCB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKEdJUElGbGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRIb3N0RmxleFN0eWxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7IH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0SG9zdENsYXNzTWFwKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBob3N0Q2xhc3NNYXAgPSB7XG4gICAgICAgICAgICBbJ2dyaWQtY29sJ106IHRydWUsXG4gICAgICAgICAgICBbYGdyaWQtY29sLSR7dGhpcy5HSVBJU3Bhbn1gXTogIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuR0lQSVNwYW4pLFxuICAgICAgICAgICAgW2BncmlkLWNvbC1vcmRlci0ke3RoaXMuR0lQSU9yZGVyfWBdOiAhT2JqZWN0VXRpbC5pc051bGwodGhpcy5HSVBJT3JkZXIpLFxuICAgICAgICAgICAgW2BncmlkLWNvbC1vZmZzZXQtJHt0aGlzLkdJUElPZmZzZXR9YF06ICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLkdJUElPZmZzZXQpLFxuICAgICAgICAgICAgW2BncmlkLWNvbC1wdWxsLSR7dGhpcy5HSVBJUHVsbH1gXTogIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuR0lQSVB1bGwpLFxuICAgICAgICAgICAgW2BncmlkLWNvbC1wdXNoLSR7dGhpcy5HSVBJUHVzaH1gXTogIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuR0lQSVB1c2gpLFxuICAgICAgICAgICAgLi4udGhpcy5fZ2VuZXJhdGVDbGFzcygpXG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCBpIGluIHRoaXMuX2NsYXNzTWFwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2xhc3NNYXAuaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NsYXNzTWFwID0geyAuLi5ob3N0Q2xhc3NNYXAgfTtcbiAgICAgICAgZm9yIChjb25zdCBpIGluIHRoaXMuX2NsYXNzTWFwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2xhc3NNYXAuaGFzT3duUHJvcGVydHkoaSkgJiYgdGhpcy5fY2xhc3NNYXBbaV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEhvc3RGbGV4U3R5bGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdEZsZXhTdHlsZSA9IHRoaXMuX3BhcnNlRmxleCh0aGlzLkdJUElGbGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wYXJzZUZsZXgoZmxleDogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAodHlwZW9mIGZsZXggPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZmxleH0gJHtmbGV4fSBhdXRvYDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZmxleCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmICgvXlxcZCsoXFwuXFxkKyk/KHB4fGVtfHJlbXwlKSQvLnRlc3QoZmxleCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYDAgMCAke2ZsZXh9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmxleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUNsYXNzKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IGxpc3RPZlNpemVJbnB1dE5hbWU6IEFycmF5PGtleW9mIEdJUElDb2xEaXJlY3RpdmU+ID0gWydHSVBJWHMnLCAnR0lQSVNtJywgJ0dJUElNZCcsICdHSVBJTGcnLCAnR0lQSVhsJywgJ0dJUElYWGwnXTtcbiAgICAgICAgY29uc3QgbGlzdENsYXNzTWFwOiBHSVBJQ2xhc3NJbnRlcmZhY2UgPSB7fTtcblxuICAgICAgICBsaXN0T2ZTaXplSW5wdXROYW1lLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzaXplTmFtZTogc3RyaW5nID0gbmFtZS5yZXBsYWNlKCdHSVBJJywgJycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpc1tuYW1lXSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXNbbmFtZV0gPT09ICdudW1iZXInIHx8IHR5cGVvZiB0aGlzW25hbWVdID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICBsaXN0Q2xhc3NNYXBbYGdyaWQtY29sLSR7c2l6ZU5hbWV9LSR7dGhpc1tuYW1lXX1gXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW1iZWRkZWQgPSB0aGlzW25hbWVdIGFzIEVtYmVkZGVkUHJvcGVydHk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZWZpeEFycmF5OiBBcnJheTxrZXlvZiBFbWJlZGRlZFByb3BlcnR5PiA9IFsnc3BhbicsICdwdWxsJywgJ3B1c2gnLCAnb2Zmc2V0JywgJ29yZGVyJ107XG5cbiAgICAgICAgICAgICAgICAgICAgcHJlZml4QXJyYXkuZm9yRWFjaChwcmVmaXggPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlZml4Q2xhc3M6IHN0cmluZyA9IHByZWZpeCA9PT0gJ3NwYW4nID8gJy0nIDogYC0ke3ByZWZpeH0tYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RDbGFzc01hcFtgZ3JpZC1jb2wtJHtzaXplTmFtZX0ke3ByZWZpeENsYXNzfSR7ZW1iZWRkZWRbcHJlZml4XX1gXSA9IGVtYmVkZGVkICYmICFPYmplY3RVdGlsLmlzTnVsbChlbWJlZGRlZFtwcmVmaXhdKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGxpc3RDbGFzc01hcDtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -60,7 +60,7 @@ var MonthPickerModel = /** @class */ (function () {
60
60
  this.selectedYearMoment = moment();
61
61
  this.updateYearText();
62
62
  this.selectedMonthMoment = moment();
63
- this.months = moment.monthsShort().map(function (month) { return month + "."; });
63
+ this.months = ['Jan.', 'Fev.', 'Mar.', 'Abr.', 'Mai.', 'Jun.', 'Jul.', 'Ago.', 'Set.', 'Out.', 'Nov.', 'Dez.'];
64
64
  this.selectedMonthIndex = this.selectedMonthMoment.month();
65
65
  this.selectedMonthYear = this.selectedYearMoment.year();
66
66
  }
@@ -502,4 +502,4 @@ var MonthYearPickerComponent = /** @class */ (function () {
502
502
  return MonthYearPickerComponent;
503
503
  }());
504
504
  export { MonthYearPickerComponent };
505
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgteWVhci1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9tb250aC15ZWFyLXBpY2tlci9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN1EsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMs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LFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7eUNBUFYsVUFBVTtZQUNELGlCQUFpQjtZQUMzQixPQUFPO1lBQ1IsTUFBTTtZQUNJLGdCQUFnQixVQUVqQixjQUFjO09BckluQyx3QkFBd0IsQ0FzVnBDO0lBQUQsK0JBQUM7Q0FBQSxBQXRWRCxJQXNWQztTQXRWWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFU0NBUEUsIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4vLi4vLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5cbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbmltcG9ydCB7IENhbGVuZGFyTW9udGhZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci1tb250aC15ZWFyL2NhbGVuZGFyLW1vbnRoLXllYXIuY29tcG9uZW50JztcblxuXG5leHBvcnQgY29uc3QgR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjwoKSA9PiBTY3JvbGxTdHJhdGVneT4oJ2dpcGktbW9udGgteWVhci1zY3JvbGwtc3RyYXRlZ3knKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBHSVBJX01PTlRIX1lFQVJfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUlkob3ZlcmxheTogT3ZlcmxheSk6ICgpID0+IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICByZXR1cm4gKCkgPT4gb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBHSVBJX01PTlRIX1lFQVJfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBkZXBzOiBbT3ZlcmxheV0sXG4gICAgdXNlRmFjdG9yeTogR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWV9GQUNUT1JZLFxufTtcblxuXG5leHBvcnQgY2xhc3MgTW9udGhZZWFyIHtcbiAgICBwcml2YXRlIF9tb250aDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3llYXI6IG51bWJlcjtcblxuICAgIHB1YmxpYyBnZXQgZGF0ZSgpOiBEYXRlIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG1vbWVudCgpLmRheSgxKS5tb250aCh0aGlzLm1vbnRoKS55ZWFyKHRoaXMueWVhcikuc3RhcnRPZignZGF5JykudG9EYXRlKCk7XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbW9udGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgeWVhcigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5feWVhcjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihtb250aD86IG51bWJlciwgeWVhcj86IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tb250aCA9IG1vbnRoO1xuICAgICAgICB0aGlzLl95ZWFyID0geWVhcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb250aFBpY2tlck1vZGVsIHtcbiAgICBzZWxlY3RlZFllYXJNb21lbnQ6IG1vbWVudC5Nb21lbnQ7XG4gICAgc2VsZWN0ZWRZZWFyVGV4dDogc3RyaW5nO1xuXG4gICAgc2VsZWN0ZWRNb250aE1vbWVudDogbW9tZW50Lk1vbWVudDtcbiAgICBzZWxlY3RlZE1vbnRoSW5kZXg6IG51bWJlcjtcbiAgICBzZWxlY3RlZE1vbnRoWWVhcjogbnVtYmVyO1xuXG4gICAgbW9udGhzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFllYXJNb21lbnQgPSBtb21lbnQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVZZWFyVGV4dCgpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aE1vbWVudCA9IG1vbWVudCgpO1xuXG4gICAgICAgIHRoaXMubW9udGhzID0gbW9tZW50Lm1vbnRoc1Nob3J0KCkubWFwKG1vbnRoID0+IGAke21vbnRofS5gKTtcblxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGhJbmRleCA9IHRoaXMuc2VsZWN0ZWRNb250aE1vbWVudC5tb250aCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGhZZWFyID0gdGhpcy5zZWxlY3RlZFllYXJNb21lbnQueWVhcigpO1xuICAgIH1cblxuICAgIHVwZGF0ZVllYXJUZXh0KCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkWWVhclRleHQgPSAhT2JqZWN0VXRpbC5pc051bGwobW9tZW50KSA/IG1vbWVudCh0aGlzLnNlbGVjdGVkWWVhck1vbWVudCkuZm9ybWF0KCdZWVlZJykgOiAnJztcbiAgICB9XG5cbiAgICBzZWxlY3RNb250aChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aE1vbWVudCA9IG1vbWVudCgpLm1vbnRoKGluZGV4KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoSW5kZXggPSB0aGlzLnNlbGVjdGVkTW9udGhNb21lbnQubW9udGgoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoWWVhciA9IHRoaXMuc2VsZWN0ZWRZZWFyTW9tZW50LnllYXIoKTtcbiAgICB9XG5cbiAgICBpbmNyZW1lbnRZZWFyKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkWWVhck1vbWVudCA9IHRoaXMuc2VsZWN0ZWRZZWFyTW9tZW50LmFkZCgxLCBcInllYXJcIilcbiAgICAgICAgdGhpcy51cGRhdGVZZWFyVGV4dCgpO1xuICAgIH1cblxuICAgIGRlY3JlbWVudFllYXIoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyTW9tZW50ID0gdGhpcy5zZWxlY3RlZFllYXJNb21lbnQuc3VidHJhY3QoMSwgXCJ5ZWFyXCIpXG4gICAgICAgIHRoaXMudXBkYXRlWWVhclRleHQoKTtcbiAgICB9XG59XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dpcGktbW9udGgteWVhci1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9udGgteWVhci1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKTogdHlwZW9mIE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCA9PiBNb250aFllYXJQaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktbW9udGgteWVhci1waWNrZXInLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0TW9udGhZZWFyQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSwgfSkgaW5wdXRNb250aFllYXJDb250ZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nID0gYGdpcGktZGF0ZS1yYW5nZS0ke25leHRVbmlxdWVJZCsrfWA7XG5cbiAgICBwcml2YXRlIF9zY3JvbGxTdHJhdGVneTogKCkgPT4gU2Nyb2xsU3RyYXRlZ3k7XG5cbiAgICBwcml2YXRlIF9wb3B1cFJlZjogT3ZlcmxheVJlZiB8IG51bGw7XG4gICAgcHJpdmF0ZSBfcG9wdXBDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxDYWxlbmRhck1vbnRoWWVhckNvbXBvbmVudD4gfCBudWxsO1xuICAgIHByaXZhdGUgX2ZvY3VzZWRFbGVtZW50QmVmb3JlT3BlbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9iYWNrZHJvcEhhcm5lc3NDbGFzcyA9IGAke3RoaXMuX25hbWV9LWJhY2tkcm9wYDtcblxuICAgIHJlYWRvbmx5IF9zdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHVibGljIHZhbHVlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgcHVibGljIG1vZGVsOiBNb250aFBpY2tlck1vZGVsO1xuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGAke3RoaXMuX25hbWV9LWRhdGVgO1xuXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gYCR7dGhpcy5fbmFtZX0tZGF0ZWA7XG5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKSBoZWxwOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHllYXI6IG51bWJlcjtcbiAgICBASW5wdXQoKSBtb250aDogbnVtYmVyO1xuXG4gICAgLy8gQElucHV0KCkgZW5hYmxlZE1vbnRoczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuICAgIC8vIEBJbnB1dCgpIGRpc2FibGVkTW9udGhzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgICAvLyBASW5wdXQoKSBlbmFibGVkWWVhcnM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgICAvLyBASW5wdXQoKSBkaXNhYmxlZFllYXJzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHhQb3NpdGlvbjogJ3N0YXJ0JyB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAgIEBJbnB1dCgpIHlQb3NpdGlvbjogJ2Fib3ZlJyB8ICdiZWxvdycgPSAnYmVsb3cnO1xuXG4gICAgQElucHV0KCkgY2FsZW5kYXJWaWV3OiAnYm90aCcgfCAneWVhcicgPSAnYm90aCc7XG5cbiAgICBwcml2YXRlIF9vcGVuZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBnZXQgb3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3BlbmVkO1xuICAgIH1cbiAgICBzZXQgb3BlbmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkgPyB0aGlzLm9wZW4oKSA6IHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbWluOiBNb250aFllYXIgPSBudWxsO1xuICAgIEBJbnB1dCgpIGdldCBtaW4oKTogTW9udGhZZWFyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pbjtcbiAgICB9XG4gICAgc2V0IG1pbih2YWx1ZTogTW9udGhZZWFyKSB7XG4gICAgICAgIHRoaXMuX21pbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21heDogTW9udGhZZWFyID0gbnVsbDtcbiAgICBASW5wdXQoKSBnZXQgbWF4KCk6IE1vbnRoWWVhciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXg7XG4gICAgfVxuICAgIHNldCBtYXgodmFsdWU6IE1vbnRoWWVhcikge1xuICAgICAgICB0aGlzLl9tYXggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZTogTW9udGhZZWFyO1xuICAgIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBNb250aFllYXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuICAgIHNldCB2YWx1ZSh2YWx1ZTogTW9udGhZZWFyKSB7XG4gICAgICAgIGxldCB2YWx1ZUF1eDogTW9udGhZZWFyID0gdmFsdWU7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlQXV4ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWVBdXgpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5jYWxlbmRhclZpZXcpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdib3RoJzoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlTGFiZWwgPSBtb21lbnQodmFsdWVBdXguZGF0ZSkuZm9ybWF0KCdNTS9ZWVlZJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICd5ZWFyJzoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlTGFiZWwgPSBtb21lbnQodmFsdWVBdXguZGF0ZSkuZm9ybWF0KCdZWVlZJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVMYWJlbCA9IG1vbWVudCh2YWx1ZUF1eC5kYXRlKS5mb3JtYXQoJ01NL1lZWVknKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZUF1eDtcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIEBPdXRwdXQoJ29wZW5lZCcpIG9wZW5lZFN0cmVhbTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoJ2Nsb3NlZCcpIGNsb3NlZFN0cmVhbTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuXG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHsgfTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChHSVBJX01PTlRIX1lFQVJfU0NST0xMX1NUUkFURUdZKSBzY3JvbGxTdHJhdGVneTogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxuICAgICkge1xuICAgICAgICB0aGlzLl9zY3JvbGxTdHJhdGVneSA9IHNjcm9sbFN0cmF0ZWd5O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGVsID0gbmV3IE1vbnRoUGlja2VyTW9kZWwoKTtcblxuICAgICAgICBpZiAodGhpcy55ZWFyKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdGVkWWVhck1vbWVudCA9IG1vbWVudCgpLnllYXIodGhpcy55ZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1vbnRoKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdGVkTW9udGhJbmRleCA9IHRoaXMubW9udGg7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdGVkTW9udGhNb21lbnQgPSBtb21lbnQoKS5tb250aCh0aGlzLm1vbnRoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMueWVhcikge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuc2VsZWN0ZWRNb250aFllYXIgPSB0aGlzLnllYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vZGVsLnVwZGF0ZVllYXJUZXh0KCk7XG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbCh0aGlzLm1vbnRoKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLnllYXIpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSh0aGlzLm1vZGVsLnNlbGVjdGVkTW9udGhJbmRleCwgdGhpcy5tb2RlbC5zZWxlY3RlZE1vbnRoWWVhcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uQ2hhbmdlID0gY2hhbmdlc1sneFBvc2l0aW9uJ10gfHwgY2hhbmdlc1sneVBvc2l0aW9uJ107XG5cbiAgICAgICAgaWYgKHBvc2l0aW9uQ2hhbmdlICYmICFwb3NpdGlvbkNoYW5nZS5maXJzdENoYW5nZSAmJiB0aGlzLl9wb3B1cFJlZikge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q29ubmVjdGVkUG9zaXRpb25zKHRoaXMuX3BvcHVwUmVmLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcG9wdXBSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lQb3B1cCgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IE1vbnRoWWVhcik6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmFsdWVDaGFuZ2UobW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG1vbnRoWWVhcjogTW9udGhZZWFyID0gbmV3IE1vbnRoWWVhcihtb250aCwgeWVhcik7XG4gICAgICAgIHRoaXMudmFsdWUgPSBtb250aFllYXI7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX29wZW5lZCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlucHV0TW9udGhZZWFyQ29udGVudFJlZikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0F0dGVtcHRlZCB0byBvcGVuIGFuIE1vbnRoWWVhclBpY2tlciB3aXRoIG5vIGFzc29jaWF0ZWQgaW5wdXQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2RvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c2VkRWxlbWVudEJlZm9yZU9wZW4gPSB0aGlzLl9kb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb3BlbkFzUG9wdXAoKTtcbiAgICAgICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuZWRTdHJlYW0uZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9vcGVuZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fcG9wdXBDb21wb25lbnRSZWYgJiYgdGhpcy5fcG9wdXBSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5fcG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICBpbnN0YW5jZS5fc3RhcnRFeGl0QW5pbWF0aW9uKCk7XG4gICAgICAgICAgICBpbnN0YW5jZS5fYW5pbWF0aW9uRG9uZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9kZXN0cm95UG9wdXAoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb21wbGV0ZUNsb3NlID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX29wZW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VkU3RyZWFtLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c2VkRWxlbWVudEJlZm9yZU9wZW4gPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0aGlzLl9mb2N1c2VkRWxlbWVudEJlZm9yZU9wZW4gJiZcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLl9mb2N1c2VkRWxlbWVudEJlZm9yZU9wZW4uZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRFbGVtZW50QmVmb3JlT3Blbi5mb2N1cygpO1xuICAgICAgICAgICAgc2V0VGltZW91dChjb21wbGV0ZUNsb3NlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbXBsZXRlQ2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX29wZW5Bc1BvcHVwKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxDYWxlbmRhck1vbnRoWWVhckNvbXBvbmVudD4gPSBuZXcgQ29tcG9uZW50UG9ydGFsPENhbGVuZGFyTW9udGhZZWFyQ29tcG9uZW50PihDYWxlbmRhck1vbnRoWWVhckNvbXBvbmVudCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveVBvcHVwKCk7XG4gICAgICAgIHRoaXMuX2NyZWF0ZVBvcHVwKCk7XG4gICAgICAgIHRoaXMuX3BvcHVwQ29tcG9uZW50UmVmID0gdGhpcy5fcG9wdXBSZWYhLmF0dGFjaChwb3J0YWwpO1xuICAgICAgICB0aGlzLl9wb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5tb250aFllYXJQaWNrZXIgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9wb3B1cFJlZiEudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRNb250aFllYXJDb250ZW50UmVmID8gdGhpcy5pbnB1dE1vbnRoWWVhckNvbnRlbnRSZWYgOiB0aGlzLmVsZW1lbnRSZWY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlUG9wdXAoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2dldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKSlcbiAgICAgICAgICAgIC53aXRoVHJhbnNmb3JtT3JpZ2luT24oJy5tYXQtZGF0ZXBpY2tlci1jb250ZW50JylcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbig4KVxuICAgICAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9zZXRDb25uZWN0ZWRQb3NpdGlvbnMocG9zaXRpb25TdHJhdGVneSksXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnbWF0LW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLCB0aGlzLl9iYWNrZHJvcEhhcm5lc3NDbGFzc10sXG4gICAgICAgICAgICBkaXJlY3Rpb246IHRoaXMuX2RpciB8fCAnbHRyJyxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9zY3JvbGxTdHJhdGVneSgpLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ21hdC1tb250aC15ZWFyLXBpY2tlci1wb3B1cCcsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3BvcHVwUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gICAgICAgIHRoaXMuX3BvcHVwUmVmLm92ZXJsYXlFbGVtZW50LnNldEF0dHJpYnV0ZSgncm9sZScsICdkaWFsb2cnKTtcblxuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwUmVmLmJhY2tkcm9wQ2xpY2soKSxcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwUmVmLmRldGFjaG1lbnRzKCksXG4gICAgICAgICAgICB0aGlzLl9wb3B1cFJlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFIHx8ICh0aGlzLmlucHV0TW9udGhZZWFyQ29udGVudFJlZiAmJiBldmVudC5hbHRLZXkgJiYgZXZlbnQua2V5Q29kZSA9PT0gVVBfQVJST1cpKSlcbiAgICAgICAgKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZXN0cm95UG9wdXAoKSB7XG4gICAgICAgIGlmICh0aGlzLl9wb3B1cFJlZikge1xuICAgICAgICAgICAgdGhpcy5fcG9wdXBSZWYuZGlzcG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5fcG9wdXBSZWYgPSB0aGlzLl9wb3B1cENvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDb25uZWN0ZWRQb3NpdGlvbnMoc3RyYXRlZ3k6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkge1xuICAgICAgICBjb25zdCBwcmltYXJ5WCA9IHRoaXMueFBvc2l0aW9uID09PSAnZW5kJyA/ICdlbmQnIDogJ3N0YXJ0JztcbiAgICAgICAgY29uc3Qgc2Vjb25kYXJ5WCA9IHByaW1hcnlYID09PSAnc3RhcnQnID8gJ2VuZCcgOiAnc3RhcnQnO1xuICAgICAgICBjb25zdCBwcmltYXJ5WSA9IHRoaXMueVBvc2l0aW9uID09PSAnYWJvdmUnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgICAgICAgY29uc3Qgc2Vjb25kYXJ5WSA9IHByaW1hcnlZID09PSAndG9wJyA/ICdib3R0b20nIDogJ3RvcCc7XG5cbiAgICAgICAgcmV0dXJuIHN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6IHByaW1hcnlYLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6IHNlY29uZGFyeVksXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6IHByaW1hcnlYLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiBwcmltYXJ5WVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiBwcmltYXJ5WCxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiBwcmltYXJ5WSxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogcHJpbWFyeVgsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6IHNlY29uZGFyeVlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogc2Vjb25kYXJ5WCxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiBzZWNvbmRhcnlZLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiBzZWNvbmRhcnlYLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiBwcmltYXJ5WVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiBzZWNvbmRhcnlYLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6IHByaW1hcnlZLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiBzZWNvbmRhcnlYLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiBzZWNvbmRhcnlZXG4gICAgICAgICAgICB9XG4gICAgICAgIF0pO1xuICAgIH1cblxufVxuIl19
505
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgteWVhci1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9tb250aC15ZWFyLXBpY2tlci9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN1EsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMs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Q0FBQyxDQUFBO1FBQ3ZDLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7eUNBUFYsVUFBVTtZQUNELGlCQUFpQjtZQUMzQixPQUFPO1lBQ1IsTUFBTTtZQUNJLGdCQUFnQixVQUVqQixjQUFjO09BckluQyx3QkFBd0IsQ0FzVnBDO0lBQUQsK0JBQUM7Q0FBQSxBQXRWRCxJQXNWQztTQXRWWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFU0NBUEUsIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4vLi4vLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5cbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbmltcG9ydCB7IENhbGVuZGFyTW9udGhZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci1tb250aC15ZWFyL2NhbGVuZGFyLW1vbnRoLXllYXIuY29tcG9uZW50JztcblxuXG5leHBvcnQgY29uc3QgR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjwoKSA9PiBTY3JvbGxTdHJhdGVneT4oJ2dpcGktbW9udGgteWVhci1zY3JvbGwtc3RyYXRlZ3knKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBHSVBJX01PTlRIX1lFQVJfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUlkob3ZlcmxheTogT3ZlcmxheSk6ICgpID0+IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICByZXR1cm4gKCkgPT4gb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBHSVBJX01PTlRIX1lFQVJfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBkZXBzOiBbT3ZlcmxheV0sXG4gICAgdXNlRmFjdG9yeTogR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWV9GQUNUT1JZLFxufTtcblxuXG5leHBvcnQgY2xhc3MgTW9udGhZZWFyIHtcbiAgICBwcml2YXRlIF9tb250aDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3llYXI6IG51bWJlcjtcblxuICAgIHB1YmxpYyBnZXQgZGF0ZSgpOiBEYXRlIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG1vbWVudCgpLmRheSgxKS5tb250aCh0aGlzLm1vbnRoKS55ZWFyKHRoaXMueWVhcikuc3RhcnRPZignZGF5JykudG9EYXRlKCk7XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbW9udGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgeWVhcigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5feWVhcjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihtb250aD86IG51bWJlciwgeWVhcj86IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tb250aCA9IG1vbnRoO1xuICAgICAgICB0aGlzLl95ZWFyID0geWVhcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb250aFBpY2tlck1vZGVsIHtcbiAgICBzZWxlY3RlZFllYXJNb21lbnQ6IG1vbWVudC5Nb21lbnQ7XG4gICAgc2VsZWN0ZWRZZWFyVGV4dDogc3RyaW5nO1xuXG4gICAgc2VsZWN0ZWRNb250aE1vbWVudDogbW9tZW50Lk1vbWVudDtcbiAgICBzZWxlY3RlZE1vbnRoSW5kZXg6IG51bWJlcjtcbiAgICBzZWxlY3RlZE1vbnRoWWVhcjogbnVtYmVyO1xuXG4gICAgbW9udGhzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFllYXJNb21lbnQgPSBtb21lbnQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVZZWFyVGV4dCgpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aE1vbWVudCA9IG1vbWVudCgpO1xuXG4gICAgICAgIHRoaXMubW9udGhzID0gWydKYW4uJywgJ0Zldi4nLCAnTWFyLicsICdBYnIuJywgJ01haS4nLCAnSnVuLicsICdKdWwuJywgJ0Fnby4nLCAnU2V0LicsICdPdXQuJywgJ05vdi4nLCAnRGV6LiddO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aEluZGV4ID0gdGhpcy5zZWxlY3RlZE1vbnRoTW9tZW50Lm1vbnRoKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aFllYXIgPSB0aGlzLnNlbGVjdGVkWWVhck1vbWVudC55ZWFyKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlWWVhclRleHQoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyVGV4dCA9ICFPYmplY3RVdGlsLmlzTnVsbChtb21lbnQpID8gbW9tZW50KHRoaXMuc2VsZWN0ZWRZZWFyTW9tZW50KS5mb3JtYXQoJ1lZWVknKSA6ICcnO1xuICAgIH1cblxuICAgIHNlbGVjdE1vbnRoKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoTW9tZW50ID0gbW9tZW50KCkubW9udGgoaW5kZXgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGhJbmRleCA9IHRoaXMuc2VsZWN0ZWRNb250aE1vbWVudC5tb250aCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGhZZWFyID0gdGhpcy5zZWxlY3RlZFllYXJNb21lbnQueWVhcigpO1xuICAgIH1cblxuICAgIGluY3JlbWVudFllYXIoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyTW9tZW50ID0gdGhpcy5zZWxlY3RlZFllYXJNb21lbnQuYWRkKDEsIFwieWVhclwiKVxuICAgICAgICB0aGlzLnVwZGF0ZVllYXJUZXh0KCk7XG4gICAgfVxuXG4gICAgZGVjcmVtZW50WWVhcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFllYXJNb21lbnQgPSB0aGlzLnNlbGVjdGVkWWVhck1vbWVudC5zdWJ0cmFjdCgxLCBcInllYXJcIilcbiAgICAgICAgdGhpcy51cGRhdGVZZWFyVGV4dCgpO1xuICAgIH1cbn1cblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ2lwaS1tb250aC15ZWFyLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vbnRoLXllYXItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpOiB0eXBlb2YgTW9udGhZZWFyUGlja2VyQ29tcG9uZW50ID0+IE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS1tb250aC15ZWFyLXBpY2tlcicsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTW9udGhZZWFyUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRNb250aFllYXJDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlLCB9KSBpbnB1dE1vbnRoWWVhckNvbnRlbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBwcml2YXRlIF9uYW1lOiBzdHJpbmcgPSBgZ2lwaS1kYXRlLXJhbmdlLSR7bmV4dFVuaXF1ZUlkKyt9YDtcblxuICAgIHByaXZhdGUgX3Njcm9sbFN0cmF0ZWd5OiAoKSA9PiBTY3JvbGxTdHJhdGVneTtcblxuICAgIHByaXZhdGUgX3BvcHVwUmVmOiBPdmVybGF5UmVmIHwgbnVsbDtcbiAgICBwcml2YXRlIF9wb3B1cENvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPENhbGVuZGFyTW9udGhZZWFyQ29tcG9uZW50PiB8IG51bGw7XG4gICAgcHJpdmF0ZSBfZm9jdXNlZEVsZW1lbnRCZWZvcmVPcGVuOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX2JhY2tkcm9wSGFybmVzc0NsYXNzID0gYCR7dGhpcy5fbmFtZX0tYmFja2Ryb3BgO1xuXG4gICAgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwdWJsaWMgdmFsdWVMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBwdWJsaWMgbW9kZWw6IE1vbnRoUGlja2VyTW9kZWw7XG5cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gYCR7dGhpcy5fbmFtZX0tZGF0ZWA7XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSBgJHt0aGlzLl9uYW1lfS1kYXRlYDtcblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIGhlbHA6IHN0cmluZyA9ICcnO1xuXG4gICAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgeWVhcjogbnVtYmVyO1xuICAgIEBJbnB1dCgpIG1vbnRoOiBudW1iZXI7XG5cbiAgICAvLyBASW5wdXQoKSBlbmFibGVkTW9udGhzOiBBcnJheTxudW1iZXI+ID0gW107XG4gICAgLy8gQElucHV0KCkgZGlzYWJsZWRNb250aHM6IEFycmF5PG51bWJlcj4gPSBbXTtcblxuICAgIC8vIEBJbnB1dCgpIGVuYWJsZWRZZWFyczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuICAgIC8vIEBJbnB1dCgpIGRpc2FibGVkWWVhcnM6IEFycmF5PG51bWJlcj4gPSBbXTtcblxuICAgIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgeFBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gICAgQElucHV0KCkgeVBvc2l0aW9uOiAnYWJvdmUnIHwgJ2JlbG93JyA9ICdiZWxvdyc7XG5cbiAgICBASW5wdXQoKSBjYWxlbmRhclZpZXc6ICdib3RoJyB8ICd5ZWFyJyA9ICdib3RoJztcblxuICAgIHByaXZhdGUgX29wZW5lZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldCBvcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcGVuZWQ7XG4gICAgfVxuICAgIHNldCBvcGVuZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSA/IHRoaXMub3BlbigpIDogdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuICAgIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9taW46IE1vbnRoWWVhciA9IG51bGw7XG4gICAgQElucHV0KCkgZ2V0IG1pbigpOiBNb250aFllYXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgIH1cbiAgICBzZXQgbWluKHZhbHVlOiBNb250aFllYXIpIHtcbiAgICAgICAgdGhpcy5fbWluID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbWF4OiBNb250aFllYXIgPSBudWxsO1xuICAgIEBJbnB1dCgpIGdldCBtYXgoKTogTW9udGhZZWFyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heDtcbiAgICB9XG4gICAgc2V0IG1heCh2YWx1ZTogTW9udGhZZWFyKSB7XG4gICAgICAgIHRoaXMuX21heCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbHVlOiBNb250aFllYXI7XG4gICAgQElucHV0KCkgZ2V0IHZhbHVlKCk6IE1vbnRoWWVhciB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgc2V0IHZhbHVlKHZhbHVlOiBNb250aFllYXIpIHtcbiAgICAgICAgbGV0IHZhbHVlQXV4OiBNb250aFllYXIgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWVBdXggPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZUF1eCkge1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLmNhbGVuZGFyVmlldykge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdGgnOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVMYWJlbCA9IG1vbWVudCh2YWx1ZUF1eC5kYXRlKS5mb3JtYXQoJ01NL1lZWVknKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ3llYXInOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVMYWJlbCA9IG1vbWVudCh2YWx1ZUF1eC5kYXRlKS5mb3JtYXQoJ1lZWVknKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZUxhYmVsID0gbW9tZW50KHZhbHVlQXV4LmRhdGUpLmZvcm1hdCgnTU0vWVlZWScpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlQXV4O1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCh0aGlzLl92YWx1ZSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgnb3BlbmVkJykgb3BlbmVkU3RyZWFtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgnY2xvc2VkJykgY2xvc2VkU3RyZWFtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBvbkNoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB7IH07XG5cbiAgICBvblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBASW5qZWN0KEdJUElfTU9OVEhfWUVBUl9TQ1JPTExfU1RSQVRFR1kpIHNjcm9sbFN0cmF0ZWd5OiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbFN0cmF0ZWd5ID0gc2Nyb2xsU3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kZWwgPSBuZXcgTW9udGhQaWNrZXJNb2RlbCgpO1xuXG4gICAgICAgIGlmICh0aGlzLnllYXIpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuc2VsZWN0ZWRZZWFyTW9tZW50ID0gbW9tZW50KCkueWVhcih0aGlzLnllYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubW9udGgpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuc2VsZWN0ZWRNb250aEluZGV4ID0gdGhpcy5tb250aDtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuc2VsZWN0ZWRNb250aE1vbWVudCA9IG1vbWVudCgpLm1vbnRoKHRoaXMubW9udGgpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy55ZWFyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5zZWxlY3RlZE1vbnRoWWVhciA9IHRoaXMueWVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubW9kZWwudXBkYXRlWWVhclRleHQoKTtcbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKHRoaXMubW9udGgpICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMueWVhcikpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlKHRoaXMubW9kZWwuc2VsZWN0ZWRNb250aEluZGV4LCB0aGlzLm1vZGVsLnNlbGVjdGVkTW9udGhZZWFyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25DaGFuZ2UgPSBjaGFuZ2VzWyd4UG9zaXRpb24nXSB8fCBjaGFuZ2VzWyd5UG9zaXRpb24nXTtcblxuICAgICAgICBpZiAocG9zaXRpb25DaGFuZ2UgJiYgIXBvc2l0aW9uQ2hhbmdlLmZpcnN0Q2hhbmdlICYmIHRoaXMuX3BvcHVwUmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDb25uZWN0ZWRQb3NpdGlvbnModGhpcy5fcG9wdXBSZWYuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5vcGVuZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3B1cFJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5leHQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveVBvcHVwKCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5fc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogTW9udGhZZWFyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZShtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbW9udGhZZWFyOiBNb250aFllYXIgPSBuZXcgTW9udGhZZWFyKG1vbnRoLCB5ZWFyKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG1vbnRoWWVhcjtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fb3BlbmVkIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRNb250aFllYXJDb250ZW50UmVmKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignQXR0ZW1wdGVkIHRvIG9wZW4gYW4gTW9udGhZZWFyUGlja2VyIHdpdGggbm8gYXNzb2NpYXRlZCBpbnB1dC4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRFbGVtZW50QmVmb3JlT3BlbiA9IHRoaXMuX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9vcGVuQXNQb3B1cCgpO1xuICAgICAgICB0aGlzLl9vcGVuZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9wZW5lZFN0cmVhbS5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX29wZW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9wb3B1cENvbXBvbmVudFJlZiAmJiB0aGlzLl9wb3B1cFJlZikge1xuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLl9wb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGluc3RhbmNlLl9zdGFydEV4aXRBbmltYXRpb24oKTtcbiAgICAgICAgICAgIGluc3RhbmNlLl9hbmltYXRpb25Eb25lLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2Rlc3Ryb3lQb3B1cCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbXBsZXRlQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fb3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3BlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZWRTdHJlYW0uZW1pdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRFbGVtZW50QmVmb3JlT3BlbiA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHRoaXMuX2ZvY3VzZWRFbGVtZW50QmVmb3JlT3BlbiAmJlxuICAgICAgICAgICAgdHlwZW9mIHRoaXMuX2ZvY3VzZWRFbGVtZW50QmVmb3JlT3Blbi5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNlZEVsZW1lbnRCZWZvcmVPcGVuLmZvY3VzKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGNvbXBsZXRlQ2xvc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tcGxldGVDbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3BlbkFzUG9wdXAoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPENhbGVuZGFyTW9udGhZZWFyQ29tcG9uZW50PiA9IG5ldyBDb21wb25lbnRQb3J0YWw8Q2FsZW5kYXJNb250aFllYXJDb21wb25lbnQ+KENhbGVuZGFyTW9udGhZZWFyQ29tcG9uZW50LCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKTtcblxuICAgICAgICB0aGlzLl9kZXN0cm95UG9wdXAoKTtcbiAgICAgICAgdGhpcy5fY3JlYXRlUG9wdXAoKTtcbiAgICAgICAgdGhpcy5fcG9wdXBDb21wb25lbnRSZWYgPSB0aGlzLl9wb3B1cFJlZiEuYXR0YWNoKHBvcnRhbCk7XG4gICAgICAgIHRoaXMuX3BvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLm1vbnRoWWVhclBpY2tlciA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5fbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwUmVmIS51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDb25uZWN0ZWRPdmVybGF5T3JpZ2luKCk6IEVsZW1lbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE1vbnRoWWVhckNvbnRlbnRSZWYgPyB0aGlzLmlucHV0TW9udGhZZWFyQ29udGVudFJlZiA6IHRoaXMuZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVQb3B1cCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpKVxuICAgICAgICAgICAgLndpdGhUcmFuc2Zvcm1PcmlnaW5PbignLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQnKVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgICAgICAud2l0aFZpZXdwb3J0TWFyZ2luKDgpXG4gICAgICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKCk7XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX3NldENvbm5lY3RlZFBvc2l0aW9ucyhwb3NpdGlvblN0cmF0ZWd5KSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogWydtYXQtb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsIHRoaXMuX2JhY2tkcm9wSGFybmVzc0NsYXNzXSxcbiAgICAgICAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyIHx8ICdsdHInLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX3Njcm9sbFN0cmF0ZWd5KCksXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnbWF0LW1vbnRoLXllYXItcGlja2VyLXBvcHVwJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fcG9wdXBSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgICAgICAgdGhpcy5fcG9wdXBSZWYub3ZlcmxheUVsZW1lbnQuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2RpYWxvZycpO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5fcG9wdXBSZWYuYmFja2Ryb3BDbGljaygpLFxuICAgICAgICAgICAgdGhpcy5fcG9wdXBSZWYuZGV0YWNobWVudHMoKSxcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwUmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihldmVudCA9PiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUgfHwgKHRoaXMuaW5wdXRNb250aFllYXJDb250ZW50UmVmICYmIGV2ZW50LmFsdEtleSAmJiBldmVudC5rZXlDb2RlID09PSBVUF9BUlJPVykpKVxuICAgICAgICApLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rlc3Ryb3lQb3B1cCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3BvcHVwUmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9wb3B1cFJlZi5kaXNwb3NlKCk7XG4gICAgICAgICAgICB0aGlzLl9wb3B1cFJlZiA9IHRoaXMuX3BvcHVwQ29tcG9uZW50UmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldENvbm5lY3RlZFBvc2l0aW9ucyhzdHJhdGVneTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgICAgIGNvbnN0IHByaW1hcnlYID0gdGhpcy54UG9zaXRpb24gPT09ICdlbmQnID8gJ2VuZCcgOiAnc3RhcnQnO1xuICAgICAgICBjb25zdCBzZWNvbmRhcnlYID0gcHJpbWFyeVggPT09ICdzdGFydCcgPyAnZW5kJyA6ICdzdGFydCc7XG4gICAgICAgIGNvbnN0IHByaW1hcnlZID0gdGhpcy55UG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xuICAgICAgICBjb25zdCBzZWNvbmRhcnlZID0gcHJpbWFyeVkgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcblxuICAgICAgICByZXR1cm4gc3RyYXRlZ3kud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogcHJpbWFyeVgsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogc2Vjb25kYXJ5WSxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogcHJpbWFyeVgsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6IHByaW1hcnlZXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6IHByaW1hcnlYLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6IHByaW1hcnlZLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiBwcmltYXJ5WCxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogc2Vjb25kYXJ5WVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiBzZWNvbmRhcnlYLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6IHNlY29uZGFyeVksXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6IHNlY29uZGFyeVgsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6IHByaW1hcnlZXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6IHNlY29uZGFyeVgsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogcHJpbWFyeVksXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6IHNlY29uZGFyeVgsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6IHNlY29uZGFyeVlcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSk7XG4gICAgfVxuXG59XG4iXX0=