@taiga-ui/addon-commerce 2.31.0 → 2.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/bundles/taiga-ui-addon-commerce-components-card.umd.js +2 -2
  2. package/bundles/taiga-ui-addon-commerce-components-card.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js +1 -1
  4. package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +18 -7
  6. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
  7. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +2 -2
  8. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-addon-commerce-components-money.umd.js +33 -11
  10. package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
  11. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +1 -1
  12. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-addon-commerce-enums.umd.js +2 -0
  14. package/bundles/taiga-ui-addon-commerce-enums.umd.js.map +1 -1
  15. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js +1 -1
  16. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-addon-commerce-utils.umd.js +2 -0
  18. package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
  19. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js +1 -1
  20. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +1 -1
  21. package/components/card/taiga-ui-addon-commerce-components-card.metadata.json +1 -1
  22. package/components/input-card-grouped/input-card-grouped.component.d.ts +3 -1
  23. package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +1 -1
  24. package/components/money/index.d.ts +1 -0
  25. package/components/money/money-options.d.ts +14 -0
  26. package/components/money/money.component.d.ts +3 -1
  27. package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +1 -1
  28. package/enums/currency-code.d.ts +2 -1
  29. package/enums/currency.d.ts +2 -1
  30. package/enums/taiga-ui-addon-commerce-enums.metadata.json +1 -1
  31. package/esm2015/components/card/card.component.js +3 -3
  32. package/esm2015/components/input-card-grouped/input-card-grouped.component.js +16 -9
  33. package/esm2015/components/money/index.js +2 -1
  34. package/esm2015/components/money/money-options.js +17 -0
  35. package/esm2015/components/money/money.component.js +16 -12
  36. package/esm2015/enums/currency-code.js +2 -1
  37. package/esm2015/enums/currency.js +2 -1
  38. package/esm2015/types/currency-variants.js +1 -1
  39. package/esm2015/utils/get-currency-symbol.js +3 -1
  40. package/esm5/components/card/card.component.js +3 -3
  41. package/esm5/components/input-card-grouped/input-card-grouped.component.js +20 -9
  42. package/esm5/components/money/index.js +2 -1
  43. package/esm5/components/money/money-options.js +18 -0
  44. package/esm5/components/money/money.component.js +16 -12
  45. package/esm5/enums/currency-code.js +2 -1
  46. package/esm5/enums/currency.js +2 -1
  47. package/esm5/types/currency-variants.js +1 -1
  48. package/esm5/utils/get-currency-symbol.js +3 -1
  49. package/fesm2015/taiga-ui-addon-commerce-components-card.js +2 -2
  50. package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
  51. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +15 -8
  52. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  53. package/fesm2015/taiga-ui-addon-commerce-components-money.js +32 -13
  54. package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
  55. package/fesm2015/taiga-ui-addon-commerce-enums.js +2 -0
  56. package/fesm2015/taiga-ui-addon-commerce-enums.js.map +1 -1
  57. package/fesm2015/taiga-ui-addon-commerce-utils.js +2 -0
  58. package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
  59. package/fesm5/taiga-ui-addon-commerce-components-card.js +2 -2
  60. package/fesm5/taiga-ui-addon-commerce-components-card.js.map +1 -1
  61. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +19 -8
  62. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  63. package/fesm5/taiga-ui-addon-commerce-components-money.js +33 -14
  64. package/fesm5/taiga-ui-addon-commerce-components-money.js.map +1 -1
  65. package/fesm5/taiga-ui-addon-commerce-enums.js +2 -0
  66. package/fesm5/taiga-ui-addon-commerce-enums.js.map +1 -1
  67. package/fesm5/taiga-ui-addon-commerce-utils.js +2 -0
  68. package/fesm5/taiga-ui-addon-commerce-utils.js.map +1 -1
  69. package/package.json +7 -7
  70. package/types/currency-variants.d.ts +2 -1
  71. package/types/taiga-ui-addon-commerce-types.metadata.json +1 -1
@@ -0,0 +1,14 @@
1
+ import { InjectionToken, ValueProvider } from '@angular/core';
2
+ import { TuiCurrencyVariants, TuiMoneySignT } from '@taiga-ui/addon-commerce/types';
3
+ import { TuiDecimalT } from '@taiga-ui/core';
4
+ export interface TuiMoneyOptions {
5
+ readonly decimal: TuiDecimalT;
6
+ readonly currency: TuiCurrencyVariants;
7
+ readonly sign: TuiMoneySignT;
8
+ readonly colored: boolean;
9
+ readonly precision: number;
10
+ readonly singleColor: boolean;
11
+ }
12
+ export declare const TUI_MONEY_DEFAULT_DEFAULT_OPTIONS: TuiMoneyOptions;
13
+ export declare const TUI_MONEY_OPTIONS: InjectionToken<TuiMoneyOptions>;
14
+ export declare const tuiMoneyOptionsProvider: (options: Partial<TuiMoneyOptions>) => ValueProvider;
@@ -1,8 +1,10 @@
1
1
  import { TuiCurrencyVariants, TuiMoneySignT } from '@taiga-ui/addon-commerce/types';
2
2
  import { CHAR_EN_DASH } from '@taiga-ui/cdk';
3
3
  import { NumberFormatSettings, TuiDecimalT } from '@taiga-ui/core';
4
+ import { TuiMoneyOptions } from './money-options';
4
5
  export declare class TuiMoneyComponent {
5
6
  private readonly numberFormat;
7
+ private readonly options;
6
8
  value: number;
7
9
  decimal: TuiDecimalT;
8
10
  currency: TuiCurrencyVariants;
@@ -16,5 +18,5 @@ export declare class TuiMoneyComponent {
16
18
  get red(): boolean;
17
19
  get green(): boolean;
18
20
  get inheritColor(): boolean;
19
- constructor(numberFormat: NumberFormatSettings);
21
+ constructor(numberFormat: NumberFormatSettings, options: TuiMoneyOptions);
20
22
  }
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiMoneyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"tui-money","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":19,"character":21},"member":"OnPush"},"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 automation-id=\"tui-money__currency\" class=\"t-currency\">\n {{ currency | tuiCurrency }}\n </span>\n</span>\n","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)}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":25,"character":5}}]}],"decimal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":29,"character":5}}]}],"currency":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":33,"character":5}}]}],"sign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":37,"character":5}}]}],"colored":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":41,"character":5}}]}],"precision":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":45,"character":5}}]}],"singleColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":49,"character":5}}]}],"red":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":85,"character":5},"arguments":["class._red"]}]}],"green":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":94,"character":5},"arguments":["class._green"]}]}],"inheritColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":103,"character":5},"arguments":["class._inherit-color"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":109,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_NUMBER_FORMAT","line":109,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"NumberFormatSettings","line":110,"character":39}]}]}},"TuiMoneyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":14},{"__symbolic":"reference","module":"@taiga-ui/addon-commerce/pipes","name":"TuiCurrencyPipeModule","line":7,"character":28}],"declarations":[{"__symbolic":"reference","name":"TuiMoneyComponent"}],"exports":[{"__symbolic":"reference","name":"TuiMoneyComponent"}]}]}],"members":{}}},"origins":{"TuiMoneyComponent":"./money.component","TuiMoneyModule":"./money.module"},"importAs":"@taiga-ui/addon-commerce/components/money"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiMoneyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"tui-money","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":20,"character":21},"member":"OnPush"},"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","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:not(:empty){padding-left:.2rem}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":26,"character":5}}]}],"decimal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":30,"character":5}}]}],"currency":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":34,"character":5}}]}],"sign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":38,"character":5}}]}],"colored":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":42,"character":5}}]}],"precision":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":46,"character":5}}]}],"singleColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":50,"character":5}}]}],"red":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":86,"character":5},"arguments":["class._red"]}]}],"green":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":95,"character":5},"arguments":["class._green"]}]}],"inheritColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":104,"character":5},"arguments":["class._inherit-color"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":110,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_NUMBER_FORMAT","line":110,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":112,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_MONEY_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"NumberFormatSettings","line":111,"character":39},{"__symbolic":"reference","name":"TuiMoneyOptions"}]}]}},"TuiMoneyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":14},{"__symbolic":"reference","module":"@taiga-ui/addon-commerce/pipes","name":"TuiCurrencyPipeModule","line":7,"character":28}],"declarations":[{"__symbolic":"reference","name":"TuiMoneyComponent"}],"exports":[{"__symbolic":"reference","name":"TuiMoneyComponent"}]}]}],"members":{}},"TuiMoneyOptions":{"__symbolic":"interface"},"TUI_MONEY_DEFAULT_DEFAULT_OPTIONS":{"decimal":"not-zero","currency":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@taiga-ui/addon-commerce/enums","name":"TuiCurrency","line":16,"character":14},"member":"Ruble"},"sign":"negative-only","colored":false,"precision":2,"singleColor":false},"TUI_MONEY_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":23,"character":37},"arguments":["Default parameters for money component",{"__symbolic":"error","message":"Lambda not supported","line":26,"character":17,"module":"./money-options"}]},"tuiMoneyOptionsProvider":{"__symbolic":"error","message":"Lambda not supported","line":32,"character":21,"module":"./money-options"}},"origins":{"TuiMoneyComponent":"./money.component","TuiMoneyModule":"./money.module","TuiMoneyOptions":"./money-options","TUI_MONEY_DEFAULT_DEFAULT_OPTIONS":"./money-options","TUI_MONEY_OPTIONS":"./money-options","tuiMoneyOptionsProvider":"./money-options"},"importAs":"@taiga-ui/addon-commerce/components/money"}
@@ -158,5 +158,6 @@ export declare const enum TuiCurrencyCode {
158
158
  * @description Alphabetic code: UAH
159
159
  * @description Countries and territories: Ukraine
160
160
  */
161
- Hryvnia = "980"
161
+ Hryvnia = "980",
162
+ MexicanPeso = "484"
162
163
  }
