@simpleangularcontrols/sac-common 16.0.0-rc.5 → 16.0.0-rc.7
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/common/basemodelcontrol.d.ts.map +1 -1
- package/controls/confirm/confirm.button.d.ts +1 -1
- package/controls/confirm/confirm.button.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.d.ts.map +1 -1
- package/controls/input/inputcurrency.d.ts +6 -1
- package/controls/input/inputcurrency.d.ts.map +1 -1
- package/controls/layout/formlayout.d.ts +1 -1
- package/controls/layout/formlayout.d.ts.map +1 -1
- package/esm2022/common/basemodelcontrol.mjs +36 -36
- package/esm2022/controls/confirm/confirm.button.mjs +3 -3
- package/esm2022/controls/contextmenu/contextmenu.mjs +10 -10
- package/esm2022/controls/input/inputcurrency.mjs +9 -4
- package/esm2022/controls/layout/formlayout.mjs +4 -4
- package/esm2022/interfaces/ISacConfigurationService.mjs +3 -3
- package/esm2022/public_api.mjs +6 -5
- package/esm2022/services/sac-configuration.service.mjs +16 -10
- package/esm2022/utilities/guid.mjs +7 -5
- package/fesm2022/simpleangularcontrols-sac-common.mjs +1046 -1033
- package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +8 -0
- package/interfaces/ISacConfigurationService.d.ts.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +7 -1
- package/public_api.d.ts.map +1 -1
- package/services/sac-configuration.service.d.ts +19 -0
- package/services/sac-configuration.service.d.ts.map +1 -1
- package/simpleangularcontrols-sac-common-16.0.0-rc.7.tgz +0 -0
- package/utilities/guid.d.ts.map +1 -1
- package/simpleangularcontrols-sac-common-16.0.0-rc.5.tgz +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function cov_syqygw8jm(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\common\\basemodelcontrol.mjs";var hash="6c4a1713967e6dde508d40494de4ffece6dcc29e";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\common\\basemodelcontrol.mjs",statementMap:{"0":{start:{line:24,column:8},end:{line:24,column:33}},"1":{start:{line:29,column:8},end:{line:29,column:40}},"2":{start:{line:30,column:8},end:{line:30,column:25}},"3":{start:{line:34,column:8},end:{line:34,column:28}},"4":{start:{line:38,column:8},end:{line:38,column:35}},"5":{start:{line:42,column:8},end:{line:42,column:30}},"6":{start:{line:46,column:8},end:{line:46,column:27}},"7":{start:{line:50,column:8},end:{line:50,column:31}},"8":{start:{line:54,column:8},end:{line:54,column:36}},"9":{start:{line:58,column:8},end:{line:58,column:30}},"10":{start:{line:62,column:8},end:{line:62,column:34}},"11":{start:{line:66,column:8},end:{line:66,column:32}},"12":{start:{line:70,column:8},end:{line:70,column:37}},"13":{start:{line:74,column:8},end:{line:74,column:32}},"14":{start:{line:78,column:8},end:{line:78,column:32}},"15":{start:{line:82,column:8},end:{line:82,column:32}},"16":{start:{line:86,column:8},end:{line:86,column:32}},"17":{start:{line:90,column:8},end:{line:90,column:32}},"18":{start:{line:94,column:8},end:{line:94,column:33}},"19":{start:{line:98,column:8},end:{line:98,column:33}},"20":{start:{line:102,column:8},end:{line:102,column:43}},"21":{start:{line:106,column:8},end:{line:106,column:41}},"22":{start:{line:110,column:8},end:{line:110,column:40}},"23":{start:{line:111,column:8},end:{line:111,column:37}},"24":{start:{line:112,column:8},end:{line:112,column:113}},"25":{start:{line:113,column:8},end:{line:113,column:134}},"26":{start:{line:114,column:8},end:{line:114,column:113}},"27":{start:{line:122,column:8},end:{line:127,column:9}},"28":{start:{line:123,column:12},end:{line:123,column:44}},"29":{start:{line:126,column:12},end:{line:126,column:63}},"30":{start:{line:133,column:8},end:{line:133,column:24}},"31":{start:{line:134,column:8},end:{line:134,column:36}},"32":{start:{line:141,column:8},end:{line:143,column:9}},"33":{start:{line:142,column:12},end:{line:142,column:19}},"34":{start:{line:144,column:8},end:{line:144,column:48}},"35":{start:{line:145,column:8},end:{line:145,column:42}},"36":{start:{line:151,column:8},end:{line:153,column:9}},"37":{start:{line:152,column:12},end:{line:152,column:47}},"38":{start:{line:154,column:8},end:{line:154,column:27}},"39":{start:{line:157,column:8},end:{line:157,column:40}},"40":{start:{line:163,column:8},end:{line:165,column:36}},"41":{start:{line:171,column:8},end:{line:171,column:51}},"42":{start:{line:177,column:8},end:{line:180,column:9}},"43":{start:{line:179,column:12},end:{line:179,column:44}},"44":{start:{line:181,column:8},end:{line:182,column:48}},"45":{start:{line:188,column:8},end:{line:188,column:27}},"46":{start:{line:194,column:8},end:{line:201,column:10}},"47":{start:{line:207,column:8},end:{line:209,column:9}},"48":{start:{line:208,column:12},end:{line:208,column:51}},"49":{start:{line:210,column:8},end:{line:210,column:29}},"50":{start:{line:216,column:8},end:{line:216,column:27}},"51":{start:{line:224,column:8},end:{line:229,column:9}},"52":{start:{line:225,column:12},end:{line:228,column:15}},"53":{start:{line:226,column:16},end:{line:226,column:34}},"54":{start:{line:227,column:16},end:{line:227,column:36}},"55":{start:{line:230,column:23},end:{line:230,column:44}},"56":{start:{line:231,column:8},end:{line:236,column:9}},"57":{start:{line:232,column:12},end:{line:235,column:15}},"58":{start:{line:233,column:16},end:{line:233,column:34}},"59":{start:{line:234,column:16},end:{line:234,column:36}},"60":{start:{line:237,column:21},end:{line:237,column:40}},"61":{start:{line:238,column:8},end:{line:243,column:9}},"62":{start:{line:239,column:12},end:{line:242,column:15}},"63":{start:{line:240,column:16},end:{line:240,column:34}},"64":{start:{line:241,column:16},end:{line:241,column:36}},"65":{start:{line:244,column:26},end:{line:244,column:41}},"66":{start:{line:246,column:27},end:{line:246,column:29}},"67":{start:{line:247,column:8},end:{line:251,column:9}},"68":{start:{line:248,column:12},end:{line:250,column:15}},"69":{start:{line:249,column:16},end:{line:249,column:34}},"70":{start:{line:252,column:8},end:{line:252,column:50}},"71":{start:{line:253,column:8},end:{line:253,column:88}},"72":{start:{line:260,column:28},end:{line:260,column:62}},"73":{start:{line:261,column:8},end:{line:269,column:9}},"74":{start:{line:262,column:25},end:{line:262,column:68}},"75":{start:{line:263,column:12},end:{line:263,column:58}},"76":{start:{line:266,column:12},end:{line:268,column:13}},"77":{start:{line:267,column:16},end:{line:267,column:53}},"78":{start:{line:270,column:8},end:{line:270,column:36}},"79":{start:{line:272,column:8},end:{line:272,column:29}},"80":{start:{line:274,column:8},end:{line:274,column:34}},"81":{start:{line:276,column:8},end:{line:276,column:34}},"82":{start:{line:277,column:8},end:{line:277,column:27}},"83":{start:{line:283,column:8},end:{line:283,column:29}},"84":{start:{line:284,column:8},end:{line:284,column:30}},"85":{start:{line:291,column:8},end:{line:291,column:48}},"86":{start:{line:291,column:40},end:{line:291,column:47}},"87":{start:{line:297,column:8},end:{line:297,column:47}},"88":{start:{line:297,column:39},end:{line:297,column:46}},"89":{start:{line:303,column:8},end:{line:303,column:28}},"90":{start:{line:309,column:8},end:{line:309,column:40}},"91":{start:{line:315,column:8},end:{line:315,column:23}},"92":{start:{line:321,column:22},end:{line:321,column:42}},"93":{start:{line:322,column:8},end:{line:322,column:21}},"94":{start:{line:328,column:8},end:{line:328,column:28}},"95":{start:{line:338,column:8},end:{line:338,column:21}},"96":{start:{line:344,column:8},end:{line:344,column:19}},"97":{start:{line:354,column:8},end:{line:356,column:9}},"98":{start:{line:355,column:12},end:{line:355,column:70}},"99":{start:{line:362,column:8},end:{line:364,column:9}},"100":{start:{line:363,column:12},end:{line:363,column:53}},"101":{start:{line:371,column:8},end:{line:378,column:9}},"102":{start:{line:372,column:12},end:{line:377,column:13}},"103":{start:{line:373,column:16},end:{line:373,column:71}},"104":{start:{line:376,column:16},end:{line:376,column:81}},"105":{start:{line:384,column:8},end:{line:391,column:9}},"106":{start:{line:385,column:12},end:{line:390,column:13}},"107":{start:{line:386,column:16},end:{line:386,column:71}},"108":{start:{line:389,column:16},end:{line:389,column:45}},"109":{start:{line:398,column:8},end:{line:405,column:9}},"110":{start:{line:399,column:12},end:{line:404,column:13}},"111":{start:{line:400,column:16},end:{line:400,column:63}},"112":{start:{line:403,column:16},end:{line:403,column:73}},"113":{start:{line:407,column:8},end:{line:414,column:9}},"114":{start:{line:408,column:12},end:{line:413,column:13}},"115":{start:{line:409,column:16},end:{line:409,column:63}},"116":{start:{line:412,column:16},end:{line:412,column:73}},"117":{start:{line:416,column:8},end:{line:423,column:9}},"118":{start:{line:417,column:12},end:{line:422,column:13}},"119":{start:{line:418,column:16},end:{line:418,column:63}},"120":{start:{line:421,column:16},end:{line:421,column:73}},"121":{start:{line:425,column:8},end:{line:432,column:9}},"122":{start:{line:426,column:12},end:{line:431,column:13}},"123":{start:{line:427,column:16},end:{line:427,column:63}},"124":{start:{line:430,column:16},end:{line:430,column:73}},"125":{start:{line:434,column:8},end:{line:441,column:9}},"126":{start:{line:435,column:12},end:{line:440,column:13}},"127":{start:{line:436,column:16},end:{line:436,column:63}},"128":{start:{line:439,column:16},end:{line:439,column:73}},"129":{start:{line:443,column:8},end:{line:450,column:9}},"130":{start:{line:444,column:12},end:{line:449,column:13}},"131":{start:{line:445,column:16},end:{line:445,column:65}},"132":{start:{line:448,column:16},end:{line:448,column:75}},"133":{start:{line:452,column:13},end:{line:452,column:251}},"134":{start:{line:453,column:13},end:{line:453,column:558}},"135":{start:{line:456,column:0},end:{line:490,column:20}},"136":{start:{line:458,column:42},end:{line:460,column:45}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:23,column:4},end:{line:23,column:5}},loc:{start:{line:23,column:38},end:{line:115,column:5}},line:23},"1":{name:"(anonymous_1)",decl:{start:{line:106,column:31},end:{line:106,column:32}},loc:{start:{line:106,column:37},end:{line:106,column:40}},line:106},"2":{name:"(anonymous_2)",decl:{start:{line:110,column:30},end:{line:110,column:31}},loc:{start:{line:110,column:36},end:{line:110,column:39}},line:110},"3":{name:"(anonymous_3)",decl:{start:{line:121,column:4},end:{line:121,column:5}},loc:{start:{line:121,column:34},end:{line:128,column:5}},line:121},"4":{name:"(anonymous_4)",decl:{start:{line:132,column:4},end:{line:132,column:5}},loc:{start:{line:132,column:17},end:{line:135,column:5}},line:132},"5":{name:"(anonymous_5)",decl:{start:{line:140,column:4},end:{line:140,column:5}},loc:{start:{line:140,column:17},end:{line:146,column:5}},line:140},"6":{name:"(anonymous_6)",decl:{start:{line:150,column:4},end:{line:150,column:5}},loc:{start:{line:150,column:16},end:{line:155,column:5}},line:150},"7":{name:"(anonymous_7)",decl:{start:{line:156,column:4},end:{line:156,column:5}},loc:{start:{line:156,column:29},end:{line:158,column:5}},line:156},"8":{name:"(anonymous_8)",decl:{start:{line:162,column:4},end:{line:162,column:5}},loc:{start:{line:162,column:18},end:{line:166,column:5}},line:162},"9":{name:"(anonymous_9)",decl:{start:{line:170,column:4},end:{line:170,column:5}},loc:{start:{line:170,column:21},end:{line:172,column:5}},line:170},"10":{name:"(anonymous_10)",decl:{start:{line:176,column:4},end:{line:176,column:5}},loc:{start:{line:176,column:31},end:{line:183,column:5}},line:176},"11":{name:"(anonymous_11)",decl:{start:{line:187,column:4},end:{line:187,column:5}},loc:{start:{line:187,column:16},end:{line:189,column:5}},line:187},"12":{name:"(anonymous_12)",decl:{start:{line:193,column:4},end:{line:193,column:5}},loc:{start:{line:193,column:21},end:{line:202,column:5}},line:193},"13":{name:"(anonymous_13)",decl:{start:{line:206,column:4},end:{line:206,column:5}},loc:{start:{line:206,column:18},end:{line:211,column:5}},line:206},"14":{name:"(anonymous_14)",decl:{start:{line:215,column:4},end:{line:215,column:5}},loc:{start:{line:215,column:16},end:{line:217,column:5}},line:215},"15":{name:"(anonymous_15)",decl:{start:{line:223,column:4},end:{line:223,column:5}},loc:{start:{line:223,column:22},end:{line:254,column:5}},line:223},"16":{name:"(anonymous_16)",decl:{start:{line:225,column:34},end:{line:225,column:35}},loc:{start:{line:225,column:48},end:{line:228,column:13}},line:225},"17":{name:"(anonymous_17)",decl:{start:{line:232,column:34},end:{line:232,column:35}},loc:{start:{line:232,column:48},end:{line:235,column:13}},line:232},"18":{name:"(anonymous_18)",decl:{start:{line:239,column:34},end:{line:239,column:35}},loc:{start:{line:239,column:48},end:{line:242,column:13}},line:239},"19":{name:"(anonymous_19)",decl:{start:{line:248,column:41},end:{line:248,column:42}},loc:{start:{line:248,column:51},end:{line:250,column:13}},line:248},"20":{name:"(anonymous_20)",decl:{start:{line:258,column:4},end:{line:258,column:5}},loc:{start:{line:258,column:15},end:{line:278,column:5}},line:258},"21":{name:"(anonymous_21)",decl:{start:{line:282,column:4},end:{line:282,column:5}},loc:{start:{line:282,column:14},end:{line:285,column:5}},line:282},"22":{name:"(anonymous_22)",decl:{start:{line:290,column:4},end:{line:290,column:5}},loc:{start:{line:290,column:25},end:{line:292,column:5}},line:290},"23":{name:"(anonymous_23)",decl:{start:{line:291,column:31},end:{line:291,column:32}},loc:{start:{line:291,column:40},end:{line:291,column:47}},line:291},"24":{name:"(anonymous_24)",decl:{start:{line:296,column:4},end:{line:296,column:5}},loc:{start:{line:296,column:26},end:{line:298,column:5}},line:296},"25":{name:"(anonymous_25)",decl:{start:{line:297,column:30},end:{line:297,column:31}},loc:{start:{line:297,column:39},end:{line:297,column:46}},line:297},"26":{name:"(anonymous_26)",decl:{start:{line:302,column:4},end:{line:302,column:5}},loc:{start:{line:302,column:34},end:{line:304,column:5}},line:302},"27":{name:"(anonymous_27)",decl:{start:{line:308,column:4},end:{line:308,column:5}},loc:{start:{line:308,column:33},end:{line:310,column:5}},line:308},"28":{name:"(anonymous_28)",decl:{start:{line:314,column:4},end:{line:314,column:5}},loc:{start:{line:314,column:16},end:{line:316,column:5}},line:314},"29":{name:"(anonymous_29)",decl:{start:{line:320,column:4},end:{line:320,column:5}},loc:{start:{line:320,column:16},end:{line:323,column:5}},line:320},"30":{name:"(anonymous_30)",decl:{start:{line:327,column:4},end:{line:327,column:5}},loc:{start:{line:327,column:22},end:{line:329,column:5}},line:327},"31":{name:"(anonymous_31)",decl:{start:{line:337,column:4},end:{line:337,column:5}},loc:{start:{line:337,column:29},end:{line:339,column:5}},line:337},"32":{name:"(anonymous_32)",decl:{start:{line:343,column:4},end:{line:343,column:5}},loc:{start:{line:343,column:23},end:{line:345,column:5}},line:343},"33":{name:"(anonymous_33)",decl:{start:{line:349,column:4},end:{line:349,column:5}},loc:{start:{line:349,column:18},end:{line:349,column:21}},line:349},"34":{name:"(anonymous_34)",decl:{start:{line:353,column:4},end:{line:353,column:5}},loc:{start:{line:353,column:29},end:{line:357,column:5}},line:353},"35":{name:"(anonymous_35)",decl:{start:{line:360,column:4},end:{line:360,column:5}},loc:{start:{line:360,column:27},end:{line:365,column:5}},line:360},"36":{name:"(anonymous_36)",decl:{start:{line:369,column:4},end:{line:369,column:5}},loc:{start:{line:369,column:25},end:{line:379,column:5}},line:369},"37":{name:"(anonymous_37)",decl:{start:{line:383,column:4},end:{line:383,column:5}},loc:{start:{line:383,column:25},end:{line:392,column:5}},line:383},"38":{name:"(anonymous_38)",decl:{start:{line:396,column:4},end:{line:396,column:5}},loc:{start:{line:396,column:20},end:{line:451,column:5}},line:396},"39":{name:"(anonymous_39)",decl:{start:{line:458,column:28},end:{line:458,column:29}},loc:{start:{line:458,column:40},end:{line:460,column:47}},line:458}},branchMap:{"0":{loc:{start:{line:122,column:8},end:{line:127,column:9}},type:"if",locations:[{start:{line:122,column:8},end:{line:127,column:9}},{start:{line:122,column:8},end:{line:127,column:9}}],line:122},"1":{loc:{start:{line:122,column:12},end:{line:122,column:49}},type:"binary-expr",locations:[{start:{line:122,column:12},end:{line:122,column:26}},{start:{line:122,column:30},end:{line:122,column:49}}],line:122},"2":{loc:{start:{line:141,column:8},end:{line:143,column:9}},type:"if",locations:[{start:{line:141,column:8},end:{line:143,column:9}},{start:{line:141,column:8},end:{line:143,column:9}}],line:141},"3":{loc:{start:{line:151,column:8},end:{line:153,column:9}},type:"if",locations:[{start:{line:151,column:8},end:{line:153,column:9}},{start:{line:151,column:8},end:{line:153,column:9}}],line:151},"4":{loc:{start:{line:163,column:16},end:{line:165,column:34}},type:"binary-expr",locations:[{start:{line:163,column:16},end:{line:163,column:44}},{start:{line:164,column:12},end:{line:164,column:35}},{start:{line:165,column:12},end:{line:165,column:34}}],line:163},"5":{loc:{start:{line:171,column:15},end:{line:171,column:50}},type:"binary-expr",locations:[{start:{line:171,column:15},end:{line:171,column:33}},{start:{line:171,column:37},end:{line:171,column:50}}],line:171},"6":{loc:{start:{line:177,column:8},end:{line:180,column:9}},type:"if",locations:[{start:{line:177,column:8},end:{line:180,column:9}},{start:{line:177,column:8},end:{line:180,column:9}}],line:177},"7":{loc:{start:{line:177,column:12},end:{line:178,column:63}},type:"binary-expr",locations:[{start:{line:177,column:12},end:{line:177,column:58}},{start:{line:178,column:12},end:{line:178,column:63}}],line:177},"8":{loc:{start:{line:181,column:16},end:{line:182,column:46}},type:"binary-expr",locations:[{start:{line:181,column:16},end:{line:181,column:62}},{start:{line:182,column:12},end:{line:182,column:46}}],line:181},"9":{loc:{start:{line:207,column:8},end:{line:209,column:9}},type:"if",locations:[{start:{line:207,column:8},end:{line:209,column:9}},{start:{line:207,column:8},end:{line:209,column:9}}],line:207},"10":{loc:{start:{line:224,column:8},end:{line:229,column:9}},type:"if",locations:[{start:{line:224,column:8},end:{line:229,column:9}},{start:{line:224,column:8},end:{line:229,column:9}}],line:224},"11":{loc:{start:{line:224,column:12},end:{line:224,column:81}},type:"binary-expr",locations:[{start:{line:224,column:12},end:{line:224,column:47}},{start:{line:224,column:51},end:{line:224,column:81}}],line:224},"12":{loc:{start:{line:231,column:8},end:{line:236,column:9}},type:"if",locations:[{start:{line:231,column:8},end:{line:236,column:9}},{start:{line:231,column:8},end:{line:236,column:9}}],line:231},"13":{loc:{start:{line:238,column:8},end:{line:243,column:9}},type:"if",locations:[{start:{line:238,column:8},end:{line:243,column:9}},{start:{line:238,column:8},end:{line:243,column:9}}],line:238},"14":{loc:{start:{line:247,column:8},end:{line:251,column:9}},type:"if",locations:[{start:{line:247,column:8},end:{line:251,column:9}},{start:{line:247,column:8},end:{line:251,column:9}}],line:247},"15":{loc:{start:{line:247,column:12},end:{line:247,column:79}},type:"binary-expr",locations:[{start:{line:247,column:12},end:{line:247,column:41}},{start:{line:247,column:45},end:{line:247,column:79}}],line:247},"16":{loc:{start:{line:261,column:8},end:{line:269,column:9}},type:"if",locations:[{start:{line:261,column:8},end:{line:269,column:9}},{start:{line:261,column:8},end:{line:269,column:9}}],line:261},"17":{loc:{start:{line:266,column:12},end:{line:268,column:13}},type:"if",locations:[{start:{line:266,column:12},end:{line:268,column:13}},{start:{line:266,column:12},end:{line:268,column:13}}],line:266},"18":{loc:{start:{line:354,column:8},end:{line:356,column:9}},type:"if",locations:[{start:{line:354,column:8},end:{line:356,column:9}},{start:{line:354,column:8},end:{line:356,column:9}}],line:354},"19":{loc:{start:{line:362,column:8},end:{line:364,column:9}},type:"if",locations:[{start:{line:362,column:8},end:{line:364,column:9}},{start:{line:362,column:8},end:{line:364,column:9}}],line:362},"20":{loc:{start:{line:371,column:8},end:{line:378,column:9}},type:"if",locations:[{start:{line:371,column:8},end:{line:378,column:9}},{start:{line:371,column:8},end:{line:378,column:9}}],line:371},"21":{loc:{start:{line:372,column:12},end:{line:377,column:13}},type:"if",locations:[{start:{line:372,column:12},end:{line:377,column:13}},{start:{line:372,column:12},end:{line:377,column:13}}],line:372},"22":{loc:{start:{line:384,column:8},end:{line:391,column:9}},type:"if",locations:[{start:{line:384,column:8},end:{line:391,column:9}},{start:{line:384,column:8},end:{line:391,column:9}}],line:384},"23":{loc:{start:{line:385,column:12},end:{line:390,column:13}},type:"if",locations:[{start:{line:385,column:12},end:{line:390,column:13}},{start:{line:385,column:12},end:{line:390,column:13}}],line:385},"24":{loc:{start:{line:398,column:8},end:{line:405,column:9}},type:"if",locations:[{start:{line:398,column:8},end:{line:405,column:9}},{start:{line:398,column:8},end:{line:405,column:9}}],line:398},"25":{loc:{start:{line:399,column:12},end:{line:404,column:13}},type:"if",locations:[{start:{line:399,column:12},end:{line:404,column:13}},{start:{line:399,column:12},end:{line:404,column:13}}],line:399},"26":{loc:{start:{line:407,column:8},end:{line:414,column:9}},type:"if",locations:[{start:{line:407,column:8},end:{line:414,column:9}},{start:{line:407,column:8},end:{line:414,column:9}}],line:407},"27":{loc:{start:{line:408,column:12},end:{line:413,column:13}},type:"if",locations:[{start:{line:408,column:12},end:{line:413,column:13}},{start:{line:408,column:12},end:{line:413,column:13}}],line:408},"28":{loc:{start:{line:416,column:8},end:{line:423,column:9}},type:"if",locations:[{start:{line:416,column:8},end:{line:423,column:9}},{start:{line:416,column:8},end:{line:423,column:9}}],line:416},"29":{loc:{start:{line:417,column:12},end:{line:422,column:13}},type:"if",locations:[{start:{line:417,column:12},end:{line:422,column:13}},{start:{line:417,column:12},end:{line:422,column:13}}],line:417},"30":{loc:{start:{line:425,column:8},end:{line:432,column:9}},type:"if",locations:[{start:{line:425,column:8},end:{line:432,column:9}},{start:{line:425,column:8},end:{line:432,column:9}}],line:425},"31":{loc:{start:{line:426,column:12},end:{line:431,column:13}},type:"if",locations:[{start:{line:426,column:12},end:{line:431,column:13}},{start:{line:426,column:12},end:{line:431,column:13}}],line:426},"32":{loc:{start:{line:434,column:8},end:{line:441,column:9}},type:"if",locations:[{start:{line:434,column:8},end:{line:441,column:9}},{start:{line:434,column:8},end:{line:441,column:9}}],line:434},"33":{loc:{start:{line:435,column:12},end:{line:440,column:13}},type:"if",locations:[{start:{line:435,column:12},end:{line:440,column:13}},{start:{line:435,column:12},end:{line:440,column:13}}],line:435},"34":{loc:{start:{line:443,column:8},end:{line:450,column:9}},type:"if",locations:[{start:{line:443,column:8},end:{line:450,column:9}},{start:{line:443,column:8},end:{line:450,column:9}}],line:443},"35":{loc:{start:{line:444,column:12},end:{line:449,column:13}},type:"if",locations:[{start:{line:444,column:12},end:{line:449,column:13}},{start:{line:444,column:12},end:{line:449,column:13}}],line:444}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},inputSourceMap:{version:3,file:"basemodelcontrol.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/common/basemodelcontrol.ts"],names:[],mappings:"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",sourcesContent:["import { Directive, Host, Injector, Input, OnInit } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n FormControlName,\r\n FormGroupDirective,\r\n NgControl,\r\n UntypedFormControl,\r\n ValidationErrors,\r\n Validator,\r\n} from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { SacFormLayoutCommon } from '../controls/layout/formlayout';\r\nimport { ControlHeight } from '../enums/ControlHeight';\r\nimport { ISacConfigurationService } from '../interfaces/ISacConfigurationService';\r\nimport { ISacLabelSizes } from '../interfaces/ISacLabelSizes';\r\nimport { ISacLocalisationService } from '../interfaces/ISacLocalisationService';\r\nimport { ISacValidationKeyService } from '../interfaces/ISacValidationKeyService';\r\nimport { IAbstractControlLabelExtension } from '../interfaces/iabstractcontrollabel';\r\nimport {\r\n SACVALIDATIONKEY_SERVICE,\r\n SacDefaultValidationKeyService,\r\n} from '../services';\r\nimport {\r\n SACCONFIGURATION_SERVICE,\r\n SacDefaultConfigurationService,\r\n} from '../services/sac-configuration.service';\r\nimport {\r\n SACLOCALISATION_SERVICE,\r\n SacDefaultLocalisationService,\r\n} from '../services/sac-localisation.service';\r\nimport { convertToBoolean } from '../utilities/convertion';\r\nimport { createGuid } from '../utilities/guid';\r\nimport { ValidationErrorItem } from '../validation';\r\n/**\r\n * Abstract Klasse f\xFCr SacBaseModelControl. Implements ControlValueAccessor, Validator, OnInit\r\n */\r\n@Directive()\r\nexport abstract class SacBaseModelControl<VALUE>\r\n implements ControlValueAccessor, Validator, OnInit\r\n{\r\n // #region Properties\r\n\r\n /**\r\n * Inline Errors f\xFCr das Control\r\n */\r\n private _inlineerrorenabled: boolean | null = null;\r\n private _label: string = '';\r\n\r\n /**\r\n * Service for loading default settings for the controls\r\n */\r\n protected readonly configurationService: ISacConfigurationService;\r\n\r\n /**\r\n * Boolean Property dirty; default Wert - false\r\n */\r\n protected _dirty: boolean = false;\r\n /**\r\n * SacModel Form ist disabled\r\n */\r\n protected _disabledForm: boolean = false;\r\n /**\r\n * Validator\r\n */\r\n protected _onChange: () => void;\r\n /**\r\n * Boolean Property touched; default Wert - false\r\n */\r\n protected _touched: boolean = false;\r\n /**\r\n * Interne Variable, die den Wert des Controls h\xE4lt\r\n */\r\n protected _value: VALUE = null;\r\n /**\r\n * Form layout instance if exists\r\n */\r\n protected formlayout: SacFormLayoutCommon = null;\r\n /**\r\n * Service f\xFCr Error Localisation\r\n */\r\n protected lngResourceService: ISacLocalisationService;\r\n /**\r\n * ngControl\r\n */\r\n protected ngControl: UntypedFormControl;\r\n\r\n /**\r\n * Defines the standard height of the components\r\n */\r\n @Input()\r\n public componentHeight: ControlHeight | null = null;\r\n /**\r\n * Deaktiviert das Input Control\r\n */\r\n @Input() public disabled: boolean = false;\r\n /**\r\n * Deaktiviert das Label im Template\r\n */\r\n @Input() public disablelabel: boolean = false;\r\n /**\r\n * defines that error messages are displayed under the controls\r\n */\r\n @Input() public inlineError: boolean = true;\r\n /**\r\n * defines that the labels are displayed as adaptive labels\r\n */\r\n @Input() public isAdaptiveLabel: boolean = false;\r\n /**\r\n * default labe size for large devices\r\n */\r\n @Input()\r\n public labelSizeLg: number | null = null;\r\n /**\r\n * default label size for medium devices\r\n */\r\n @Input()\r\n public labelSizeMd: number | null = null;\r\n /**\r\n * default label size for small devices\r\n */\r\n @Input()\r\n public labelSizeSm: number | null = null;\r\n /**\r\n * default label size for extra large devices\r\n */\r\n @Input()\r\n public labelSizeXl: number | null = null;\r\n /**\r\n * default label column size\r\n */\r\n @Input()\r\n public labelSizeXs: number | null = null;\r\n /**\r\n * default label size for extra extra large devices\r\n */\r\n @Input()\r\n public labelSizeXxl: number | null = null;\r\n /**\r\n * Name des Controls\r\n */\r\n @Input() public name: string = createGuid();\r\n\r\n /**\r\n * ControlHeight enum for use in HTML markup\r\n */\r\n public ControlHeight: typeof ControlHeight = ControlHeight;\r\n /**\r\n * Leere Implementation von \"propagateChange\". Muss gemacht werden, damit kein Fehler entsteht\r\n */\r\n public propagateChange: any = () => {};\r\n /**\r\n * Leere Implementation von \"propagateTouch\". Muss gemacht werden, damit kein Fehler entsteht\r\n */\r\n public propagateTouch: any = () => {};\r\n /**\r\n * Service to receive standard validation message keys and texts\r\n */\r\n public validationKeyService: ISacValidationKeyService;\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Constructor\r\n * @param formlayout SacFormLayoutCommon to define scoped layout settings\r\n * @param injector Injector for injecting services\r\n */\r\n constructor(\r\n @Host() formlayout: SacFormLayoutCommon,\r\n private injector: Injector\r\n ) {\r\n this.formlayout = formlayout;\r\n this.validationKeyService = injector.get(\r\n SACVALIDATIONKEY_SERVICE,\r\n new SacDefaultValidationKeyService()\r\n );\r\n this.lngResourceService = injector.get(\r\n SACLOCALISATION_SERVICE,\r\n new SacDefaultLocalisationService(this.validationKeyService)\r\n );\r\n\r\n this.configurationService = injector.get(\r\n SACCONFIGURATION_SERVICE,\r\n new SacDefaultConfigurationService()\r\n );\r\n }\r\n\r\n // #endregion Constructors\r\n\r\n // #region Public Getters And Setters\r\n\r\n /**\r\n * Aktiviert oder Deaktiviert die Inline Errors f\xFCr das Control\r\n */\r\n @Input()\r\n public set inlineerrorenabled(value: boolean | null) {\r\n if (value === null || value === undefined) {\r\n this._inlineerrorenabled = null;\r\n } else {\r\n this._inlineerrorenabled = convertToBoolean(value);\r\n }\r\n }\r\n\r\n /**\r\n * Definiert den Label Text\r\n */\r\n @Input() public set label(v: string) {\r\n this._label = v;\r\n this.UpdateLabelToControl();\r\n }\r\n\r\n /**\r\n * Set Methode f\xFCr NgModel Binding in Html Markup\r\n * Input wird ben\xF6tigt, damit der Wert auch \xFCber das Markup gesetzt werden kann.\r\n */\r\n @Input()\r\n public set value(v: VALUE) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n this._value = this.ConvertInputValue(v);\r\n this.propagateChange(this._value);\r\n }\r\n\r\n /**\r\n * Methode ergibt Boolean Wert f\xFCr dirty\r\n */\r\n public get dirty(): boolean {\r\n if (this.ngControl !== null) {\r\n this._dirty = this.ngControl.dirty;\r\n }\r\n\r\n return this._dirty;\r\n }\r\n\r\n public get inlineerrorenabled(): boolean | null {\r\n return this._inlineerrorenabled;\r\n }\r\n\r\n /**\r\n * Methode ergibt boolean Wert wenn Form invalid oder nicht invalid ist\r\n */\r\n public get invalid(): boolean {\r\n return (\r\n this.ngControl !== undefined &&\r\n this.ngControl !== null &&\r\n this.ngControl.invalid\r\n );\r\n }\r\n\r\n /**\r\n * Definiert ob das Control disabled ist\r\n */\r\n public get isdisabled(): boolean {\r\n return this._disabledForm || this.disabled;\r\n }\r\n\r\n /**\r\n * Returns whether the inline error messages are active for this control.\r\n */\r\n public get isinlineerrorenabled(): boolean {\r\n if (\r\n this.formlayout?.IsInlineErrorEnabled === null ||\r\n this.formlayout?.IsInlineErrorEnabled === undefined\r\n ) {\r\n return this._inlineerrorenabled;\r\n }\r\n\r\n return (\r\n this.formlayout.IsInlineErrorEnabled !== false &&\r\n this._inlineerrorenabled !== false\r\n );\r\n }\r\n\r\n /**\r\n * Definiert den Label Text\r\n */\r\n public get label(): string {\r\n return this._label;\r\n }\r\n\r\n /**\r\n * returns an object with all label sizes. These values can then be transferred to corresponding CSS classes using a pipe\r\n */\r\n public get labelSizes(): ISacLabelSizes {\r\n return {\r\n labelSizeSm: this.labelSizeSm,\r\n labelSizeMd: this.labelSizeMd,\r\n labelSizeXs: this.labelSizeXs,\r\n labelSizeXl: this.labelSizeXl,\r\n labelSizeXxl: this.labelSizeXxl,\r\n labelSizeLg: this.labelSizeLg,\r\n };\r\n }\r\n\r\n /**\r\n * Methode ergibt Boolean Wert f\xFCr touched\r\n */\r\n public get touched(): boolean {\r\n if (this.ngControl !== null) {\r\n this._touched = this.ngControl.touched;\r\n }\r\n\r\n return this._touched;\r\n }\r\n\r\n /**\r\n * Get Methode f\xFCr NgModel Binding in Html Markup\r\n */\r\n public get value(): VALUE {\r\n return this._value;\r\n }\r\n\r\n // #endregion Public Getters And Setters\r\n\r\n // #region Public Methods\r\n\r\n /**\r\n * Methode ergibt Error anhand von gegebenen Kriterien\r\n */\r\n public GetErrorMessage(): Observable<string> {\r\n if (this.ngControl.errors === undefined || this.ngControl.errors === null) {\r\n return new Observable<string>((observer) => {\r\n observer.next('');\r\n observer.complete();\r\n });\r\n }\r\n\r\n const errors: ValidationErrors = this.ngControl.errors;\r\n\r\n if (errors.length === 0) {\r\n return new Observable<string>((observer) => {\r\n observer.next('');\r\n observer.complete();\r\n });\r\n }\r\n\r\n const keys: string[] = Object.keys(errors);\r\n\r\n if (keys.length <= 0) {\r\n return new Observable<string>((observer) => {\r\n observer.next('');\r\n observer.complete();\r\n });\r\n }\r\n\r\n const errorItem: ValidationErrorItem = errors[keys[0]];\r\n\r\n // Validation Parameters\r\n const parameters = {};\r\n if (errorItem.parameters !== null && errorItem.parameters !== undefined) {\r\n errorItem.parameters.forEach((v, k) => {\r\n parameters[k] = v;\r\n });\r\n }\r\n parameters['FIELD'] = errorItem.fieldName;\r\n\r\n return this.lngResourceService.GetString(\r\n errorItem.errorMessageKey,\r\n parameters\r\n );\r\n }\r\n\r\n /**\r\n * Init Event\r\n */\r\n public ngOnInit() {\r\n // receive form via formcontrolname or formcontrol instance\r\n const formControl = this.injector.get(NgControl, null);\r\n if (formControl instanceof FormControlName) {\r\n const form = this.injector.get(FormGroupDirective, null);\r\n this.ngControl = form.getControl(formControl);\r\n } else {\r\n if (formControl) {\r\n this.ngControl = formControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n this.UpdateLabelToControl();\r\n\r\n // set label sizes from formlayout directive\r\n this.setLabelSizes();\r\n\r\n // set component heigth from fromlayout directive\r\n this.setComponentHeight();\r\n\r\n // set adaptive label property from formlayout directive\r\n this.setIsAdaptiveLabel();\r\n\r\n this.OnClassInit();\r\n }\r\n\r\n /**\r\n * Methode ergibt boolean touched = true\r\n */\r\n public onTouch(): void {\r\n this._touched = true;\r\n this.propagateTouch();\r\n }\r\n\r\n /**\r\n * Methode, damit andere Controls \xE4nderungen im Control mitbekommen k\xF6nnen\r\n * Zur \xC4nderungsinfo die Methode propagateChange aufrufen.\r\n */\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = (obj) => fn(obj);\r\n }\r\n\r\n /**\r\n * Methode, damit andere Controls \xE4nderungen mitbekommen, wenn das Control aktiviert (Focus) wird.\r\n */\r\n public registerOnTouched(fn: any): void {\r\n this.propagateTouch = (obj) => fn(obj);\r\n }\r\n\r\n /**\r\n * Methode registriert \xC4nderungen bei der Validierung\r\n */\r\n public registerOnValidatorChange(fn: () => void): void {\r\n this._onChange = fn;\r\n }\r\n\r\n /**\r\n * Setzt das Control auf Disabled\r\n */\r\n public setDisabledState(isDisabled: boolean): void {\r\n this._disabledForm = isDisabled;\r\n }\r\n\r\n /**\r\n * Methode die den Wert des Inputs setzt\r\n */\r\n public setValue(v: VALUE): void {\r\n this.value = v;\r\n }\r\n\r\n /**\r\n * Validator Methode\r\n */\r\n public validate(c: AbstractControl): ValidationErrors | null {\r\n const error: ValidationErrors | null = this.validateData(c);\r\n return error;\r\n }\r\n\r\n /**\r\n * Methode zum schreiben von Werten aus dem Model in das Control\r\n */\r\n public writeValue(value: VALUE) {\r\n this._value = value;\r\n }\r\n\r\n // #endregion Public Methods\r\n\r\n // #region Public Abstract Methods\r\n\r\n /**\r\n * Abstrakte Validator Methode\r\n */\r\n public abstract validateData(c: AbstractControl): ValidationErrors | null;\r\n\r\n // #endregion Public Abstract Methods\r\n\r\n // #region Protected Methods\r\n\r\n /**\r\n * Method can Overwriten in Parent Classes\r\n * @param value Wert welcher in den korrekten Typ konvertiert werden soll\r\n * @returns Wert im korrekten Typ\r\n */\r\n protected ConvertInputValue(value: VALUE): VALUE {\r\n return value;\r\n }\r\n\r\n /**\r\n * Methode ergibt Decimal Symbol\r\n */\r\n protected GetDecimalSymbol(): string {\r\n return '.';\r\n }\r\n\r\n /**\r\n * Method can be used to Set Properties at Class Init\r\n */\r\n protected OnClassInit(): void {}\r\n\r\n /**\r\n * Aktualisiert den NgModel Wert und die G\xFCltigkeit des Validators des Controls\r\n */\r\n protected UpdateValueAndValidity(): void {\r\n if (this.ngControl) {\r\n this.ngControl.updateValueAndValidity({ onlySelf: true });\r\n }\r\n }\r\n\r\n // #endregion Protected Methods\r\n\r\n // #region Private Methods\r\n\r\n private UpdateLabelToControl(): void {\r\n // HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686\r\n if (this.ngControl) {\r\n (\r\n this.ngControl as unknown as IAbstractControlLabelExtension\r\n ).controllabel = this.label;\r\n }\r\n }\r\n\r\n /**\r\n * Set component height from property or parent layout control\r\n */\r\n private setComponentHeight() {\r\n // set size extra small\r\n if (!this.componentHeight) {\r\n if (this.formlayout?.componentHeight) {\r\n this.componentHeight = this.formlayout.componentHeight;\r\n } else {\r\n this.componentHeight = this.configurationService.ComponentHeight;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Set adaptive label property from parent layout control\r\n */\r\n private setIsAdaptiveLabel() {\r\n if (!this.isAdaptiveLabel) {\r\n if (this.formlayout?.isAdaptiveLabel !== undefined) {\r\n this.isAdaptiveLabel = this.formlayout.isAdaptiveLabel;\r\n } else {\r\n this.isAdaptiveLabel = false;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Set label sizes from property or parent layout control\r\n */\r\n private setLabelSizes() {\r\n // set size extra small\r\n if (!this.labelSizeXs) {\r\n if (this.formlayout?.labelSizeXs) {\r\n this.labelSizeXs = this.formlayout.labelSizeXs;\r\n } else {\r\n this.labelSizeXs = this.configurationService.LabelSizeXs;\r\n }\r\n }\r\n\r\n // set size small\r\n if (!this.labelSizeSm) {\r\n if (this.formlayout?.labelSizeSm) {\r\n this.labelSizeSm = this.formlayout.labelSizeSm;\r\n } else {\r\n this.labelSizeSm = this.configurationService.LabelSizeSm;\r\n }\r\n }\r\n\r\n // set size medium\r\n if (!this.labelSizeMd) {\r\n if (this.formlayout?.labelSizeMd) {\r\n this.labelSizeMd = this.formlayout.labelSizeMd;\r\n } else {\r\n this.labelSizeMd = this.configurationService.LabelSizeMd;\r\n }\r\n }\r\n\r\n // set size large\r\n if (!this.labelSizeLg) {\r\n if (this.formlayout?.labelSizeLg) {\r\n this.labelSizeLg = this.formlayout.labelSizeLg;\r\n } else {\r\n this.labelSizeLg = this.configurationService.LabelSizeLg;\r\n }\r\n }\r\n\r\n // set size extra large\r\n if (!this.labelSizeXl) {\r\n if (this.formlayout?.labelSizeXl) {\r\n this.labelSizeXl = this.formlayout.labelSizeXl;\r\n } else {\r\n this.labelSizeXl = this.configurationService.LabelSizeXl;\r\n }\r\n }\r\n\r\n // set size extra extra large\r\n if (!this.labelSizeXxl) {\r\n if (this.formlayout?.labelSizeXxl) {\r\n this.labelSizeXxl = this.formlayout.labelSizeXxl;\r\n } else {\r\n this.labelSizeXxl = this.configurationService.LabelSizeXxl;\r\n }\r\n }\r\n }\r\n\r\n // #endregion Private Methods\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6c4a1713967e6dde508d40494de4ffece6dcc29e"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
1
|
+
function cov_syqygw8jm(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\common\\basemodelcontrol.mjs";var hash="a4f6d76521804039981bfe062d1bbac92cf5b269";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\common\\basemodelcontrol.mjs",statementMap:{"0":{start:{line:24,column:8},end:{line:24,column:33}},"1":{start:{line:29,column:8},end:{line:29,column:40}},"2":{start:{line:30,column:8},end:{line:30,column:25}},"3":{start:{line:34,column:8},end:{line:34,column:28}},"4":{start:{line:38,column:8},end:{line:38,column:35}},"5":{start:{line:42,column:8},end:{line:42,column:30}},"6":{start:{line:46,column:8},end:{line:46,column:27}},"7":{start:{line:50,column:8},end:{line:50,column:31}},"8":{start:{line:54,column:8},end:{line:54,column:36}},"9":{start:{line:58,column:8},end:{line:58,column:30}},"10":{start:{line:62,column:8},end:{line:62,column:34}},"11":{start:{line:66,column:8},end:{line:66,column:32}},"12":{start:{line:70,column:8},end:{line:70,column:37}},"13":{start:{line:74,column:8},end:{line:74,column:32}},"14":{start:{line:78,column:8},end:{line:78,column:32}},"15":{start:{line:82,column:8},end:{line:82,column:32}},"16":{start:{line:86,column:8},end:{line:86,column:32}},"17":{start:{line:90,column:8},end:{line:90,column:32}},"18":{start:{line:94,column:8},end:{line:94,column:33}},"19":{start:{line:98,column:8},end:{line:98,column:33}},"20":{start:{line:102,column:8},end:{line:102,column:43}},"21":{start:{line:106,column:8},end:{line:106,column:41}},"22":{start:{line:110,column:8},end:{line:110,column:40}},"23":{start:{line:111,column:8},end:{line:111,column:37}},"24":{start:{line:112,column:8},end:{line:112,column:113}},"25":{start:{line:113,column:8},end:{line:113,column:134}},"26":{start:{line:114,column:8},end:{line:114,column:113}},"27":{start:{line:122,column:8},end:{line:127,column:9}},"28":{start:{line:123,column:12},end:{line:123,column:44}},"29":{start:{line:126,column:12},end:{line:126,column:63}},"30":{start:{line:133,column:8},end:{line:133,column:24}},"31":{start:{line:134,column:8},end:{line:134,column:36}},"32":{start:{line:141,column:8},end:{line:143,column:9}},"33":{start:{line:142,column:12},end:{line:142,column:19}},"34":{start:{line:144,column:8},end:{line:144,column:48}},"35":{start:{line:145,column:8},end:{line:145,column:42}},"36":{start:{line:151,column:8},end:{line:153,column:9}},"37":{start:{line:152,column:12},end:{line:152,column:47}},"38":{start:{line:154,column:8},end:{line:154,column:27}},"39":{start:{line:157,column:8},end:{line:157,column:40}},"40":{start:{line:163,column:8},end:{line:165,column:36}},"41":{start:{line:171,column:8},end:{line:171,column:51}},"42":{start:{line:177,column:8},end:{line:179,column:9}},"43":{start:{line:178,column:12},end:{line:178,column:44}},"44":{start:{line:180,column:8},end:{line:183,column:9}},"45":{start:{line:182,column:12},end:{line:182,column:57}},"46":{start:{line:184,column:8},end:{line:186,column:9}},"47":{start:{line:185,column:12},end:{line:185,column:64}},"48":{start:{line:187,column:8},end:{line:187,column:20}},"49":{start:{line:193,column:8},end:{line:193,column:27}},"50":{start:{line:199,column:8},end:{line:206,column:10}},"51":{start:{line:212,column:8},end:{line:214,column:9}},"52":{start:{line:213,column:12},end:{line:213,column:51}},"53":{start:{line:215,column:8},end:{line:215,column:29}},"54":{start:{line:221,column:8},end:{line:221,column:27}},"55":{start:{line:229,column:8},end:{line:234,column:9}},"56":{start:{line:230,column:12},end:{line:233,column:15}},"57":{start:{line:231,column:16},end:{line:231,column:34}},"58":{start:{line:232,column:16},end:{line:232,column:36}},"59":{start:{line:235,column:23},end:{line:235,column:44}},"60":{start:{line:236,column:8},end:{line:241,column:9}},"61":{start:{line:237,column:12},end:{line:240,column:15}},"62":{start:{line:238,column:16},end:{line:238,column:34}},"63":{start:{line:239,column:16},end:{line:239,column:36}},"64":{start:{line:242,column:21},end:{line:242,column:40}},"65":{start:{line:243,column:8},end:{line:248,column:9}},"66":{start:{line:244,column:12},end:{line:247,column:15}},"67":{start:{line:245,column:16},end:{line:245,column:34}},"68":{start:{line:246,column:16},end:{line:246,column:36}},"69":{start:{line:249,column:26},end:{line:249,column:41}},"70":{start:{line:251,column:27},end:{line:251,column:29}},"71":{start:{line:252,column:8},end:{line:256,column:9}},"72":{start:{line:253,column:12},end:{line:255,column:15}},"73":{start:{line:254,column:16},end:{line:254,column:34}},"74":{start:{line:257,column:8},end:{line:257,column:50}},"75":{start:{line:258,column:8},end:{line:258,column:88}},"76":{start:{line:265,column:28},end:{line:265,column:62}},"77":{start:{line:266,column:8},end:{line:274,column:9}},"78":{start:{line:267,column:25},end:{line:267,column:68}},"79":{start:{line:268,column:12},end:{line:268,column:58}},"80":{start:{line:271,column:12},end:{line:273,column:13}},"81":{start:{line:272,column:16},end:{line:272,column:53}},"82":{start:{line:275,column:8},end:{line:275,column:36}},"83":{start:{line:277,column:8},end:{line:277,column:29}},"84":{start:{line:279,column:8},end:{line:279,column:34}},"85":{start:{line:281,column:8},end:{line:281,column:34}},"86":{start:{line:282,column:8},end:{line:282,column:27}},"87":{start:{line:288,column:8},end:{line:288,column:29}},"88":{start:{line:289,column:8},end:{line:289,column:30}},"89":{start:{line:296,column:8},end:{line:296,column:48}},"90":{start:{line:296,column:40},end:{line:296,column:47}},"91":{start:{line:302,column:8},end:{line:302,column:47}},"92":{start:{line:302,column:39},end:{line:302,column:46}},"93":{start:{line:308,column:8},end:{line:308,column:28}},"94":{start:{line:314,column:8},end:{line:314,column:40}},"95":{start:{line:320,column:8},end:{line:320,column:23}},"96":{start:{line:326,column:22},end:{line:326,column:42}},"97":{start:{line:327,column:8},end:{line:327,column:21}},"98":{start:{line:333,column:8},end:{line:333,column:28}},"99":{start:{line:343,column:8},end:{line:343,column:21}},"100":{start:{line:349,column:8},end:{line:349,column:19}},"101":{start:{line:359,column:8},end:{line:361,column:9}},"102":{start:{line:360,column:12},end:{line:360,column:70}},"103":{start:{line:367,column:8},end:{line:369,column:9}},"104":{start:{line:368,column:12},end:{line:368,column:53}},"105":{start:{line:376,column:8},end:{line:383,column:9}},"106":{start:{line:377,column:12},end:{line:382,column:13}},"107":{start:{line:378,column:16},end:{line:378,column:71}},"108":{start:{line:381,column:16},end:{line:381,column:81}},"109":{start:{line:389,column:8},end:{line:396,column:9}},"110":{start:{line:390,column:12},end:{line:395,column:13}},"111":{start:{line:391,column:16},end:{line:391,column:71}},"112":{start:{line:394,column:16},end:{line:394,column:45}},"113":{start:{line:403,column:8},end:{line:410,column:9}},"114":{start:{line:404,column:12},end:{line:409,column:13}},"115":{start:{line:405,column:16},end:{line:405,column:63}},"116":{start:{line:408,column:16},end:{line:408,column:73}},"117":{start:{line:412,column:8},end:{line:419,column:9}},"118":{start:{line:413,column:12},end:{line:418,column:13}},"119":{start:{line:414,column:16},end:{line:414,column:63}},"120":{start:{line:417,column:16},end:{line:417,column:73}},"121":{start:{line:421,column:8},end:{line:428,column:9}},"122":{start:{line:422,column:12},end:{line:427,column:13}},"123":{start:{line:423,column:16},end:{line:423,column:63}},"124":{start:{line:426,column:16},end:{line:426,column:73}},"125":{start:{line:430,column:8},end:{line:437,column:9}},"126":{start:{line:431,column:12},end:{line:436,column:13}},"127":{start:{line:432,column:16},end:{line:432,column:63}},"128":{start:{line:435,column:16},end:{line:435,column:73}},"129":{start:{line:439,column:8},end:{line:446,column:9}},"130":{start:{line:440,column:12},end:{line:445,column:13}},"131":{start:{line:441,column:16},end:{line:441,column:63}},"132":{start:{line:444,column:16},end:{line:444,column:73}},"133":{start:{line:448,column:8},end:{line:455,column:9}},"134":{start:{line:449,column:12},end:{line:454,column:13}},"135":{start:{line:450,column:16},end:{line:450,column:65}},"136":{start:{line:453,column:16},end:{line:453,column:75}},"137":{start:{line:457,column:13},end:{line:457,column:251}},"138":{start:{line:458,column:13},end:{line:458,column:558}},"139":{start:{line:461,column:0},end:{line:495,column:20}},"140":{start:{line:463,column:42},end:{line:465,column:45}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:23,column:4},end:{line:23,column:5}},loc:{start:{line:23,column:38},end:{line:115,column:5}},line:23},"1":{name:"(anonymous_1)",decl:{start:{line:106,column:31},end:{line:106,column:32}},loc:{start:{line:106,column:37},end:{line:106,column:40}},line:106},"2":{name:"(anonymous_2)",decl:{start:{line:110,column:30},end:{line:110,column:31}},loc:{start:{line:110,column:36},end:{line:110,column:39}},line:110},"3":{name:"(anonymous_3)",decl:{start:{line:121,column:4},end:{line:121,column:5}},loc:{start:{line:121,column:34},end:{line:128,column:5}},line:121},"4":{name:"(anonymous_4)",decl:{start:{line:132,column:4},end:{line:132,column:5}},loc:{start:{line:132,column:17},end:{line:135,column:5}},line:132},"5":{name:"(anonymous_5)",decl:{start:{line:140,column:4},end:{line:140,column:5}},loc:{start:{line:140,column:17},end:{line:146,column:5}},line:140},"6":{name:"(anonymous_6)",decl:{start:{line:150,column:4},end:{line:150,column:5}},loc:{start:{line:150,column:16},end:{line:155,column:5}},line:150},"7":{name:"(anonymous_7)",decl:{start:{line:156,column:4},end:{line:156,column:5}},loc:{start:{line:156,column:29},end:{line:158,column:5}},line:156},"8":{name:"(anonymous_8)",decl:{start:{line:162,column:4},end:{line:162,column:5}},loc:{start:{line:162,column:18},end:{line:166,column:5}},line:162},"9":{name:"(anonymous_9)",decl:{start:{line:170,column:4},end:{line:170,column:5}},loc:{start:{line:170,column:21},end:{line:172,column:5}},line:170},"10":{name:"(anonymous_10)",decl:{start:{line:176,column:4},end:{line:176,column:5}},loc:{start:{line:176,column:31},end:{line:188,column:5}},line:176},"11":{name:"(anonymous_11)",decl:{start:{line:192,column:4},end:{line:192,column:5}},loc:{start:{line:192,column:16},end:{line:194,column:5}},line:192},"12":{name:"(anonymous_12)",decl:{start:{line:198,column:4},end:{line:198,column:5}},loc:{start:{line:198,column:21},end:{line:207,column:5}},line:198},"13":{name:"(anonymous_13)",decl:{start:{line:211,column:4},end:{line:211,column:5}},loc:{start:{line:211,column:18},end:{line:216,column:5}},line:211},"14":{name:"(anonymous_14)",decl:{start:{line:220,column:4},end:{line:220,column:5}},loc:{start:{line:220,column:16},end:{line:222,column:5}},line:220},"15":{name:"(anonymous_15)",decl:{start:{line:228,column:4},end:{line:228,column:5}},loc:{start:{line:228,column:22},end:{line:259,column:5}},line:228},"16":{name:"(anonymous_16)",decl:{start:{line:230,column:34},end:{line:230,column:35}},loc:{start:{line:230,column:48},end:{line:233,column:13}},line:230},"17":{name:"(anonymous_17)",decl:{start:{line:237,column:34},end:{line:237,column:35}},loc:{start:{line:237,column:48},end:{line:240,column:13}},line:237},"18":{name:"(anonymous_18)",decl:{start:{line:244,column:34},end:{line:244,column:35}},loc:{start:{line:244,column:48},end:{line:247,column:13}},line:244},"19":{name:"(anonymous_19)",decl:{start:{line:253,column:41},end:{line:253,column:42}},loc:{start:{line:253,column:51},end:{line:255,column:13}},line:253},"20":{name:"(anonymous_20)",decl:{start:{line:263,column:4},end:{line:263,column:5}},loc:{start:{line:263,column:15},end:{line:283,column:5}},line:263},"21":{name:"(anonymous_21)",decl:{start:{line:287,column:4},end:{line:287,column:5}},loc:{start:{line:287,column:14},end:{line:290,column:5}},line:287},"22":{name:"(anonymous_22)",decl:{start:{line:295,column:4},end:{line:295,column:5}},loc:{start:{line:295,column:25},end:{line:297,column:5}},line:295},"23":{name:"(anonymous_23)",decl:{start:{line:296,column:31},end:{line:296,column:32}},loc:{start:{line:296,column:40},end:{line:296,column:47}},line:296},"24":{name:"(anonymous_24)",decl:{start:{line:301,column:4},end:{line:301,column:5}},loc:{start:{line:301,column:26},end:{line:303,column:5}},line:301},"25":{name:"(anonymous_25)",decl:{start:{line:302,column:30},end:{line:302,column:31}},loc:{start:{line:302,column:39},end:{line:302,column:46}},line:302},"26":{name:"(anonymous_26)",decl:{start:{line:307,column:4},end:{line:307,column:5}},loc:{start:{line:307,column:34},end:{line:309,column:5}},line:307},"27":{name:"(anonymous_27)",decl:{start:{line:313,column:4},end:{line:313,column:5}},loc:{start:{line:313,column:33},end:{line:315,column:5}},line:313},"28":{name:"(anonymous_28)",decl:{start:{line:319,column:4},end:{line:319,column:5}},loc:{start:{line:319,column:16},end:{line:321,column:5}},line:319},"29":{name:"(anonymous_29)",decl:{start:{line:325,column:4},end:{line:325,column:5}},loc:{start:{line:325,column:16},end:{line:328,column:5}},line:325},"30":{name:"(anonymous_30)",decl:{start:{line:332,column:4},end:{line:332,column:5}},loc:{start:{line:332,column:22},end:{line:334,column:5}},line:332},"31":{name:"(anonymous_31)",decl:{start:{line:342,column:4},end:{line:342,column:5}},loc:{start:{line:342,column:29},end:{line:344,column:5}},line:342},"32":{name:"(anonymous_32)",decl:{start:{line:348,column:4},end:{line:348,column:5}},loc:{start:{line:348,column:23},end:{line:350,column:5}},line:348},"33":{name:"(anonymous_33)",decl:{start:{line:354,column:4},end:{line:354,column:5}},loc:{start:{line:354,column:18},end:{line:354,column:21}},line:354},"34":{name:"(anonymous_34)",decl:{start:{line:358,column:4},end:{line:358,column:5}},loc:{start:{line:358,column:29},end:{line:362,column:5}},line:358},"35":{name:"(anonymous_35)",decl:{start:{line:365,column:4},end:{line:365,column:5}},loc:{start:{line:365,column:27},end:{line:370,column:5}},line:365},"36":{name:"(anonymous_36)",decl:{start:{line:374,column:4},end:{line:374,column:5}},loc:{start:{line:374,column:25},end:{line:384,column:5}},line:374},"37":{name:"(anonymous_37)",decl:{start:{line:388,column:4},end:{line:388,column:5}},loc:{start:{line:388,column:25},end:{line:397,column:5}},line:388},"38":{name:"(anonymous_38)",decl:{start:{line:401,column:4},end:{line:401,column:5}},loc:{start:{line:401,column:20},end:{line:456,column:5}},line:401},"39":{name:"(anonymous_39)",decl:{start:{line:463,column:28},end:{line:463,column:29}},loc:{start:{line:463,column:40},end:{line:465,column:47}},line:463}},branchMap:{"0":{loc:{start:{line:122,column:8},end:{line:127,column:9}},type:"if",locations:[{start:{line:122,column:8},end:{line:127,column:9}},{start:{line:122,column:8},end:{line:127,column:9}}],line:122},"1":{loc:{start:{line:122,column:12},end:{line:122,column:49}},type:"binary-expr",locations:[{start:{line:122,column:12},end:{line:122,column:26}},{start:{line:122,column:30},end:{line:122,column:49}}],line:122},"2":{loc:{start:{line:141,column:8},end:{line:143,column:9}},type:"if",locations:[{start:{line:141,column:8},end:{line:143,column:9}},{start:{line:141,column:8},end:{line:143,column:9}}],line:141},"3":{loc:{start:{line:151,column:8},end:{line:153,column:9}},type:"if",locations:[{start:{line:151,column:8},end:{line:153,column:9}},{start:{line:151,column:8},end:{line:153,column:9}}],line:151},"4":{loc:{start:{line:163,column:16},end:{line:165,column:34}},type:"binary-expr",locations:[{start:{line:163,column:16},end:{line:163,column:44}},{start:{line:164,column:12},end:{line:164,column:35}},{start:{line:165,column:12},end:{line:165,column:34}}],line:163},"5":{loc:{start:{line:171,column:15},end:{line:171,column:50}},type:"binary-expr",locations:[{start:{line:171,column:15},end:{line:171,column:33}},{start:{line:171,column:37},end:{line:171,column:50}}],line:171},"6":{loc:{start:{line:177,column:8},end:{line:179,column:9}},type:"if",locations:[{start:{line:177,column:8},end:{line:179,column:9}},{start:{line:177,column:8},end:{line:179,column:9}}],line:177},"7":{loc:{start:{line:180,column:8},end:{line:183,column:9}},type:"if",locations:[{start:{line:180,column:8},end:{line:183,column:9}},{start:{line:180,column:8},end:{line:183,column:9}}],line:180},"8":{loc:{start:{line:180,column:12},end:{line:181,column:57}},type:"binary-expr",locations:[{start:{line:180,column:12},end:{line:180,column:36}},{start:{line:181,column:12},end:{line:181,column:57}}],line:180},"9":{loc:{start:{line:184,column:8},end:{line:186,column:9}},type:"if",locations:[{start:{line:184,column:8},end:{line:186,column:9}},{start:{line:184,column:8},end:{line:186,column:9}}],line:184},"10":{loc:{start:{line:212,column:8},end:{line:214,column:9}},type:"if",locations:[{start:{line:212,column:8},end:{line:214,column:9}},{start:{line:212,column:8},end:{line:214,column:9}}],line:212},"11":{loc:{start:{line:229,column:8},end:{line:234,column:9}},type:"if",locations:[{start:{line:229,column:8},end:{line:234,column:9}},{start:{line:229,column:8},end:{line:234,column:9}}],line:229},"12":{loc:{start:{line:229,column:12},end:{line:229,column:81}},type:"binary-expr",locations:[{start:{line:229,column:12},end:{line:229,column:47}},{start:{line:229,column:51},end:{line:229,column:81}}],line:229},"13":{loc:{start:{line:236,column:8},end:{line:241,column:9}},type:"if",locations:[{start:{line:236,column:8},end:{line:241,column:9}},{start:{line:236,column:8},end:{line:241,column:9}}],line:236},"14":{loc:{start:{line:243,column:8},end:{line:248,column:9}},type:"if",locations:[{start:{line:243,column:8},end:{line:248,column:9}},{start:{line:243,column:8},end:{line:248,column:9}}],line:243},"15":{loc:{start:{line:252,column:8},end:{line:256,column:9}},type:"if",locations:[{start:{line:252,column:8},end:{line:256,column:9}},{start:{line:252,column:8},end:{line:256,column:9}}],line:252},"16":{loc:{start:{line:252,column:12},end:{line:252,column:79}},type:"binary-expr",locations:[{start:{line:252,column:12},end:{line:252,column:41}},{start:{line:252,column:45},end:{line:252,column:79}}],line:252},"17":{loc:{start:{line:266,column:8},end:{line:274,column:9}},type:"if",locations:[{start:{line:266,column:8},end:{line:274,column:9}},{start:{line:266,column:8},end:{line:274,column:9}}],line:266},"18":{loc:{start:{line:271,column:12},end:{line:273,column:13}},type:"if",locations:[{start:{line:271,column:12},end:{line:273,column:13}},{start:{line:271,column:12},end:{line:273,column:13}}],line:271},"19":{loc:{start:{line:359,column:8},end:{line:361,column:9}},type:"if",locations:[{start:{line:359,column:8},end:{line:361,column:9}},{start:{line:359,column:8},end:{line:361,column:9}}],line:359},"20":{loc:{start:{line:367,column:8},end:{line:369,column:9}},type:"if",locations:[{start:{line:367,column:8},end:{line:369,column:9}},{start:{line:367,column:8},end:{line:369,column:9}}],line:367},"21":{loc:{start:{line:376,column:8},end:{line:383,column:9}},type:"if",locations:[{start:{line:376,column:8},end:{line:383,column:9}},{start:{line:376,column:8},end:{line:383,column:9}}],line:376},"22":{loc:{start:{line:377,column:12},end:{line:382,column:13}},type:"if",locations:[{start:{line:377,column:12},end:{line:382,column:13}},{start:{line:377,column:12},end:{line:382,column:13}}],line:377},"23":{loc:{start:{line:389,column:8},end:{line:396,column:9}},type:"if",locations:[{start:{line:389,column:8},end:{line:396,column:9}},{start:{line:389,column:8},end:{line:396,column:9}}],line:389},"24":{loc:{start:{line:390,column:12},end:{line:395,column:13}},type:"if",locations:[{start:{line:390,column:12},end:{line:395,column:13}},{start:{line:390,column:12},end:{line:395,column:13}}],line:390},"25":{loc:{start:{line:403,column:8},end:{line:410,column:9}},type:"if",locations:[{start:{line:403,column:8},end:{line:410,column:9}},{start:{line:403,column:8},end:{line:410,column:9}}],line:403},"26":{loc:{start:{line:404,column:12},end:{line:409,column:13}},type:"if",locations:[{start:{line:404,column:12},end:{line:409,column:13}},{start:{line:404,column:12},end:{line:409,column:13}}],line:404},"27":{loc:{start:{line:412,column:8},end:{line:419,column:9}},type:"if",locations:[{start:{line:412,column:8},end:{line:419,column:9}},{start:{line:412,column:8},end:{line:419,column:9}}],line:412},"28":{loc:{start:{line:413,column:12},end:{line:418,column:13}},type:"if",locations:[{start:{line:413,column:12},end:{line:418,column:13}},{start:{line:413,column:12},end:{line:418,column:13}}],line:413},"29":{loc:{start:{line:421,column:8},end:{line:428,column:9}},type:"if",locations:[{start:{line:421,column:8},end:{line:428,column:9}},{start:{line:421,column:8},end:{line:428,column:9}}],line:421},"30":{loc:{start:{line:422,column:12},end:{line:427,column:13}},type:"if",locations:[{start:{line:422,column:12},end:{line:427,column:13}},{start:{line:422,column:12},end:{line:427,column:13}}],line:422},"31":{loc:{start:{line:430,column:8},end:{line:437,column:9}},type:"if",locations:[{start:{line:430,column:8},end:{line:437,column:9}},{start:{line:430,column:8},end:{line:437,column:9}}],line:430},"32":{loc:{start:{line:431,column:12},end:{line:436,column:13}},type:"if",locations:[{start:{line:431,column:12},end:{line:436,column:13}},{start:{line:431,column:12},end:{line:436,column:13}}],line:431},"33":{loc:{start:{line:439,column:8},end:{line:446,column:9}},type:"if",locations:[{start:{line:439,column:8},end:{line:446,column:9}},{start:{line:439,column:8},end:{line:446,column:9}}],line:439},"34":{loc:{start:{line:440,column:12},end:{line:445,column:13}},type:"if",locations:[{start:{line:440,column:12},end:{line:445,column:13}},{start:{line:440,column:12},end:{line:445,column:13}}],line:440},"35":{loc:{start:{line:448,column:8},end:{line:455,column:9}},type:"if",locations:[{start:{line:448,column:8},end:{line:455,column:9}},{start:{line:448,column:8},end:{line:455,column:9}}],line:448},"36":{loc:{start:{line:449,column:12},end:{line:454,column:13}},type:"if",locations:[{start:{line:449,column:12},end:{line:454,column:13}},{start:{line:449,column:12},end:{line:454,column:13}}],line:449}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0]},inputSourceMap:{version:3,file:"basemodelcontrol.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/common/basemodelcontrol.ts"],names:[],mappings:"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",sourcesContent:["import { Directive, Host, Injector, Input, OnInit } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n FormControlName,\r\n FormGroupDirective,\r\n NgControl,\r\n UntypedFormControl,\r\n ValidationErrors,\r\n Validator,\r\n} from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { SacFormLayoutCommon } from '../controls/layout/formlayout';\r\nimport { ControlHeight } from '../enums/ControlHeight';\r\nimport { ISacConfigurationService } from '../interfaces/ISacConfigurationService';\r\nimport { ISacLabelSizes } from '../interfaces/ISacLabelSizes';\r\nimport { ISacLocalisationService } from '../interfaces/ISacLocalisationService';\r\nimport { ISacValidationKeyService } from '../interfaces/ISacValidationKeyService';\r\nimport { IAbstractControlLabelExtension } from '../interfaces/iabstractcontrollabel';\r\nimport {\r\n SACVALIDATIONKEY_SERVICE,\r\n SacDefaultValidationKeyService,\r\n} from '../services';\r\nimport {\r\n SACCONFIGURATION_SERVICE,\r\n SacDefaultConfigurationService,\r\n} from '../services/sac-configuration.service';\r\nimport {\r\n SACLOCALISATION_SERVICE,\r\n SacDefaultLocalisationService,\r\n} from '../services/sac-localisation.service';\r\nimport { convertToBoolean } from '../utilities/convertion';\r\nimport { createGuid } from '../utilities/guid';\r\nimport { ValidationErrorItem } from '../validation';\r\n/**\r\n * Abstract Klasse f\xFCr SacBaseModelControl. Implements ControlValueAccessor, Validator, OnInit\r\n */\r\n@Directive()\r\nexport abstract class SacBaseModelControl<VALUE>\r\n implements ControlValueAccessor, Validator, OnInit\r\n{\r\n // #region Properties\r\n\r\n /**\r\n * Inline Errors f\xFCr das Control\r\n */\r\n private _inlineerrorenabled: boolean | null = null;\r\n private _label: string = '';\r\n\r\n /**\r\n * Service for loading default settings for the controls\r\n */\r\n protected readonly configurationService: ISacConfigurationService;\r\n\r\n /**\r\n * Boolean Property dirty; default Wert - false\r\n */\r\n protected _dirty: boolean = false;\r\n /**\r\n * SacModel Form ist disabled\r\n */\r\n protected _disabledForm: boolean = false;\r\n /**\r\n * Validator\r\n */\r\n protected _onChange: () => void;\r\n /**\r\n * Boolean Property touched; default Wert - false\r\n */\r\n protected _touched: boolean = false;\r\n /**\r\n * Interne Variable, die den Wert des Controls h\xE4lt\r\n */\r\n protected _value: VALUE = null;\r\n /**\r\n * Form layout instance if exists\r\n */\r\n protected formlayout: SacFormLayoutCommon = null;\r\n /**\r\n * Service f\xFCr Error Localisation\r\n */\r\n protected lngResourceService: ISacLocalisationService;\r\n /**\r\n * ngControl\r\n */\r\n protected ngControl: UntypedFormControl;\r\n\r\n /**\r\n * Defines the standard height of the components\r\n */\r\n @Input()\r\n public componentHeight: ControlHeight | null = null;\r\n /**\r\n * Deaktiviert das Input Control\r\n */\r\n @Input() public disabled: boolean = false;\r\n /**\r\n * Deaktiviert das Label im Template\r\n */\r\n @Input() public disablelabel: boolean = false;\r\n /**\r\n * defines that error messages are displayed under the controls\r\n */\r\n @Input() public inlineError: boolean = true;\r\n /**\r\n * defines that the labels are displayed as adaptive labels\r\n */\r\n @Input() public isAdaptiveLabel: boolean = false;\r\n /**\r\n * default labe size for large devices\r\n */\r\n @Input()\r\n public labelSizeLg: number | null = null;\r\n /**\r\n * default label size for medium devices\r\n */\r\n @Input()\r\n public labelSizeMd: number | null = null;\r\n /**\r\n * default label size for small devices\r\n */\r\n @Input()\r\n public labelSizeSm: number | null = null;\r\n /**\r\n * default label size for extra large devices\r\n */\r\n @Input()\r\n public labelSizeXl: number | null = null;\r\n /**\r\n * default label column size\r\n */\r\n @Input()\r\n public labelSizeXs: number | null = null;\r\n /**\r\n * default label size for extra extra large devices\r\n */\r\n @Input()\r\n public labelSizeXxl: number | null = null;\r\n /**\r\n * Name des Controls\r\n */\r\n @Input() public name: string = createGuid();\r\n\r\n /**\r\n * ControlHeight enum for use in HTML markup\r\n */\r\n public ControlHeight: typeof ControlHeight = ControlHeight;\r\n /**\r\n * Leere Implementation von \"propagateChange\". Muss gemacht werden, damit kein Fehler entsteht\r\n */\r\n public propagateChange: any = () => {};\r\n /**\r\n * Leere Implementation von \"propagateTouch\". Muss gemacht werden, damit kein Fehler entsteht\r\n */\r\n public propagateTouch: any = () => {};\r\n /**\r\n * Service to receive standard validation message keys and texts\r\n */\r\n public validationKeyService: ISacValidationKeyService;\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Constructor\r\n * @param formlayout SacFormLayoutCommon to define scoped layout settings\r\n * @param injector Injector for injecting services\r\n */\r\n constructor(\r\n @Host() formlayout: SacFormLayoutCommon,\r\n private injector: Injector\r\n ) {\r\n this.formlayout = formlayout;\r\n this.validationKeyService = injector.get(\r\n SACVALIDATIONKEY_SERVICE,\r\n new SacDefaultValidationKeyService()\r\n );\r\n this.lngResourceService = injector.get(\r\n SACLOCALISATION_SERVICE,\r\n new SacDefaultLocalisationService(this.validationKeyService)\r\n );\r\n\r\n this.configurationService = injector.get(\r\n SACCONFIGURATION_SERVICE,\r\n new SacDefaultConfigurationService()\r\n );\r\n }\r\n\r\n // #endregion Constructors\r\n\r\n // #region Public Getters And Setters\r\n\r\n /**\r\n * Aktiviert oder Deaktiviert die Inline Errors f\xFCr das Control\r\n */\r\n @Input()\r\n public set inlineerrorenabled(value: boolean | null) {\r\n if (value === null || value === undefined) {\r\n this._inlineerrorenabled = null;\r\n } else {\r\n this._inlineerrorenabled = convertToBoolean(value);\r\n }\r\n }\r\n\r\n /**\r\n * Definiert den Label Text\r\n */\r\n @Input() public set label(v: string) {\r\n this._label = v;\r\n this.UpdateLabelToControl();\r\n }\r\n\r\n /**\r\n * Set Methode f\xFCr NgModel Binding in Html Markup\r\n * Input wird ben\xF6tigt, damit der Wert auch \xFCber das Markup gesetzt werden kann.\r\n */\r\n @Input()\r\n public set value(v: VALUE) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n this._value = this.ConvertInputValue(v);\r\n this.propagateChange(this._value);\r\n }\r\n\r\n /**\r\n * Methode ergibt Boolean Wert f\xFCr dirty\r\n */\r\n public get dirty(): boolean {\r\n if (this.ngControl !== null) {\r\n this._dirty = this.ngControl.dirty;\r\n }\r\n\r\n return this._dirty;\r\n }\r\n\r\n public get inlineerrorenabled(): boolean | null {\r\n return this._inlineerrorenabled;\r\n }\r\n\r\n /**\r\n * Methode ergibt boolean Wert wenn Form invalid oder nicht invalid ist\r\n */\r\n public get invalid(): boolean {\r\n return (\r\n this.ngControl !== undefined &&\r\n this.ngControl !== null &&\r\n this.ngControl.invalid\r\n );\r\n }\r\n\r\n /**\r\n * Definiert ob das Control disabled ist\r\n */\r\n public get isdisabled(): boolean {\r\n return this._disabledForm || this.disabled;\r\n }\r\n\r\n /**\r\n * Returns whether the inline error messages are active for this control.\r\n */\r\n public get isinlineerrorenabled(): boolean {\r\n if (this._inlineerrorenabled !== null) {\r\n return this._inlineerrorenabled;\r\n }\r\n\r\n if (\r\n this.formlayout !== null &&\r\n this.formlayout.IsInlineErrorEnabled !== null\r\n ) {\r\n return this.formlayout?.IsInlineErrorEnabled;\r\n }\r\n\r\n if (this.configurationService.InlineErrorEnabled !== null) {\r\n return this.configurationService.InlineErrorEnabled;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Definiert den Label Text\r\n */\r\n public get label(): string {\r\n return this._label;\r\n }\r\n\r\n /**\r\n * returns an object with all label sizes. These values can then be transferred to corresponding CSS classes using a pipe\r\n */\r\n public get labelSizes(): ISacLabelSizes {\r\n return {\r\n labelSizeSm: this.labelSizeSm,\r\n labelSizeMd: this.labelSizeMd,\r\n labelSizeXs: this.labelSizeXs,\r\n labelSizeXl: this.labelSizeXl,\r\n labelSizeXxl: this.labelSizeXxl,\r\n labelSizeLg: this.labelSizeLg,\r\n };\r\n }\r\n\r\n /**\r\n * Methode ergibt Boolean Wert f\xFCr touched\r\n */\r\n public get touched(): boolean {\r\n if (this.ngControl !== null) {\r\n this._touched = this.ngControl.touched;\r\n }\r\n\r\n return this._touched;\r\n }\r\n\r\n /**\r\n * Get Methode f\xFCr NgModel Binding in Html Markup\r\n */\r\n public get value(): VALUE {\r\n return this._value;\r\n }\r\n\r\n // #endregion Public Getters And Setters\r\n\r\n // #region Public Methods\r\n\r\n /**\r\n * Methode ergibt Error anhand von gegebenen Kriterien\r\n */\r\n public GetErrorMessage(): Observable<string> {\r\n if (this.ngControl.errors === undefined || this.ngControl.errors === null) {\r\n return new Observable<string>((observer) => {\r\n observer.next('');\r\n observer.complete();\r\n });\r\n }\r\n\r\n const errors: ValidationErrors = this.ngControl.errors;\r\n\r\n if (errors.length === 0) {\r\n return new Observable<string>((observer) => {\r\n observer.next('');\r\n observer.complete();\r\n });\r\n }\r\n\r\n const keys: string[] = Object.keys(errors);\r\n\r\n if (keys.length <= 0) {\r\n return new Observable<string>((observer) => {\r\n observer.next('');\r\n observer.complete();\r\n });\r\n }\r\n\r\n const errorItem: ValidationErrorItem = errors[keys[0]];\r\n\r\n // Validation Parameters\r\n const parameters = {};\r\n if (errorItem.parameters !== null && errorItem.parameters !== undefined) {\r\n errorItem.parameters.forEach((v, k) => {\r\n parameters[k] = v;\r\n });\r\n }\r\n parameters['FIELD'] = errorItem.fieldName;\r\n\r\n return this.lngResourceService.GetString(\r\n errorItem.errorMessageKey,\r\n parameters\r\n );\r\n }\r\n\r\n /**\r\n * Init Event\r\n */\r\n public ngOnInit() {\r\n // receive form via formcontrolname or formcontrol instance\r\n const formControl = this.injector.get(NgControl, null);\r\n if (formControl instanceof FormControlName) {\r\n const form = this.injector.get(FormGroupDirective, null);\r\n this.ngControl = form.getControl(formControl);\r\n } else {\r\n if (formControl) {\r\n this.ngControl = formControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n this.UpdateLabelToControl();\r\n\r\n // set label sizes from formlayout directive\r\n this.setLabelSizes();\r\n\r\n // set component heigth from fromlayout directive\r\n this.setComponentHeight();\r\n\r\n // set adaptive label property from formlayout directive\r\n this.setIsAdaptiveLabel();\r\n\r\n this.OnClassInit();\r\n }\r\n\r\n /**\r\n * Methode ergibt boolean touched = true\r\n */\r\n public onTouch(): void {\r\n this._touched = true;\r\n this.propagateTouch();\r\n }\r\n\r\n /**\r\n * Methode, damit andere Controls \xE4nderungen im Control mitbekommen k\xF6nnen\r\n * Zur \xC4nderungsinfo die Methode propagateChange aufrufen.\r\n */\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = (obj) => fn(obj);\r\n }\r\n\r\n /**\r\n * Methode, damit andere Controls \xE4nderungen mitbekommen, wenn das Control aktiviert (Focus) wird.\r\n */\r\n public registerOnTouched(fn: any): void {\r\n this.propagateTouch = (obj) => fn(obj);\r\n }\r\n\r\n /**\r\n * Methode registriert \xC4nderungen bei der Validierung\r\n */\r\n public registerOnValidatorChange(fn: () => void): void {\r\n this._onChange = fn;\r\n }\r\n\r\n /**\r\n * Setzt das Control auf Disabled\r\n */\r\n public setDisabledState(isDisabled: boolean): void {\r\n this._disabledForm = isDisabled;\r\n }\r\n\r\n /**\r\n * Methode die den Wert des Inputs setzt\r\n */\r\n public setValue(v: VALUE): void {\r\n this.value = v;\r\n }\r\n\r\n /**\r\n * Validator Methode\r\n */\r\n public validate(c: AbstractControl): ValidationErrors | null {\r\n const error: ValidationErrors | null = this.validateData(c);\r\n return error;\r\n }\r\n\r\n /**\r\n * Methode zum schreiben von Werten aus dem Model in das Control\r\n */\r\n public writeValue(value: VALUE) {\r\n this._value = value;\r\n }\r\n\r\n // #endregion Public Methods\r\n\r\n // #region Public Abstract Methods\r\n\r\n /**\r\n * Abstrakte Validator Methode\r\n */\r\n public abstract validateData(c: AbstractControl): ValidationErrors | null;\r\n\r\n // #endregion Public Abstract Methods\r\n\r\n // #region Protected Methods\r\n\r\n /**\r\n * Method can Overwriten in Parent Classes\r\n * @param value Wert welcher in den korrekten Typ konvertiert werden soll\r\n * @returns Wert im korrekten Typ\r\n */\r\n protected ConvertInputValue(value: VALUE): VALUE {\r\n return value;\r\n }\r\n\r\n /**\r\n * Methode ergibt Decimal Symbol\r\n */\r\n protected GetDecimalSymbol(): string {\r\n return '.';\r\n }\r\n\r\n /**\r\n * Method can be used to Set Properties at Class Init\r\n */\r\n protected OnClassInit(): void {}\r\n\r\n /**\r\n * Aktualisiert den NgModel Wert und die G\xFCltigkeit des Validators des Controls\r\n */\r\n protected UpdateValueAndValidity(): void {\r\n if (this.ngControl) {\r\n this.ngControl.updateValueAndValidity({ onlySelf: true });\r\n }\r\n }\r\n\r\n // #endregion Protected Methods\r\n\r\n // #region Private Methods\r\n\r\n private UpdateLabelToControl(): void {\r\n // HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686\r\n if (this.ngControl) {\r\n (\r\n this.ngControl as unknown as IAbstractControlLabelExtension\r\n ).controllabel = this.label;\r\n }\r\n }\r\n\r\n /**\r\n * Set component height from property or parent layout control\r\n */\r\n private setComponentHeight() {\r\n // set size extra small\r\n if (!this.componentHeight) {\r\n if (this.formlayout?.componentHeight) {\r\n this.componentHeight = this.formlayout.componentHeight;\r\n } else {\r\n this.componentHeight = this.configurationService.ComponentHeight;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Set adaptive label property from parent layout control\r\n */\r\n private setIsAdaptiveLabel() {\r\n if (!this.isAdaptiveLabel) {\r\n if (this.formlayout?.isAdaptiveLabel !== undefined) {\r\n this.isAdaptiveLabel = this.formlayout.isAdaptiveLabel;\r\n } else {\r\n this.isAdaptiveLabel = false;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Set label sizes from property or parent layout control\r\n */\r\n private setLabelSizes() {\r\n // set size extra small\r\n if (!this.labelSizeXs) {\r\n if (this.formlayout?.labelSizeXs) {\r\n this.labelSizeXs = this.formlayout.labelSizeXs;\r\n } else {\r\n this.labelSizeXs = this.configurationService.LabelSizeXs;\r\n }\r\n }\r\n\r\n // set size small\r\n if (!this.labelSizeSm) {\r\n if (this.formlayout?.labelSizeSm) {\r\n this.labelSizeSm = this.formlayout.labelSizeSm;\r\n } else {\r\n this.labelSizeSm = this.configurationService.LabelSizeSm;\r\n }\r\n }\r\n\r\n // set size medium\r\n if (!this.labelSizeMd) {\r\n if (this.formlayout?.labelSizeMd) {\r\n this.labelSizeMd = this.formlayout.labelSizeMd;\r\n } else {\r\n this.labelSizeMd = this.configurationService.LabelSizeMd;\r\n }\r\n }\r\n\r\n // set size large\r\n if (!this.labelSizeLg) {\r\n if (this.formlayout?.labelSizeLg) {\r\n this.labelSizeLg = this.formlayout.labelSizeLg;\r\n } else {\r\n this.labelSizeLg = this.configurationService.LabelSizeLg;\r\n }\r\n }\r\n\r\n // set size extra large\r\n if (!this.labelSizeXl) {\r\n if (this.formlayout?.labelSizeXl) {\r\n this.labelSizeXl = this.formlayout.labelSizeXl;\r\n } else {\r\n this.labelSizeXl = this.configurationService.LabelSizeXl;\r\n }\r\n }\r\n\r\n // set size extra extra large\r\n if (!this.labelSizeXxl) {\r\n if (this.formlayout?.labelSizeXxl) {\r\n this.labelSizeXxl = this.formlayout.labelSizeXxl;\r\n } else {\r\n this.labelSizeXxl = this.configurationService.LabelSizeXxl;\r\n }\r\n }\r\n }\r\n\r\n // #endregion Private Methods\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"a4f6d76521804039981bfe062d1bbac92cf5b269"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
2
|
cov_syqygw8jm=function(){return actualCoverage;};}return actualCoverage;}cov_syqygw8jm();import{Directive,Host,Input}from'@angular/core';import{FormControlName,FormGroupDirective,NgControl}from'@angular/forms';import{Observable}from'rxjs';import{ControlHeight}from'../enums/ControlHeight';import{SACVALIDATIONKEY_SERVICE,SacDefaultValidationKeyService}from'../services';import{SACCONFIGURATION_SERVICE,SacDefaultConfigurationService}from'../services/sac-configuration.service';import{SACLOCALISATION_SERVICE,SacDefaultLocalisationService}from'../services/sac-localisation.service';import{convertToBoolean}from'../utilities/convertion';import{createGuid}from'../utilities/guid';import*as i0 from"@angular/core";import*as i1 from"../controls/layout/formlayout";/**
|
|
3
3
|
* Abstract Klasse für SacBaseModelControl. Implements ControlValueAccessor, Validator, OnInit
|
|
4
4
|
*/class SacBaseModelControl{// #endregion Properties
|
|
@@ -67,69 +67,69 @@ cov_syqygw8jm=function(){return actualCoverage;};}return actualCoverage;}cov_syq
|
|
|
67
67
|
* Definiert ob das Control disabled ist
|
|
68
68
|
*/get isdisabled(){cov_syqygw8jm().f[9]++;cov_syqygw8jm().s[41]++;return(cov_syqygw8jm().b[5][0]++,this._disabledForm)||(cov_syqygw8jm().b[5][1]++,this.disabled);}/**
|
|
69
69
|
* Returns whether the inline error messages are active for this control.
|
|
70
|
-
*/get isinlineerrorenabled(){cov_syqygw8jm().f[10]++;cov_syqygw8jm().s[42]++;if((cov_syqygw8jm().b[
|
|
70
|
+
*/get isinlineerrorenabled(){cov_syqygw8jm().f[10]++;cov_syqygw8jm().s[42]++;if(this._inlineerrorenabled!==null){cov_syqygw8jm().b[6][0]++;cov_syqygw8jm().s[43]++;return this._inlineerrorenabled;}else{cov_syqygw8jm().b[6][1]++;}cov_syqygw8jm().s[44]++;if((cov_syqygw8jm().b[8][0]++,this.formlayout!==null)&&(cov_syqygw8jm().b[8][1]++,this.formlayout.IsInlineErrorEnabled!==null)){cov_syqygw8jm().b[7][0]++;cov_syqygw8jm().s[45]++;return this.formlayout?.IsInlineErrorEnabled;}else{cov_syqygw8jm().b[7][1]++;}cov_syqygw8jm().s[46]++;if(this.configurationService.InlineErrorEnabled!==null){cov_syqygw8jm().b[9][0]++;cov_syqygw8jm().s[47]++;return this.configurationService.InlineErrorEnabled;}else{cov_syqygw8jm().b[9][1]++;}cov_syqygw8jm().s[48]++;return true;}/**
|
|
71
71
|
* Definiert den Label Text
|
|
72
|
-
*/get label(){cov_syqygw8jm().f[11]++;cov_syqygw8jm().s[
|
|
72
|
+
*/get label(){cov_syqygw8jm().f[11]++;cov_syqygw8jm().s[49]++;return this._label;}/**
|
|
73
73
|
* returns an object with all label sizes. These values can then be transferred to corresponding CSS classes using a pipe
|
|
74
|
-
*/get labelSizes(){cov_syqygw8jm().f[12]++;cov_syqygw8jm().s[
|
|
74
|
+
*/get labelSizes(){cov_syqygw8jm().f[12]++;cov_syqygw8jm().s[50]++;return{labelSizeSm:this.labelSizeSm,labelSizeMd:this.labelSizeMd,labelSizeXs:this.labelSizeXs,labelSizeXl:this.labelSizeXl,labelSizeXxl:this.labelSizeXxl,labelSizeLg:this.labelSizeLg};}/**
|
|
75
75
|
* Methode ergibt Boolean Wert für touched
|
|
76
|
-
*/get touched(){cov_syqygw8jm().f[13]++;cov_syqygw8jm().s[
|
|
76
|
+
*/get touched(){cov_syqygw8jm().f[13]++;cov_syqygw8jm().s[51]++;if(this.ngControl!==null){cov_syqygw8jm().b[10][0]++;cov_syqygw8jm().s[52]++;this._touched=this.ngControl.touched;}else{cov_syqygw8jm().b[10][1]++;}cov_syqygw8jm().s[53]++;return this._touched;}/**
|
|
77
77
|
* Get Methode für NgModel Binding in Html Markup
|
|
78
|
-
*/get value(){cov_syqygw8jm().f[14]++;cov_syqygw8jm().s[
|
|
78
|
+
*/get value(){cov_syqygw8jm().f[14]++;cov_syqygw8jm().s[54]++;return this._value;}// #endregion Public Getters And Setters
|
|
79
79
|
// #region Public Methods
|
|
80
80
|
/**
|
|
81
81
|
* Methode ergibt Error anhand von gegebenen Kriterien
|
|
82
|
-
*/GetErrorMessage(){cov_syqygw8jm().f[15]++;cov_syqygw8jm().s[
|
|
83
|
-
const parameters=(cov_syqygw8jm().s[
|
|
82
|
+
*/GetErrorMessage(){cov_syqygw8jm().f[15]++;cov_syqygw8jm().s[55]++;if((cov_syqygw8jm().b[12][0]++,this.ngControl.errors===undefined)||(cov_syqygw8jm().b[12][1]++,this.ngControl.errors===null)){cov_syqygw8jm().b[11][0]++;cov_syqygw8jm().s[56]++;return new Observable(observer=>{cov_syqygw8jm().f[16]++;cov_syqygw8jm().s[57]++;observer.next('');cov_syqygw8jm().s[58]++;observer.complete();});}else{cov_syqygw8jm().b[11][1]++;}const errors=(cov_syqygw8jm().s[59]++,this.ngControl.errors);cov_syqygw8jm().s[60]++;if(errors.length===0){cov_syqygw8jm().b[13][0]++;cov_syqygw8jm().s[61]++;return new Observable(observer=>{cov_syqygw8jm().f[17]++;cov_syqygw8jm().s[62]++;observer.next('');cov_syqygw8jm().s[63]++;observer.complete();});}else{cov_syqygw8jm().b[13][1]++;}const keys=(cov_syqygw8jm().s[64]++,Object.keys(errors));cov_syqygw8jm().s[65]++;if(keys.length<=0){cov_syqygw8jm().b[14][0]++;cov_syqygw8jm().s[66]++;return new Observable(observer=>{cov_syqygw8jm().f[18]++;cov_syqygw8jm().s[67]++;observer.next('');cov_syqygw8jm().s[68]++;observer.complete();});}else{cov_syqygw8jm().b[14][1]++;}const errorItem=(cov_syqygw8jm().s[69]++,errors[keys[0]]);// Validation Parameters
|
|
83
|
+
const parameters=(cov_syqygw8jm().s[70]++,{});cov_syqygw8jm().s[71]++;if((cov_syqygw8jm().b[16][0]++,errorItem.parameters!==null)&&(cov_syqygw8jm().b[16][1]++,errorItem.parameters!==undefined)){cov_syqygw8jm().b[15][0]++;cov_syqygw8jm().s[72]++;errorItem.parameters.forEach((v,k)=>{cov_syqygw8jm().f[19]++;cov_syqygw8jm().s[73]++;parameters[k]=v;});}else{cov_syqygw8jm().b[15][1]++;}cov_syqygw8jm().s[74]++;parameters['FIELD']=errorItem.fieldName;cov_syqygw8jm().s[75]++;return this.lngResourceService.GetString(errorItem.errorMessageKey,parameters);}/**
|
|
84
84
|
* Init Event
|
|
85
85
|
*/ngOnInit(){cov_syqygw8jm().f[20]++;// receive form via formcontrolname or formcontrol instance
|
|
86
|
-
const formControl=(cov_syqygw8jm().s[
|
|
87
|
-
cov_syqygw8jm().s[
|
|
88
|
-
cov_syqygw8jm().s[
|
|
89
|
-
cov_syqygw8jm().s[
|
|
86
|
+
const formControl=(cov_syqygw8jm().s[76]++,this.injector.get(NgControl,null));cov_syqygw8jm().s[77]++;if(formControl instanceof FormControlName){cov_syqygw8jm().b[17][0]++;const form=(cov_syqygw8jm().s[78]++,this.injector.get(FormGroupDirective,null));cov_syqygw8jm().s[79]++;this.ngControl=form.getControl(formControl);}else{cov_syqygw8jm().b[17][1]++;cov_syqygw8jm().s[80]++;if(formControl){cov_syqygw8jm().b[18][0]++;cov_syqygw8jm().s[81]++;this.ngControl=formControl.control;}else{cov_syqygw8jm().b[18][1]++;}}cov_syqygw8jm().s[82]++;this.UpdateLabelToControl();// set label sizes from formlayout directive
|
|
87
|
+
cov_syqygw8jm().s[83]++;this.setLabelSizes();// set component heigth from fromlayout directive
|
|
88
|
+
cov_syqygw8jm().s[84]++;this.setComponentHeight();// set adaptive label property from formlayout directive
|
|
89
|
+
cov_syqygw8jm().s[85]++;this.setIsAdaptiveLabel();cov_syqygw8jm().s[86]++;this.OnClassInit();}/**
|
|
90
90
|
* Methode ergibt boolean touched = true
|
|
91
|
-
*/onTouch(){cov_syqygw8jm().f[21]++;cov_syqygw8jm().s[
|
|
91
|
+
*/onTouch(){cov_syqygw8jm().f[21]++;cov_syqygw8jm().s[87]++;this._touched=true;cov_syqygw8jm().s[88]++;this.propagateTouch();}/**
|
|
92
92
|
* Methode, damit andere Controls änderungen im Control mitbekommen können
|
|
93
93
|
* Zur Änderungsinfo die Methode propagateChange aufrufen.
|
|
94
|
-
*/registerOnChange(fn){cov_syqygw8jm().f[22]++;cov_syqygw8jm().s[
|
|
94
|
+
*/registerOnChange(fn){cov_syqygw8jm().f[22]++;cov_syqygw8jm().s[89]++;this.propagateChange=obj=>{cov_syqygw8jm().f[23]++;cov_syqygw8jm().s[90]++;return fn(obj);};}/**
|
|
95
95
|
* Methode, damit andere Controls änderungen mitbekommen, wenn das Control aktiviert (Focus) wird.
|
|
96
|
-
*/registerOnTouched(fn){cov_syqygw8jm().f[24]++;cov_syqygw8jm().s[
|
|
96
|
+
*/registerOnTouched(fn){cov_syqygw8jm().f[24]++;cov_syqygw8jm().s[91]++;this.propagateTouch=obj=>{cov_syqygw8jm().f[25]++;cov_syqygw8jm().s[92]++;return fn(obj);};}/**
|
|
97
97
|
* Methode registriert Änderungen bei der Validierung
|
|
98
|
-
*/registerOnValidatorChange(fn){cov_syqygw8jm().f[26]++;cov_syqygw8jm().s[
|
|
98
|
+
*/registerOnValidatorChange(fn){cov_syqygw8jm().f[26]++;cov_syqygw8jm().s[93]++;this._onChange=fn;}/**
|
|
99
99
|
* Setzt das Control auf Disabled
|
|
100
|
-
*/setDisabledState(isDisabled){cov_syqygw8jm().f[27]++;cov_syqygw8jm().s[
|
|
100
|
+
*/setDisabledState(isDisabled){cov_syqygw8jm().f[27]++;cov_syqygw8jm().s[94]++;this._disabledForm=isDisabled;}/**
|
|
101
101
|
* Methode die den Wert des Inputs setzt
|
|
102
|
-
*/setValue(v){cov_syqygw8jm().f[28]++;cov_syqygw8jm().s[
|
|
102
|
+
*/setValue(v){cov_syqygw8jm().f[28]++;cov_syqygw8jm().s[95]++;this.value=v;}/**
|
|
103
103
|
* Validator Methode
|
|
104
|
-
*/validate(c){cov_syqygw8jm().f[29]++;const error=(cov_syqygw8jm().s[
|
|
104
|
+
*/validate(c){cov_syqygw8jm().f[29]++;const error=(cov_syqygw8jm().s[96]++,this.validateData(c));cov_syqygw8jm().s[97]++;return error;}/**
|
|
105
105
|
* Methode zum schreiben von Werten aus dem Model in das Control
|
|
106
|
-
*/writeValue(value){cov_syqygw8jm().f[30]++;cov_syqygw8jm().s[
|
|
106
|
+
*/writeValue(value){cov_syqygw8jm().f[30]++;cov_syqygw8jm().s[98]++;this._value=value;}// #endregion Public Abstract Methods
|
|
107
107
|
// #region Protected Methods
|
|
108
108
|
/**
|
|
109
109
|
* Method can Overwriten in Parent Classes
|
|
110
110
|
* @param value Wert welcher in den korrekten Typ konvertiert werden soll
|
|
111
111
|
* @returns Wert im korrekten Typ
|
|
112
|
-
*/ConvertInputValue(value){cov_syqygw8jm().f[31]++;cov_syqygw8jm().s[
|
|
112
|
+
*/ConvertInputValue(value){cov_syqygw8jm().f[31]++;cov_syqygw8jm().s[99]++;return value;}/**
|
|
113
113
|
* Methode ergibt Decimal Symbol
|
|
114
|
-
*/GetDecimalSymbol(){cov_syqygw8jm().f[32]++;cov_syqygw8jm().s[
|
|
114
|
+
*/GetDecimalSymbol(){cov_syqygw8jm().f[32]++;cov_syqygw8jm().s[100]++;return'.';}/**
|
|
115
115
|
* Method can be used to Set Properties at Class Init
|
|
116
116
|
*/OnClassInit(){cov_syqygw8jm().f[33]++;}/**
|
|
117
117
|
* Aktualisiert den NgModel Wert und die Gültigkeit des Validators des Controls
|
|
118
|
-
*/UpdateValueAndValidity(){cov_syqygw8jm().f[34]++;cov_syqygw8jm().s[
|
|
118
|
+
*/UpdateValueAndValidity(){cov_syqygw8jm().f[34]++;cov_syqygw8jm().s[101]++;if(this.ngControl){cov_syqygw8jm().b[19][0]++;cov_syqygw8jm().s[102]++;this.ngControl.updateValueAndValidity({onlySelf:true});}else{cov_syqygw8jm().b[19][1]++;}}// #endregion Protected Methods
|
|
119
119
|
// #region Private Methods
|
|
120
|
-
UpdateLabelToControl(){cov_syqygw8jm().f[35]++;cov_syqygw8jm().s[
|
|
121
|
-
if(this.ngControl){cov_syqygw8jm().b[
|
|
120
|
+
UpdateLabelToControl(){cov_syqygw8jm().f[35]++;cov_syqygw8jm().s[103]++;// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
|
|
121
|
+
if(this.ngControl){cov_syqygw8jm().b[20][0]++;cov_syqygw8jm().s[104]++;this.ngControl.controllabel=this.label;}else{cov_syqygw8jm().b[20][1]++;}}/**
|
|
122
122
|
* Set component height from property or parent layout control
|
|
123
|
-
*/setComponentHeight(){cov_syqygw8jm().f[36]++;cov_syqygw8jm().s[
|
|
124
|
-
if(!this.componentHeight){cov_syqygw8jm().b[
|
|
123
|
+
*/setComponentHeight(){cov_syqygw8jm().f[36]++;cov_syqygw8jm().s[105]++;// set size extra small
|
|
124
|
+
if(!this.componentHeight){cov_syqygw8jm().b[21][0]++;cov_syqygw8jm().s[106]++;if(this.formlayout?.componentHeight){cov_syqygw8jm().b[22][0]++;cov_syqygw8jm().s[107]++;this.componentHeight=this.formlayout.componentHeight;}else{cov_syqygw8jm().b[22][1]++;cov_syqygw8jm().s[108]++;this.componentHeight=this.configurationService.ComponentHeight;}}else{cov_syqygw8jm().b[21][1]++;}}/**
|
|
125
125
|
* Set adaptive label property from parent layout control
|
|
126
|
-
*/setIsAdaptiveLabel(){cov_syqygw8jm().f[37]++;cov_syqygw8jm().s[
|
|
126
|
+
*/setIsAdaptiveLabel(){cov_syqygw8jm().f[37]++;cov_syqygw8jm().s[109]++;if(!this.isAdaptiveLabel){cov_syqygw8jm().b[23][0]++;cov_syqygw8jm().s[110]++;if(this.formlayout?.isAdaptiveLabel!==undefined){cov_syqygw8jm().b[24][0]++;cov_syqygw8jm().s[111]++;this.isAdaptiveLabel=this.formlayout.isAdaptiveLabel;}else{cov_syqygw8jm().b[24][1]++;cov_syqygw8jm().s[112]++;this.isAdaptiveLabel=false;}}else{cov_syqygw8jm().b[23][1]++;}}/**
|
|
127
127
|
* Set label sizes from property or parent layout control
|
|
128
|
-
*/setLabelSizes(){cov_syqygw8jm().f[38]++;cov_syqygw8jm().s[
|
|
129
|
-
if(!this.labelSizeXs){cov_syqygw8jm().b[
|
|
130
|
-
cov_syqygw8jm().s[
|
|
131
|
-
cov_syqygw8jm().s[
|
|
132
|
-
cov_syqygw8jm().s[
|
|
133
|
-
cov_syqygw8jm().s[
|
|
134
|
-
cov_syqygw8jm().s[129]++;if(!this.labelSizeXxl){cov_syqygw8jm().b[34][0]++;cov_syqygw8jm().s[130]++;if(this.formlayout?.labelSizeXxl){cov_syqygw8jm().b[35][0]++;cov_syqygw8jm().s[131]++;this.labelSizeXxl=this.formlayout.labelSizeXxl;}else{cov_syqygw8jm().b[35][1]++;cov_syqygw8jm().s[132]++;this.labelSizeXxl=this.configurationService.LabelSizeXxl;}}else{cov_syqygw8jm().b[34][1]++;}}static{cov_syqygw8jm().s[133]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacBaseModelControl,deps:[{token:i1.SacFormLayoutCommon,host:true},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_syqygw8jm().s[134]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacBaseModelControl,inputs:{componentHeight:"componentHeight",disabled:"disabled",disablelabel:"disablelabel",inlineError:"inlineError",isAdaptiveLabel:"isAdaptiveLabel",labelSizeLg:"labelSizeLg",labelSizeMd:"labelSizeMd",labelSizeSm:"labelSizeSm",labelSizeXl:"labelSizeXl",labelSizeXs:"labelSizeXs",labelSizeXxl:"labelSizeXxl",name:"name",inlineerrorenabled:"inlineerrorenabled",label:"label",value:"value"},ngImport:i0});}}export{SacBaseModelControl};cov_syqygw8jm().s[135]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacBaseModelControl,decorators:[{type:Directive}],ctorParameters:function(){cov_syqygw8jm().f[39]++;cov_syqygw8jm().s[136]++;return[{type:i1.SacFormLayoutCommon,decorators:[{type:Host}]},{type:i0.Injector}];},propDecorators:{componentHeight:[{type:Input}],disabled:[{type:Input}],disablelabel:[{type:Input}],inlineError:[{type:Input}],isAdaptiveLabel:[{type:Input}],labelSizeLg:[{type:Input}],labelSizeMd:[{type:Input}],labelSizeSm:[{type:Input}],labelSizeXl:[{type:Input}],labelSizeXs:[{type:Input}],labelSizeXxl:[{type:Input}],name:[{type:Input}],inlineerrorenabled:[{type:Input}],label:[{type:Input}],value:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZW1vZGVsY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBR0wsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixTQUFTLEdBSVYsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU12RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDhCQUE4QixHQUMvQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDhCQUE4QixHQUMvQixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsNkJBQTZCLEdBQzlCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFL0M7O0dBRUc7QUFDSCxNQUNzQixtQkFBbUI7SUEwSHZDLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ1UsVUFBK0IsRUFDL0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWxJNUIscUJBQXFCO1FBRXJCOztXQUVHO1FBQ0ssd0JBQW1CLEdBQW1CLElBQUksQ0FBQztRQUMzQyxXQUFNLEdBQVcsRUFBRSxDQUFDO1FBTzVCOztXQUVHO1FBQ08sV0FBTSxHQUFZLEtBQUssQ0FBQztRQUNsQzs7V0FFRztRQUNPLGtCQUFhLEdB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QyxXQUFXO3NCQURqQixLQUFLO2dCQU1DLFdBQVc7c0JBRGpCLEtBQUs7Z0JBTUMsV0FBVztzQkFEakIsS0FBSztnQkFNQyxZQUFZO3NCQURsQixLQUFLO2dCQUtVLElBQUk7c0JBQW5CLEtBQUs7Z0JBd0RLLGtCQUFrQjtzQkFENUIsS0FBSztnQkFZYyxLQUFLO3NCQUF4QixLQUFLO2dCQVVLLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2xOYW1lLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBOZ0NvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQnO1xyXG5pbXBvcnQgeyBDb250cm9sSGVpZ2h0IH0gZnJvbSAnLi4vZW51bXMvQ29udHJvbEhlaWdodCc7XHJcbmltcG9ydCB7IElTYWNDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0NvbmZpZ3VyYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY0xhYmVsU2l6ZXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMYWJlbFNpemVzJztcclxuaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2lhYnN0cmFjdGNvbnRyb2xsYWJlbCc7XHJcbmltcG9ydCB7XHJcbiAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgU0FDQ09ORklHVVJBVElPTl9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xyXG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2d1aWQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XHJcbi8qKlxyXG4gKiBBYnN0cmFjdCBLbGFzc2UgZsO8ciBTYWNCYXNlTW9kZWxDb250cm9sLiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uSW5pdFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNCYXNlTW9kZWxDb250cm9sPFZBTFVFPlxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25Jbml0XHJcbntcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5saW5lZXJyb3JlbmFibGVkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGZvciBsb2FkaW5nIGRlZmF1bHQgc2V0dGluZ3MgZm9yIHRoZSBjb250cm9sc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWd1cmF0aW9uU2VydmljZTogSVNhY0NvbmZpZ3VyYXRpb25TZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IGRpcnR5OyBkZWZhdWx0IFdlcnQgLSBmYWxzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlydHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBTYWNNb2RlbCBGb3JtIGlzdCBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlzYWJsZWRGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9vbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IHRvdWNoZWQ7IGRlZmF1bHQgV2VydCAtIGZhbHNlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF90b3VjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogSW50ZXJuZSBWYXJpYWJsZSwgZGllIGRlbiBXZXJ0IGRlcyBDb250cm9scyBow6RsdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfdmFsdWU6IFZBTFVFID0gbnVsbDtcclxuICAvKipcclxuICAgKiBGb3JtIGxheW91dCBpbnN0YW5jZSBpZiBleGlzdHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbiA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xyXG4gIC8qKlxyXG4gICAqIG5nQ29udHJvbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBuZ0NvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgc3RhbmRhcmQgaGVpZ2h0IG9mIHRoZSBjb21wb25lbnRzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29tcG9uZW50SGVpZ2h0OiBDb250cm9sSGVpZ2h0IHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogRGVha3RpdmllcnQgZGFzIElucHV0IENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBEZWFrdGl2aWVydCBkYXMgTGFiZWwgaW0gVGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWxhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogZGVmaW5lcyB0aGF0IGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQgdW5kZXIgdGhlIGNvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlubGluZUVycm9yOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBkZWZpbmVzIHRoYXQgdGhlIGxhYmVscyBhcmUgZGlzcGxheWVkIGFzIGFkYXB0aXZlIGxhYmVsc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0FkYXB0aXZlTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmUgc2l6ZSBmb3IgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZUxnOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIG1lZGl1bSBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplTWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3Igc21hbGwgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVNtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYbDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBjb2x1bW4gc2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVhzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYeGw6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIE5hbWUgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbEhlaWdodCBlbnVtIGZvciB1c2UgaW4gSFRNTCBtYXJrdXBcclxuICAgKi9cclxuICBwdWJsaWMgQ29udHJvbEhlaWdodDogdHlwZW9mIENvbnRyb2xIZWlnaHQgPSBDb250cm9sSGVpZ2h0O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZUNoYW5nZVwiLiBNdXNzIGdlbWFjaHQgd2VyZGVuLCBkYW1pdCBrZWluIEZlaGxlciBlbnRzdGVodFxyXG4gICAqL1xyXG4gIHB1YmxpYyBwcm9wYWdhdGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZVRvdWNoXCIuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHVibGljIHByb3BhZ2F0ZVRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuICAvKipcclxuICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRpb25LZXlTZXJ2aWNlOiBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2U7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHRoaXMuZm9ybWxheW91dCA9IGZvcm1sYXlvdXQ7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UoKVxyXG4gICAgKTtcclxuICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0NPTkZJR1VSQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBBa3RpdmllcnQgb2RlciBEZWFrdGl2aWVydCBkaWUgSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGlubGluZWVycm9yZW5hYmxlZCh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZCA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkZW4gTGFiZWwgVGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbGFiZWwodjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9sYWJlbCA9IHY7XHJcbiAgICB0aGlzLlVwZGF0ZUxhYmVsVG9Db250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgTWV0aG9kZSBmw7xyIE5nTW9kZWwgQmluZGluZyBpbiBIdG1sIE1hcmt1cFxyXG4gICAqIElucHV0IHdpcmQgYmVuw7Z0aWd0LCBkYW1pdCBkZXIgV2VydCBhdWNoIMO8YmVyIGRhcyBNYXJrdXAgZ2VzZXR6dCB3ZXJkZW4ga2Fubi5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogVkFMVUUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMuQ29udmVydElucHV0VmFsdWUodik7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBCb29sZWFuIFdlcnQgZsO8ciBkaXJ0eVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgZGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fZGlydHkgPSB0aGlzLm5nQ29udHJvbC5kaXJ0eTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fZGlydHk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlubGluZWVycm9yZW5hYmxlZCgpOiBib29sZWFuIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5saW5lZXJyb3JlbmFibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBlcmdpYnQgYm9vbGVhbiBXZXJ0IHdlbm4gRm9ybSBpbnZhbGlkIG9kZXIgbmljaHQgaW52YWxpZCBpc3RcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLm5nQ29udHJvbCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMubmdDb250cm9sICE9PSBudWxsICYmXHJcbiAgICAgIHRoaXMubmdDb250cm9sLmludmFsaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgb2IgZGFzIENvbnRyb2wgZGlzYWJsZWQgaXN0XHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpc2Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRm9ybSB8fCB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBpbmxpbmUgZXJyb3IgbWVzc2FnZXMgYXJlIGFjdGl2ZSBmb3IgdGhpcyBjb250cm9sLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaXNpbmxpbmVlcnJvcmVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZm9ybWxheW91dD8uSXNJbmxpbmVFcnJvckVuYWJsZWQgPT09IG51bGwgfHxcclxuICAgICAgdGhpcy5mb3JtbGF5b3V0Py5Jc0lubGluZUVycm9yRW5hYmxlZCA9PT0gdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmZvcm1sYXlvdXQuSXNJbmxpbmVFcnJvckVuYWJsZWQgIT09IGZhbHNlICYmXHJcbiAgICAgIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZCAhPT0gZmFsc2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgZGVuIExhYmVsIFRleHRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFiZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiByZXR1cm5zIGFuIG9iamVjdCB3aXRoIGFsbCBsYWJlbCBzaXplcy4gVGhlc2UgdmFsdWVzIGNhbiB0aGVuIGJlIHRyYW5zZmVycmVkIHRvIGNvcnJlc3BvbmRpbmcgQ1NTIGNsYXNzZXMgdXNpbmcgYSBwaXBlXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBsYWJlbFNpemVzKCk6IElTYWNMYWJlbFNpemVzIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsU2l6ZVNtOiB0aGlzLmxhYmVsU2l6ZVNtLFxyXG4gICAgICBsYWJlbFNpemVNZDogdGhpcy5sYWJlbFNpemVNZCxcclxuICAgICAgbGFiZWxTaXplWHM6IHRoaXMubGFiZWxTaXplWHMsXHJcbiAgICAgIGxhYmVsU2l6ZVhsOiB0aGlzLmxhYmVsU2l6ZVhsLFxyXG4gICAgICBsYWJlbFNpemVYeGw6IHRoaXMubGFiZWxTaXplWHhsLFxyXG4gICAgICBsYWJlbFNpemVMZzogdGhpcy5sYWJlbFNpemVMZyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBCb29sZWFuIFdlcnQgZsO8ciB0b3VjaGVkXHJcbiAgICovXHJcbiAgcHVibGljIGdldCB0b3VjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX3RvdWNoZWQgPSB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl90b3VjaGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IE1ldGhvZGUgZsO8ciBOZ01vZGVsIEJpbmRpbmcgaW4gSHRtbCBNYXJrdXBcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFZBTFVFIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBFcnJvciBhbmhhbmQgdm9uIGdlZ2ViZW5lbiBLcml0ZXJpZW5cclxuICAgKi9cclxuICBwdWJsaWMgR2V0RXJyb3JNZXNzYWdlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wuZXJyb3JzID09PSB1bmRlZmluZWQgfHwgdGhpcy5uZ0NvbnRyb2wuZXJyb3JzID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxzdHJpbmc+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoJycpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9IHRoaXMubmdDb250cm9sLmVycm9ycztcclxuXHJcbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KCcnKTtcclxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGVycm9ycyk7XHJcblxyXG4gICAgaWYgKGtleXMubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCgnJyk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb3JJdGVtOiBWYWxpZGF0aW9uRXJyb3JJdGVtID0gZXJyb3JzW2tleXNbMF1dO1xyXG5cclxuICAgIC8vIFZhbGlkYXRpb24gUGFyYW1ldGVyc1xyXG4gICAgY29uc3QgcGFyYW1ldGVycyA9IHt9O1xyXG4gICAgaWYgKGVycm9ySXRlbS5wYXJhbWV0ZXJzICE9PSBudWxsICYmIGVycm9ySXRlbS5wYXJhbWV0ZXJzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZXJyb3JJdGVtLnBhcmFtZXRlcnMuZm9yRWFjaCgodiwgaykgPT4ge1xyXG4gICAgICAgIHBhcmFtZXRlcnNba10gPSB2O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHBhcmFtZXRlcnNbJ0ZJRUxEJ10gPSBlcnJvckl0ZW0uZmllbGROYW1lO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgIGVycm9ySXRlbS5lcnJvck1lc3NhZ2VLZXksXHJcbiAgICAgIHBhcmFtZXRlcnNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0IEV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgLy8gcmVjZWl2ZSBmb3JtIHZpYSBmb3JtY29udHJvbG5hbWUgb3IgZm9ybWNvbnRyb2wgaW5zdGFuY2VcclxuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuICAgIGlmIChmb3JtQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sTmFtZSkge1xyXG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5pbmplY3Rvci5nZXQoRm9ybUdyb3VwRGlyZWN0aXZlLCBudWxsKTtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wgPSBmb3JtLmdldENvbnRyb2woZm9ybUNvbnRyb2wpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wgPSBmb3JtQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuVXBkYXRlTGFiZWxUb0NvbnRyb2woKTtcclxuXHJcbiAgICAvLyBzZXQgbGFiZWwgc2l6ZXMgZnJvbSBmb3JtbGF5b3V0IGRpcmVjdGl2ZVxyXG4gICAgdGhpcy5zZXRMYWJlbFNpemVzKCk7XHJcblxyXG4gICAgLy8gc2V0IGNvbXBvbmVudCBoZWlndGggZnJvbSBmcm9tbGF5b3V0IGRpcmVjdGl2ZVxyXG4gICAgdGhpcy5zZXRDb21wb25lbnRIZWlnaHQoKTtcclxuXHJcbiAgICAvLyBzZXQgYWRhcHRpdmUgbGFiZWwgcHJvcGVydHkgZnJvbSBmb3JtbGF5b3V0IGRpcmVjdGl2ZVxyXG4gICAgdGhpcy5zZXRJc0FkYXB0aXZlTGFiZWwoKTtcclxuXHJcbiAgICB0aGlzLk9uQ2xhc3NJbml0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBib29sZWFuIHRvdWNoZWQgPSB0cnVlXHJcbiAgICovXHJcbiAgcHVibGljIG9uVG91Y2goKTogdm9pZCB7XHJcbiAgICB0aGlzLl90b3VjaGVkID0gdHJ1ZTtcclxuICAgIHRoaXMucHJvcGFnYXRlVG91Y2goKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBpbSBDb250cm9sIG1pdGJla29tbWVuIGvDtm5uZW5cclxuICAgKiBadXIgw4RuZGVydW5nc2luZm8gZGllIE1ldGhvZGUgcHJvcGFnYXRlQ2hhbmdlIGF1ZnJ1ZmVuLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gKG9iaikgPT4gZm4ob2JqKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBtaXRiZWtvbW1lbiwgd2VubiBkYXMgQ29udHJvbCBha3RpdmllcnQgKEZvY3VzKSB3aXJkLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoID0gKG9iaikgPT4gZm4ob2JqKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgcmVnaXN0cmllcnQgw4RuZGVydW5nZW4gYmVpIGRlciBWYWxpZGllcnVuZ1xyXG4gICAqL1xyXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0enQgZGFzIENvbnRyb2wgYXVmIERpc2FibGVkXHJcbiAgICovXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWRGb3JtID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZGllIGRlbiBXZXJ0IGRlcyBJbnB1dHMgc2V0enRcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VmFsdWUodjogVkFMVUUpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIE1ldGhvZGVcclxuICAgKi9cclxuICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgY29uc3QgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gdGhpcy52YWxpZGF0ZURhdGEoYyk7XHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHp1bSBzY2hyZWliZW4gdm9uIFdlcnRlbiBhdXMgZGVtIE1vZGVsIGluIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFZBTFVFKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIEFic3RyYWt0ZSBWYWxpZGF0b3IgTWV0aG9kZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhYnN0cmFjdCB2YWxpZGF0ZURhdGEoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGw7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEFic3RyYWN0IE1ldGhvZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgY2FuIE92ZXJ3cml0ZW4gaW4gUGFyZW50IENsYXNzZXNcclxuICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGluIGRlbiBrb3JyZWt0ZW4gVHlwIGtvbnZlcnRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHJldHVybnMgV2VydCBpbSBrb3JyZWt0ZW4gVHlwXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIENvbnZlcnRJbnB1dFZhbHVlKHZhbHVlOiBWQUxVRSk6IFZBTFVFIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IERlY2ltYWwgU3ltYm9sXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIEdldERlY2ltYWxTeW1ib2woKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnLic7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgY2FuIGJlIHVzZWQgdG8gU2V0IFByb3BlcnRpZXMgYXQgQ2xhc3MgSW5pdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBPbkNsYXNzSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFrdHVhbGlzaWVydCBkZW4gTmdNb2RlbCBXZXJ0IHVuZCBkaWUgR8O8bHRpZ2tlaXQgZGVzIFZhbGlkYXRvcnMgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICBwcml2YXRlIFVwZGF0ZUxhYmVsVG9Db250cm9sKCk6IHZvaWQge1xyXG4gICAgLy8gSEFDSzogQWRkIGFkZGl0aW9uIHByb3BlcnR5IHRvIEZvcm1Db250cm9sLiBDYW4gYmUgZml4ZWQgaWYgc29sdXRpb24gZm9yIHRpY2tldDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTk2ODZcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICAoXHJcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wgYXMgdW5rbm93biBhcyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb25cclxuICAgICAgKS5jb250cm9sbGFiZWwgPSB0aGlzLmxhYmVsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGNvbXBvbmVudCBoZWlnaHQgZnJvbSBwcm9wZXJ0eSBvciBwYXJlbnQgbGF5b3V0IGNvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIHNldENvbXBvbmVudEhlaWdodCgpIHtcclxuICAgIC8vIHNldCBzaXplIGV4dHJhIHNtYWxsXHJcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50SGVpZ2h0KSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmNvbXBvbmVudEhlaWdodCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50SGVpZ2h0ID0gdGhpcy5mb3JtbGF5b3V0LmNvbXBvbmVudEhlaWdodDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEhlaWdodCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuQ29tcG9uZW50SGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgYWRhcHRpdmUgbGFiZWwgcHJvcGVydHkgZnJvbSBwYXJlbnQgbGF5b3V0IGNvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIHNldElzQWRhcHRpdmVMYWJlbCgpIHtcclxuICAgIGlmICghdGhpcy5pc0FkYXB0aXZlTGFiZWwpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8uaXNBZGFwdGl2ZUxhYmVsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmlzQWRhcHRpdmVMYWJlbCA9IHRoaXMuZm9ybWxheW91dC5pc0FkYXB0aXZlTGFiZWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc0FkYXB0aXZlTGFiZWwgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGxhYmVsIHNpemVzIGZyb20gcHJvcGVydHkgb3IgcGFyZW50IGxheW91dCBjb250cm9sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRMYWJlbFNpemVzKCkge1xyXG4gICAgLy8gc2V0IHNpemUgZXh0cmEgc21hbGxcclxuICAgIGlmICghdGhpcy5sYWJlbFNpemVYcykge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5sYWJlbFNpemVYcykge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplWHMgPSB0aGlzLmZvcm1sYXlvdXQubGFiZWxTaXplWHM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYcyA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuTGFiZWxTaXplWHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgc2l6ZSBzbWFsbFxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZVNtKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZVNtKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVTbSA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVTbTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVNtID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5MYWJlbFNpemVTbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNldCBzaXplIG1lZGl1bVxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZU1kKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZU1kKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVNZCA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVNZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZU1kID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5MYWJlbFNpemVNZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNldCBzaXplIGxhcmdlXHJcbiAgICBpZiAoIXRoaXMubGFiZWxTaXplTGcpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8ubGFiZWxTaXplTGcpIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZUxnID0gdGhpcy5mb3JtbGF5b3V0LmxhYmVsU2l6ZUxnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplTGcgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLkxhYmVsU2l6ZUxnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHNpemUgZXh0cmEgbGFyZ2VcclxuICAgIGlmICghdGhpcy5sYWJlbFNpemVYbCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5sYWJlbFNpemVYbCkge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplWGwgPSB0aGlzLmZvcm1sYXlvdXQubGFiZWxTaXplWGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYbCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuTGFiZWxTaXplWGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgc2l6ZSBleHRyYSBleHRyYSBsYXJnZVxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZVh4bCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5sYWJlbFNpemVYeGwpIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVh4bCA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVYeGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYeGwgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLkxhYmVsU2l6ZVh4bDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG4iXX0=
|
|
135
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3Zfc3lxeWd3OGptIiwiYWN0dWFsQ292ZXJhZ2UiLCJEaXJlY3RpdmUiLCJIb3N0IiwiSW5wdXQiLCJGb3JtQ29udHJvbE5hbWUiLCJGb3JtR3JvdXBEaXJlY3RpdmUiLCJOZ0NvbnRyb2wiLCJPYnNlcnZhYmxlIiwiQ29udHJvbEhlaWdodCIsIlNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSIsIlNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSIsIlNBQ0NPTkZJR1VSQVRJT05fU0VSVklDRSIsIlNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSIsIlNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFIiwiU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UiLCJjb252ZXJ0VG9Cb29sZWFuIiwiY3JlYXRlR3VpZCIsIlNhY0Jhc2VNb2RlbENvbnRyb2wiLCJjb25zdHJ1Y3RvciIsImZvcm1sYXlvdXQiLCJpbmplY3RvciIsImYiLCJzIiwiX2lubGluZWVycm9yZW5hYmxlZCIsIl9sYWJlbCIsIl9kaXJ0eSIsIl9kaXNhYmxlZEZvcm0iLCJfdG91Y2hlZCIsIl92YWx1ZSIsImNvbXBvbmVudEhlaWdodCIsImRpc2FibGVkIiwiZGlzYWJsZWxhYmVsIiwiaW5saW5lRXJyb3IiLCJpc0FkYXB0aXZlTGFiZWwiLCJsYWJlbFNpemVMZyIsImxhYmVsU2l6ZU1kIiwibGFiZWxTaXplU20iLCJsYWJlbFNpemVYbCIsImxhYmVsU2l6ZVhzIiwibGFiZWxTaXplWHhsIiwibmFtZSIsInByb3BhZ2F0ZUNoYW5nZSIsInByb3BhZ2F0ZVRvdWNoIiwidmFsaWRhdGlvbktleVNlcnZpY2UiLCJnZXQiLCJsbmdSZXNvdXJjZVNlcnZpY2UiLCJjb25maWd1cmF0aW9uU2VydmljZSIsImlubGluZWVycm9yZW5hYmxlZCIsInZhbHVlIiwiYiIsInVuZGVmaW5lZCIsImxhYmVsIiwidiIsIlVwZGF0ZUxhYmVsVG9Db250cm9sIiwiQ29udmVydElucHV0VmFsdWUiLCJkaXJ0eSIsIm5nQ29udHJvbCIsImludmFsaWQiLCJpc2Rpc2FibGVkIiwiaXNpbmxpbmVlcnJvcmVuYWJsZWQiLCJJc0lubGluZUVycm9yRW5hYmxlZCIsImxhYmVsU2l6ZXMiLCJ0b3VjaGVkIiwiR2V0RXJyb3JNZXNzYWdlIiwiZXJyb3JzIiwib2JzZXJ2ZXIiLCJuZXh0IiwiY29tcGxldGUiLCJsZW5ndGgiLCJrZXlzIiwiT2JqZWN0IiwiZXJyb3JJdGVtIiwicGFyYW1ldGVycyIsImZvckVhY2giLCJrIiwiZmllbGROYW1lIiwiR2V0U3RyaW5nIiwiZXJyb3JNZXNzYWdlS2V5IiwibmdPbkluaXQiLCJmb3JtQ29udHJvbCIsImZvcm0iLCJnZXRDb250cm9sIiwiY29udHJvbCIsInNldExhYmVsU2l6ZXMiLCJzZXRDb21wb25lbnRIZWlnaHQiLCJzZXRJc0FkYXB0aXZlTGFiZWwiLCJPbkNsYXNzSW5pdCIsIm9uVG91Y2giLCJyZWdpc3Rlck9uQ2hhbmdlIiwiZm4iLCJvYmoiLCJyZWdpc3Rlck9uVG91Y2hlZCIsInJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UiLCJfb25DaGFuZ2UiLCJzZXREaXNhYmxlZFN0YXRlIiwiaXNEaXNhYmxlZCIsInNldFZhbHVlIiwidmFsaWRhdGUiLCJjIiwiZXJyb3IiLCJ2YWxpZGF0ZURhdGEiLCJ3cml0ZVZhbHVlIiwiR2V0RGVjaW1hbFN5bWJvbCIsIlVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkiLCJ1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5Iiwib25seVNlbGYiLCJjb250cm9sbGFiZWwiLCJDb21wb25lbnRIZWlnaHQiLCJMYWJlbFNpemVYcyIsIkxhYmVsU2l6ZVNtIiwiTGFiZWxTaXplTWQiLCJMYWJlbFNpemVMZyIsIkxhYmVsU2l6ZVhsIiwiTGFiZWxTaXplWHhsIiwiZGVwcyIsInRva2VuIiwiaTEiLCJTYWNGb3JtTGF5b3V0Q29tbW9uIiwiaG9zdCIsImkwIiwiSW5qZWN0b3IiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2xOYW1lLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBOZ0NvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQnO1xyXG5pbXBvcnQgeyBDb250cm9sSGVpZ2h0IH0gZnJvbSAnLi4vZW51bXMvQ29udHJvbEhlaWdodCc7XHJcbmltcG9ydCB7IElTYWNDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0NvbmZpZ3VyYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY0xhYmVsU2l6ZXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMYWJlbFNpemVzJztcclxuaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2lhYnN0cmFjdGNvbnRyb2xsYWJlbCc7XHJcbmltcG9ydCB7XHJcbiAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgU0FDQ09ORklHVVJBVElPTl9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xyXG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2d1aWQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XHJcbi8qKlxyXG4gKiBBYnN0cmFjdCBLbGFzc2UgZsO8ciBTYWNCYXNlTW9kZWxDb250cm9sLiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uSW5pdFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNCYXNlTW9kZWxDb250cm9sPFZBTFVFPlxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25Jbml0XHJcbntcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5saW5lZXJyb3JlbmFibGVkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGZvciBsb2FkaW5nIGRlZmF1bHQgc2V0dGluZ3MgZm9yIHRoZSBjb250cm9sc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWd1cmF0aW9uU2VydmljZTogSVNhY0NvbmZpZ3VyYXRpb25TZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IGRpcnR5OyBkZWZhdWx0IFdlcnQgLSBmYWxzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlydHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBTYWNNb2RlbCBGb3JtIGlzdCBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlzYWJsZWRGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9vbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IHRvdWNoZWQ7IGRlZmF1bHQgV2VydCAtIGZhbHNlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF90b3VjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogSW50ZXJuZSBWYXJpYWJsZSwgZGllIGRlbiBXZXJ0IGRlcyBDb250cm9scyBow6RsdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfdmFsdWU6IFZBTFVFID0gbnVsbDtcclxuICAvKipcclxuICAgKiBGb3JtIGxheW91dCBpbnN0YW5jZSBpZiBleGlzdHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbiA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xyXG4gIC8qKlxyXG4gICAqIG5nQ29udHJvbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBuZ0NvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgc3RhbmRhcmQgaGVpZ2h0IG9mIHRoZSBjb21wb25lbnRzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29tcG9uZW50SGVpZ2h0OiBDb250cm9sSGVpZ2h0IHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogRGVha3RpdmllcnQgZGFzIElucHV0IENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBEZWFrdGl2aWVydCBkYXMgTGFiZWwgaW0gVGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWxhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogZGVmaW5lcyB0aGF0IGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQgdW5kZXIgdGhlIGNvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlubGluZUVycm9yOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBkZWZpbmVzIHRoYXQgdGhlIGxhYmVscyBhcmUgZGlzcGxheWVkIGFzIGFkYXB0aXZlIGxhYmVsc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0FkYXB0aXZlTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmUgc2l6ZSBmb3IgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZUxnOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIG1lZGl1bSBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplTWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3Igc21hbGwgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVNtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYbDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBjb2x1bW4gc2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVhzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYeGw6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIE5hbWUgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbEhlaWdodCBlbnVtIGZvciB1c2UgaW4gSFRNTCBtYXJrdXBcclxuICAgKi9cclxuICBwdWJsaWMgQ29udHJvbEhlaWdodDogdHlwZW9mIENvbnRyb2xIZWlnaHQgPSBDb250cm9sSGVpZ2h0O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZUNoYW5nZVwiLiBNdXNzIGdlbWFjaHQgd2VyZGVuLCBkYW1pdCBrZWluIEZlaGxlciBlbnRzdGVodFxyXG4gICAqL1xyXG4gIHB1YmxpYyBwcm9wYWdhdGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZVRvdWNoXCIuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHVibGljIHByb3BhZ2F0ZVRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuICAvKipcclxuICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRpb25LZXlTZXJ2aWNlOiBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2U7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHRoaXMuZm9ybWxheW91dCA9IGZvcm1sYXlvdXQ7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UoKVxyXG4gICAgKTtcclxuICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0NPTkZJR1VSQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBBa3RpdmllcnQgb2RlciBEZWFrdGl2aWVydCBkaWUgSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGlubGluZWVycm9yZW5hYmxlZCh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZCA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkZW4gTGFiZWwgVGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbGFiZWwodjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9sYWJlbCA9IHY7XHJcbiAgICB0aGlzLlVwZGF0ZUxhYmVsVG9Db250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgTWV0aG9kZSBmw7xyIE5nTW9kZWwgQmluZGluZyBpbiBIdG1sIE1hcmt1cFxyXG4gICAqIElucHV0IHdpcmQgYmVuw7Z0aWd0LCBkYW1pdCBkZXIgV2VydCBhdWNoIMO8YmVyIGRhcyBNYXJrdXAgZ2VzZXR6dCB3ZXJkZW4ga2Fubi5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogVkFMVUUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMuQ29udmVydElucHV0VmFsdWUodik7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBCb29sZWFuIFdlcnQgZsO8ciBkaXJ0eVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgZGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fZGlydHkgPSB0aGlzLm5nQ29udHJvbC5kaXJ0eTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fZGlydHk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlubGluZWVycm9yZW5hYmxlZCgpOiBib29sZWFuIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5saW5lZXJyb3JlbmFibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBlcmdpYnQgYm9vbGVhbiBXZXJ0IHdlbm4gRm9ybSBpbnZhbGlkIG9kZXIgbmljaHQgaW52YWxpZCBpc3RcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLm5nQ29udHJvbCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMubmdDb250cm9sICE9PSBudWxsICYmXHJcbiAgICAgIHRoaXMubmdDb250cm9sLmludmFsaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgb2IgZGFzIENvbnRyb2wgZGlzYWJsZWQgaXN0XHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpc2Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRm9ybSB8fCB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBpbmxpbmUgZXJyb3IgbWVzc2FnZXMgYXJlIGFjdGl2ZSBmb3IgdGhpcyBjb250cm9sLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaXNpbmxpbmVlcnJvcmVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZm9ybWxheW91dD8uSXNJbmxpbmVFcnJvckVuYWJsZWQgPT09IG51bGwgfHxcclxuICAgICAgdGhpcy5mb3JtbGF5b3V0Py5Jc0lubGluZUVycm9yRW5hYmxlZCA9PT0gdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmZvcm1sYXlvdXQuSXNJbmxpbmVFcnJvckVuYWJsZWQgIT09IGZhbHNlICYmXHJcbiAgICAgIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZCAhPT0gZmFsc2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgZGVuIExhYmVsIFRleHRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFiZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiByZXR1cm5zIGFuIG9iamVjdCB3aXRoIGFsbCBsYWJlbCBzaXplcy4gVGhlc2UgdmFsdWVzIGNhbiB0aGVuIGJlIHRyYW5zZmVycmVkIHRvIGNvcnJlc3BvbmRpbmcgQ1NTIGNsYXNzZXMgdXNpbmcgYSBwaXBlXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBsYWJlbFNpemVzKCk6IElTYWNMYWJlbFNpemVzIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsU2l6ZVNtOiB0aGlzLmxhYmVsU2l6ZVNtLFxyXG4gICAgICBsYWJlbFNpemVNZDogdGhpcy5sYWJlbFNpemVNZCxcclxuICAgICAgbGFiZWxTaXplWHM6IHRoaXMubGFiZWxTaXplWHMsXHJcbiAgICAgIGxhYmVsU2l6ZVhsOiB0aGlzLmxhYmVsU2l6ZVhsLFxyXG4gICAgICBsYWJlbFNpemVYeGw6IHRoaXMubGFiZWxTaXplWHhsLFxyXG4gICAgICBsYWJlbFNpemVMZzogdGhpcy5sYWJlbFNpemVMZyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBCb29sZWFuIFdlcnQgZsO8ciB0b3VjaGVkXHJcbiAgICovXHJcbiAgcHVibGljIGdldCB0b3VjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX3RvdWNoZWQgPSB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl90b3VjaGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IE1ldGhvZGUgZsO8ciBOZ01vZGVsIEJpbmRpbmcgaW4gSHRtbCBNYXJrdXBcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFZBTFVFIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBFcnJvciBhbmhhbmQgdm9uIGdlZ2ViZW5lbiBLcml0ZXJpZW5cclxuICAgKi9cclxuICBwdWJsaWMgR2V0RXJyb3JNZXNzYWdlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wuZXJyb3JzID09PSB1bmRlZmluZWQgfHwgdGhpcy5uZ0NvbnRyb2wuZXJyb3JzID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxzdHJpbmc+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoJycpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9IHRoaXMubmdDb250cm9sLmVycm9ycztcclxuXHJcbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KCcnKTtcclxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGVycm9ycyk7XHJcblxyXG4gICAgaWYgKGtleXMubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCgnJyk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb3JJdGVtOiBWYWxpZGF0aW9uRXJyb3JJdGVtID0gZXJyb3JzW2tleXNbMF1dO1xyXG5cclxuICAgIC8vIFZhbGlkYXRpb24gUGFyYW1ldGVyc1xyXG4gICAgY29uc3QgcGFyYW1ldGVycyA9IHt9O1xyXG4gICAgaWYgKGVycm9ySXRlbS5wYXJhbWV0ZXJzICE9PSBudWxsICYmIGVycm9ySXRlbS5wYXJhbWV0ZXJzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZXJyb3JJdGVtLnBhcmFtZXRlcnMuZm9yRWFjaCgodiwgaykgPT4ge1xyXG4gICAgICAgIHBhcmFtZXRlcnNba10gPSB2O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHBhcmFtZXRlcnNbJ0ZJRUxEJ10gPSBlcnJvckl0ZW0uZmllbGROYW1lO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgIGVycm9ySXRlbS5lcnJvck1lc3NhZ2VLZXksXHJcbiAgICAgIHBhcmFtZXRlcnNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0IEV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgLy8gcmVjZWl2ZSBmb3JtIHZpYSBmb3JtY29udHJvbG5hbWUgb3IgZm9ybWNvbnRyb2wgaW5zdGFuY2VcclxuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuICAgIGlmIChmb3JtQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sTmFtZSkge1xyXG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5pbmplY3Rvci5nZXQoRm9ybUdyb3VwRGlyZWN0aXZlLCBudWxsKTtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wgPSBmb3JtLmdldENvbnRyb2woZm9ybUNvbnRyb2wpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wgPSBmb3JtQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuVXBkYXRlTGFiZWxUb0NvbnRyb2woKTtcclxuXHJcbiAgICAvLyBzZXQgbGFiZWwgc2l6ZXMgZnJvbSBmb3JtbGF5b3V0IGRpcmVjdGl2ZVxyXG4gICAgdGhpcy5zZXRMYWJlbFNpemVzKCk7XHJcblxyXG4gICAgLy8gc2V0IGNvbXBvbmVudCBoZWlndGggZnJvbSBmcm9tbGF5b3V0IGRpcmVjdGl2ZVxyXG4gICAgdGhpcy5zZXRDb21wb25lbnRIZWlnaHQoKTtcclxuXHJcbiAgICAvLyBzZXQgYWRhcHRpdmUgbGFiZWwgcHJvcGVydHkgZnJvbSBmb3JtbGF5b3V0IGRpcmVjdGl2ZVxyXG4gICAgdGhpcy5zZXRJc0FkYXB0aXZlTGFiZWwoKTtcclxuXHJcbiAgICB0aGlzLk9uQ2xhc3NJbml0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBib29sZWFuIHRvdWNoZWQgPSB0cnVlXHJcbiAgICovXHJcbiAgcHVibGljIG9uVG91Y2goKTogdm9pZCB7XHJcbiAgICB0aGlzLl90b3VjaGVkID0gdHJ1ZTtcclxuICAgIHRoaXMucHJvcGFnYXRlVG91Y2goKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBpbSBDb250cm9sIG1pdGJla29tbWVuIGvDtm5uZW5cclxuICAgKiBadXIgw4RuZGVydW5nc2luZm8gZGllIE1ldGhvZGUgcHJvcGFnYXRlQ2hhbmdlIGF1ZnJ1ZmVuLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gKG9iaikgPT4gZm4ob2JqKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBtaXRiZWtvbW1lbiwgd2VubiBkYXMgQ29udHJvbCBha3RpdmllcnQgKEZvY3VzKSB3aXJkLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoID0gKG9iaikgPT4gZm4ob2JqKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgcmVnaXN0cmllcnQgw4RuZGVydW5nZW4gYmVpIGRlciBWYWxpZGllcnVuZ1xyXG4gICAqL1xyXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0enQgZGFzIENvbnRyb2wgYXVmIERpc2FibGVkXHJcbiAgICovXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWRGb3JtID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZGllIGRlbiBXZXJ0IGRlcyBJbnB1dHMgc2V0enRcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VmFsdWUodjogVkFMVUUpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIE1ldGhvZGVcclxuICAgKi9cclxuICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgY29uc3QgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gdGhpcy52YWxpZGF0ZURhdGEoYyk7XHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHp1bSBzY2hyZWliZW4gdm9uIFdlcnRlbiBhdXMgZGVtIE1vZGVsIGluIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFZBTFVFKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIEFic3RyYWt0ZSBWYWxpZGF0b3IgTWV0aG9kZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhYnN0cmFjdCB2YWxpZGF0ZURhdGEoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGw7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEFic3RyYWN0IE1ldGhvZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgY2FuIE92ZXJ3cml0ZW4gaW4gUGFyZW50IENsYXNzZXNcclxuICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGluIGRlbiBrb3JyZWt0ZW4gVHlwIGtvbnZlcnRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHJldHVybnMgV2VydCBpbSBrb3JyZWt0ZW4gVHlwXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIENvbnZlcnRJbnB1dFZhbHVlKHZhbHVlOiBWQUxVRSk6IFZBTFVFIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IERlY2ltYWwgU3ltYm9sXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIEdldERlY2ltYWxTeW1ib2woKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnLic7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgY2FuIGJlIHVzZWQgdG8gU2V0IFByb3BlcnRpZXMgYXQgQ2xhc3MgSW5pdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBPbkNsYXNzSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFrdHVhbGlzaWVydCBkZW4gTmdNb2RlbCBXZXJ0IHVuZCBkaWUgR8O8bHRpZ2tlaXQgZGVzIFZhbGlkYXRvcnMgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICBwcml2YXRlIFVwZGF0ZUxhYmVsVG9Db250cm9sKCk6IHZvaWQge1xyXG4gICAgLy8gSEFDSzogQWRkIGFkZGl0aW9uIHByb3BlcnR5IHRvIEZvcm1Db250cm9sLiBDYW4gYmUgZml4ZWQgaWYgc29sdXRpb24gZm9yIHRpY2tldDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTk2ODZcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICAoXHJcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wgYXMgdW5rbm93biBhcyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb25cclxuICAgICAgKS5jb250cm9sbGFiZWwgPSB0aGlzLmxhYmVsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGNvbXBvbmVudCBoZWlnaHQgZnJvbSBwcm9wZXJ0eSBvciBwYXJlbnQgbGF5b3V0IGNvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIHNldENvbXBvbmVudEhlaWdodCgpIHtcclxuICAgIC8vIHNldCBzaXplIGV4dHJhIHNtYWxsXHJcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50SGVpZ2h0KSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmNvbXBvbmVudEhlaWdodCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50SGVpZ2h0ID0gdGhpcy5mb3JtbGF5b3V0LmNvbXBvbmVudEhlaWdodDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEhlaWdodCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuQ29tcG9uZW50SGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgYWRhcHRpdmUgbGFiZWwgcHJvcGVydHkgZnJvbSBwYXJlbnQgbGF5b3V0IGNvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIHNldElzQWRhcHRpdmVMYWJlbCgpIHtcclxuICAgIGlmICghdGhpcy5pc0FkYXB0aXZlTGFiZWwpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8uaXNBZGFwdGl2ZUxhYmVsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmlzQWRhcHRpdmVMYWJlbCA9IHRoaXMuZm9ybWxheW91dC5pc0FkYXB0aXZlTGFiZWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc0FkYXB0aXZlTGFiZWwgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGxhYmVsIHNpemVzIGZyb20gcHJvcGVydHkgb3IgcGFyZW50IGxheW91dCBjb250cm9sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRMYWJlbFNpemVzKCkge1xyXG4gICAgLy8gc2V0IHNpemUgZXh0cmEgc21hbGxcclxuICAgIGlmICghdGhpcy5sYWJlbFNpemVYcykge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5sYWJlbFNpemVYcykge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplWHMgPSB0aGlzLmZvcm1sYXlvdXQubGFiZWxTaXplWHM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYcyA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuTGFiZWxTaXplWHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgc2l6ZSBzbWFsbFxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZVNtKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZVNtKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVTbSA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVTbTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVNtID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5MYWJlbFNpemVTbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNldCBzaXplIG1lZGl1bVxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZU1kKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZU1kKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVNZCA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVNZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZU1kID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5MYWJlbFNpemVNZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNldCBzaXplIGxhcmdlXHJcbiAgICBpZiAoIXRoaXMubGFiZWxTaXplTGcpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8ubGFiZWxTaXplTGcpIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZUxnID0gdGhpcy5mb3JtbGF5b3V0LmxhYmVsU2l6ZUxnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplTGcgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLkxhYmVsU2l6ZUxnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHNpemUgZXh0cmEgbGFyZ2VcclxuICAgIGlmICghdGhpcy5sYWJlbFNpemVYbCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5sYWJlbFNpemVYbCkge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplWGwgPSB0aGlzLmZvcm1sYXlvdXQubGFiZWxTaXplWGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYbCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuTGFiZWxTaXplWGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgc2l6ZSBleHRyYSBleHRyYSBsYXJnZVxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZVh4bCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5sYWJlbFNpemVYeGwpIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVh4bCA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVYeGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYeGwgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLkxhYmVsU2l6ZVh4bDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG4iXSwibWFwcGluZ3MiOiJreGhEQWdLRTtBQUFBQSxhQUFBLFNBQUFBLENBQUEsU0FBQUMsY0FBQSxXQUFBQSxj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
|
|
128
|
+
*/setLabelSizes(){cov_syqygw8jm().f[38]++;cov_syqygw8jm().s[113]++;// set size extra small
|
|
129
|
+
if(!this.labelSizeXs){cov_syqygw8jm().b[25][0]++;cov_syqygw8jm().s[114]++;if(this.formlayout?.labelSizeXs){cov_syqygw8jm().b[26][0]++;cov_syqygw8jm().s[115]++;this.labelSizeXs=this.formlayout.labelSizeXs;}else{cov_syqygw8jm().b[26][1]++;cov_syqygw8jm().s[116]++;this.labelSizeXs=this.configurationService.LabelSizeXs;}}else{cov_syqygw8jm().b[25][1]++;}// set size small
|
|
130
|
+
cov_syqygw8jm().s[117]++;if(!this.labelSizeSm){cov_syqygw8jm().b[27][0]++;cov_syqygw8jm().s[118]++;if(this.formlayout?.labelSizeSm){cov_syqygw8jm().b[28][0]++;cov_syqygw8jm().s[119]++;this.labelSizeSm=this.formlayout.labelSizeSm;}else{cov_syqygw8jm().b[28][1]++;cov_syqygw8jm().s[120]++;this.labelSizeSm=this.configurationService.LabelSizeSm;}}else{cov_syqygw8jm().b[27][1]++;}// set size medium
|
|
131
|
+
cov_syqygw8jm().s[121]++;if(!this.labelSizeMd){cov_syqygw8jm().b[29][0]++;cov_syqygw8jm().s[122]++;if(this.formlayout?.labelSizeMd){cov_syqygw8jm().b[30][0]++;cov_syqygw8jm().s[123]++;this.labelSizeMd=this.formlayout.labelSizeMd;}else{cov_syqygw8jm().b[30][1]++;cov_syqygw8jm().s[124]++;this.labelSizeMd=this.configurationService.LabelSizeMd;}}else{cov_syqygw8jm().b[29][1]++;}// set size large
|
|
132
|
+
cov_syqygw8jm().s[125]++;if(!this.labelSizeLg){cov_syqygw8jm().b[31][0]++;cov_syqygw8jm().s[126]++;if(this.formlayout?.labelSizeLg){cov_syqygw8jm().b[32][0]++;cov_syqygw8jm().s[127]++;this.labelSizeLg=this.formlayout.labelSizeLg;}else{cov_syqygw8jm().b[32][1]++;cov_syqygw8jm().s[128]++;this.labelSizeLg=this.configurationService.LabelSizeLg;}}else{cov_syqygw8jm().b[31][1]++;}// set size extra large
|
|
133
|
+
cov_syqygw8jm().s[129]++;if(!this.labelSizeXl){cov_syqygw8jm().b[33][0]++;cov_syqygw8jm().s[130]++;if(this.formlayout?.labelSizeXl){cov_syqygw8jm().b[34][0]++;cov_syqygw8jm().s[131]++;this.labelSizeXl=this.formlayout.labelSizeXl;}else{cov_syqygw8jm().b[34][1]++;cov_syqygw8jm().s[132]++;this.labelSizeXl=this.configurationService.LabelSizeXl;}}else{cov_syqygw8jm().b[33][1]++;}// set size extra extra large
|
|
134
|
+
cov_syqygw8jm().s[133]++;if(!this.labelSizeXxl){cov_syqygw8jm().b[35][0]++;cov_syqygw8jm().s[134]++;if(this.formlayout?.labelSizeXxl){cov_syqygw8jm().b[36][0]++;cov_syqygw8jm().s[135]++;this.labelSizeXxl=this.formlayout.labelSizeXxl;}else{cov_syqygw8jm().b[36][1]++;cov_syqygw8jm().s[136]++;this.labelSizeXxl=this.configurationService.LabelSizeXxl;}}else{cov_syqygw8jm().b[35][1]++;}}static{cov_syqygw8jm().s[137]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacBaseModelControl,deps:[{token:i1.SacFormLayoutCommon,host:true},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_syqygw8jm().s[138]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacBaseModelControl,inputs:{componentHeight:"componentHeight",disabled:"disabled",disablelabel:"disablelabel",inlineError:"inlineError",isAdaptiveLabel:"isAdaptiveLabel",labelSizeLg:"labelSizeLg",labelSizeMd:"labelSizeMd",labelSizeSm:"labelSizeSm",labelSizeXl:"labelSizeXl",labelSizeXs:"labelSizeXs",labelSizeXxl:"labelSizeXxl",name:"name",inlineerrorenabled:"inlineerrorenabled",label:"label",value:"value"},ngImport:i0});}}export{SacBaseModelControl};cov_syqygw8jm().s[139]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacBaseModelControl,decorators:[{type:Directive}],ctorParameters:function(){cov_syqygw8jm().f[39]++;cov_syqygw8jm().s[140]++;return[{type:i1.SacFormLayoutCommon,decorators:[{type:Host}]},{type:i0.Injector}];},propDecorators:{componentHeight:[{type:Input}],disabled:[{type:Input}],disablelabel:[{type:Input}],inlineError:[{type:Input}],isAdaptiveLabel:[{type:Input}],labelSizeLg:[{type:Input}],labelSizeMd:[{type:Input}],labelSizeSm:[{type:Input}],labelSizeXl:[{type:Input}],labelSizeXs:[{type:Input}],labelSizeXxl:[{type:Input}],name:[{type:Input}],inlineerrorenabled:[{type:Input}],label:[{type:Input}],value:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZW1vZGVsY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBR0wsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixTQUFTLEdBSVYsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU12RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDhCQUE4QixHQUMvQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDhCQUE4QixHQUMvQixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsNkJBQTZCLEdBQzlCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFL0M7O0dBRUc7QUFDSCxNQUNzQixtQkFBbUI7SUEwSHZDLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ1UsVUFBK0IsRUFDL0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWxJNUIscUJBQXFCO1FBRXJCOztXQUVHO1FBQ0ssd0JBQW1CLEdBQW1CLElBQUksQ0FBQztRQUMzQyxXQUFNLEdBQVcsRUFBRSxDQUFDO1FBTzVCOztXQUVHO1FBQ08sV0FBTSxHQUFZLEtBQUssQ0FBQztRQUNsQzs7V0FFRztRQUNPLGtCQUFhLEdB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c0JBQTNCLEtBQUs7Z0JBSVUsV0FBVztzQkFBMUIsS0FBSztnQkFJVSxlQUFlO3NCQUE5QixLQUFLO2dCQUtDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBTUMsV0FBVztzQkFEakIsS0FBSztnQkFNQyxXQUFXO3NCQURqQixLQUFLO2dCQU1DLFdBQVc7c0JBRGpCLEtBQUs7Z0JBTUMsV0FBVztzQkFEakIsS0FBSztnQkFNQyxZQUFZO3NCQURsQixLQUFLO2dCQUtVLElBQUk7c0JBQW5CLEtBQUs7Z0JBd0RLLGtCQUFrQjtzQkFENUIsS0FBSztnQkFZYyxLQUFLO3NCQUF4QixLQUFLO2dCQVVLLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2xOYW1lLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBOZ0NvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQnO1xyXG5pbXBvcnQgeyBDb250cm9sSGVpZ2h0IH0gZnJvbSAnLi4vZW51bXMvQ29udHJvbEhlaWdodCc7XHJcbmltcG9ydCB7IElTYWNDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0NvbmZpZ3VyYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY0xhYmVsU2l6ZXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMYWJlbFNpemVzJztcclxuaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2lhYnN0cmFjdGNvbnRyb2xsYWJlbCc7XHJcbmltcG9ydCB7XHJcbiAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgU0FDQ09ORklHVVJBVElPTl9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xyXG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2d1aWQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XHJcbi8qKlxyXG4gKiBBYnN0cmFjdCBLbGFzc2UgZsO8ciBTYWNCYXNlTW9kZWxDb250cm9sLiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uSW5pdFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNCYXNlTW9kZWxDb250cm9sPFZBTFVFPlxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25Jbml0XHJcbntcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5saW5lZXJyb3JlbmFibGVkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGZvciBsb2FkaW5nIGRlZmF1bHQgc2V0dGluZ3MgZm9yIHRoZSBjb250cm9sc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWd1cmF0aW9uU2VydmljZTogSVNhY0NvbmZpZ3VyYXRpb25TZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IGRpcnR5OyBkZWZhdWx0IFdlcnQgLSBmYWxzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlydHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBTYWNNb2RlbCBGb3JtIGlzdCBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlzYWJsZWRGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9vbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IHRvdWNoZWQ7IGRlZmF1bHQgV2VydCAtIGZhbHNlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF90b3VjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogSW50ZXJuZSBWYXJpYWJsZSwgZGllIGRlbiBXZXJ0IGRlcyBDb250cm9scyBow6RsdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfdmFsdWU6IFZBTFVFID0gbnVsbDtcclxuICAvKipcclxuICAgKiBGb3JtIGxheW91dCBpbnN0YW5jZSBpZiBleGlzdHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbiA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xyXG4gIC8qKlxyXG4gICAqIG5nQ29udHJvbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBuZ0NvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgc3RhbmRhcmQgaGVpZ2h0IG9mIHRoZSBjb21wb25lbnRzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29tcG9uZW50SGVpZ2h0OiBDb250cm9sSGVpZ2h0IHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogRGVha3RpdmllcnQgZGFzIElucHV0IENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBEZWFrdGl2aWVydCBkYXMgTGFiZWwgaW0gVGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWxhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogZGVmaW5lcyB0aGF0IGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQgdW5kZXIgdGhlIGNvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlubGluZUVycm9yOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBkZWZpbmVzIHRoYXQgdGhlIGxhYmVscyBhcmUgZGlzcGxheWVkIGFzIGFkYXB0aXZlIGxhYmVsc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0FkYXB0aXZlTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmUgc2l6ZSBmb3IgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZUxnOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIG1lZGl1bSBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplTWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3Igc21hbGwgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVNtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYbDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBjb2x1bW4gc2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVhzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYeGw6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIE5hbWUgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbEhlaWdodCBlbnVtIGZvciB1c2UgaW4gSFRNTCBtYXJrdXBcclxuICAgKi9cclxuICBwdWJsaWMgQ29udHJvbEhlaWdodDogdHlwZW9mIENvbnRyb2xIZWlnaHQgPSBDb250cm9sSGVpZ2h0O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZUNoYW5nZVwiLiBNdXNzIGdlbWFjaHQgd2VyZGVuLCBkYW1pdCBrZWluIEZlaGxlciBlbnRzdGVodFxyXG4gICAqL1xyXG4gIHB1YmxpYyBwcm9wYWdhdGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZVRvdWNoXCIuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHVibGljIHByb3BhZ2F0ZVRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuICAvKipcclxuICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRpb25LZXlTZXJ2aWNlOiBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2U7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHRoaXMuZm9ybWxheW91dCA9IGZvcm1sYXlvdXQ7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UoKVxyXG4gICAgKTtcclxuICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0NPTkZJR1VSQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBBa3RpdmllcnQgb2RlciBEZWFrdGl2aWVydCBkaWUgSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGlubGluZWVycm9yZW5hYmxlZCh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZCA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkZW4gTGFiZWwgVGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbGFiZWwodjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9sYWJlbCA9IHY7XHJcbiAgICB0aGlzLlVwZGF0ZUxhYmVsVG9Db250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgTWV0aG9kZSBmw7xyIE5nTW9kZWwgQmluZGluZyBpbiBIdG1sIE1hcmt1cFxyXG4gICAqIElucHV0IHdpcmQgYmVuw7Z0aWd0LCBkYW1pdCBkZXIgV2VydCBhdWNoIMO8YmVyIGRhcyBNYXJrdXAgZ2VzZXR6dCB3ZXJkZW4ga2Fubi5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogVkFMVUUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMuQ29udmVydElucHV0VmFsdWUodik7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBCb29sZWFuIFdlcnQgZsO8ciBkaXJ0eVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgZGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fZGlydHkgPSB0aGlzLm5nQ29udHJvbC5kaXJ0eTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fZGlydHk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlubGluZWVycm9yZW5hYmxlZCgpOiBib29sZWFuIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5saW5lZXJyb3JlbmFibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBlcmdpYnQgYm9vbGVhbiBXZXJ0IHdlbm4gRm9ybSBpbnZhbGlkIG9kZXIgbmljaHQgaW52YWxpZCBpc3RcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLm5nQ29udHJvbCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMubmdDb250cm9sICE9PSBudWxsICYmXHJcbiAgICAgIHRoaXMubmdDb250cm9sLmludmFsaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgb2IgZGFzIENvbnRyb2wgZGlzYWJsZWQgaXN0XHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpc2Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRm9ybSB8fCB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBpbmxpbmUgZXJyb3IgbWVzc2FnZXMgYXJlIGFjdGl2ZSBmb3IgdGhpcyBjb250cm9sLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaXNpbmxpbmVlcnJvcmVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5faW5saW5lZXJyb3JlbmFibGVkICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZvcm1sYXlvdXQgIT09IG51bGwgJiZcclxuICAgICAgdGhpcy5mb3JtbGF5b3V0LklzSW5saW5lRXJyb3JFbmFibGVkICE9PSBudWxsXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZm9ybWxheW91dD8uSXNJbmxpbmVFcnJvckVuYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuSW5saW5lRXJyb3JFbmFibGVkICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLklubGluZUVycm9yRW5hYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkZW4gTGFiZWwgVGV4dFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldHVybnMgYW4gb2JqZWN0IHdpdGggYWxsIGxhYmVsIHNpemVzLiBUaGVzZSB2YWx1ZXMgY2FuIHRoZW4gYmUgdHJhbnNmZXJyZWQgdG8gY29ycmVzcG9uZGluZyBDU1MgY2xhc3NlcyB1c2luZyBhIHBpcGVcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGxhYmVsU2l6ZXMoKTogSVNhY0xhYmVsU2l6ZXMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGFiZWxTaXplU206IHRoaXMubGFiZWxTaXplU20sXHJcbiAgICAgIGxhYmVsU2l6ZU1kOiB0aGlzLmxhYmVsU2l6ZU1kLFxyXG4gICAgICBsYWJlbFNpemVYczogdGhpcy5sYWJlbFNpemVYcyxcclxuICAgICAgbGFiZWxTaXplWGw6IHRoaXMubGFiZWxTaXplWGwsXHJcbiAgICAgIGxhYmVsU2l6ZVh4bDogdGhpcy5sYWJlbFNpemVYeGwsXHJcbiAgICAgIGxhYmVsU2l6ZUxnOiB0aGlzLmxhYmVsU2l6ZUxnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IEJvb2xlYW4gV2VydCBmw7xyIHRvdWNoZWRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHRvdWNoZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fdG91Y2hlZCA9IHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3RvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgTWV0aG9kZSBmw7xyIE5nTW9kZWwgQmluZGluZyBpbiBIdG1sIE1hcmt1cFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogVkFMVUUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IEVycm9yIGFuaGFuZCB2b24gZ2VnZWJlbmVuIEtyaXRlcmllblxyXG4gICAqL1xyXG4gIHB1YmxpYyBHZXRFcnJvck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbC5lcnJvcnMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLm5nQ29udHJvbC5lcnJvcnMgPT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCgnJyk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0gdGhpcy5uZ0NvbnRyb2wuZXJyb3JzO1xyXG5cclxuICAgIGlmIChlcnJvcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxzdHJpbmc+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoJycpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoZXJyb3JzKTtcclxuXHJcbiAgICBpZiAoa2V5cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KCcnKTtcclxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBlcnJvckl0ZW06IFZhbGlkYXRpb25FcnJvckl0ZW0gPSBlcnJvcnNba2V5c1swXV07XHJcblxyXG4gICAgLy8gVmFsaWRhdGlvbiBQYXJhbWV0ZXJzXHJcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0ge307XHJcbiAgICBpZiAoZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IG51bGwgJiYgZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBlcnJvckl0ZW0ucGFyYW1ldGVycy5mb3JFYWNoKCh2LCBrKSA9PiB7XHJcbiAgICAgICAgcGFyYW1ldGVyc1trXSA9IHY7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IGVycm9ySXRlbS5maWVsZE5hbWU7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgZXJyb3JJdGVtLmVycm9yTWVzc2FnZUtleSxcclxuICAgICAgcGFyYW1ldGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXQgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAvLyByZWNlaXZlIGZvcm0gdmlhIGZvcm1jb250cm9sbmFtZSBvciBmb3JtY29udHJvbCBpbnN0YW5jZVxyXG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgaWYgKGZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmluamVjdG9yLmdldChGb3JtR3JvdXBEaXJlY3RpdmUsIG51bGwpO1xyXG4gICAgICB0aGlzLm5nQ29udHJvbCA9IGZvcm0uZ2V0Q29udHJvbChmb3JtQ29udHJvbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoZm9ybUNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLm5nQ29udHJvbCA9IGZvcm1Db250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5VcGRhdGVMYWJlbFRvQ29udHJvbCgpO1xyXG5cclxuICAgIC8vIHNldCBsYWJlbCBzaXplcyBmcm9tIGZvcm1sYXlvdXQgZGlyZWN0aXZlXHJcbiAgICB0aGlzLnNldExhYmVsU2l6ZXMoKTtcclxuXHJcbiAgICAvLyBzZXQgY29tcG9uZW50IGhlaWd0aCBmcm9tIGZyb21sYXlvdXQgZGlyZWN0aXZlXHJcbiAgICB0aGlzLnNldENvbXBvbmVudEhlaWdodCgpO1xyXG5cclxuICAgIC8vIHNldCBhZGFwdGl2ZSBsYWJlbCBwcm9wZXJ0eSBmcm9tIGZvcm1sYXlvdXQgZGlyZWN0aXZlXHJcbiAgICB0aGlzLnNldElzQWRhcHRpdmVMYWJlbCgpO1xyXG5cclxuICAgIHRoaXMuT25DbGFzc0luaXQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IGJvb2xlYW4gdG91Y2hlZCA9IHRydWVcclxuICAgKi9cclxuICBwdWJsaWMgb25Ub3VjaCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RvdWNoZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVUb3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSwgZGFtaXQgYW5kZXJlIENvbnRyb2xzIMOkbmRlcnVuZ2VuIGltIENvbnRyb2wgbWl0YmVrb21tZW4ga8O2bm5lblxyXG4gICAqIFp1ciDDhG5kZXJ1bmdzaW5mbyBkaWUgTWV0aG9kZSBwcm9wYWdhdGVDaGFuZ2UgYXVmcnVmZW4uXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSwgZGFtaXQgYW5kZXJlIENvbnRyb2xzIMOkbmRlcnVuZ2VuIG1pdGJla29tbWVuLCB3ZW5uIGRhcyBDb250cm9sIGFrdGl2aWVydCAoRm9jdXMpIHdpcmQuXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlVG91Y2ggPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSByZWdpc3RyaWVydCDDhG5kZXJ1bmdlbiBiZWkgZGVyIFZhbGlkaWVydW5nXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkYXMgQ29udHJvbCBhdWYgRGlzYWJsZWRcclxuICAgKi9cclxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZEZvcm0gPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBkaWUgZGVuIFdlcnQgZGVzIElucHV0cyBzZXR6dFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRWYWx1ZSh2OiBWQUxVRSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgTWV0aG9kZVxyXG4gICAqL1xyXG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBjb25zdCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSB0aGlzLnZhbGlkYXRlRGF0YShjKTtcclxuICAgIHJldHVybiBlcnJvcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgenVtIHNjaHJlaWJlbiB2b24gV2VydGVuIGF1cyBkZW0gTW9kZWwgaW4gZGFzIENvbnRyb2xcclxuICAgKi9cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVkFMVUUpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEFic3RyYWN0IE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogQWJzdHJha3RlIFZhbGlkYXRvciBNZXRob2RlXHJcbiAgICovXHJcbiAgcHVibGljIGFic3RyYWN0IHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgQWJzdHJhY3QgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBjYW4gT3ZlcndyaXRlbiBpbiBQYXJlbnQgQ2xhc3Nlc1xyXG4gICAqIEBwYXJhbSB2YWx1ZSBXZXJ0IHdlbGNoZXIgaW4gZGVuIGtvcnJla3RlbiBUeXAga29udmVydGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcmV0dXJucyBXZXJ0IGltIGtvcnJla3RlbiBUeXBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgQ29udmVydElucHV0VmFsdWUodmFsdWU6IFZBTFVFKTogVkFMVUUge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBlcmdpYnQgRGVjaW1hbCBTeW1ib2xcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgR2V0RGVjaW1hbFN5bWJvbCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICcuJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBjYW4gYmUgdXNlZCB0byBTZXQgUHJvcGVydGllcyBhdCBDbGFzcyBJbml0XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIE9uQ2xhc3NJbml0KCk6IHZvaWQge31cclxuXHJcbiAgLyoqXHJcbiAgICogQWt0dWFsaXNpZXJ0IGRlbiBOZ01vZGVsIFdlcnQgdW5kIGRpZSBHw7xsdGlna2VpdCBkZXMgVmFsaWRhdG9ycyBkZXMgQ29udHJvbHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgVXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcblxyXG4gIHByaXZhdGUgVXBkYXRlTGFiZWxUb0NvbnRyb2woKTogdm9pZCB7XHJcbiAgICAvLyBIQUNLOiBBZGQgYWRkaXRpb24gcHJvcGVydHkgdG8gRm9ybUNvbnRyb2wuIENhbiBiZSBmaXhlZCBpZiBzb2x1dGlvbiBmb3IgdGlja2V0OiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xOTY4NlxyXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XHJcbiAgICAgIChcclxuICAgICAgICB0aGlzLm5nQ29udHJvbCBhcyB1bmtub3duIGFzIElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvblxyXG4gICAgICApLmNvbnRyb2xsYWJlbCA9IHRoaXMubGFiZWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgY29tcG9uZW50IGhlaWdodCBmcm9tIHByb3BlcnR5IG9yIHBhcmVudCBsYXlvdXQgY29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0Q29tcG9uZW50SGVpZ2h0KCkge1xyXG4gICAgLy8gc2V0IHNpemUgZXh0cmEgc21hbGxcclxuICAgIGlmICghdGhpcy5jb21wb25lbnRIZWlnaHQpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8uY29tcG9uZW50SGVpZ2h0KSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRIZWlnaHQgPSB0aGlzLmZvcm1sYXlvdXQuY29tcG9uZW50SGVpZ2h0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50SGVpZ2h0ID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5Db21wb25lbnRIZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBhZGFwdGl2ZSBsYWJlbCBwcm9wZXJ0eSBmcm9tIHBhcmVudCBsYXlvdXQgY29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0SXNBZGFwdGl2ZUxhYmVsKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzQWRhcHRpdmVMYWJlbCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5pc0FkYXB0aXZlTGFiZWwgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuaXNBZGFwdGl2ZUxhYmVsID0gdGhpcy5mb3JtbGF5b3V0LmlzQWRhcHRpdmVMYWJlbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzQWRhcHRpdmVMYWJlbCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgbGFiZWwgc2l6ZXMgZnJvbSBwcm9wZXJ0eSBvciBwYXJlbnQgbGF5b3V0IGNvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIHNldExhYmVsU2l6ZXMoKSB7XHJcbiAgICAvLyBzZXQgc2l6ZSBleHRyYSBzbWFsbFxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZVhzKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZVhzKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYcyA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVYcztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVhzID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5MYWJlbFNpemVYcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNldCBzaXplIHNtYWxsXHJcbiAgICBpZiAoIXRoaXMubGFiZWxTaXplU20pIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8ubGFiZWxTaXplU20pIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVNtID0gdGhpcy5mb3JtbGF5b3V0LmxhYmVsU2l6ZVNtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplU20gPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLkxhYmVsU2l6ZVNtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHNpemUgbWVkaXVtXHJcbiAgICBpZiAoIXRoaXMubGFiZWxTaXplTWQpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8ubGFiZWxTaXplTWQpIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZU1kID0gdGhpcy5mb3JtbGF5b3V0LmxhYmVsU2l6ZU1kO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplTWQgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLkxhYmVsU2l6ZU1kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHNpemUgbGFyZ2VcclxuICAgIGlmICghdGhpcy5sYWJlbFNpemVMZykge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5sYWJlbFNpemVMZykge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplTGcgPSB0aGlzLmZvcm1sYXlvdXQubGFiZWxTaXplTGc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVMZyA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuTGFiZWxTaXplTGc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgc2l6ZSBleHRyYSBsYXJnZVxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZVhsKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZVhsKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYbCA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVYbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVhsID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5MYWJlbFNpemVYbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNldCBzaXplIGV4dHJhIGV4dHJhIGxhcmdlXHJcbiAgICBpZiAoIXRoaXMubGFiZWxTaXplWHhsKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZVh4bCkge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplWHhsID0gdGhpcy5mb3JtbGF5b3V0LmxhYmVsU2l6ZVh4bDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVh4bCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuTGFiZWxTaXplWHhsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG59XHJcbiJdfQ==
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3Zfc3lxeWd3OGptIiwiYWN0dWFsQ292ZXJhZ2UiLCJEaXJlY3RpdmUiLCJIb3N0IiwiSW5wdXQiLCJGb3JtQ29udHJvbE5hbWUiLCJGb3JtR3JvdXBEaXJlY3RpdmUiLCJOZ0NvbnRyb2wiLCJPYnNlcnZhYmxlIiwiQ29udHJvbEhlaWdodCIsIlNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSIsIlNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSIsIlNBQ0NPTkZJR1VSQVRJT05fU0VSVklDRSIsIlNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSIsIlNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFIiwiU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UiLCJjb252ZXJ0VG9Cb29sZWFuIiwiY3JlYXRlR3VpZCIsIlNhY0Jhc2VNb2RlbENvbnRyb2wiLCJjb25zdHJ1Y3RvciIsImZvcm1sYXlvdXQiLCJpbmplY3RvciIsImYiLCJzIiwiX2lubGluZWVycm9yZW5hYmxlZCIsIl9sYWJlbCIsIl9kaXJ0eSIsIl9kaXNhYmxlZEZvcm0iLCJfdG91Y2hlZCIsIl92YWx1ZSIsImNvbXBvbmVudEhlaWdodCIsImRpc2FibGVkIiwiZGlzYWJsZWxhYmVsIiwiaW5saW5lRXJyb3IiLCJpc0FkYXB0aXZlTGFiZWwiLCJsYWJlbFNpemVMZyIsImxhYmVsU2l6ZU1kIiwibGFiZWxTaXplU20iLCJsYWJlbFNpemVYbCIsImxhYmVsU2l6ZVhzIiwibGFiZWxTaXplWHhsIiwibmFtZSIsInByb3BhZ2F0ZUNoYW5nZSIsInByb3BhZ2F0ZVRvdWNoIiwidmFsaWRhdGlvbktleVNlcnZpY2UiLCJnZXQiLCJsbmdSZXNvdXJjZVNlcnZpY2UiLCJjb25maWd1cmF0aW9uU2VydmljZSIsImlubGluZWVycm9yZW5hYmxlZCIsInZhbHVlIiwiYiIsInVuZGVmaW5lZCIsImxhYmVsIiwidiIsIlVwZGF0ZUxhYmVsVG9Db250cm9sIiwiQ29udmVydElucHV0VmFsdWUiLCJkaXJ0eSIsIm5nQ29udHJvbCIsImludmFsaWQiLCJpc2Rpc2FibGVkIiwiaXNpbmxpbmVlcnJvcmVuYWJsZWQiLCJJc0lubGluZUVycm9yRW5hYmxlZCIsIklubGluZUVycm9yRW5hYmxlZCIsImxhYmVsU2l6ZXMiLCJ0b3VjaGVkIiwiR2V0RXJyb3JNZXNzYWdlIiwiZXJyb3JzIiwib2JzZXJ2ZXIiLCJuZXh0IiwiY29tcGxldGUiLCJsZW5ndGgiLCJrZXlzIiwiT2JqZWN0IiwiZXJyb3JJdGVtIiwicGFyYW1ldGVycyIsImZvckVhY2giLCJrIiwiZmllbGROYW1lIiwiR2V0U3RyaW5nIiwiZXJyb3JNZXNzYWdlS2V5IiwibmdPbkluaXQiLCJmb3JtQ29udHJvbCIsImZvcm0iLCJnZXRDb250cm9sIiwiY29udHJvbCIsInNldExhYmVsU2l6ZXMiLCJzZXRDb21wb25lbnRIZWlnaHQiLCJzZXRJc0FkYXB0aXZlTGFiZWwiLCJPbkNsYXNzSW5pdCIsIm9uVG91Y2giLCJyZWdpc3Rlck9uQ2hhbmdlIiwiZm4iLCJvYmoiLCJyZWdpc3Rlck9uVG91Y2hlZCIsInJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UiLCJfb25DaGFuZ2UiLCJzZXREaXNhYmxlZFN0YXRlIiwiaXNEaXNhYmxlZCIsInNldFZhbHVlIiwidmFsaWRhdGUiLCJjIiwiZXJyb3IiLCJ2YWxpZGF0ZURhdGEiLCJ3cml0ZVZhbHVlIiwiR2V0RGVjaW1hbFN5bWJvbCIsIlVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkiLCJ1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5Iiwib25seVNlbGYiLCJjb250cm9sbGFiZWwiLCJDb21wb25lbnRIZWlnaHQiLCJMYWJlbFNpemVYcyIsIkxhYmVsU2l6ZVNtIiwiTGFiZWxTaXplTWQiLCJMYWJlbFNpemVMZyIsIkxhYmVsU2l6ZVhsIiwiTGFiZWxTaXplWHhsIiwiZGVwcyIsInRva2VuIiwiaTEiLCJTYWNGb3JtTGF5b3V0Q29tbW9uIiwiaG9zdCIsImkwIiwiSW5qZWN0b3IiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2xOYW1lLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBOZ0NvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQnO1xyXG5pbXBvcnQgeyBDb250cm9sSGVpZ2h0IH0gZnJvbSAnLi4vZW51bXMvQ29udHJvbEhlaWdodCc7XHJcbmltcG9ydCB7IElTYWNDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0NvbmZpZ3VyYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY0xhYmVsU2l6ZXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMYWJlbFNpemVzJztcclxuaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2lhYnN0cmFjdGNvbnRyb2xsYWJlbCc7XHJcbmltcG9ydCB7XHJcbiAgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgU0FDQ09ORklHVVJBVElPTl9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xyXG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2d1aWQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XHJcbi8qKlxyXG4gKiBBYnN0cmFjdCBLbGFzc2UgZsO8ciBTYWNCYXNlTW9kZWxDb250cm9sLiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uSW5pdFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNCYXNlTW9kZWxDb250cm9sPFZBTFVFPlxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25Jbml0XHJcbntcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5saW5lZXJyb3JlbmFibGVkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGZvciBsb2FkaW5nIGRlZmF1bHQgc2V0dGluZ3MgZm9yIHRoZSBjb250cm9sc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWd1cmF0aW9uU2VydmljZTogSVNhY0NvbmZpZ3VyYXRpb25TZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IGRpcnR5OyBkZWZhdWx0IFdlcnQgLSBmYWxzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlydHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBTYWNNb2RlbCBGb3JtIGlzdCBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlzYWJsZWRGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9vbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IHRvdWNoZWQ7IGRlZmF1bHQgV2VydCAtIGZhbHNlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF90b3VjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogSW50ZXJuZSBWYXJpYWJsZSwgZGllIGRlbiBXZXJ0IGRlcyBDb250cm9scyBow6RsdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfdmFsdWU6IFZBTFVFID0gbnVsbDtcclxuICAvKipcclxuICAgKiBGb3JtIGxheW91dCBpbnN0YW5jZSBpZiBleGlzdHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbiA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xyXG4gIC8qKlxyXG4gICAqIG5nQ29udHJvbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBuZ0NvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgc3RhbmRhcmQgaGVpZ2h0IG9mIHRoZSBjb21wb25lbnRzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29tcG9uZW50SGVpZ2h0OiBDb250cm9sSGVpZ2h0IHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogRGVha3RpdmllcnQgZGFzIElucHV0IENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBEZWFrdGl2aWVydCBkYXMgTGFiZWwgaW0gVGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWxhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogZGVmaW5lcyB0aGF0IGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQgdW5kZXIgdGhlIGNvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlubGluZUVycm9yOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBkZWZpbmVzIHRoYXQgdGhlIGxhYmVscyBhcmUgZGlzcGxheWVkIGFzIGFkYXB0aXZlIGxhYmVsc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0FkYXB0aXZlTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmUgc2l6ZSBmb3IgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZUxnOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIG1lZGl1bSBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplTWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3Igc21hbGwgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVNtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYbDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBjb2x1bW4gc2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVhzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYeGw6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIE5hbWUgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbEhlaWdodCBlbnVtIGZvciB1c2UgaW4gSFRNTCBtYXJrdXBcclxuICAgKi9cclxuICBwdWJsaWMgQ29udHJvbEhlaWdodDogdHlwZW9mIENvbnRyb2xIZWlnaHQgPSBDb250cm9sSGVpZ2h0O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZUNoYW5nZVwiLiBNdXNzIGdlbWFjaHQgd2VyZGVuLCBkYW1pdCBrZWluIEZlaGxlciBlbnRzdGVodFxyXG4gICAqL1xyXG4gIHB1YmxpYyBwcm9wYWdhdGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZVRvdWNoXCIuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHVibGljIHByb3BhZ2F0ZVRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuICAvKipcclxuICAgKiBTZXJ2aWNlIHRvIHJlY2VpdmUgc3RhbmRhcmQgdmFsaWRhdGlvbiBtZXNzYWdlIGtleXMgYW5kIHRleHRzXHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRpb25LZXlTZXJ2aWNlOiBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2U7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHRoaXMuZm9ybWxheW91dCA9IGZvcm1sYXlvdXQ7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UoKVxyXG4gICAgKTtcclxuICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0NPTkZJR1VSQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRDb25maWd1cmF0aW9uU2VydmljZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBBa3RpdmllcnQgb2RlciBEZWFrdGl2aWVydCBkaWUgSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGlubGluZWVycm9yZW5hYmxlZCh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZCA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkZW4gTGFiZWwgVGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbGFiZWwodjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9sYWJlbCA9IHY7XHJcbiAgICB0aGlzLlVwZGF0ZUxhYmVsVG9Db250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgTWV0aG9kZSBmw7xyIE5nTW9kZWwgQmluZGluZyBpbiBIdG1sIE1hcmt1cFxyXG4gICAqIElucHV0IHdpcmQgYmVuw7Z0aWd0LCBkYW1pdCBkZXIgV2VydCBhdWNoIMO8YmVyIGRhcyBNYXJrdXAgZ2VzZXR6dCB3ZXJkZW4ga2Fubi5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogVkFMVUUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMuQ29udmVydElucHV0VmFsdWUodik7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBCb29sZWFuIFdlcnQgZsO8ciBkaXJ0eVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgZGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fZGlydHkgPSB0aGlzLm5nQ29udHJvbC5kaXJ0eTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fZGlydHk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlubGluZWVycm9yZW5hYmxlZCgpOiBib29sZWFuIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5saW5lZXJyb3JlbmFibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBlcmdpYnQgYm9vbGVhbiBXZXJ0IHdlbm4gRm9ybSBpbnZhbGlkIG9kZXIgbmljaHQgaW52YWxpZCBpc3RcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLm5nQ29udHJvbCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMubmdDb250cm9sICE9PSBudWxsICYmXHJcbiAgICAgIHRoaXMubmdDb250cm9sLmludmFsaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgb2IgZGFzIENvbnRyb2wgZGlzYWJsZWQgaXN0XHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpc2Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRm9ybSB8fCB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBpbmxpbmUgZXJyb3IgbWVzc2FnZXMgYXJlIGFjdGl2ZSBmb3IgdGhpcyBjb250cm9sLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaXNpbmxpbmVlcnJvcmVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5faW5saW5lZXJyb3JlbmFibGVkICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZvcm1sYXlvdXQgIT09IG51bGwgJiZcclxuICAgICAgdGhpcy5mb3JtbGF5b3V0LklzSW5saW5lRXJyb3JFbmFibGVkICE9PSBudWxsXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZm9ybWxheW91dD8uSXNJbmxpbmVFcnJvckVuYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuSW5saW5lRXJyb3JFbmFibGVkICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLklubGluZUVycm9yRW5hYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkZW4gTGFiZWwgVGV4dFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldHVybnMgYW4gb2JqZWN0IHdpdGggYWxsIGxhYmVsIHNpemVzLiBUaGVzZSB2YWx1ZXMgY2FuIHRoZW4gYmUgdHJhbnNmZXJyZWQgdG8gY29ycmVzcG9uZGluZyBDU1MgY2xhc3NlcyB1c2luZyBhIHBpcGVcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGxhYmVsU2l6ZXMoKTogSVNhY0xhYmVsU2l6ZXMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGFiZWxTaXplU206IHRoaXMubGFiZWxTaXplU20sXHJcbiAgICAgIGxhYmVsU2l6ZU1kOiB0aGlzLmxhYmVsU2l6ZU1kLFxyXG4gICAgICBsYWJlbFNpemVYczogdGhpcy5sYWJlbFNpemVYcyxcclxuICAgICAgbGFiZWxTaXplWGw6IHRoaXMubGFiZWxTaXplWGwsXHJcbiAgICAgIGxhYmVsU2l6ZVh4bDogdGhpcy5sYWJlbFNpemVYeGwsXHJcbiAgICAgIGxhYmVsU2l6ZUxnOiB0aGlzLmxhYmVsU2l6ZUxnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IEJvb2xlYW4gV2VydCBmw7xyIHRvdWNoZWRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHRvdWNoZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fdG91Y2hlZCA9IHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3RvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgTWV0aG9kZSBmw7xyIE5nTW9kZWwgQmluZGluZyBpbiBIdG1sIE1hcmt1cFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogVkFMVUUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IEVycm9yIGFuaGFuZCB2b24gZ2VnZWJlbmVuIEtyaXRlcmllblxyXG4gICAqL1xyXG4gIHB1YmxpYyBHZXRFcnJvck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbC5lcnJvcnMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLm5nQ29udHJvbC5lcnJvcnMgPT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCgnJyk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0gdGhpcy5uZ0NvbnRyb2wuZXJyb3JzO1xyXG5cclxuICAgIGlmIChlcnJvcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxzdHJpbmc+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoJycpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoZXJyb3JzKTtcclxuXHJcbiAgICBpZiAoa2V5cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KCcnKTtcclxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBlcnJvckl0ZW06IFZhbGlkYXRpb25FcnJvckl0ZW0gPSBlcnJvcnNba2V5c1swXV07XHJcblxyXG4gICAgLy8gVmFsaWRhdGlvbiBQYXJhbWV0ZXJzXHJcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0ge307XHJcbiAgICBpZiAoZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IG51bGwgJiYgZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBlcnJvckl0ZW0ucGFyYW1ldGVycy5mb3JFYWNoKCh2LCBrKSA9PiB7XHJcbiAgICAgICAgcGFyYW1ldGVyc1trXSA9IHY7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IGVycm9ySXRlbS5maWVsZE5hbWU7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgZXJyb3JJdGVtLmVycm9yTWVzc2FnZUtleSxcclxuICAgICAgcGFyYW1ldGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXQgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAvLyByZWNlaXZlIGZvcm0gdmlhIGZvcm1jb250cm9sbmFtZSBvciBmb3JtY29udHJvbCBpbnN0YW5jZVxyXG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgaWYgKGZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmluamVjdG9yLmdldChGb3JtR3JvdXBEaXJlY3RpdmUsIG51bGwpO1xyXG4gICAgICB0aGlzLm5nQ29udHJvbCA9IGZvcm0uZ2V0Q29udHJvbChmb3JtQ29udHJvbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoZm9ybUNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLm5nQ29udHJvbCA9IGZvcm1Db250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5VcGRhdGVMYWJlbFRvQ29udHJvbCgpO1xyXG5cclxuICAgIC8vIHNldCBsYWJlbCBzaXplcyBmcm9tIGZvcm1sYXlvdXQgZGlyZWN0aXZlXHJcbiAgICB0aGlzLnNldExhYmVsU2l6ZXMoKTtcclxuXHJcbiAgICAvLyBzZXQgY29tcG9uZW50IGhlaWd0aCBmcm9tIGZyb21sYXlvdXQgZGlyZWN0aXZlXHJcbiAgICB0aGlzLnNldENvbXBvbmVudEhlaWdodCgpO1xyXG5cclxuICAgIC8vIHNldCBhZGFwdGl2ZSBsYWJlbCBwcm9wZXJ0eSBmcm9tIGZvcm1sYXlvdXQgZGlyZWN0aXZlXHJcbiAgICB0aGlzLnNldElzQWRhcHRpdmVMYWJlbCgpO1xyXG5cclxuICAgIHRoaXMuT25DbGFzc0luaXQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IGJvb2xlYW4gdG91Y2hlZCA9IHRydWVcclxuICAgKi9cclxuICBwdWJsaWMgb25Ub3VjaCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RvdWNoZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVUb3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSwgZGFtaXQgYW5kZXJlIENvbnRyb2xzIMOkbmRlcnVuZ2VuIGltIENvbnRyb2wgbWl0YmVrb21tZW4ga8O2bm5lblxyXG4gICAqIFp1ciDDhG5kZXJ1bmdzaW5mbyBkaWUgTWV0aG9kZSBwcm9wYWdhdGVDaGFuZ2UgYXVmcnVmZW4uXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSwgZGFtaXQgYW5kZXJlIENvbnRyb2xzIMOkbmRlcnVuZ2VuIG1pdGJla29tbWVuLCB3ZW5uIGRhcyBDb250cm9sIGFrdGl2aWVydCAoRm9jdXMpIHdpcmQuXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlVG91Y2ggPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSByZWdpc3RyaWVydCDDhG5kZXJ1bmdlbiBiZWkgZGVyIFZhbGlkaWVydW5nXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkYXMgQ29udHJvbCBhdWYgRGlzYWJsZWRcclxuICAgKi9cclxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZEZvcm0gPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBkaWUgZGVuIFdlcnQgZGVzIElucHV0cyBzZXR6dFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRWYWx1ZSh2OiBWQUxVRSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgTWV0aG9kZVxyXG4gICAqL1xyXG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBjb25zdCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSB0aGlzLnZhbGlkYXRlRGF0YShjKTtcclxuICAgIHJldHVybiBlcnJvcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgenVtIHNjaHJlaWJlbiB2b24gV2VydGVuIGF1cyBkZW0gTW9kZWwgaW4gZGFzIENvbnRyb2xcclxuICAgKi9cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVkFMVUUpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEFic3RyYWN0IE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogQWJzdHJha3RlIFZhbGlkYXRvciBNZXRob2RlXHJcbiAgICovXHJcbiAgcHVibGljIGFic3RyYWN0IHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgQWJzdHJhY3QgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBjYW4gT3ZlcndyaXRlbiBpbiBQYXJlbnQgQ2xhc3Nlc1xyXG4gICAqIEBwYXJhbSB2YWx1ZSBXZXJ0IHdlbGNoZXIgaW4gZGVuIGtvcnJla3RlbiBUeXAga29udmVydGllcnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcmV0dXJucyBXZXJ0IGltIGtvcnJla3RlbiBUeXBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgQ29udmVydElucHV0VmFsdWUodmFsdWU6IFZBTFVFKTogVkFMVUUge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBlcmdpYnQgRGVjaW1hbCBTeW1ib2xcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgR2V0RGVjaW1hbFN5bWJvbCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICcuJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBjYW4gYmUgdXNlZCB0byBTZXQgUHJvcGVydGllcyBhdCBDbGFzcyBJbml0XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIE9uQ2xhc3NJbml0KCk6IHZvaWQge31cclxuXHJcbiAgLyoqXHJcbiAgICogQWt0dWFsaXNpZXJ0IGRlbiBOZ01vZGVsIFdlcnQgdW5kIGRpZSBHw7xsdGlna2VpdCBkZXMgVmFsaWRhdG9ycyBkZXMgQ29udHJvbHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgVXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcblxyXG4gIHByaXZhdGUgVXBkYXRlTGFiZWxUb0NvbnRyb2woKTogdm9pZCB7XHJcbiAgICAvLyBIQUNLOiBBZGQgYWRkaXRpb24gcHJvcGVydHkgdG8gRm9ybUNvbnRyb2wuIENhbiBiZSBmaXhlZCBpZiBzb2x1dGlvbiBmb3IgdGlja2V0OiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xOTY4NlxyXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XHJcbiAgICAgIChcclxuICAgICAgICB0aGlzLm5nQ29udHJvbCBhcyB1bmtub3duIGFzIElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvblxyXG4gICAgICApLmNvbnRyb2xsYWJlbCA9IHRoaXMubGFiZWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgY29tcG9uZW50IGhlaWdodCBmcm9tIHByb3BlcnR5IG9yIHBhcmVudCBsYXlvdXQgY29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0Q29tcG9uZW50SGVpZ2h0KCkge1xyXG4gICAgLy8gc2V0IHNpemUgZXh0cmEgc21hbGxcclxuICAgIGlmICghdGhpcy5jb21wb25lbnRIZWlnaHQpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8uY29tcG9uZW50SGVpZ2h0KSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRIZWlnaHQgPSB0aGlzLmZvcm1sYXlvdXQuY29tcG9uZW50SGVpZ2h0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50SGVpZ2h0ID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5Db21wb25lbnRIZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBhZGFwdGl2ZSBsYWJlbCBwcm9wZXJ0eSBmcm9tIHBhcmVudCBsYXlvdXQgY29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0SXNBZGFwdGl2ZUxhYmVsKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzQWRhcHRpdmVMYWJlbCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5pc0FkYXB0aXZlTGFiZWwgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuaXNBZGFwdGl2ZUxhYmVsID0gdGhpcy5mb3JtbGF5b3V0LmlzQWRhcHRpdmVMYWJlbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzQWRhcHRpdmVMYWJlbCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgbGFiZWwgc2l6ZXMgZnJvbSBwcm9wZXJ0eSBvciBwYXJlbnQgbGF5b3V0IGNvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIHNldExhYmVsU2l6ZXMoKSB7XHJcbiAgICAvLyBzZXQgc2l6ZSBleHRyYSBzbWFsbFxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZVhzKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZVhzKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYcyA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVYcztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVhzID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5MYWJlbFNpemVYcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNldCBzaXplIHNtYWxsXHJcbiAgICBpZiAoIXRoaXMubGFiZWxTaXplU20pIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8ubGFiZWxTaXplU20pIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVNtID0gdGhpcy5mb3JtbGF5b3V0LmxhYmVsU2l6ZVNtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplU20gPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLkxhYmVsU2l6ZVNtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHNpemUgbWVkaXVtXHJcbiAgICBpZiAoIXRoaXMubGFiZWxTaXplTWQpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWxheW91dD8ubGFiZWxTaXplTWQpIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZU1kID0gdGhpcy5mb3JtbGF5b3V0LmxhYmVsU2l6ZU1kO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplTWQgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLkxhYmVsU2l6ZU1kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHNpemUgbGFyZ2VcclxuICAgIGlmICghdGhpcy5sYWJlbFNpemVMZykge1xyXG4gICAgICBpZiAodGhpcy5mb3JtbGF5b3V0Py5sYWJlbFNpemVMZykge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplTGcgPSB0aGlzLmZvcm1sYXlvdXQubGFiZWxTaXplTGc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVMZyA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuTGFiZWxTaXplTGc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgc2l6ZSBleHRyYSBsYXJnZVxyXG4gICAgaWYgKCF0aGlzLmxhYmVsU2l6ZVhsKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZVhsKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbFNpemVYbCA9IHRoaXMuZm9ybWxheW91dC5sYWJlbFNpemVYbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVhsID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5MYWJlbFNpemVYbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNldCBzaXplIGV4dHJhIGV4dHJhIGxhcmdlXHJcbiAgICBpZiAoIXRoaXMubGFiZWxTaXplWHhsKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1sYXlvdXQ/LmxhYmVsU2l6ZVh4bCkge1xyXG4gICAgICAgIHRoaXMubGFiZWxTaXplWHhsID0gdGhpcy5mb3JtbGF5b3V0LmxhYmVsU2l6ZVh4bDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsU2l6ZVh4bCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuTGFiZWxTaXplWHhsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6InM4aURBZ0tFO0FBQUFBLGFBQUEsU0FBQUEsQ0FBQSxTQUFBQyxjQUFBLFdBQUFBLGNBQUEsRUFBQUQsYUFBQSxHQWhLRixPQUFTRSxTQUFTLENBQUVDLElBQUksQ0FBWUMsS0FBSyxLQUFnQixlQUFlLENBQ3hFLE9BR0VDLGVBQWUsQ0FDZkMsa0JBQWtCLENBQ2xCQyxTQUFTLEtBSUosZ0JBQWdCLENBQ3ZCLE9BQVNDLFVBQVUsS0FBUSxNQUFNLENBRWpDLE9BQVNDLGFBQWEsS0FBUSx3QkFBd0IsQ0FNdEQsT0FDRUMsd0JBQXdCLENBQ3hCQyw4QkFBOEIsS0FDekIsYUFBYSxDQUNwQixPQUNFQyx3QkFBd0IsQ0FDeEJDLDhCQUE4QixLQUN6Qix1Q0FBdUMsQ0FDOUMsT0FDRUMsdUJBQXVCLENBQ3ZCQyw2QkFBNkIsS0FDeEIsc0NBQXNDLENBQzdDLE9BQVNDLGdCQUFnQixLQUFRLHlCQUF5QixDQUMxRCxPQUFTQyxVQUFVLEtBQVEsbUJBQW1CLEMsa0ZBRTlDOztHQUdBLEtBQ3NCLENBQUFDLG1CQUFtQixDQTBIdkM7QUFFQTtBQUVBOzs7O09BS0FDLFlBQ1VDLFVBQStCLENBQy9CQyxRQUFrQixFQUFBckIsYUFBQSxHQUFBc0IsQ0FBQSxNQUFBdEIsYUFBQSxHQUFBdUIsQ0FBQSxNQUFsQixLQUFBRixRQUFRLENBQVJBLFFBQVEsQ0FsSWxCO0FBRUE7O1dBQUFyQixhQUFBLEdBQUF1QixDQUFBLE1BR1EsS0FBQUMsbUJBQW1CLENBQW1CLElBQUksQ0FBQ3hCLGFBQUEsR0FBQXVCLENBQUEsTUFDM0MsS0FBQUUsTUFBTSxDQUFXLEVBQUUsQ0FPM0I7O1dBQUF6QixhQUFBLEdBQUF1QixDQUFBLE1BR1UsS0FBQUcsTUFBTSxDQUFZLEtBQUssQ0FDakM7O1dBQUExQixhQUFBLEdBQUF1QixDQUFBLE1BR1UsS0FBQUksYUFBYSxDQUFZ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
|