drama-pm-client 0.2.3 → 0.2.5
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/idl.d.ts +72 -57
- package/dist/idl.js +156 -61
- package/dist/index.d.ts +10 -10
- package/dist/index.js +24 -15
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { BN as AnchorBN, Program as AnchorProgram, AnchorProvider, Wallet, web3, } from "@coral-xyz/anchor";
|
|
2
1
|
import { createAssociatedTokenAccountInstruction, getAccount, getAssociatedTokenAddressSync, TOKEN_PROGRAM_ID, } from "@solana/spl-token";
|
|
3
|
-
import {
|
|
2
|
+
import { Program as AnchorProgram, AnchorProvider } from "@coral-xyz/anchor";
|
|
3
|
+
import BN from "bn.js";
|
|
4
|
+
import { Keypair, PublicKey, SystemProgram, Transaction } from "@solana/web3.js";
|
|
4
5
|
import { IDL } from "./idl.js";
|
|
5
6
|
import { getGlobalConfigPda, getMarketPda, getMarketPdas, getVaultPda, } from "./utils.js";
|
|
6
7
|
export * from "./utils.js";
|
|
@@ -8,7 +9,15 @@ export { IDL };
|
|
|
8
9
|
export class DramaPmClient {
|
|
9
10
|
constructor(connection, wallet, programId) {
|
|
10
11
|
this.connection = connection;
|
|
11
|
-
|
|
12
|
+
// Create a default wallet if none provided
|
|
13
|
+
const defaultKeypair = Keypair.generate();
|
|
14
|
+
const defaultWallet = {
|
|
15
|
+
publicKey: defaultKeypair.publicKey,
|
|
16
|
+
signTransaction: async (tx) => tx,
|
|
17
|
+
signAllTransactions: async (txs) => txs,
|
|
18
|
+
payer: defaultKeypair,
|
|
19
|
+
};
|
|
20
|
+
this.provider = new AnchorProvider(connection, wallet || defaultWallet, { commitment: "confirmed" });
|
|
12
21
|
// Use custom programId if provided, otherwise use the default from IDL
|
|
13
22
|
const finalProgramId = programId || new PublicKey(IDL.address);
|
|
14
23
|
// Create a new IDL with the custom programId
|
|
@@ -58,7 +67,7 @@ export class DramaPmClient {
|
|
|
58
67
|
.accountsPartial({
|
|
59
68
|
globalConfig,
|
|
60
69
|
authority: authority,
|
|
61
|
-
systemProgram:
|
|
70
|
+
systemProgram: SystemProgram.programId,
|
|
62
71
|
})
|
|
63
72
|
.instruction();
|
|
64
73
|
}
|
|
@@ -93,10 +102,10 @@ export class DramaPmClient {
|
|
|
93
102
|
*/
|
|
94
103
|
async createMarket(params) {
|
|
95
104
|
const { admin, marketId, yesPrice, noPrice, endTime, bettingToken } = params;
|
|
96
|
-
const marketIdBn = new
|
|
97
|
-
const yesPriceBn = new
|
|
98
|
-
const noPriceBn = new
|
|
99
|
-
const endTimeBn = new
|
|
105
|
+
const marketIdBn = new BN(marketId);
|
|
106
|
+
const yesPriceBn = new BN(yesPrice);
|
|
107
|
+
const noPriceBn = new BN(noPrice);
|
|
108
|
+
const endTimeBn = new BN(endTime);
|
|
100
109
|
const pdas = getMarketPdas(this.program.programId, admin, marketIdBn);
|
|
101
110
|
const globalConfig = getGlobalConfigPda(this.program.programId);
|
|
102
111
|
return await this.program.methods
|
|
@@ -114,7 +123,7 @@ export class DramaPmClient {
|
|
|
114
123
|
bettingToken: bettingToken,
|
|
115
124
|
vault: pdas.vault,
|
|
116
125
|
admin: admin,
|
|
117
|
-
systemProgram:
|
|
126
|
+
systemProgram: SystemProgram.programId,
|
|
118
127
|
})
|
|
119
128
|
.instruction();
|
|
120
129
|
}
|
|
@@ -130,7 +139,7 @@ export class DramaPmClient {
|
|
|
130
139
|
*/
|
|
131
140
|
async placeBet(params) {
|
|
132
141
|
const { user, market, amount, outcome, bettingToken } = params;
|
|
133
|
-
const amountBn = new
|
|
142
|
+
const amountBn = new BN(amount);
|
|
134
143
|
const outcomeEnum = outcome === "Yes" ? { yes: {} } : { no: {} };
|
|
135
144
|
// Derive PDAs from market address
|
|
136
145
|
const yesMint = PublicKey.findProgramAddressSync([Buffer.from("yes_mint"), market.toBuffer()], this.program.programId)[0];
|
|
@@ -190,7 +199,7 @@ export class DramaPmClient {
|
|
|
190
199
|
const userBettingToken = getAssociatedTokenAddressSync(bettingToken, user);
|
|
191
200
|
const targetMint = winningOutcome === "Yes" ? yesMint : noMint;
|
|
192
201
|
const userOutcomeToken = getAssociatedTokenAddressSync(targetMint, user);
|
|
193
|
-
const sharesToClaimBn = new
|
|
202
|
+
const sharesToClaimBn = new BN(params.sharesToClaim);
|
|
194
203
|
return await this.program.methods
|
|
195
204
|
.claimRewards({
|
|
196
205
|
tokenAmount: sharesToClaimBn,
|
|
@@ -243,7 +252,7 @@ export class DramaPmClient {
|
|
|
243
252
|
* Resolve a market (Admin only)
|
|
244
253
|
*/
|
|
245
254
|
async resolveMarket(admin, marketId, winningOutcome) {
|
|
246
|
-
const marketIdBn = new
|
|
255
|
+
const marketIdBn = new BN(marketId);
|
|
247
256
|
const marketPda = getMarketPda(this.program.programId, admin, marketIdBn);
|
|
248
257
|
let outcomeEnum = null;
|
|
249
258
|
if (winningOutcome === "Yes") {
|
|
@@ -271,7 +280,7 @@ export class DramaPmClient {
|
|
|
271
280
|
* Close a market (Admin only)
|
|
272
281
|
*/
|
|
273
282
|
async closeMarket(admin, marketId) {
|
|
274
|
-
const marketIdBn = new
|
|
283
|
+
const marketIdBn = new BN(marketId);
|
|
275
284
|
const marketPda = getMarketPda(this.program.programId, admin, marketIdBn);
|
|
276
285
|
return await this.program.methods
|
|
277
286
|
.closeMarket()
|
|
@@ -298,7 +307,7 @@ export class DramaPmClient {
|
|
|
298
307
|
* Fetch market account data
|
|
299
308
|
*/
|
|
300
309
|
async getMarketAccount(admin, marketId) {
|
|
301
|
-
const marketIdBn = new
|
|
310
|
+
const marketIdBn = new BN(marketId);
|
|
302
311
|
const marketPda = getMarketPda(this.program.programId, admin, marketIdBn);
|
|
303
312
|
return await this.program.account.market.fetch(marketPda);
|
|
304
313
|
}
|
|
@@ -310,4 +319,4 @@ export class DramaPmClient {
|
|
|
310
319
|
return await getAccount(this.connection, vaultPda);
|
|
311
320
|
}
|
|
312
321
|
}
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLEVBQUUsSUFBSSxRQUFRLEVBQ2QsT0FBTyxJQUFJLGFBQWEsRUFDeEIsY0FBYyxFQUNkLE1BQU0sRUFDTixJQUFJLEdBQ0wsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQ0wsdUNBQXVDLEVBQ3ZDLFVBQVUsRUFDViw2QkFBNkIsRUFDN0IsZ0JBQWdCLEdBQ2pCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUVMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsV0FBVyxFQUVaLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0sWUFBWSxDQUFDO0FBRXBCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLE9BQU8sRUFBVyxHQUFHLEVBQUUsQ0FBQztBQXFDeEIsTUFBTSxPQUFPLGFBQWE7SUFLeEIsWUFBWSxVQUFzQixFQUFFLE1BQWUsRUFBRSxTQUFxQjtRQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUNoQyxVQUFVLEVBQ1YsTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUN4QyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FDNUIsQ0FBQztRQUVGLHVFQUF1RTtRQUN2RSxNQUFNLGNBQWMsR0FBRyxTQUFTLElBQUksSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9ELDZDQUE2QztRQUM3QyxNQUFNLFNBQVMsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLE9BQU8sRUFB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LENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBb0I7UUFDeEMsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sTUFBTSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJOLCBJZGwsIFByb2dyYW0gfSBmcm9tIFwiQGNvcmFsLXh5ei9hbmNob3JcIjtcbmltcG9ydCB7XG4gIEJOIGFzIEFuY2hvckJOLFxuICBQcm9ncmFtIGFzIEFuY2hvclByb2dyYW0sXG4gIEFuY2hvclByb3ZpZGVyLFxuICBXYWxsZXQsXG4gIHdlYjMsXG59IGZyb20gXCJAY29yYWwteHl6L2FuY2hvclwiO1xuaW1wb3J0IHtcbiAgY3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudEluc3RydWN0aW9uLFxuICBnZXRBY2NvdW50LFxuICBnZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzU3luYyxcbiAgVE9LRU5fUFJPR1JBTV9JRCxcbn0gZnJvbSBcIkBzb2xhbmEvc3BsLXRva2VuXCI7XG5pbXBvcnQge1xuICBDb25uZWN0aW9uLFxuICBLZXlwYWlyLFxuICBQdWJsaWNLZXksXG4gIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbkluc3RydWN0aW9uXG59IGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbmltcG9ydCB7IElETCB9IGZyb20gXCIuL2lkbC5qc1wiO1xuaW1wb3J0IHsgRHJhbWFQbSB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5pbXBvcnQge1xuICBnZXRHbG9iYWxDb25maWdQZGEsXG4gIGdldE1hcmtldFBkYSxcbiAgZ2V0TWFya2V0UGRhcyxcbiAgZ2V0VmF1bHRQZGEsXG59IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgeyBEcmFtYVBtLCBJREwgfTtcblxuZXhwb3J0IHR5cGUgT3V0Y29tZSA9IFwiWWVzXCIgfCBcIk5vXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTWFya2V0UGFyYW1zIHtcbiAgYWRtaW46IFB1YmxpY0tleTtcbiAgbWFya2V0SWQ6IG51bWJlciB8IEJOO1xuICB5ZXNQcmljZTogbnVtYmVyIHwgQk47XG4gIG5vUHJpY2U6IG51bWJlciB8IEJOO1xuICBlbmRUaW1lOiBudW1iZXIgfCBCTjtcbiAgYmV0dGluZ1Rva2VuOiBQdWJsaWNLZXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VCZXRQYXJhbXMge1xuICB1c2VyOiBQdWJsaWNLZXk7XG4gIG1hcmtldDogUHVibGljS2V5OyAvLyBNYXJrZXQgUERBIGFkZHJlc3NcbiAgYW1vdW50OiBudW1iZXIgfCBCTjtcbiAgb3V0Y29tZTogT3V0Y29tZTtcbiAgYmV0dGluZ1Rva2VuOiBQdWJsaWNLZXk7XG4gIGNyZWF0ZUF0YT86IGJvb2xlYW47IC8vIFdoZXRoZXIgdG8gY3JlYXRlIEFUQSBpbnN0cnVjdGlvbiBhdXRvbWF0aWNhbGx5XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhaW1SZXdhcmRzUGFyYW1zIHtcbiAgdXNlcjogUHVibGljS2V5O1xuICBtYXJrZXQ6IFB1YmxpY0tleTsgLy8gTWFya2V0IFBEQSBhZGRyZXNzXG4gIGJldHRpbmdUb2tlbjogUHVibGljS2V5O1xuICB3aW5uaW5nT3V0Y29tZTogT3V0Y29tZTtcbiAgdG9rZW5BbW91bnQ6IG51bWJlciB8IEJOOyAvLyBBbW91bnQgb2Ygc2hhcmVzIHRvIGNsYWltICgwID0gY2xhaW0gYWxsKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZnVuZFBhcmFtcyB7XG4gIHVzZXI6IFB1YmxpY0tleTtcbiAgbWFya2V0OiBQdWJsaWNLZXk7IC8vIE1hcmtldCBQREEgYWRkcmVzc1xuICBiZXR0aW5nVG9rZW46IFB1YmxpY0tleTtcbiAgb3V0Y29tZTogT3V0Y29tZTtcbn1cblxuZXhwb3J0IGNsYXNzIERyYW1hUG1DbGllbnQge1xuICBwcm9ncmFtOiBQcm9ncmFtPERyYW1hUG0+O1xuICBwcm92aWRlcjogQW5jaG9yUHJvdmlkZXI7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG5cbiAgY29uc3RydWN0b3IoY29ubmVjdGlvbjogQ29ubmVjdGlvbiwgd2FsbGV0PzogV2FsbGV0LCBwcm9ncmFtSWQ/OiBQdWJsaWNLZXkpIHtcbiAgICB0aGlzLmNvbm5lY3Rpb24gPSBjb25uZWN0aW9uO1xuICAgIHRoaXMucHJvdmlkZXIgPSBuZXcgQW5jaG9yUHJvdmlkZXIoXG4gICAgICBjb25uZWN0aW9uLFxuICAgICAgd2FsbGV0IHx8IG5ldyBXYWxsZXQoS2V5cGFpci5nZW5lcmF0ZSgpKSxcbiAgICAgIHsgY29tbWl0bWVudDogXCJjb25maXJtZWRcIiB9XG4gICAgKTtcbiAgICBcbiAgICAvLyBVc2UgY3VzdG9tIHByb2dyYW1JZCBpZiBwcm92aWRlZCwgb3RoZXJ3aXNlIHVzZSB0aGUgZGVmYXVsdCBmcm9tIElETFxuICAgIGNvbnN0IGZpbmFsUHJvZ3JhbUlkID0gcHJvZ3JhbUlkIHx8IG5ldyBQdWJsaWNLZXkoSURMLmFkZHJlc3MpO1xuICAgIFxuICAgIC8vIENyZWF0ZSBhIG5ldyBJREwgd2l0aCB0aGUgY3VzdG9tIHByb2dyYW1JZFxuICAgIGNvbnN0IGN1c3RvbUlkbCA9IHsgLi4uSURMLCBhZGRyZXNzOiBmaW5hbFByb2dyYW1JZC50b0Jhc2U1OCgpIH07XG4gICAgXG4gICAgdGhpcy5wcm9ncmFtID0gbmV3IEFuY2hvclByb2dyYW0oY3VzdG9tSWRsIGFzIElkbCwgdGhpcy5wcm92aWRlcikgYXMgdW5rbm93biBhcyBQcm9ncmFtPERyYW1hUG0+O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBwcm9ncmFtIElEXG4gICAqL1xuICBnZXRQcm9ncmFtSWQoKTogUHVibGljS2V5IHtcbiAgICByZXR1cm4gdGhpcy5wcm9ncmFtLnByb2dyYW1JZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYSBuZXcgcHJvZ3JhbSBJRCBhbmQgcmVpbml0aWFsaXplIHRoZSBwcm9ncmFtIGluc3RhbmNlXG4gICAqIFVzZWZ1bCB3aGVuIHJlZGVwbG95aW5nIHRoZSBwcm9ncmFtIHRvIGEgbmV3IGFkZHJlc3NcbiAgICovXG4gIHNldFByb2dyYW1JZChwcm9ncmFtSWQ6IFB1YmxpY0tleSk6IHZvaWQge1xuICAgIGNvbnN0IGN1c3RvbUlkbCA9IHsgLi4uSURMLCBhZGRyZXNzOiBwcm9ncmFtSWQudG9CYXNlNTgoKSB9O1xuICAgIHRoaXMucHJvZ3JhbSA9IG5ldyBBbmNob3JQcm9ncmFtKGN1c3RvbUlkbCBhcyBJZGwsIHRoaXMucHJvdmlkZXIpIGFzIHVua25vd24gYXMgUHJvZ3JhbTxEcmFtYVBtPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQgZXhpc3RzXG4gICAqL1xuICBhc3luYyBhdGFFeGlzdHMoYXRhOiBQdWJsaWNLZXkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZ2V0QWNjb3VudCh0aGlzLmNvbm5lY3Rpb24sIGF0YSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGluc3RydWN0aW9uIHRvIGluaXRpYWxpemUgYW4gYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gICAqL1xuICBjcmVhdGVBdGFJbnN0cnVjdGlvbihcbiAgICBwYXllcjogUHVibGljS2V5LFxuICAgIG93bmVyOiBQdWJsaWNLZXksXG4gICAgbWludDogUHVibGljS2V5XG4gICk6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24ge1xuICAgIGNvbnN0IGF0YSA9IGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jKG1pbnQsIG93bmVyKTtcbiAgICByZXR1cm4gY3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudEluc3RydWN0aW9uKFxuICAgICAgcGF5ZXIsXG4gICAgICBhdGEsXG4gICAgICBvd25lcixcbiAgICAgIG1pbnQsXG4gICAgICBUT0tFTl9QUk9HUkFNX0lEXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGdsb2JhbCBjb25maWd1cmF0aW9uIChBdXRob3JpdHkgb25seSlcbiAgICovXG4gIGFzeW5jIGluaXRpYWxpemVDb25maWcoYXV0aG9yaXR5OiBQdWJsaWNLZXkpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24+IHtcbiAgICBjb25zdCBnbG9iYWxDb25maWcgPSBnZXRHbG9iYWxDb25maWdQZGEodGhpcy5wcm9ncmFtLnByb2dyYW1JZCk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZUNvbmZpZygpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgICAgc3lzdGVtUHJvZ3JhbTogd2ViMy5TeXN0ZW1Qcm9ncmFtLnByb2dyYW1JZCxcbiAgICAgIH0pXG4gICAgICAuaW5zdHJ1Y3Rpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIGNvbXBsZXRlIHRyYW5zYWN0aW9uIHRvIGluaXRpYWxpemUgY29uZmlnXG4gICAqL1xuICBhc3luYyBidWlsZEluaXRpYWxpemVDb25maWdUeChhdXRob3JpdHk6IFB1YmxpY0tleSk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBpeCA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZUNvbmZpZyhhdXRob3JpdHkpO1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb24oKS5hZGQoaXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBhdXRob3JpemVkIGFkbWluIChBdXRob3JpdHkgb25seSlcbiAgICovXG4gIGFzeW5jIGFkZEFkbWluKG5ld0FkbWluOiBQdWJsaWNLZXkpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24+IHtcbiAgICBjb25zdCBnbG9iYWxDb25maWcgPSBnZXRHbG9iYWxDb25maWdQZGEodGhpcy5wcm9ncmFtLnByb2dyYW1JZCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5hZGRBZG1pbihuZXdBZG1pbilcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICBnbG9iYWxDb25maWcsXG4gICAgICB9KVxuICAgICAgLmluc3RydWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBjb21wbGV0ZSB0cmFuc2FjdGlvbiB0byB1cGRhdGUgYWRtaW5cbiAgICovXG4gIGFzeW5jIGJ1aWxkQWRkQWRtaW5UeChuZXdBZG1pbjogUHVibGljS2V5KTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IGl4ID0gYXdhaXQgdGhpcy5hZGRBZG1pbihuZXdBZG1pbik7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbigpLmFkZChpeCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHByZWRpY3Rpb24gbWFya2V0IGluc3RydWN0aW9uXG4gICAqL1xuICBhc3luYyBjcmVhdGVNYXJrZXQocGFyYW1zOiBDcmVhdGVNYXJrZXRQYXJhbXMpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24+IHtcbiAgICBjb25zdCB7IGFkbWluLCBtYXJrZXRJZCwgeWVzUHJpY2UsIG5vUHJpY2UsIGVuZFRpbWUsIGJldHRpbmdUb2tlbiB9ID0gcGFyYW1zO1xuICAgIFxuICAgIGNvbnN0IG1hcmtldElkQm4gPSBuZXcgQW5jaG9yQk4obWFya2V0SWQpO1xuICAgIGNvbnN0IHllc1ByaWNlQm4gPSBuZXcgQW5jaG9yQk4oeWVzUHJpY2UpO1xuICAgIGNvbnN0IG5vUHJpY2VCbiA9IG5ldyBBbmNob3JCTihub1ByaWNlKTtcbiAgICBjb25zdCBlbmRUaW1lQm4gPSBuZXcgQW5jaG9yQk4oZW5kVGltZSk7XG5cbiAgICBjb25zdCBwZGFzID0gZ2V0TWFya2V0UGRhcyh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhZG1pbiwgbWFya2V0SWRCbik7XG4gICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gZ2V0R2xvYmFsQ29uZmlnUGRhKHRoaXMucHJvZ3JhbS5wcm9ncmFtSWQpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuY3JlYXRlTWFya2V0KHtcbiAgICAgICAgICBtYXJrZXRJZDogbWFya2V0SWRCbixcbiAgICAgICAgICB5ZXNQcmljZTogeWVzUHJpY2VCbixcbiAgICAgICAgICBub1ByaWNlOiBub1ByaWNlQm4sXG4gICAgICAgICAgZW5kVGltZTogZW5kVGltZUJuLFxuICAgICAgICB9KVxuICAgICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgICBnbG9iYWxDb25maWcsXG4gICAgICAgICAgbWFya2V0OiBwZGFzLm1hcmtldCxcbiAgICAgICAgICB5ZXNNaW50OiBwZGFzLnllc01pbnQsXG4gICAgICAgICAgbm9NaW50OiBwZGFzLm5vTWludCxcbiAgICAgICAgICBiZXR0aW5nVG9rZW46IGJldHRpbmdUb2tlbixcbiAgICAgICAgICB2YXVsdDogcGRhcy52YXVsdCxcbiAgICAgICAgICBhZG1pbjogYWRtaW4sXG4gICAgICAgICAgc3lzdGVtUHJvZ3JhbTogd2ViMy5TeXN0ZW1Qcm9ncmFtLnByb2dyYW1JZCxcbiAgICAgICAgfSlcbiAgICAgICAgLmluc3RydWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBjb21wbGV0ZSB0cmFuc2FjdGlvbiB0byBjcmVhdGUgYSBtYXJrZXRcbiAgICovXG4gIGFzeW5jIGJ1aWxkQ3JlYXRlTWFya2V0VHgocGFyYW1zOiBDcmVhdGVNYXJrZXRQYXJhbXMpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgaXggPSBhd2FpdCB0aGlzLmNyZWF0ZU1hcmtldChwYXJhbXMpO1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb24oKS5hZGQoaXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBsYWNlIGEgYmV0IGluc3RydWN0aW9uICh3aXRob3V0IEFUQSBjcmVhdGlvbilcbiAgICovXG4gIGFzeW5jIHBsYWNlQmV0KHBhcmFtczogUGxhY2VCZXRQYXJhbXMpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24+IHtcbiAgICBjb25zdCB7IHVzZXIsIG1hcmtldCwgYW1vdW50LCBvdXRjb21lLCBiZXR0aW5nVG9rZW4gfSA9IHBhcmFtcztcbiAgICBcbiAgICBjb25zdCBhbW91bnRCbiA9IG5ldyBBbmNob3JCTihhbW91bnQpO1xuICAgIGNvbnN0IG91dGNvbWVFbnVtID0gb3V0Y29tZSA9PT0gXCJZZXNcIiA/IHsgeWVzOiB7fSB9IDogeyBubzoge30gfTtcblxuICAgIC8vIERlcml2ZSBQREFzIGZyb20gbWFya2V0IGFkZHJlc3NcbiAgICBjb25zdCB5ZXNNaW50ID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJ5ZXNfbWludFwiKSwgbWFya2V0LnRvQnVmZmVyKCldLFxuICAgICAgdGhpcy5wcm9ncmFtLnByb2dyYW1JZFxuICAgIClbMF07XG4gICAgY29uc3Qgbm9NaW50ID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJub19taW50XCIpLCBtYXJrZXQudG9CdWZmZXIoKV0sXG4gICAgICB0aGlzLnByb2dyYW0ucHJvZ3JhbUlkXG4gICAgKVswXTtcbiAgICBjb25zdCB2YXVsdCA9IFB1YmxpY0tleS5maW5kUHJvZ3JhbUFkZHJlc3NTeW5jKFxuICAgICAgW0J1ZmZlci5mcm9tKFwidmF1bHRcIiksIG1hcmtldC50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApWzBdO1xuXG4gICAgY29uc3QgdXNlckJldHRpbmdUb2tlbiA9IGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jKGJldHRpbmdUb2tlbiwgdXNlcik7XG4gICAgXG4gICAgLy8gRGV0ZXJtaW5lIHdoaWNoIG91dGNvbWUgdG9rZW4gdGhlIHVzZXIgd2lsbCByZWNlaXZlXG4gICAgY29uc3QgdGFyZ2V0TWludCA9IG91dGNvbWUgPT09IFwiWWVzXCIgPyB5ZXNNaW50IDogbm9NaW50O1xuICAgIGNvbnN0IHVzZXJPdXRjb21lVG9rZW4gPSBnZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzU3luYyh0YXJnZXRNaW50LCB1c2VyKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLnBsYWNlQmV0KHtcbiAgICAgICAgYnV5T3V0Y29tZTogb3V0Y29tZUVudW0sXG4gICAgICAgIGFtb3VudDogYW1vdW50Qm4sXG4gICAgICB9KVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIG1hcmtldCxcbiAgICAgICAgeWVzTWludCxcbiAgICAgICAgbm9NaW50LFxuICAgICAgICB2YXVsdCxcbiAgICAgICAgdXNlck91dGNvbWVUb2tlbixcbiAgICAgICAgdXNlckJldHRpbmdUb2tlbixcbiAgICAgICAgdXNlcixcbiAgICAgIH0pXG4gICAgICAuaW5zdHJ1Y3Rpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIGNvbXBsZXRlIHRyYW5zYWN0aW9uIHRvIHBsYWNlIGEgYmV0ICh3aXRoIG9wdGlvbmFsIEFUQSBjcmVhdGlvbilcbiAgICovXG4gIGFzeW5jIGJ1aWxkUGxhY2VCZXRUeChwYXJhbXM6IFBsYWNlQmV0UGFyYW1zKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHsgdXNlciwgbWFya2V0LCBvdXRjb21lLCBjcmVhdGVBdGEgPSB0cnVlIH0gPSBwYXJhbXM7XG4gICAgXG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oKTtcbiAgICBcbiAgICAvLyBEZXJpdmUgbWludCBQREFzIGZyb20gbWFya2V0IGFkZHJlc3NcbiAgICBjb25zdCB5ZXNNaW50ID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJ5ZXNfbWludFwiKSwgbWFya2V0LnRvQnVmZmVyKCldLFxuICAgICAgdGhpcy5wcm9ncmFtLnByb2dyYW1JZFxuICAgIClbMF07XG4gICAgY29uc3Qgbm9NaW50ID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJub19taW50XCIpLCBtYXJrZXQudG9CdWZmZXIoKV0sXG4gICAgICB0aGlzLnByb2dyYW0ucHJvZ3JhbUlkXG4gICAgKVswXTtcbiAgICBcbiAgICBjb25zdCB0YXJnZXRNaW50ID0gb3V0Y29tZSA9PT0gXCJZZXNcIiA/IHllc01pbnQgOiBub01pbnQ7XG4gICAgY29uc3QgdXNlck91dGNvbWVUb2tlbiA9IGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jKHRhcmdldE1pbnQsIHVzZXIpO1xuXG4gICAgLy8gQ2hlY2sgaWYgQVRBIGV4aXN0cyBhbmQgY3JlYXRlIGlmIG5lZWRlZFxuICAgIGlmIChjcmVhdGVBdGEpIHtcbiAgICAgIGNvbnN0IGV4aXN0cyA9IGF3YWl0IHRoaXMuYXRhRXhpc3RzKHVzZXJPdXRjb21lVG9rZW4pO1xuICAgICAgaWYgKCFleGlzdHMpIHtcbiAgICAgICAgY29uc3QgY3JlYXRlQXRhSXggPSB0aGlzLmNyZWF0ZUF0YUluc3RydWN0aW9uKHVzZXIsIHVzZXIsIHRhcmdldE1pbnQpO1xuICAgICAgICB0eC5hZGQoY3JlYXRlQXRhSXgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBsYWNlQmV0SXggPSBhd2FpdCB0aGlzLnBsYWNlQmV0KHBhcmFtcyk7XG4gICAgdHguYWRkKHBsYWNlQmV0SXgpO1xuXG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqXG4gICAqIENsYWltIHJld2FyZHMgYWZ0ZXIgbWFya2V0IHJlc29sdXRpb25cbiAgICovXG4gIGFzeW5jIGNsYWltUmV3YXJkcyhwYXJhbXM6IENsYWltUmV3YXJkc1BhcmFtcyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbnN0cnVjdGlvbj4ge1xuICAgIGNvbnN0IHsgdXNlciwgbWFya2V0LCBiZXR0aW5nVG9rZW4sIHdpbm5pbmdPdXRjb21lIH0gPSBwYXJhbXM7XG4gICAgXG4gICAgLy8gRGVyaXZlIG1pbnQgUERBcyBmcm9tIG1hcmtldCBhZGRyZXNzXG4gICAgY29uc3QgeWVzTWludCA9IFB1YmxpY0tleS5maW5kUHJvZ3JhbUFkZHJlc3NTeW5jKFxuICAgICAgW0J1ZmZlci5mcm9tKFwieWVzX21pbnRcIiksIG1hcmtldC50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApWzBdO1xuICAgIGNvbnN0IG5vTWludCA9IFB1YmxpY0tleS5maW5kUHJvZ3JhbUFkZHJlc3NTeW5jKFxuICAgICAgW0J1ZmZlci5mcm9tKFwibm9fbWludFwiKSwgbWFya2V0LnRvQnVmZmVyKCldLFxuICAgICAgdGhpcy5wcm9ncmFtLnByb2dyYW1JZFxuICAgIClbMF07XG5cbiAgICBjb25zdCB1c2VyQmV0dGluZ1Rva2VuID0gZ2V0QXNzb2NpYXRlZFRva2VuQWRkcmVzc1N5bmMoYmV0dGluZ1Rva2VuLCB1c2VyKTtcbiAgICBjb25zdCB0YXJnZXRNaW50ID0gd2lubmluZ091dGNvbWUgPT09IFwiWWVzXCIgPyB5ZXNNaW50IDogbm9NaW50O1xuICAgIGNvbnN0IHVzZXJPdXRjb21lVG9rZW4gPSBnZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzU3luYyh0YXJnZXRNaW50LCB1c2VyKTtcbiAgICBjb25zdCBzaGFyZXNUb0NsYWltQm4gPSBuZXcgQW5jaG9yQk4ocGFyYW1zLnRva2VuQW1vdW50KTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5jbGFpbVJld2FyZHMoe1xuICAgICAgICB0b2tlbkFtb3VudDogc2hhcmVzVG9DbGFpbUJuLFxuICAgICAgfSlcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICBtYXJrZXQsXG4gICAgICAgIHVzZXJPdXRjb21lVG9rZW4sXG4gICAgICAgIHVzZXJCZXR0aW5nVG9rZW4sXG4gICAgICAgIHVzZXIsXG4gICAgICB9KVxuICAgICAgLmluc3RydWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBjb21wbGV0ZSB0cmFuc2FjdGlvbiB0byBjbGFpbSByZXdhcmRzXG4gICAqL1xuICBhc3luYyBidWlsZENsYWltUmV3YXJkc1R4KHBhcmFtczogQ2xhaW1SZXdhcmRzUGFyYW1zKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IGl4ID0gYXdhaXQgdGhpcy5jbGFpbVJld2FyZHMocGFyYW1zKTtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uKCkuYWRkKGl4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZ1bmQgYmV0cyBpZiBtYXJrZXQgaXMgcmVmdW5kZWRcbiAgICovXG4gIGFzeW5jIHJlZnVuZChwYXJhbXM6IFJlZnVuZFBhcmFtcyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbnN0cnVjdGlvbj4ge1xuICAgIGNvbnN0IHsgdXNlciwgbWFya2V0LCBiZXR0aW5nVG9rZW4sIG91dGNvbWUgfSA9IHBhcmFtcztcbiAgICBcbiAgICBjb25zdCBvdXRjb21lRW51bSA9IG91dGNvbWUgPT09IFwiWWVzXCIgPyB7IHllczoge30gfSA6IHsgbm86IHt9IH07XG4gICAgXG4gICAgLy8gRGVyaXZlIG1pbnQgUERBcyBmcm9tIG1hcmtldCBhZGRyZXNzXG4gICAgY29uc3QgeWVzTWludCA9IFB1YmxpY0tleS5maW5kUHJvZ3JhbUFkZHJlc3NTeW5jKFxuICAgICAgW0J1ZmZlci5mcm9tKFwieWVzX21pbnRcIiksIG1hcmtldC50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApWzBdO1xuICAgIGNvbnN0IG5vTWludCA9IFB1YmxpY0tleS5maW5kUHJvZ3JhbUFkZHJlc3NTeW5jKFxuICAgICAgW0J1ZmZlci5mcm9tKFwibm9fbWludFwiKSwgbWFya2V0LnRvQnVmZmVyKCldLFxuICAgICAgdGhpcy5wcm9ncmFtLnByb2dyYW1JZFxuICAgIClbMF07XG5cbiAgICBjb25zdCB1c2VyQmV0dGluZ1Rva2VuID0gZ2V0QXNzb2NpYXRlZFRva2VuQWRkcmVzc1N5bmMoYmV0dGluZ1Rva2VuLCB1c2VyKTtcbiAgICBjb25zdCB0YXJnZXRNaW50ID0gb3V0Y29tZSA9PT0gXCJZZXNcIiA/IHllc01pbnQgOiBub01pbnQ7XG4gICAgY29uc3QgdXNlck91dGNvbWVUb2tlbiA9IGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jKHRhcmdldE1pbnQsIHVzZXIpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAucmVmdW5kKG91dGNvbWVFbnVtKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIG1hcmtldCxcbiAgICAgICAgdXNlck91dGNvbWVUb2tlbixcbiAgICAgICAgdXNlckJldHRpbmdUb2tlbixcbiAgICAgICAgdXNlcixcbiAgICAgIH0pXG4gICAgICAuaW5zdHJ1Y3Rpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIGNvbXBsZXRlIHRyYW5zYWN0aW9uIHRvIHJlZnVuZFxuICAgKi9cbiAgYXN5bmMgYnVpbGRSZWZ1bmRUeChwYXJhbXM6IFJlZnVuZFBhcmFtcyk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBpeCA9IGF3YWl0IHRoaXMucmVmdW5kKHBhcmFtcyk7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbigpLmFkZChpeCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZSBhIG1hcmtldCAoQWRtaW4gb25seSlcbiAgICovXG4gIGFzeW5jIHJlc29sdmVNYXJrZXQoXG4gICAgYWRtaW46IFB1YmxpY0tleSxcbiAgICBtYXJrZXRJZDogbnVtYmVyIHwgQk4sXG4gICAgd2lubmluZ091dGNvbWU6IFwiWWVzXCIgfCBcIk5vXCIgfCBudWxsXG4gICk6IFByb21pc2U8VHJhbnNhY3Rpb25JbnN0cnVjdGlvbj4ge1xuICAgIGNvbnN0IG1hcmtldElkQm4gPSBuZXcgQW5jaG9yQk4obWFya2V0SWQpO1xuICAgIGNvbnN0IG1hcmtldFBkYSA9IGdldE1hcmtldFBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhZG1pbiwgbWFya2V0SWRCbik7XG5cbiAgICBsZXQgb3V0Y29tZUVudW06IGFueSA9IG51bGw7XG4gICAgaWYgKHdpbm5pbmdPdXRjb21lID09PSBcIlllc1wiKSB7XG4gICAgICBvdXRjb21lRW51bSA9IHsgeWVzOiB7fSB9O1xuICAgIH0gZWxzZSBpZiAod2lubmluZ091dGNvbWUgPT09IFwiTm9cIikge1xuICAgICAgb3V0Y29tZUVudW0gPSB7IG5vOiB7fSB9O1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLnJlc29sdmVNYXJrZXQob3V0Y29tZUVudW0pXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgbWFya2V0OiBtYXJrZXRQZGEsXG4gICAgICAgIGFkbWluLFxuICAgICAgfSlcbiAgICAgIC5pbnN0cnVjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgY29tcGxldGUgdHJhbnNhY3Rpb24gdG8gcmVzb2x2ZSBhIG1hcmtldFxuICAgKi9cbiAgYXN5bmMgYnVpbGRSZXNvbHZlTWFya2V0VHgoXG4gICAgYWRtaW46IFB1YmxpY0tleSxcbiAgICBtYXJrZXRJZDogbnVtYmVyIHwgQk4sXG4gICAgd2lubmluZ091dGNvbWU6IFwiWWVzXCIgfCBcIk5vXCIgfCBudWxsXG4gICk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBpeCA9IGF3YWl0IHRoaXMucmVzb2x2ZU1hcmtldChhZG1pbiwgbWFya2V0SWQsIHdpbm5pbmdPdXRjb21lKTtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uKCkuYWRkKGl4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSBhIG1hcmtldCAoQWRtaW4gb25seSlcbiAgICovXG4gIGFzeW5jIGNsb3NlTWFya2V0KFxuICAgIGFkbWluOiBQdWJsaWNLZXksXG4gICAgbWFya2V0SWQ6IG51bWJlciB8IEJOXG4gICk6IFByb21pc2U8VHJhbnNhY3Rpb25JbnN0cnVjdGlvbj4ge1xuICAgIGNvbnN0IG1hcmtldElkQm4gPSBuZXcgQW5jaG9yQk4obWFya2V0SWQpO1xuICAgIGNvbnN0IG1hcmtldFBkYSA9IGdldE1hcmtldFBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhZG1pbiwgbWFya2V0SWRCbik7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5jbG9zZU1hcmtldCgpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgbWFya2V0OiBtYXJrZXRQZGEsXG4gICAgICB9KVxuICAgICAgLmluc3RydWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBjb21wbGV0ZSB0cmFuc2FjdGlvbiB0byBjbG9zZSBhIG1hcmtldFxuICAgKi9cbiAgYXN5bmMgYnVpbGRDbG9zZU1hcmtldFR4KFxuICAgIGFkbWluOiBQdWJsaWNLZXksXG4gICAgbWFya2V0SWQ6IG51bWJlciB8IEJOXG4gICk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBpeCA9IGF3YWl0IHRoaXMuY2xvc2VNYXJrZXQoYWRtaW4sIG1hcmtldElkKTtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uKCkuYWRkKGl4KTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEZldGNoIGdsb2JhbCBjb25maWcgYWNjb3VudCBkYXRhXG4gICAqL1xuICBhc3luYyBnZXRHbG9iYWxDb25maWdBY2NvdW50KCkge1xuICAgIGNvbnN0IGdsb2JhbENvbmZpZyA9IGdldEdsb2JhbENvbmZpZ1BkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLmFjY291bnQuZ2xvYmFsQ29uZmlnLmZldGNoKGdsb2JhbENvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggbWFya2V0IGFjY291bnQgZGF0YVxuICAgKi9cbiAgYXN5bmMgZ2V0TWFya2V0QWNjb3VudChhZG1pbjogUHVibGljS2V5LCBtYXJrZXRJZDogbnVtYmVyIHwgQk4pIHtcbiAgICBjb25zdCBtYXJrZXRJZEJuID0gbmV3IEFuY2hvckJOKG1hcmtldElkKTtcbiAgICBjb25zdCBtYXJrZXRQZGEgPSBnZXRNYXJrZXRQZGEodGhpcy5wcm9ncmFtLnByb2dyYW1JZCwgYWRtaW4sIG1hcmtldElkQm4pO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0uYWNjb3VudC5tYXJrZXQuZmV0Y2gobWFya2V0UGRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCB2YXVsdCBhY2NvdW50IGRhdGFcbiAgICovXG4gIGFzeW5jIGdldFZhdWx0QWNjb3VudChtYXJrZXRQZGE6IFB1YmxpY0tleSkge1xuICAgIGNvbnN0IHZhdWx0UGRhID0gZ2V0VmF1bHRQZGEodGhpcy5wcm9ncmFtLnByb2dyYW1JZCwgbWFya2V0UGRhKTtcbiAgICByZXR1cm4gYXdhaXQgZ2V0QWNjb3VudCh0aGlzLmNvbm5lY3Rpb24sIHZhdWx0UGRhKTtcbiAgfVxufVxuIl19
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVDQUF1QyxFQUN2QyxVQUFVLEVBQ1YsNkJBQTZCLEVBQzdCLGdCQUFnQixHQUNqQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFBRSxPQUFPLElBQUksYUFBYSxFQUFFLGNBQWMsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRyxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFdkIsT0FBTyxFQUVMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFdBQVcsRUFFWixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0IsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osYUFBYSxFQUNiLFdBQVcsR0FDWixNQUFNLFlBQVksQ0FBQztBQUVwQixjQUFjLFlBQVksQ0FBQztBQUMzQixPQUFPLEVBQVcsR0FBRyxFQUFFLENBQUM7QUFxQ3hCLE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQVksVUFBc0IsRUFBRSxNQUFlLEVBQUUsU0FBcUI7UUFDeEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsMkNBQTJDO1FBQzNDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FBVztZQUM1QixTQUFTLEVBQUUsY0FBYyxDQUFDLFNBQVM7WUFDbkMsZUFBZSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDakMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRztZQUN2QyxLQUFLLEVBQUUsY0FBYztTQUN0QixDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FDaEMs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LENBQUMsZ0JBQWdCLENBQUMsS0FBZ0IsRUFBRSxRQUFxQjtRQUM1RCxNQUFNLFVBQVUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBb0I7UUFDeEMsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sTUFBTSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5zdHJ1Y3Rpb24sXG4gIGdldEFjY291bnQsXG4gIGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jLFxuICBUT0tFTl9QUk9HUkFNX0lELFxufSBmcm9tIFwiQHNvbGFuYS9zcGwtdG9rZW5cIjtcblxuaW1wb3J0IHsgUHJvZ3JhbSBhcyBBbmNob3JQcm9ncmFtLCBBbmNob3JQcm92aWRlciwgSWRsLCBQcm9ncmFtLCBXYWxsZXQgfSBmcm9tIFwiQGNvcmFsLXh5ei9hbmNob3JcIjtcblxuaW1wb3J0IEJOIGZyb20gXCJibi5qc1wiO1xuXG5pbXBvcnQge1xuICBDb25uZWN0aW9uLFxuICBLZXlwYWlyLFxuICBQdWJsaWNLZXksXG4gIFN5c3RlbVByb2dyYW0sXG4gIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbkluc3RydWN0aW9uXG59IGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbmltcG9ydCB7IElETCB9IGZyb20gXCIuL2lkbC5qc1wiO1xuaW1wb3J0IHsgRHJhbWFQbSB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5pbXBvcnQge1xuICBnZXRHbG9iYWxDb25maWdQZGEsXG4gIGdldE1hcmtldFBkYSxcbiAgZ2V0TWFya2V0UGRhcyxcbiAgZ2V0VmF1bHRQZGEsXG59IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgeyBEcmFtYVBtLCBJREwgfTtcblxuZXhwb3J0IHR5cGUgT3V0Y29tZSA9IFwiWWVzXCIgfCBcIk5vXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTWFya2V0UGFyYW1zIHtcbiAgYWRtaW46IFB1YmxpY0tleTtcbiAgbWFya2V0SWQ6IG51bWJlciB8IEJOO1xuICB5ZXNQcmljZTogbnVtYmVyIHwgQk47XG4gIG5vUHJpY2U6IG51bWJlciB8IEJOO1xuICBlbmRUaW1lOiBudW1iZXIgfCBCTjtcbiAgYmV0dGluZ1Rva2VuOiBQdWJsaWNLZXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VCZXRQYXJhbXMge1xuICB1c2VyOiBQdWJsaWNLZXk7XG4gIG1hcmtldDogUHVibGljS2V5OyAvLyBNYXJrZXQgUERBIGFkZHJlc3NcbiAgYW1vdW50OiBudW1iZXIgfCBCTjtcbiAgb3V0Y29tZTogT3V0Y29tZTtcbiAgYmV0dGluZ1Rva2VuOiBQdWJsaWNLZXk7XG4gIGNyZWF0ZUF0YT86IGJvb2xlYW47IC8vIFdoZXRoZXIgdG8gY3JlYXRlIEFUQSBpbnN0cnVjdGlvbiBhdXRvbWF0aWNhbGx5XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhaW1SZXdhcmRzUGFyYW1zIHtcbiAgdXNlcjogUHVibGljS2V5O1xuICBtYXJrZXQ6IFB1YmxpY0tleTsgLy8gTWFya2V0IFBEQSBhZGRyZXNzXG4gIGJldHRpbmdUb2tlbjogUHVibGljS2V5O1xuICB3aW5uaW5nT3V0Y29tZTogT3V0Y29tZTtcbiAgc2hhcmVzVG9DbGFpbTogbnVtYmVyIHwgQk47IC8vIEFtb3VudCBvZiBzaGFyZXMgdG8gY2xhaW0gKDAgPSBjbGFpbSBhbGwpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmdW5kUGFyYW1zIHtcbiAgdXNlcjogUHVibGljS2V5O1xuICBtYXJrZXQ6IFB1YmxpY0tleTsgLy8gTWFya2V0IFBEQSBhZGRyZXNzXG4gIGJldHRpbmdUb2tlbjogUHVibGljS2V5O1xuICBvdXRjb21lOiBPdXRjb21lO1xufVxuXG5leHBvcnQgY2xhc3MgRHJhbWFQbUNsaWVudCB7XG4gIHByb2dyYW06IFByb2dyYW08RHJhbWFQbT47XG4gIHByb3ZpZGVyOiBBbmNob3JQcm92aWRlcjtcbiAgY29ubmVjdGlvbjogQ29ubmVjdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihjb25uZWN0aW9uOiBDb25uZWN0aW9uLCB3YWxsZXQ/OiBXYWxsZXQsIHByb2dyYW1JZD86IFB1YmxpY0tleSkge1xuICAgIHRoaXMuY29ubmVjdGlvbiA9IGNvbm5lY3Rpb247XG4gICAgXG4gICAgLy8gQ3JlYXRlIGEgZGVmYXVsdCB3YWxsZXQgaWYgbm9uZSBwcm92aWRlZFxuICAgIGNvbnN0IGRlZmF1bHRLZXlwYWlyID0gS2V5cGFpci5nZW5lcmF0ZSgpO1xuICAgIGNvbnN0IGRlZmF1bHRXYWxsZXQ6IFdhbGxldCA9IHtcbiAgICAgIHB1YmxpY0tleTogZGVmYXVsdEtleXBhaXIucHVibGljS2V5LFxuICAgICAgc2lnblRyYW5zYWN0aW9uOiBhc3luYyAodHgpID0+IHR4LFxuICAgICAgc2lnbkFsbFRyYW5zYWN0aW9uczogYXN5bmMgKHR4cykgPT4gdHhzLFxuICAgICAgcGF5ZXI6IGRlZmF1bHRLZXlwYWlyLFxuICAgIH07XG4gICAgXG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBBbmNob3JQcm92aWRlcihcbiAgICAgIGNvbm5lY3Rpb24sXG4gICAgICB3YWxsZXQgfHwgZGVmYXVsdFdhbGxldCxcbiAgICAgIHsgY29tbWl0bWVudDogXCJjb25maXJtZWRcIiB9XG4gICAgKTtcbiAgICBcbiAgICAvLyBVc2UgY3VzdG9tIHByb2dyYW1JZCBpZiBwcm92aWRlZCwgb3RoZXJ3aXNlIHVzZSB0aGUgZGVmYXVsdCBmcm9tIElETFxuICAgIGNvbnN0IGZpbmFsUHJvZ3JhbUlkID0gcHJvZ3JhbUlkIHx8IG5ldyBQdWJsaWNLZXkoSURMLmFkZHJlc3MpO1xuICAgIFxuICAgIC8vIENyZWF0ZSBhIG5ldyBJREwgd2l0aCB0aGUgY3VzdG9tIHByb2dyYW1JZFxuICAgIGNvbnN0IGN1c3RvbUlkbCA9IHsgLi4uSURMLCBhZGRyZXNzOiBmaW5hbFByb2dyYW1JZC50b0Jhc2U1OCgpIH07XG4gICAgXG4gICAgdGhpcy5wcm9ncmFtID0gbmV3IEFuY2hvclByb2dyYW0oY3VzdG9tSWRsIGFzIElkbCwgdGhpcy5wcm92aWRlcikgYXMgdW5rbm93biBhcyBQcm9ncmFtPERyYW1hUG0+O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBwcm9ncmFtIElEXG4gICAqL1xuICBnZXRQcm9ncmFtSWQoKTogUHVibGljS2V5IHtcbiAgICByZXR1cm4gdGhpcy5wcm9ncmFtLnByb2dyYW1JZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYSBuZXcgcHJvZ3JhbSBJRCBhbmQgcmVpbml0aWFsaXplIHRoZSBwcm9ncmFtIGluc3RhbmNlXG4gICAqIFVzZWZ1bCB3aGVuIHJlZGVwbG95aW5nIHRoZSBwcm9ncmFtIHRvIGEgbmV3IGFkZHJlc3NcbiAgICovXG4gIHNldFByb2dyYW1JZChwcm9ncmFtSWQ6IFB1YmxpY0tleSk6IHZvaWQge1xuICAgIGNvbnN0IGN1c3RvbUlkbCA9IHsgLi4uSURMLCBhZGRyZXNzOiBwcm9ncmFtSWQudG9CYXNlNTgoKSB9O1xuICAgIHRoaXMucHJvZ3JhbSA9IG5ldyBBbmNob3JQcm9ncmFtKGN1c3RvbUlkbCBhcyBJZGwsIHRoaXMucHJvdmlkZXIpIGFzIHVua25vd24gYXMgUHJvZ3JhbTxEcmFtYVBtPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQgZXhpc3RzXG4gICAqL1xuICBhc3luYyBhdGFFeGlzdHMoYXRhOiBQdWJsaWNLZXkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZ2V0QWNjb3VudCh0aGlzLmNvbm5lY3Rpb24sIGF0YSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGluc3RydWN0aW9uIHRvIGluaXRpYWxpemUgYW4gYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gICAqL1xuICBjcmVhdGVBdGFJbnN0cnVjdGlvbihcbiAgICBwYXllcjogUHVibGljS2V5LFxuICAgIG93bmVyOiBQdWJsaWNLZXksXG4gICAgbWludDogUHVibGljS2V5XG4gICk6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24ge1xuICAgIGNvbnN0IGF0YSA9IGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jKG1pbnQsIG93bmVyKTtcbiAgICByZXR1cm4gY3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudEluc3RydWN0aW9uKFxuICAgICAgcGF5ZXIsXG4gICAgICBhdGEsXG4gICAgICBvd25lcixcbiAgICAgIG1pbnQsXG4gICAgICBUT0tFTl9QUk9HUkFNX0lEXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGdsb2JhbCBjb25maWd1cmF0aW9uIChBdXRob3JpdHkgb25seSlcbiAgICovXG4gIGFzeW5jIGluaXRpYWxpemVDb25maWcoYXV0aG9yaXR5OiBQdWJsaWNLZXkpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24+IHtcbiAgICBjb25zdCBnbG9iYWxDb25maWcgPSBnZXRHbG9iYWxDb25maWdQZGEodGhpcy5wcm9ncmFtLnByb2dyYW1JZCk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZUNvbmZpZygpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgICAgc3lzdGVtUHJvZ3JhbTogU3lzdGVtUHJvZ3JhbS5wcm9ncmFtSWQsXG4gICAgICB9KVxuICAgICAgLmluc3RydWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBjb21wbGV0ZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGNvbmZpZ1xuICAgKi9cbiAgYXN5bmMgYnVpbGRJbml0aWFsaXplQ29uZmlnVHgoYXV0aG9yaXR5OiBQdWJsaWNLZXkpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgaXggPSBhd2FpdCB0aGlzLmluaXRpYWxpemVDb25maWcoYXV0aG9yaXR5KTtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uKCkuYWRkKGl4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYXV0aG9yaXplZCBhZG1pbiAoQXV0aG9yaXR5IG9ubHkpXG4gICAqL1xuICBhc3luYyBhZGRBZG1pbihuZXdBZG1pbjogUHVibGljS2V5KTogUHJvbWlzZTxUcmFuc2FjdGlvbkluc3RydWN0aW9uPiB7XG4gICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gZ2V0R2xvYmFsQ29uZmlnUGRhKHRoaXMucHJvZ3JhbS5wcm9ncmFtSWQpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuYWRkQWRtaW4obmV3QWRtaW4pXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgfSlcbiAgICAgIC5pbnN0cnVjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgY29tcGxldGUgdHJhbnNhY3Rpb24gdG8gdXBkYXRlIGFkbWluXG4gICAqL1xuICBhc3luYyBidWlsZEFkZEFkbWluVHgobmV3QWRtaW46IFB1YmxpY0tleSk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBpeCA9IGF3YWl0IHRoaXMuYWRkQWRtaW4obmV3QWRtaW4pO1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb24oKS5hZGQoaXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBwcmVkaWN0aW9uIG1hcmtldCBpbnN0cnVjdGlvblxuICAgKi9cbiAgYXN5bmMgY3JlYXRlTWFya2V0KHBhcmFtczogQ3JlYXRlTWFya2V0UGFyYW1zKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluc3RydWN0aW9uPiB7XG4gICAgY29uc3QgeyBhZG1pbiwgbWFya2V0SWQsIHllc1ByaWNlLCBub1ByaWNlLCBlbmRUaW1lLCBiZXR0aW5nVG9rZW4gfSA9IHBhcmFtcztcbiAgICBcbiAgICBjb25zdCBtYXJrZXRJZEJuID0gbmV3IEJOKG1hcmtldElkKTtcbiAgICBjb25zdCB5ZXNQcmljZUJuID0gbmV3IEJOKHllc1ByaWNlKTtcbiAgICBjb25zdCBub1ByaWNlQm4gPSBuZXcgQk4obm9QcmljZSk7XG4gICAgY29uc3QgZW5kVGltZUJuID0gbmV3IEJOKGVuZFRpbWUpO1xuXG4gICAgY29uc3QgcGRhcyA9IGdldE1hcmtldFBkYXModGhpcy5wcm9ncmFtLnByb2dyYW1JZCwgYWRtaW4sIG1hcmtldElkQm4pO1xuICAgIGNvbnN0IGdsb2JhbENvbmZpZyA9IGdldEdsb2JhbENvbmZpZ1BkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLmNyZWF0ZU1hcmtldCh7XG4gICAgICAgICAgbWFya2V0SWQ6IG1hcmtldElkQm4sXG4gICAgICAgICAgeWVzUHJpY2U6IHllc1ByaWNlQm4sXG4gICAgICAgICAgbm9QcmljZTogbm9QcmljZUJuLFxuICAgICAgICAgIGVuZFRpbWU6IGVuZFRpbWVCbixcbiAgICAgICAgfSlcbiAgICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgIG1hcmtldDogcGRhcy5tYXJrZXQsXG4gICAgICAgICAgeWVzTWludDogcGRhcy55ZXNNaW50LFxuICAgICAgICAgIG5vTWludDogcGRhcy5ub01pbnQsXG4gICAgICAgICAgYmV0dGluZ1Rva2VuOiBiZXR0aW5nVG9rZW4sXG4gICAgICAgICAgdmF1bHQ6IHBkYXMudmF1bHQsXG4gICAgICAgICAgYWRtaW46IGFkbWluLFxuICAgICAgICAgIHN5c3RlbVByb2dyYW06IFN5c3RlbVByb2dyYW0ucHJvZ3JhbUlkLFxuICAgICAgICB9KVxuICAgICAgICAuaW5zdHJ1Y3Rpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIGNvbXBsZXRlIHRyYW5zYWN0aW9uIHRvIGNyZWF0ZSBhIG1hcmtldFxuICAgKi9cbiAgYXN5bmMgYnVpbGRDcmVhdGVNYXJrZXRUeChwYXJhbXM6IENyZWF0ZU1hcmtldFBhcmFtcyk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBpeCA9IGF3YWl0IHRoaXMuY3JlYXRlTWFya2V0KHBhcmFtcyk7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbigpLmFkZChpeCk7XG4gIH1cblxuICAvKipcbiAgICogUGxhY2UgYSBiZXQgaW5zdHJ1Y3Rpb24gKHdpdGhvdXQgQVRBIGNyZWF0aW9uKVxuICAgKi9cbiAgYXN5bmMgcGxhY2VCZXQocGFyYW1zOiBQbGFjZUJldFBhcmFtcyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbnN0cnVjdGlvbj4ge1xuICAgIGNvbnN0IHsgdXNlciwgbWFya2V0LCBhbW91bnQsIG91dGNvbWUsIGJldHRpbmdUb2tlbiB9ID0gcGFyYW1zO1xuICAgIFxuICAgIGNvbnN0IGFtb3VudEJuID0gbmV3IEJOKGFtb3VudCk7XG4gICAgY29uc3Qgb3V0Y29tZUVudW0gPSBvdXRjb21lID09PSBcIlllc1wiID8geyB5ZXM6IHt9IH0gOiB7IG5vOiB7fSB9O1xuXG4gICAgLy8gRGVyaXZlIFBEQXMgZnJvbSBtYXJrZXQgYWRkcmVzc1xuICAgIGNvbnN0IHllc01pbnQgPSBQdWJsaWNLZXkuZmluZFByb2dyYW1BZGRyZXNzU3luYyhcbiAgICAgIFtCdWZmZXIuZnJvbShcInllc19taW50XCIpLCBtYXJrZXQudG9CdWZmZXIoKV0sXG4gICAgICB0aGlzLnByb2dyYW0ucHJvZ3JhbUlkXG4gICAgKVswXTtcbiAgICBjb25zdCBub01pbnQgPSBQdWJsaWNLZXkuZmluZFByb2dyYW1BZGRyZXNzU3luYyhcbiAgICAgIFtCdWZmZXIuZnJvbShcIm5vX21pbnRcIiksIG1hcmtldC50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApWzBdO1xuICAgIGNvbnN0IHZhdWx0ID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJ2YXVsdFwiKSwgbWFya2V0LnRvQnVmZmVyKCldLFxuICAgICAgdGhpcy5wcm9ncmFtLnByb2dyYW1JZFxuICAgIClbMF07XG5cbiAgICBjb25zdCB1c2VyQmV0dGluZ1Rva2VuID0gZ2V0QXNzb2NpYXRlZFRva2VuQWRkcmVzc1N5bmMoYmV0dGluZ1Rva2VuLCB1c2VyKTtcbiAgICBcbiAgICAvLyBEZXRlcm1pbmUgd2hpY2ggb3V0Y29tZSB0b2tlbiB0aGUgdXNlciB3aWxsIHJlY2VpdmVcbiAgICBjb25zdCB0YXJnZXRNaW50ID0gb3V0Y29tZSA9PT0gXCJZZXNcIiA/IHllc01pbnQgOiBub01pbnQ7XG4gICAgY29uc3QgdXNlck91dGNvbWVUb2tlbiA9IGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jKHRhcmdldE1pbnQsIHVzZXIpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAucGxhY2VCZXQoe1xuICAgICAgICBidXlPdXRjb21lOiBvdXRjb21lRW51bSxcbiAgICAgICAgYW1vdW50OiBhbW91bnRCbixcbiAgICAgIH0pXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgbWFya2V0LFxuICAgICAgICB5ZXNNaW50LFxuICAgICAgICBub01pbnQsXG4gICAgICAgIHZhdWx0LFxuICAgICAgICB1c2VyT3V0Y29tZVRva2VuLFxuICAgICAgICB1c2VyQmV0dGluZ1Rva2VuLFxuICAgICAgICB1c2VyLFxuICAgICAgfSlcbiAgICAgIC5pbnN0cnVjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgY29tcGxldGUgdHJhbnNhY3Rpb24gdG8gcGxhY2UgYSBiZXQgKHdpdGggb3B0aW9uYWwgQVRBIGNyZWF0aW9uKVxuICAgKi9cbiAgYXN5bmMgYnVpbGRQbGFjZUJldFR4KHBhcmFtczogUGxhY2VCZXRQYXJhbXMpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgeyB1c2VyLCBtYXJrZXQsIG91dGNvbWUsIGNyZWF0ZUF0YSA9IHRydWUgfSA9IHBhcmFtcztcbiAgICBcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbigpO1xuICAgIFxuICAgIC8vIERlcml2ZSBtaW50IFBEQXMgZnJvbSBtYXJrZXQgYWRkcmVzc1xuICAgIGNvbnN0IHllc01pbnQgPSBQdWJsaWNLZXkuZmluZFByb2dyYW1BZGRyZXNzU3luYyhcbiAgICAgIFtCdWZmZXIuZnJvbShcInllc19taW50XCIpLCBtYXJrZXQudG9CdWZmZXIoKV0sXG4gICAgICB0aGlzLnByb2dyYW0ucHJvZ3JhbUlkXG4gICAgKVswXTtcbiAgICBjb25zdCBub01pbnQgPSBQdWJsaWNLZXkuZmluZFByb2dyYW1BZGRyZXNzU3luYyhcbiAgICAgIFtCdWZmZXIuZnJvbShcIm5vX21pbnRcIiksIG1hcmtldC50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApWzBdO1xuICAgIFxuICAgIGNvbnN0IHRhcmdldE1pbnQgPSBvdXRjb21lID09PSBcIlllc1wiID8geWVzTWludCA6IG5vTWludDtcbiAgICBjb25zdCB1c2VyT3V0Y29tZVRva2VuID0gZ2V0QXNzb2NpYXRlZFRva2VuQWRkcmVzc1N5bmModGFyZ2V0TWludCwgdXNlcik7XG5cbiAgICAvLyBDaGVjayBpZiBBVEEgZXhpc3RzIGFuZCBjcmVhdGUgaWYgbmVlZGVkXG4gICAgaWYgKGNyZWF0ZUF0YSkge1xuICAgICAgY29uc3QgZXhpc3RzID0gYXdhaXQgdGhpcy5hdGFFeGlzdHModXNlck91dGNvbWVUb2tlbik7XG4gICAgICBpZiAoIWV4aXN0cykge1xuICAgICAgICBjb25zdCBjcmVhdGVBdGFJeCA9IHRoaXMuY3JlYXRlQXRhSW5zdHJ1Y3Rpb24odXNlciwgdXNlciwgdGFyZ2V0TWludCk7XG4gICAgICAgIHR4LmFkZChjcmVhdGVBdGFJeCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGxhY2VCZXRJeCA9IGF3YWl0IHRoaXMucGxhY2VCZXQocGFyYW1zKTtcbiAgICB0eC5hZGQocGxhY2VCZXRJeCk7XG5cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKipcbiAgICogQ2xhaW0gcmV3YXJkcyBhZnRlciBtYXJrZXQgcmVzb2x1dGlvblxuICAgKi9cbiAgYXN5bmMgY2xhaW1SZXdhcmRzKHBhcmFtczogQ2xhaW1SZXdhcmRzUGFyYW1zKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluc3RydWN0aW9uPiB7XG4gICAgY29uc3QgeyB1c2VyLCBtYXJrZXQsIGJldHRpbmdUb2tlbiwgd2lubmluZ091dGNvbWUgfSA9IHBhcmFtcztcbiAgICBcbiAgICAvLyBEZXJpdmUgbWludCBQREFzIGZyb20gbWFya2V0IGFkZHJlc3NcbiAgICBjb25zdCB5ZXNNaW50ID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJ5ZXNfbWludFwiKSwgbWFya2V0LnRvQnVmZmVyKCldLFxuICAgICAgdGhpcy5wcm9ncmFtLnByb2dyYW1JZFxuICAgIClbMF07XG4gICAgY29uc3Qgbm9NaW50ID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJub19taW50XCIpLCBtYXJrZXQudG9CdWZmZXIoKV0sXG4gICAgICB0aGlzLnByb2dyYW0ucHJvZ3JhbUlkXG4gICAgKVswXTtcblxuICAgIGNvbnN0IHVzZXJCZXR0aW5nVG9rZW4gPSBnZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzU3luYyhiZXR0aW5nVG9rZW4sIHVzZXIpO1xuICAgIGNvbnN0IHRhcmdldE1pbnQgPSB3aW5uaW5nT3V0Y29tZSA9PT0gXCJZZXNcIiA/IHllc01pbnQgOiBub01pbnQ7XG4gICAgY29uc3QgdXNlck91dGNvbWVUb2tlbiA9IGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jKHRhcmdldE1pbnQsIHVzZXIpO1xuICAgIGNvbnN0IHNoYXJlc1RvQ2xhaW1CbiA9IG5ldyBCTihwYXJhbXMuc2hhcmVzVG9DbGFpbSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuY2xhaW1SZXdhcmRzKHtcbiAgICAgICAgdG9rZW5BbW91bnQ6IHNoYXJlc1RvQ2xhaW1CbixcbiAgICAgIH0pXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgbWFya2V0LFxuICAgICAgICB1c2VyT3V0Y29tZVRva2VuLFxuICAgICAgICB1c2VyQmV0dGluZ1Rva2VuLFxuICAgICAgICB1c2VyLFxuICAgICAgfSlcbiAgICAgIC5pbnN0cnVjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgY29tcGxldGUgdHJhbnNhY3Rpb24gdG8gY2xhaW0gcmV3YXJkc1xuICAgKi9cbiAgYXN5bmMgYnVpbGRDbGFpbVJld2FyZHNUeChwYXJhbXM6IENsYWltUmV3YXJkc1BhcmFtcyk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBpeCA9IGF3YWl0IHRoaXMuY2xhaW1SZXdhcmRzKHBhcmFtcyk7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbigpLmFkZChpeCk7XG4gIH1cblxuICAvKipcbiAgICogUmVmdW5kIGJldHMgaWYgbWFya2V0IGlzIHJlZnVuZGVkXG4gICAqL1xuICBhc3luYyByZWZ1bmQocGFyYW1zOiBSZWZ1bmRQYXJhbXMpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24+IHtcbiAgICBjb25zdCB7IHVzZXIsIG1hcmtldCwgYmV0dGluZ1Rva2VuLCBvdXRjb21lIH0gPSBwYXJhbXM7XG4gICAgXG4gICAgY29uc3Qgb3V0Y29tZUVudW0gPSBvdXRjb21lID09PSBcIlllc1wiID8geyB5ZXM6IHt9IH0gOiB7IG5vOiB7fSB9O1xuICAgIFxuICAgIC8vIERlcml2ZSBtaW50IFBEQXMgZnJvbSBtYXJrZXQgYWRkcmVzc1xuICAgIGNvbnN0IHllc01pbnQgPSBQdWJsaWNLZXkuZmluZFByb2dyYW1BZGRyZXNzU3luYyhcbiAgICAgIFtCdWZmZXIuZnJvbShcInllc19taW50XCIpLCBtYXJrZXQudG9CdWZmZXIoKV0sXG4gICAgICB0aGlzLnByb2dyYW0ucHJvZ3JhbUlkXG4gICAgKVswXTtcbiAgICBjb25zdCBub01pbnQgPSBQdWJsaWNLZXkuZmluZFByb2dyYW1BZGRyZXNzU3luYyhcbiAgICAgIFtCdWZmZXIuZnJvbShcIm5vX21pbnRcIiksIG1hcmtldC50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApWzBdO1xuXG4gICAgY29uc3QgdXNlckJldHRpbmdUb2tlbiA9IGdldEFzc29jaWF0ZWRUb2tlbkFkZHJlc3NTeW5jKGJldHRpbmdUb2tlbiwgdXNlcik7XG4gICAgY29uc3QgdGFyZ2V0TWludCA9IG91dGNvbWUgPT09IFwiWWVzXCIgPyB5ZXNNaW50IDogbm9NaW50O1xuICAgIGNvbnN0IHVzZXJPdXRjb21lVG9rZW4gPSBnZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzU3luYyh0YXJnZXRNaW50LCB1c2VyKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLnJlZnVuZChvdXRjb21lRW51bSlcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICBtYXJrZXQsXG4gICAgICAgIHVzZXJPdXRjb21lVG9rZW4sXG4gICAgICAgIHVzZXJCZXR0aW5nVG9rZW4sXG4gICAgICAgIHVzZXIsXG4gICAgICB9KVxuICAgICAgLmluc3RydWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBjb21wbGV0ZSB0cmFuc2FjdGlvbiB0byByZWZ1bmRcbiAgICovXG4gIGFzeW5jIGJ1aWxkUmVmdW5kVHgocGFyYW1zOiBSZWZ1bmRQYXJhbXMpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgaXggPSBhd2FpdCB0aGlzLnJlZnVuZChwYXJhbXMpO1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb24oKS5hZGQoaXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgYSBtYXJrZXQgKEFkbWluIG9ubHkpXG4gICAqL1xuICBhc3luYyByZXNvbHZlTWFya2V0KFxuICAgIGFkbWluOiBQdWJsaWNLZXksXG4gICAgbWFya2V0SWQ6IG51bWJlciB8IEJOLFxuICAgIHdpbm5pbmdPdXRjb21lOiBcIlllc1wiIHwgXCJOb1wiIHwgbnVsbFxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24+IHtcbiAgICBjb25zdCBtYXJrZXRJZEJuID0gbmV3IEJOKG1hcmtldElkKTtcbiAgICBjb25zdCBtYXJrZXRQZGEgPSBnZXRNYXJrZXRQZGEodGhpcy5wcm9ncmFtLnByb2dyYW1JZCwgYWRtaW4sIG1hcmtldElkQm4pO1xuXG4gICAgbGV0IG91dGNvbWVFbnVtOiBhbnkgPSBudWxsO1xuICAgIGlmICh3aW5uaW5nT3V0Y29tZSA9PT0gXCJZZXNcIikge1xuICAgICAgb3V0Y29tZUVudW0gPSB7IHllczoge30gfTtcbiAgICB9IGVsc2UgaWYgKHdpbm5pbmdPdXRjb21lID09PSBcIk5vXCIpIHtcbiAgICAgIG91dGNvbWVFbnVtID0geyBubzoge30gfTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5yZXNvbHZlTWFya2V0KG91dGNvbWVFbnVtKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIG1hcmtldDogbWFya2V0UGRhLFxuICAgICAgICBhZG1pbixcbiAgICAgIH0pXG4gICAgICAuaW5zdHJ1Y3Rpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIGNvbXBsZXRlIHRyYW5zYWN0aW9uIHRvIHJlc29sdmUgYSBtYXJrZXRcbiAgICovXG4gIGFzeW5jIGJ1aWxkUmVzb2x2ZU1hcmtldFR4KFxuICAgIGFkbWluOiBQdWJsaWNLZXksXG4gICAgbWFya2V0SWQ6IG51bWJlciB8IEJOLFxuICAgIHdpbm5pbmdPdXRjb21lOiBcIlllc1wiIHwgXCJOb1wiIHwgbnVsbFxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgaXggPSBhd2FpdCB0aGlzLnJlc29sdmVNYXJrZXQoYWRtaW4sIG1hcmtldElkLCB3aW5uaW5nT3V0Y29tZSk7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbigpLmFkZChpeCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgYSBtYXJrZXQgKEFkbWluIG9ubHkpXG4gICAqL1xuICBhc3luYyBjbG9zZU1hcmtldChcbiAgICBhZG1pbjogUHVibGljS2V5LFxuICAgIG1hcmtldElkOiBudW1iZXIgfCBCTlxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24+IHtcbiAgICBjb25zdCBtYXJrZXRJZEJuID0gbmV3IEJOKG1hcmtldElkKTtcbiAgICBjb25zdCBtYXJrZXRQZGEgPSBnZXRNYXJrZXRQZGEodGhpcy5wcm9ncmFtLnByb2dyYW1JZCwgYWRtaW4sIG1hcmtldElkQm4pO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuY2xvc2VNYXJrZXQoKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIG1hcmtldDogbWFya2V0UGRhLFxuICAgICAgfSlcbiAgICAgIC5pbnN0cnVjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgY29tcGxldGUgdHJhbnNhY3Rpb24gdG8gY2xvc2UgYSBtYXJrZXRcbiAgICovXG4gIGFzeW5jIGJ1aWxkQ2xvc2VNYXJrZXRUeChcbiAgICBhZG1pbjogUHVibGljS2V5LFxuICAgIG1hcmtldElkOiBudW1iZXIgfCBCTlxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgaXggPSBhd2FpdCB0aGlzLmNsb3NlTWFya2V0KGFkbWluLCBtYXJrZXRJZCk7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbigpLmFkZChpeCk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBGZXRjaCBnbG9iYWwgY29uZmlnIGFjY291bnQgZGF0YVxuICAgKi9cbiAgYXN5bmMgZ2V0R2xvYmFsQ29uZmlnQWNjb3VudCgpIHtcbiAgICBjb25zdCBnbG9iYWxDb25maWcgPSBnZXRHbG9iYWxDb25maWdQZGEodGhpcy5wcm9ncmFtLnByb2dyYW1JZCk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5hY2NvdW50Lmdsb2JhbENvbmZpZy5mZXRjaChnbG9iYWxDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIG1hcmtldCBhY2NvdW50IGRhdGFcbiAgICovXG4gIGFzeW5jIGdldE1hcmtldEFjY291bnQoYWRtaW46IFB1YmxpY0tleSwgbWFya2V0SWQ6IG51bWJlciB8IEJOKSB7XG4gICAgY29uc3QgbWFya2V0SWRCbiA9IG5ldyBCTihtYXJrZXRJZCk7XG4gICAgY29uc3QgbWFya2V0UGRhID0gZ2V0TWFya2V0UGRhKHRoaXMucHJvZ3JhbS5wcm9ncmFtSWQsIGFkbWluLCBtYXJrZXRJZEJuKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLmFjY291bnQubWFya2V0LmZldGNoKG1hcmtldFBkYSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdmF1bHQgYWNjb3VudCBkYXRhXG4gICAqL1xuICBhc3luYyBnZXRWYXVsdEFjY291bnQobWFya2V0UGRhOiBQdWJsaWNLZXkpIHtcbiAgICBjb25zdCB2YXVsdFBkYSA9IGdldFZhdWx0UGRhKHRoaXMucHJvZ3JhbS5wcm9ncmFtSWQsIG1hcmtldFBkYSk7XG4gICAgcmV0dXJuIGF3YWl0IGdldEFjY291bnQodGhpcy5jb25uZWN0aW9uLCB2YXVsdFBkYSk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/types.d.ts
CHANGED
package/dist/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvZ3JhbSBJREwgaW4gY2FtZWxDYXNlIGZvcm1hdCBpbiBvcmRlciB0byBiZSB1c2VkIGluIEpTL1RTLlxuICpcbiAqIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkgYSB0eXBlIGhlbHBlciBhbmQgaXMgbm90IHRoZSBhY3R1YWwgSURMLiBUaGUgb3JpZ2luYWxcbiAqIElETCBjYW4gYmUgZm91bmQgYXQgYHRhcmdldC9pZGwvZHJhbWFfcG0uanNvbmAuXG4gKi9cbmV4cG9ydCB0eXBlIERyYW1hUG0gPSB7XG4gIFwiYWRkcmVzc1wiOiBcIkd4bzNWNGRtUXZKZnRyTUpvMUxLdnF3Mm9QWTFVdnhTcVJOQ3FmZTF4Vm5xXCIsXG4gIFwibWV0YWRhdGFcIjoge1xuICAgIFwibmFtZVwiOiBcImRyYW1hUG1cIixcbiAgICBcInZlcnNpb25cIjogXCIwLjEuMFwiLFxuICAgIFwic3BlY1wiOiBcIjAuMS4wXCIsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIkNyZWF0ZWQgd2l0aCBBbmNob3JcIlxuICB9LFxuICBcImluc3RydWN0aW9uc1wiOiBbXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiYWRkQWRtaW5cIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE3NyxcbiAgICAgICAgMjM2LFxuICAgICAgICAzMyxcbiAgICAgICAgMjA1LFxuICAgICAgICAxMjQsXG4gICAgICAgIDE1MixcbiAgICAgICAgNTUsXG4gICAgICAgIDE4NlxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZ2xvYmFsQ29uZmlnXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDk5LFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTAyLFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTAzXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZSxcbiAgICAgICAgICBcInJlbGF0aW9uc1wiOiBbXG4gICAgICAgICAgICBcImdsb2JhbENvbmZpZ1wiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm5ld0FkbWluXCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY2xhaW1SZXdhcmRzXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICA0LFxuICAgICAgICAxNDQsXG4gICAgICAgIDEzMixcbiAgICAgICAgNzEsXG4gICAgICAgIDExNixcbiAgICAgICAgMjMsXG4gICAgICAgIDE1MSxcbiAgICAgICAgODBcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwieWVzTWludFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMjEsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICA5NSxcbiAgICAgICAgICAgICAgICAgIDEwOSxcbiAgICAgICAgICAgICAgICAgIDEwNSxcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibm9NaW50XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDk1LFxuICAgICAgICAgICAgICAgICAgMTA5LFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTE2XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcIm1hcmtldFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ2YXVsdFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlck91dGNvbWVUb2tlblwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlckJldHRpbmdUb2tlblwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlclwiLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRva2VuUHJvZ3JhbVwiLFxuICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIlRva2Vua2VnUWZlWnlpTndBSmJOYkdLUEZYQ1d1QnZmOVNzNjIzVlE1REFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhcmFtc1wiLFxuICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICBcIm5hbWVcIjogXCJjbGFpbVJld2FyZHNQYXJhbXNcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY2xvc2VNYXJrZXRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDg4LFxuICAgICAgICAxNTQsXG4gICAgICAgIDI0OCxcbiAgICAgICAgMTg2LFxuICAgICAgICA0OCxcbiAgICAgICAgMTQsXG4gICAgICAgIDEyMyxcbiAgICAgICAgMjQ0XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJtYXJrZXRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFwiYXJnc1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY3JlYXRlTWFya2V0XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxMDMsXG4gICAgICAgIDIyNixcbiAgICAgICAgOTcsXG4gICAgICAgIDIzNSxcbiAgICAgICAgMjAwLFxuICAgICAgICAxODgsXG4gICAgICAgIDI1MSxcbiAgICAgICAgMjU0XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJnbG9iYWxDb25maWdcIixcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICA5OSxcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDEwMixcbiAgICAgICAgICAgICAgICAgIDEwNSxcbiAgICAgICAgICAgICAgICAgIDEwM1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMDksXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDEwNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJhZG1pblwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhcmdcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwYXJhbXMubWFya2V0X2lkXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInllc01pbnRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTIxLFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTE1LFxuICAgICAgICAgICAgICAgICAgOTUsXG4gICAgICAgICAgICAgICAgICAxMDksXG4gICAgICAgICAgICAgICAgICAxMDUsXG4gICAgICAgICAgICAgICAgICAxMTAsXG4gICAgICAgICAgICAgICAgICAxMTZcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwibWFya2V0XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm5vTWludFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTAsXG4gICAgICAgICAgICAgICAgICAxMTEsXG4gICAgICAgICAgICAgICAgICA5NSxcbiAgICAgICAgICAgICAgICAgIDEwOSxcbiAgICAgICAgICAgICAgICAgIDEwNSxcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYmV0dGluZ1Rva2VuXCIsXG4gICAgICAgICAgXCJkb2NzXCI6IFtcbiAgICAgICAgICAgIFwiVGhlIHRva2VuIG1pbnQgZm9yIGJldHRpbmcgKGUuZy4sIFVTREMpXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ2YXVsdFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYWRtaW5cIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidG9rZW5Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiVG9rZW5rZWdRZmVaeWlOd0FKYk5iR0tQRlhDV3VCdmY5U3M2MjNWUTVEQVwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhcmFtc1wiLFxuICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICBcIm5hbWVcIjogXCJjcmVhdGVNYXJrZXRQYXJhbXNcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiaW5pdGlhbGl6ZUNvbmZpZ1wiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMjA4LFxuICAgICAgICAxMjcsXG4gICAgICAgIDIxLFxuICAgICAgICAxLFxuICAgICAgICAxOTQsXG4gICAgICAgIDE5MCxcbiAgICAgICAgMTk2LFxuICAgICAgICA3MFxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZ2xvYmFsQ29uZmlnXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDk5LFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTAyLFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTAzXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInN5c3RlbVByb2dyYW1cIixcbiAgICAgICAgICBcImFkZHJlc3NcIjogXCIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBsYWNlQmV0XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyMjIsXG4gICAgICAgIDYyLFxuICAgICAgICA2NyxcbiAgICAgICAgMjIwLFxuICAgICAgICA2MyxcbiAgICAgICAgMTY2LFxuICAgICAgICAxMjYsXG4gICAgICAgIDMzXG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJtYXJrZXRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInllc01pbnRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm5vTWludFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidmF1bHRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInVzZXJPdXRjb21lVG9rZW5cIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInVzZXJCZXR0aW5nVG9rZW5cIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInVzZXJcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidG9rZW5Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiVG9rZW5rZWdRZmVaeWlOd0FKYk5iR0tQRlhDV3VCdmY5U3M2MjNWUTVEQVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGFyYW1zXCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgIFwibmFtZVwiOiBcInBsYWNlQmV0UGFyYW1zXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInJlZnVuZFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMixcbiAgICAgICAgOTYsXG4gICAgICAgIDE4MyxcbiAgICAgICAgMjUxLFxuICAgICAgICA2MyxcbiAgICAgICAgMjA4LFxuICAgICAgICA0NixcbiAgICAgICAgNDZcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwieWVzTWludFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMjEsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICA5NSxcbiAgICAgICAgICAgICAgICAgIDEwOSxcbiAgICAgICAgICAgICAgICAgIDEwNSxcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibm9NaW50XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDk1LFxuICAgICAgICAgICAgICAgICAgMTA5LFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTE2XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcIm1hcmtldFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ2YXVsdFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlck91dGNvbWVUb2tlblwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlckJldHRpbmdUb2tlblwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlclwiLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRva2VuUHJvZ3JhbVwiLFxuICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIlRva2Vua2VnUWZlWnlpTndBSmJOYkdLUEZYQ1d1QnZmOVNzNjIzVlE1REFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIixcbiAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgXCJkZWZpbmVkXCI6IHtcbiAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZW1vdmVBZG1pblwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgNzQsXG4gICAgICAgIDIwMixcbiAgICAgICAgNzEsXG4gICAgICAgIDEwNixcbiAgICAgICAgMjUyLFxuICAgICAgICAzMSxcbiAgICAgICAgNzIsXG4gICAgICAgIDE4M1xuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZ2xvYmFsQ29uZmlnXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDk5LFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTAyLFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTAzXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZSxcbiAgICAgICAgICBcInJlbGF0aW9uc1wiOiBbXG4gICAgICAgICAgICBcImdsb2JhbENvbmZpZ1wiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImFkbWluVG9SZW1vdmVcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZXNvbHZlTWFya2V0XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxNTUsXG4gICAgICAgIDIzLFxuICAgICAgICA4MCxcbiAgICAgICAgMTczLFxuICAgICAgICA0NixcbiAgICAgICAgNzQsXG4gICAgICAgIDIzLFxuICAgICAgICAyMzlcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYWRtaW5cIixcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlLFxuICAgICAgICAgIFwicmVsYXRpb25zXCI6IFtcbiAgICAgICAgICAgIFwibWFya2V0XCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwid2lubmluZ091dGNvbWVcIixcbiAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgXCJvcHRpb25cIjoge1xuICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICBdLFxuICBcImFjY291bnRzXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJnbG9iYWxDb25maWdcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE0OSxcbiAgICAgICAgOCxcbiAgICAgICAgMTU2LFxuICAgICAgICAyMDIsXG4gICAgICAgIDE2MCxcbiAgICAgICAgMjUyLFxuICAgICAgICAxNzYsXG4gICAgICAgIDIxN1xuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwibWFya2V0XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyMTksXG4gICAgICAgIDE5MCxcbiAgICAgICAgMjEzLFxuICAgICAgICA1NSxcbiAgICAgICAgMCxcbiAgICAgICAgMjI3LFxuICAgICAgICAxOTgsXG4gICAgICAgIDE1NFxuICAgICAgXVxuICAgIH1cbiAgXSxcbiAgXCJldmVudHNcIjogW1xuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNsYWltUmV3YXJkc0V2ZW50XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyMjQsXG4gICAgICAgIDE5NyxcbiAgICAgICAgNTEsXG4gICAgICAgIDExMyxcbiAgICAgICAgMjMzLFxuICAgICAgICA3MixcbiAgICAgICAgMTE3LFxuICAgICAgICAxODNcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNsb3NlTWFya2V0RXZlbnRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE4NSxcbiAgICAgICAgMTI5LFxuICAgICAgICAyNDQsXG4gICAgICAgIDIxLFxuICAgICAgICAzOSxcbiAgICAgICAgMTI1LFxuICAgICAgICAyOCxcbiAgICAgICAgNTRcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldENyZWF0ZWRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDg4LFxuICAgICAgICAxODQsXG4gICAgICAgIDEzMCxcbiAgICAgICAgMjMxLFxuICAgICAgICAyMjYsXG4gICAgICAgIDg0LFxuICAgICAgICA2LFxuICAgICAgICA1OFxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicGxhY2VCZXRFdmVudFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMTc3LFxuICAgICAgICAxNDQsXG4gICAgICAgIDIxMixcbiAgICAgICAgOTIsXG4gICAgICAgIDYwLFxuICAgICAgICAyNDIsXG4gICAgICAgIDIwMixcbiAgICAgICAgMTM0XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZWZ1bmRFdmVudFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMTc2LFxuICAgICAgICAxNTksXG4gICAgICAgIDIxOCxcbiAgICAgICAgNTksXG4gICAgICAgIDk0LFxuICAgICAgICAyMTMsXG4gICAgICAgIDEyOSxcbiAgICAgICAgMjE4XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZXNvbHZlTWFya2V0RXZlbnRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE3NixcbiAgICAgICAgMjksXG4gICAgICAgIDIyNCxcbiAgICAgICAgMTM4LFxuICAgICAgICAyMjgsXG4gICAgICAgIDIxNyxcbiAgICAgICAgMjQ5LFxuICAgICAgICAxNDlcbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIFwiZXJyb3JzXCI6IFtcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwMCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRFbmRUaW1lXCIsXG4gICAgICBcIm1zZ1wiOiBcIkludmFsaWQgZW5kIHRpbWUgLSBtdXN0IGJlIGluIHRoZSBmdXR1cmVcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDEsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkUHJpY2VcIixcbiAgICAgIFwibXNnXCI6IFwiSW52YWxpZCBwcmljZSAtIG11c3QgYmUgZ3JlYXRlciB0aGFuIDBcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDIsXG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXROb3RBY3RpdmVcIixcbiAgICAgIFwibXNnXCI6IFwiTWFya2V0IGlzIG5vdCBhY3RpdmVcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDMsXG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXRFeHBpcmVkXCIsXG4gICAgICBcIm1zZ1wiOiBcIk1hcmtldCBoYXMgZXhwaXJlZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwNCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRBbW91bnRcIixcbiAgICAgIFwibXNnXCI6IFwiSW52YWxpZCBhbW91bnRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDUsXG4gICAgICBcIm5hbWVcIjogXCJtYXRoT3ZlcmZsb3dcIixcbiAgICAgIFwibXNnXCI6IFwiTWF0aCBvdmVyZmxvd1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwNixcbiAgICAgIFwibmFtZVwiOiBcImluc3VmZmljaWVudEFtb3VudFwiLFxuICAgICAgXCJtc2dcIjogXCJJbnN1ZmZpY2llbnQgYW1vdW50IGZvciBzaGFyZXNcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDcsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkU2hhcmVBbW91bnRcIixcbiAgICAgIFwibXNnXCI6IFwiQW1vdW50IG11c3QgYmUgYW4gZXhhY3QgbXVsdGlwbGUgb2YgdGhlIG91dGNvbWUgcHJpY2VcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDgsXG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXROb3RFbmRlZFwiLFxuICAgICAgXCJtc2dcIjogXCJNYXJrZXQgaGFzIG5vdCBlbmRlZCB5ZXRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDksXG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXROb3RSZXNvbHZlZFwiLFxuICAgICAgXCJtc2dcIjogXCJNYXJrZXQgaXMgbm90IHJlc29sdmVkXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDEwLFxuICAgICAgXCJuYW1lXCI6IFwibm9XaW5uaW5nT3V0Y29tZVwiLFxuICAgICAgXCJtc2dcIjogXCJObyB3aW5uaW5nIG91dGNvbWUgc2V0XCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDExLFxuICAgICAgXCJuYW1lXCI6IFwibm9TaGFyZXNcIixcbiAgICAgIFwibXNnXCI6IFwiVXNlciBoYXMgbm8gc2hhcmVzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDEyLFxuICAgICAgXCJuYW1lXCI6IFwiaW5zdWZmaWNpZW50U2hhcmVzXCIsXG4gICAgICBcIm1zZ1wiOiBcIkluc3VmZmljaWVudCBzaGFyZXMgdG8gY2xhaW1cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMTMsXG4gICAgICBcIm5hbWVcIjogXCJub1dpbm5pbmdTaGFyZXNcIixcbiAgICAgIFwibXNnXCI6IFwiTm8gd2lubmluZyBzaGFyZXMgYXZhaWxhYmxlXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDE0LFxuICAgICAgXCJuYW1lXCI6IFwibm9SZXdhcmRcIixcbiAgICAgIFwibXNnXCI6IFwiTm8gcmV3YXJkIGF2YWlsYWJsZVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAxNSxcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldE5vdFJlZnVuZGVkXCIsXG4gICAgICBcIm1zZ1wiOiBcIk1hcmtldCBpcyBub3QgaW4gcmVmdW5kZWQgc3RhdHVzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDE2LFxuICAgICAgXCJuYW1lXCI6IFwiaW52YWxpZE1pbnRcIixcbiAgICAgIFwibXNnXCI6IFwiSW52YWxpZCBtaW50IGFjY291bnRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMTcsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkQWNjb3VudFwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIGFjY291bnQgLSByZXF1aXJlZCBhY2NvdW50IG5vdCBwcm92aWRlZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAxOCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRWYXVsdFwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIHZhdWx0IGFjY291bnRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMTksXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkQmV0dGluZ1Rva2VuXCIsXG4gICAgICBcIm1zZ1wiOiBcIkludmFsaWQgYmV0dGluZyB0b2tlblwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAyMCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRUb2tlbk93bmVyXCIsXG4gICAgICBcIm1zZ1wiOiBcIkludmFsaWQgdG9rZW4gYWNjb3VudCBvd25lclwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAyMSxcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldEFscmVhZHlSZXNvbHZlZFwiLFxuICAgICAgXCJtc2dcIjogXCJNYXJrZXQgYWxyZWFkeSByZXNvbHZlZCBvciByZWZ1bmRlZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAyMixcbiAgICAgIFwibmFtZVwiOiBcInVuYXV0aG9yaXplZFwiLFxuICAgICAgXCJtc2dcIjogXCJVbmF1dGhvcml6ZWQgYWNjZXNzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDIzLFxuICAgICAgXCJuYW1lXCI6IFwiYWRtaW5BbHJlYWR5RXhpc3RzXCIsXG4gICAgICBcIm1zZ1wiOiBcIkFkbWluIGFscmVhZHkgZXhpc3RzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDI0LFxuICAgICAgXCJuYW1lXCI6IFwibWF4QWRtaW5zUmVhY2hlZFwiLFxuICAgICAgXCJtc2dcIjogXCJNYXhpbXVtIG51bWJlciBvZiBhZG1pbnMgcmVhY2hlZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAyNSxcbiAgICAgIFwibmFtZVwiOiBcImNhbm5vdFJlbW92ZUF1dGhvcml0eVwiLFxuICAgICAgXCJtc2dcIjogXCJDYW5ub3QgcmVtb3ZlIHRoZSBhdXRob3JpdHlcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMjYsXG4gICAgICBcIm5hbWVcIjogXCJhZG1pbk5vdEZvdW5kXCIsXG4gICAgICBcIm1zZ1wiOiBcIkFkbWluIG5vdCBmb3VuZFwiXG4gICAgfVxuICBdLFxuICBcInR5cGVzXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjbGFpbVJld2FyZHNFdmVudFwiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJtYXJrZXRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ1c2VyXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwid2lubmluZ091dGNvbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInNoYXJlc1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInJld2FyZFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNsYWltUmV3YXJkc1BhcmFtc1wiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0b2tlbkFtb3VudFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNsb3NlTWFya2V0RXZlbnRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0SWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjcmVhdGVNYXJrZXRQYXJhbXNcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0SWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ5ZXNQcmljZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm5vUHJpY2VcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJlbmRUaW1lXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJpNjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiZ2xvYmFsQ29uZmlnXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml6ZWRBZG1pbnNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwidmVjXCI6IFwicHVia2V5XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJhZG1pblwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldElkXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwieWVzTWludFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm5vTWludFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImJldHRpbmdUb2tlblwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInZhdWx0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwieWVzUHJpY2VcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJub1ByaWNlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY3JlYXRlVGltZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImVuZFRpbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJzdGF0dXNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0U3RhdHVzXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwid2lubmluZ091dGNvbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwib3B0aW9uXCI6IHtcbiAgICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0b3RhbFllc1N1cHBseVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInRvdGFsTm9TdXBwbHlcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJidW1wXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1OFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXRDcmVhdGVkXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImFkbWluXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0SWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ5ZXNNaW50XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibm9NaW50XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYmV0dGluZ1Rva2VuXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwidmF1bHRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ5ZXNQcmljZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm5vUHJpY2VcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJjcmVhdGVUaW1lXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJpNjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZW5kVGltZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldFN0YXR1c1wiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwiZW51bVwiLFxuICAgICAgICBcInZhcmlhbnRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJhY3RpdmVcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY2xvc2VkXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInJlc29sdmVkXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInJlZnVuZGVkXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcImVudW1cIixcbiAgICAgICAgXCJ2YXJpYW50c1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibm9cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwieWVzXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBsYWNlQmV0RXZlbnRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwidXNlclwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImFtb3VudFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInNoYXJlc1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBsYWNlQmV0UGFyYW1zXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImJ1eU91dGNvbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImFtb3VudFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInJlZnVuZEV2ZW50XCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInVzZXJcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJvdXRjb21lXCIsXG4gICAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJzaGFyZXNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJhbW91bnRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZXNvbHZlTWFya2V0RXZlbnRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0SWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ3aW5uaW5nT3V0Y29tZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgICAgXCJvcHRpb25cIjoge1xuICAgICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgICBcIm5hbWVcIjogXCJvdXRjb21lXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInN0YXR1c1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgICAgXCJkZWZpbmVkXCI6IHtcbiAgICAgICAgICAgICAgICBcIm5hbWVcIjogXCJtYXJrZXRTdGF0dXNcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBdXG59O1xuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvZ3JhbSBJREwgaW4gY2FtZWxDYXNlIGZvcm1hdCBpbiBvcmRlciB0byBiZSB1c2VkIGluIEpTL1RTLlxuICpcbiAqIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkgYSB0eXBlIGhlbHBlciBhbmQgaXMgbm90IHRoZSBhY3R1YWwgSURMLiBUaGUgb3JpZ2luYWxcbiAqIElETCBjYW4gYmUgZm91bmQgYXQgYHRhcmdldC9pZGwvZHJhbWFfcG0uanNvbmAuXG4gKi9cbmV4cG9ydCB0eXBlIERyYW1hUG0gPSB7XG4gIFwiYWRkcmVzc1wiOiBcIjZwemt4R0JRWEVRNjU3ZlIzMjNTYVU0THBYMlUzaUI2YXI0dEVrTlZNVmJLXCIsXG4gIFwibWV0YWRhdGFcIjoge1xuICAgIFwibmFtZVwiOiBcImRyYW1hUG1cIixcbiAgICBcInZlcnNpb25cIjogXCIwLjEuMFwiLFxuICAgIFwic3BlY1wiOiBcIjAuMS4wXCIsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIkNyZWF0ZWQgd2l0aCBBbmNob3JcIlxuICB9LFxuICBcImluc3RydWN0aW9uc1wiOiBbXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiYWRkQWRtaW5cIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE3NyxcbiAgICAgICAgMjM2LFxuICAgICAgICAzMyxcbiAgICAgICAgMjA1LFxuICAgICAgICAxMjQsXG4gICAgICAgIDE1MixcbiAgICAgICAgNTUsXG4gICAgICAgIDE4NlxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZ2xvYmFsQ29uZmlnXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDk5LFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTAyLFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTAzXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZSxcbiAgICAgICAgICBcInJlbGF0aW9uc1wiOiBbXG4gICAgICAgICAgICBcImdsb2JhbENvbmZpZ1wiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm5ld0FkbWluXCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY2xhaW1SZXdhcmRzXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICA0LFxuICAgICAgICAxNDQsXG4gICAgICAgIDEzMixcbiAgICAgICAgNzEsXG4gICAgICAgIDExNixcbiAgICAgICAgMjMsXG4gICAgICAgIDE1MSxcbiAgICAgICAgODBcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwieWVzTWludFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMjEsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICA5NSxcbiAgICAgICAgICAgICAgICAgIDEwOSxcbiAgICAgICAgICAgICAgICAgIDEwNSxcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibm9NaW50XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDk1LFxuICAgICAgICAgICAgICAgICAgMTA5LFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTE2XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcIm1hcmtldFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ2YXVsdFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlck91dGNvbWVUb2tlblwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlckJldHRpbmdUb2tlblwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlclwiLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRva2VuUHJvZ3JhbVwiLFxuICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIlRva2Vua2VnUWZlWnlpTndBSmJOYkdLUEZYQ1d1QnZmOVNzNjIzVlE1REFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhcmFtc1wiLFxuICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICBcIm5hbWVcIjogXCJjbGFpbVJld2FyZHNQYXJhbXNcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY2xvc2VNYXJrZXRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDg4LFxuICAgICAgICAxNTQsXG4gICAgICAgIDI0OCxcbiAgICAgICAgMTg2LFxuICAgICAgICA0OCxcbiAgICAgICAgMTQsXG4gICAgICAgIDEyMyxcbiAgICAgICAgMjQ0XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJtYXJrZXRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFwiYXJnc1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY3JlYXRlTWFya2V0XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxMDMsXG4gICAgICAgIDIyNixcbiAgICAgICAgOTcsXG4gICAgICAgIDIzNSxcbiAgICAgICAgMjAwLFxuICAgICAgICAxODgsXG4gICAgICAgIDI1MSxcbiAgICAgICAgMjU0XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJnbG9iYWxDb25maWdcIixcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICA5OSxcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDEwMixcbiAgICAgICAgICAgICAgICAgIDEwNSxcbiAgICAgICAgICAgICAgICAgIDEwM1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMDksXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDEwNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJhZG1pblwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhcmdcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwYXJhbXMubWFya2V0X2lkXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInllc01pbnRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTIxLFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTE1LFxuICAgICAgICAgICAgICAgICAgOTUsXG4gICAgICAgICAgICAgICAgICAxMDksXG4gICAgICAgICAgICAgICAgICAxMDUsXG4gICAgICAgICAgICAgICAgICAxMTAsXG4gICAgICAgICAgICAgICAgICAxMTZcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwibWFya2V0XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm5vTWludFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTAsXG4gICAgICAgICAgICAgICAgICAxMTEsXG4gICAgICAgICAgICAgICAgICA5NSxcbiAgICAgICAgICAgICAgICAgIDEwOSxcbiAgICAgICAgICAgICAgICAgIDEwNSxcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYmV0dGluZ1Rva2VuXCIsXG4gICAgICAgICAgXCJkb2NzXCI6IFtcbiAgICAgICAgICAgIFwiVGhlIHRva2VuIG1pbnQgZm9yIGJldHRpbmcgKGUuZy4sIFVTREMpXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ2YXVsdFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYWRtaW5cIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidG9rZW5Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiVG9rZW5rZWdRZmVaeWlOd0FKYk5iR0tQRlhDV3VCdmY5U3M2MjNWUTVEQVwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhcmFtc1wiLFxuICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICBcIm5hbWVcIjogXCJjcmVhdGVNYXJrZXRQYXJhbXNcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiaW5pdGlhbGl6ZUNvbmZpZ1wiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMjA4LFxuICAgICAgICAxMjcsXG4gICAgICAgIDIxLFxuICAgICAgICAxLFxuICAgICAgICAxOTQsXG4gICAgICAgIDE5MCxcbiAgICAgICAgMTk2LFxuICAgICAgICA3MFxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZ2xvYmFsQ29uZmlnXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDk5LFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTAyLFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTAzXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInN5c3RlbVByb2dyYW1cIixcbiAgICAgICAgICBcImFkZHJlc3NcIjogXCIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBsYWNlQmV0XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyMjIsXG4gICAgICAgIDYyLFxuICAgICAgICA2NyxcbiAgICAgICAgMjIwLFxuICAgICAgICA2MyxcbiAgICAgICAgMTY2LFxuICAgICAgICAxMjYsXG4gICAgICAgIDMzXG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJtYXJrZXRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInllc01pbnRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm5vTWludFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidmF1bHRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInVzZXJPdXRjb21lVG9rZW5cIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInVzZXJCZXR0aW5nVG9rZW5cIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInVzZXJcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidG9rZW5Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiVG9rZW5rZWdRZmVaeWlOd0FKYk5iR0tQRlhDV3VCdmY5U3M2MjNWUTVEQVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGFyYW1zXCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgIFwibmFtZVwiOiBcInBsYWNlQmV0UGFyYW1zXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInJlZnVuZFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMixcbiAgICAgICAgOTYsXG4gICAgICAgIDE4MyxcbiAgICAgICAgMjUxLFxuICAgICAgICA2MyxcbiAgICAgICAgMjA4LFxuICAgICAgICA0NixcbiAgICAgICAgNDZcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwieWVzTWludFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMjEsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICA5NSxcbiAgICAgICAgICAgICAgICAgIDEwOSxcbiAgICAgICAgICAgICAgICAgIDEwNSxcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibm9NaW50XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMCxcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDk1LFxuICAgICAgICAgICAgICAgICAgMTA5LFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTE2XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcIm1hcmtldFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ2YXVsdFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtYXJrZXRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlck91dGNvbWVUb2tlblwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlckJldHRpbmdUb2tlblwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidXNlclwiLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRva2VuUHJvZ3JhbVwiLFxuICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIlRva2Vua2VnUWZlWnlpTndBSmJOYkdLUEZYQ1d1QnZmOVNzNjIzVlE1REFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIixcbiAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgXCJkZWZpbmVkXCI6IHtcbiAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZW1vdmVBZG1pblwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgNzQsXG4gICAgICAgIDIwMixcbiAgICAgICAgNzEsXG4gICAgICAgIDEwNixcbiAgICAgICAgMjUyLFxuICAgICAgICAzMSxcbiAgICAgICAgNzIsXG4gICAgICAgIDE4M1xuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZ2xvYmFsQ29uZmlnXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDk5LFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTEwLFxuICAgICAgICAgICAgICAgICAgMTAyLFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTAzXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZSxcbiAgICAgICAgICBcInJlbGF0aW9uc1wiOiBbXG4gICAgICAgICAgICBcImdsb2JhbENvbmZpZ1wiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImFkbWluVG9SZW1vdmVcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZXNvbHZlTWFya2V0XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxNTUsXG4gICAgICAgIDIzLFxuICAgICAgICA4MCxcbiAgICAgICAgMTczLFxuICAgICAgICA0NixcbiAgICAgICAgNzQsXG4gICAgICAgIDIzLFxuICAgICAgICAyMzlcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYWRtaW5cIixcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlLFxuICAgICAgICAgIFwicmVsYXRpb25zXCI6IFtcbiAgICAgICAgICAgIFwibWFya2V0XCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwid2lubmluZ091dGNvbWVcIixcbiAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgXCJvcHRpb25cIjoge1xuICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICBdLFxuICBcImFjY291bnRzXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJnbG9iYWxDb25maWdcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE0OSxcbiAgICAgICAgOCxcbiAgICAgICAgMTU2LFxuICAgICAgICAyMDIsXG4gICAgICAgIDE2MCxcbiAgICAgICAgMjUyLFxuICAgICAgICAxNzYsXG4gICAgICAgIDIxN1xuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwibWFya2V0XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyMTksXG4gICAgICAgIDE5MCxcbiAgICAgICAgMjEzLFxuICAgICAgICA1NSxcbiAgICAgICAgMCxcbiAgICAgICAgMjI3LFxuICAgICAgICAxOTgsXG4gICAgICAgIDE1NFxuICAgICAgXVxuICAgIH1cbiAgXSxcbiAgXCJldmVudHNcIjogW1xuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNsYWltUmV3YXJkc0V2ZW50XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyMjQsXG4gICAgICAgIDE5NyxcbiAgICAgICAgNTEsXG4gICAgICAgIDExMyxcbiAgICAgICAgMjMzLFxuICAgICAgICA3MixcbiAgICAgICAgMTE3LFxuICAgICAgICAxODNcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNsb3NlTWFya2V0RXZlbnRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE4NSxcbiAgICAgICAgMTI5LFxuICAgICAgICAyNDQsXG4gICAgICAgIDIxLFxuICAgICAgICAzOSxcbiAgICAgICAgMTI1LFxuICAgICAgICAyOCxcbiAgICAgICAgNTRcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldENyZWF0ZWRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDg4LFxuICAgICAgICAxODQsXG4gICAgICAgIDEzMCxcbiAgICAgICAgMjMxLFxuICAgICAgICAyMjYsXG4gICAgICAgIDg0LFxuICAgICAgICA2LFxuICAgICAgICA1OFxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicGxhY2VCZXRFdmVudFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMTc3LFxuICAgICAgICAxNDQsXG4gICAgICAgIDIxMixcbiAgICAgICAgOTIsXG4gICAgICAgIDYwLFxuICAgICAgICAyNDIsXG4gICAgICAgIDIwMixcbiAgICAgICAgMTM0XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZWZ1bmRFdmVudFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMTc2LFxuICAgICAgICAxNTksXG4gICAgICAgIDIxOCxcbiAgICAgICAgNTksXG4gICAgICAgIDk0LFxuICAgICAgICAyMTMsXG4gICAgICAgIDEyOSxcbiAgICAgICAgMjE4XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZXNvbHZlTWFya2V0RXZlbnRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE3NixcbiAgICAgICAgMjksXG4gICAgICAgIDIyNCxcbiAgICAgICAgMTM4LFxuICAgICAgICAyMjgsXG4gICAgICAgIDIxNyxcbiAgICAgICAgMjQ5LFxuICAgICAgICAxNDlcbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIFwiZXJyb3JzXCI6IFtcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwMCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRFbmRUaW1lXCIsXG4gICAgICBcIm1zZ1wiOiBcIkludmFsaWQgZW5kIHRpbWUgLSBtdXN0IGJlIGluIHRoZSBmdXR1cmVcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDEsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkUHJpY2VcIixcbiAgICAgIFwibXNnXCI6IFwiSW52YWxpZCBwcmljZSAtIG11c3QgYmUgZ3JlYXRlciB0aGFuIDBcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDIsXG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXROb3RBY3RpdmVcIixcbiAgICAgIFwibXNnXCI6IFwiTWFya2V0IGlzIG5vdCBhY3RpdmVcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDMsXG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXRFeHBpcmVkXCIsXG4gICAgICBcIm1zZ1wiOiBcIk1hcmtldCBoYXMgZXhwaXJlZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwNCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRBbW91bnRcIixcbiAgICAgIFwibXNnXCI6IFwiSW52YWxpZCBhbW91bnRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDUsXG4gICAgICBcIm5hbWVcIjogXCJtYXRoT3ZlcmZsb3dcIixcbiAgICAgIFwibXNnXCI6IFwiTWF0aCBvdmVyZmxvd1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwNixcbiAgICAgIFwibmFtZVwiOiBcImluc3VmZmljaWVudEFtb3VudFwiLFxuICAgICAgXCJtc2dcIjogXCJJbnN1ZmZpY2llbnQgYW1vdW50IGZvciBzaGFyZXNcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDcsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkU2hhcmVBbW91bnRcIixcbiAgICAgIFwibXNnXCI6IFwiQW1vdW50IG11c3QgYmUgYW4gZXhhY3QgbXVsdGlwbGUgb2YgdGhlIG91dGNvbWUgcHJpY2VcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDgsXG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXROb3RFbmRlZFwiLFxuICAgICAgXCJtc2dcIjogXCJNYXJrZXQgaGFzIG5vdCBlbmRlZCB5ZXRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDksXG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXROb3RSZXNvbHZlZFwiLFxuICAgICAgXCJtc2dcIjogXCJNYXJrZXQgaXMgbm90IHJlc29sdmVkXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDEwLFxuICAgICAgXCJuYW1lXCI6IFwibm9XaW5uaW5nT3V0Y29tZVwiLFxuICAgICAgXCJtc2dcIjogXCJObyB3aW5uaW5nIG91dGNvbWUgc2V0XCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDExLFxuICAgICAgXCJuYW1lXCI6IFwibm9TaGFyZXNcIixcbiAgICAgIFwibXNnXCI6IFwiVXNlciBoYXMgbm8gc2hhcmVzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDEyLFxuICAgICAgXCJuYW1lXCI6IFwiaW5zdWZmaWNpZW50U2hhcmVzXCIsXG4gICAgICBcIm1zZ1wiOiBcIkluc3VmZmljaWVudCBzaGFyZXMgdG8gY2xhaW1cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMTMsXG4gICAgICBcIm5hbWVcIjogXCJub1dpbm5pbmdTaGFyZXNcIixcbiAgICAgIFwibXNnXCI6IFwiTm8gd2lubmluZyBzaGFyZXMgYXZhaWxhYmxlXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDE0LFxuICAgICAgXCJuYW1lXCI6IFwibm9SZXdhcmRcIixcbiAgICAgIFwibXNnXCI6IFwiTm8gcmV3YXJkIGF2YWlsYWJsZVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAxNSxcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldE5vdFJlZnVuZGVkXCIsXG4gICAgICBcIm1zZ1wiOiBcIk1hcmtldCBpcyBub3QgaW4gcmVmdW5kZWQgc3RhdHVzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDE2LFxuICAgICAgXCJuYW1lXCI6IFwiaW52YWxpZE1pbnRcIixcbiAgICAgIFwibXNnXCI6IFwiSW52YWxpZCBtaW50IGFjY291bnRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMTcsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkQWNjb3VudFwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIGFjY291bnQgLSByZXF1aXJlZCBhY2NvdW50IG5vdCBwcm92aWRlZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAxOCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRWYXVsdFwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIHZhdWx0IGFjY291bnRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMTksXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkQmV0dGluZ1Rva2VuXCIsXG4gICAgICBcIm1zZ1wiOiBcIkludmFsaWQgYmV0dGluZyB0b2tlblwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAyMCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRUb2tlbk93bmVyXCIsXG4gICAgICBcIm1zZ1wiOiBcIkludmFsaWQgdG9rZW4gYWNjb3VudCBvd25lclwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAyMSxcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldEFscmVhZHlSZXNvbHZlZFwiLFxuICAgICAgXCJtc2dcIjogXCJNYXJrZXQgYWxyZWFkeSByZXNvbHZlZCBvciByZWZ1bmRlZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAyMixcbiAgICAgIFwibmFtZVwiOiBcInVuYXV0aG9yaXplZFwiLFxuICAgICAgXCJtc2dcIjogXCJVbmF1dGhvcml6ZWQgYWNjZXNzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDIzLFxuICAgICAgXCJuYW1lXCI6IFwiYWRtaW5BbHJlYWR5RXhpc3RzXCIsXG4gICAgICBcIm1zZ1wiOiBcIkFkbWluIGFscmVhZHkgZXhpc3RzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDI0LFxuICAgICAgXCJuYW1lXCI6IFwibWF4QWRtaW5zUmVhY2hlZFwiLFxuICAgICAgXCJtc2dcIjogXCJNYXhpbXVtIG51bWJlciBvZiBhZG1pbnMgcmVhY2hlZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAyNSxcbiAgICAgIFwibmFtZVwiOiBcImNhbm5vdFJlbW92ZUF1dGhvcml0eVwiLFxuICAgICAgXCJtc2dcIjogXCJDYW5ub3QgcmVtb3ZlIHRoZSBhdXRob3JpdHlcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMjYsXG4gICAgICBcIm5hbWVcIjogXCJhZG1pbk5vdEZvdW5kXCIsXG4gICAgICBcIm1zZ1wiOiBcIkFkbWluIG5vdCBmb3VuZFwiXG4gICAgfVxuICBdLFxuICBcInR5cGVzXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjbGFpbVJld2FyZHNFdmVudFwiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJtYXJrZXRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ1c2VyXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwid2lubmluZ091dGNvbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInNoYXJlc1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInJld2FyZFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNsYWltUmV3YXJkc1BhcmFtc1wiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0b2tlbkFtb3VudFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNsb3NlTWFya2V0RXZlbnRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0SWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjcmVhdGVNYXJrZXRQYXJhbXNcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0SWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ5ZXNQcmljZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm5vUHJpY2VcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJlbmRUaW1lXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJpNjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiZ2xvYmFsQ29uZmlnXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml6ZWRBZG1pbnNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwidmVjXCI6IFwicHVia2V5XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJhZG1pblwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldElkXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwieWVzTWludFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm5vTWludFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImJldHRpbmdUb2tlblwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInZhdWx0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwieWVzUHJpY2VcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJub1ByaWNlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY3JlYXRlVGltZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImVuZFRpbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJzdGF0dXNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0U3RhdHVzXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwid2lubmluZ091dGNvbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwib3B0aW9uXCI6IHtcbiAgICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0b3RhbFllc1N1cHBseVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInRvdGFsTm9TdXBwbHlcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJidW1wXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1OFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJtYXJrZXRDcmVhdGVkXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImFkbWluXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0SWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ5ZXNNaW50XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibm9NaW50XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYmV0dGluZ1Rva2VuXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwidmF1bHRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ5ZXNQcmljZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm5vUHJpY2VcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJjcmVhdGVUaW1lXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJpNjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZW5kVGltZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1hcmtldFN0YXR1c1wiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwiZW51bVwiLFxuICAgICAgICBcInZhcmlhbnRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJhY3RpdmVcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY2xvc2VkXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInJlc29sdmVkXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInJlZnVuZGVkXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcImVudW1cIixcbiAgICAgICAgXCJ2YXJpYW50c1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibm9cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwieWVzXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBsYWNlQmV0RXZlbnRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwidXNlclwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImFtb3VudFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInNoYXJlc1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBsYWNlQmV0UGFyYW1zXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImJ1eU91dGNvbWVcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0Y29tZVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImFtb3VudFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInJlZnVuZEV2ZW50XCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1hcmtldFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInVzZXJcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJvdXRjb21lXCIsXG4gICAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcIm91dGNvbWVcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJzaGFyZXNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJhbW91bnRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZXNvbHZlTWFya2V0RXZlbnRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWFya2V0SWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ3aW5uaW5nT3V0Y29tZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgICAgXCJvcHRpb25cIjoge1xuICAgICAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgICAgICBcIm5hbWVcIjogXCJvdXRjb21lXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInN0YXR1c1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgICAgXCJkZWZpbmVkXCI6IHtcbiAgICAgICAgICAgICAgICBcIm5hbWVcIjogXCJtYXJrZXRTdGF0dXNcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ0aW1lc3RhbXBcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICBdXG59O1xuIl19
|