@@ -158,5 +158,6 @@ export declare const enum TuiCurrency {
158
158
  * @description Alphabetic code: UAH
159
159
  * @description Countries and territories: Ukraine
160
160
  */
161
- Hryvnia = "UAH"
161
+ Hryvnia = "UAH",
162
+ MexicanPeso = "MXN"
162
163
  }
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiCurrency":{"Ruble":"RUB","Euro":"EUR","Dollar":"USD","Pound":"GBP","Baht":"THB","TurkishLira":"TRY","YuanRenminbi":"CNY","Tenge":"KZT","IsraeliShekel":"ILS","IndianRupee":"INR","Yen":"JPY","Won":"KRW","SwissFranc":"CHF","SingaporeDollar":"SGD","AustralianDollar":"AUD","HongKong_dollar":"HKD","CanadianDollar":"CAD","ArmenianDram":"AMD","Hryvnia":"UAH"},"TuiCurrencyCode":{"Ruble":"643","Euro":"978","Dollar":"840","Pound":"826","Baht":"764","TurkishLira":"949","YuanRenminbi":"156","Tenge":"398","IsraeliShekel":"376","IndianRupee":"356","Yen":"392","Won":"410","SwissFranc":"756","SingaporeDollar":"702","AustralianDollar":"036","HongKong_dollar":"344","CanadianDollar":"124","ArmenianDram":"051","Hryvnia":"980"},"TuiMoneySign":{"NegativeOnly":"negative-only","Always":"always","Never":"never","ForceNegative":"force-negative","ForcePositive":"force-positive"},"TuiPaymentSystem":{"Visa":"visa","Electron":"electron","Mastercard":"mastercard","Maestro":"maestro","Mir":"mir"}},"origins":{"TuiCurrency":"./currency","TuiCurrencyCode":"./currency-code","TuiMoneySign":"./money-sign","TuiPaymentSystem":"./payment-system"},"importAs":"@taiga-ui/addon-commerce/enums"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiCurrency":{"Ruble":"RUB","Euro":"EUR","Dollar":"USD","Pound":"GBP","Baht":"THB","TurkishLira":"TRY","YuanRenminbi":"CNY","Tenge":"KZT","IsraeliShekel":"ILS","IndianRupee":"INR","Yen":"JPY","Won":"KRW","SwissFranc":"CHF","SingaporeDollar":"SGD","AustralianDollar":"AUD","HongKong_dollar":"HKD","CanadianDollar":"CAD","ArmenianDram":"AMD","Hryvnia":"UAH","MexicanPeso":"MXN"},"TuiCurrencyCode":{"Ruble":"643","Euro":"978","Dollar":"840","Pound":"826","Baht":"764","TurkishLira":"949","YuanRenminbi":"156","Tenge":"398","IsraeliShekel":"376","IndianRupee":"356","Yen":"392","Won":"410","SwissFranc":"756","SingaporeDollar":"702","AustralianDollar":"036","HongKong_dollar":"344","CanadianDollar":"124","ArmenianDram":"051","Hryvnia":"980","MexicanPeso":"484"},"TuiMoneySign":{"NegativeOnly":"negative-only","Always":"always","Never":"never","ForceNegative":"force-negative","ForcePositive":"force-positive"},"TuiPaymentSystem":{"Visa":"visa","Electron":"electron","Mastercard":"mastercard","Maestro":"maestro","Mir":"mir"}},"origins":{"TuiCurrency":"./currency","TuiCurrencyCode":"./currency-code","TuiMoneySign":"./money-sign","TuiPaymentSystem":"./payment-system"},"importAs":"@taiga-ui/addon-commerce/enums"}
@@ -46,7 +46,7 @@ __decorate([
46
46
  ], TuiCardComponent.prototype, "paymentSystem", void 0);
47
47
  __decorate([
48
48
  Input(),
49
- HostBinding('attr.data-tui-host-size'),
49
+ HostBinding('attr.data-size'),
50
50
  tuiDefaultProp()
51
51
  ], TuiCardComponent.prototype, "size", void 0);
52
52
  TuiCardComponent = __decorate([
@@ -54,8 +54,8 @@ TuiCardComponent = __decorate([
54
54
  selector: 'tui-card',
55
55
  template: "<div class=\"t-front\">\n <tui-svg\n *ngIf=\"hasBrandLogo\"\n class=\"t-brand-logo\"\n [src]=\"brandLogo\"\n ></tui-svg>\n <span class=\"t-number\">{{ cardNumber }}</span>\n <tui-svg\n *ngIf=\"!!paymentSystem\"\n class=\"t-payment-system-logo\"\n [src]=\"paymentSystemLogo\"\n ></tui-svg>\n</div>\n<div class=\"t-back\"></div>\n",
56
56
  changeDetection: ChangeDetectionStrategy.OnPush,
57
- styles: [":host{position:relative;display:block;color:var(--tui-base-01);transform-style:preserve-3d;cursor:default;border-radius:var(--tui-radius-xs);background-size:100%}:host[data-tui-host-size='s']{width:2rem;height:1.5rem}:host[data-tui-host-size='m']{width:3rem;height:2rem}:host._active{box-shadow:0 0 0 1px var(--tui-base-01)}.t-front{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.t-brand-logo{position:absolute;top:.1875rem;left:.125rem;height:.875rem;width:.875rem}.t-number{position:absolute;right:.25rem;display:flex;justify-content:center;align-items:center}:host[data-tui-host-size='s'] .t-number{top:.125rem;height:.625rem;width:1.1875rem;font-size:.5rem}:host[data-tui-host-size='m'] .t-number{top:.1875rem;height:.875rem;width:1.5rem;font-size:.625rem}.t-payment-system-logo{position:absolute;right:.25rem;bottom:-.5rem;width:2rem;height:2rem;transform:scale(.5);transform-origin:right}.t-back{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(180deg) translate3d(0,0,1px);background-color:var(--tui-base-05);border-radius:var(--tui-radius-xs)}.t-back:after{content:'';position:absolute;top:20%;left:0;right:0;height:20%;background-color:var(--tui-base-06)}"]
57
+ styles: [":host{position:relative;display:block;color:var(--tui-base-01);transform-style:preserve-3d;cursor:default;border-radius:var(--tui-radius-xs);background-size:100%}:host[data-size='s']{width:2rem;height:1.5rem}:host[data-size='m']{width:3rem;height:2rem}:host._active{box-shadow:0 0 0 1px var(--tui-base-01)}.t-front{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.t-brand-logo{position:absolute;top:.1875rem;left:.125rem;height:.875rem;width:.875rem}.t-number{position:absolute;right:.25rem;display:flex;justify-content:center;align-items:center}:host[data-size='s'] .t-number{top:.125rem;height:.625rem;width:1.1875rem;font-size:.5rem}:host[data-size='m'] .t-number{top:.1875rem;height:.875rem;width:1.5rem;font-size:.625rem}.t-payment-system-logo{position:absolute;right:.25rem;bottom:-.5rem;width:2rem;height:2rem;transform:scale(.5);transform-origin:right}.t-back{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(180deg) translate3d(0,0,1px);background-color:var(--tui-base-05);border-radius:var(--tui-radius-xs)}.t-back:after{content:'';position:absolute;top:20%;left:0;right:0;height:20%;background-color:var(--tui-base-06)}"]
58
58
  })
59
59
  ], TuiCardComponent);
