bitgo 53.0.1 → 53.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/BitGoJS.min.js +2 -2
- package/dist/package.json +89 -89
- package/dist/src/bitgo.js +2 -2
- package/dist/src/v2/coinFactory.js +77 -18
- package/dist/test/v2/resources/amsTokenConfig.js +25 -3
- package/dist/test/v2/unit/ams/ams.js +62 -1
- package/dist/test/v2/unit/internal/tssUtils/ecdsaVrfMPCv2/createSafeChildKeychains.js +64 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/v2/coinFactory.d.ts +2 -2
- package/dist/types/src/v2/coinFactory.d.ts.map +1 -1
- package/dist/types/test/v2/resources/amsTokenConfig.d.ts +20 -0
- package/dist/types/test/v2/resources/amsTokenConfig.d.ts.map +1 -1
- package/npm-shrinkwrap.json +732 -728
- package/package.json +89 -89
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/dist/browser/BitGoJS.min.js
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 41220913 bytes
|
|
4
|
+
sha256: 80709f255d75119f35cd52d967d6d6fe15afccb7cd2077aee01ff73ea0bff630
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bitgo",
|
|
3
|
-
"version": "53.0
|
|
3
|
+
"version": "53.2.0",
|
|
4
4
|
"description": "BitGo JavaScript SDK",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/types/src/index.d.ts",
|
|
@@ -45,93 +45,93 @@
|
|
|
45
45
|
"gen-docs": "typedoc"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@bitgo/abstract-lightning": "^8.3.
|
|
49
|
-
"@bitgo/abstract-utxo": "^13.
|
|
50
|
-
"@bitgo/account-lib": "^27.
|
|
51
|
-
"@bitgo/sdk-api": "^3.0.
|
|
52
|
-
"@bitgo/sdk-coin-ada": "^5.1.
|
|
53
|
-
"@bitgo/sdk-coin-algo": "^3.0.
|
|
54
|
-
"@bitgo/sdk-coin-apechain": "^1.5.
|
|
55
|
-
"@bitgo/sdk-coin-apt": "^2.12.
|
|
56
|
-
"@bitgo/sdk-coin-arbeth": "^21.12.
|
|
57
|
-
"@bitgo/sdk-coin-asi": "^1.7.
|
|
58
|
-
"@bitgo/sdk-coin-atom": "^13.13.
|
|
59
|
-
"@bitgo/sdk-coin-avaxc": "^7.0.
|
|
60
|
-
"@bitgo/sdk-coin-avaxp": "^5.7.
|
|
61
|
-
"@bitgo/sdk-coin-baby": "^1.10.
|
|
62
|
-
"@bitgo/sdk-coin-bch": "^2.8.
|
|
63
|
-
"@bitgo/sdk-coin-bcha": "^2.9.
|
|
64
|
-
"@bitgo/sdk-coin-bera": "^2.8.
|
|
65
|
-
"@bitgo/sdk-coin-bld": "^3.7.
|
|
66
|
-
"@bitgo/sdk-coin-bsc": "^22.12.
|
|
67
|
-
"@bitgo/sdk-coin-bsv": "^2.8.
|
|
68
|
-
"@bitgo/sdk-coin-btc": "^2.14.
|
|
69
|
-
"@bitgo/sdk-coin-btg": "^2.8.
|
|
70
|
-
"@bitgo/sdk-coin-canton": "^1.
|
|
71
|
-
"@bitgo/sdk-coin-celo": "^6.3.
|
|
72
|
-
"@bitgo/sdk-coin-coredao": "^2.8.
|
|
73
|
-
"@bitgo/sdk-coin-coreum": "^21.9.
|
|
74
|
-
"@bitgo/sdk-coin-cosmos": "^1.9.
|
|
75
|
-
"@bitgo/sdk-coin-cronos": "^1.8.
|
|
76
|
-
"@bitgo/sdk-coin-cspr": "^2.6.
|
|
77
|
-
"@bitgo/sdk-coin-dash": "^2.8.
|
|
78
|
-
"@bitgo/sdk-coin-doge": "^2.8.
|
|
79
|
-
"@bitgo/sdk-coin-dot": "^5.2.
|
|
80
|
-
"@bitgo/sdk-coin-eos": "^4.0.
|
|
81
|
-
"@bitgo/sdk-coin-etc": "^3.0.
|
|
82
|
-
"@bitgo/sdk-coin-eth": "^26.3.
|
|
83
|
-
"@bitgo/sdk-coin-ethlike": "^2.9.
|
|
84
|
-
"@bitgo/sdk-coin-ethw": "^20.5.
|
|
85
|
-
"@bitgo/sdk-coin-evm": "^1.
|
|
86
|
-
"@bitgo/sdk-coin-flr": "^1.11.
|
|
87
|
-
"@bitgo/sdk-coin-flrp": "^1.18.
|
|
88
|
-
"@bitgo/sdk-coin-hash": "^3.9.
|
|
89
|
-
"@bitgo/sdk-coin-hbar": "^3.0.
|
|
90
|
-
"@bitgo/sdk-coin-icp": "^1.23.
|
|
91
|
-
"@bitgo/sdk-coin-initia": "^2.6.
|
|
92
|
-
"@bitgo/sdk-coin-injective": "^3.7.
|
|
93
|
-
"@bitgo/sdk-coin-iota": "^2.2.
|
|
94
|
-
"@bitgo/sdk-coin-islm": "^2.6.
|
|
95
|
-
"@bitgo/sdk-coin-kaspa": "^1.3.
|
|
96
|
-
"@bitgo/sdk-coin-lnbtc": "^1.8.
|
|
97
|
-
"@bitgo/sdk-coin-ltc": "^3.8.
|
|
98
|
-
"@bitgo/sdk-coin-mon": "^1.8.
|
|
99
|
-
"@bitgo/sdk-coin-near": "^3.1.
|
|
100
|
-
"@bitgo/sdk-coin-oas": "^2.7.
|
|
101
|
-
"@bitgo/sdk-coin-opeth": "^18.10.
|
|
102
|
-
"@bitgo/sdk-coin-osmo": "^3.7.
|
|
103
|
-
"@bitgo/sdk-coin-pearl": "^1.1.
|
|
104
|
-
"@bitgo/sdk-coin-polygon": "^21.7.
|
|
105
|
-
"@bitgo/sdk-coin-polyx": "^2.1.
|
|
106
|
-
"@bitgo/sdk-coin-rbtc": "^2.5.
|
|
107
|
-
"@bitgo/sdk-coin-rune": "^1.9.
|
|
108
|
-
"@bitgo/sdk-coin-sei": "^3.7.
|
|
109
|
-
"@bitgo/sdk-coin-sgb": "^1.8.
|
|
110
|
-
"@bitgo/sdk-coin-sol": "^8.
|
|
111
|
-
"@bitgo/sdk-coin-soneium": "^1.10.
|
|
112
|
-
"@bitgo/sdk-coin-starknet": "^1.7.
|
|
113
|
-
"@bitgo/sdk-coin-stt": "^1.6.
|
|
114
|
-
"@bitgo/sdk-coin-stx": "^4.1.
|
|
115
|
-
"@bitgo/sdk-coin-sui": "^6.4.
|
|
116
|
-
"@bitgo/sdk-coin-tao": "^1.17.
|
|
117
|
-
"@bitgo/sdk-coin-tempo": "^1.15.
|
|
118
|
-
"@bitgo/sdk-coin-tia": "^3.7.
|
|
119
|
-
"@bitgo/sdk-coin-ton": "^4.2.
|
|
120
|
-
"@bitgo/sdk-coin-trx": "^4.0.
|
|
121
|
-
"@bitgo/sdk-coin-vet": "^2.16.
|
|
122
|
-
"@bitgo/sdk-coin-wemix": "^1.7.
|
|
123
|
-
"@bitgo/sdk-coin-world": "^1.8.
|
|
124
|
-
"@bitgo/sdk-coin-xdc": "^1.10.
|
|
125
|
-
"@bitgo/sdk-coin-xlm": "^4.1.
|
|
126
|
-
"@bitgo/sdk-coin-xrp": "^4.0.
|
|
127
|
-
"@bitgo/sdk-coin-xtz": "^3.0.
|
|
128
|
-
"@bitgo/sdk-coin-zec": "^2.8.
|
|
129
|
-
"@bitgo/sdk-coin-zeta": "^3.7.
|
|
130
|
-
"@bitgo/sdk-coin-zketh": "^2.7.
|
|
131
|
-
"@bitgo/sdk-core": "^38.
|
|
48
|
+
"@bitgo/abstract-lightning": "^8.3.9",
|
|
49
|
+
"@bitgo/abstract-utxo": "^13.1.1",
|
|
50
|
+
"@bitgo/account-lib": "^27.24.1",
|
|
51
|
+
"@bitgo/sdk-api": "^3.0.3",
|
|
52
|
+
"@bitgo/sdk-coin-ada": "^5.1.10",
|
|
53
|
+
"@bitgo/sdk-coin-algo": "^3.0.23",
|
|
54
|
+
"@bitgo/sdk-coin-apechain": "^1.5.45",
|
|
55
|
+
"@bitgo/sdk-coin-apt": "^2.12.45",
|
|
56
|
+
"@bitgo/sdk-coin-arbeth": "^21.12.45",
|
|
57
|
+
"@bitgo/sdk-coin-asi": "^1.7.45",
|
|
58
|
+
"@bitgo/sdk-coin-atom": "^13.13.33",
|
|
59
|
+
"@bitgo/sdk-coin-avaxc": "^7.0.23",
|
|
60
|
+
"@bitgo/sdk-coin-avaxp": "^5.7.45",
|
|
61
|
+
"@bitgo/sdk-coin-baby": "^1.10.45",
|
|
62
|
+
"@bitgo/sdk-coin-bch": "^2.8.46",
|
|
63
|
+
"@bitgo/sdk-coin-bcha": "^2.9.46",
|
|
64
|
+
"@bitgo/sdk-coin-bera": "^2.8.45",
|
|
65
|
+
"@bitgo/sdk-coin-bld": "^3.7.45",
|
|
66
|
+
"@bitgo/sdk-coin-bsc": "^22.12.35",
|
|
67
|
+
"@bitgo/sdk-coin-bsv": "^2.8.46",
|
|
68
|
+
"@bitgo/sdk-coin-btc": "^2.14.3",
|
|
69
|
+
"@bitgo/sdk-coin-btg": "^2.8.46",
|
|
70
|
+
"@bitgo/sdk-coin-canton": "^1.33.0",
|
|
71
|
+
"@bitgo/sdk-coin-celo": "^6.3.45",
|
|
72
|
+
"@bitgo/sdk-coin-coredao": "^2.8.45",
|
|
73
|
+
"@bitgo/sdk-coin-coreum": "^21.9.45",
|
|
74
|
+
"@bitgo/sdk-coin-cosmos": "^1.9.45",
|
|
75
|
+
"@bitgo/sdk-coin-cronos": "^1.8.45",
|
|
76
|
+
"@bitgo/sdk-coin-cspr": "^2.6.45",
|
|
77
|
+
"@bitgo/sdk-coin-dash": "^2.8.46",
|
|
78
|
+
"@bitgo/sdk-coin-doge": "^2.8.46",
|
|
79
|
+
"@bitgo/sdk-coin-dot": "^5.2.10",
|
|
80
|
+
"@bitgo/sdk-coin-eos": "^4.0.23",
|
|
81
|
+
"@bitgo/sdk-coin-etc": "^3.0.23",
|
|
82
|
+
"@bitgo/sdk-coin-eth": "^26.3.10",
|
|
83
|
+
"@bitgo/sdk-coin-ethlike": "^2.9.23",
|
|
84
|
+
"@bitgo/sdk-coin-ethw": "^20.5.45",
|
|
85
|
+
"@bitgo/sdk-coin-evm": "^1.16.0",
|
|
86
|
+
"@bitgo/sdk-coin-flr": "^1.11.43",
|
|
87
|
+
"@bitgo/sdk-coin-flrp": "^1.18.9",
|
|
88
|
+
"@bitgo/sdk-coin-hash": "^3.9.45",
|
|
89
|
+
"@bitgo/sdk-coin-hbar": "^3.0.23",
|
|
90
|
+
"@bitgo/sdk-coin-icp": "^1.23.33",
|
|
91
|
+
"@bitgo/sdk-coin-initia": "^2.6.45",
|
|
92
|
+
"@bitgo/sdk-coin-injective": "^3.7.45",
|
|
93
|
+
"@bitgo/sdk-coin-iota": "^2.2.10",
|
|
94
|
+
"@bitgo/sdk-coin-islm": "^2.6.45",
|
|
95
|
+
"@bitgo/sdk-coin-kaspa": "^1.3.37",
|
|
96
|
+
"@bitgo/sdk-coin-lnbtc": "^1.8.43",
|
|
97
|
+
"@bitgo/sdk-coin-ltc": "^3.8.46",
|
|
98
|
+
"@bitgo/sdk-coin-mon": "^1.8.45",
|
|
99
|
+
"@bitgo/sdk-coin-near": "^3.1.10",
|
|
100
|
+
"@bitgo/sdk-coin-oas": "^2.7.45",
|
|
101
|
+
"@bitgo/sdk-coin-opeth": "^18.10.45",
|
|
102
|
+
"@bitgo/sdk-coin-osmo": "^3.7.45",
|
|
103
|
+
"@bitgo/sdk-coin-pearl": "^1.1.18",
|
|
104
|
+
"@bitgo/sdk-coin-polygon": "^21.7.45",
|
|
105
|
+
"@bitgo/sdk-coin-polyx": "^2.1.11",
|
|
106
|
+
"@bitgo/sdk-coin-rbtc": "^2.5.45",
|
|
107
|
+
"@bitgo/sdk-coin-rune": "^1.9.33",
|
|
108
|
+
"@bitgo/sdk-coin-sei": "^3.7.45",
|
|
109
|
+
"@bitgo/sdk-coin-sgb": "^1.8.45",
|
|
110
|
+
"@bitgo/sdk-coin-sol": "^8.11.0",
|
|
111
|
+
"@bitgo/sdk-coin-soneium": "^1.10.45",
|
|
112
|
+
"@bitgo/sdk-coin-starknet": "^1.7.22",
|
|
113
|
+
"@bitgo/sdk-coin-stt": "^1.6.45",
|
|
114
|
+
"@bitgo/sdk-coin-stx": "^4.1.3",
|
|
115
|
+
"@bitgo/sdk-coin-sui": "^6.4.10",
|
|
116
|
+
"@bitgo/sdk-coin-tao": "^1.17.14",
|
|
117
|
+
"@bitgo/sdk-coin-tempo": "^1.15.29",
|
|
118
|
+
"@bitgo/sdk-coin-tia": "^3.7.45",
|
|
119
|
+
"@bitgo/sdk-coin-ton": "^4.2.13",
|
|
120
|
+
"@bitgo/sdk-coin-trx": "^4.0.23",
|
|
121
|
+
"@bitgo/sdk-coin-vet": "^2.16.33",
|
|
122
|
+
"@bitgo/sdk-coin-wemix": "^1.7.45",
|
|
123
|
+
"@bitgo/sdk-coin-world": "^1.8.45",
|
|
124
|
+
"@bitgo/sdk-coin-xdc": "^1.10.25",
|
|
125
|
+
"@bitgo/sdk-coin-xlm": "^4.1.21",
|
|
126
|
+
"@bitgo/sdk-coin-xrp": "^4.0.23",
|
|
127
|
+
"@bitgo/sdk-coin-xtz": "^3.0.23",
|
|
128
|
+
"@bitgo/sdk-coin-zec": "^2.8.46",
|
|
129
|
+
"@bitgo/sdk-coin-zeta": "^3.7.45",
|
|
130
|
+
"@bitgo/sdk-coin-zketh": "^2.7.45",
|
|
131
|
+
"@bitgo/sdk-core": "^38.19.0",
|
|
132
132
|
"@bitgo/sdk-lib-mpc": "^11.0.0",
|
|
133
133
|
"@bitgo/sjcl": "^1.1.0",
|
|
134
|
-
"@bitgo/statics": "^59.
|
|
134
|
+
"@bitgo/statics": "^59.18.0",
|
|
135
135
|
"@bitgo/unspents": "^0.51.10",
|
|
136
136
|
"@bitgo/utxo-lib": "^11.24.4",
|
|
137
137
|
"@types/superagent": "^4.1.3",
|
|
@@ -143,9 +143,9 @@
|
|
|
143
143
|
"superagent": "^9.0.1"
|
|
144
144
|
},
|
|
145
145
|
"devDependencies": {
|
|
146
|
-
"@bitgo/public-types": "6.
|
|
146
|
+
"@bitgo/public-types": "6.75.0",
|
|
147
147
|
"@bitgo/sdk-opensslbytes": "^2.1.0",
|
|
148
|
-
"@bitgo/sdk-test": "^9.1.
|
|
148
|
+
"@bitgo/sdk-test": "^9.1.80",
|
|
149
149
|
"@openpgp/web-stream-tools": "0.0.14",
|
|
150
150
|
"@types/create-hmac": "^1.1.0",
|
|
151
151
|
"@types/debug": "^4.1.4",
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
"publishConfig": {
|
|
183
183
|
"access": "public"
|
|
184
184
|
},
|
|
185
|
-
"gitHead": "
|
|
185
|
+
"gitHead": "304335da5cb6896a09eeacf7dfa8530d160cbbbd",
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYml0Z28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsRUFBRTtBQUNGLHVCQUF1QjtBQUN2QixFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFDRix5Q0FBMEM7QUFDMUMsNEJBQTRCO0FBRTVCLDhDQUFzRjtBQUN0Riw0Q0FBMkQ7QUFDM0QsNENBT3dCO0FBQ3hCLGtEQUF3SDtBQUN4SCxzQ0FBaUM7QUFPakMsTUFBYSxLQUFNLFNBQVEsa0JBQVE7SUFHakM7O09BRUc7SUFDSCxZQUFZLFNBQXVCLEVBQUU7UUFDbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFDRSxDQUFDLGlCQUFNLENBQUMsY0FBYyxDQUNwQixNQUFNLEVBQ04sRUFBRSxFQUNGO1lBQ0UsVUFBVTtZQUNWLGNBQWM7WUFDZCxjQUFjO1lBQ2QsYUFBYTtZQUNiLFdBQVc7WUFDWCxlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLFlBQVk7WUFDWiw0QkFBNEI7U0FDN0IsQ0FDRjtZQUNELENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzVELENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzlDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0s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QWMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUExSUQsc0JBMElDIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIEJpdEdvIEphdmFTY3JpcHQgU0RLXG4vL1xuLy8gQ29weXJpZ2h0IDIwMTQsIEJpdEdvLCBJbmMuICBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy9cbmltcG9ydCBwanNvbiA9IHJlcXVpcmUoJy4uL3BhY2thZ2UuanNvbicpO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBCYXNlQ29pbiwgQ29pbkZhY3RvcnksIGNvbW1vbiwgVW5zdXBwb3J0ZWRDb2luRXJyb3IgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQml0R29BUEksIEJpdEdvQVBJT3B0aW9ucyB9IGZyb20gJ0BiaXRnby9zZGstYXBpJztcbmltcG9ydCB7XG4gIGNyZWF0ZVRva2VuTWFwVXNpbmdUcmltbWVkQ29uZmlnRGV0YWlscyxcbiAgVHJpbW1lZEFtc1Rva2VuQ29uZmlnLFxuICBjcmVhdGVUb2tlbixcbiAgZ2V0Rm9ybWF0dGVkVG9rZW5Db25maWdGb3JDb2luLFxuICBjb2lucyxcbiAgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLFxufSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBHbG9iYWxDb2luRmFjdG9yeSwgcmVnaXN0ZXJDb2luQ29uc3RydWN0b3JzLCBnZXRUb2tlbkNvbnN0cnVjdG9yLCBnZXRDb2luQ29uc3RydWN0b3IgfSBmcm9tICcuL3YyL2NvaW5GYWN0b3J5JztcbmltcG9ydCB7IE9mYyB9IGZyb20gJy4vdjIvY29pbnMnO1xuXG4vLyBjb25zdHJ1Y3RvciBwYXJhbXMgdXNlZCBleGNsdXNpdmVseSBmb3IgQml0R28gY2xhc3NcbmV4cG9ydCB0eXBlIEJpdEdvT3B0aW9ucyA9IEJpdEdvQVBJT3B0aW9ucyAmIHtcbiAgdXNlQW1zPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjbGFzcyBCaXRHbyBleHRlbmRzIEJpdEdvQVBJIHtcbiAgcHJpdmF0ZSBfY29pbkZhY3Rvcnk6IENvaW5GYWN0b3J5O1xuICBwcml2YXRlIF91c2VBbXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmb3IgQml0R28gT2JqZWN0XG4gICAqL1xuICBjb25zdHJ1Y3RvcihwYXJhbXM6IEJpdEdvT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICBpZiAoXG4gICAgICAhY29tbW9uLnZhbGlkYXRlUGFyYW1zKFxuICAgICAgICBwYXJhbXMsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ2NsaWVudElkJyxcbiAgICAgICAgICAnY2xpZW50U2VjcmV0JyxcbiAgICAgICAgICAncmVmcmVzaFRva2VuJyxcbiAgICAgICAgICAnYWNjZXNzVG9rZW4nLFxuICAgICAgICAgICd1c2VyQWdlbnQnLFxuICAgICAgICAgICdjdXN0b21Sb290VVJJJyxcbiAgICAgICAgICAnY3VzdG9tQml0Y29pbk5ldHdvcmsnLFxuICAgICAgICAgICdzZXJ2ZXJYcHViJyxcbiAgICAgICAgICAnc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmwnLFxuICAgICAgICBdXG4gICAgICApIHx8XG4gICAgICAocGFyYW1zLnVzZVByb2R1Y3Rpb24gJiYgIV8uaXNCb29sZWFuKHBhcmFtcy51c2VQcm9kdWN0aW9uKSkgfHxcbiAgICAgIChwYXJhbXMudXNlQW1zICYmICFfLmlzQm9vbGVhbihwYXJhbXMudXNlQW1zKSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBhcmd1bWVudCcpO1xuICAgIH1cblxuICAgIGlmICghcGFyYW1zLmNsaWVudElkICE9PSAhcGFyYW1zLmNsaWVudFNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFyZ3VtZW50IC0gbXVzdCBwcm92aWRlIGJvdGggY2xpZW50IGlkIGFuZCBzZWNyZXQnKTtcbiAgICB9XG5cbiAgICB0aGlzLl91c2VBbXMgPSAhIXBhcmFtcy51c2VBbXM7XG4gICAgdGhpcy5fdmVyc2lvbiA9IHBqc29uLnZlcnNpb247XG4gICAgdGhpcy5fdXNlckFnZW50ID0gcGFyYW1zLnVzZXJBZ2VudCB8fCAnQml0R29KUy8nICsgdGhpcy52ZXJzaW9uKCk7XG4gICAgdGhpcy5fY29pbkZhY3RvcnkgPSBuZXcgQ29pbkZhY3RvcnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBjb2luIGZhY3Rvcnkgd2l0aCB0b2tlbiBjb25maWd1cmF0aW9uc1xuICAgKiBAcGFyYW0gdG9rZW5Db25maWdNYXAgLSBBIG1hcCBvZiB0b2tlbiBtZXRhZGF0YSBmcm9tIEFNU1xuICAgKi9cbiAgaW5pdENvaW5GYWN0b3J5KHRva2VuQ29uZmlnTWFwOiBSZWNvcmQ8c3RyaW5nLCBUcmltbWVkQW1zVG9rZW5Db25maWdbXT4pOiB2b2lkIHtcbiAgICBjb25zdCBjb2luTWFwID0gY3JlYXRlVG9rZW5NYXBVc2luZ1RyaW1tZWRDb25maWdEZXRhaWxzKHRva2VuQ29uZmlnTWFwKTtcbiAgICB0aGlzLl9jb2luRmFjdG9yeSA9IG5ldyBDb2luRmFjdG9yeSgpO1xuICAgIHJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycyh0aGlzLl9jb2luRmFjdG9yeSwgY29pbk1hcCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYWxsIHRoZSB0b2tlbnMgYW5kIGluaXRpYWxpemUgdGhlIGNvaW4gZmFjdG9yeVxuICAgKi9cbiAgYXN5bmMgcmVnaXN0ZXJBbGxUb2tlbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLl91c2VBbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncmVnaXN0ZXJBbGxUb2tlbnMgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2VBbXMgaXMgc2V0IHRvIHRydWUnKTtcbiAgICB9XG4gICAgLy8gRmV0Y2ggbWFpbm5ldCBhc3NldHMgZm9yIHByb2QgYW5kIGFkbWluUHJvZCBlbnZpcm9ubWVudHMsIHRlc3RuZXQgYXNzZXRzIGZvciBhbGwgb3RoZXIgZW52aXJvbm1lbnRzXG4gICAgY29uc3QgYXNzZXRFbnZpcm9ubWVudCA9IFsncHJvZCcsICdhZG1pblByb2QnXS5pbmNsdWRlcyh0aGlzLmdldEVudigpKSA/ICdtYWlubmV0JyA6ICd0ZXN0bmV0JztcbiAgICBjb25zdCB1cmwgPSB0aGlzLnVybChgL2Fzc2V0cy9saXN0LyR7YXNzZXRFbnZpcm9ubWVudH1gKTtcbiAgICBjb25zdCB0b2tlbkNvbmZpZ01hcCA9IChhd2FpdCB0aGlzLmV4ZWN1dGVBc3NldFJlcXVlc3QodXJsKSkgYXMgUmVjb3JkPHN0cmluZywgVHJpbW1lZEFtc1Rva2VuQ29uZmlnW10+O1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmluaXRDb2luRmFjdG9yeSh0b2tlbkNvbmZpZ01hcCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb2luIGZhY3RvcnkgZnJvbSBBTVMgdG9rZW4gbWV0YWRhdGE6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJhc2Vjb2luIG9iamVjdFxuICAgKiBAcGFyYW0gY29pbk5hbWVcbiAgICovXG4gIGNvaW4oY29pbk5hbWU6IHN0cmluZyk6IEJhc2VDb2luIHtcbiAgICBpZiAodGhpcy5fdXNlQW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29pbkZhY3RvcnkuZ2V0SW5zdGFuY2UodGhpcywgY29pbk5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gR2xvYmFsQ29pbkZhY3RvcnkuZ2V0SW5zdGFuY2UodGhpcywgY29pbk5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgdG9rZW4gaW4gdGhlIGNvaW4gZmFjdG9yeVxuICAgKiBAcGFyYW0gdG9rZW5Db25maWcgLSBUaGUgdG9rZW4gbWV0YWRhdGEgZnJvbSBBTVNcbiAgICovXG4gIGFzeW5jIHJlZ2lzdGVyVG9rZW4odG9rZW5OYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuX3VzZUFtcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZWdpc3RlclRva2VuIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNlQW1zIGlzIHNldCB0byB0cnVlJyk7XG4gICAgfVxuICAgIC8vZG8gbm90IHJlZ2lzdGVyIGEgY29pbi90b2tlbiBpZiBpdCdzIGFscmVhZHkgcmVnaXN0ZXJlZFxuICAgIGlmICh0aGlzLl9jb2luRmFjdG9yeS5oYXNDb2luKHRva2VuTmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvL29mYyBpcyBub3QgcHJlc2VudCBpbiBzdGF0aWNzIGNvaW4gbWFwXG4gICAgaWYgKHRva2VuTmFtZSA9PT0gJ29mYycpIHtcbiAgICAgIHRoaXMuX2NvaW5GYWN0b3J5LnJlZ2lzdGVyKHRva2VuTmFtZSwgT2ZjLmNyZWF0ZUluc3RhbmNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gR2V0IHRoZSBjb2luL3Rva2VuIGRldGFpbHMgb25seSBpZiBpdCdzIG5vdCBwcmVzZW50IGluIHN0YXRpY3MgbGlicmFyeVxuICAgIGxldCBzdGF0aWNzQmFzZUNvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlbk5hbWUpKSB7XG4gICAgICBzdGF0aWNzQmFzZUNvaW4gPSBjb2lucy5nZXQodG9rZW5OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwoYC9hc3NldHMvbmFtZS8ke3Rva2VuTmFtZX1gKTtcbiAgICAgIGNvbnN0IHRva2VuQ29uZmlnID0gKGF3YWl0IHRoaXMuZXhlY3V0ZUFzc2V0UmVxdWVzdCh1cmwpKSBhcyBUcmltbWVkQW1zVG9rZW5Db25maWc7XG4gICAgICBzdGF0aWNzQmFzZUNvaW4gPSBjcmVhdGVUb2tlbih0b2tlbkNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKCFzdGF0aWNzQmFzZUNvaW4pIHtcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENvaW5FcnJvcih0b2tlbk5hbWUpO1xuICAgIH1cbiAgICBpZiAoc3RhdGljc0Jhc2VDb2luLmlzVG9rZW4pIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFRva2VuQ29uZmlnID0gZ2V0Rm9ybWF0dGVkVG9rZW5Db25maWdGb3JDb2luKHN0YXRpY3NCYXNlQ29pbik7XG4gICAgICBpZiAoIWZvcm1hdHRlZFRva2VuQ29uZmlnKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENvaW5FcnJvcih0b2tlbk5hbWUpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0b2tlbkNvbnN0cnVjdG9yID0gZ2V0VG9rZW5Db25zdHJ1Y3Rvcihmb3JtYXR0ZWRUb2tlbkNvbmZpZyk7XG4gICAgICBpZiAoIXRva2VuQ29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKHRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3RlclRva2VuKHN0YXRpY3NCYXNlQ29pbiwgdG9rZW5Db25zdHJ1Y3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvaW5Db25zdHJ1Y3RvciA9IGdldENvaW5Db25zdHJ1Y3Rvcih0b2tlbk5hbWUpO1xuICAgICAgaWYgKCFjb2luQ29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKHRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3RlclRva2VuKHN0YXRpY3NCYXNlQ29pbiwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYmFzZWNvaW4gb2JqZWN0IGZvciBhIHZpcnR1YWwgdG9rZW5cbiAgICogQHBhcmFtIHRva2VuTmFtZVxuICAgKi9cbiAgYXN5bmMgdG9rZW4odG9rZW5OYW1lOiBzdHJpbmcpOiBQcm9taXNlPEJhc2VDb2luPiB7XG4gICAgYXdhaXQgdGhpcy5mZXRjaENvbnN0YW50cygpO1xuICAgIHJldHVybiB0aGlzLmNvaW4odG9rZW5OYW1lKTtcbiAgfVxufVxuIl19
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYml0Z28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsRUFBRTtBQUNGLHVCQUF1QjtBQUN2QixFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFDRix5Q0FBMEM7QUFDMUMsNEJBQTRCO0FBRTVCLDhDQUFzRjtBQUN0Riw0Q0FBMkQ7QUFDM0QsNENBT3dCO0FBQ3hCLGtEQUF3SDtBQUN4SCxzQ0FBaUM7QUFPakMsTUFBYSxLQUFNLFNBQVEsa0JBQVE7SUFHakM7O09BRUc7SUFDSCxZQUFZLFNBQXVCLEVBQUU7UUFDbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFDRSxDQUFDLGlCQUFNLENBQUMsY0FBYyxDQUNwQixNQUFNLEVBQ04sRUFBRSxFQUNGO1lBQ0UsVUFBVTtZQUNWLGNBQWM7WUFDZCxjQUFjO1lBQ2QsYUFBYTtZQUNiLFdBQVc7WUFDWCxlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLFlBQVk7WUFDWiw0QkFBNEI7U0FDN0IsQ0FDRjtZQUNELENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzVELENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzlDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0s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QUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBMUlELHNCQTBJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vLyBCaXRHbyBKYXZhU2NyaXB0IFNES1xuLy9cbi8vIENvcHlyaWdodCAyMDE0LCBCaXRHbywgSW5jLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vXG5pbXBvcnQgcGpzb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQmFzZUNvaW4sIENvaW5GYWN0b3J5LCBjb21tb24sIFVuc3VwcG9ydGVkQ29pbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJpdEdvQVBJLCBCaXRHb0FQSU9wdGlvbnMgfSBmcm9tICdAYml0Z28vc2RrLWFwaSc7XG5pbXBvcnQge1xuICBjcmVhdGVUb2tlbk1hcFVzaW5nVHJpbW1lZENvbmZpZ0RldGFpbHMsXG4gIFRyaW1tZWRBbXNUb2tlbkNvbmZpZyxcbiAgY3JlYXRlVG9rZW4sXG4gIGdldEZvcm1hdHRlZFRva2VuQ29uZmlnRm9yQ29pbixcbiAgY29pbnMsXG4gIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbixcbn0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgR2xvYmFsQ29pbkZhY3RvcnksIHJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycywgZ2V0VG9rZW5Db25zdHJ1Y3RvciwgZ2V0Q29pbkNvbnN0cnVjdG9yIH0gZnJvbSAnLi92Mi9jb2luRmFjdG9yeSc7XG5pbXBvcnQgeyBPZmMgfSBmcm9tICcuL3YyL2NvaW5zJztcblxuLy8gY29uc3RydWN0b3IgcGFyYW1zIHVzZWQgZXhjbHVzaXZlbHkgZm9yIEJpdEdvIGNsYXNzXG5leHBvcnQgdHlwZSBCaXRHb09wdGlvbnMgPSBCaXRHb0FQSU9wdGlvbnMgJiB7XG4gIHVzZUFtcz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgQml0R28gZXh0ZW5kcyBCaXRHb0FQSSB7XG4gIHByaXZhdGUgX2NvaW5GYWN0b3J5OiBDb2luRmFjdG9yeTtcbiAgcHJpdmF0ZSBfdXNlQW1zOiBib29sZWFuO1xuICAvKipcbiAgICogQ29uc3RydWN0b3IgZm9yIEJpdEdvIE9iamVjdFxuICAgKi9cbiAgY29uc3RydWN0b3IocGFyYW1zOiBCaXRHb09wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHBhcmFtcyk7XG4gICAgaWYgKFxuICAgICAgIWNvbW1vbi52YWxpZGF0ZVBhcmFtcyhcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBbXSxcbiAgICAgICAgW1xuICAgICAgICAgICdjbGllbnRJZCcsXG4gICAgICAgICAgJ2NsaWVudFNlY3JldCcsXG4gICAgICAgICAgJ3JlZnJlc2hUb2tlbicsXG4gICAgICAgICAgJ2FjY2Vzc1Rva2VuJyxcbiAgICAgICAgICAndXNlckFnZW50JyxcbiAgICAgICAgICAnY3VzdG9tUm9vdFVSSScsXG4gICAgICAgICAgJ2N1c3RvbUJpdGNvaW5OZXR3b3JrJyxcbiAgICAgICAgICAnc2VydmVyWHB1YicsXG4gICAgICAgICAgJ3N0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsJyxcbiAgICAgICAgXVxuICAgICAgKSB8fFxuICAgICAgKHBhcmFtcy51c2VQcm9kdWN0aW9uICYmICFfLmlzQm9vbGVhbihwYXJhbXMudXNlUHJvZHVjdGlvbikpIHx8XG4gICAgICAocGFyYW1zLnVzZUFtcyAmJiAhXy5pc0Jvb2xlYW4ocGFyYW1zLnVzZUFtcykpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYXJndW1lbnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhcmFtcy5jbGllbnRJZCAhPT0gIXBhcmFtcy5jbGllbnRTZWNyZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBhcmd1bWVudCAtIG11c3QgcHJvdmlkZSBib3RoIGNsaWVudCBpZCBhbmQgc2VjcmV0Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdXNlQW1zID0gISFwYXJhbXMudXNlQW1zO1xuICAgIHRoaXMuX3ZlcnNpb24gPSBwanNvbi52ZXJzaW9uO1xuICAgIHRoaXMuX3VzZXJBZ2VudCA9IHBhcmFtcy51c2VyQWdlbnQgfHwgJ0JpdEdvSlMvJyArIHRoaXMudmVyc2lvbigpO1xuICAgIHRoaXMuX2NvaW5GYWN0b3J5ID0gbmV3IENvaW5GYWN0b3J5KCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgY29pbiBmYWN0b3J5IHdpdGggdG9rZW4gY29uZmlndXJhdGlvbnNcbiAgICogQHBhcmFtIHRva2VuQ29uZmlnTWFwIC0gQSBtYXAgb2YgdG9rZW4gbWV0YWRhdGEgZnJvbSBBTVNcbiAgICovXG4gIGluaXRDb2luRmFjdG9yeSh0b2tlbkNvbmZpZ01hcDogUmVjb3JkPHN0cmluZywgVHJpbW1lZEFtc1Rva2VuQ29uZmlnW10+KTogdm9pZCB7XG4gICAgY29uc3QgY29pbk1hcCA9IGNyZWF0ZVRva2VuTWFwVXNpbmdUcmltbWVkQ29uZmlnRGV0YWlscyh0b2tlbkNvbmZpZ01hcCk7XG4gICAgdGhpcy5fY29pbkZhY3RvcnkgPSBuZXcgQ29pbkZhY3RvcnkoKTtcbiAgICByZWdpc3RlckNvaW5Db25zdHJ1Y3RvcnModGhpcy5fY29pbkZhY3RvcnksIGNvaW5NYXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGFsbCB0aGUgdG9rZW5zIGFuZCBpbml0aWFsaXplIHRoZSBjb2luIGZhY3RvcnlcbiAgICovXG4gIGFzeW5jIHJlZ2lzdGVyQWxsVG9rZW5zKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5fdXNlQW1zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlZ2lzdGVyQWxsVG9rZW5zIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gdXNlQW1zIGlzIHNldCB0byB0cnVlJyk7XG4gICAgfVxuICAgIC8vIEZldGNoIG1haW5uZXQgYXNzZXRzIGZvciBwcm9kIGFuZCBhZG1pblByb2QgZW52aXJvbm1lbnRzLCB0ZXN0bmV0IGFzc2V0cyBmb3IgYWxsIG90aGVyIGVudmlyb25tZW50c1xuICAgIGNvbnN0IGFzc2V0RW52aXJvbm1lbnQgPSBbJ3Byb2QnLCAnYWRtaW5Qcm9kJ10uaW5jbHVkZXModGhpcy5nZXRFbnYoKSkgPyAnbWFpbm5ldCcgOiAndGVzdG5ldCc7XG4gICAgY29uc3QgdXJsID0gdGhpcy51cmwoYC9hc3NldHMvbGlzdC8ke2Fzc2V0RW52aXJvbm1lbnR9YCk7XG4gICAgY29uc3QgdG9rZW5Db25maWdNYXAgPSAoYXdhaXQgdGhpcy5leGVjdXRlQXNzZXRSZXF1ZXN0KHVybCkpIGFzIFJlY29yZDxzdHJpbmcsIFRyaW1tZWRBbXNUb2tlbkNvbmZpZ1tdPjtcbiAgICB0cnkge1xuICAgICAgdGhpcy5pbml0Q29pbkZhY3RvcnkodG9rZW5Db25maWdNYXApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGluaXRpYWxpemUgY29pbiBmYWN0b3J5IGZyb20gQU1TIHRva2VuIG1ldGFkYXRhOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBiYXNlY29pbiBvYmplY3RcbiAgICogQHBhcmFtIGNvaW5OYW1lXG4gICAqL1xuICBjb2luKGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlQ29pbiB7XG4gICAgaWYgKHRoaXMuX3VzZUFtcykge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvaW5GYWN0b3J5LmdldEluc3RhbmNlKHRoaXMsIGNvaW5OYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIEdsb2JhbENvaW5GYWN0b3J5LmdldEluc3RhbmNlKHRoaXMsIGNvaW5OYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIHRva2VuIGluIHRoZSBjb2luIGZhY3RvcnlcbiAgICogQHBhcmFtIHRva2VuQ29uZmlnIC0gVGhlIHRva2VuIG1ldGFkYXRhIGZyb20gQU1TXG4gICAqL1xuICBhc3luYyByZWdpc3RlclRva2VuKHRva2VuTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLl91c2VBbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncmVnaXN0ZXJUb2tlbiBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHVzZUFtcyBpcyBzZXQgdG8gdHJ1ZScpO1xuICAgIH1cbiAgICAvL2RvIG5vdCByZWdpc3RlciBhIGNvaW4vdG9rZW4gaWYgaXQncyBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgICBpZiAodGhpcy5fY29pbkZhY3RvcnkuaGFzQ29pbih0b2tlbk5hbWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy9vZmMgaXMgbm90IHByZXNlbnQgaW4gc3RhdGljcyBjb2luIG1hcFxuICAgIGlmICh0b2tlbk5hbWUgPT09ICdvZmMnKSB7XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3Rlcih0b2tlbk5hbWUsIE9mYy5jcmVhdGVJbnN0YW5jZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIEdldCB0aGUgY29pbi90b2tlbiBkZXRhaWxzIG9ubHkgaWYgaXQncyBub3QgcHJlc2VudCBpbiBzdGF0aWNzIGxpYnJhcnlcbiAgICBsZXQgc3RhdGljc0Jhc2VDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChjb2lucy5oYXModG9rZW5OYW1lKSkge1xuICAgICAgc3RhdGljc0Jhc2VDb2luID0gY29pbnMuZ2V0KHRva2VuTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMudXJsKGAvYXNzZXRzL25hbWUvJHt0b2tlbk5hbWV9YCk7XG4gICAgICBjb25zdCB0b2tlbkNvbmZpZyA9IChhd2FpdCB0aGlzLmV4ZWN1dGVBc3NldFJlcXVlc3QodXJsKSkgYXMgVHJpbW1lZEFtc1Rva2VuQ29uZmlnO1xuICAgICAgc3RhdGljc0Jhc2VDb2luID0gY3JlYXRlVG9rZW4odG9rZW5Db25maWcpO1xuICAgIH1cblxuICAgIGlmICghc3RhdGljc0Jhc2VDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDb2luRXJyb3IodG9rZW5OYW1lKTtcbiAgICB9XG4gICAgaWYgKHN0YXRpY3NCYXNlQ29pbi5pc1Rva2VuKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRUb2tlbkNvbmZpZyA9IGdldEZvcm1hdHRlZFRva2VuQ29uZmlnRm9yQ29pbihzdGF0aWNzQmFzZUNvaW4pO1xuICAgICAgaWYgKCFmb3JtYXR0ZWRUb2tlbkNvbmZpZykge1xuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDb2luRXJyb3IodG9rZW5OYW1lKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdG9rZW5Db25zdHJ1Y3RvciA9IGdldFRva2VuQ29uc3RydWN0b3IoZm9ybWF0dGVkVG9rZW5Db25maWcsIHN0YXRpY3NCYXNlQ29pbik7XG4gICAgICBpZiAoIXRva2VuQ29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKHRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3RlclRva2VuKHN0YXRpY3NCYXNlQ29pbiwgdG9rZW5Db25zdHJ1Y3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvaW5Db25zdHJ1Y3RvciA9IGdldENvaW5Db25zdHJ1Y3Rvcih0b2tlbk5hbWUpO1xuICAgICAgaWYgKCFjb2luQ29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKHRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb2luRmFjdG9yeS5yZWdpc3RlclRva2VuKHN0YXRpY3NCYXNlQ29pbiwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYmFzZWNvaW4gb2JqZWN0IGZvciBhIHZpcnR1YWwgdG9rZW5cbiAgICogQHBhcmFtIHRva2VuTmFtZVxuICAgKi9cbiAgYXN5bmMgdG9rZW4odG9rZW5OYW1lOiBzdHJpbmcpOiBQcm9taXNlPEJhc2VDb2luPiB7XG4gICAgYXdhaXQgdGhpcy5mZXRjaENvbnN0YW50cygpO1xuICAgIHJldHVybiB0aGlzLmNvaW4odG9rZW5OYW1lKTtcbiAgfVxufVxuIl19
|