@bitgo-beta/bitgo 14.2.1-beta.2191 → 14.2.1-beta.2193

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.
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/dist/browser/BitGoJS.min.js
3
- size: 40922863 bytes
4
- sha256: 405cee991010b2849b41fb43d6f4f4043d89c734466719edcebc5360e85cc36e
3
+ size: 40931524 bytes
4
+ sha256: b5283106524381aafa8f071ea452a21fbb9f0b32bfce4801b031980827421da6
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/bitgo",
3
- "version": "14.2.1-beta.2191",
3
+ "version": "14.2.1-beta.2193",
4
4
  "description": "BitGo JavaScript SDK",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/types/src/index.d.ts",
@@ -45,95 +45,95 @@
45
45
  "gen-docs": "typedoc"
46
46
  },
47
47
  "dependencies": {
48
- "@bitgo-beta/abstract-lightning": "1.0.1-beta.1664",
49
- "@bitgo-beta/abstract-utxo": "1.1.1-beta.2278",
50
- "@bitgo-beta/account-lib": "2.20.1-beta.2242",
51
- "@bitgo-beta/sdk-api": "1.10.1-beta.2045",
52
- "@bitgo-beta/sdk-coin-ada": "2.3.14-beta.2043",
53
- "@bitgo-beta/sdk-coin-algo": "2.8.9-beta.523",
54
- "@bitgo-beta/sdk-coin-apechain": "1.0.1-beta.1102",
55
- "@bitgo-beta/sdk-coin-apt": "1.0.1-beta.1484",
56
- "@bitgo-beta/sdk-coin-arbeth": "1.0.1-beta.1897",
57
- "@bitgo-beta/sdk-coin-asi": "1.0.1-beta.1130",
58
- "@bitgo-beta/sdk-coin-atom": "3.1.2-beta.2039",
59
- "@bitgo-beta/sdk-coin-avaxc": "1.1.1-beta.2268",
60
- "@bitgo-beta/sdk-coin-avaxp": "5.7.3-beta.358",
61
- "@bitgo-beta/sdk-coin-baby": "1.0.1-beta.1385",
62
- "@bitgo-beta/sdk-coin-bch": "1.1.1-beta.2267",
63
- "@bitgo-beta/sdk-coin-bcha": "1.1.1-beta.2267",
64
- "@bitgo-beta/sdk-coin-bera": "1.0.1-beta.1897",
65
- "@bitgo-beta/sdk-coin-bld": "1.0.1-beta.2004",
66
- "@bitgo-beta/sdk-coin-bsc": "1.0.1-beta.2267",
67
- "@bitgo-beta/sdk-coin-bsv": "1.1.1-beta.2267",
68
- "@bitgo-beta/sdk-coin-btc": "1.0.2-beta.2267",
69
- "@bitgo-beta/sdk-coin-btg": "1.1.1-beta.2266",
70
- "@bitgo-beta/sdk-coin-canton": "1.0.1-beta.814",
71
- "@bitgo-beta/sdk-coin-celo": "1.1.1-beta.2266",
72
- "@bitgo-beta/sdk-coin-coredao": "1.0.0-beta.1475",
73
- "@bitgo-beta/sdk-coin-coreum": "1.0.1-beta.1885",
74
- "@bitgo-beta/sdk-coin-cosmos": "1.0.0-beta.1024",
75
- "@bitgo-beta/sdk-coin-cronos": "1.0.1-beta.1175",
76
- "@bitgo-beta/sdk-coin-cspr": "1.2.19-beta.2042",
77
- "@bitgo-beta/sdk-coin-dash": "1.1.1-beta.2267",
78
- "@bitgo-beta/sdk-coin-doge": "1.0.2-beta.2268",
79
- "@bitgo-beta/sdk-coin-dot": "2.2.8-beta.2042",
80
- "@bitgo-beta/sdk-coin-eos": "1.3.19-beta.2039",
81
- "@bitgo-beta/sdk-coin-etc": "1.0.2-beta.2266",
82
- "@bitgo-beta/sdk-coin-eth": "4.4.1-beta.2039",
83
- "@bitgo-beta/sdk-coin-ethlike": "2.5.1-beta.558",
84
- "@bitgo-beta/sdk-coin-ethw": "20.0.76-beta.1205",
85
- "@bitgo-beta/sdk-coin-evm": "1.0.1-beta.1102",
86
- "@bitgo-beta/sdk-coin-flr": "1.0.1-beta.1382",
87
- "@bitgo-beta/sdk-coin-flrp": "1.0.1-beta.889",
88
- "@bitgo-beta/sdk-coin-hash": "1.0.1-beta.2000",
89
- "@bitgo-beta/sdk-coin-hbar": "1.0.2-beta.2269",
90
- "@bitgo-beta/sdk-coin-icp": "1.0.1-beta.1397",
91
- "@bitgo-beta/sdk-coin-initia": "1.1.1-beta.1156",
92
- "@bitgo-beta/sdk-coin-injective": "1.1.3-beta.1994",
93
- "@bitgo-beta/sdk-coin-iota": "1.0.1-beta.922",
94
- "@bitgo-beta/sdk-coin-islm": "1.0.1-beta.1897",
95
- "@bitgo-beta/sdk-coin-kaspa": "0.0.1-beta.335",
96
- "@bitgo-beta/sdk-coin-lnbtc": "1.0.1-beta.1655",
97
- "@bitgo-beta/sdk-coin-ltc": "1.1.1-beta.2267",
98
- "@bitgo-beta/sdk-coin-mon": "1.0.1-beta.1213",
99
- "@bitgo-beta/sdk-coin-near": "1.3.19-beta.2040",
100
- "@bitgo-beta/sdk-coin-oas": "1.0.1-beta.1476",
101
- "@bitgo-beta/sdk-coin-opeth": "1.0.1-beta.1895",
102
- "@bitgo-beta/sdk-coin-osmo": "1.0.1-beta.2025",
103
- "@bitgo-beta/sdk-coin-pearl": "0.0.1-beta.120",
104
- "@bitgo-beta/sdk-coin-polygon": "1.0.2-beta.2268",
105
- "@bitgo-beta/sdk-coin-polyx": "1.0.1-beta.1240",
106
- "@bitgo-beta/sdk-coin-rbtc": "1.1.1-beta.2265",
107
- "@bitgo-beta/sdk-coin-rune": "1.0.0-beta.1508",
108
- "@bitgo-beta/sdk-coin-sei": "1.0.1-beta.1996",
109
- "@bitgo-beta/sdk-coin-sgb": "1.1.1-beta.1382",
110
- "@bitgo-beta/sdk-coin-sol": "7.6.4-beta.688",
111
- "@bitgo-beta/sdk-coin-soneium": "1.0.1-beta.1191",
112
- "@bitgo-beta/sdk-coin-starknet": "0.0.1-beta.278",
113
- "@bitgo-beta/sdk-coin-stt": "1.0.1-beta.1200",
114
- "@bitgo-beta/sdk-coin-stx": "1.1.1-beta.2274",
115
- "@bitgo-beta/sdk-coin-sui": "3.0.3-beta.2038",
116
- "@bitgo-beta/sdk-coin-tao": "1.0.0-beta.1405",
117
- "@bitgo-beta/sdk-coin-tempo": "1.0.1-beta.573",
118
- "@bitgo-beta/sdk-coin-tia": "3.1.8-beta.1010",
119
- "@bitgo-beta/sdk-coin-ton": "1.0.1-beta.1905",
120
- "@bitgo-beta/sdk-coin-trx": "1.0.2-beta.2272",
121
- "@bitgo-beta/sdk-coin-vet": "1.0.1-beta.1155",
122
- "@bitgo-beta/sdk-coin-wemix": "1.0.1-beta.1373",
123
- "@bitgo-beta/sdk-coin-world": "1.0.1-beta.1201",
124
- "@bitgo-beta/sdk-coin-xdc": "1.0.1-beta.1382",
125
- "@bitgo-beta/sdk-coin-xlm": "2.0.5-beta.2036",
126
- "@bitgo-beta/sdk-coin-xrp": "1.1.1-beta.2269",
127
- "@bitgo-beta/sdk-coin-xtz": "1.1.1-beta.2271",
128
- "@bitgo-beta/sdk-coin-zec": "1.1.1-beta.2268",
129
- "@bitgo-beta/sdk-coin-zeta": "1.0.1-beta.1960",
130
- "@bitgo-beta/sdk-coin-zketh": "1.0.1-beta.1825",
131
- "@bitgo-beta/sdk-core": "8.2.1-beta.2053",
132
- "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.2062",
133
- "@bitgo-beta/sjcl": "1.0.2-beta.2316",
134
- "@bitgo-beta/statics": "15.1.1-beta.2080",
135
- "@bitgo-beta/unspents": "0.13.2-beta.2061",
136
- "@bitgo-beta/utxo-lib": "8.0.3-beta.2063",
48
+ "@bitgo-beta/abstract-lightning": "1.0.1-beta.1671",
49
+ "@bitgo-beta/abstract-utxo": "1.1.1-beta.2285",
50
+ "@bitgo-beta/account-lib": "2.20.1-beta.2248",
51
+ "@bitgo-beta/sdk-api": "1.10.1-beta.2052",
52
+ "@bitgo-beta/sdk-coin-ada": "2.3.14-beta.2050",
53
+ "@bitgo-beta/sdk-coin-algo": "2.8.9-beta.530",
54
+ "@bitgo-beta/sdk-coin-apechain": "1.0.1-beta.1109",
55
+ "@bitgo-beta/sdk-coin-apt": "1.0.1-beta.1491",
56
+ "@bitgo-beta/sdk-coin-arbeth": "1.0.1-beta.1904",
57
+ "@bitgo-beta/sdk-coin-asi": "1.0.1-beta.1137",
58
+ "@bitgo-beta/sdk-coin-atom": "3.1.2-beta.2046",
59
+ "@bitgo-beta/sdk-coin-avaxc": "1.1.1-beta.2275",
60
+ "@bitgo-beta/sdk-coin-avaxp": "5.7.3-beta.365",
61
+ "@bitgo-beta/sdk-coin-baby": "1.0.1-beta.1392",
62
+ "@bitgo-beta/sdk-coin-bch": "1.1.1-beta.2274",
63
+ "@bitgo-beta/sdk-coin-bcha": "1.1.1-beta.2274",
64
+ "@bitgo-beta/sdk-coin-bera": "1.0.1-beta.1904",
65
+ "@bitgo-beta/sdk-coin-bld": "1.0.1-beta.2011",
66
+ "@bitgo-beta/sdk-coin-bsc": "1.0.1-beta.2274",
67
+ "@bitgo-beta/sdk-coin-bsv": "1.1.1-beta.2274",
68
+ "@bitgo-beta/sdk-coin-btc": "1.0.2-beta.2274",
69
+ "@bitgo-beta/sdk-coin-btg": "1.1.1-beta.2273",
70
+ "@bitgo-beta/sdk-coin-canton": "1.0.1-beta.821",
71
+ "@bitgo-beta/sdk-coin-celo": "1.1.1-beta.2273",
72
+ "@bitgo-beta/sdk-coin-coredao": "1.0.0-beta.1482",
73
+ "@bitgo-beta/sdk-coin-coreum": "1.0.1-beta.1891",
74
+ "@bitgo-beta/sdk-coin-cosmos": "1.0.0-beta.1030",
75
+ "@bitgo-beta/sdk-coin-cronos": "1.0.1-beta.1182",
76
+ "@bitgo-beta/sdk-coin-cspr": "1.2.19-beta.2049",
77
+ "@bitgo-beta/sdk-coin-dash": "1.1.1-beta.2274",
78
+ "@bitgo-beta/sdk-coin-doge": "1.0.2-beta.2275",
79
+ "@bitgo-beta/sdk-coin-dot": "2.2.8-beta.2049",
80
+ "@bitgo-beta/sdk-coin-eos": "1.3.19-beta.2046",
81
+ "@bitgo-beta/sdk-coin-etc": "1.0.2-beta.2273",
82
+ "@bitgo-beta/sdk-coin-eth": "4.4.1-beta.2046",
83
+ "@bitgo-beta/sdk-coin-ethlike": "2.5.1-beta.565",
84
+ "@bitgo-beta/sdk-coin-ethw": "20.0.76-beta.1212",
85
+ "@bitgo-beta/sdk-coin-evm": "1.0.1-beta.1109",
86
+ "@bitgo-beta/sdk-coin-flr": "1.0.1-beta.1389",
87
+ "@bitgo-beta/sdk-coin-flrp": "1.0.1-beta.896",
88
+ "@bitgo-beta/sdk-coin-hash": "1.0.1-beta.2007",
89
+ "@bitgo-beta/sdk-coin-hbar": "1.0.2-beta.2276",
90
+ "@bitgo-beta/sdk-coin-icp": "1.0.1-beta.1404",
91
+ "@bitgo-beta/sdk-coin-initia": "1.1.1-beta.1163",
92
+ "@bitgo-beta/sdk-coin-injective": "1.1.3-beta.2001",
93
+ "@bitgo-beta/sdk-coin-iota": "1.0.1-beta.929",
94
+ "@bitgo-beta/sdk-coin-islm": "1.0.1-beta.1904",
95
+ "@bitgo-beta/sdk-coin-kaspa": "0.0.1-beta.342",
96
+ "@bitgo-beta/sdk-coin-lnbtc": "1.0.1-beta.1662",
97
+ "@bitgo-beta/sdk-coin-ltc": "1.1.1-beta.2274",
98
+ "@bitgo-beta/sdk-coin-mon": "1.0.1-beta.1220",
99
+ "@bitgo-beta/sdk-coin-near": "1.3.19-beta.2047",
100
+ "@bitgo-beta/sdk-coin-oas": "1.0.1-beta.1483",
101
+ "@bitgo-beta/sdk-coin-opeth": "1.0.1-beta.1902",
102
+ "@bitgo-beta/sdk-coin-osmo": "1.0.1-beta.2032",
103
+ "@bitgo-beta/sdk-coin-pearl": "0.0.1-beta.127",
104
+ "@bitgo-beta/sdk-coin-polygon": "1.0.2-beta.2275",
105
+ "@bitgo-beta/sdk-coin-polyx": "1.0.1-beta.1247",
106
+ "@bitgo-beta/sdk-coin-rbtc": "1.1.1-beta.2272",
107
+ "@bitgo-beta/sdk-coin-rune": "1.0.0-beta.1515",
108
+ "@bitgo-beta/sdk-coin-sei": "1.0.1-beta.2003",
109
+ "@bitgo-beta/sdk-coin-sgb": "1.1.1-beta.1389",
110
+ "@bitgo-beta/sdk-coin-sol": "7.6.4-beta.695",
111
+ "@bitgo-beta/sdk-coin-soneium": "1.0.1-beta.1198",
112
+ "@bitgo-beta/sdk-coin-starknet": "0.0.1-beta.285",
113
+ "@bitgo-beta/sdk-coin-stt": "1.0.1-beta.1207",
114
+ "@bitgo-beta/sdk-coin-stx": "1.1.1-beta.2281",
115
+ "@bitgo-beta/sdk-coin-sui": "3.0.3-beta.2045",
116
+ "@bitgo-beta/sdk-coin-tao": "1.0.0-beta.1411",
117
+ "@bitgo-beta/sdk-coin-tempo": "1.0.1-beta.580",
118
+ "@bitgo-beta/sdk-coin-tia": "3.1.8-beta.1017",
119
+ "@bitgo-beta/sdk-coin-ton": "1.0.1-beta.1912",
120
+ "@bitgo-beta/sdk-coin-trx": "1.0.2-beta.2279",
121
+ "@bitgo-beta/sdk-coin-vet": "1.0.1-beta.1162",
122
+ "@bitgo-beta/sdk-coin-wemix": "1.0.1-beta.1380",
123
+ "@bitgo-beta/sdk-coin-world": "1.0.1-beta.1208",
124
+ "@bitgo-beta/sdk-coin-xdc": "1.0.1-beta.1389",
125
+ "@bitgo-beta/sdk-coin-xlm": "2.0.5-beta.2043",
126
+ "@bitgo-beta/sdk-coin-xrp": "1.1.1-beta.2276",
127
+ "@bitgo-beta/sdk-coin-xtz": "1.1.1-beta.2278",
128
+ "@bitgo-beta/sdk-coin-zec": "1.1.1-beta.2275",
129
+ "@bitgo-beta/sdk-coin-zeta": "1.0.1-beta.1967",
130
+ "@bitgo-beta/sdk-coin-zketh": "1.0.1-beta.1832",
131
+ "@bitgo-beta/sdk-core": "8.2.1-beta.2060",
132
+ "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.2069",
133
+ "@bitgo-beta/sjcl": "1.0.2-beta.2323",
134
+ "@bitgo-beta/statics": "15.1.1-beta.2087",
135
+ "@bitgo-beta/unspents": "0.13.2-beta.2068",
136
+ "@bitgo-beta/utxo-lib": "8.0.3-beta.2070",
137
137
  "@types/superagent": "^4.1.3",
138
138
  "bignumber.js": "^9.1.1",
139
139
  "cbor-x": "1.5.9",
@@ -143,7 +143,7 @@
143
143
  "superagent": "^9.0.1"
144
144
  },