60
60
  export { TuiCardComponent };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29tcG9uZW50cy9jYXJkLyIsInNvdXJjZXMiOlsiY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUFDLE1BQU0sRUFBUztJQUNoRCxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLHFDQUFxQyxDQUFDO0FBRWhGLE1BQU0sS0FBSyxHQUFHO0lBQ1YsaUJBQXNCLEVBQUUsZ0JBQWdCO0lBQ3hDLG1CQUF1QixFQUFFLGlCQUFpQjtJQUMxQywyQkFBMkIsRUFBRSxxQkFBcUI7SUFDbEQsK0JBQTZCLEVBQUUsbUJBQW1CO0lBQ2xELHlCQUEwQixFQUFFLGdCQUFnQjtDQUMvQyxDQUFDO0FBUUYsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFBN0I7UUFJSSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUlmLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFJaEIsa0JBQWEsR0FBNEIsSUFBSSxDQUFDO1FBSzlDLFNBQUksR0FBYSxHQUFHLENBQUM7SUFTekIsQ0FBQztJQVBHLElBQUksWUFBWTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9ELENBQUM7Q0FDSixDQUFBO0FBMUJHO0lBSEMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLGVBQWUsQ0FBQztJQUM1QixjQUFjLEVBQUU7Z0RBQ0Y7QUFJZjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTttREFDRjtBQUlmO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxDQUFDLG1CQUFtQixFQUFFLDBCQUEwQixDQUFDO29EQUNoRDtBQUloQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt1REFDNkI7QUFLOUM7SUFIQyxLQUFLLEVBQUU7SUFDUCxXQUFXLENBQUMseUJBQXlCLENBQUM7SUFDdEMsY0FBYyxFQUFFOzhDQUNJO0FBckJaLGdCQUFnQjtJQU41QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsVUFBVTtRQUNwQiw2WUFBaUM7UUFFakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2xELENBQUM7R0FDVyxnQkFBZ0IsQ0E4QjVCO1NBOUJZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FyZE51bWJlckFzc2VydGlvbih7bGVuZ3RofTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFsZW5ndGggfHwgbGVuZ3RoID09PSA0O1xufVxuXG5leHBvcnQgY29uc3QgY2FyZE51bWJlckFzc2VydGlvbk1lc3NhZ2UgPSAnY2FyZE51bWJlciBzaG91bGQgY29udGFpbiA0IHN5bWJvbHMnO1xuXG5jb25zdCBpY29ucyA9IHtcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NaXJdOiAndHVpSWNvbk1pck1vbm8nLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLlZpc2FdOiAndHVpSWNvblZpc2FNb25vJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5FbGVjdHJvbl06ICd0dWlJY29uRWxlY3Ryb25Nb25vJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYXN0ZXJjYXJkXTogJ3R1aUljb25NYXN0ZXJjYXJkJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYWVzdHJvXTogJ3R1aUljb25NYWVzdHJvJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FyZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXJkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2FyZENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9hY3RpdmUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYnJhbmRMb2dvID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChjYXJkTnVtYmVyQXNzZXJ0aW9uLCBjYXJkTnVtYmVyQXNzZXJ0aW9uTWVzc2FnZSlcbiAgICBjYXJkTnVtYmVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcGF5bWVudFN5c3RlbTogVHVpUGF5bWVudFN5c3RlbSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10dWktaG9zdC1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTID0gJ20nO1xuXG4gICAgZ2V0IGhhc0JyYW5kTG9nbygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5icmFuZExvZ28gJiYgdGhpcy5zaXplID09PSAnbSc7XG4gICAgfVxuXG4gICAgZ2V0IHBheW1lbnRTeXN0ZW1Mb2dvKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnBheW1lbnRTeXN0ZW0gPyBpY29uc1t0aGlzLnBheW1lbnRTeXN0ZW1dIDogJyc7XG4gICAgfVxufVxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29tcG9uZW50cy9jYXJkLyIsInNvdXJjZXMiOlsiY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUFDLE1BQU0sRUFBUztJQUNoRCxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLHFDQUFxQyxDQUFDO0FBRWhGLE1BQU0sS0FBSyxHQUFHO0lBQ1YsaUJBQXNCLEVBQUUsZ0JBQWdCO0lBQ3hDLG1CQUF1QixFQUFFLGlCQUFpQjtJQUMxQywyQkFBMkIsRUFBRSxxQkFBcUI7SUFDbEQsK0JBQTZCLEVBQUUsbUJBQW1CO0lBQ2xELHlCQUEwQixFQUFFLGdCQUFnQjtDQUMvQyxDQUFDO0FBUUYsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFBN0I7UUFJSSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUlmLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFJaEIsa0JBQWEsR0FBNEIsSUFBSSxDQUFDO1FBSzlDLFNBQUksR0FBYSxHQUFHLENBQUM7SUFTekIsQ0FBQztJQVBHLElBQUksWUFBWTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9ELENBQUM7Q0FDSixDQUFBO0FBMUJHO0lBSEMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLGVBQWUsQ0FBQztJQUM1QixjQUFjLEVBQUU7Z0RBQ0Y7QUFJZjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTttREFDRjtBQUlmO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxDQUFDLG1CQUFtQixFQUFFLDBCQUEwQixDQUFDO29EQUNoRDtBQUloQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt1REFDNkI7QUFLOUM7SUFIQyxLQUFLLEVBQUU7SUFDUCxXQUFXLENBQUMsZ0JBQWdCLENBQUM7SUFDN0IsY0FBYyxFQUFFOzhDQUNJO0FBckJaLGdCQUFnQjtJQU41QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsVUFBVTtRQUNwQiw2WUFBaUM7UUFFakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2xELENBQUM7R0FDVyxnQkFBZ0IsQ0E4QjVCO1NBOUJZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FyZE51bWJlckFzc2VydGlvbih7bGVuZ3RofTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFsZW5ndGggfHwgbGVuZ3RoID09PSA0O1xufVxuXG5leHBvcnQgY29uc3QgY2FyZE51bWJlckFzc2VydGlvbk1lc3NhZ2UgPSAnY2FyZE51bWJlciBzaG91bGQgY29udGFpbiA0IHN5bWJvbHMnO1xuXG5jb25zdCBpY29ucyA9IHtcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NaXJdOiAndHVpSWNvbk1pck1vbm8nLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLlZpc2FdOiAndHVpSWNvblZpc2FNb25vJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5FbGVjdHJvbl06ICd0dWlJY29uRWxlY3Ryb25Nb25vJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYXN0ZXJjYXJkXTogJ3R1aUljb25NYXN0ZXJjYXJkJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYWVzdHJvXTogJ3R1aUljb25NYWVzdHJvJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FyZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXJkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2FyZENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9hY3RpdmUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYnJhbmRMb2dvID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChjYXJkTnVtYmVyQXNzZXJ0aW9uLCBjYXJkTnVtYmVyQXNzZXJ0aW9uTWVzc2FnZSlcbiAgICBjYXJkTnVtYmVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcGF5bWVudFN5c3RlbTogVHVpUGF5bWVudFN5c3RlbSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTID0gJ20nO1xuXG4gICAgZ2V0IGhhc0JyYW5kTG9nbygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5icmFuZExvZ28gJiYgdGhpcy5zaXplID09PSAnbSc7XG4gICAgfVxuXG4gICAgZ2V0IHBheW1lbnRTeXN0ZW1Mb2dvKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnBheW1lbnRTeXN0ZW0gPyBpY29uc1t0aGlzLnBheW1lbnRTeXN0ZW1dIDogJyc7XG4gICAgfVxufVxuIl19
