limitng 0.16.0 → 0.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alt-buyuk-kart/alt-buyuk-kart.component.d.ts +25 -25
- package/alt-buyuk-kart/index.d.ts +5 -5
- package/alt-buyuk-kart/public_api.d.ts +1 -1
- package/alt-kucuk-kart/alt-kucuk-kart.component.d.ts +26 -26
- package/alt-kucuk-kart/index.d.ts +5 -5
- package/alt-kucuk-kart/public_api.d.ts +1 -1
- package/api/globalFunctions.d.ts +45 -45
- package/api/index.d.ts +5 -5
- package/api/models/enums.d.ts +133 -133
- package/api/models/faturalama/faturaFiltre.d.ts +58 -58
- package/api/models/fourDConstants.d.ts +85 -84
- package/api/models/fourDConstants.d.ts.map +1 -1
- package/api/models/index.d.ts +5 -5
- package/api/models/kisisel/izin-islemleri/izinDetaylari.d.ts +24 -24
- package/api/models/kisisel/izin-islemleri/izinFiltre.d.ts +13 -13
- package/api/models/kisisel/izin-islemleri/izinGuncelle.d.ts +11 -11
- package/api/models/kisisel/izin-islemleri/izinListe.d.ts +28 -28
- package/api/models/kisisel/izin-islemleri/izinSilAlanlar.d.ts +4 -4
- package/api/models/kisisel/kullanici-onay-islemleri/onayDetaylari.d.ts +82 -82
- package/api/models/kisisel/kullanici-onay-islemleri/onayFiltre.d.ts +40 -40
- package/api/models/kisisel/kullanici-onay-islemleri/onayGuncelle.d.ts +7 -7
- package/api/models/kisisel/kullanici-onay-islemleri/onayListe.d.ts +31 -31
- package/api/models/kisisel/masraf-islemleri/masrafDetaylari.d.ts +57 -57
- package/api/models/kisisel/masraf-islemleri/masrafFiltre.d.ts +16 -16
- package/api/models/kisisel/masraf-islemleri/masrafGuncelle.d.ts +12 -12
- package/api/models/kisisel/masraf-islemleri/masrafListe.d.ts +82 -82
- package/api/models/kisisel/masraf-islemleri/masrafSilAlanlar.d.ts +4 -4
- package/api/models/logbook/logbook.d.ts +103 -103
- package/api/models/login/login.d.ts +22 -22
- package/api/models/onayBilgi.d.ts +8 -8
- package/api/models/onaya-gonder-sorgu/onayaGonderDetaylar.d.ts +66 -66
- package/api/models/ortak.d.ts +111 -111
- package/api/models/ozet/OzetKartAlan.d.ts +15 -15
- package/api/models/ozet/ozetData.d.ts +21 -21
- package/api/models/planlama/kampanya/kampanyaFiltre.d.ts +16 -16
- package/api/models/planlama/tarife/tarifeFiltre.d.ts +19 -19
- package/api/models/public_api.d.ts +53 -53
- package/api/models/raporlar/izin-raporu/izinRaporDetaylari.d.ts +14 -14
- package/api/models/raporlar/izin-raporu/izinRaporListe.d.ts +16 -16
- package/api/models/raporlar/listeden-sec/listeSecenekler.d.ts +16 -16
- package/api/models/raporlar/rapor-detay/raporDetaylari.d.ts +52 -52
- package/api/models/raporlar/rapor-detay/raporSilGonderAlanlar.d.ts +8 -8
- package/api/models/raporlar/rapor-zamanlama/zamanlamaAyarlari.d.ts +45 -45
- package/api/models/sistem-ozet/sistemOzetData.d.ts +143 -143
- package/api/models/sistem-raporlari/sistemRaporlariData.d.ts +10 -10
- package/api/models/tanimlama/mecra/mecraFiltre.d.ts +23 -23
- package/api/models/tanimlama/musteri/musteriFiltre.d.ts +20 -20
- package/api/models/tanimlama/musteri-grubu/musteriGrubuFiltre.d.ts +10 -10
- package/api/models/tanimlama/pazarlama-sirketi/pazarlamaSirketiFiltre.d.ts +20 -20
- package/api/models/tanimlama/urun/urunFiltre.d.ts +13 -13
- package/api/models/teklif-siparis/teklifDetaylari.d.ts +24 -24
- package/api/models/teklif-siparis/teklifFiltre.d.ts +13 -13
- package/api/models/teklif-siparis/teklifGuncelle.d.ts +11 -11
- package/api/models/teklif-siparis/teklifListe.d.ts +27 -27
- package/api/models/teklif-siparis/teklifSilAlanlar.d.ts +4 -4
- package/api/models/theme/bildirimler.d.ts +30 -30
- package/api/models/timeSheet/timeSheetGirisListeler.d.ts +324 -324
- package/api/models/timeSheet/timeSheetLog.d.ts +14 -14
- package/api/models/timeSheet/timeSheetOzetListe.d.ts +18 -18
- package/api/models/timeSheet/timeSheetSecenekler.d.ts +28 -28
- package/api/models/xlConfig.d.ts +195 -195
- package/api/models/xlConfig.d.ts.map +1 -1
- package/api/models/xlConstants.d.ts +59 -59
- package/api/models/xlOptions.d.ts +26 -26
- package/api/models/xlTools.d.ts +2 -2
- package/api/public_api.d.ts +1 -1
- package/dikey-baslikli-panel/dikey-baslikli-panel.component.d.ts +16 -16
- package/dikey-baslikli-panel/index.d.ts +5 -5
- package/dikey-baslikli-panel/public_api.d.ts +1 -1
- package/directives/buyukHarf.directive/buyukHarf.directive.d.ts +16 -16
- package/directives/buyukHarf.directive/index.d.ts +5 -5
- package/directives/buyukHarf.directive/public_api.d.ts +1 -1
- package/directives/ciftBoslukTek.directive/ciftBoslukTek.directive.d.ts +16 -16
- package/directives/ciftBoslukTek.directive/index.d.ts +5 -5
- package/directives/ciftBoslukTek.directive/public_api.d.ts +1 -1
- package/directives/disable.directive/disable.directive.d.ts +35 -35
- package/directives/disable.directive/index.d.ts +5 -5
- package/directives/disable.directive/public_api.d.ts +1 -1
- package/directives/flexBasis.directive/flexBasis.directive.d.ts +32 -32
- package/directives/flexBasis.directive/index.d.ts +5 -5
- package/directives/flexBasis.directive/public_api.d.ts +1 -1
- package/directives/ilkHarfBuyuk.directive/ilkHarfBuyuk.directive.d.ts +16 -16
- package/directives/ilkHarfBuyuk.directive/index.d.ts +5 -5
- package/directives/ilkHarfBuyuk.directive/public_api.d.ts +1 -1
- package/directives/index.d.ts +5 -5
- package/directives/maksimumUzunluk.directive/index.d.ts +5 -5
- package/directives/maksimumUzunluk.directive/maksimumUzunluk.directive.d.ts +17 -17
- package/directives/maksimumUzunluk.directive/public_api.d.ts +1 -1
- package/directives/public_api.d.ts +10 -10
- package/directives/sagSolBoslukSil.directive/index.d.ts +5 -5
- package/directives/sagSolBoslukSil.directive/public_api.d.ts +1 -1
- package/directives/sagSolBoslukSil.directive/sagSolBoslukSil.directive.d.ts +16 -16
- package/directives/sutunGenisligi.directive/index.d.ts +5 -5
- package/directives/sutunGenisligi.directive/public_api.d.ts +1 -1
- package/directives/sutunGenisligi.directive/sutunGenisligi.directive.d.ts +42 -42
- package/directives/tumBoslukSil.directive/index.d.ts +5 -5
- package/directives/tumBoslukSil.directive/public_api.d.ts +1 -1
- package/directives/tumBoslukSil.directive/tumBoslukSil.directive.d.ts +16 -16
- package/directives/tumIlkHarfBuyuk.directive/index.d.ts +5 -5
- package/directives/tumIlkHarfBuyuk.directive/public_api.d.ts +1 -1
- package/directives/tumIlkHarfBuyuk.directive/tumIlkHarfBuyuk.directive.d.ts +16 -16
- package/esm2022/alt-buyuk-kart/alt-buyuk-kart.component.mjs +60 -58
- package/esm2022/alt-buyuk-kart/limitng-alt-buyuk-kart.mjs +4 -4
- package/esm2022/alt-buyuk-kart/public_api.mjs +1 -1
- package/esm2022/alt-kucuk-kart/alt-kucuk-kart.component.mjs +60 -58
- package/esm2022/alt-kucuk-kart/limitng-alt-kucuk-kart.mjs +4 -4
- package/esm2022/alt-kucuk-kart/public_api.mjs +1 -1
- package/esm2022/api/globalFunctions.mjs +525 -525
- package/esm2022/api/limitng-api.mjs +4 -4
- package/esm2022/api/models/enums.mjs +143 -143
- package/esm2022/api/models/faturalama/faturaFiltre.mjs +60 -60
- package/esm2022/api/models/fourDConstants.mjs +90 -89
- package/esm2022/api/models/kisisel/izin-islemleri/izinDetaylari.mjs +15 -15
- package/esm2022/api/models/kisisel/izin-islemleri/izinFiltre.mjs +16 -16
- package/esm2022/api/models/kisisel/izin-islemleri/izinGuncelle.mjs +5 -5
- package/esm2022/api/models/kisisel/izin-islemleri/izinListe.mjs +25 -25
- package/esm2022/api/models/kisisel/izin-islemleri/izinSilAlanlar.mjs +6 -6
- package/esm2022/api/models/kisisel/kullanici-onay-islemleri/onayDetaylari.mjs +40 -40
- package/esm2022/api/models/kisisel/kullanici-onay-islemleri/onayFiltre.mjs +41 -41
- package/esm2022/api/models/kisisel/kullanici-onay-islemleri/onayGuncelle.mjs +9 -9
- package/esm2022/api/models/kisisel/kullanici-onay-islemleri/onayListe.mjs +34 -34
- package/esm2022/api/models/kisisel/masraf-islemleri/masrafDetaylari.mjs +53 -53
- package/esm2022/api/models/kisisel/masraf-islemleri/masrafFiltre.mjs +19 -19
- package/esm2022/api/models/kisisel/masraf-islemleri/masrafGuncelle.mjs +5 -5
- package/esm2022/api/models/kisisel/masraf-islemleri/masrafListe.mjs +40 -40
- package/esm2022/api/models/kisisel/masraf-islemleri/masrafSilAlanlar.mjs +6 -6
- package/esm2022/api/models/limitng-api-models.mjs +4 -4
- package/esm2022/api/models/logbook/logbook.mjs +110 -110
- package/esm2022/api/models/login/login.mjs +10 -10
- package/esm2022/api/models/onayBilgi.mjs +8 -8
- package/esm2022/api/models/onaya-gonder-sorgu/onayaGonderDetaylar.mjs +55 -55
- package/esm2022/api/models/ortak.mjs +83 -83
- package/esm2022/api/models/ozet/OzetKartAlan.mjs +1 -1
- package/esm2022/api/models/ozet/ozetData.mjs +1 -1
- package/esm2022/api/models/planlama/kampanya/kampanyaFiltre.mjs +19 -19
- package/esm2022/api/models/planlama/tarife/tarifeFiltre.mjs +22 -22
- package/esm2022/api/models/public_api.mjs +65 -65
- package/esm2022/api/models/raporlar/izin-raporu/izinRaporDetaylari.mjs +7 -7
- package/esm2022/api/models/raporlar/izin-raporu/izinRaporListe.mjs +18 -18
- package/esm2022/api/models/raporlar/listeden-sec/listeSecenekler.mjs +18 -18
- package/esm2022/api/models/raporlar/rapor-detay/raporDetaylari.mjs +62 -62
- package/esm2022/api/models/raporlar/rapor-detay/raporSilGonderAlanlar.mjs +6 -6
- package/esm2022/api/models/raporlar/rapor-zamanlama/zamanlamaAyarlari.mjs +46 -46
- package/esm2022/api/models/sistem-ozet/sistemOzetData.mjs +171 -171
- package/esm2022/api/models/sistem-raporlari/sistemRaporlariData.mjs +7 -7
- package/esm2022/api/models/tanimlama/mecra/mecraFiltre.mjs +23 -23
- package/esm2022/api/models/tanimlama/musteri/musteriFiltre.mjs +23 -23
- package/esm2022/api/models/tanimlama/musteri-grubu/musteriGrubuFiltre.mjs +13 -13
- package/esm2022/api/models/tanimlama/pazarlama-sirketi/pazarlamaSirketiFiltre.mjs +21 -21
- package/esm2022/api/models/tanimlama/urun/urunFiltre.mjs +16 -16
- package/esm2022/api/models/teklif-siparis/teklifDetaylari.mjs +15 -15
- package/esm2022/api/models/teklif-siparis/teklifFiltre.mjs +16 -16
- package/esm2022/api/models/teklif-siparis/teklifGuncelle.mjs +5 -5
- package/esm2022/api/models/teklif-siparis/teklifListe.mjs +27 -27
- package/esm2022/api/models/teklif-siparis/teklifSilAlanlar.mjs +6 -6
- package/esm2022/api/models/theme/bildirimler.mjs +38 -38
- package/esm2022/api/models/timeSheet/timeSheetGirisListeler.mjs +304 -304
- package/esm2022/api/models/timeSheet/timeSheetLog.mjs +13 -13
- package/esm2022/api/models/timeSheet/timeSheetOzetListe.mjs +21 -21
- package/esm2022/api/models/timeSheet/timeSheetSecenekler.mjs +29 -29
- package/esm2022/api/models/xlConfig.mjs +437 -437
- package/esm2022/api/models/xlConstants.mjs +65 -65
- package/esm2022/api/models/xlOptions.mjs +33 -33
- package/esm2022/api/models/xlTools.mjs +2 -2
- package/esm2022/api/public_api.mjs +1 -1
- package/esm2022/dikey-baslikli-panel/dikey-baslikli-panel.component.mjs +41 -39
- package/esm2022/dikey-baslikli-panel/limitng-dikey-baslikli-panel.mjs +4 -4
- package/esm2022/dikey-baslikli-panel/public_api.mjs +1 -1
- package/esm2022/directives/buyukHarf.directive/buyukHarf.directive.mjs +42 -40
- package/esm2022/directives/buyukHarf.directive/limitng-directives-buyukHarf.directive.mjs +4 -4
- package/esm2022/directives/buyukHarf.directive/public_api.mjs +1 -1
- package/esm2022/directives/ciftBoslukTek.directive/ciftBoslukTek.directive.mjs +43 -41
- package/esm2022/directives/ciftBoslukTek.directive/limitng-directives-ciftBoslukTek.directive.mjs +4 -4
- package/esm2022/directives/ciftBoslukTek.directive/public_api.mjs +1 -1
- package/esm2022/directives/disable.directive/disable.directive.mjs +157 -155
- package/esm2022/directives/disable.directive/limitng-directives-disable.directive.mjs +4 -4
- package/esm2022/directives/disable.directive/public_api.mjs +1 -1
- package/esm2022/directives/flexBasis.directive/flexBasis.directive.mjs +78 -74
- package/esm2022/directives/flexBasis.directive/limitng-directives-flexBasis.directive.mjs +4 -4
- package/esm2022/directives/flexBasis.directive/public_api.mjs +1 -1
- package/esm2022/directives/ilkHarfBuyuk.directive/ilkHarfBuyuk.directive.mjs +43 -41
- package/esm2022/directives/ilkHarfBuyuk.directive/limitng-directives-ilkHarfBuyuk.directive.mjs +4 -4
- package/esm2022/directives/ilkHarfBuyuk.directive/public_api.mjs +1 -1
- package/esm2022/directives/limitng-directives.mjs +4 -4
- package/esm2022/directives/maksimumUzunluk.directive/limitng-directives-maksimumUzunluk.directive.mjs +4 -4
- package/esm2022/directives/maksimumUzunluk.directive/maksimumUzunluk.directive.mjs +48 -46
- package/esm2022/directives/maksimumUzunluk.directive/public_api.mjs +1 -1
- package/esm2022/directives/public_api.mjs +10 -10
- package/esm2022/directives/sagSolBoslukSil.directive/limitng-directives-sagSolBoslukSil.directive.mjs +4 -4
- package/esm2022/directives/sagSolBoslukSil.directive/public_api.mjs +1 -1
- package/esm2022/directives/sagSolBoslukSil.directive/sagSolBoslukSil.directive.mjs +42 -40
- package/esm2022/directives/sutunGenisligi.directive/limitng-directives-sutunGenisligi.directive.mjs +4 -4
- package/esm2022/directives/sutunGenisligi.directive/public_api.mjs +1 -1
- package/esm2022/directives/sutunGenisligi.directive/sutunGenisligi.directive.mjs +112 -107
- package/esm2022/directives/tumBoslukSil.directive/limitng-directives-tumBoslukSil.directive.mjs +4 -4
- package/esm2022/directives/tumBoslukSil.directive/public_api.mjs +1 -1
- package/esm2022/directives/tumBoslukSil.directive/tumBoslukSil.directive.mjs +43 -41
- package/esm2022/directives/tumIlkHarfBuyuk.directive/limitng-directives-tumIlkHarfBuyuk.directive.mjs +4 -4
- package/esm2022/directives/tumIlkHarfBuyuk.directive/public_api.mjs +1 -1
- package/esm2022/directives/tumIlkHarfBuyuk.directive/tumIlkHarfBuyuk.directive.mjs +44 -42
- package/esm2022/filtre-bar/filtre-bar.component.mjs +128 -126
- package/esm2022/filtre-bar/limitng-filtre-bar.mjs +4 -4
- package/esm2022/filtre-bar/public_api.mjs +1 -1
- package/esm2022/geri-ileri-detay/geri-ileri-detay.component.mjs +57 -56
- package/esm2022/geri-ileri-detay/geri-ileri-detay.model.mjs +161 -161
- package/esm2022/geri-ileri-detay/limitng-geri-ileri-detay.mjs +4 -4
- package/esm2022/geri-ileri-detay/public_api.mjs +2 -2
- package/esm2022/geri-ileri-liste/geri-ileri-liste.component.mjs +62 -61
- package/esm2022/geri-ileri-liste/geri-ileri-liste.model.mjs +200 -200
- package/esm2022/geri-ileri-liste/limitng-geri-ileri-liste.mjs +4 -4
- package/esm2022/geri-ileri-liste/public_api.mjs +2 -2
- package/esm2022/limitng.mjs +4 -4
- package/esm2022/pipes/boolToPlus.pipe/boolToPlus.pipe.mjs +31 -29
- package/esm2022/pipes/boolToPlus.pipe/limitng-pipes-boolToPlus.pipe.mjs +4 -4
- package/esm2022/pipes/boolToPlus.pipe/public_api.mjs +1 -1
- package/esm2022/pipes/boolToPlusMinus.pipe/boolToPlusMinus.pipe.mjs +31 -29
- package/esm2022/pipes/boolToPlusMinus.pipe/limitng-pipes-boolToPlusMinus.pipe.mjs +4 -4
- package/esm2022/pipes/boolToPlusMinus.pipe/public_api.mjs +1 -1
- package/esm2022/pipes/dateToText.pipe/dateToText.pipe.mjs +32 -30
- package/esm2022/pipes/dateToText.pipe/limitng-pipes-dateToText.pipe.mjs +4 -4
- package/esm2022/pipes/dateToText.pipe/public_api.mjs +1 -1
- package/esm2022/pipes/evetHayir.pipe/evetHayir.pipe.mjs +31 -29
- package/esm2022/pipes/evetHayir.pipe/limitng-pipes-evetHayir.pipe.mjs +4 -4
- package/esm2022/pipes/evetHayir.pipe/public_api.mjs +1 -1
- package/esm2022/pipes/limitng-pipes.mjs +4 -4
- package/esm2022/pipes/mecraTuru.pipe/limitng-pipes-mecraTuru.pipe.mjs +4 -4
- package/esm2022/pipes/mecraTuru.pipe/mecraTuru.pipe.mjs +32 -30
- package/esm2022/pipes/mecraTuru.pipe/public_api.mjs +1 -1
- package/esm2022/pipes/public_api.mjs +5 -5
- package/esm2022/pipes/safe.pipe/limitng-pipes-safe.pipe.mjs +4 -4
- package/esm2022/pipes/safe.pipe/public_api.mjs +1 -1
- package/esm2022/pipes/safe.pipe/safe.pipe.mjs +42 -40
- package/esm2022/public_api.mjs +6 -6
- package/esm2022/rapor-kart/limitng-rapor-kart.mjs +4 -4
- package/esm2022/rapor-kart/models/limitng-rapor-kart-models.mjs +4 -4
- package/esm2022/rapor-kart/models/public_api.mjs +1 -1
- package/esm2022/rapor-kart/models/rapor-kart-secenekler.mjs +9 -9
- package/esm2022/rapor-kart/public_api.mjs +1 -1
- package/esm2022/rapor-kart/rapor-kart.component.mjs +66 -64
- package/esm2022/sol-buyuk-kart/limitng-sol-buyuk-kart.mjs +4 -4
- package/esm2022/sol-buyuk-kart/public_api.mjs +1 -1
- package/esm2022/sol-buyuk-kart/sol-buyuk-kart.component.mjs +55 -53
- package/esm2022/sol-kucuk-kart/limitng-sol-kucuk-kart.mjs +4 -4
- package/esm2022/sol-kucuk-kart/public_api.mjs +1 -1
- package/esm2022/sol-kucuk-kart/sol-kucuk-kart.component.mjs +48 -46
- package/esm2022/yatay-baslikli-panel/limitng-yatay-baslikli-panel.mjs +4 -4
- package/esm2022/yatay-baslikli-panel/public_api.mjs +1 -1
- package/esm2022/yatay-baslikli-panel/yatay-baslikli-panel.component.mjs +78 -76
- package/fesm2022/limitng-alt-buyuk-kart.mjs +54 -54
- package/fesm2022/limitng-alt-buyuk-kart.mjs.map +1 -1
- package/fesm2022/limitng-alt-kucuk-kart.mjs +54 -54
- package/fesm2022/limitng-alt-kucuk-kart.mjs.map +1 -1
- package/fesm2022/limitng-api-models.mjs +2284 -2283
- package/fesm2022/limitng-api-models.mjs.map +1 -1
- package/fesm2022/limitng-api.mjs +666 -666
- package/fesm2022/limitng-dikey-baslikli-panel.mjs +36 -36
- package/fesm2022/limitng-dikey-baslikli-panel.mjs.map +1 -1
- package/fesm2022/limitng-directives-buyukHarf.directive.mjs +37 -37
- package/fesm2022/limitng-directives-buyukHarf.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-ciftBoslukTek.directive.mjs +37 -37
- package/fesm2022/limitng-directives-ciftBoslukTek.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-disable.directive.mjs +145 -145
- package/fesm2022/limitng-directives-disable.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-flexBasis.directive.mjs +71 -71
- package/fesm2022/limitng-directives-flexBasis.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-ilkHarfBuyuk.directive.mjs +37 -37
- package/fesm2022/limitng-directives-ilkHarfBuyuk.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-maksimumUzunluk.directive.mjs +43 -43
- package/fesm2022/limitng-directives-maksimumUzunluk.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-sagSolBoslukSil.directive.mjs +37 -37
- package/fesm2022/limitng-directives-sagSolBoslukSil.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-sutunGenisligi.directive.mjs +104 -104
- package/fesm2022/limitng-directives-sutunGenisligi.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-tumBoslukSil.directive.mjs +37 -37
- package/fesm2022/limitng-directives-tumBoslukSil.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives-tumIlkHarfBuyuk.directive.mjs +38 -38
- package/fesm2022/limitng-directives-tumIlkHarfBuyuk.directive.mjs.map +1 -1
- package/fesm2022/limitng-directives.mjs +568 -568
- package/fesm2022/limitng-directives.mjs.map +1 -1
- package/fesm2022/limitng-filtre-bar.mjs +121 -121
- package/fesm2022/limitng-filtre-bar.mjs.map +1 -1
- package/fesm2022/limitng-geri-ileri-detay.mjs +202 -203
- package/fesm2022/limitng-geri-ileri-detay.mjs.map +1 -1
- package/fesm2022/limitng-geri-ileri-liste.mjs +246 -247
- package/fesm2022/limitng-geri-ileri-liste.mjs.map +1 -1
- package/fesm2022/limitng-pipes-boolToPlus.pipe.mjs +27 -27
- package/fesm2022/limitng-pipes-boolToPlus.pipe.mjs.map +1 -1
- package/fesm2022/limitng-pipes-boolToPlusMinus.pipe.mjs +27 -27
- package/fesm2022/limitng-pipes-boolToPlusMinus.pipe.mjs.map +1 -1
- package/fesm2022/limitng-pipes-dateToText.pipe.mjs +27 -27
- package/fesm2022/limitng-pipes-dateToText.pipe.mjs.map +1 -1
- package/fesm2022/limitng-pipes-evetHayir.pipe.mjs +27 -27
- package/fesm2022/limitng-pipes-evetHayir.pipe.mjs.map +1 -1
- package/fesm2022/limitng-pipes-mecraTuru.pipe.mjs +27 -27
- package/fesm2022/limitng-pipes-mecraTuru.pipe.mjs.map +1 -1
- package/fesm2022/limitng-pipes-safe.pipe.mjs +37 -37
- package/fesm2022/limitng-pipes-safe.pipe.mjs.map +1 -1
- package/fesm2022/limitng-pipes.mjs +137 -137
- package/fesm2022/limitng-pipes.mjs.map +1 -1
- package/fesm2022/limitng-rapor-kart-models.mjs +10 -10
- package/fesm2022/limitng-rapor-kart.mjs +60 -60
- package/fesm2022/limitng-rapor-kart.mjs.map +1 -1
- package/fesm2022/limitng-sol-buyuk-kart.mjs +48 -48
- package/fesm2022/limitng-sol-buyuk-kart.mjs.map +1 -1
- package/fesm2022/limitng-sol-kucuk-kart.mjs +42 -42
- package/fesm2022/limitng-sol-kucuk-kart.mjs.map +1 -1
- package/fesm2022/limitng-yatay-baslikli-panel.mjs +70 -70
- package/fesm2022/limitng-yatay-baslikli-panel.mjs.map +1 -1
- package/fesm2022/limitng.mjs +2 -2
- package/filtre-bar/filtre-bar.component.d.ts +35 -35
- package/filtre-bar/index.d.ts +5 -5
- package/filtre-bar/public_api.d.ts +1 -1
- package/geri-ileri-detay/geri-ileri-detay.component.d.ts +24 -24
- package/geri-ileri-detay/geri-ileri-detay.model.d.ts +45 -45
- package/geri-ileri-detay/index.d.ts +5 -5
- package/geri-ileri-detay/public_api.d.ts +2 -2
- package/geri-ileri-liste/geri-ileri-liste.component.d.ts +26 -26
- package/geri-ileri-liste/geri-ileri-liste.model.d.ts +50 -50
- package/geri-ileri-liste/index.d.ts +5 -5
- package/geri-ileri-liste/public_api.d.ts +2 -2
- package/index.d.ts +5 -5
- package/package.json +37 -37
- package/pipes/boolToPlus.pipe/boolToPlus.pipe.d.ts +12 -12
- package/pipes/boolToPlus.pipe/index.d.ts +5 -5
- package/pipes/boolToPlus.pipe/public_api.d.ts +1 -1
- package/pipes/boolToPlusMinus.pipe/boolToPlusMinus.pipe.d.ts +12 -12
- package/pipes/boolToPlusMinus.pipe/index.d.ts +5 -5
- package/pipes/boolToPlusMinus.pipe/public_api.d.ts +1 -1
- package/pipes/dateToText.pipe/dateToText.pipe.d.ts +12 -12
- package/pipes/dateToText.pipe/index.d.ts +5 -5
- package/pipes/dateToText.pipe/public_api.d.ts +1 -1
- package/pipes/evetHayir.pipe/evetHayir.pipe.d.ts +12 -12
- package/pipes/evetHayir.pipe/index.d.ts +5 -5
- package/pipes/evetHayir.pipe/public_api.d.ts +1 -1
- package/pipes/index.d.ts +5 -5
- package/pipes/mecraTuru.pipe/index.d.ts +5 -5
- package/pipes/mecraTuru.pipe/mecraTuru.pipe.d.ts +12 -12
- package/pipes/mecraTuru.pipe/public_api.d.ts +1 -1
- package/pipes/public_api.d.ts +5 -5
- package/pipes/safe.pipe/index.d.ts +5 -5
- package/pipes/safe.pipe/public_api.d.ts +1 -1
- package/pipes/safe.pipe/safe.pipe.d.ts +15 -15
- package/public_api.d.ts +6 -6
- package/rapor-kart/index.d.ts +5 -5
- package/rapor-kart/models/index.d.ts +5 -5
- package/rapor-kart/models/public_api.d.ts +1 -1
- package/rapor-kart/models/rapor-kart-secenekler.d.ts +7 -7
- package/rapor-kart/public_api.d.ts +1 -1
- package/rapor-kart/rapor-kart.component.d.ts +29 -29
- package/sol-buyuk-kart/index.d.ts +5 -5
- package/sol-buyuk-kart/public_api.d.ts +1 -1
- package/sol-buyuk-kart/sol-buyuk-kart.component.d.ts +24 -24
- package/sol-kucuk-kart/index.d.ts +5 -5
- package/sol-kucuk-kart/public_api.d.ts +1 -1
- package/sol-kucuk-kart/sol-kucuk-kart.component.d.ts +19 -19
- package/yatay-baslikli-panel/index.d.ts +5 -5
- package/yatay-baslikli-panel/public_api.d.ts +1 -1
- package/yatay-baslikli-panel/yatay-baslikli-panel.component.d.ts +28 -28
|
@@ -1,437 +1,437 @@
|
|
|
1
|
-
import { FontStyle, NumberFormatlar, VariableType, XLRenk } from './fourDConstants';
|
|
2
|
-
import { XlBorderWeigh, XLFuncs, XLHAlign, XLLineStyle, XlVAlign } from './xlConstants';
|
|
3
|
-
export class XLConfig {
|
|
4
|
-
constructor(fontName, fontSize) {
|
|
5
|
-
this.logo = new XLLogo();
|
|
6
|
-
this.defaultFont = new XLFont();
|
|
7
|
-
this.currentTableStyle = 'TableStyleLight10';
|
|
8
|
-
this.currentTable = 1;
|
|
9
|
-
this.currentApplicationObject = 'xlApp';
|
|
10
|
-
this.currentBookObject = 'xlBook';
|
|
11
|
-
this.currentSheetObject = 'xlSheet';
|
|
12
|
-
this.author = 'MedPlan';
|
|
13
|
-
this.sifirlariBasma = false;
|
|
14
|
-
this.sheetName = '';
|
|
15
|
-
this.ustBilgiler = [];
|
|
16
|
-
this.ustBilgi = new XLUstBilgi();
|
|
17
|
-
this.notlar = [];
|
|
18
|
-
this.scripts = [];
|
|
19
|
-
this.not = new XLNot();
|
|
20
|
-
this.tables = [];
|
|
21
|
-
this.sheets = [new XLSheet(1)];
|
|
22
|
-
if ((typeof fontName !== 'undefined') || (typeof fontSize !== 'undefined')) {
|
|
23
|
-
this.defaultFont = new XLFont(fontName, fontSize);
|
|
24
|
-
}
|
|
25
|
-
const table = this.addTable();
|
|
26
|
-
table.tableNo = this.tables.length + 1;
|
|
27
|
-
this.tables.push(table);
|
|
28
|
-
}
|
|
29
|
-
ustBilgiSatirEkle(satir) {
|
|
30
|
-
const ustBilgi = new XLUstBilgiSatir();
|
|
31
|
-
ustBilgi.rowNo = this.ustBilgiler.length + 1;
|
|
32
|
-
ustBilgi.ustBilgi = satir;
|
|
33
|
-
this.ustBilgiler.push(ustBilgi);
|
|
34
|
-
}
|
|
35
|
-
addTable() {
|
|
36
|
-
const table = new XLTable();
|
|
37
|
-
table.sol = 1;
|
|
38
|
-
table.ust = 1;
|
|
39
|
-
table.header.basilacak = true;
|
|
40
|
-
table.footer.basilacak = false;
|
|
41
|
-
table.header = new XLTableColumnHeader();
|
|
42
|
-
table.header.interior.color = XLRenk.White;
|
|
43
|
-
table.data = new XLTableColumnData();
|
|
44
|
-
table.data.interior.color = XLRenk.White;
|
|
45
|
-
table.footer = new XLTableColumnFooter();
|
|
46
|
-
table.footer.interior.color = XLRenk.White;
|
|
47
|
-
table.hiddenRowsInit();
|
|
48
|
-
table.sortInit();
|
|
49
|
-
table.rowsInit();
|
|
50
|
-
table.columnFormatsInit();
|
|
51
|
-
table.rowFormatsInit();
|
|
52
|
-
table.cellFormatsInit();
|
|
53
|
-
table.rangeFormatsInit();
|
|
54
|
-
/*
|
|
55
|
-
XL_T_HeaderBorderAllSet(UtilsBorderTumu; xlContinuous; xlThin; clBlack)
|
|
56
|
-
XL_T_DataBorderAllSet(UtilsBorderTumu; xlContinuous; xlThin; clBlack)
|
|
57
|
-
XL_T_FooterBorderAllSet(UtilsBorderTumu; xlContinuous; xlThin; clBlack)
|
|
58
|
-
XL_T_HeaderFontAllSet(XL_DefaultFontName ; XL_DefaultFontSize; Plain; clBlack)
|
|
59
|
-
XL_T_DataFontAllSet(XL_DefaultFontName ; XL_DefaultFontSize; Plain; clBlack)
|
|
60
|
-
XL_T_FooterFontAllSet(XL_DefaultFontName ; XL_DefaultFontSize; Plain; clBlack)
|
|
61
|
-
XL_T_SheetNameSet(XL_S_Current)
|
|
62
|
-
*/
|
|
63
|
-
return table;
|
|
64
|
-
}
|
|
65
|
-
sheetRowsRowHeightScript(rowHeight, baslangicSatiri, bitisSatiri, sheetName) {
|
|
66
|
-
let _sheetName = this.currentSheetObject;
|
|
67
|
-
let _bitisSatiri = baslangicSatiri;
|
|
68
|
-
if ((sheetName !== undefined) && (sheetName !== null)) {
|
|
69
|
-
_sheetName = sheetName;
|
|
70
|
-
}
|
|
71
|
-
if ((bitisSatiri !== undefined) && (bitisSatiri !== null)) {
|
|
72
|
-
_bitisSatiri = bitisSatiri;
|
|
73
|
-
}
|
|
74
|
-
if (baslangicSatiri === _bitisSatiri) {
|
|
75
|
-
this.scripts.push(_sheetName + '.Rows("' + baslangicSatiri.toString() + '").RowHeight = ' + this.VBSRealToText(rowHeight));
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
this.scripts.push(_sheetName + '.Rows("' + baslangicSatiri.toString() + ':' + _bitisSatiri.toString() + '").RowHeight = ' + this.VBSRealToText(rowHeight));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
addScript(script) {
|
|
82
|
-
this.scripts.push(script);
|
|
83
|
-
}
|
|
84
|
-
VBSRealToText(sayi) {
|
|
85
|
-
return sayi.toString().replace(/[,]/g, '.');
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
export class XLUstBilgiSatir {
|
|
89
|
-
constructor() {
|
|
90
|
-
this.rowNo = 0;
|
|
91
|
-
this.font = new XLFont('', 0);
|
|
92
|
-
this.ustBilgi = '';
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
export class XLLogo {
|
|
96
|
-
constructor() {
|
|
97
|
-
this.genislik = 0;
|
|
98
|
-
this.yukseklik = 0;
|
|
99
|
-
this.ustMarjin = 0;
|
|
100
|
-
this.solMarjin = 0;
|
|
101
|
-
this.ebatPixelmi = false;
|
|
102
|
-
this.ebat = '';
|
|
103
|
-
this.konum = '';
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
export class XLFont {
|
|
107
|
-
constructor(fontName, fontSize) {
|
|
108
|
-
this.name = 'Calibri';
|
|
109
|
-
this.size = 11;
|
|
110
|
-
this.color = XLRenk.Black;
|
|
111
|
-
this.style = FontStyle.Plain;
|
|
112
|
-
if (typeof fontName !== 'undefined') {
|
|
113
|
-
this.name = fontName;
|
|
114
|
-
}
|
|
115
|
-
if (typeof fontSize !== 'undefined') {
|
|
116
|
-
this.size = fontSize;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
export class XLUstBilgi {
|
|
121
|
-
constructor(fontName, fontSize) {
|
|
122
|
-
this.font = new XLFont();
|
|
123
|
-
this.columnFontColors = [];
|
|
124
|
-
this.columnFontStyles = [];
|
|
125
|
-
if (typeof fontName !== 'undefined') {
|
|
126
|
-
this.font.name = fontName;
|
|
127
|
-
}
|
|
128
|
-
if (typeof fontSize !== 'undefined') {
|
|
129
|
-
this.font.size = fontSize;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
export class XLNot {
|
|
134
|
-
constructor() {
|
|
135
|
-
this.font = new XLFont();
|
|
136
|
-
this.columnFontColors = [];
|
|
137
|
-
this.columnFontStyles = [];
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
export class XLSheet {
|
|
141
|
-
constructor(sheetNo) {
|
|
142
|
-
this.sheetNo = 0;
|
|
143
|
-
this.sheetName = 0;
|
|
144
|
-
if (typeof sheetNo !== 'undefined') {
|
|
145
|
-
this.sheetNo = sheetNo;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
export class XLInterior {
|
|
150
|
-
constructor() {
|
|
151
|
-
this.color = XLRenk.White;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
export class XLBorder {
|
|
155
|
-
constructor() {
|
|
156
|
-
this.type = 'Tümü';
|
|
157
|
-
this.lineStyle = XLLineStyle.xlContinuous;
|
|
158
|
-
this.weight = XlBorderWeigh.xlThin;
|
|
159
|
-
this.color = XLRenk.Black;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
export class XLTableColumnHeader {
|
|
163
|
-
constructor(header = '') {
|
|
164
|
-
this.title = '';
|
|
165
|
-
this.horizontalAlignment = XLHAlign.xlHAlignNone;
|
|
166
|
-
this.verticalAlignment = XlVAlign.xlVAlignNone;
|
|
167
|
-
this.font = new XLFont();
|
|
168
|
-
this.interior = new XLInterior();
|
|
169
|
-
this.border = new XLBorder();
|
|
170
|
-
this.basilacak = true;
|
|
171
|
-
this.satirSayisi = 1;
|
|
172
|
-
this.isMultiLine = false;
|
|
173
|
-
this.title = header;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
export class XLTableColumnData {
|
|
177
|
-
constructor() {
|
|
178
|
-
this.font = new XLFont();
|
|
179
|
-
this.interior = new XLInterior();
|
|
180
|
-
this.border = new XLBorder();
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
export class XLTable {
|
|
184
|
-
constructor() {
|
|
185
|
-
this.autoFit = false;
|
|
186
|
-
this.columns = [];
|
|
187
|
-
this.header = new XLTableColumnHeader();
|
|
188
|
-
this.data = new XLTableColumnData();
|
|
189
|
-
this.footer = new XLTableColumnFooter();
|
|
190
|
-
this.tableNo = 1;
|
|
191
|
-
this.sol = 1;
|
|
192
|
-
this.ust = 1;
|
|
193
|
-
this.veriKaynagi = 'Collection';
|
|
194
|
-
this.sheetName = 'xlSheet';
|
|
195
|
-
this.hiddenRows = [];
|
|
196
|
-
this.sort = [];
|
|
197
|
-
this.rows = [];
|
|
198
|
-
this.columnFontNames = [];
|
|
199
|
-
this.columnFontSizes = [];
|
|
200
|
-
this.columnFontColors = [];
|
|
201
|
-
this.columnFontStyles = [];
|
|
202
|
-
this.columnInteriorColors = [];
|
|
203
|
-
this.columnHeaderFontNames = [];
|
|
204
|
-
this.columnHeaderFontSizes = [];
|
|
205
|
-
this.columnHeaderFontColors = [];
|
|
206
|
-
this.columnHeaderFontStyles = [];
|
|
207
|
-
this.columnHeaderInteriorColors = [];
|
|
208
|
-
this.columnFooterFontNames = [];
|
|
209
|
-
this.columnFooterFontSizes = [];
|
|
210
|
-
this.columnFooterFontColors = [];
|
|
211
|
-
this.columnFooterFontStyles = [];
|
|
212
|
-
this.columnFooterInteriorColors = [];
|
|
213
|
-
this.rowFontNames = [];
|
|
214
|
-
this.rowFontSizes = [];
|
|
215
|
-
this.rowFontColors = [];
|
|
216
|
-
this.rowFontStyles = [];
|
|
217
|
-
this.rowInteriorColors = [];
|
|
218
|
-
this.rowFormats = [];
|
|
219
|
-
this.rowHorizontalAlignments = [];
|
|
220
|
-
this.rowVerticalAlignments = [];
|
|
221
|
-
this.cellFontNames = [];
|
|
222
|
-
this.cellFontSizes = [];
|
|
223
|
-
this.cellFontColors = [];
|
|
224
|
-
this.cellFontStyles = [];
|
|
225
|
-
this.cellInteriorColors = [];
|
|
226
|
-
this.cellFormats = [];
|
|
227
|
-
this.cellHorizontalAlignments = [];
|
|
228
|
-
this.cellVerticalAlignments = [];
|
|
229
|
-
this.rangeFontNames = [];
|
|
230
|
-
this.rangeFontSizes = [];
|
|
231
|
-
this.rangeFontColors = [];
|
|
232
|
-
this.rangeFontStyles = [];
|
|
233
|
-
this.rangeInteriorColors = [];
|
|
234
|
-
this.rangeFormats = [];
|
|
235
|
-
this.rangeHorizontalAlignments = [];
|
|
236
|
-
this.rangeVerticalAlignments = [];
|
|
237
|
-
}
|
|
238
|
-
addColumn(property, type =
|
|
239
|
-
const column = new XLTableColumn();
|
|
240
|
-
const columnHeader = header.replace('<p>', '\r');
|
|
241
|
-
const columnCount = this.columns.length + 1;
|
|
242
|
-
column.property = property;
|
|
243
|
-
column.arrayType = type;
|
|
244
|
-
column.columnNo = columnCount;
|
|
245
|
-
column.header = new XLTableColumnHeader(columnHeader);
|
|
246
|
-
column.footer = new XLTableColumnFooter();
|
|
247
|
-
column.horizontalAlignment = XLHAlign.xlHAlignNone;
|
|
248
|
-
column.verticalAlignment = XlVAlign.xlVAlignNone;
|
|
249
|
-
column.format = NumberFormatlar.Belirsiz;
|
|
250
|
-
column.width = genislik;
|
|
251
|
-
switch (type) {
|
|
252
|
-
case VariableType.Integer:
|
|
253
|
-
column.format = NumberFormatlar.Long;
|
|
254
|
-
break;
|
|
255
|
-
case VariableType.Longint:
|
|
256
|
-
column.format = NumberFormatlar.Long;
|
|
257
|
-
break;
|
|
258
|
-
case VariableType.Real:
|
|
259
|
-
column.format = NumberFormatlar.Real;
|
|
260
|
-
break;
|
|
261
|
-
case VariableType.Date:
|
|
262
|
-
column.format = NumberFormatlar.Tarih;
|
|
263
|
-
break;
|
|
264
|
-
default:
|
|
265
|
-
break;
|
|
266
|
-
}
|
|
267
|
-
const headerSatirAdet = this.header.satirSayisi;
|
|
268
|
-
const tempSize = columnHeader.split('\r').length;
|
|
269
|
-
if (tempSize > headerSatirAdet) {
|
|
270
|
-
this.header.satirSayisi = tempSize;
|
|
271
|
-
}
|
|
272
|
-
this.columns.push(column);
|
|
273
|
-
return column;
|
|
274
|
-
}
|
|
275
|
-
columnFormat(format, columnNo) {
|
|
276
|
-
let _columnNo = 0;
|
|
277
|
-
if (typeof columnNo === 'undefined') {
|
|
278
|
-
_columnNo = this.columns.length;
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
_columnNo = columnNo;
|
|
282
|
-
}
|
|
283
|
-
this.columns[_columnNo - 1].format = format;
|
|
284
|
-
}
|
|
285
|
-
rowFontColorAdd(color, rowNo) {
|
|
286
|
-
let _rowNo = 0;
|
|
287
|
-
if (typeof rowNo === 'undefined') {
|
|
288
|
-
_rowNo = this.rows.length;
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
_rowNo = rowNo;
|
|
292
|
-
}
|
|
293
|
-
this.rowFontColors.push(new RowFontColor(color, _rowNo));
|
|
294
|
-
}
|
|
295
|
-
rowInteriorColorAdd(color, rowNo) {
|
|
296
|
-
let _rowNo = 0;
|
|
297
|
-
if (typeof rowNo === 'undefined') {
|
|
298
|
-
_rowNo = this.rows.length;
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
_rowNo = rowNo;
|
|
302
|
-
}
|
|
303
|
-
this.rowInteriorColors.push(new RowInteriorColor(color, _rowNo));
|
|
304
|
-
}
|
|
305
|
-
setColumnFooter(title, columnNo) {
|
|
306
|
-
let _columnNo = 0;
|
|
307
|
-
if (typeof columnNo === 'undefined') {
|
|
308
|
-
_columnNo = this.columns.length;
|
|
309
|
-
}
|
|
310
|
-
else {
|
|
311
|
-
_columnNo = columnNo;
|
|
312
|
-
}
|
|
313
|
-
this.columns[_columnNo - 1].setFooter(title);
|
|
314
|
-
}
|
|
315
|
-
setColumnFooterFunction(footerFunction, columnNo) {
|
|
316
|
-
let _columnNo = 0;
|
|
317
|
-
if (typeof columnNo === 'undefined') {
|
|
318
|
-
_columnNo = this.columns.length;
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
_columnNo = columnNo;
|
|
322
|
-
}
|
|
323
|
-
this.columns[_columnNo - 1].setFooterFunction(footerFunction);
|
|
324
|
-
}
|
|
325
|
-
hiddenRowsInit() {
|
|
326
|
-
this.hiddenRows = [];
|
|
327
|
-
}
|
|
328
|
-
sortInit() {
|
|
329
|
-
this.sort = [];
|
|
330
|
-
}
|
|
331
|
-
rowsInit() {
|
|
332
|
-
this.rows = [];
|
|
333
|
-
}
|
|
334
|
-
columnFormatsInit() {
|
|
335
|
-
this.columnFontNames = [];
|
|
336
|
-
this.columnFontSizes = [];
|
|
337
|
-
this.columnFontColors = [];
|
|
338
|
-
this.columnFontStyles = [];
|
|
339
|
-
this.columnInteriorColors = [];
|
|
340
|
-
this.columnHeaderFontNames = [];
|
|
341
|
-
this.columnHeaderFontSizes = [];
|
|
342
|
-
this.columnHeaderFontColors = [];
|
|
343
|
-
this.columnHeaderFontStyles = [];
|
|
344
|
-
this.columnHeaderInteriorColors = [];
|
|
345
|
-
this.columnFooterFontNames = [];
|
|
346
|
-
this.columnFooterFontSizes = [];
|
|
347
|
-
this.columnFooterFontColors = [];
|
|
348
|
-
this.columnFooterFontStyles = [];
|
|
349
|
-
this.columnFooterInteriorColors = [];
|
|
350
|
-
}
|
|
351
|
-
rowFormatsInit() {
|
|
352
|
-
this.rowFontNames = [];
|
|
353
|
-
this.rowFontSizes = [];
|
|
354
|
-
this.rowFontColors = [];
|
|
355
|
-
this.rowFontStyles = [];
|
|
356
|
-
this.rowInteriorColors = [];
|
|
357
|
-
this.rowFormats = [];
|
|
358
|
-
this.rowHorizontalAlignments = [];
|
|
359
|
-
this.rowVerticalAlignments = [];
|
|
360
|
-
}
|
|
361
|
-
cellFormatsInit() {
|
|
362
|
-
this.cellFontNames = [];
|
|
363
|
-
this.cellFontSizes = [];
|
|
364
|
-
this.cellFontColors = [];
|
|
365
|
-
this.cellFontStyles = [];
|
|
366
|
-
this.cellInteriorColors = [];
|
|
367
|
-
this.cellFormats = [];
|
|
368
|
-
this.cellHorizontalAlignments = [];
|
|
369
|
-
this.cellVerticalAlignments = [];
|
|
370
|
-
}
|
|
371
|
-
rangeFormatsInit() {
|
|
372
|
-
this.rangeFontNames = [];
|
|
373
|
-
this.rangeFontSizes = [];
|
|
374
|
-
this.rangeFontColors = [];
|
|
375
|
-
this.rangeFontStyles = [];
|
|
376
|
-
this.rangeInteriorColors = [];
|
|
377
|
-
this.rangeFormats = [];
|
|
378
|
-
this.rangeHorizontalAlignments = [];
|
|
379
|
-
this.rangeVerticalAlignments = [];
|
|
380
|
-
}
|
|
381
|
-
get _sheetName() {
|
|
382
|
-
return this.sheetName;
|
|
383
|
-
}
|
|
384
|
-
set _sheetName(value) {
|
|
385
|
-
this.sheetName = value;
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
export class XLTableColumnFooter {
|
|
389
|
-
constructor() {
|
|
390
|
-
this.title = '';
|
|
391
|
-
this.font = new XLFont();
|
|
392
|
-
this.interior = new XLInterior();
|
|
393
|
-
this.border = new XLBorder();
|
|
394
|
-
this.basilacak = false;
|
|
395
|
-
this.satirSayisi = 1;
|
|
396
|
-
this.isFunction = false;
|
|
397
|
-
this.horizontalAlignment = XLHAlign.xlHAlignNone;
|
|
398
|
-
this.verticalAlignment = XlVAlign.xlVAlignNone;
|
|
399
|
-
this.function = XLFuncs.None;
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
export class XLTableColumn {
|
|
403
|
-
constructor() {
|
|
404
|
-
this.property = '';
|
|
405
|
-
this.arrayType =
|
|
406
|
-
this.columnNo = 0;
|
|
407
|
-
this.header = new XLTableColumnHeader();
|
|
408
|
-
this.footer = new XLTableColumnFooter();
|
|
409
|
-
this.horizontalAlignment = XLHAlign.xlHAlignNone;
|
|
410
|
-
this.verticalAlignment = XlVAlign.xlVAlignNone;
|
|
411
|
-
this.format = 0;
|
|
412
|
-
this.width = 0;
|
|
413
|
-
}
|
|
414
|
-
setFooterFunction(footerFunction) {
|
|
415
|
-
this.footer.basilacak = true;
|
|
416
|
-
this.footer.function = footerFunction;
|
|
417
|
-
this.footer.isFunction = true;
|
|
418
|
-
}
|
|
419
|
-
setFooter(title) {
|
|
420
|
-
this.footer.basilacak = true;
|
|
421
|
-
this.footer.title = title;
|
|
422
|
-
this.footer.isFunction = false;
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
export class RowFontColor {
|
|
426
|
-
constructor(color, rowNo) {
|
|
427
|
-
this.color = color;
|
|
428
|
-
this.rowNo = rowNo;
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
export class RowInteriorColor {
|
|
432
|
-
constructor(color, rowNo) {
|
|
433
|
-
this.color = color;
|
|
434
|
-
this.rowNo = rowNo;
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF3Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXZCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsUUFBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFFbEIsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUV2QixXQUFNLEdBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLFFBQVEsS0FB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ZSwgTnVtYmVyRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHNjcmlwdHM6IHN0cmluZ1tdID0gW107XHJcbiAgbm90ID0gbmV3IFhMTm90KCk7XHJcblxyXG4gIHRhYmxlczogWExUYWJsZVtdID0gW107XHJcblxyXG4gIHNoZWV0czogWExTaGVldFtdID0gW25ldyBYTFNoZWV0KDEpXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAoKHR5cGVvZiBmb250TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHx8ICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRGb250ID0gbmV3IFhMRm9udChmb250TmFtZSwgZm9udFNpemUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFibGUgPSB0aGlzLmFkZFRhYmxlKCk7XHJcbiAgICB0YWJsZS50YWJsZU5vID0gdGhpcy50YWJsZXMubGVuZ3RoICsgMTtcclxuXHJcbiAgICB0aGlzLnRhYmxlcy5wdXNoKHRhYmxlKTtcclxuXHJcbiAgfVxyXG5cclxuICB1c3RCaWxnaVNhdGlyRWtsZShzYXRpcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c3RCaWxnaSA9IG5ldyBYTFVzdEJpbGdpU2F0aXIoKTtcclxuICAgIHVzdEJpbGdpLnJvd05vID0gdGhpcy51c3RCaWxnaWxlci5sZW5ndGggKyAxO1xyXG4gICAgdXN0QmlsZ2kudXN0QmlsZ2kgPSBzYXRpcjtcclxuXHJcbiAgICB0aGlzLnVzdEJpbGdpbGVyLnB1c2godXN0QmlsZ2kpO1xyXG4gIH1cclxuXHJcbiAgYWRkVGFibGUoKTogWExUYWJsZSB7XHJcbiAgICBjb25zdCB0YWJsZSA9IG5ldyBYTFRhYmxlKCk7XHJcbiAgICB0YWJsZS5zb2wgPSAxO1xyXG4gICAgdGFibGUudXN0ID0gMTtcclxuICAgIHRhYmxlLmhlYWRlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGFibGUuZm9vdGVyLmJhc2lsYWNhayA9IGZhbHNlO1xyXG4gICAgdGFibGUuaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICAgIHRhYmxlLmhlYWRlci5pbnRlcmlvci5jb2xvciA9IFhMUmVuay5XaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuV2hpdGU7XHJcbiAgICB0YWJsZS5mb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gICAgdGFibGUuZm9vdGVyLmludGVyaW9yLmNvbG9yID0gWExSZW5rLldoaXRlO1xyXG5cclxuICAgIHRhYmxlLmhpZGRlblJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5zb3J0SW5pdCgpO1xyXG4gICAgdGFibGUucm93c0luaXQoKTtcclxuICAgIHRhYmxlLmNvbHVtbkZvcm1hdHNJbml0KCk7XHJcblxyXG4gICAgdGFibGUucm93Rm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLmNlbGxGb3JtYXRzSW5pdCgpO1xyXG4gICAgdGFibGUucmFuZ2VGb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIC8qXHJcbiAgICAgICAgWExfVF9IZWFkZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0Zvb3RlckJvcmRlckFsbFNldChVdGlsc0JvcmRlclR1bXU7IHhsQ29udGludW91czsgeGxUaGluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfSGVhZGVyRm9udEFsbFNldChYTF9EZWZhdWx0Rm9udE5hbWUgOyBYTF9EZWZhdWx0Rm9udFNpemU7IFBsYWluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfRGF0YUZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0Zvb3RlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX1NoZWV0TmFtZVNldChYTF9TX0N1cnJlbnQpXHJcbiovXHJcblxyXG4gICAgcmV0dXJuIHRhYmxlO1xyXG4gIH1cclxuXHJcbiAgc2hlZXRSb3dzUm93SGVpZ2h0U2NyaXB0KHJvd0hlaWdodDogbnVtYmVyLCBiYXNsYW5naWNTYXRpcmk6IG51bWJlciwgYml0aXNTYXRpcmk/OiBudW1iZXIsIHNoZWV0TmFtZT86IHN0cmluZykge1xyXG4gICAgbGV0IF9zaGVldE5hbWUgPSB0aGlzLmN1cnJlbnRTaGVldE9iamVjdDtcclxuICAgIGxldCBfYml0aXNTYXRpcmkgPSBiYXNsYW5naWNTYXRpcmk7XHJcblxyXG4gICAgaWYgKChzaGVldE5hbWUgIT09IHVuZGVmaW5lZCkgJiYgKHNoZWV0TmFtZSAhPT0gbnVsbCkpIHtcclxuICAgICAgX3NoZWV0TmFtZSA9IHNoZWV0TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKGJpdGlzU2F0aXJpICE9PSB1bmRlZmluZWQpICYmIChiaXRpc1NhdGlyaSAhPT0gbnVsbCkpIHtcclxuICAgICAgX2JpdGlzU2F0aXJpID0gYml0aXNTYXRpcmk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGJhc2xhbmdpY1NhdGlyaSA9PT0gX2JpdGlzU2F0aXJpKSB7XHJcbiAgICAgIHRoaXMuc2NyaXB0cy5wdXNoKF9zaGVldE5hbWUgKyAnLlJvd3MoXCInICsgYmFzbGFuZ2ljU2F0aXJpLnRvU3RyaW5nKCkgKyAnXCIpLlJvd0hlaWdodCA9ICcgKyB0aGlzLlZCU1JlYWxUb1RleHQocm93SGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zY3JpcHRzLnB1c2goX3NoZWV0TmFtZSArICcuUm93cyhcIicgKyBiYXNsYW5naWNTYXRpcmkudG9TdHJpbmcoKSArICc6JyArIF9iaXRpc1NhdGlyaS50b1N0cmluZygpICsgJ1wiKS5Sb3dIZWlnaHQgPSAnICsgdGhpcy5WQlNSZWFsVG9UZXh0KHJvd0hlaWdodCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkU2NyaXB0KHNjcmlwdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNjcmlwdHMucHVzaChzY3JpcHQpO1xyXG4gIH1cclxuXHJcbiAgVkJTUmVhbFRvVGV4dChzYXlpOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHNheWkudG9TdHJpbmcoKS5yZXBsYWNlKC9bLF0vZywgJy4nKVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVXN0QmlsZ2lTYXRpciB7XHJcbiAgcm93Tm8gPSAwO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCcnLCAwKTtcclxuICB1c3RCaWxnaSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExMb2dvIHtcclxuICBnZW5pc2xpayA9IDA7XHJcbiAgeXVrc2VrbGlrID0gMDtcclxuICB1c3RNYXJqaW4gPSAwO1xyXG4gIHNvbE1hcmppbiA9IDA7XHJcbiAgZWJhdFBpeGVsbWkgPSBmYWxzZTtcclxuICBlYmF0ID0gJyc7XHJcbiAga29udW0gPSAnJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMRm9udCB7XHJcbiAgbmFtZSA9ICdDYWxpYnJpJztcclxuICBzaXplID0gMTE7XHJcbiAgY29sb3IgPSBYTFJlbmsuQmxhY2s7XHJcbiAgc3R5bGUgPSBGb250U3R5bGUuUGxhaW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGVvZiBmb250TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5uYW1lID0gZm9udE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBmb250U2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExVc3RCaWxnaSB7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBjb2x1bW5Gb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTdHlsZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGVvZiBmb250TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5mb250Lm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQuc2l6ZSA9IGZvbnRTaXplO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTE5vdCB7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBjb2x1bW5Gb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTdHlsZXM6IHN0cmluZ1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFNoZWV0IHtcclxuICBzaGVldE5vID0gMDtcclxuICBzaGVldE5hbWUgPSAwO1xyXG4gIGNvbnN0cnVjdG9yKHNoZWV0Tm86IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGVvZiBzaGVldE5vICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNoZWV0Tm8gPSBzaGVldE5vO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExJbnRlcmlvciB7XHJcbiAgY29sb3I6IFhMUmVuayA9IFhMUmVuay5XaGl0ZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMQm9yZGVyIHtcclxuICB0eXBlID0gJ1TDvG3DvCc7XHJcbiAgbGluZVN0eWxlID0gWExMaW5lU3R5bGUueGxDb250aW51b3VzO1xyXG4gIHdlaWdodCA9IFhsQm9yZGVyV2VpZ2gueGxUaGluO1xyXG4gIGNvbG9yID0gWExSZW5rLkJsYWNrO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkhlYWRlciB7XHJcbiAgdGl0bGUgPSAnJztcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IHRydWU7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzTXVsdGlMaW5lID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoaGVhZGVyID0gJycpIHtcclxuICAgIHRoaXMudGl0bGUgPSBoZWFkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkRhdGEge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZSB7XHJcbiAgYXV0b0ZpdCA9IGZhbHNlO1xyXG4gIGNvbHVtbnM6IFhMVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZGF0YSA9IG5ldyBYTFRhYmxlQ29sdW1uRGF0YSgpO1xyXG4gIGZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgdGFibGVObyA9IDE7XHJcbiAgY29sbGVjdGlvbjogc3RyaW5nW107XHJcbiAgc29sID0gMTtcclxuICB1c3QgPSAxO1xyXG4gIHZlcmlLYXluYWdpID0gJ0NvbGxlY3Rpb24nO1xyXG4gIHNoZWV0TmFtZSA9ICd4bFNoZWV0JztcclxuICBoaWRkZW5Sb3dzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHNvcnQ6IG51bWJlcltdID0gW107XHJcbiAgcm93czogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5JbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByb3dGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93Rm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHJvd0ZvbnRDb2xvcnM6IFJvd0ZvbnRDb2xvcltdID0gW107XHJcbiAgcm93Rm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICByb3dJbnRlcmlvckNvbG9yczogUm93SW50ZXJpb3JDb2xvcltdID0gW107XHJcbiAgcm93Rm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByb3dIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIHJvd1ZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG4gIGNlbGxGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjZWxsRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjZWxsSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgY2VsbFZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG4gIHJhbmdlRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHJhbmdlRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgcmFuZ2VJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIHJhbmdlVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcblxyXG4gIGFkZENvbHVtbihwcm9wZXJ0eTogc3RyaW5nLCB0eXBlOiBWYXJpYWJsZVR5cGUgPSAwLCBoZWFkZXIgPSAnJywgZ2VuaXNsaWsgPSAwKTogWExUYWJsZUNvbHVtbiB7XHJcblxyXG4gICAgY29uc3QgY29sdW1uID0gbmV3IFhMVGFibGVDb2x1bW4oKTtcclxuICAgIGNvbnN0IGNvbHVtbkhlYWRlciA9IGhlYWRlci5yZXBsYWNlKCc8cD4nLCAnXFxyJyk7XHJcbiAgICBjb25zdCBjb2x1bW5Db3VudCA9IHRoaXMuY29sdW1ucy5sZW5ndGggKyAxO1xyXG5cclxuICAgIGNvbHVtbi5wcm9wZXJ0eSA9IHByb3BlcnR5O1xyXG4gICAgY29sdW1uLmFycmF5VHlwZSA9IHR5cGU7XHJcbiAgICBjb2x1bW4uY29sdW1uTm8gPSBjb2x1bW5Db3VudDtcclxuICAgIGNvbHVtbi5oZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcihjb2x1bW5IZWFkZXIpO1xyXG5cclxuICAgIGNvbHVtbi5mb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gICAgY29sdW1uLmhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgICBjb2x1bW4udmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLkJlbGlyc2l6O1xyXG4gICAgY29sdW1uLndpZHRoID0gZ2VuaXNsaWs7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkludGVnZXI6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5Mb25nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuTG9uZ2ludDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLkxvbmc7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5SZWFsOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuUmVhbDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkRhdGU6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5UYXJpaDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGVhZGVyU2F0aXJBZGV0ID0gdGhpcy5oZWFkZXIuc2F0aXJTYXlpc2k7XHJcbiAgICBjb25zdCB0ZW1wU2l6ZSA9IGNvbHVtbkhlYWRlci5zcGxpdCgnXFxyJykubGVuZ3RoO1xyXG4gICAgaWYgKHRlbXBTaXplID4gaGVhZGVyU2F0aXJBZGV0KSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpID0gdGVtcFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goY29sdW1uKTtcclxuICAgIHJldHVybiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICBjb2x1bW5Gb3JtYXQoZm9ybWF0OiBOdW1iZXJGb3JtYXRsYXIsIGNvbHVtbk5vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uZm9ybWF0ID0gZm9ybWF0O1xyXG4gIH1cclxuXHJcbiAgcm93Rm9udENvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ZvbnRDb2xvcnMucHVzaChuZXcgUm93Rm9udENvbG9yKGNvbG9yLCBfcm93Tm8pKTtcclxuICB9XHJcblxyXG4gIHJvd0ludGVyaW9yQ29sb3JBZGQoY29sb3I6IFhMUmVuaywgcm93Tm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfcm93Tm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiByb3dObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX3Jvd05vID0gdGhpcy5yb3dzLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9yb3dObyA9IHJvd05vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm93SW50ZXJpb3JDb2xvcnMucHVzaChuZXcgUm93SW50ZXJpb3JDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5Gb290ZXIodGl0bGU6IHN0cmluZywgY29sdW1uTm8/OiBudW1iZXIpIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLnNldEZvb3Rlcih0aXRsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXJGdW5jdGlvbihmb290ZXJGdW5jdGlvbik7XHJcblxyXG4gIH1cclxuXHJcbiAgaGlkZGVuUm93c0luaXQoKSB7XHJcbiAgICB0aGlzLmhpZGRlblJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIHNvcnRJbml0KCkge1xyXG4gICAgdGhpcy5zb3J0ID0gW107XHJcbiAgfVxyXG5cclxuICByb3dzSW5pdCgpIHtcclxuICAgIHRoaXMucm93cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbHVtbkZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5JbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVySW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICB9XHJcblxyXG4gIHJvd0Zvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yb3dGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMucm93SW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9ybWF0cyA9IFtdO1xyXG5cclxuICAgIHRoaXMucm93SG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucm93VmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICBjZWxsRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLmNlbGxGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsRm9ybWF0cyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEhvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLmNlbGxWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIHJhbmdlRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLnJhbmdlRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTdHlsZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvcm1hdHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZVZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IF9zaGVldE5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNoZWV0TmFtZTtcclxuICB9XHJcbiAgc2V0IF9zaGVldE5hbWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zaGVldE5hbWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkZvb3RlciB7XHJcbiAgdGl0bGUgPSAnJztcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxuICBiYXNpbGFjYWsgPSBmYWxzZTtcclxuICBzYXRpclNheWlzaSA9IDE7XHJcbiAgaXNGdW5jdGlvbiA9IGZhbHNlO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZnVuY3Rpb24gPSBYTEZ1bmNzLk5vbmU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uIHtcclxuICBwcm9wZXJ0eSA9ICcnO1xyXG4gIGFycmF5VHlwZTogVmFyaWFibGVUeXBlID0gMDtcclxuICBjb2x1bW5ObyA9IDA7XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZm9ybWF0OiBOdW1iZXJGb3JtYXRsYXIgPSAwO1xyXG4gIHdpZHRoID0gMDtcclxuXHJcbiAgc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci5mdW5jdGlvbiA9IGZvb3RlckZ1bmN0aW9uO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb290ZXIodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb290ZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9vdGVyLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmZvb3Rlci5pc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm93Rm9udENvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ludGVyaW9yQ29sb3Ige1xyXG4gIGNvbG9yOiBYTFJlbms7XHJcbiAgcm93Tm86IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihjb2xvcjogWExSZW5rLCByb3dObzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XHJcbiAgICB0aGlzLnJvd05vID0gcm93Tm87XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
1
|
+
import { FontStyle, NumberFormatlar, VariableType, XLRenk } from './fourDConstants';
|
|
2
|
+
import { XlBorderWeigh, XLFuncs, XLHAlign, XLLineStyle, XlVAlign } from './xlConstants';
|
|
3
|
+
export class XLConfig {
|
|
4
|
+
constructor(fontName, fontSize) {
|
|
5
|
+
this.logo = new XLLogo();
|
|
6
|
+
this.defaultFont = new XLFont();
|
|
7
|
+
this.currentTableStyle = 'TableStyleLight10';
|
|
8
|
+
this.currentTable = 1;
|
|
9
|
+
this.currentApplicationObject = 'xlApp';
|
|
10
|
+
this.currentBookObject = 'xlBook';
|
|
11
|
+
this.currentSheetObject = 'xlSheet';
|
|
12
|
+
this.author = 'MedPlan';
|
|
13
|
+
this.sifirlariBasma = false;
|
|
14
|
+
this.sheetName = '';
|
|
15
|
+
this.ustBilgiler = [];
|
|
16
|
+
this.ustBilgi = new XLUstBilgi();
|
|
17
|
+
this.notlar = [];
|
|
18
|
+
this.scripts = [];
|
|
19
|
+
this.not = new XLNot();
|
|
20
|
+
this.tables = [];
|
|
21
|
+
this.sheets = [new XLSheet(1)];
|
|
22
|
+
if ((typeof fontName !== 'undefined') || (typeof fontSize !== 'undefined')) {
|
|
23
|
+
this.defaultFont = new XLFont(fontName, fontSize);
|
|
24
|
+
}
|
|
25
|
+
const table = this.addTable();
|
|
26
|
+
table.tableNo = this.tables.length + 1;
|
|
27
|
+
this.tables.push(table);
|
|
28
|
+
}
|
|
29
|
+
ustBilgiSatirEkle(satir) {
|
|
30
|
+
const ustBilgi = new XLUstBilgiSatir();
|
|
31
|
+
ustBilgi.rowNo = this.ustBilgiler.length + 1;
|
|
32
|
+
ustBilgi.ustBilgi = satir;
|
|
33
|
+
this.ustBilgiler.push(ustBilgi);
|
|
34
|
+
}
|
|
35
|
+
addTable() {
|
|
36
|
+
const table = new XLTable();
|
|
37
|
+
table.sol = 1;
|
|
38
|
+
table.ust = 1;
|
|
39
|
+
table.header.basilacak = true;
|
|
40
|
+
table.footer.basilacak = false;
|
|
41
|
+
table.header = new XLTableColumnHeader();
|
|
42
|
+
table.header.interior.color = XLRenk.White;
|
|
43
|
+
table.data = new XLTableColumnData();
|
|
44
|
+
table.data.interior.color = XLRenk.White;
|
|
45
|
+
table.footer = new XLTableColumnFooter();
|
|
46
|
+
table.footer.interior.color = XLRenk.White;
|
|
47
|
+
table.hiddenRowsInit();
|
|
48
|
+
table.sortInit();
|
|
49
|
+
table.rowsInit();
|
|
50
|
+
table.columnFormatsInit();
|
|
51
|
+
table.rowFormatsInit();
|
|
52
|
+
table.cellFormatsInit();
|
|
53
|
+
table.rangeFormatsInit();
|
|
54
|
+
/*
|
|
55
|
+
XL_T_HeaderBorderAllSet(UtilsBorderTumu; xlContinuous; xlThin; clBlack)
|
|
56
|
+
XL_T_DataBorderAllSet(UtilsBorderTumu; xlContinuous; xlThin; clBlack)
|
|
57
|
+
XL_T_FooterBorderAllSet(UtilsBorderTumu; xlContinuous; xlThin; clBlack)
|
|
58
|
+
XL_T_HeaderFontAllSet(XL_DefaultFontName ; XL_DefaultFontSize; Plain; clBlack)
|
|
59
|
+
XL_T_DataFontAllSet(XL_DefaultFontName ; XL_DefaultFontSize; Plain; clBlack)
|
|
60
|
+
XL_T_FooterFontAllSet(XL_DefaultFontName ; XL_DefaultFontSize; Plain; clBlack)
|
|
61
|
+
XL_T_SheetNameSet(XL_S_Current)
|
|
62
|
+
*/
|
|
63
|
+
return table;
|
|
64
|
+
}
|
|
65
|
+
sheetRowsRowHeightScript(rowHeight, baslangicSatiri, bitisSatiri, sheetName) {
|
|
66
|
+
let _sheetName = this.currentSheetObject;
|
|
67
|
+
let _bitisSatiri = baslangicSatiri;
|
|
68
|
+
if ((sheetName !== undefined) && (sheetName !== null)) {
|
|
69
|
+
_sheetName = sheetName;
|
|
70
|
+
}
|
|
71
|
+
if ((bitisSatiri !== undefined) && (bitisSatiri !== null)) {
|
|
72
|
+
_bitisSatiri = bitisSatiri;
|
|
73
|
+
}
|
|
74
|
+
if (baslangicSatiri === _bitisSatiri) {
|
|
75
|
+
this.scripts.push(_sheetName + '.Rows("' + baslangicSatiri.toString() + '").RowHeight = ' + this.VBSRealToText(rowHeight));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.scripts.push(_sheetName + '.Rows("' + baslangicSatiri.toString() + ':' + _bitisSatiri.toString() + '").RowHeight = ' + this.VBSRealToText(rowHeight));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
addScript(script) {
|
|
82
|
+
this.scripts.push(script);
|
|
83
|
+
}
|
|
84
|
+
VBSRealToText(sayi) {
|
|
85
|
+
return sayi.toString().replace(/[,]/g, '.');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
export class XLUstBilgiSatir {
|
|
89
|
+
constructor() {
|
|
90
|
+
this.rowNo = 0;
|
|
91
|
+
this.font = new XLFont('', 0);
|
|
92
|
+
this.ustBilgi = '';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export class XLLogo {
|
|
96
|
+
constructor() {
|
|
97
|
+
this.genislik = 0;
|
|
98
|
+
this.yukseklik = 0;
|
|
99
|
+
this.ustMarjin = 0;
|
|
100
|
+
this.solMarjin = 0;
|
|
101
|
+
this.ebatPixelmi = false;
|
|
102
|
+
this.ebat = '';
|
|
103
|
+
this.konum = '';
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export class XLFont {
|
|
107
|
+
constructor(fontName, fontSize) {
|
|
108
|
+
this.name = 'Calibri';
|
|
109
|
+
this.size = 11;
|
|
110
|
+
this.color = XLRenk.Black;
|
|
111
|
+
this.style = FontStyle.Plain;
|
|
112
|
+
if (typeof fontName !== 'undefined') {
|
|
113
|
+
this.name = fontName;
|
|
114
|
+
}
|
|
115
|
+
if (typeof fontSize !== 'undefined') {
|
|
116
|
+
this.size = fontSize;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export class XLUstBilgi {
|
|
121
|
+
constructor(fontName, fontSize) {
|
|
122
|
+
this.font = new XLFont();
|
|
123
|
+
this.columnFontColors = [];
|
|
124
|
+
this.columnFontStyles = [];
|
|
125
|
+
if (typeof fontName !== 'undefined') {
|
|
126
|
+
this.font.name = fontName;
|
|
127
|
+
}
|
|
128
|
+
if (typeof fontSize !== 'undefined') {
|
|
129
|
+
this.font.size = fontSize;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export class XLNot {
|
|
134
|
+
constructor() {
|
|
135
|
+
this.font = new XLFont();
|
|
136
|
+
this.columnFontColors = [];
|
|
137
|
+
this.columnFontStyles = [];
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
export class XLSheet {
|
|
141
|
+
constructor(sheetNo) {
|
|
142
|
+
this.sheetNo = 0;
|
|
143
|
+
this.sheetName = 0;
|
|
144
|
+
if (typeof sheetNo !== 'undefined') {
|
|
145
|
+
this.sheetNo = sheetNo;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
export class XLInterior {
|
|
150
|
+
constructor() {
|
|
151
|
+
this.color = XLRenk.White;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
export class XLBorder {
|
|
155
|
+
constructor() {
|
|
156
|
+
this.type = 'Tümü';
|
|
157
|
+
this.lineStyle = XLLineStyle.xlContinuous;
|
|
158
|
+
this.weight = XlBorderWeigh.xlThin;
|
|
159
|
+
this.color = XLRenk.Black;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
export class XLTableColumnHeader {
|
|
163
|
+
constructor(header = '') {
|
|
164
|
+
this.title = '';
|
|
165
|
+
this.horizontalAlignment = XLHAlign.xlHAlignNone;
|
|
166
|
+
this.verticalAlignment = XlVAlign.xlVAlignNone;
|
|
167
|
+
this.font = new XLFont();
|
|
168
|
+
this.interior = new XLInterior();
|
|
169
|
+
this.border = new XLBorder();
|
|
170
|
+
this.basilacak = true;
|
|
171
|
+
this.satirSayisi = 1;
|
|
172
|
+
this.isMultiLine = false;
|
|
173
|
+
this.title = header;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
export class XLTableColumnData {
|
|
177
|
+
constructor() {
|
|
178
|
+
this.font = new XLFont();
|
|
179
|
+
this.interior = new XLInterior();
|
|
180
|
+
this.border = new XLBorder();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
export class XLTable {
|
|
184
|
+
constructor() {
|
|
185
|
+
this.autoFit = false;
|
|
186
|
+
this.columns = [];
|
|
187
|
+
this.header = new XLTableColumnHeader();
|
|
188
|
+
this.data = new XLTableColumnData();
|
|
189
|
+
this.footer = new XLTableColumnFooter();
|
|
190
|
+
this.tableNo = 1;
|
|
191
|
+
this.sol = 1;
|
|
192
|
+
this.ust = 1;
|
|
193
|
+
this.veriKaynagi = 'Collection';
|
|
194
|
+
this.sheetName = 'xlSheet';
|
|
195
|
+
this.hiddenRows = [];
|
|
196
|
+
this.sort = [];
|
|
197
|
+
this.rows = [];
|
|
198
|
+
this.columnFontNames = [];
|
|
199
|
+
this.columnFontSizes = [];
|
|
200
|
+
this.columnFontColors = [];
|
|
201
|
+
this.columnFontStyles = [];
|
|
202
|
+
this.columnInteriorColors = [];
|
|
203
|
+
this.columnHeaderFontNames = [];
|
|
204
|
+
this.columnHeaderFontSizes = [];
|
|
205
|
+
this.columnHeaderFontColors = [];
|
|
206
|
+
this.columnHeaderFontStyles = [];
|
|
207
|
+
this.columnHeaderInteriorColors = [];
|
|
208
|
+
this.columnFooterFontNames = [];
|
|
209
|
+
this.columnFooterFontSizes = [];
|
|
210
|
+
this.columnFooterFontColors = [];
|
|
211
|
+
this.columnFooterFontStyles = [];
|
|
212
|
+
this.columnFooterInteriorColors = [];
|
|
213
|
+
this.rowFontNames = [];
|
|
214
|
+
this.rowFontSizes = [];
|
|
215
|
+
this.rowFontColors = [];
|
|
216
|
+
this.rowFontStyles = [];
|
|
217
|
+
this.rowInteriorColors = [];
|
|
218
|
+
this.rowFormats = [];
|
|
219
|
+
this.rowHorizontalAlignments = [];
|
|
220
|
+
this.rowVerticalAlignments = [];
|
|
221
|
+
this.cellFontNames = [];
|
|
222
|
+
this.cellFontSizes = [];
|
|
223
|
+
this.cellFontColors = [];
|
|
224
|
+
this.cellFontStyles = [];
|
|
225
|
+
this.cellInteriorColors = [];
|
|
226
|
+
this.cellFormats = [];
|
|
227
|
+
this.cellHorizontalAlignments = [];
|
|
228
|
+
this.cellVerticalAlignments = [];
|
|
229
|
+
this.rangeFontNames = [];
|
|
230
|
+
this.rangeFontSizes = [];
|
|
231
|
+
this.rangeFontColors = [];
|
|
232
|
+
this.rangeFontStyles = [];
|
|
233
|
+
this.rangeInteriorColors = [];
|
|
234
|
+
this.rangeFormats = [];
|
|
235
|
+
this.rangeHorizontalAlignments = [];
|
|
236
|
+
this.rangeVerticalAlignments = [];
|
|
237
|
+
}
|
|
238
|
+
addColumn(property, type = VariableType.Text, header = '', genislik = 0) {
|
|
239
|
+
const column = new XLTableColumn();
|
|
240
|
+
const columnHeader = header.replace('<p>', '\r');
|
|
241
|
+
const columnCount = this.columns.length + 1;
|
|
242
|
+
column.property = property;
|
|
243
|
+
column.arrayType = type;
|
|
244
|
+
column.columnNo = columnCount;
|
|
245
|
+
column.header = new XLTableColumnHeader(columnHeader);
|
|
246
|
+
column.footer = new XLTableColumnFooter();
|
|
247
|
+
column.horizontalAlignment = XLHAlign.xlHAlignNone;
|
|
248
|
+
column.verticalAlignment = XlVAlign.xlVAlignNone;
|
|
249
|
+
column.format = NumberFormatlar.Belirsiz;
|
|
250
|
+
column.width = genislik;
|
|
251
|
+
switch (type) {
|
|
252
|
+
case VariableType.Integer:
|
|
253
|
+
column.format = NumberFormatlar.Long;
|
|
254
|
+
break;
|
|
255
|
+
case VariableType.Longint:
|
|
256
|
+
column.format = NumberFormatlar.Long;
|
|
257
|
+
break;
|
|
258
|
+
case VariableType.Real:
|
|
259
|
+
column.format = NumberFormatlar.Real;
|
|
260
|
+
break;
|
|
261
|
+
case VariableType.Date:
|
|
262
|
+
column.format = NumberFormatlar.Tarih;
|
|
263
|
+
break;
|
|
264
|
+
default:
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
const headerSatirAdet = this.header.satirSayisi;
|
|
268
|
+
const tempSize = columnHeader.split('\r').length;
|
|
269
|
+
if (tempSize > headerSatirAdet) {
|
|
270
|
+
this.header.satirSayisi = tempSize;
|
|
271
|
+
}
|
|
272
|
+
this.columns.push(column);
|
|
273
|
+
return column;
|
|
274
|
+
}
|
|
275
|
+
columnFormat(format, columnNo) {
|
|
276
|
+
let _columnNo = 0;
|
|
277
|
+
if (typeof columnNo === 'undefined') {
|
|
278
|
+
_columnNo = this.columns.length;
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
_columnNo = columnNo;
|
|
282
|
+
}
|
|
283
|
+
this.columns[_columnNo - 1].format = format;
|
|
284
|
+
}
|
|
285
|
+
rowFontColorAdd(color, rowNo) {
|
|
286
|
+
let _rowNo = 0;
|
|
287
|
+
if (typeof rowNo === 'undefined') {
|
|
288
|
+
_rowNo = this.rows.length;
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
_rowNo = rowNo;
|
|
292
|
+
}
|
|
293
|
+
this.rowFontColors.push(new RowFontColor(color, _rowNo));
|
|
294
|
+
}
|
|
295
|
+
rowInteriorColorAdd(color, rowNo) {
|
|
296
|
+
let _rowNo = 0;
|
|
297
|
+
if (typeof rowNo === 'undefined') {
|
|
298
|
+
_rowNo = this.rows.length;
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
_rowNo = rowNo;
|
|
302
|
+
}
|
|
303
|
+
this.rowInteriorColors.push(new RowInteriorColor(color, _rowNo));
|
|
304
|
+
}
|
|
305
|
+
setColumnFooter(title, columnNo) {
|
|
306
|
+
let _columnNo = 0;
|
|
307
|
+
if (typeof columnNo === 'undefined') {
|
|
308
|
+
_columnNo = this.columns.length;
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
_columnNo = columnNo;
|
|
312
|
+
}
|
|
313
|
+
this.columns[_columnNo - 1].setFooter(title);
|
|
314
|
+
}
|
|
315
|
+
setColumnFooterFunction(footerFunction, columnNo) {
|
|
316
|
+
let _columnNo = 0;
|
|
317
|
+
if (typeof columnNo === 'undefined') {
|
|
318
|
+
_columnNo = this.columns.length;
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
_columnNo = columnNo;
|
|
322
|
+
}
|
|
323
|
+
this.columns[_columnNo - 1].setFooterFunction(footerFunction);
|
|
324
|
+
}
|
|
325
|
+
hiddenRowsInit() {
|
|
326
|
+
this.hiddenRows = [];
|
|
327
|
+
}
|
|
328
|
+
sortInit() {
|
|
329
|
+
this.sort = [];
|
|
330
|
+
}
|
|
331
|
+
rowsInit() {
|
|
332
|
+
this.rows = [];
|
|
333
|
+
}
|
|
334
|
+
columnFormatsInit() {
|
|
335
|
+
this.columnFontNames = [];
|
|
336
|
+
this.columnFontSizes = [];
|
|
337
|
+
this.columnFontColors = [];
|
|
338
|
+
this.columnFontStyles = [];
|
|
339
|
+
this.columnInteriorColors = [];
|
|
340
|
+
this.columnHeaderFontNames = [];
|
|
341
|
+
this.columnHeaderFontSizes = [];
|
|
342
|
+
this.columnHeaderFontColors = [];
|
|
343
|
+
this.columnHeaderFontStyles = [];
|
|
344
|
+
this.columnHeaderInteriorColors = [];
|
|
345
|
+
this.columnFooterFontNames = [];
|
|
346
|
+
this.columnFooterFontSizes = [];
|
|
347
|
+
this.columnFooterFontColors = [];
|
|
348
|
+
this.columnFooterFontStyles = [];
|
|
349
|
+
this.columnFooterInteriorColors = [];
|
|
350
|
+
}
|
|
351
|
+
rowFormatsInit() {
|
|
352
|
+
this.rowFontNames = [];
|
|
353
|
+
this.rowFontSizes = [];
|
|
354
|
+
this.rowFontColors = [];
|
|
355
|
+
this.rowFontStyles = [];
|
|
356
|
+
this.rowInteriorColors = [];
|
|
357
|
+
this.rowFormats = [];
|
|
358
|
+
this.rowHorizontalAlignments = [];
|
|
359
|
+
this.rowVerticalAlignments = [];
|
|
360
|
+
}
|
|
361
|
+
cellFormatsInit() {
|
|
362
|
+
this.cellFontNames = [];
|
|
363
|
+
this.cellFontSizes = [];
|
|
364
|
+
this.cellFontColors = [];
|
|
365
|
+
this.cellFontStyles = [];
|
|
366
|
+
this.cellInteriorColors = [];
|
|
367
|
+
this.cellFormats = [];
|
|
368
|
+
this.cellHorizontalAlignments = [];
|
|
369
|
+
this.cellVerticalAlignments = [];
|
|
370
|
+
}
|
|
371
|
+
rangeFormatsInit() {
|
|
372
|
+
this.rangeFontNames = [];
|
|
373
|
+
this.rangeFontSizes = [];
|
|
374
|
+
this.rangeFontColors = [];
|
|
375
|
+
this.rangeFontStyles = [];
|
|
376
|
+
this.rangeInteriorColors = [];
|
|
377
|
+
this.rangeFormats = [];
|
|
378
|
+
this.rangeHorizontalAlignments = [];
|
|
379
|
+
this.rangeVerticalAlignments = [];
|
|
380
|
+
}
|
|
381
|
+
get _sheetName() {
|
|
382
|
+
return this.sheetName;
|
|
383
|
+
}
|
|
384
|
+
set _sheetName(value) {
|
|
385
|
+
this.sheetName = value;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
export class XLTableColumnFooter {
|
|
389
|
+
constructor() {
|
|
390
|
+
this.title = '';
|
|
391
|
+
this.font = new XLFont();
|
|
392
|
+
this.interior = new XLInterior();
|
|
393
|
+
this.border = new XLBorder();
|
|
394
|
+
this.basilacak = false;
|
|
395
|
+
this.satirSayisi = 1;
|
|
396
|
+
this.isFunction = false;
|
|
397
|
+
this.horizontalAlignment = XLHAlign.xlHAlignNone;
|
|
398
|
+
this.verticalAlignment = XlVAlign.xlVAlignNone;
|
|
399
|
+
this.function = XLFuncs.None;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
export class XLTableColumn {
|
|
403
|
+
constructor() {
|
|
404
|
+
this.property = '';
|
|
405
|
+
this.arrayType = VariableType.Text;
|
|
406
|
+
this.columnNo = 0;
|
|
407
|
+
this.header = new XLTableColumnHeader();
|
|
408
|
+
this.footer = new XLTableColumnFooter();
|
|
409
|
+
this.horizontalAlignment = XLHAlign.xlHAlignNone;
|
|
410
|
+
this.verticalAlignment = XlVAlign.xlVAlignNone;
|
|
411
|
+
this.format = 0;
|
|
412
|
+
this.width = 0;
|
|
413
|
+
}
|
|
414
|
+
setFooterFunction(footerFunction) {
|
|
415
|
+
this.footer.basilacak = true;
|
|
416
|
+
this.footer.function = footerFunction;
|
|
417
|
+
this.footer.isFunction = true;
|
|
418
|
+
}
|
|
419
|
+
setFooter(title) {
|
|
420
|
+
this.footer.basilacak = true;
|
|
421
|
+
this.footer.title = title;
|
|
422
|
+
this.footer.isFunction = false;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
export class RowFontColor {
|
|
426
|
+
constructor(color, rowNo) {
|
|
427
|
+
this.color = color;
|
|
428
|
+
this.rowNo = rowNo;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
export class RowInteriorColor {
|
|
432
|
+
constructor(color, rowNo) {
|
|
433
|
+
this.color = color;
|
|
434
|
+
this.rowNo = rowNo;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF3Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXZCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsUUFBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFFbEIsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUV2QixXQUFNLEdBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLFFBQVEsS0FB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bnQiOlsiaW1wb3J0IHsgRm9udFN0eWxlLCBOdW1iZXJGb3JtYXRsYXIsIFZhcmlhYmxlVHlwZSwgWExSZW5rIH0gZnJvbSAnLi9mb3VyRENvbnN0YW50cyc7XHJcbmltcG9ydCB7IFhsQm9yZGVyV2VpZ2gsIFhMRnVuY3MsIFhMSEFsaWduLCBYTExpbmVTdHlsZSwgWGxWQWxpZ24gfSBmcm9tICcuL3hsQ29uc3RhbnRzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBYTENvbmZpZyB7XHJcbiAgbG9nbyA9IG5ldyBYTExvZ28oKTtcclxuICBkZWZhdWx0Rm9udCA9IG5ldyBYTEZvbnQoKTtcclxuXHJcbiAgY3VycmVudFRhYmxlU3R5bGUgPSAnVGFibGVTdHlsZUxpZ2h0MTAnO1xyXG4gIGN1cnJlbnRUYWJsZSA9IDE7XHJcbiAgY3VycmVudEFwcGxpY2F0aW9uT2JqZWN0ID0gJ3hsQXBwJztcclxuICBjdXJyZW50Qm9va09iamVjdCA9ICd4bEJvb2snO1xyXG4gIGN1cnJlbnRTaGVldE9iamVjdCA9ICd4bFNoZWV0JztcclxuICBhdXRob3IgPSAnTWVkUGxhbic7XHJcbiAgc2lmaXJsYXJpQmFzbWEgPSBmYWxzZTtcclxuICBzaGVldE5hbWUgPSAnJztcclxuXHJcbiAgdXN0QmlsZ2lsZXI6IFhMVXN0QmlsZ2lTYXRpcltdID0gW107XHJcbiAgdXN0QmlsZ2kgPSBuZXcgWExVc3RCaWxnaSgpO1xyXG5cclxuICBub3RsYXI6IHN0cmluZ1tdID0gW107XHJcbiAgc2NyaXB0czogc3RyaW5nW10gPSBbXTtcclxuICBub3QgPSBuZXcgWExOb3QoKTtcclxuXHJcbiAgdGFibGVzOiBYTFRhYmxlW10gPSBbXTtcclxuXHJcbiAgc2hlZXRzOiBYTFNoZWV0W10gPSBbbmV3IFhMU2hlZXQoMSldO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihmb250TmFtZT86IHN0cmluZywgZm9udFNpemU/OiBudW1iZXIpIHtcclxuICAgIGlmICgodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykgfHwgKHR5cGVvZiBmb250U2l6ZSAhPT0gJ3VuZGVmaW5lZCcpKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KGZvbnROYW1lLCBmb250U2l6ZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YWJsZSA9IHRoaXMuYWRkVGFibGUoKTtcclxuICAgIHRhYmxlLnRhYmxlTm8gPSB0aGlzLnRhYmxlcy5sZW5ndGggKyAxO1xyXG5cclxuICAgIHRoaXMudGFibGVzLnB1c2godGFibGUpO1xyXG5cclxuICB9XHJcblxyXG4gIHVzdEJpbGdpU2F0aXJFa2xlKHNhdGlyOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2lTYXRpcigpO1xyXG4gICAgdXN0QmlsZ2kucm93Tm8gPSB0aGlzLnVzdEJpbGdpbGVyLmxlbmd0aCArIDE7XHJcbiAgICB1c3RCaWxnaS51c3RCaWxnaSA9IHNhdGlyO1xyXG5cclxuICAgIHRoaXMudXN0QmlsZ2lsZXIucHVzaCh1c3RCaWxnaSk7XHJcbiAgfVxyXG5cclxuICBhZGRUYWJsZSgpOiBYTFRhYmxlIHtcclxuICAgIGNvbnN0IHRhYmxlID0gbmV3IFhMVGFibGUoKTtcclxuICAgIHRhYmxlLnNvbCA9IDE7XHJcbiAgICB0YWJsZS51c3QgPSAxO1xyXG4gICAgdGFibGUuaGVhZGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0YWJsZS5mb290ZXIuYmFzaWxhY2FrID0gZmFsc2U7XHJcbiAgICB0YWJsZS5oZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcigpO1xyXG4gICAgdGFibGUuaGVhZGVyLmludGVyaW9yLmNvbG9yID0gWExSZW5rLldoaXRlO1xyXG4gICAgdGFibGUuZGF0YSA9IG5ldyBYTFRhYmxlQ29sdW1uRGF0YSgpO1xyXG4gICAgdGFibGUuZGF0YS5pbnRlcmlvci5jb2xvciA9IFhMUmVuay5XaGl0ZTtcclxuICAgIHRhYmxlLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICB0YWJsZS5mb290ZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuV2hpdGU7XHJcblxyXG4gICAgdGFibGUuaGlkZGVuUm93c0luaXQoKTtcclxuICAgIHRhYmxlLnNvcnRJbml0KCk7XHJcbiAgICB0YWJsZS5yb3dzSW5pdCgpO1xyXG4gICAgdGFibGUuY29sdW1uRm9ybWF0c0luaXQoKTtcclxuXHJcbiAgICB0YWJsZS5yb3dGb3JtYXRzSW5pdCgpO1xyXG4gICAgdGFibGUuY2VsbEZvcm1hdHNJbml0KCk7XHJcbiAgICB0YWJsZS5yYW5nZUZvcm1hdHNJbml0KCk7XHJcblxyXG4gICAgLypcclxuICAgICAgICBYTF9UX0hlYWRlckJvcmRlckFsbFNldChVdGlsc0JvcmRlclR1bXU7IHhsQ29udGludW91czsgeGxUaGluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfRGF0YUJvcmRlckFsbFNldChVdGlsc0JvcmRlclR1bXU7IHhsQ29udGludW91czsgeGxUaGluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfRm9vdGVyQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9IZWFkZXJGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9EYXRhRm9udEFsbFNldChYTF9EZWZhdWx0Rm9udE5hbWUgOyBYTF9EZWZhdWx0Rm9udFNpemU7IFBsYWluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfRm9vdGVyRm9udEFsbFNldChYTF9EZWZhdWx0Rm9udE5hbWUgOyBYTF9EZWZhdWx0Rm9udFNpemU7IFBsYWluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfU2hlZXROYW1lU2V0KFhMX1NfQ3VycmVudClcclxuKi9cclxuXHJcbiAgICByZXR1cm4gdGFibGU7XHJcbiAgfVxyXG5cclxuICBzaGVldFJvd3NSb3dIZWlnaHRTY3JpcHQocm93SGVpZ2h0OiBudW1iZXIsIGJhc2xhbmdpY1NhdGlyaTogbnVtYmVyLCBiaXRpc1NhdGlyaT86IG51bWJlciwgc2hlZXROYW1lPzogc3RyaW5nKSB7XHJcbiAgICBsZXQgX3NoZWV0TmFtZSA9IHRoaXMuY3VycmVudFNoZWV0T2JqZWN0O1xyXG4gICAgbGV0IF9iaXRpc1NhdGlyaSA9IGJhc2xhbmdpY1NhdGlyaTtcclxuXHJcbiAgICBpZiAoKHNoZWV0TmFtZSAhPT0gdW5kZWZpbmVkKSAmJiAoc2hlZXROYW1lICE9PSBudWxsKSkge1xyXG4gICAgICBfc2hlZXROYW1lID0gc2hlZXROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgoYml0aXNTYXRpcmkgIT09IHVuZGVmaW5lZCkgJiYgKGJpdGlzU2F0aXJpICE9PSBudWxsKSkge1xyXG4gICAgICBfYml0aXNTYXRpcmkgPSBiaXRpc1NhdGlyaTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYmFzbGFuZ2ljU2F0aXJpID09PSBfYml0aXNTYXRpcmkpIHtcclxuICAgICAgdGhpcy5zY3JpcHRzLnB1c2goX3NoZWV0TmFtZSArICcuUm93cyhcIicgKyBiYXNsYW5naWNTYXRpcmkudG9TdHJpbmcoKSArICdcIikuUm93SGVpZ2h0ID0gJyArIHRoaXMuVkJTUmVhbFRvVGV4dChyb3dIZWlnaHQpKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNjcmlwdHMucHVzaChfc2hlZXROYW1lICsgJy5Sb3dzKFwiJyArIGJhc2xhbmdpY1NhdGlyaS50b1N0cmluZygpICsgJzonICsgX2JpdGlzU2F0aXJpLnRvU3RyaW5nKCkgKyAnXCIpLlJvd0hlaWdodCA9ICcgKyB0aGlzLlZCU1JlYWxUb1RleHQocm93SGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRTY3JpcHQoc2NyaXB0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2NyaXB0cy5wdXNoKHNjcmlwdCk7XHJcbiAgfVxyXG5cclxuICBWQlNSZWFsVG9UZXh0KHNheWk6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gc2F5aS50b1N0cmluZygpLnJlcGxhY2UoL1ssXS9nLCAnLicpXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExVc3RCaWxnaVNhdGlyIHtcclxuICByb3dObyA9IDA7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoJycsIDApO1xyXG4gIHVzdEJpbGdpID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTExvZ28ge1xyXG4gIGdlbmlzbGlrID0gMDtcclxuICB5dWtzZWtsaWsgPSAwO1xyXG4gIHVzdE1hcmppbiA9IDA7XHJcbiAgc29sTWFyamluID0gMDtcclxuICBlYmF0UGl4ZWxtaSA9IGZhbHNlO1xyXG4gIGViYXQgPSAnJztcclxuICBrb251bSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExGb250IHtcclxuICBuYW1lID0gJ0NhbGlicmknO1xyXG4gIHNpemUgPSAxMTtcclxuICBjb2xvciA9IFhMUmVuay5CbGFjaztcclxuICBzdHlsZSA9IEZvbnRTdHlsZS5QbGFpbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTm90IHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMU2hlZXQge1xyXG4gIHNoZWV0Tm8gPSAwO1xyXG4gIHNoZWV0TmFtZSA9IDA7XHJcbiAgY29uc3RydWN0b3Ioc2hlZXRObzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIHNoZWV0Tm8gIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuc2hlZXRObyA9IHNoZWV0Tm87XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTEludGVyaW9yIHtcclxuICBjb2xvcjogWExSZW5rID0gWExSZW5rLldoaXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExCb3JkZXIge1xyXG4gIHR5cGUgPSAnVMO8bcO8JztcclxuICBsaW5lU3R5bGUgPSBYTExpbmVTdHlsZS54bENvbnRpbnVvdXM7XHJcbiAgd2VpZ2h0ID0gWGxCb3JkZXJXZWlnaC54bFRoaW47XHJcbiAgY29sb3IgPSBYTFJlbmsuQmxhY2s7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uSGVhZGVyIHtcclxuICB0aXRsZSA9ICcnO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbiAgYmFzaWxhY2FrID0gdHJ1ZTtcclxuICBzYXRpclNheWlzaSA9IDE7XHJcbiAgaXNNdWx0aUxpbmUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihoZWFkZXIgPSAnJykge1xyXG4gICAgdGhpcy50aXRsZSA9IGhlYWRlcjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uRGF0YSB7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlIHtcclxuICBhdXRvRml0ID0gZmFsc2U7XHJcbiAgY29sdW1uczogWExUYWJsZUNvbHVtbltdID0gW107XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBkYXRhID0gbmV3IFhMVGFibGVDb2x1bW5EYXRhKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICB0YWJsZU5vID0gMTtcclxuICBjb2xsZWN0aW9uOiBzdHJpbmdbXTtcclxuICBzb2wgPSAxO1xyXG4gIHVzdCA9IDE7XHJcbiAgdmVyaUtheW5hZ2kgPSAnQ29sbGVjdGlvbic7XHJcbiAgc2hlZXROYW1lID0gJ3hsU2hlZXQnO1xyXG4gIGhpZGRlblJvd3M6IG51bWJlcltdID0gW107XHJcbiAgc29ydDogbnVtYmVyW10gPSBbXTtcclxuICByb3dzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICByb3dGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcm93Rm9udENvbG9yczogUm93Rm9udENvbG9yW10gPSBbXTtcclxuICByb3dGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIHJvd0ludGVyaW9yQ29sb3JzOiBSb3dJbnRlcmlvckNvbG9yW10gPSBbXTtcclxuICByb3dGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0hvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcm93VmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgY2VsbEZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNlbGxGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNlbGxJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsSG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICBjZWxsVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgcmFuZ2VGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcmFuZ2VGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICByYW5nZUludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcmFuZ2VWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuXHJcbiAgYWRkQ29sdW1uKHByb3BlcnR5OiBzdHJpbmcsIHR5cGUgPSBWYXJpYWJsZVR5cGUuVGV4dCwgaGVhZGVyID0gJycsIGdlbmlzbGlrID0gMCk6IFhMVGFibGVDb2x1bW4ge1xyXG5cclxuICAgIGNvbnN0IGNvbHVtbiA9IG5ldyBYTFRhYmxlQ29sdW1uKCk7XHJcbiAgICBjb25zdCBjb2x1bW5IZWFkZXIgPSBoZWFkZXIucmVwbGFjZSgnPHA+JywgJ1xccicpO1xyXG4gICAgY29uc3QgY29sdW1uQ291bnQgPSB0aGlzLmNvbHVtbnMubGVuZ3RoICsgMTtcclxuXHJcbiAgICBjb2x1bW4ucHJvcGVydHkgPSBwcm9wZXJ0eTtcclxuICAgIGNvbHVtbi5hcnJheVR5cGUgPSB0eXBlO1xyXG4gICAgY29sdW1uLmNvbHVtbk5vID0gY29sdW1uQ291bnQ7XHJcbiAgICBjb2x1bW4uaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoY29sdW1uSGVhZGVyKTtcclxuXHJcbiAgICBjb2x1bW4uZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICAgIGNvbHVtbi5ob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLnZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5CZWxpcnNpejtcclxuICAgIGNvbHVtbi53aWR0aCA9IGdlbmlzbGlrO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5JbnRlZ2VyOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuTG9uZztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkxvbmdpbnQ6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5Mb25nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuUmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLlJlYWw7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5EYXRlOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuVGFyaWg7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhlYWRlclNhdGlyQWRldCA9IHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpO1xyXG4gICAgY29uc3QgdGVtcFNpemUgPSBjb2x1bW5IZWFkZXIuc3BsaXQoJ1xccicpLmxlbmd0aDtcclxuICAgIGlmICh0ZW1wU2l6ZSA+IGhlYWRlclNhdGlyQWRldCkge1xyXG4gICAgICB0aGlzLmhlYWRlci5zYXRpclNheWlzaSA9IHRlbXBTaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1ucy5wdXNoKGNvbHVtbik7XHJcbiAgICByZXR1cm4gY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uRm9ybWF0KGZvcm1hdDogTnVtYmVyRm9ybWF0bGFyLCBjb2x1bW5Obz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLmZvcm1hdCA9IGZvcm1hdDtcclxuICB9XHJcblxyXG4gIHJvd0ZvbnRDb2xvckFkZChjb2xvcjogWExSZW5rLCByb3dObz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9yb3dObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIHJvd05vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfcm93Tm8gPSB0aGlzLnJvd3MubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3Jvd05vID0gcm93Tm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzLnB1c2gobmV3IFJvd0ZvbnRDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICByb3dJbnRlcmlvckNvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzLnB1c2gobmV3IFJvd0ludGVyaW9yQ29sb3IoY29sb3IsIF9yb3dObykpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyKHRpdGxlOiBzdHJpbmcsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXIodGl0bGUpO1xyXG5cclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb24pO1xyXG5cclxuICB9XHJcblxyXG4gIGhpZGRlblJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5oaWRkZW5Sb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBzb3J0SW5pdCgpIHtcclxuICAgIHRoaXMuc29ydCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5Gb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzID0gW107XHJcbiAgfVxyXG5cclxuICByb3dGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucm93Rm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0Zvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0hvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJvd1ZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY2VsbEZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jZWxsRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEZvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICByYW5nZUZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yYW5nZUZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U3R5bGVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb3JtYXRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGdldCBfc2hlZXROYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zaGVldE5hbWU7XHJcbiAgfVxyXG4gIHNldCBfc2hlZXROYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2hlZXROYW1lID0gdmFsdWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5Gb290ZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbiAgYmFzaWxhY2FrID0gZmFsc2U7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzRnVuY3Rpb24gPSBmYWxzZTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZ1bmN0aW9uID0gWExGdW5jcy5Ob25lO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbiB7XHJcbiAgcHJvcGVydHkgPSAnJztcclxuICBhcnJheVR5cGUgPSBWYXJpYWJsZVR5cGUuVGV4dDtcclxuICBjb2x1bW5ObyA9IDA7XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZm9ybWF0OiBOdW1iZXJGb3JtYXRsYXIgPSAwO1xyXG4gIHdpZHRoID0gMDtcclxuXHJcbiAgc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci5mdW5jdGlvbiA9IGZvb3RlckZ1bmN0aW9uO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb290ZXIodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb290ZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9vdGVyLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmZvb3Rlci5pc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm93Rm9udENvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ludGVyaW9yQ29sb3Ige1xyXG4gIGNvbG9yOiBYTFJlbms7XHJcbiAgcm93Tm86IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihjb2xvcjogWExSZW5rLCByb3dObzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XHJcbiAgICB0aGlzLnJvd05vID0gcm93Tm87XHJcbiAgfVxyXG59XHJcbiJdfQ==
|