145
145
  "devDependencies": {
146
- "@bitgo-beta/sdk-opensslbytes": "1.0.0-beta.1625",
146
+ "@bitgo-beta/sdk-opensslbytes": "1.0.0-beta.1631",
147
147
  "@bitgo-beta/sdk-test": "^9.1.79",
148
148
  "@bitgo/public-types": "6.75.0",
149
149
  "@openpgp/web-stream-tools": "0.0.14",
@@ -182,7 +182,7 @@
182
182
  "publishConfig": {
183
183
  "access": "public"
184
184
  },
185
- "gitHead": "7ef8d198a840c62a980c09d52636e71e6ba79be3",
185
+ "gitHead": "392b991ed722219be65ea81107c392eaa9117b53",
186
186
  "files": [
187
187
  "dist",
188
188
  "npm-shrinkwrap.json"
package/dist/src/bitgo.js CHANGED
@@ -114,7 +114,7 @@ class BitGo extends sdk_api_1.BitGoAPI {
114
114
  if (!formattedTokenConfig) {
115
115
  throw new sdk_core_1.UnsupportedCoinError(tokenName);
116
116
  }
117
- const tokenConstructor = (0, coinFactory_1.getTokenConstructor)(formattedTokenConfig);
117
+ const tokenConstructor = (0, coinFactory_1.getTokenConstructor)(formattedTokenConfig, staticsBaseCoin);
118
118
  if (!tokenConstructor) {
119
119
  throw new sdk_core_1.UnsupportedCoinError(tokenName);
120
120
  }
@@ -138,4 +138,4 @@ class BitGo extends sdk_api_1.BitGoAPI {
138
138
  }
139
139
  }
140
140
  exports.BitGo = BitGo;
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYml0Z28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsRUFBRTtBQUNGLHVCQUF1QjtBQUN2QixFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFDRix5Q0FBMEM7QUFDMUMsNEJBQTRCO0FBRTVCLG1EQUEyRjtBQUMzRixpREFBZ0U7QUFDaEUsaURBTzZCO0FBQzdCLGtEQUF3SDtBQUN4SCxzQ0FBaUM7QUFPakMsTUFBYSxLQUFNLFNBQVEsa0JBQVE7SUFHakM7O09BRUc7SUFDSCxZQUFZLFNBQXVCLEVBQUU7UUFDbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFDRSxDQUFDLGlCQUFNLENBQUMsY0FBYyxDQUNwQixNQUFNLEVBQ04sRUFBRSxFQUNGO1lBQ0UsVUFBVTtZQUNWLGNBQWM7WUFDZCxjQUFjO1lBQ2QsYUFBYTtZQUNiLFdBQVc7WUFDWCxlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLFlBQVk7WUFDWiw0QkFBNEI7U0FDN0IsQ0FDRjtZQUNELENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzVELENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzlDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHNCQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZSxDQUFDLGNBQXVEO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLElBQUEsaURBQXVDLEVBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHNCQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFBLHNDQUF3QixFQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0Qsc0dBQXNHO1FBQ3RHLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMvRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBNEMsQ0FBQztRQUN4RyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBK0QsQ0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDeEcsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsUUFBZ0I7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sK0JBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFpQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QseURBQXlEO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxPQUFPO1FBQ1QsQ0FBQztRQUVELHdDQUF3QztRQUN4QyxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFELE9BQU87UUFDVCxDQUFDO1FBQ0QseUVBQXlFO1FBQ3pFLElBQUksZUFBc0QsQ0FBQztRQUMzRCxJQUFJLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN6QixlQUFlLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDbEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBMEIsQ0FBQztZQUNuRixlQUFlLEdBQUcsSUFBQSxxQkFBVyxFQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLCtCQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixNQUFNLG9CQUFvQixHQUFHLElBQUEsd0NBQThCLEVBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0UsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzFCLE1BQU0sSUFBSSwrQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1QyxDQUFDO1lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLGlDQUFtQixFQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSwrQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDckUsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLGVBQWUsR0FBRyxJQUFBLGdDQUFrQixFQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxJQUFJLCtCQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVDLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQWlCO1FBQzNCLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUExSUQsc0JBMElDIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIEJpdEdvIEphdmFTY3JpcHQgU0RLXG4vL1xuLy8gQ29weXJpZ2h0IDIwMTQsIEJpdEdvLCBJbmMuICBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy9cbmltcG9ydCBwanNvbiA9IHJlcXVpcmUoJy4uL3BhY2thZ2UuanNvbicpO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBCYXNlQ29pbiwgQ29pbkZhY3RvcnksIGNvbW1vbiwgVW5zdXBwb3J0ZWRDb2luRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCaXRHb0FQSSwgQml0R29BUElPcHRpb25zIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWFwaSc7XG5pbXBvcnQge1xuICBjcmVhdGVUb2tlbk1hcFVzaW5nVHJpbW1lZENvbmZpZ0RldGFpbHMsXG4gIFRyaW1tZWRBbXNUb2tlbkNvbmZpZyxcbiAgY3JlYXRlVG9rZW4sXG4gIGdldEZvcm1hdHRlZFRva2VuQ29uZmlnRm9yQ29pbixcbiAgY29pbnMsXG4gIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBHbG9iYWxDb2luRmFjdG9yeSwgcmVnaXN0ZXJDb2luQ29uc3RydWN0b3JzLCBnZXRUb2tlbkNvbnN0cnVjdG9yLCBnZXRDb2luQ29uc3RydWN0b3IgfSBmcm9tICcuL3YyL2NvaW5GYWN0b3J5JztcbmltcG9ydCB7IE9mYyB9IGZyb20gJy4vdjIvY29pbnMnO1xuXG4vLyBjb25zdHJ1Y3RvciBwYXJhbXMgdXNlZCBleGNsdXNpdmVseSBmb3IgQml0R28gY2xhc3NcbmV4cG9ydCB0eXBlIEJpdEdvT3B0aW9ucyA9IEJpdEdvQVBJT3B0aW9ucyAmIHtcbiAgdXNlQW1zPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjbGFzcyBCaXRHbyBleHRlbmRzIEJpdEdvQVBJIHtcbiAgcHJpdmF0ZSBfY29pbkZhY3Rvcnk6IENvaW5GYWN0b3J5O1xuICBwcml2YXRlIF91c2VBbXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmb3IgQml0R28gT2JqZWN0XG4gICAqL1xuICBjb25zdHJ1Y3RvcihwYXJhbXM6IEJpdEdvT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICBpZiAoXG4gICAgICAhY29tbW9uLnZhbGlkYXRlUGFyYW1zKFxuICAgICAgICBwYXJhbXMsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ2NsaWVudElkJyxcbiAgICAgICAgICAnY2xpZW50U2VjcmV0JyxcbiAgICAgICAgICAncmVmcmVzaFRva2VuJyxcbiAgICAgICAgICAnYWNjZXNzVG9rZW4nLFxuICAgICAgICAgICd1c2VyQWdlbnQnLFxuICAgICAgICAgICdjdXN0b21Sb290VVJJJyxcbiAgICAgICAgICAnY3VzdG9tQml0Y29pbk5ldHdvcmsnLFxuICAgICAgICAgICdzZXJ2ZXJYcHViJyxcbiAgICAgICAgICAnc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmwnLFxuICAgICAgICBdXG4gICAgICApIHx8XG4gICAgICAocGFyYW1zLnVzZVByb2R1Y3Rpb24gJiYgIV8uaXNCb29sZWFuKHBhcmFtcy51c2VQcm9kdWN0aW9uKSkgfHxcbiAgICAgIChwYXJhbXMudXNlQW1zICYmICFfLmlzQm9vbGVhbihwYXJhbXMudXNlQW1zKSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBhcmd1bWVudCcpO1xuICAgIH1cblxuICAgIGlmICghcGFyYW1zLmNsaWVudElkICE9PSAhcGFyYW1zLmNsaWVudFNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFyZ3VtZW50IC0gbXVzdCBwcm92aWRlIGJvdGggY2xpZW50IGlkIGFuZCBzZWNyZXQnKTtcbiAgICB9XG5cbiAgICB0aGlzLl91c2VBbXMgPSAhIXBhcmFtcy51c2VBbXM7XG4gICAgdGhpcy5fdmVyc2lvbiA9IHBqc29uLnZlcnNpb247XG4gICAgdGhpcy5fdXNlckFnZW50ID0gcGFyYW1zLnVzZXJBZ2VudCB8fCAnQml0R29KUy8nICsgdGhpcy52ZXJzaW9uKCk7XG4gICAgdGhpcy5fY29pbkZhY3RvcnkgPSBuZXcgQ29pbkZhY3RvcnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBjb2luIGZhY3Rvcnkgd2l0aCB0b2tlbiBjb25maWd1cmF0aW9uc1xuICAgKiBAcGFyYW0gdG9rZW5Db25maWdNYXAgLSBBIG1hcCBvZiB0b2tlbiBtZXRhZGF0YSBmcm9tIEFNU1xuICAgKi9cbiAgaW5pdENvaW5GYWN0b3J5KHRva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBUcmltbWVkQW1zVG9rZW5Db25maWdbXT4pOiB2b2lkIHtcbiAgICBjb25zdCBjb2luTWFwID0gY3JlYXRlVG9rZW5NYXBVc2luZ1RyaW1tZWRDb25maWdEZXRhaWxzKHRva2VuQ29uZmlnTWFwKTtcbiAgICB0aGlzLl9jb2luRmFjdG9yeSA9IG5ldyBDb2luRmFjdG9yeSgpO1xuICAgIHJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycyh0aGlzLl9jb2luRmFjdG9yeSwgY29pbk1hcCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYWxsIHRoZSB0b2tlbnMgYW5kIGluaXRpYWxpemUgdGhlIGNvaW4gZmFjdG9yeVxuICAgKi9cbiAgYXN5bmMgcmVnaXN0ZXJBbGxUb2tlbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLl91c2VBbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncmVnaXN0ZXJBbGxUb2tlbnMgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2VBbXMgaXMgc2V0IHRvIHRydWUnKTtcbiAgICB9XG4gICAgLy8gRmV0Y2ggbWFpbm5ldCBhc3NldHMgZm9yIHByb2QgYW5kIGFkbWluUHJvZCBlbnZpcm9ubWVudHMsIHRlc3RuZXQgYXNzZXRzIGZvciBhbGwgb3RoZXIgZW52aXJvbm1lbnRzXG4gICAgY29uc3QgYXNzZXRFbnZpcm9ubWVudCA9IFsncHJvZCcsICdhZG1pblByb2QnXS5pbmNsdWRlcyh0aGlzLmdldEVudigpKSA/ICdtYWlubmV0JyA6ICd0ZXN0bmV0JztcbiAgICBjb25zdCB1cmwgPSB0aGlzLnVybChgL2Fzc2V0cy9saXN0LyR7YXNzZXRFbnZpcm9ubWVudH1gKTtcbiAgICBjb25zdCB0b2tlbkNvbmZpZ01hcCA9IChhd2FpdCB0aGlzLmV4ZWN1dGVBc3NldFJlcXVlc3QodXJsKSkgYXMgUmVjb3JkPHN0cmluZywgVHJpbW1lZEFtc1Rva2VuQ29uZmlnW10+O1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmluaXRDb2luRmFjdG9yeSh0b2tlbkNvbmZpZ01hcCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb2luIGZhY3RvcnkgZnJvbSBBTVMgdG9rZW4gbWV0YWRhdGE6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJhc2Vjb2luIG9iamVjdFxuICAgKiBAcGFyYW0gY29pbk5hbWVcbiAgICovXG4gIGNvaW4oY29pbk5hbWU6IHN0cmluZyk6IEJhc2VDb2luIHtcbiAgICBpZiAodGhpcy5fdXNlQW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29pbkZhY3RvcnkuZ2V0SW5zdGFuY2UodGhpcywgY29pbk5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gR2xvYmFsQ29pbkZhY3RvcnkuZ2V0SW5zdGFuY2UodGhpcywgY29pbk5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgdG9rZW4gaW4gdGhlIGNvaW4gZmFjdG9yeVxuICAgKiBAcGFyYW0gdG9rZW5Db25maWcgLSBUaGUgdG9rZW4gbWV0YWRhdGEgZnJvbSBBTVNcbiAgICovXG4gIGFzeW5jIHJlZ2lzdGVyVG9rZW4odG9rZW5OYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuX3VzZUFtcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZWdpc3RlclRva2VuIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNlQW1zIGlzIHNldCB0byB0cnVlJyk7XG4gICAgfVxuICAgIC8vZG8gbm90IHJlZ2lzdGVyIGEgY29pbi90b2tlbiBpZiBpdCdzIGFscmVhZHkgcmVnaXN0ZXJlZFxuICAgIGlmICh0aGlzLl9jb2luRmFjdG9yeS5oYXNDb2luKHRva2VuTmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvL29mYyBpcyBub3QgcHJlc2VudCBpbiBzdGF0aWNzIGNvaW4gbWFwXG4gICAgaWYgKHRva2VuTmFtZSA9PT0gJ29mYycpIHtcbiAgICAgIHRoaXMuX2NvaW5GYWN0b3J5LnJlZ2lzdGVyKHRva2VuTmFtZSwgT2ZjLmNyZWF0ZUluc3RhbmNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gR2V0IHRoZSBjb2luL3Rva2VuIGRldGFpbHMgb25seSBpZiBpdCdzIG5vdCBwcmVzZW50IGluIHN0YXRpY3MgbGlicmFyeVxuICAgIGxldCBzdGF0aWNzQmFzZUNvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbk5hbWUpKSB7XG4gICAgICBzdGF0aWNzQmFzZUNvaW4gPSBjb2lucy5nZXQodG9rZW5OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwoYC9hc3NldHMvbmFtZS8ke3Rva2VuTmFtZX1gKTtcbiAgICAgIGNvbnN0IHRva2VuQ29uZmlnID0gKGF3YWl0IHRoaXMuZXhlY3V0ZUFzc2V0UmVxdWVzdCh1cmwpKSBhcyBUcmltbWVkQW1zVG9rZW5Db25maWc7XG4gICAgICBzdGF0aWNzQmFzZUNvaW4gPSBjcmVhdGVUb2tlbih0b2tlbkNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKCFzdGF0aWNzQmFzZUNvaW4pIHtcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENvaW5FcnJvcih0b2tlbk5hbWUpO1xuICAgIH1cbiAgICBpZiAoc3RhdGljc0Jhc2VDb2luLmlzVG9rZW4pIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFRva2VuQ29uZmlnID0gZ2V0Rm9ybWF0dGVkVG9rZW5Db25maWdGb3JDb2luKHN0YXRpY3NCYXNlQ29pbik7XG4gICAgICBpZiAoIWZvcm1hdHRlZFRva2VuQ29uZmlnKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENvaW5FcnJvcih0b2tlbk5hbWUpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0b2tlbkNvbnN0cnVjdG9yID0gZ2V0VG9rZW5Db25zdHJ1Y3Rvcihmb3JtYXR0ZWRUb2tlbkNvbmZpZyk7XG4gICAgICBpZiAoIXRva2VuQ29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKHRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3RlclRva2VuKHN0YXRpY3NCYXNlQ29pbiwgdG9rZW5Db25zdHJ1Y3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvaW5Db25zdHJ1Y3RvciA9IGdldENvaW5Db25zdHJ1Y3Rvcih0b2tlbk5hbWUpO1xuICAgICAgaWYgKCFjb2luQ29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKHRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3RlclRva2VuKHN0YXRpY3NCYXNlQ29pbiwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYmFzZWNvaW4gb2JqZWN0IGZvciBhIHZpcnR1YWwgdG9rZW5cbiAgICogQHBhcmFtIHRva2VuTmFtZVxuICAgKi9cbiAgYXN5bmMgdG9rZW4odG9rZW5OYW1lOiBzdHJpbmcpOiBQcm9taXNlPEJhc2VDb2luPiB7XG4gICAgYXdhaXQgdGhpcy5mZXRjaENvbnN0YW50cygpO1xuICAgIHJldHVybiB0aGlzLmNvaW4odG9rZW5OYW1lKTtcbiAgfVxufVxuIl19
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYml0Z28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsRUFBRTtBQUNGLHVCQUF1QjtBQUN2QixFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFDRix5Q0FBMEM7QUFDMUMsNEJBQTRCO0FBRTVCLG1EQUEyRjtBQUMzRixpREFBZ0U7QUFDaEUsaURBTzZCO0FBQzdCLGtEQUF3SDtBQUN4SCxzQ0FBaUM7QUFPakMsTUFBYSxLQUFNLFNBQVEsa0JBQVE7SUFHakM7O09BRUc7SUFDSCxZQUFZLFNBQXVCLEVBQUU7UUFDbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFDRSxDQUFDLGlCQUFNLENBQUMsY0FBYyxDQUNwQixNQUFNLEVBQ04sRUFBRSxFQUNGO1lBQ0UsVUFBVTtZQUNWLGNBQWM7WUFDZCxjQUFjO1lBQ2QsYUFBYTtZQUNiLFdBQVc7WUFDWCxlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLFlBQVk7WUFDWiw0QkFBNEI7U0FDN0IsQ0FDRjtZQUNELENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzVELENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzlDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0s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QUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBMUlELHNCQTBJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vLyBCaXRHbyBKYXZhU2NyaXB0IFNES1xuLy9cbi8vIENvcHlyaWdodCAyMDE0LCBCaXRHbywgSW5jLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vXG5pbXBvcnQgcGpzb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQmFzZUNvaW4sIENvaW5GYWN0b3J5LCBjb21tb24sIFVuc3VwcG9ydGVkQ29pbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQml0R29BUEksIEJpdEdvQVBJT3B0aW9ucyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1hcGknO1xuaW1wb3J0IHtcbiAgY3JlYXRlVG9rZW5NYXBVc2luZ1RyaW1tZWRDb25maWdEZXRhaWxzLFxuICBUcmltbWVkQW1zVG9rZW5Db25maWcsXG4gIGNyZWF0ZVRva2VuLFxuICBnZXRGb3JtYXR0ZWRUb2tlbkNvbmZpZ0ZvckNvaW4sXG4gIGNvaW5zLFxuICBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sXG59IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgR2xvYmFsQ29pbkZhY3RvcnksIHJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycywgZ2V0VG9rZW5Db25zdHJ1Y3RvciwgZ2V0Q29pbkNvbnN0cnVjdG9yIH0gZnJvbSAnLi92Mi9jb2luRmFjdG9yeSc7XG5pbXBvcnQgeyBPZmMgfSBmcm9tICcuL3YyL2NvaW5zJztcblxuLy8gY29uc3RydWN0b3IgcGFyYW1zIHVzZWQgZXhjbHVzaXZlbHkgZm9yIEJpdEdvIGNsYXNzXG5leHBvcnQgdHlwZSBCaXRHb09wdGlvbnMgPSBCaXRHb0FQSU9wdGlvbnMgJiB7XG4gIHVzZUFtcz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgQml0R28gZXh0ZW5kcyBCaXRHb0FQSSB7XG4gIHByaXZhdGUgX2NvaW5GYWN0b3J5OiBDb2luRmFjdG9yeTtcbiAgcHJpdmF0ZSBfdXNlQW1zOiBib29sZWFuO1xuICAvKipcbiAgICogQ29uc3RydWN0b3IgZm9yIEJpdEdvIE9iamVjdFxuICAgKi9cbiAgY29uc3RydWN0b3IocGFyYW1zOiBCaXRHb09wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHBhcmFtcyk7XG4gICAgaWYgKFxuICAgICAgIWNvbW1vbi52YWxpZGF0ZVBhcmFtcyhcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBbXSxcbiAgICAgICAgW1xuICAgICAgICAgICdjbGllbnRJZCcsXG4gICAgICAgICAgJ2NsaWVudFNlY3JldCcsXG4gICAgICAgICAgJ3JlZnJlc2hUb2tlbicsXG4gICAgICAgICAgJ2FjY2Vzc1Rva2VuJyxcbiAgICAgICAgICAndXNlckFnZW50JyxcbiAgICAgICAgICAnY3VzdG9tUm9vdFVSSScsXG4gICAgICAgICAgJ2N1c3RvbUJpdGNvaW5OZXR3b3JrJyxcbiAgICAgICAgICAnc2VydmVyWHB1YicsXG4gICAgICAgICAgJ3N0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsJyxcbiAgICAgICAgXVxuICAgICAgKSB8fFxuICAgICAgKHBhcmFtcy51c2VQcm9kdWN0aW9uICYmICFfLmlzQm9vbGVhbihwYXJhbXMudXNlUHJvZHVjdGlvbikpIHx8XG4gICAgICAocGFyYW1zLnVzZUFtcyAmJiAhXy5pc0Jvb2xlYW4ocGFyYW1zLnVzZUFtcykpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYXJndW1lbnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhcmFtcy5jbGllbnRJZCAhPT0gIXBhcmFtcy5jbGllbnRTZWNyZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBhcmd1bWVudCAtIG11c3QgcHJvdmlkZSBib3RoIGNsaWVudCBpZCBhbmQgc2VjcmV0Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdXNlQW1zID0gISFwYXJhbXMudXNlQW1zO1xuICAgIHRoaXMuX3ZlcnNpb24gPSBwanNvbi52ZXJzaW9uO1xuICAgIHRoaXMuX3VzZXJBZ2VudCA9IHBhcmFtcy51c2VyQWdlbnQgfHwgJ0JpdEdvSlMvJyArIHRoaXMudmVyc2lvbigpO1xuICAgIHRoaXMuX2NvaW5GYWN0b3J5ID0gbmV3IENvaW5GYWN0b3J5KCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgY29pbiBmYWN0b3J5IHdpdGggdG9rZW4gY29uZmlndXJhdGlvbnNcbiAgICogQHBhcmFtIHRva2VuQ29uZmlnTWFwIC0gQSBtYXAgb2YgdG9rZW4gbWV0YWRhdGEgZnJvbSBBTVNcbiAgICovXG4gIGluaXRDb2luRmFjdG9yeSh0b2tlbkNvbmZpZ01hcDogUmVjb3JkPHN0cmluZywgVHJpbW1lZEFtc1Rva2VuQ29uZmlnW10+KTogdm9pZCB7XG4gICAgY29uc3QgY29pbk1hcCA9IGNyZWF0ZVRva2VuTWFwVXNpbmdUcmltbWVkQ29uZmlnRGV0YWlscyh0b2tlbkNvbmZpZ01hcCk7XG4gICAgdGhpcy5fY29pbkZhY3RvcnkgPSBuZXcgQ29pbkZhY3RvcnkoKTtcbiAgICByZWdpc3RlckNvaW5Db25zdHJ1Y3RvcnModGhpcy5fY29pbkZhY3RvcnksIGNvaW5NYXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGFsbCB0aGUgdG9rZW5zIGFuZCBpbml0aWFsaXplIHRoZSBjb2luIGZhY3RvcnlcbiAgICovXG4gIGFzeW5jIHJlZ2lzdGVyQWxsVG9rZW5zKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5fdXNlQW1zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlZ2lzdGVyQWxsVG9rZW5zIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNlQW1zIGlzIHNldCB0byB0cnVlJyk7XG4gICAgfVxuICAgIC8vIEZldGNoIG1haW5uZXQgYXNzZXRzIGZvciBwcm9kIGFuZCBhZG1pblByb2QgZW52aXJvbm1lbnRzLCB0ZXN0bmV0IGFzc2V0cyBmb3IgYWxsIG90aGVyIGVudmlyb25tZW50c1xuICAgIGNvbnN0IGFzc2V0RW52aXJvbm1lbnQgPSBbJ3Byb2QnLCAnYWRtaW5Qcm9kJ10uaW5jbHVkZXModGhpcy5nZXRFbnYoKSkgPyAnbWFpbm5ldCcgOiAndGVzdG5ldCc7XG4gICAgY29uc3QgdXJsID0gdGhpcy51cmwoYC9hc3NldHMvbGlzdC8ke2Fzc2V0RW52aXJvbm1lbnR9YCk7XG4gICAgY29uc3QgdG9rZW5Db25maWdNYXAgPSAoYXdhaXQgdGhpcy5leGVjdXRlQXNzZXRSZXF1ZXN0KHVybCkpIGFzIFJlY29yZDxzdHJpbmcsIFRyaW1tZWRBbXNUb2tlbkNvbmZpZ1tdPjtcbiAgICB0cnkge1xuICAgICAgdGhpcy5pbml0Q29pbkZhY3RvcnkodG9rZW5Db25maWdNYXApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGluaXRpYWxpemUgY29pbiBmYWN0b3J5IGZyb20gQU1TIHRva2VuIG1ldGFkYXRhOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBiYXNlY29pbiBvYmplY3RcbiAgICogQHBhcmFtIGNvaW5OYW1lXG4gICAqL1xuICBjb2luKGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlQ29pbiB7XG4gICAgaWYgKHRoaXMuX3VzZUFtcykge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvaW5GYWN0b3J5LmdldEluc3RhbmNlKHRoaXMsIGNvaW5OYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIEdsb2JhbENvaW5GYWN0b3J5LmdldEluc3RhbmNlKHRoaXMsIGNvaW5OYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIHRva2VuIGluIHRoZSBjb2luIGZhY3RvcnlcbiAgICogQHBhcmFtIHRva2VuQ29uZmlnIC0gVGhlIHRva2VuIG1ldGFkYXRhIGZyb20gQU1TXG4gICAqL1xuICBhc3luYyByZWdpc3RlclRva2VuKHRva2VuTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLl91c2VBbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncmVnaXN0ZXJUb2tlbiBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzZUFtcyBpcyBzZXQgdG8gdHJ1ZScpO1xuICAgIH1cbiAgICAvL2RvIG5vdCByZWdpc3RlciBhIGNvaW4vdG9rZW4gaWYgaXQncyBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgICBpZiAodGhpcy5fY29pbkZhY3RvcnkuaGFzQ29pbih0b2tlbk5hbWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy9vZmMgaXMgbm90IHByZXNlbnQgaW4gc3RhdGljcyBjb2luIG1hcFxuICAgIGlmICh0b2tlbk5hbWUgPT09ICdvZmMnKSB7XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3Rlcih0b2tlbk5hbWUsIE9mYy5jcmVhdGVJbnN0YW5jZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIEdldCB0aGUgY29pbi90b2tlbiBkZXRhaWxzIG9ubHkgaWYgaXQncyBub3QgcHJlc2VudCBpbiBzdGF0aWNzIGxpYnJhcnlcbiAgICBsZXQgc3RhdGljc0Jhc2VDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChjb2lucy5oYXModG9rZW5OYW1lKSkge1xuICAgICAgc3RhdGljc0Jhc2VDb2luID0gY29pbnMuZ2V0KHRva2VuTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMudXJsKGAvYXNzZXRzL25hbWUvJHt0b2tlbk5hbWV9YCk7XG4gICAgICBjb25zdCB0b2tlbkNvbmZpZyA9IChhd2FpdCB0aGlzLmV4ZWN1dGVBc3NldFJlcXVlc3QodXJsKSkgYXMgVHJpbW1lZEFtc1Rva2VuQ29uZmlnO1xuICAgICAgc3RhdGljc0Jhc2VDb2luID0gY3JlYXRlVG9rZW4odG9rZW5Db25maWcpO1xuICAgIH1cblxuICAgIGlmICghc3RhdGljc0Jhc2VDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDb2luRXJyb3IodG9rZW5OYW1lKTtcbiAgICB9XG4gICAgaWYgKHN0YXRpY3NCYXNlQ29pbi5pc1Rva2VuKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRUb2tlbkNvbmZpZyA9IGdldEZvcm1hdHRlZFRva2VuQ29uZmlnRm9yQ29pbihzdGF0aWNzQmFzZUNvaW4pO1xuICAgICAgaWYgKCFmb3JtYXR0ZWRUb2tlbkNvbmZpZykge1xuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDb2luRXJyb3IodG9rZW5OYW1lKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdG9rZW5Db25zdHJ1Y3RvciA9IGdldFRva2VuQ29uc3RydWN0b3IoZm9ybWF0dGVkVG9rZW5Db25maWcsIHN0YXRpY3NCYXNlQ29pbik7XG4gICAgICBpZiAoIXRva2VuQ29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKHRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3RlclRva2VuKHN0YXRpY3NCYXNlQ29pbiwgdG9rZW5Db25zdHJ1Y3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvaW5Db25zdHJ1Y3RvciA9IGdldENvaW5Db25zdHJ1Y3Rvcih0b2tlbk5hbWUpO1xuICAgICAgaWYgKCFjb2luQ29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKHRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3RlclRva2VuKHN0YXRpY3NCYXNlQ29pbiwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYmFzZWNvaW4gb2JqZWN0IGZvciBhIHZpcnR1YWwgdG9rZW5cbiAgICogQHBhcmFtIHRva2VuTmFtZVxuICAgKi9cbiAgYXN5bmMgdG9rZW4odG9rZW5OYW1lOiBzdHJpbmcpOiBQcm9taXNlPEJhc2VDb2luPiB7XG4gICAgYXdhaXQgdGhpcy5mZXRjaENvbnN0YW50cygpO1xuICAgIHJldHVybiB0aGlzLmNvaW4odG9rZW5OYW1lKTtcbiAgfVxufVxuIl19