@@ -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
  const STUB = {
@@ -22,11 +22,12 @@ const ICONS = {
22
22
  };
23
23
  // @dynamic
24
24
  let TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = class TuiInputCardGroupedComponent extends AbstractTuiNullableControl {
25
- constructor(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts$) {
25
+ constructor(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts$, appearance) {
26
26
  super(control, changeDetectorRef);
27
27
  this.elementRef = elementRef;
28
28
  this.mode$ = mode$;
29
29
  this.cardGroupedTexts$ = cardGroupedTexts$;
30
+ this.appearance = appearance;
30
31
  this.expireInert = false;
31
32
  this.autocompleteEnabled = false;
32
33
  this.cardSrc = null; // TODO(splincode): will be deleted `null` in v3.0
@@ -103,7 +104,11 @@ let TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = class TuiInp
103
104
  : this.value.card.substr(0, 6);
104
105
  }
105
106
  get placeholderRaised() {
106
- return (this.computedFocused && !this.readOnly) || !!this.value;
107
+ return (this.computedFocused && !this.readOnly) || this.hasCardNumber;
108
+ }
109
+ get hasCardNumber() {
110
+ var _a, _b;
111
+ return !!((_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.card) === null || _b === void 0 ? void 0 : _b.trim());
107
112
  }
108
113
  get formattedCard() {
109
114
  return this.value && !this.cardPrefilled
@@ -293,7 +298,8 @@ TuiInputCardGroupedComponent.ctorParameters = () => [
293
298
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
294
299
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
295
300
  { type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] },
296
- { type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] }
301
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] },
302
+ { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
297
303
  ];
298
304
  __decorate([
299
305
  ViewChild('inputCard')
@@ -349,7 +355,7 @@ __decorate([
349
355
  TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
350
356
  Component({
351
357
  selector: 'tui-input-card-grouped',
352
- template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n appearance=\"textfield\"\n class=\"t-common-wrapper\"\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",
358
+ 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",
353
359
  changeDetection: ChangeDetectionStrategy.OnPush,
354
360
  providers: [
355
361
  MODE_PROVIDER,
@@ -364,9 +370,9 @@ TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
364
370
  ],
365
371
  host: {
366
372
  '($.data-mode.attr)': 'mode$',
367
- 'data-tui-host-size': 'l',
373
+ 'data-size': 'l',
368
374
  },
369
- styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill:var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;z-index:2;height:100%;width:100%;overflow:hidden}.t-common-wrapper .t-icons,.t-common-wrapper .t-wrapper{z-index:1}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate3d(100%,0,0)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate3d(100%,0,0)}.t-wrapper_active{transform:translate3d(6.5625rem,0,0)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate3d(4.125rem,0,0)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 0 0 1rem;border-radius:inherit;background:0 0;font-size:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:focus,.t-collapsed:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-collapsed:-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .t-collapsed{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .t-collapsed{padding:0 var(--tui-padding-l)}:host._disabled .t-collapsed{pointer-events:none}:host._right-aligned .t-collapsed{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .t-collapsed{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .t-collapsed:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .t-collapsed{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .t-collapsed:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-collapsed:before{content:attr(data-before)}:-webkit-autofill~.t-collapsed{background:var(--tui-autofill)}.t-collapsed_inactive,:-webkit-autofill~.t-collapsed_inactive,:host._disabled .t-collapsed_inactive{color:transparent;background:0 0;-webkit-transition:color 0s var(--tui-duration),background 0s var(--tui-duration);transition:color 0s var(--tui-duration),background 0s var(--tui-duration)}.t-collapsed_inactive:before,:-webkit-autofill~.t-collapsed_inactive:before,:host._disabled .t-collapsed_inactive:before{color:transparent;-webkit-transition:color 0s var(--tui-duration);transition:color 0s var(--tui-duration)}.t-collapsed-wrapper{position:absolute;left:1.375rem;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;text-indent:-.375rem;transform:translate3d(100%,0,0)}.t-value_collapsed{transform:translate3d(4ch,0,0)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 1rem;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .t-input{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .t-input{padding:0 var(--tui-padding-l)}:host._disabled .t-input{pointer-events:none}:host._right-aligned .t-input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input:not(.t-input_prefilled)::-moz-placeholder{color:var(--tui-text-03);opacity:0}.t-input:not(.t-input_prefilled):-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.t-input:not(.t-input_prefilled)::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-input::-moz-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input:-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}:host._focused .t-input:not(:read-only)::-moz-placeholder{opacity:1}:host._focused .t-input:not(:read-only):-ms-input-placeholder{opacity:1}:host._focused .t-input:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .t-input:not(:read-only)::placeholder{opacity:1}.t-input_card{transition:color 0s var(--tui-duration)}.t-input_card::-webkit-textfield-decoration-container{display:none}:host._disabled .t-input_card{transition:color}.t-input_inert{pointer-events:none}.t-input_hidden,:host._disabled .t-input_hidden{color:transparent;transition:color}.t-input_hidden:-webkit-autofill,.t-input_hidden:-webkit-autofill:focus,.t-input_hidden:-webkit-autofill:hover,:host._disabled .t-input_hidden:-webkit-autofill,:host._disabled .t-input_hidden:-webkit-autofill:focus,:host._disabled .t-input_hidden:-webkit-autofill:hover{color:transparent!important;-webkit-text-fill-color:transparent!important}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:inherit}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-tui-host-size='m'] .t-placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-tui-host-size='l']._focused._label-outside .t-placeholder,:host[data-tui-host-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .t-placeholder{font-size:.9375rem}:host[data-tui-host-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}"]
375
+ styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill:var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;z-index:2;height:100%;width:100%;overflow:hidden}.t-common-wrapper .t-icons,.t-common-wrapper .t-wrapper{z-index:1}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate3d(100%,0,0)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate3d(100%,0,0)}.t-wrapper_active{transform:translate3d(6.5625rem,0,0)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate3d(4.125rem,0,0)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 0 0 1rem;border-radius:inherit;background:0 0;font-size:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:focus,.t-collapsed:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),:host[data-size='s'] .t-collapsed{padding:0 var(--tui-padding-s)}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),:host[data-size='l'] .t-collapsed{padding:0 var(--tui-padding-l)}.t-collapsed :host-context(tui-primitive-textfield._disabled),:host._disabled .t-collapsed{pointer-events:none}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-collapsed{padding-top:1.25rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-collapsed:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-collapsed{padding-top:1.125rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-collapsed:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-collapsed :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-collapsed{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-collapsed:before{content:attr(data-before)}:-webkit-autofill~.t-collapsed{background:var(--tui-autofill)}.t-collapsed_inactive,:-webkit-autofill~.t-collapsed_inactive,:host._disabled .t-collapsed_inactive{color:transparent;background:0 0;-webkit-transition:color 0s var(--tui-duration),background 0s var(--tui-duration);transition:color 0s var(--tui-duration),background 0s var(--tui-duration)}.t-collapsed_inactive:before,:-webkit-autofill~.t-collapsed_inactive:before,:host._disabled .t-collapsed_inactive:before{color:transparent;-webkit-transition:color 0s var(--tui-duration);transition:color 0s var(--tui-duration)}.t-collapsed-wrapper{position:absolute;left:1.375rem;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;text-indent:-.375rem;transform:translate3d(100%,0,0)}.t-value_collapsed{transform:translate3d(4ch,0,0)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 1rem;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input:not(.t-input_prefilled)::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.t-input:not(.t-input_prefilled)::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}:host._focused .t-input:not(:read-only)::-ms-input-placeholder{opacity:1}:host._focused .t-input:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .t-input:not(:read-only)::placeholder{opacity:1}.t-input_card{transition:color 0s var(--tui-duration)}.t-input_card::-webkit-textfield-decoration-container{display:none}:host._disabled .t-input_card{transition:color}.t-input_inert{pointer-events:none}.t-input_hidden,:host._disabled .t-input_hidden{color:transparent;transition:color}.t-input_hidden:-webkit-autofill,.t-input_hidden:-webkit-autofill:focus,.t-input_hidden:-webkit-autofill:hover,:host._disabled .t-input_hidden:-webkit-autofill,:host._disabled .t-input_hidden:-webkit-autofill:focus,:host._disabled .t-input_hidden:-webkit-autofill:hover{color:transparent!important;-webkit-text-fill-color:transparent!important}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:inherit}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}"]
370
376
  }),
371
377
  __param(0, Optional()),
372
378
  __param(0, Self()),
@@ -374,7 +380,8 @@ TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
374
380
  __param(1, Inject(ChangeDetectorRef)),
375
381
  __param(2, Inject(ElementRef)),
376
382
  __param(3, Inject(TUI_MODE)),
377
- __param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS))
383
+ __param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS)),
384
+ __param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
378
385
  ], TuiInputCardGroupedComponent);
379
386
  export { TuiInputCardGroupedComponent };
