@taiga-ui/addon-commerce 2.28.0 → 2.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +7 -4
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.js +2 -2
- package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.js +284 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +1 -1
- package/components/input-card-grouped/input-card-grouped.component.d.ts +2 -1
- package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +1 -1
- package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +1 -1
- package/enums/currency-code.d.ts +141 -0
- package/enums/currency.d.ts +142 -1
- package/enums/taiga-ui-addon-commerce-enums.metadata.json +1 -1
- package/esm2015/components/input-card-grouped/input-card-grouped.component.js +9 -6
- package/esm2015/components/money/money.component.js +3 -3
- package/esm2015/enums/currency-code.js +142 -1
- package/esm2015/enums/currency.js +143 -2
- package/esm2015/utils/create-auto-corrected-expire-pipe.js +2 -2
- package/esm5/components/input-card-grouped/input-card-grouped.component.js +9 -6
- package/esm5/components/money/money.component.js +3 -3
- package/esm5/enums/currency-code.js +142 -1
- package/esm5/enums/currency.js +143 -2
- package/esm5/utils/create-auto-corrected-expire-pipe.js +2 -2
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -5
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-money.js +2 -2
- package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-enums.js +283 -1
- package/fesm2015/taiga-ui-addon-commerce-enums.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -5
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-money.js +2 -2
- package/fesm5/taiga-ui-addon-commerce-components-money.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-enums.js +283 -1
- package/fesm5/taiga-ui-addon-commerce-enums.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-utils.js +1 -1
- package/fesm5/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,23 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **Active ISO 4217 alphabetic currency codes**
|
|
3
|
+
*
|
|
4
|
+
* @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.
|
|
5
|
+
* @description Alphabetic code is also called "alfa-3".
|
|
6
|
+
*
|
|
7
|
+
* @link https://en.wikipedia.org/wiki/ISO_4217
|
|
8
|
+
*/
|
|
1
9
|
export var TuiCurrency;
|
|
2
10
|
(function (TuiCurrency) {
|
|
11
|
+
/**
|
|
12
|
+
* Russian ruble
|
|
13
|
+
*
|
|
14
|
+
* @description Numeric code: 643
|
|
15
|
+
* @description Alphabetic code: RUB
|
|
16
|
+
* @description Countries and territories: Russia
|
|
17
|
+
*/
|
|
3
18
|
TuiCurrency["Ruble"] = "RUB";
|
|
19
|
+
/**
|
|
20
|
+
* Euro
|
|
21
|
+
*
|
|
22
|
+
* @description Numeric code: 978
|
|
23
|
+
* @description Alphabetic code: EUR
|
|
24
|
+
* @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)
|
|
25
|
+
*/
|
|
4
26
|
TuiCurrency["Euro"] = "EUR";
|
|
27
|
+
/**
|
|
28
|
+
* United States dollar
|
|
29
|
+
*
|
|
30
|
+
* @description Numeric code: 840
|
|
31
|
+
* @description Alphabetic code: USD
|
|
32
|
+
* @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)
|
|
33
|
+
*/
|
|
5
34
|
TuiCurrency["Dollar"] = "USD";
|
|
35
|
+
/**
|
|
36
|
+
* Pound sterling
|
|
37
|
+
*
|
|
38
|
+
* @description Numeric code: 826
|
|
39
|
+
* @description Alphabetic code: GBP
|
|
40
|
+
* @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)
|
|
41
|
+
*/
|
|
6
42
|
TuiCurrency["Pound"] = "GBP";
|
|
43
|
+
/**
|
|
44
|
+
* Thai baht
|
|
45
|
+
*
|
|
46
|
+
* @description Numeric code: 764
|
|
47
|
+
* @description Alphabetic code: THB
|
|
48
|
+
* @description Countries and territories: Thailand
|
|
49
|
+
*/
|
|
7
50
|
TuiCurrency["Baht"] = "THB";
|
|
51
|
+
/**
|
|
52
|
+
* Turkish lira
|
|
53
|
+
*
|
|
54
|
+
* @description Numeric code: 949
|
|
55
|
+
* @description Alphabetic code: TRY
|
|
56
|
+
* @description Countries and territories: Turkey
|
|
57
|
+
*/
|
|
8
58
|
TuiCurrency["TurkishLira"] = "TRY";
|
|
59
|
+
/**
|
|
60
|
+
* Chinese yuan
|
|
61
|
+
*
|
|
62
|
+
* @description Numeric code: 156
|
|
63
|
+
* @description Alphabetic code: CNY
|
|
64
|
+
* @description Countries and territories: China
|
|
65
|
+
*/
|
|
9
66
|
TuiCurrency["YuanRenminbi"] = "CNY";
|
|
67
|
+
/**
|
|
68
|
+
* Kazakhstani tenge
|
|
69
|
+
*
|
|
70
|
+
* @description Numeric code: 398
|
|
71
|
+
* @description Alphabetic code: KZT
|
|
72
|
+
* @description Countries and territories: Kazakhstan
|
|
73
|
+
*/
|
|
10
74
|
TuiCurrency["Tenge"] = "KZT";
|
|
75
|
+
/**
|
|
76
|
+
* Israeli new shekel
|
|
77
|
+
*
|
|
78
|
+
* @description Numeric code: 376
|
|
79
|
+
* @description Alphabetic code: ILS
|
|
80
|
+
* @description Countries and territories: Israel
|
|
81
|
+
*/
|
|
11
82
|
TuiCurrency["IsraeliShekel"] = "ILS";
|
|
83
|
+
/**
|
|
84
|
+
* Indian rupee
|
|
85
|
+
*
|
|
86
|
+
* @description Numeric code: 356
|
|
87
|
+
* @description Alphabetic code: INR
|
|
88
|
+
* @description Countries and territories: India, Bhutan
|
|
89
|
+
*/
|
|
12
90
|
TuiCurrency["IndianRupee"] = "INR";
|
|
91
|
+
/**
|
|
92
|
+
* Japanese yen
|
|
93
|
+
*
|
|
94
|
+
* @description Numeric code: 392
|
|
95
|
+
* @description Alphabetic code: JPY
|
|
96
|
+
* @description Countries and territories: Japan
|
|
97
|
+
*/
|
|
13
98
|
TuiCurrency["Yen"] = "JPY";
|
|
99
|
+
/**
|
|
100
|
+
* South Korean won
|
|
101
|
+
*
|
|
102
|
+
* @description Numeric code: 410
|
|
103
|
+
* @description Alphabetic code: KRW
|
|
104
|
+
* @description Countries and territories: South Korea
|
|
105
|
+
*/
|
|
106
|
+
TuiCurrency["Won"] = "KRW";
|
|
107
|
+
/**
|
|
108
|
+
* Swiss franc
|
|
109
|
+
*
|
|
110
|
+
* @description Numeric code: 756
|
|
111
|
+
* @description Alphabetic code: CHF
|
|
112
|
+
* @description Countries and territories: Switzerland, Liechtenstein (LI)
|
|
113
|
+
*/
|
|
14
114
|
TuiCurrency["SwissFranc"] = "CHF";
|
|
115
|
+
/**
|
|
116
|
+
* Singapore dollar
|
|
117
|
+
*
|
|
118
|
+
* @description Numeric code: 702
|
|
119
|
+
* @description Alphabetic code: SGD
|
|
120
|
+
* @description Countries and territories: Singapore
|
|
121
|
+
*/
|
|
15
122
|
TuiCurrency["SingaporeDollar"] = "SGD";
|
|
123
|
+
/**
|
|
124
|
+
* Australian dollar
|
|
125
|
+
*
|
|
126
|
+
* @description Numeric code: 036
|
|
127
|
+
* @description Alphabetic code: AUD
|
|
128
|
+
* @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)
|
|
129
|
+
*/
|
|
16
130
|
TuiCurrency["AustralianDollar"] = "AUD";
|
|
131
|
+
/**
|
|
132
|
+
* Hong Kong dollar
|
|
133
|
+
*
|
|
134
|
+
* @description Numeric code: 344
|
|
135
|
+
* @description Alphabetic code: HKD
|
|
136
|
+
* @description Countries and territories: Hong Kong
|
|
137
|
+
*/
|
|
17
138
|
TuiCurrency["HongKong_dollar"] = "HKD";
|
|
139
|
+
/**
|
|
140
|
+
* Canadian dollar
|
|
141
|
+
*
|
|
142
|
+
* @description Numeric code: 124
|
|
143
|
+
* @description Alphabetic code: CAD
|
|
144
|
+
* @description Countries and territories: Canada
|
|
145
|
+
*/
|
|
18
146
|
TuiCurrency["CanadianDollar"] = "CAD";
|
|
147
|
+
/**
|
|
148
|
+
* Armenian dram
|
|
149
|
+
*
|
|
150
|
+
* @description Numeric code: 051
|
|
151
|
+
* @description Alphabetic code: AMD
|
|
152
|
+
* @description Countries and territories: Armenia
|
|
153
|
+
*/
|
|
19
154
|
TuiCurrency["ArmenianDram"] = "AMD";
|
|
20
|
-
|
|
155
|
+
/**
|
|
156
|
+
* Ukrainian hryvnia
|
|
157
|
+
*
|
|
158
|
+
* @description Numeric code: 980
|
|
159
|
+
* @description Alphabetic code: UAH
|
|
160
|
+
* @description Countries and territories: Ukraine
|
|
161
|
+
*/
|
|
21
162
|
TuiCurrency["Hryvnia"] = "UAH";
|
|
22
163
|
})(TuiCurrency || (TuiCurrency = {}));
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvZW51bXMvIiwic291cmNlcyI6WyJjdXJyZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFOLElBQWtCLFdBMktqQjtBQTNLRCxXQUFrQixXQUFXO0lBQ3pCOzs7Ozs7T0FNRztJQUNILDRCQUFhLENBQUE7SUFFYjs7Ozs7O09BTUc7SUFDSCwyQkFBWSxDQUFBO0lBRVo7Ozs7OztPQU1HO0lBQ0gsNkJBQWMsQ0FBQTtJQUVkOzs7Ozs7T0FNRztJQUNILDRCQUFhLENBQUE7SUFFYjs7Ozs7O09BTUc7SUFDSCwyQkFBWSxDQUFBO0lBRVo7Ozs7OztPQU1HO0lBQ0gsa0NBQW1CLENBQUE7SUFFbkI7Ozs7OztPQU1HO0lBQ0gsbUNBQW9CLENBQUE7SUFFcEI7Ozs7OztPQU1HO0lBQ0gsNEJBQWEsQ0FBQTtJQUViOzs7Ozs7T0FNRztJQUNILG9DQUFxQixDQUFBO0lBRXJCOzs7Ozs7T0FNRztJQUNILGtDQUFtQixDQUFBO0lBRW5COzs7Ozs7T0FNRztJQUNILDBCQUFXLENBQUE7SUFFWDs7Ozs7O09BTUc7SUFDSCwwQkFBVyxDQUFBO0lBRVg7Ozs7OztPQU1HO0lBQ0gsaUNBQWtCLENBQUE7SUFFbEI7Ozs7OztPQU1HO0lBQ0gsc0NBQXVCLENBQUE7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsdUNBQXdCLENBQUE7SUFFeEI7Ozs7OztPQU1HO0lBQ0gsc0NBQXVCLENBQUE7SUFFdkI7Ozs7OztPQU1HO0lBQ0gscUNBQXNCLENBQUE7SUFFdEI7Ozs7OztPQU1HO0lBQ0gsbUNBQW9CLENBQUE7SUFFcEI7Ozs7OztPQU1HO0lBQ0gsOEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBM0tpQixXQUFXLEtBQVgsV0FBVyxRQTJLNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICoqQWN0aXZlIElTTyA0MjE3IGFscGhhYmV0aWMgY3VycmVuY3kgY29kZXMqKlxuICpcbiAqIEBkZXNjcmlwdGlvbiBUaGUgSVNPIDQyMTcgY2xhc3NpZmljYXRpb24gaXMgdXNlZCB0byBkZXNjcmliZSBhbHBoYWJldGljIGFuZCBudW1lcmljIGN1cnJlbmN5IGNvZGVzLlxuICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZSBpcyBhbHNvIGNhbGxlZCBcImFsZmEtM1wiLlxuICpcbiAqIEBsaW5rIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT180MjE3XG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIFR1aUN1cnJlbmN5IHtcbiAgICAvKipcbiAgICAgKiBSdXNzaWFuIHJ1YmxlXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiA2NDNcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBSVUJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogUnVzc2lhXG4gICAgICovXG4gICAgUnVibGUgPSAnUlVCJyxcblxuICAgIC8qKlxuICAgICAqIEV1cm9cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDk3OFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEVVUlxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiDDhWxhbmQgSXNsYW5kcyAoQVgpLCBFdXJvcGVhbiBVbmlvbiAoRVUpLCBBbmRvcnJhIChBRCksIEF1c3RyaWEgKEFUKSwgQmVsZ2l1bSAoQkUpLCBDeXBydXMgKENZKSwgRXN0b25pYSAoRUUpLCBGaW5sYW5kIChGSSksIEZyYW5jZSAoRlIpLCBGcmVuY2ggU291dGhlcm4gYW5kIEFudGFyY3RpYyBMYW5kcyAoVEYpLCBHZXJtYW55IChERSksIEdyZWVjZSAoR1IpLCBHdWFkZWxvdXBlIChHUCksIElyZWxhbmQgKElFKSwgSXRhbHkgKElUKSwgTGF0dmlhIChMViksIExpdGh1YW5pYSAoTFQpLCBMdXhlbWJvdXJnIChMVSksIE1hbHRhIChNVCksIEZyZW5jaCBHdWlhbmEgKEdGKSwgTWFydGluaXF1ZSAoTVEpLCBNYXlvdHRlIChZVCksIE1vbmFjbyAoTUMpLCBNb250ZW5lZ3JvIChNRSksIE5ldGhlcmxhbmRzIChOTCksIFBvcnR1Z2FsIChQVCksIFLDqXVuaW9uIChSRSksIFNhaW50IEJhcnRow6lsZW15IChCTCksIFNhaW50IE1hcnRpbiAoTUYpLCBTYWludCBQaWVycmUgYW5kIE1pcXVlbG9uIChQTSksIFNhbiBNYXJpbm8gKFNNKSwgU2xvdmFraWEgKFNLKSwgU2xvdmVuaWEgKFNJKSwgU3BhaW4gKEVTKSwgVmF0aWNhbiBDaXR5IChWQSlcbiAgICAgKi9cbiAgICBFdXJvID0gJ0VVUicsXG5cbiAgICAvKipcbiAgICAgKiBVbml0ZWQgU3RhdGVzIGRvbGxhclxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogODQwXG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogVVNEXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFVuaXRlZCBTdGF0ZXMsIEFtZXJpY2FuIFNhbW9hIChBUyksIEJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSAoSU8pIChhbHNvIHVzZXMgR0JQKSwgQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyAoVkcpLCBDYXJpYmJlYW4gTmV0aGVybGFuZHMgKEJRIOKAkyBCb25haXJlLCBTaW50IEV1c3RhdGl1cyBhbmQgU2FiYSksIEVjdWFkb3IgKEVDKSwgRWwgU2FsdmFkb3IgKFNWKSwgR3VhbSAoR1UpLCBNYXJzaGFsbCBJc2xhbmRzIChNSCksIEZlZGVyYXRlZCBTdGF0ZXMgb2YgTWljcm9uZXNpYSAoRk0pLCBOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMgKE1QKSwgUGFsYXUgKFBXKSwgUGFuYW1hIChQQSkgKGFzIHdlbGwgYXMgUGFuYW1hbmlhbiBCYWxib2EpLCBQdWVydG8gUmljbyAoUFIpLCBUaW1vci1MZXN0ZSAoVEwpLCBUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMgKFRDKSwgVS5TLiBWaXJnaW4gSXNsYW5kcyAoVkkpLCBVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMgKFVNKVxuICAgICAqL1xuICAgIERvbGxhciA9ICdVU0QnLFxuXG4gICAgLyoqXG4gICAgICogUG91bmQgc3RlcmxpbmdcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDgyNlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEdCUFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBVbml0ZWQgS2luZ2RvbSwgSXNsZSBvZiBNYW4gKElNLCBzZWUgTWFueCBwb3VuZCksIEplcnNleSAoSkUsIHNlZSBKZXJzZXkgcG91bmQpLCBHdWVybnNleSAoR0csIHNlZSBHdWVybnNleSBwb3VuZCksIFRyaXN0YW4gZGEgQ3VuaGEgKFNILVRBKVxuICAgICAqL1xuICAgIFBvdW5kID0gJ0dCUCcsXG5cbiAgICAvKipcbiAgICAgKiBUaGFpIGJhaHRcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDc2NFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IFRIQlxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBUaGFpbGFuZFxuICAgICAqL1xuICAgIEJhaHQgPSAnVEhCJyxcblxuICAgIC8qKlxuICAgICAqIFR1cmtpc2ggbGlyYVxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogOTQ5XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogVFJZXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFR1cmtleVxuICAgICAqL1xuICAgIFR1cmtpc2hMaXJhID0gJ1RSWScsXG5cbiAgICAvKipcbiAgICAgKiBDaGluZXNlIHl1YW5cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDE1NlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IENOWVxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBDaGluYVxuICAgICAqL1xuICAgIFl1YW5SZW5taW5iaSA9ICdDTlknLFxuXG4gICAgLyoqXG4gICAgICogS2F6YWtoc3RhbmkgdGVuZ2VcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDM5OFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEtaVFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBLYXpha2hzdGFuXG4gICAgICovXG4gICAgVGVuZ2UgPSAnS1pUJyxcblxuICAgIC8qKlxuICAgICAqIElzcmFlbGkgbmV3IHNoZWtlbFxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogMzc2XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogSUxTXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IElzcmFlbFxuICAgICAqL1xuICAgIElzcmFlbGlTaGVrZWwgPSAnSUxTJyxcblxuICAgIC8qKlxuICAgICAqIEluZGlhbiBydXBlZVxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogMzU2XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogSU5SXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IEluZGlhLCBCaHV0YW5cbiAgICAgKi9cbiAgICBJbmRpYW5SdXBlZSA9ICdJTlInLFxuXG4gICAgLyoqXG4gICAgICogSmFwYW5lc2UgeWVuXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiAzOTJcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBKUFlcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogSmFwYW5cbiAgICAgKi9cbiAgICBZZW4gPSAnSlBZJyxcblxuICAgIC8qKlxuICAgICAqIFNvdXRoIEtvcmVhbiB3b25cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDQxMFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEtSV1xuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBTb3V0aCBLb3JlYVxuICAgICAqL1xuICAgIFdvbiA9ICdLUlcnLFxuXG4gICAgLyoqXG4gICAgICogU3dpc3MgZnJhbmNcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDc1NlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IENIRlxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBTd2l0emVybGFuZCwgTGllY2h0ZW5zdGVpbiAoTEkpXG4gICAgICovXG4gICAgU3dpc3NGcmFuYyA9ICdDSEYnLFxuXG4gICAgLyoqXG4gICAgICogU2luZ2Fwb3JlIGRvbGxhclxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogNzAyXG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogU0dEXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFNpbmdhcG9yZVxuICAgICAqL1xuICAgIFNpbmdhcG9yZURvbGxhciA9ICdTR0QnLFxuXG4gICAgLyoqXG4gICAgICogQXVzdHJhbGlhbiBkb2xsYXJcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDAzNlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEFVRFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBBdXN0cmFsaWEsIENocmlzdG1hcyBJc2xhbmQgKENYKSwgQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMgKENDKSwgSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzIChITSksIEtpcmliYXRpIChLSSksIE5hdXJ1IChOUiksIE5vcmZvbGsgSXNsYW5kIChORiksIFR1dmFsdSAoVFYpXG4gICAgICovXG4gICAgQXVzdHJhbGlhbkRvbGxhciA9ICdBVUQnLFxuXG4gICAgLyoqXG4gICAgICogSG9uZyBLb25nIGRvbGxhclxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogMzQ0XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogSEtEXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IEhvbmcgS29uZ1xuICAgICAqL1xuICAgIEhvbmdLb25nX2RvbGxhciA9ICdIS0QnLFxuXG4gICAgLyoqXG4gICAgICogQ2FuYWRpYW4gZG9sbGFyXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiAxMjRcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBDQURcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogQ2FuYWRhXG4gICAgICovXG4gICAgQ2FuYWRpYW5Eb2xsYXIgPSAnQ0FEJyxcblxuICAgIC8qKlxuICAgICAqIEFybWVuaWFuIGRyYW1cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDA1MVxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEFNRFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBBcm1lbmlhXG4gICAgICovXG4gICAgQXJtZW5pYW5EcmFtID0gJ0FNRCcsXG5cbiAgICAvKipcbiAgICAgKiBVa3JhaW5pYW4gaHJ5dm5pYVxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogOTgwXG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogVUFIXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFVrcmFpbmVcbiAgICAgKi9cbiAgICBIcnl2bmlhID0gJ1VBSCcsXG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TUI_NON_DIGIT_REGEXP } from '@taiga-ui/core';
|
|
2
|
-
const TUI_EXP_YEAR_MONTH = /^\d{2}[
|
|
2
|
+
const TUI_EXP_YEAR_MONTH = /^\d{2}[/|.]\d{4}$/;
|
|
3
3
|
const TUI_EXP_SAFARI = /^\d{1,4}.\d{1,2}.\d{1,4}$/;
|
|
4
4
|
/**
|
|
5
5
|
* Correct expiration date text allowing only valid months
|
|
@@ -36,4 +36,4 @@ export function tuiCreateAutoCorrectedExpirePipe() {
|
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWV4cGlyZS1waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzLyIsInNvdXJjZXMiOlsiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWV4cGlyZS1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RSxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBQy9DLE1BQU0sY0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBRW5EOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQztJQUM1QyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBRTtRQUNsQyxpQ0FBaUM7UUFDakMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsc0NBQXNDO1FBQ3RDLElBQ0ksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ25CLFFBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRTtZQUNwQixjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUMvQjtZQUNFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNuRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztZQUVwRCxjQUFjLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxJQUNwRCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzVCLEVBQUUsQ0FBQztTQUNOO1FBRUQsTUFBTSxtQkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDekMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5ELElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDM0IsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzNCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvQjtRQUVELE9BQU87WUFDSCxLQUFLLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxtQkFBbUI7U0FDdEIsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RVSV9OT05fRElHSVRfUkVHRVhQLCBUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmNvbnN0IFRVSV9FWFBfWUVBUl9NT05USCA9IC9eXFxkezJ9Wy98Ll1cXGR7NH0kLztcbmNvbnN0IFRVSV9FWFBfU0FGQVJJID0gL15cXGR7MSw0fS5cXGR7MSwyfS5cXGR7MSw0fSQvO1xuXG4vKipcbiAqIENvcnJlY3QgZXhwaXJhdGlvbiBkYXRlIHRleHQgYWxsb3dpbmcgb25seSB2YWxpZCBtb250aHNcbiAqIEBpbnRlcm5hbFxuICpcbiAqIEByZXR1cm5zIE1NL1lZXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRXhwaXJlUGlwZSgpOiBUdWlUZXh0TWFza1BpcGVIYW5kbGVyIHtcbiAgICByZXR1cm4gKGNvbmZvcm1lZFZhbHVlLCB7cmF3VmFsdWV9KSA9PiB7XG4gICAgICAgIC8vIEF1dG9maWxsZWQgd2l0aCBNTS9ZWVlZIGZvcm1hdFxuICAgICAgICBpZiAoVFVJX0VYUF9ZRUFSX01PTlRILnRlc3QocmF3VmFsdWUpKSB7XG4gICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSA9IHJhd1ZhbHVlLnN1YnN0cigwLCAyKSArICcvJyArIHJhd1ZhbHVlLnN1YnN0cig1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEF1dG9maWxsZWQgd2l0aCBTYWZhcmkgY3JhenkgZm9ybWF0XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHJhd1ZhbHVlLmxlbmd0aCA+IDcgJiZcbiAgICAgICAgICAgIHJhd1ZhbHVlLmxlbmd0aCA8IDExICYmXG4gICAgICAgICAgICBUVUlfRVhQX1NBRkFSSS50ZXN0KHJhd1ZhbHVlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGFycmF5ID0gcmF3VmFsdWUuc3BsaXQoVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgY29uc3QgbW9udGggPSBhcnJheVsxXTtcbiAgICAgICAgICAgIGNvbnN0IHllYXIgPSBhcnJheS5maW5kKCh7bGVuZ3RofSkgPT4gbGVuZ3RoID09PSA0KTtcblxuICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUgPSBgJHsnMCcucmVwZWF0KDIgLSBtb250aC5sZW5ndGgpfSR7bW9udGh9LyR7XG4gICAgICAgICAgICAgICAgeWVhciA/IHllYXIuc3Vic3RyKDIpIDogJydcbiAgICAgICAgICAgIH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZXhlc09mUGlwZWRDaGFyczogbnVtYmVyW10gPSBbXTtcbiAgICAgICAgY29uc3QgY29uZm9ybWVkVmFsdWVBcnIgPSBjb25mb3JtZWRWYWx1ZS5zcGxpdCgnJyk7XG5cbiAgICAgICAgaWYgKHBhcnNlSW50KGNvbmZvcm1lZFZhbHVlQXJyWzBdLCAxMCkgPiAxKSB7XG4gICAgICAgICAgICBjb25mb3JtZWRWYWx1ZUFyclsyXSA9ICcvJztcbiAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlQXJyWzFdID0gY29uZm9ybWVkVmFsdWVBcnJbMF07XG4gICAgICAgICAgICBjb25mb3JtZWRWYWx1ZUFyclswXSA9ICcwJztcbiAgICAgICAgICAgIGluZGV4ZXNPZlBpcGVkQ2hhcnMucHVzaCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogY29uZm9ybWVkVmFsdWVBcnIuam9pbignJyksXG4gICAgICAgICAgICBpbmRleGVzT2ZQaXBlZENoYXJzLFxuICAgICAgICB9O1xuICAgIH07XG59XG4iXX0=
|
|
@@ -5,7 +5,7 @@ import { NgControl } from '@angular/forms';
|
|
|
5
5
|
import { TUI_CARD_MASK, tuiDefaultCardValidator } from '@taiga-ui/addon-commerce/constants';
|
|
6
6
|
import { getPaymentSystem, tuiCreateAutoCorrectedExpirePipe, } from '@taiga-ui/addon-commerce/utils';
|
|
7
7
|
import { AbstractTuiNullableControl, isNativeFocused, isNativeFocusedIn, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, tuiPure, tuiRequiredSetter, } from '@taiga-ui/cdk';
|
|
8
|
-
import { MODE_PROVIDER, TUI_DATA_LIST_HOST, TUI_DIGIT_REGEXP, TUI_MODE, TUI_NON_DIGIT_REGEXP, TuiDataListComponent, TuiDataListDirective, } from '@taiga-ui/core';
|
|
8
|
+
import { MODE_PROVIDER, TUI_DATA_LIST_HOST, TUI_DIGIT_REGEXP, TUI_MODE, TUI_NON_DIGIT_REGEXP, TUI_TEXTFIELD_APPEARANCE, TuiDataListComponent, TuiDataListDirective, } from '@taiga-ui/core';
|
|
9
9
|
import { Observable } from 'rxjs';
|
|
10
10
|
import { TUI_INPUT_CARD_GROUPED_TEXTS, } from './input-card-grouped.providers';
|
|
11
11
|
var STUB = {
|
|
@@ -23,11 +23,12 @@ var ICONS = (_a = {},
|
|
|
23
23
|
// @dynamic
|
|
24
24
|
var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
|
|
25
25
|
__extends(TuiInputCardGroupedComponent, _super);
|
|
26
|
-
function TuiInputCardGroupedComponent(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts
|
|
26
|
+
function TuiInputCardGroupedComponent(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts$, appearance) {
|
|
27
27
|
var _this = _super.call(this, control, changeDetectorRef) || this;
|
|
28
28
|
_this.elementRef = elementRef;
|
|
29
29
|
_this.mode$ = mode$;
|
|
30
30
|
_this.cardGroupedTexts$ = cardGroupedTexts$;
|
|
31
|
+
_this.appearance = appearance;
|
|
31
32
|
_this.expireInert = false;
|
|
32
33
|
_this.autocompleteEnabled = false;
|
|
33
34
|
_this.cardSrc = null; // TODO(splincode): will be deleted `null` in v3.0
|
|
@@ -412,7 +413,8 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
|
|
|
412
413
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
413
414
|
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
414
415
|
{ type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] },
|
|
415
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] }
|
|
416
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] },
|
|
417
|
+
{ type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
|
|
416
418
|
]; };
|
|
417
419
|
__decorate([
|
|
418
420
|
ViewChild('inputCard')
|
|
@@ -468,7 +470,7 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
|
|
|
468
470
|
TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
|
|
469
471
|
Component({
|
|
470
472
|
selector: 'tui-input-card-grouped',
|
|
471
|
-
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n
|
|
473
|
+
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event.currentTarget)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label tuiPreventDefault=\"click\">\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"isCardCollapsed\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [class.t-collapsed_inactive]=\"!isCardCollapsed\"\n [attr.data-before]=\"masked\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
|
|
472
474
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
473
475
|
providers: [
|
|
474
476
|
MODE_PROVIDER,
|
|
@@ -493,9 +495,10 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
|
|
|
493
495
|
__param(1, Inject(ChangeDetectorRef)),
|
|
494
496
|
__param(2, Inject(ElementRef)),
|
|
495
497
|
__param(3, Inject(TUI_MODE)),
|
|
496
|
-
__param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS))
|
|
498
|
+
__param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS)),
|
|
499
|
+
__param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
|
|
497
500
|
], TuiInputCardGroupedComponent);
|
|
498
501
|
return TuiInputCardGroupedComponent;
|
|
499
502
|
}(AbstractTuiNullableControl));
|
|
500
503
|
export { TuiInputCardGroupedComponent };
|
|
501
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRzNCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBRXBCLG9CQUFvQixFQUNwQixvQkFBb0IsR0FHdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFDSCw0QkFBNEIsR0FFL0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxJQUFNLElBQUksR0FBWTtJQUNs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Q0QsSUFBSSxFQUFFO2dCQUNGLG9CQUFvQixFQUFFLE9BQU87Z0JBQzdCLG9CQUFvQixFQUFFLEdBQUc7YUFDNUI7O1NBQ0osQ0FBQztRQWtGTyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEIsV0FBQSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtPQXhGaEMsNEJBQTRCLENBd1h4QztJQUFELG1DQUFDO0NBQUEsQUF4WEQsQ0FDWSwwQkFBMEIsR0F1WHJDO1NBeFhZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9DQVJEX01BU0ssIHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ2FyZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2RlQ1ZDTGVuZ3RofSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBnZXRQYXltZW50U3lzdGVtLFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX01PREUsXG4gICAgVFVJX05PTl9ESUdJVF9SRUdFWFAsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdENvbXBvbmVudCxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9JTlBVVF9DQVJEX0dST1VQRURfVEVYVFMsXG4gICAgVHVpQ2FyZEdyb3VwZWRUZXh0cyxcbn0gZnJvbSAnLi9pbnB1dC1jYXJkLWdyb3VwZWQucHJvdmlkZXJzJztcblxuY29uc3QgU1RVQjogVHVpQ2FyZCA9IHtcbiAgICBjYXJkOiAnJyxcbiAgICBleHBpcmU6ICcnLFxuICAgIGN2YzogJycsXG59O1xuY29uc3QgSUNPTlMgPSB7XG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWlyXTogJ3R1aUljb25NaXInLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLlZpc2FdOiAndHVpSWNvblZpc2EnLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLkVsZWN0cm9uXTogJ3R1aUljb25FbGVjdHJvbicsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWFzdGVyY2FyZF06ICd0dWlJY29uTWFzdGVyY2FyZCcsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWFlc3Ryb106ICd0dWlJY29uTWFlc3RybycsXG59O1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtY2FyZC1ncm91cGVkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2FyZC1ncm91cGVkLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWNhcmQtZ3JvdXBlZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgICAgICdkYXRhLXR1aS1ob3N0LXNpemUnOiAnbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpQ2FyZD5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PFBhcnRpYWw8VHVpQ2FyZD4+XG57XG4gICAgQFZpZXdDaGlsZCgnaW5wdXRDYXJkJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q2FyZD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dEV4cGlyZScpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dEV4cGlyZT86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dENWQycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENWQz86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwcml2YXRlIGV4cGlyZUluZXJ0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYXV0b2NvbXBsZXRlRW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRTcmM6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsID0gbnVsbDsgLy8gVE9ETyhzcGxpbmNvZGUpOiB3aWxsIGJlIGRlbGV0ZWQgYG51bGxgIGluIHYzLjBcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleGFtcGxlVGV4dCA9ICcwMDAwIDAwMDAgMDAwMCAwMDAwJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkVmFsaWRhdG9yOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gdHVpRGVmYXVsdENhcmRWYWxpZGF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGNvZGVMZW5ndGgobGVuZ3RoOiBUdWlDb2RlQ1ZDTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZXhhbXBsZVRleHRDVkMgPSAnMCcucmVwZWF0KGxlbmd0aCk7XG4gICAgICAgIHRoaXMubWFza0NWQyA9IHtcbiAgICAgICAgICAgIG1hc2s6IG5ldyBBcnJheShsZW5ndGgpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGJpbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZHJvcGRvd246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3RDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUdWlEYXRhTGlzdENvbXBvbmVudDxUdWlDYXJkPjtcblxuICAgIGV4YW1wbGVUZXh0Q1ZDID0gJzAwMCc7XG5cbiAgICBtYXNrQ1ZDOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IG5ldyBBcnJheSgzKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tDYXJkOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IFRVSV9DQVJEX01BU0ssXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgcGlwZTogY29uZm9ybWVkVmFsdWUgPT4gY29uZm9ybWVkVmFsdWUudHJpbSgpLFxuICAgIH07XG5cbiAgICByZWFkb25seSBtYXNrRXhwaXJlOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IFtcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgJy8nLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIF0sXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlKCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgY2FyZEdyb3VwZWRUZXh0cyQ6IE9ic2VydmFibGU8VHVpQ2FyZEdyb3VwZWRUZXh0cz4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0Q2FyZCA/IHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuIHx8IGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlICYmICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0Ryb3Bkb3duKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0SWNvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3BheW1lbnRTeXN0ZW19ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gcGF5bWVudFN5c3RlbSAmJiBJQ09OU1twYXltZW50U3lzdGVtXTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRTcmMgPz8gdGhpcy5kZWZhdWx0SWNvbjtcbiAgICB9XG5cbiAgICBnZXQgYmluKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5jYXJkLmxlbmd0aCA8IDZcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlLmNhcmQuc3Vic3RyKDAsIDYpO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmICF0aGlzLmNhcmRQcmVmaWxsZWRcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZS5jYXJkXG4gICAgICAgICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAgICAgICAubWFwKChjaGFyLCBpbmRleCkgPT4gKGluZGV4ICYmIGluZGV4ICUgNCA9PT0gMCA/IGAgJHtjaGFyfWAgOiBjaGFyKSlcbiAgICAgICAgICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19jYXJkJztcbiAgICB9XG5cbiAgICBnZXQgaWRFeHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX2V4cGlyZSc7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ1ZDKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19jdmMnO1xuICAgIH1cblxuICAgIGdldCBpc0NhcmRDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuY2FyZEZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNhcmQoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY051bWJlclxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlRXhwaXJlKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NFeHBcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNWQygpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjQ3NjXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIC8vIFNhZmFyaSBleHBpcmF0aW9uIGRhdGUgYXV0b2ZpbGwgd29ya2Fyb3VuZFxuICAgIGdldCBuYW1lKCk6ICdjY2V4cGlyeXllYXInIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWQgPyAnY2NleHBpcnl5ZWFyJyA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRQcmVmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2FyZC5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y1ByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdmMubWF0Y2goVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgIH1cblxuICAgIGdldCBjYXJkRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgIXRoaXMuY2FyZFByZWZpbGxlZDtcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmV4cGlyZUluZXJ0O1xuICAgIH1cblxuICAgIGdldCBjdmNGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tlZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkUHJlZmlsbGVkID8gYCoke3RoaXMuY2FyZC5zbGljZSgtNCl9YCA6ICcqJztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzYycpXG4gICAgb25Fc2MoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnMSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcC5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJy0xJ10pXG4gICAgb25BcnJvdyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzRHJvcGRvd247XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmRhdGFsaXN0Py5vbktleURvd25BcnJvdyhlbGVtZW50LCBzdGVwKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBQYXJ0aWFsPFR1aUNhcmQ+KSB7XG4gICAgICAgIGNvbnN0IHtjYXJkID0gJycsIGV4cGlyZSA9ICcnLCBjdmMgPSAnJ30gPSBvcHRpb247XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAoIWV4cGlyZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fCB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoe2NhcmQsIGV4cGlyZSwgY3ZjfSk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISFleHBpcmU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNhcmRDaGFuZ2UoY2FyZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgYmlufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNhcmQuc3BsaXQoJyAnKS5qb2luKCcnKTtcblxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuY2FyZCA9PT0gcGFyc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KHBhcnNlZCwgJ2NhcmQnKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcblxuICAgICAgICBpZiAodGhpcy5jYXJkVmFsaWRhdG9yKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXhwaXJlQ2hhbmdlKGV4cGlyZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIEBiYWQgVE9ETzogV29ya2Fyb3VuZCB1bnRpbCBtYXNrIHBpcGUgY2FuIHJlcGxhY2UgY2hhcnMgYW5kIGtlZXAgY2FyZXQgcG9zaXRpb25cbiAgICAgICAgLy8gQGJhZCBUT0RPOiBUaGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgbWFzayBhdCBhbGxcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0RXhwaXJlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VJbnQoZXhwaXJlLnN1YnN0cigwLCAyKSwgMTApID4gMTIpIHtcbiAgICAgICAgICAgIGV4cGlyZSA9ICcxMicgKyBleHBpcmUuc3Vic3RyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zdWJzdHIoMCwgMikgPT09ICcwMCcpIHtcbiAgICAgICAgICAgIGV4cGlyZSA9ICcwMScgKyBleHBpcmUuc3Vic3RyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gZXhwaXJlO1xuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KGV4cGlyZSwgJ2V4cGlyZScpO1xuXG4gICAgICAgIGlmIChleHBpcmUubGVuZ3RoID09PSA1ICYmIHRoaXMuaW5wdXRDVkMpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENWQy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ1ZDQ2hhbmdlKGN2Yzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoY3ZjLCAnY3ZjJyk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lQ2hhbmdlKGFjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICAgICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLm1hdGNoZXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH1cblxuICAgIG9uU2Nyb2xsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IDA7XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRDYXJkKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aUNhcmQgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhdGhpcy5leHBpcmUgJiYgdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNhcmRGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmlucHV0Q2FyZCAmJiBpc05hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGF5bWVudFN5c3RlbSgpOiBUdWlQYXltZW50U3lzdGVtIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmIGdldFBheW1lbnRTeXN0ZW0odGhpcy52YWx1ZS5jYXJkKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgaXNGb2N1c2FibGUoY2FyZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAodGhpcy5jYXJkVmFsaWRhdG9yKGNhcmQpIHx8IHRoaXMuY2FyZFByZWZpbGxlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW4ob2xkQmluOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBpZiAoYmluICE9PSBvbGRCaW4gJiYgIXRoaXMuY2FyZFByZWZpbGxlZCkge1xuICAgICAgICAgICAgdGhpcy5iaW5DaGFuZ2UuZW1pdChiaW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcm9wZXJ0eShwcm9wVmFsdWU6IHN0cmluZywgcHJvcE5hbWU6ICdjYXJkJyB8ICdleHBpcmUnIHwgJ2N2YycpIHtcbiAgICAgICAgY29uc3Qge2NhcmQsIGV4cGlyZSwgY3ZjfSA9IHRoaXMudmFsdWUgfHwgU1RVQjtcbiAgICAgICAgY29uc3QgbmV3VmFsdWU6IFR1aUNhcmQgPSB7XG4gICAgICAgICAgICBjYXJkLFxuICAgICAgICAgICAgZXhwaXJlLFxuICAgICAgICAgICAgY3ZjLFxuICAgICAgICB9O1xuXG4gICAgICAgIG5ld1ZhbHVlW3Byb3BOYW1lXSA9IHByb3BWYWx1ZTtcblxuICAgICAgICBpZiAoIW5ld1ZhbHVlLmV4cGlyZSAmJiAhbmV3VmFsdWUuY3ZjICYmICFuZXdWYWx1ZS5jYXJkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgKHRoaXMuY2FyZEZvY3VzYWJsZSAmJiB0aGlzLmlucHV0Q2FyZD8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICh0aGlzLmV4cGlyZUZvY3VzYWJsZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgdGhpcy5pbnB1dENWQz8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
504
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRzNCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsSUFBTSxJ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QjtvQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsOEJBQTRCLEVBQTVCLENBQTRCLENBQUM7aUJBQzlEO2FBQ0o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTztnQkFDN0Isb0JBQW9CLEVBQUUsR0FBRzthQUM1Qjs7U0FDSixDQUFDO1FBa0ZPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1FBRXBDLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7T0ExRjVCLDRCQUE0QixDQTBYeEM7SUFBRCxtQ0FBQztDQUFBLEFBMVhELENBQ1ksMEJBQTBCLEdBeVhyQztTQTFYWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUVUlfQ0FSRF9NQVNLLCB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVBheW1lbnRTeXN0ZW19IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9lbnVtcyc7XG5pbXBvcnQge1R1aUNhcmR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpQ29kZUNWQ0xlbmd0aH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB7XG4gICAgZ2V0UGF5bWVudFN5c3RlbSxcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRXhwaXJlUGlwZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpUmVxdWlyZWRTZXR0ZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNT0RFX1BST1ZJREVSLFxuICAgIFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9NT0RFLFxuICAgIFRVSV9OT05fRElHSVRfUkVHRVhQLFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aURhdGFMaXN0Q29tcG9uZW50LFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUyxcbiAgICBUdWlDYXJkR3JvdXBlZFRleHRzLFxufSBmcm9tICcuL2lucHV0LWNhcmQtZ3JvdXBlZC5wcm92aWRlcnMnO1xuXG5jb25zdCBTVFVCOiBUdWlDYXJkID0ge1xuICAgIGNhcmQ6ICcnLFxuICAgIGV4cGlyZTogJycsXG4gICAgY3ZjOiAnJyxcbn07XG5jb25zdCBJQ09OUyA9IHtcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NaXJdOiAndHVpSWNvbk1pcicsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uVmlzYV06ICd0dWlJY29uVmlzYScsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uRWxlY3Ryb25dOiAndHVpSWNvbkVsZWN0cm9uJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYXN0ZXJjYXJkXTogJ3R1aUljb25NYXN0ZXJjYXJkJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYWVzdHJvXTogJ3R1aUljb25NYWVzdHJvJyxcbn07XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1jYXJkLWdyb3VwZWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jYXJkLWdyb3VwZWQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY2FyZC1ncm91cGVkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICAgICAgJ2RhdGEtdHVpLWhvc3Qtc2l6ZSc6ICdsJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlDYXJkPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8UGFydGlhbDxUdWlDYXJkPj5cbntcbiAgICBAVmlld0NoaWxkKCdpbnB1dENhcmQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDYXJkPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RXhwaXJlJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RXhwaXJlPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Q1ZDJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q1ZDPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgZXhwaXJlSW5lcnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvY29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFNyYzogUG9seW1vcnBoZXVzQ29udGVudCB8IG51bGwgPSBudWxsOyAvLyBUT0RPKHNwbGluY29kZSk6IHdpbGwgYmUgZGVsZXRlZCBgbnVsbGAgaW4gdjMuMFxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4YW1wbGVUZXh0ID0gJzAwMDAgMDAwMCAwMDAwIDAwMDAnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgY29kZUxlbmd0aChsZW5ndGg6IFR1aUNvZGVDVkNMZW5ndGgpIHtcbiAgICAgICAgdGhpcy5leGFtcGxlVGV4dENWQyA9ICcwJy5yZXBlYXQobGVuZ3RoKTtcbiAgICAgICAgdGhpcy5tYXNrQ1ZDID0ge1xuICAgICAgICAgICAgbWFzazogbmV3IEFycmF5KGxlbmd0aCkuZmlsbChUVUlfRElHSVRfUkVHRVhQKSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhdXRvZmlsbGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYmluQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkcm9wZG93bjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdENvbXBvbmVudClcbiAgICByZWFkb25seSBkYXRhbGlzdD86IFR1aURhdGFMaXN0Q29tcG9uZW50PFR1aUNhcmQ+O1xuXG4gICAgZXhhbXBsZVRleHRDVkMgPSAnMDAwJztcblxuICAgIG1hc2tDVkM6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogbmV3IEFycmF5KDMpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0NhcmQ6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogVFVJX0NBUkRfTUFTSyxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICBwaXBlOiBjb25mb3JtZWRWYWx1ZSA9PiBjb25mb3JtZWRWYWx1ZS50cmltKCksXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tFeHBpcmU6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogW1xuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICAnLycsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgXSxcbiAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUoKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTKVxuICAgICAgICByZWFkb25seSBjYXJkR3JvdXBlZFRleHRzJDogT2JzZXJ2YWJsZTxUdWlDYXJkR3JvdXBlZFRleHRzPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRDYXJkID8gdGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4gfHwgaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBjYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5jYXJkID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBleHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmV4cGlyZSA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgY3ZjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5jdmMgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWUgJiYgIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd247XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRJY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB7cGF5bWVudFN5c3RlbX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBwYXltZW50U3lzdGVtICYmIElDT05TW3BheW1lbnRTeXN0ZW1dO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZFNyYyA/PyB0aGlzLmRlZmF1bHRJY29uO1xuICAgIH1cblxuICAgIGdldCBiaW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmNhcmQubGVuZ3RoIDwgNlxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudmFsdWUuY2FyZC5zdWJzdHIoMCwgNik7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCAhIXRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZENhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgIXRoaXMuY2FyZFByZWZpbGxlZFxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlLmNhcmRcbiAgICAgICAgICAgICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgICAgICAgICAgIC5tYXAoKGNoYXIsIGluZGV4KSA9PiAoaW5kZXggJiYgaW5kZXggJSA0ID09PSAwID8gYCAke2NoYXJ9YCA6IGNoYXIpKVxuICAgICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpZENhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX2NhcmQnO1xuICAgIH1cblxuICAgIGdldCBpZEV4cGlyZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICdfZXhwaXJlJztcbiAgICB9XG5cbiAgICBnZXQgaWRDVkMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX2N2Yyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ2FyZENvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKSAmJiAhdGhpcy5jYXJkRm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ2FyZCgpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjTnVtYmVyXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVFeHBpcmUoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY0V4cFxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ1ZDKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NDc2NcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/ICdjY2V4cGlyeXllYXInIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY2FyZFByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jYXJkLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY3ZjUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmN2Yy5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIGdldCBleHBpcmVGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlSW5lcnQ7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKTtcbiAgICB9XG5cbiAgICBnZXQgbWFza2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRQcmVmaWxsZWQgPyBgKiR7dGhpcy5jYXJkLnNsaWNlKC00KX1gIDogJyonO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJylcbiAgICBvbkVzYygpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICcxJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnLTEnXSlcbiAgICBvbkFycm93KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdGhpcy5oYXNEcm9wZG93bjtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGF0YWxpc3Q/Lm9uS2V5RG93bkFycm93KGVsZW1lbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFBhcnRpYWw8VHVpQ2FyZD4pIHtcbiAgICAgICAgY29uc3Qge2NhcmQgPSAnJywgZXhwaXJlID0gJycsIGN2YyA9ICcnfSA9IG9wdGlvbjtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICghZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8IHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7Y2FyZCwgZXhwaXJlLCBjdmN9KTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIWV4cGlyZTtcblxuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2FyZENoYW5nZShjYXJkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY2FyZC5zcGxpdCgnICcpLmpvaW4oJycpO1xuXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5jYXJkID09PSBwYXJzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkocGFyc2VkLCAnY2FyZCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuXG4gICAgICAgIGlmICh0aGlzLmNhcmRWYWxpZGF0b3IodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0RXhwaXJlLm5hdGl2ZUVsZW1lbnQsIHRydWUsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeHBpcmVDaGFuZ2UoZXhwaXJlOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gQGJhZCBUT0RPOiBXb3JrYXJvdW5kIHVudGlsIG1hc2sgcGlwZSBjYW4gcmVwbGFjZSBjaGFycyBhbmQga2VlcCBjYXJldCBwb3NpdGlvblxuICAgICAgICAvLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCBtYXNrIGF0IGFsbFxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZUludChleHBpcmUuc3Vic3RyKDAsIDIpLCAxMCkgPiAxMikge1xuICAgICAgICAgICAgZXhwaXJlID0gJzEyJyArIGV4cGlyZS5zdWJzdHIoMik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXhwaXJlLnN1YnN0cigwLCAyKSA9PT0gJzAwJykge1xuICAgICAgICAgICAgZXhwaXJlID0gJzAxJyArIGV4cGlyZS5zdWJzdHIoMik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlucHV0RXhwaXJlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBleHBpcmU7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoZXhwaXJlLCAnZXhwaXJlJyk7XG5cbiAgICAgICAgaWYgKGV4cGlyZS5sZW5ndGggPT09IDUgJiYgdGhpcy5pbnB1dENWQykge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q1ZDLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DVkNDaGFuZ2UoY3ZjOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShjdmMsICdjdmMnKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmVDaGFuZ2UoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgICAgICB0aGlzLm9wZW4gPSBhY3RpdmUgJiYgdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkubWF0Y2hlcygnaW5wdXQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25TY3JvbGwoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcblxuICAgICAgICBpZiAodGhpcy5pbnB1dENhcmQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGUoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpQ2FyZCB8IG51bGwpIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISF0aGlzLmV4cGlyZSAmJiB0aGlzLmNhcmRQcmVmaWxsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2FyZEZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaW5wdXRDYXJkICYmIGlzTmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwYXltZW50U3lzdGVtKCk6IFR1aVBheW1lbnRTeXN0ZW0gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgZ2V0UGF5bWVudFN5c3RlbSh0aGlzLnZhbHVlLmNhcmQpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBpc0ZvY3VzYWJsZShjYXJkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlICYmICh0aGlzLmNhcmRWYWxpZGF0b3IoY2FyZCkgfHwgdGhpcy5jYXJkUHJlZmlsbGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJpbihvbGRCaW46IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChiaW4gIT09IG9sZEJpbiAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkKSB7XG4gICAgICAgICAgICB0aGlzLmJpbkNoYW5nZS5lbWl0KGJpbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByb3BlcnR5KHByb3BWYWx1ZTogc3RyaW5nLCBwcm9wTmFtZTogJ2NhcmQnIHwgJ2V4cGlyZScgfCAnY3ZjJykge1xuICAgICAgICBjb25zdCB7Y2FyZCwgZXhwaXJlLCBjdmN9ID0gdGhpcy52YWx1ZSB8fCBTVFVCO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZTogVHVpQ2FyZCA9IHtcbiAgICAgICAgICAgIGNhcmQsXG4gICAgICAgICAgICBleHBpcmUsXG4gICAgICAgICAgICBjdmMsXG4gICAgICAgIH07XG5cbiAgICAgICAgbmV3VmFsdWVbcHJvcE5hbWVdID0gcHJvcFZhbHVlO1xuXG4gICAgICAgIGlmICghbmV3VmFsdWUuZXhwaXJlICYmICFuZXdWYWx1ZS5jdmMgJiYgIW5ld1ZhbHVlLmNhcmQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dCgpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAodGhpcy5jYXJkRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRDYXJkPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgKHRoaXMuZXhwaXJlRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -115,12 +115,12 @@ var TuiMoneyComponent = /** @class */ (function () {
|
|
|
115
115
|
Component({
|
|
116
116
|
selector: 'tui-money',
|
|
117
117
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
118
|
-
template: "<span automation-id=\"tui-money__sign\">{{ signSymbol }}</span>\n<span automation-id=\"tui-money__integer-part\">{{ integerPart }}</span>\n<span class=\"t-lighter\">\n <span automation-id=\"tui-money__fraction-part\">{{ fractionPart }}</span>\n <span
|
|
119
|
-
styles: [":host{white-space:nowrap}:host._red{color:var(--tui-negative)}:host._green{color:var(--tui-positive)}:host:not(._inherit-color) .t-lighter{opacity:var(--tui-disabled-opacity)}"]
|
|
118
|
+
template: "<span automation-id=\"tui-money__sign\">{{ signSymbol }}</span>\n<span automation-id=\"tui-money__integer-part\">{{ integerPart }}</span>\n<span class=\"t-lighter\">\n <span automation-id=\"tui-money__fraction-part\">{{ fractionPart }}</span>\n <span\n automation-id=\"tui-money__currency\"\n class=\"t-currency\"\n [textContent]=\"currency | tuiCurrency\"\n ></span>\n</span>\n",
|
|
119
|
+
styles: [":host{white-space:nowrap}:host._red{color:var(--tui-negative)}:host._green{color:var(--tui-positive)}:host:not(._inherit-color) .t-lighter{opacity:var(--tui-disabled-opacity)}.t-currency{padding-left:.2rem}"]
|
|
120
120
|
}),
|
|
121
121
|
__param(0, Inject(TUI_NUMBER_FORMAT))
|
|
122
122
|
], TuiMoneyComponent);
|
|
123
123
|
return TuiMoneyComponent;
|
|
124
124
|
}());
|
|
125
125
|
export { TuiMoneyComponent };
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvbW9uZXkvIiwic291cmNlcyI6WyJtb25leS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDSCxZQUFZLEVBRVosaUJBQWlCLEdBRXBCLE1BQU0sZ0JBQWdCLENBQUM7QUFReEI7SUFxRkksMkJBRXFCLFlBQWtDO1FBQWxDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQXBGdkQsVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUlaLFlBQU8sR0FBZ0IsVUFBVSxDQUFDO1FBSWxDLGFBQVEscUJBQTBDO1FBSWxELFNBQUksR0FBa0IsZUFBZSxDQUFDO1FBSXRDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUlkLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBNkRqQixDQUFDO0lBM0RKLHNCQUFJLDBDQUFXO2FBQWY7WUFDSSxPQUFPLFlBQVksQ0FDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2hDLElBQUksRUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUN0QyxDQUFDO1FBQ04sQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwyQ0FBWTthQUFoQjtZQUNVLElBQUEsU0FBdUIsRUFBdEIsb0JBQU8sRUFBRSxnQkFBYSxDQUFDO1lBQzlCLElBQU0sUUFBUSxHQUFHLEtBQUssQ0FB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bXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDdXJyZW5jeX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ3VycmVuY3lWYXJpYW50cywgVHVpTW9uZXlTaWduVH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB7Q0hBUl9FTl9EQVNILCB0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGZvcm1hdE51bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUdWlEZWNpbWFsVCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tb25leScsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vbmV5LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vbmV5LnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9uZXlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZSA9IE5hTjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWNpbWFsOiBUdWlEZWNpbWFsVCA9ICdub3QtemVybyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY3VycmVuY3k6IFR1aUN1cnJlbmN5VmFyaWFudHMgPSBUdWlDdXJyZW5jeS5SdWJsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaWduOiBUdWlNb25leVNpZ25UID0gJ25lZ2F0aXZlLW9ubHknO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9yZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVjaXNpb24gPSAyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpbmdsZUNvbG9yID0gZmFsc2U7XG5cbiAgICBnZXQgaW50ZWdlclBhcnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlcihcbiAgICAgICAgICAgIE1hdGguZmxvb3IoTWF0aC5hYnModGhpcy52YWx1ZSkpLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZnJhY3Rpb25QYXJ0KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHtkZWNpbWFsLCB2YWx1ZX0gPSB0aGlzO1xuICAgICAgICBjb25zdCBmcmFjdGlvbiA9IHZhbHVlLnRvRml4ZWQodGhpcy5wcmVjaXNpb24pLnNwbGl0KCcuJylbMV07XG5cbiAgICAgICAgcmV0dXJuIGRlY2ltYWwgPT09ICduZXZlcicgfHxcbiAgICAgICAgICAgIChwYXJzZUludChmcmFjdGlvbiwgMTApID09PSAwICYmIGRlY2ltYWwgIT09ICdhbHdheXMnKVxuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yICsgZnJhY3Rpb247XG4gICAgfVxuXG4gICAgZ2V0IHNpZ25TeW1ib2woKTogJycgfCB0eXBlb2YgQ0hBUl9FTl9EQVNIIHwgJysnIHtcbiAgICAgICAgY29uc3Qge3NpZ24sIHZhbHVlfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHNpZ24gPT09ICduZXZlcicgfHwgIXZhbHVlIHx8IChzaWduID09PSAnbmVnYXRpdmUtb25seScgJiYgdmFsdWUgPiAwKSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpZ24gPT09ICdmb3JjZS1uZWdhdGl2ZScgfHwgKHZhbHVlIDwgMCAmJiBzaWduICE9PSAnZm9yY2UtcG9zaXRpdmUnKSkge1xuICAgICAgICAgICAgcmV0dXJuIENIQVJfRU5fREFTSDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnKyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcmVkJylcbiAgICBnZXQgcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb2xvcmVkICYmXG4gICAgICAgICAgICAodGhpcy5zaWduU3ltYm9sID09PSBDSEFSX0VOX0RBU0ggfHxcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZSA8IDAgJiYgdGhpcy5zaWduICE9PSAnZm9yY2UtcG9zaXRpdmUnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9ncmVlbicpXG4gICAgZ2V0IGdyZWVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb2xvcmVkICYmXG4gICAgICAgICAgICAodGhpcy5zaWduU3ltYm9sID09PSAnKycgfHxcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZSA+IDAgJiYgdGhpcy5zaWduICE9PSAnZm9yY2UtbmVnYXRpdmUnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9pbmhlcml0LWNvbG9yJylcbiAgICBnZXQgaW5oZXJpdENvbG9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaW5nbGVDb2xvciB8fCAodGhpcy52YWx1ZSA9PT0gMCAmJiB0aGlzLmNvbG9yZWQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgKSB7fVxufVxuIl19
|