380
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRzNCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBRXBCLG9CQUFvQixFQUNwQixvQkFBb0IsR0FHdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFDSCw0QkFBNEIsR0FFL0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxNQUFNLElBQUksR0FBWTtJQUNs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WUFBWSxDQUFDLGFBQWEsQ0FBQzt5REFHM0I7QUFJRDtJQUZDLFlBQVksQ0FBQywyQkFBMkIsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRSxZQUFZLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7MkRBS2hFO0FBZ0hEO0lBREMsT0FBTzsrREFHUDtBQW5WUSw0QkFBNEI7SUFyQnhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsc2hMQUFpRDtRQUVqRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUU7WUFDUCxhQUFhO1lBQ2I7Z0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBNEIsQ0FBQzthQUM5RDtZQUNEO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQTRCLENBQUM7YUFDOUQ7U0FDSjtRQUNELElBQUksRUFBRTtZQUNGLG9CQUFvQixFQUFFLE9BQU87WUFDN0Isb0JBQW9CLEVBQUUsR0FBRztTQUM1Qjs7S0FDSixDQUFDO0lBa0ZPLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO0dBeEZoQyw0QkFBNEIsQ0F3WHhDO1NBeFhZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9DQVJEX01BU0ssIHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ2FyZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2RlQ1ZDTGVuZ3RofSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBnZXRQYXltZW50U3lzdGVtLFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX01PREUsXG4gICAgVFVJX05PTl9ESUdJVF9SRUdFWFAsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdENvbXBvbmVudCxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9JTlBVVF9DQVJEX0dST1VQRURfVEVYVFMsXG4gICAgVHVpQ2FyZEdyb3VwZWRUZXh0cyxcbn0gZnJvbSAnLi9pbnB1dC1jYXJkLWdyb3VwZWQucHJvdmlkZXJzJztcblxuY29uc3QgU1RVQjogVHVpQ2FyZCA9IHtcbiAgICBjYXJkOiAnJyxcbiAgICBleHBpcmU6ICcnLFxuICAgIGN2YzogJycsXG59O1xuY29uc3QgSUNPTlMgPSB7XG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWlyXTogJ3R1aUljb25NaXInLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLlZpc2FdOiAndHVpSWNvblZpc2EnLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLkVsZWN0cm9uXTogJ3R1aUljb25FbGVjdHJvbicsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWFzdGVyY2FyZF06ICd0dWlJY29uTWFzdGVyY2FyZCcsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWFlc3Ryb106ICd0dWlJY29uTWFlc3RybycsXG59O1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtY2FyZC1ncm91cGVkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2FyZC1ncm91cGVkLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWNhcmQtZ3JvdXBlZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgICAgICdkYXRhLXR1aS1ob3N0LXNpemUnOiAnbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpQ2FyZD5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PFBhcnRpYWw8VHVpQ2FyZD4+XG57XG4gICAgQFZpZXdDaGlsZCgnaW5wdXRDYXJkJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q2FyZD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dEV4cGlyZScpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dEV4cGlyZT86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dENWQycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENWQz86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwcml2YXRlIGV4cGlyZUluZXJ0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYXV0b2NvbXBsZXRlRW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRTcmM6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsID0gbnVsbDsgLy8gVE9ETyhzcGxpbmNvZGUpOiB3aWxsIGJlIGRlbGV0ZWQgYG51bGxgIGluIHYzLjBcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleGFtcGxlVGV4dCA9ICcwMDAwIDAwMDAgMDAwMCAwMDAwJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkVmFsaWRhdG9yOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gdHVpRGVmYXVsdENhcmRWYWxpZGF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGNvZGVMZW5ndGgobGVuZ3RoOiBUdWlDb2RlQ1ZDTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZXhhbXBsZVRleHRDVkMgPSAnMCcucmVwZWF0KGxlbmd0aCk7XG4gICAgICAgIHRoaXMubWFza0NWQyA9IHtcbiAgICAgICAgICAgIG1hc2s6IG5ldyBBcnJheShsZW5ndGgpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGJpbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZHJvcGRvd246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3RDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUdWlEYXRhTGlzdENvbXBvbmVudDxUdWlDYXJkPjtcblxuICAgIGV4YW1wbGVUZXh0Q1ZDID0gJzAwMCc7XG5cbiAgICBtYXNrQ1ZDOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IG5ldyBBcnJheSgzKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tDYXJkOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IFRVSV9DQVJEX01BU0ssXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgcGlwZTogY29uZm9ybWVkVmFsdWUgPT4gY29uZm9ybWVkVmFsdWUudHJpbSgpLFxuICAgIH07XG5cbiAgICByZWFkb25seSBtYXNrRXhwaXJlOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IFtcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgJy8nLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIF0sXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlKCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgY2FyZEdyb3VwZWRUZXh0cyQ6IE9ic2VydmFibGU8VHVpQ2FyZEdyb3VwZWRUZXh0cz4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0Q2FyZCA/IHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuIHx8IGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlICYmICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0Ryb3Bkb3duKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0SWNvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3BheW1lbnRTeXN0ZW19ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gcGF5bWVudFN5c3RlbSAmJiBJQ09OU1twYXltZW50U3lzdGVtXTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRTcmMgPz8gdGhpcy5kZWZhdWx0SWNvbjtcbiAgICB9XG5cbiAgICBnZXQgYmluKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5jYXJkLmxlbmd0aCA8IDZcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlLmNhcmQuc3Vic3RyKDAsIDYpO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmICF0aGlzLmNhcmRQcmVmaWxsZWRcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZS5jYXJkXG4gICAgICAgICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAgICAgICAubWFwKChjaGFyLCBpbmRleCkgPT4gKGluZGV4ICYmIGluZGV4ICUgNCA9PT0gMCA/IGAgJHtjaGFyfWAgOiBjaGFyKSlcbiAgICAgICAgICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19jYXJkJztcbiAgICB9XG5cbiAgICBnZXQgaWRFeHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX2V4cGlyZSc7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ1ZDKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19jdmMnO1xuICAgIH1cblxuICAgIGdldCBpc0NhcmRDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuY2FyZEZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNhcmQoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY051bWJlclxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlRXhwaXJlKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NFeHBcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNWQygpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjQ3NjXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIC8vIFNhZmFyaSBleHBpcmF0aW9uIGRhdGUgYXV0b2ZpbGwgd29ya2Fyb3VuZFxuICAgIGdldCBuYW1lKCk6ICdjY2V4cGlyeXllYXInIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWQgPyAnY2NleHBpcnl5ZWFyJyA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRQcmVmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2FyZC5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y1ByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdmMubWF0Y2goVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgIH1cblxuICAgIGdldCBjYXJkRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgIXRoaXMuY2FyZFByZWZpbGxlZDtcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmV4cGlyZUluZXJ0O1xuICAgIH1cblxuICAgIGdldCBjdmNGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tlZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkUHJlZmlsbGVkID8gYCoke3RoaXMuY2FyZC5zbGljZSgtNCl9YCA6ICcqJztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzYycpXG4gICAgb25Fc2MoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnMSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcC5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJy0xJ10pXG4gICAgb25BcnJvdyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzRHJvcGRvd247XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmRhdGFsaXN0Py5vbktleURvd25BcnJvdyhlbGVtZW50LCBzdGVwKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBQYXJ0aWFsPFR1aUNhcmQ+KSB7XG4gICAgICAgIGNvbnN0IHtjYXJkID0gJycsIGV4cGlyZSA9ICcnLCBjdmMgPSAnJ30gPSBvcHRpb247XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAoIWV4cGlyZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fCB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoe2NhcmQsIGV4cGlyZSwgY3ZjfSk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISFleHBpcmU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNhcmRDaGFuZ2UoY2FyZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgYmlufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNhcmQuc3BsaXQoJyAnKS5qb2luKCcnKTtcblxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuY2FyZCA9PT0gcGFyc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KHBhcnNlZCwgJ2NhcmQnKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcblxuICAgICAgICBpZiAodGhpcy5jYXJkVmFsaWRhdG9yKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXhwaXJlQ2hhbmdlKGV4cGlyZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIEBiYWQgVE9ETzogV29ya2Fyb3VuZCB1bnRpbCBtYXNrIHBpcGUgY2FuIHJlcGxhY2UgY2hhcnMgYW5kIGtlZXAgY2FyZXQgcG9zaXRpb25cbiAgICAgICAgLy8gQGJhZCBUT0RPOiBUaGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgbWFzayBhdCBhbGxcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0RXhwaXJlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VJbnQoZXhwaXJlLnN1YnN0cigwLCAyKSwgMTApID4gMTIpIHtcbiAgICAgICAgICAgIGV4cGlyZSA9ICcxMicgKyBleHBpcmUuc3Vic3RyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zdWJzdHIoMCwgMikgPT09ICcwMCcpIHtcbiAgICAgICAgICAgIGV4cGlyZSA9ICcwMScgKyBleHBpcmUuc3Vic3RyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gZXhwaXJlO1xuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KGV4cGlyZSwgJ2V4cGlyZScpO1xuXG4gICAgICAgIGlmIChleHBpcmUubGVuZ3RoID09PSA1ICYmIHRoaXMuaW5wdXRDVkMpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENWQy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ1ZDQ2hhbmdlKGN2Yzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoY3ZjLCAnY3ZjJyk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lQ2hhbmdlKGFjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICAgICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLm1hdGNoZXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH1cblxuICAgIG9uU2Nyb2xsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IDA7XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRDYXJkKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aUNhcmQgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhdGhpcy5leHBpcmUgJiYgdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNhcmRGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmlucHV0Q2FyZCAmJiBpc05hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGF5bWVudFN5c3RlbSgpOiBUdWlQYXltZW50U3lzdGVtIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmIGdldFBheW1lbnRTeXN0ZW0odGhpcy52YWx1ZS5jYXJkKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgaXNGb2N1c2FibGUoY2FyZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAodGhpcy5jYXJkVmFsaWRhdG9yKGNhcmQpIHx8IHRoaXMuY2FyZFByZWZpbGxlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW4ob2xkQmluOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBpZiAoYmluICE9PSBvbGRCaW4gJiYgIXRoaXMuY2FyZFByZWZpbGxlZCkge1xuICAgICAgICAgICAgdGhpcy5iaW5DaGFuZ2UuZW1pdChiaW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcm9wZXJ0eShwcm9wVmFsdWU6IHN0cmluZywgcHJvcE5hbWU6ICdjYXJkJyB8ICdleHBpcmUnIHwgJ2N2YycpIHtcbiAgICAgICAgY29uc3Qge2NhcmQsIGV4cGlyZSwgY3ZjfSA9IHRoaXMudmFsdWUgfHwgU1RVQjtcbiAgICAgICAgY29uc3QgbmV3VmFsdWU6IFR1aUNhcmQgPSB7XG4gICAgICAgICAgICBjYXJkLFxuICAgICAgICAgICAgZXhwaXJlLFxuICAgICAgICAgICAgY3ZjLFxuICAgICAgICB9O1xuXG4gICAgICAgIG5ld1ZhbHVlW3Byb3BOYW1lXSA9IHByb3BWYWx1ZTtcblxuICAgICAgICBpZiAoIW5ld1ZhbHVlLmV4cGlyZSAmJiAhbmV3VmFsdWUuY3ZjICYmICFuZXdWYWx1ZS5jYXJkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgKHRoaXMuY2FyZEZvY3VzYWJsZSAmJiB0aGlzLmlucHV0Q2FyZD8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICh0aGlzLmV4cGlyZUZvY3VzYWJsZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgdGhpcy5pbnB1dENWQz8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
387
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRzNCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsTUFBTSxJ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QVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFFcEMsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtHQTFGNUIsNEJBQTRCLENBOFh4QztTQTlYWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUVUlfQ0FSRF9NQVNLLCB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVBheW1lbnRTeXN0ZW19IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9lbnVtcyc7XG5pbXBvcnQge1R1aUNhcmR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpQ29kZUNWQ0xlbmd0aH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB7XG4gICAgZ2V0UGF5bWVudFN5c3RlbSxcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRXhwaXJlUGlwZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpUmVxdWlyZWRTZXR0ZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNT0RFX1BST1ZJREVSLFxuICAgIFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9NT0RFLFxuICAgIFRVSV9OT05fRElHSVRfUkVHRVhQLFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aURhdGFMaXN0Q29tcG9uZW50LFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUyxcbiAgICBUdWlDYXJkR3JvdXBlZFRleHRzLFxufSBmcm9tICcuL2lucHV0LWNhcmQtZ3JvdXBlZC5wcm92aWRlcnMnO1xuXG5jb25zdCBTVFVCOiBUdWlDYXJkID0ge1xuICAgIGNhcmQ6ICcnLFxuICAgIGV4cGlyZTogJycsXG4gICAgY3ZjOiAnJyxcbn07XG5jb25zdCBJQ09OUyA9IHtcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NaXJdOiAndHVpSWNvbk1pcicsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uVmlzYV06ICd0dWlJY29uVmlzYScsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uRWxlY3Ryb25dOiAndHVpSWNvbkVsZWN0cm9uJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYXN0ZXJjYXJkXTogJ3R1aUljb25NYXN0ZXJjYXJkJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYWVzdHJvXTogJ3R1aUljb25NYWVzdHJvJyxcbn07XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1jYXJkLWdyb3VwZWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jYXJkLWdyb3VwZWQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY2FyZC1ncm91cGVkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICAgICAgJ2RhdGEtc2l6ZSc6ICdsJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlDYXJkPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8UGFydGlhbDxUdWlDYXJkPj5cbntcbiAgICBAVmlld0NoaWxkKCdpbnB1dENhcmQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDYXJkPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RXhwaXJlJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RXhwaXJlPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Q1ZDJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q1ZDPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgZXhwaXJlSW5lcnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvY29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFNyYzogUG9seW1vcnBoZXVzQ29udGVudCB8IG51bGwgPSBudWxsOyAvLyBUT0RPKHNwbGluY29kZSk6IHdpbGwgYmUgZGVsZXRlZCBgbnVsbGAgaW4gdjMuMFxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4YW1wbGVUZXh0ID0gJzAwMDAgMDAwMCAwMDAwIDAwMDAnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgY29kZUxlbmd0aChsZW5ndGg6IFR1aUNvZGVDVkNMZW5ndGgpIHtcbiAgICAgICAgdGhpcy5leGFtcGxlVGV4dENWQyA9ICcwJy5yZXBlYXQobGVuZ3RoKTtcbiAgICAgICAgdGhpcy5tYXNrQ1ZDID0ge1xuICAgICAgICAgICAgbWFzazogbmV3IEFycmF5KGxlbmd0aCkuZmlsbChUVUlfRElHSVRfUkVHRVhQKSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhdXRvZmlsbGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYmluQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkcm9wZG93bjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdENvbXBvbmVudClcbiAgICByZWFkb25seSBkYXRhbGlzdD86IFR1aURhdGFMaXN0Q29tcG9uZW50PFR1aUNhcmQ+O1xuXG4gICAgZXhhbXBsZVRleHRDVkMgPSAnMDAwJztcblxuICAgIG1hc2tDVkM6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogbmV3IEFycmF5KDMpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0NhcmQ6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogVFVJX0NBUkRfTUFTSyxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICBwaXBlOiBjb25mb3JtZWRWYWx1ZSA9PiBjb25mb3JtZWRWYWx1ZS50cmltKCksXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tFeHBpcmU6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogW1xuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICAnLycsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgXSxcbiAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUoKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTKVxuICAgICAgICByZWFkb25seSBjYXJkR3JvdXBlZFRleHRzJDogT2JzZXJ2YWJsZTxUdWlDYXJkR3JvdXBlZFRleHRzPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRDYXJkID8gdGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4gfHwgaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBjYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5jYXJkID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBleHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmV4cGlyZSA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgY3ZjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5jdmMgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWUgJiYgIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd247XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRJY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB7cGF5bWVudFN5c3RlbX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBwYXltZW50U3lzdGVtICYmIElDT05TW3BheW1lbnRTeXN0ZW1dO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZFNyYyA/PyB0aGlzLmRlZmF1bHRJY29uO1xuICAgIH1cblxuICAgIGdldCBiaW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmNhcmQubGVuZ3RoIDwgNlxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudmFsdWUuY2FyZC5zdWJzdHIoMCwgNik7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc0NhcmROdW1iZXI7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NhcmROdW1iZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWU/LmNhcmQ/LnRyaW0oKTtcbiAgICB9XG5cbiAgICBnZXQgZm9ybWF0dGVkQ2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkXG4gICAgICAgICAgICA/IHRoaXMudmFsdWUuY2FyZFxuICAgICAgICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgICAgICAgLm1hcCgoY2hhciwgaW5kZXgpID0+IChpbmRleCAmJiBpbmRleCAlIDQgPT09IDAgPyBgICR7Y2hhcn1gIDogY2hhcikpXG4gICAgICAgICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICdfY2FyZCc7XG4gICAgfVxuXG4gICAgZ2V0IGlkRXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19leHBpcmUnO1xuICAgIH1cblxuICAgIGdldCBpZENWQygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICdfY3ZjJztcbiAgICB9XG5cbiAgICBnZXQgaXNDYXJkQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmNhcmRGb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVDYXJkKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NOdW1iZXJcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUV4cGlyZSgpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjRXhwXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVDVkMoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY0NzY1xuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICAvLyBTYWZhcmkgZXhwaXJhdGlvbiBkYXRlIGF1dG9maWxsIHdvcmthcm91bmRcbiAgICBnZXQgbmFtZSgpOiAnY2NleHBpcnl5ZWFyJyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkID8gJ2NjZXhwaXJ5eWVhcicgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjYXJkUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNhcmQubWF0Y2goVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgIH1cblxuICAgIGdldCBjdmNQcmVmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY3ZjLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZEZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlICYmICF0aGlzLmNhcmRQcmVmaWxsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGV4cGlyZUZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmVJbmVydDtcbiAgICB9XG5cbiAgICBnZXQgY3ZjRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpO1xuICAgIH1cblxuICAgIGdldCBtYXNrZWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZFByZWZpbGxlZCA/IGAqJHt0aGlzLmNhcmQuc2xpY2UoLTQpfWAgOiAnKic7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnKVxuICAgIG9uRXNjKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bi5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJzEnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICctMSddKVxuICAgIG9uQXJyb3coZWxlbWVudDogSFRNTEVsZW1lbnQsIHN0ZXA6IG51bWJlcikge1xuICAgICAgICB0aGlzLm9wZW4gPSB0aGlzLmhhc0Ryb3Bkb3duO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5kYXRhbGlzdD8ub25LZXlEb3duQXJyb3coZWxlbWVudCwgc3RlcCk7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKG9wdGlvbjogUGFydGlhbDxUdWlDYXJkPikge1xuICAgICAgICBjb25zdCB7Y2FyZCA9ICcnLCBleHBpcmUgPSAnJywgY3ZjID0gJyd9ID0gb3B0aW9uO1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgKCFleHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudCkgfHwgdGhpcy5pbnB1dENWQz8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHtjYXJkLCBleHBpcmUsIGN2Y30pO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhZXhwaXJlO1xuXG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DYXJkQ2hhbmdlKGNhcmQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGJpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBjYXJkLnNwbGl0KCcgJykuam9pbignJyk7XG5cbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmNhcmQgPT09IHBhcnNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShwYXJzZWQsICdjYXJkJyk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG5cbiAgICAgICAgaWYgKHRoaXMuY2FyZFZhbGlkYXRvcih0aGlzLmNhcmQpICYmICF0aGlzLmV4cGlyZSAmJiB0aGlzLmlucHV0RXhwaXJlKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRFeHBpcmUubmF0aXZlRWxlbWVudCwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkV4cGlyZUNoYW5nZShleHBpcmU6IHN0cmluZykge1xuICAgICAgICAvLyBAYmFkIFRPRE86IFdvcmthcm91bmQgdW50aWwgbWFzayBwaXBlIGNhbiByZXBsYWNlIGNoYXJzIGFuZCBrZWVwIGNhcmV0IHBvc2l0aW9uXG4gICAgICAgIC8vIEBiYWQgVE9ETzogVGhpbmsgYWJvdXQgYSBzb2x1dGlvbiB3aXRob3V0IG1hc2sgYXQgYWxsXG4gICAgICAgIGlmICghdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlSW50KGV4cGlyZS5zdWJzdHIoMCwgMiksIDEwKSA+IDEyKSB7XG4gICAgICAgICAgICBleHBpcmUgPSAnMTInICsgZXhwaXJlLnN1YnN0cigyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChleHBpcmUuc3Vic3RyKDAsIDIpID09PSAnMDAnKSB7XG4gICAgICAgICAgICBleHBpcmUgPSAnMDEnICsgZXhwaXJlLnN1YnN0cigyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRFeHBpcmUubmF0aXZlRWxlbWVudC52YWx1ZSA9IGV4cGlyZTtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShleHBpcmUsICdleHBpcmUnKTtcblxuICAgICAgICBpZiAoZXhwaXJlLmxlbmd0aCA9PT0gNSAmJiB0aGlzLmlucHV0Q1ZDKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDVkMubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNWQ0NoYW5nZShjdmM6IHN0cmluZykge1xuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KGN2YywgJ2N2YycpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZUNoYW5nZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGFjdGl2ZSAmJiB0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvblNjcm9sbChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNjcm9sbExlZnQgPSAwO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuXG4gICAgICAgIGlmICh0aGlzLmlucHV0Q2FyZCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUdWlDYXJkIHwgbnVsbCkge1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG5cbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIXRoaXMuZXhwaXJlICYmIHRoaXMuY2FyZFByZWZpbGxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYXJkRm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pbnB1dENhcmQgJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBheW1lbnRTeXN0ZW0oKTogVHVpUGF5bWVudFN5c3RlbSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAmJiBnZXRQYXltZW50U3lzdGVtKHRoaXMudmFsdWUuY2FyZCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGlzRm9jdXNhYmxlKGNhcmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgKHRoaXMuY2FyZFZhbGlkYXRvcihjYXJkKSB8fCB0aGlzLmNhcmRQcmVmaWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQmluKG9sZEJpbjogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGJpbiAhPT0gb2xkQmluICYmICF0aGlzLmNhcmRQcmVmaWxsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYmluQ2hhbmdlLmVtaXQoYmluKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvcGVydHkocHJvcFZhbHVlOiBzdHJpbmcsIHByb3BOYW1lOiAnY2FyZCcgfCAnZXhwaXJlJyB8ICdjdmMnKSB7XG4gICAgICAgIGNvbnN0IHtjYXJkLCBleHBpcmUsIGN2Y30gPSB0aGlzLnZhbHVlIHx8IFNUVUI7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlOiBUdWlDYXJkID0ge1xuICAgICAgICAgICAgY2FyZCxcbiAgICAgICAgICAgIGV4cGlyZSxcbiAgICAgICAgICAgIGN2YyxcbiAgICAgICAgfTtcblxuICAgICAgICBuZXdWYWx1ZVtwcm9wTmFtZV0gPSBwcm9wVmFsdWU7XG5cbiAgICAgICAgaWYgKCFuZXdWYWx1ZS5leHBpcmUgJiYgIW5ld1ZhbHVlLmN2YyAmJiAhbmV3VmFsdWUuY2FyZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICh0aGlzLmNhcmRGb2N1c2FibGUgJiYgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAodGhpcy5leHBpcmVGb2N1c2FibGUgJiYgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
1
  export * from './money.component';
2
2
  export * from './money.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29tcG9uZW50cy9tb25leS8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9uZXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9uZXkubW9kdWxlJztcbiJdfQ==
3
+ export * from './money-options';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29tcG9uZW50cy9tb25leS8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb25leS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25leS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25leS1vcHRpb25zJztcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TUI_MONEY_DEFAULT_DEFAULT_OPTIONS = {
3
+ decimal: 'not-zero',
4
+ currency: "RUB" /* Ruble */,
5
+ sign: 'negative-only',
6
+ colored: false,
7
+ precision: 2,
8
+ singleColor: false,
9
+ };
10
+ export const TUI_MONEY_OPTIONS = new InjectionToken('Default parameters for money component', {
11
+ factory: () => TUI_MONEY_DEFAULT_DEFAULT_OPTIONS,
12
+ });
13
+ export const tuiMoneyOptionsProvider = (options) => ({
14
+ provide: TUI_MONEY_OPTIONS,
15
+ useValue: Object.assign(Object.assign({}, TUI_MONEY_DEFAULT_DEFAULT_OPTIONS), options),
16
+ });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXktb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL21vbmV5LyIsInNvdXJjZXMiOlsibW9uZXktb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQWM1RCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBb0I7SUFDOUQsT0FBTyxFQUFFLFVBQVU7SUFDbkIsUUFBUSxtQkFBbUI7SUFDM0IsSUFBSSxFQUFFLGVBQWU7SUFDckIsT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsQ0FBQztJQUNaLFdBQVcsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDL0Msd0NBQXdDLEVBQ3hDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGlDQUFpQztDQUNuRCxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FFZixDQUFDLE9BQWlDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLGtDQUFNLGlDQUFpQyxHQUFLLE9BQU8sQ0FBQztDQUMvRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQ3VycmVuY3l9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9lbnVtcyc7XG5pbXBvcnQge1R1aUN1cnJlbmN5VmFyaWFudHMsIFR1aU1vbmV5U2lnblR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge1R1aURlY2ltYWxUfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTW9uZXlPcHRpb25zIHtcbiAgICByZWFkb25seSBkZWNpbWFsOiBUdWlEZWNpbWFsVDtcbiAgICByZWFkb25seSBjdXJyZW5jeTogVHVpQ3VycmVuY3lWYXJpYW50cztcbiAgICByZWFkb25seSBzaWduOiBUdWlNb25leVNpZ25UO1xuICAgIHJlYWRvbmx5IGNvbG9yZWQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgcHJlY2lzaW9uOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgc2luZ2xlQ29sb3I6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfTU9ORVlfREVGQVVMVF9ERUZBVUxUX09QVElPTlM6IFR1aU1vbmV5T3B0aW9ucyA9IHtcbiAgICBkZWNpbWFsOiAnbm90LXplcm8nLFxuICAgIGN1cnJlbmN5OiBUdWlDdXJyZW5jeS5SdWJsZSxcbiAgICBzaWduOiAnbmVnYXRpdmUtb25seScsXG4gICAgY29sb3JlZDogZmFsc2UsXG4gICAgcHJlY2lzaW9uOiAyLFxuICAgIHNpbmdsZUNvbG9yOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfTU9ORVlfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlNb25leU9wdGlvbnM+KFxuICAgICdEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIG1vbmV5IGNvbXBvbmVudCcsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfTU9ORVlfREVGQVVMVF9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlNb25leU9wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpTW9uZXlPcHRpb25zPixcbikgPT4gVmFsdWVQcm92aWRlciA9IChvcHRpb25zOiBQYXJ0aWFsPFR1aU1vbmV5T3B0aW9ucz4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX01PTkVZX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfTU9ORVlfREVGQVVMVF9ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnN9LFxufSk7XG4iXX0=
@@ -2,16 +2,18 @@ import { __decorate, __param } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, } from '@angular/core';
3
3
  import { CHAR_EN_DASH, tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { formatNumber, TUI_NUMBER_FORMAT, } from '@taiga-ui/core';
5
+ import { TUI_MONEY_OPTIONS } from './money-options';
5
6
  let TuiMoneyComponent = class TuiMoneyComponent {
6
- constructor(numberFormat) {
7
+ constructor(numberFormat, options) {
7
8
  this.numberFormat = numberFormat;
9
+ this.options = options;
8
10
  this.value = NaN;
9
- this.decimal = 'not-zero';
10
- this.currency = "RUB" /* Ruble */;
11
- this.sign = 'negative-only';
12
- this.colored = false;
13
- this.precision = 2;
14
- this.singleColor = false;
11
+ this.decimal = this.options.decimal;
12
+ this.currency = this.options.currency;
13
+ this.sign = this.options.sign;
14
+ this.colored = this.options.colored;
15
+ this.precision = this.options.precision;
16
+ this.singleColor = this.options.singleColor;
15
17
  }
16
18
  get integerPart() {
17
19
  return formatNumber(Math.floor(Math.abs(this.value)), null, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
@@ -49,7 +51,8 @@ let TuiMoneyComponent = class TuiMoneyComponent {
49
51
  }
50
52
  };
51
53
  TuiMoneyComponent.ctorParameters = () => [
52
- { type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] }
54
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] },
55
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_MONEY_OPTIONS,] }] }
53
56
  ];
54
57
  __decorate([
55
58
  Input(),
@@ -92,10 +95,11 @@ TuiMoneyComponent = __decorate([
92
95
  Component({
93
96
  selector: 'tui-money',
94
97
  changeDetection: ChangeDetectionStrategy.OnPush,
95
- 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 automation-id=\"tui-money__currency\" class=\"t-currency\">\n {{ currency | tuiCurrency }}\n </span>\n</span>\n",
96
- 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)}"]
98
+ 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",
99
+ 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:not(:empty){padding-left:.2rem}"]
97
100
  }),
98
- __param(0, Inject(TUI_NUMBER_FORMAT))
101
+ __param(0, Inject(TUI_NUMBER_FORMAT)),
102
+ __param(1, Inject(TUI_MONEY_OPTIONS))
99
103
  ], TuiMoneyComponent);
100
104
  export { TuiMoneyComponent };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvbW9uZXkvIiwic291cmNlcyI6WyJtb25leS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDSCxZQUFZLEVBRVosaUJBQWlCLEdBRXBCLE1BQU0sZ0JBQWdCLENBQUM7QUFReEIsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFxRjFCLFlBRXFCLFlBQWtDO1FBQWxDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQXBGdkQsVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUlaLFlBQU8sR0FBZ0IsVUFBVSxDQUFDO1FBSWxDLGFBQVEscUJBQTBDO1FBSWxELFNBQUksR0FBa0IsZUFBZSxDQUFDO1FBSXRDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUlkLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBNkRqQixDQUFDO0lBM0RKLElBQUksV0FBVztRQUNYLE9BQU8sWUFBWSxDQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDaEMsSUFBSSxFQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQ3RDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osTUFBTSxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdELE9BQU8sT0FBTyxLQUFLLE9BQU87WUFDdEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLEtBQUssUUFBUSxDQUFDO1lBQ3RELENBQUMsQ0FBQyxFQUFFO1lBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixNQUFNLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQztRQUUzQixJQUFJLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUN2RSxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLEtBQUssZ0JBQWdCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZFLE9BQU8sWUFBWSxDQUFDO1NBQ3ZCO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBR0QsSUFBSSxHQUFHO1FBQ0gsT0FBTyxDQUNILElBQUksQ0FBQyxPQUFPO1lBQ1osQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFlBQVk7Z0JBQzdCLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDTixDQUFDO0lBR0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxDQUNILElBQUksQ0FBQyxPQUFPO1lBQ1osQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUc7Z0JBQ3BCLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDTixDQUFDO0lBR0QsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FNSixDQUFBOzs0Q0FIUSxNQUFNLFNBQUMsaUJBQWlCOztBQW5GN0I7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7Z0RBQ0w7QUFJWjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtrREFDaUI7QUFJbEM7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7bURBQ2lDO0FBSWxEO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOytDQUNxQjtBQUl0QztJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtrREFDRDtBQUloQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtvREFDSDtBQUlkO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3NEQUNHO0FBb0NwQjtJQURDLFdBQVcsQ0FBQyxZQUFZLENBQUM7NENBT3pCO0FBR0Q7SUFEQyxXQUFXLENBQUMsY0FBYyxDQUFDOzhDQU8zQjtBQUdEO0lBREMsV0FBVyxDQUFDLHNCQUFzQixDQUFDO3FEQUduQztBQW5GUSxpQkFBaUI7SUFON0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLFdBQVc7UUFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0Msc1lBQW9DOztLQUV2QyxDQUFDO0lBdUZPLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7R0F0RnJCLGlCQUFpQixDQXlGN0I7U0F6RlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQ3VycmVuY3l9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9lbnVtcyc7XG5pbXBvcnQge1R1aUN1cnJlbmN5VmFyaWFudHMsIFR1aU1vbmV5U2lnblR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge0NIQVJfRU5fREFTSCwgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVHVpRGVjaW1hbFQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbW9uZXknLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb25leS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb25leS5zdHlsZS5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU1vbmV5Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWUgPSBOYU47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVjaW1hbDogVHVpRGVjaW1hbFQgPSAnbm90LXplcm8nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGN1cnJlbmN5OiBUdWlDdXJyZW5jeVZhcmlhbnRzID0gVHVpQ3VycmVuY3kuUnVibGU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2lnbjogVHVpTW9uZXlTaWduVCA9ICduZWdhdGl2ZS1vbmx5JztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb2xvcmVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlY2lzaW9uID0gMjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaW5nbGVDb2xvciA9IGZhbHNlO1xuXG4gICAgZ2V0IGludGVnZXJQYXJ0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmb3JtYXROdW1iZXIoXG4gICAgICAgICAgICBNYXRoLmZsb29yKE1hdGguYWJzKHRoaXMudmFsdWUpKSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGZyYWN0aW9uUGFydCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7ZGVjaW1hbCwgdmFsdWV9ID0gdGhpcztcbiAgICAgICAgY29uc3QgZnJhY3Rpb24gPSB2YWx1ZS50b0ZpeGVkKHRoaXMucHJlY2lzaW9uKS5zcGxpdCgnLicpWzFdO1xuXG4gICAgICAgIHJldHVybiBkZWNpbWFsID09PSAnbmV2ZXInIHx8XG4gICAgICAgICAgICAocGFyc2VJbnQoZnJhY3Rpb24sIDEwKSA9PT0gMCAmJiBkZWNpbWFsICE9PSAnYWx3YXlzJylcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvciArIGZyYWN0aW9uO1xuICAgIH1cblxuICAgIGdldCBzaWduU3ltYm9sKCk6ICcnIHwgdHlwZW9mIENIQVJfRU5fREFTSCB8ICcrJyB7XG4gICAgICAgIGNvbnN0IHtzaWduLCB2YWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChzaWduID09PSAnbmV2ZXInIHx8ICF2YWx1ZSB8fCAoc2lnbiA9PT0gJ25lZ2F0aXZlLW9ubHknICYmIHZhbHVlID4gMCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaWduID09PSAnZm9yY2UtbmVnYXRpdmUnIHx8ICh2YWx1ZSA8IDAgJiYgc2lnbiAhPT0gJ2ZvcmNlLXBvc2l0aXZlJykpIHtcbiAgICAgICAgICAgIHJldHVybiBDSEFSX0VOX0RBU0g7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJysnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3JlZCcpXG4gICAgZ2V0IHJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY29sb3JlZCAmJlxuICAgICAgICAgICAgKHRoaXMuc2lnblN5bWJvbCA9PT0gQ0hBUl9FTl9EQVNIIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgPCAwICYmIHRoaXMuc2lnbiAhPT0gJ2ZvcmNlLXBvc2l0aXZlJykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZ3JlZW4nKVxuICAgIGdldCBncmVlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY29sb3JlZCAmJlxuICAgICAgICAgICAgKHRoaXMuc2lnblN5bWJvbCA9PT0gJysnIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgPiAwICYmIHRoaXMuc2lnbiAhPT0gJ2ZvcmNlLW5lZ2F0aXZlJykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faW5oZXJpdC1jb2xvcicpXG4gICAgZ2V0IGluaGVyaXRDb2xvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2luZ2xlQ29sb3IgfHwgKHRoaXMudmFsdWUgPT09IDAgJiYgdGhpcy5jb2xvcmVkKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX0ZPUk1BVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICkge31cbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvbW9uZXkvIiwic291cmNlcyI6WyJtb25leS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDSCxZQUFZLEVBRVosaUJBQWlCLEdBRXBCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBUW5FLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBcUYxQixZQUVxQixZQUFrQyxFQUVsQyxPQUF3QjtRQUZ4QixpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFFbEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUF0RjdDLFVBQUssR0FBRyxHQUFHLENBQUM7UUFJWixZQUFPLEdBQWdCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBSTVDLGFBQVEsR0FBd0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFJdEQsU0FBSSxHQUFrQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUl4QyxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFJL0IsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBSW5DLGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUErRHBDLENBQUM7SUE3REosSUFBSSxXQUFXO1FBQ1gsT0FBTyxZQUFZLENBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENB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QUM7UUFDUCxRQUFRLEVBQUUsV0FBVztRQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxvYUFBb0M7O0tBRXZDLENBQUM7SUF1Rk8sV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV6QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBeEZyQixpQkFBaUIsQ0EyRjdCO1NBM0ZZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUN1cnJlbmN5VmFyaWFudHMsIFR1aU1vbmV5U2lnblR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge0NIQVJfRU5fREFTSCwgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVHVpRGVjaW1hbFQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuaW1wb3J0IHtUVUlfTU9ORVlfT1BUSU9OUywgVHVpTW9uZXlPcHRpb25zfSBmcm9tICcuL21vbmV5LW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tb25leScsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vbmV5LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vbmV5LnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9uZXlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZSA9IE5hTjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWNpbWFsOiBUdWlEZWNpbWFsVCA9IHRoaXMub3B0aW9ucy5kZWNpbWFsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGN1cnJlbmN5OiBUdWlDdXJyZW5jeVZhcmlhbnRzID0gdGhpcy5vcHRpb25zLmN1cnJlbmN5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpZ246IFR1aU1vbmV5U2lnblQgPSB0aGlzLm9wdGlvbnMuc2lnbjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb2xvcmVkID0gdGhpcy5vcHRpb25zLmNvbG9yZWQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlY2lzaW9uID0gdGhpcy5vcHRpb25zLnByZWNpc2lvbjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaW5nbGVDb2xvciA9IHRoaXMub3B0aW9ucy5zaW5nbGVDb2xvcjtcblxuICAgIGdldCBpbnRlZ2VyUGFydCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgTWF0aC5mbG9vcihNYXRoLmFicyh0aGlzLnZhbHVlKSksXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBmcmFjdGlvblBhcnQoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qge2RlY2ltYWwsIHZhbHVlfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGZyYWN0aW9uID0gdmFsdWUudG9GaXhlZCh0aGlzLnByZWNpc2lvbikuc3BsaXQoJy4nKVsxXTtcblxuICAgICAgICByZXR1cm4gZGVjaW1hbCA9PT0gJ25ldmVyJyB8fFxuICAgICAgICAgICAgKHBhcnNlSW50KGZyYWN0aW9uLCAxMCkgPT09IDAgJiYgZGVjaW1hbCAhPT0gJ2Fsd2F5cycpXG4gICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICA6IHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IgKyBmcmFjdGlvbjtcbiAgICB9XG5cbiAgICBnZXQgc2lnblN5bWJvbCgpOiAnJyB8IHR5cGVvZiBDSEFSX0VOX0RBU0ggfCAnKycge1xuICAgICAgICBjb25zdCB7c2lnbiwgdmFsdWV9ID0gdGhpcztcblxuICAgICAgICBpZiAoc2lnbiA9PT0gJ25ldmVyJyB8fCAhdmFsdWUgfHwgKHNpZ24gPT09ICduZWdhdGl2ZS1vbmx5JyAmJiB2YWx1ZSA+IDApKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2lnbiA9PT0gJ2ZvcmNlLW5lZ2F0aXZlJyB8fCAodmFsdWUgPCAwICYmIHNpZ24gIT09ICdmb3JjZS1wb3NpdGl2ZScpKSB7XG4gICAgICAgICAgICByZXR1cm4gQ0hBUl9FTl9EQVNIO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcrJztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9yZWQnKVxuICAgIGdldCByZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbG9yZWQgJiZcbiAgICAgICAgICAgICh0aGlzLnNpZ25TeW1ib2wgPT09IENIQVJfRU5fREFTSCB8fFxuICAgICAgICAgICAgICAgICh0aGlzLnZhbHVlIDwgMCAmJiB0aGlzLnNpZ24gIT09ICdmb3JjZS1wb3NpdGl2ZScpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2dyZWVuJylcbiAgICBnZXQgZ3JlZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbG9yZWQgJiZcbiAgICAgICAgICAgICh0aGlzLnNpZ25TeW1ib2wgPT09ICcrJyB8fFxuICAgICAgICAgICAgICAgICh0aGlzLnZhbHVlID4gMCAmJiB0aGlzLnNpZ24gIT09ICdmb3JjZS1uZWdhdGl2ZScpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2luaGVyaXQtY29sb3InKVxuICAgIGdldCBpbmhlcml0Q29sb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpbmdsZUNvbG9yIHx8ICh0aGlzLnZhbHVlID09PSAwICYmIHRoaXMuY29sb3JlZCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICAgICAgQEluamVjdChUVUlfTU9ORVlfT1BUSU9OUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlNb25leU9wdGlvbnMsXG4gICAgKSB7fVxufVxuIl19