@1upmonster/duel 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin.d.ts +31 -15
- package/dist/admin.js +69 -53
- package/dist/duel.json +0 -30
- package/dist/encryption.js +2 -6
- package/dist/idl/private_matchmaking.js +1 -2
- package/dist/index.d.ts +4 -3
- package/dist/index.js +5 -20
- package/dist/player.d.ts +48 -8
- package/dist/player.js +149 -18
- package/dist/types.d.ts +336 -254
- package/dist/types.js +2 -3
- package/dist/utils.d.ts +7 -6
- package/dist/utils.js +11 -16
- package/package.json +2 -1
- package/src/admin.ts +119 -58
- package/src/duel.json +698 -38
- package/src/index.ts +4 -3
- package/src/player.ts +204 -21
- package/src/types.ts +193 -446
- package/src/utils.ts +15 -12
- package/tsconfig.json +3 -1
package/dist/admin.d.ts
CHANGED
|
@@ -1,33 +1,49 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { Duel } from "./types";
|
|
1
|
+
import * as anchor from "@coral-xyz/anchor";
|
|
2
|
+
import * as web3 from "@solana/web3.js";
|
|
3
|
+
import type { Duel } from "./types.js";
|
|
4
4
|
export type EloDataType = 'u8' | 'u16' | 'u32' | 'u64';
|
|
5
5
|
export interface InitializeTenantOptions {
|
|
6
|
-
authority?: PublicKey;
|
|
6
|
+
authority?: web3.PublicKey;
|
|
7
7
|
eloWindow?: number;
|
|
8
8
|
eloOffset?: number;
|
|
9
9
|
eloDataType?: EloDataType;
|
|
10
|
+
callbackProgramId?: web3.PublicKey | null;
|
|
11
|
+
callbackDiscriminator?: number[] | null;
|
|
10
12
|
}
|
|
11
13
|
export declare class MatchmakingAdmin {
|
|
12
|
-
program: Program<Duel>;
|
|
13
|
-
provider: AnchorProvider;
|
|
14
|
-
constructor(provider: AnchorProvider, programId
|
|
15
|
-
getQueuePda(authority: PublicKey): PublicKey;
|
|
16
|
-
getTenantPda(authority: PublicKey): PublicKey;
|
|
14
|
+
program: anchor.Program<Duel>;
|
|
15
|
+
provider: anchor.AnchorProvider;
|
|
16
|
+
constructor(provider: anchor.AnchorProvider, programId: web3.PublicKey | string);
|
|
17
|
+
getQueuePda(authority: web3.PublicKey): web3.PublicKey;
|
|
18
|
+
getTenantPda(authority: web3.PublicKey): web3.PublicKey;
|
|
19
|
+
getTicketPda(player: web3.PublicKey, tenant: web3.PublicKey): web3.PublicKey;
|
|
17
20
|
/**
|
|
18
|
-
*
|
|
21
|
+
* Fetch Queue account data
|
|
19
22
|
*/
|
|
20
|
-
|
|
23
|
+
getQueue(queuePda: web3.PublicKey): Promise<any>;
|
|
24
|
+
/**
|
|
25
|
+
* Fetch Tenant account data
|
|
26
|
+
*/
|
|
27
|
+
getTenant(tenantPda: web3.PublicKey): Promise<any>;
|
|
28
|
+
/**
|
|
29
|
+
* Initialize a Tenant (with optional callback config)
|
|
30
|
+
*/
|
|
31
|
+
initializeTenant(tenantProgramId: web3.PublicKey, options?: InitializeTenantOptions, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
21
32
|
/**
|
|
22
33
|
* Initialize a Queue
|
|
23
34
|
*/
|
|
24
|
-
initializeQueue(authority: PublicKey, tenant: PublicKey, confirmOptions?: ConfirmOptions, signers?: Keypair[]): Promise<TransactionSignature>;
|
|
35
|
+
initializeQueue(authority: web3.PublicKey, tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
25
36
|
/**
|
|
26
37
|
* Delegate Queue to TEE
|
|
27
38
|
*/
|
|
28
|
-
delegateQueue(authority: PublicKey, validator?: PublicKey, confirmOptions?: ConfirmOptions, signers?: Keypair[]): Promise<TransactionSignature>;
|
|
39
|
+
delegateQueue(authority: web3.PublicKey, validator?: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
40
|
+
/**
|
|
41
|
+
* Flush pending matches - crank instruction to update opponent tickets
|
|
42
|
+
* Can be called by any TEE-authenticated wallet (permissionless)
|
|
43
|
+
*/
|
|
44
|
+
flushMatches(queue: web3.PublicKey, tenant: web3.PublicKey, ticketPdas: web3.PublicKey[], callbackProgram?: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
29
45
|
/**
|
|
30
|
-
*
|
|
46
|
+
* Commit matched tickets back to L1 (runs in TEE)
|
|
31
47
|
*/
|
|
32
|
-
|
|
48
|
+
commitTickets(tenant: web3.PublicKey, ticketPdas: web3.PublicKey[], confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
33
49
|
}
|
package/dist/admin.js
CHANGED
|
@@ -1,36 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.MatchmakingAdmin = void 0;
|
|
30
|
-
const anchor = __importStar(require("@coral-xyz/anchor"));
|
|
31
|
-
const anchor_1 = require("@coral-xyz/anchor");
|
|
32
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
33
|
-
const duel_json_1 = __importDefault(require("./duel.json"));
|
|
1
|
+
import * as anchor from "@coral-xyz/anchor";
|
|
2
|
+
import { BN } from "bn.js";
|
|
3
|
+
import * as web3 from "@solana/web3.js";
|
|
4
|
+
import { createRequire } from "module";
|
|
5
|
+
const IDL = createRequire(import.meta.url)("./duel.json");
|
|
6
|
+
import * as utils from "./utils.js";
|
|
7
|
+
const TICKET_SEED = "ticket";
|
|
34
8
|
function getEloSize(dataType) {
|
|
35
9
|
switch (dataType) {
|
|
36
10
|
case 'u8': return 1;
|
|
@@ -39,33 +13,44 @@ function getEloSize(dataType) {
|
|
|
39
13
|
case 'u64': return 8;
|
|
40
14
|
}
|
|
41
15
|
}
|
|
42
|
-
class MatchmakingAdmin {
|
|
16
|
+
export class MatchmakingAdmin {
|
|
43
17
|
constructor(provider, programId) {
|
|
18
|
+
const address = typeof programId === "string" ? programId : programId.toBase58();
|
|
19
|
+
const idl = { ...IDL, address };
|
|
20
|
+
this.program = new anchor.Program(idl, provider);
|
|
44
21
|
this.provider = provider;
|
|
45
|
-
const PROGRAM_ID = programId || new web3_js_1.PublicKey("EdZzUwKd1X2ZWjxLPpz1cpEzMF7RUZC43Pq64v1VcK5X");
|
|
46
|
-
// Override address in IDL
|
|
47
|
-
const modifiedIdl = { ...duel_json_1.default };
|
|
48
|
-
modifiedIdl.address = PROGRAM_ID.toBase58();
|
|
49
|
-
this.program = new anchor_1.Program(modifiedIdl, this.provider);
|
|
50
22
|
}
|
|
51
23
|
// Derive PDAs Helpers
|
|
52
24
|
getQueuePda(authority) {
|
|
53
|
-
|
|
54
|
-
return pda;
|
|
25
|
+
return utils.deriveQueuePda(this.program.programId, authority);
|
|
55
26
|
}
|
|
56
27
|
getTenantPda(authority) {
|
|
57
|
-
|
|
58
|
-
|
|
28
|
+
return utils.deriveTenantPda(this.program.programId, authority);
|
|
29
|
+
}
|
|
30
|
+
getTicketPda(player, tenant) {
|
|
31
|
+
return utils.deriveTicketPda(this.program.programId, player, tenant);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fetch Queue account data
|
|
35
|
+
*/
|
|
36
|
+
async getQueue(queuePda) {
|
|
37
|
+
return await this.program.account.queue.fetch(queuePda);
|
|
59
38
|
}
|
|
60
39
|
/**
|
|
61
|
-
*
|
|
40
|
+
* Fetch Tenant account data
|
|
41
|
+
*/
|
|
42
|
+
async getTenant(tenantPda) {
|
|
43
|
+
return await this.program.account.tenant.fetch(tenantPda);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Initialize a Tenant (with optional callback config)
|
|
62
47
|
*/
|
|
63
48
|
async initializeTenant(tenantProgramId, options, confirmOptions, signers = []) {
|
|
64
|
-
const { authority = tenantProgramId, eloWindow = 100, eloOffset = 40, eloDataType = 'u16' } = options || {};
|
|
49
|
+
const { authority = tenantProgramId, eloWindow = 100, eloOffset = 40, eloDataType = 'u16', callbackProgramId = null, callbackDiscriminator = null, } = options || {};
|
|
65
50
|
const eloSize = getEloSize(eloDataType);
|
|
66
51
|
const tenantPda = this.getTenantPda(authority);
|
|
67
52
|
return await this.program.methods
|
|
68
|
-
.initializeTenant(tenantProgramId, eloOffset, eloSize, new
|
|
53
|
+
.initializeTenant(tenantProgramId, eloOffset, eloSize, new BN(eloWindow), callbackProgramId || null, callbackDiscriminator ? Array.from(Buffer.from(callbackDiscriminator)) : null)
|
|
69
54
|
.accountsPartial({
|
|
70
55
|
tenant: tenantPda,
|
|
71
56
|
authority: authority,
|
|
@@ -91,7 +76,7 @@ class MatchmakingAdmin {
|
|
|
91
76
|
/**
|
|
92
77
|
* Delegate Queue to TEE
|
|
93
78
|
*/
|
|
94
|
-
async delegateQueue(authority, validator = new
|
|
79
|
+
async delegateQueue(authority, validator = new web3.PublicKey("FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA"), confirmOptions, signers = []) {
|
|
95
80
|
const queuePda = this.getQueuePda(authority);
|
|
96
81
|
return await this.program.methods
|
|
97
82
|
.delegateQueue({ queue: { authority } })
|
|
@@ -104,19 +89,50 @@ class MatchmakingAdmin {
|
|
|
104
89
|
.rpc(confirmOptions);
|
|
105
90
|
}
|
|
106
91
|
/**
|
|
107
|
-
*
|
|
92
|
+
* Flush pending matches - crank instruction to update opponent tickets
|
|
93
|
+
* Can be called by any TEE-authenticated wallet (permissionless)
|
|
108
94
|
*/
|
|
109
|
-
async
|
|
110
|
-
|
|
95
|
+
async flushMatches(queue, tenant, ticketPdas, callbackProgram, confirmOptions, signers = []) {
|
|
96
|
+
const remainingAccounts = ticketPdas.map(pda => ({
|
|
97
|
+
pubkey: pda,
|
|
98
|
+
isSigner: false,
|
|
99
|
+
isWritable: true,
|
|
100
|
+
}));
|
|
101
|
+
if (callbackProgram) {
|
|
102
|
+
remainingAccounts.push({
|
|
103
|
+
pubkey: callbackProgram,
|
|
104
|
+
isSigner: false,
|
|
105
|
+
isWritable: false,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
111
108
|
return await this.program.methods
|
|
112
|
-
.
|
|
109
|
+
.flushMatches()
|
|
113
110
|
.accountsPartial({
|
|
114
111
|
queue: queue,
|
|
115
112
|
tenant: tenant,
|
|
113
|
+
signer: this.provider.publicKey,
|
|
114
|
+
})
|
|
115
|
+
.remainingAccounts(remainingAccounts)
|
|
116
|
+
.signers(signers)
|
|
117
|
+
.rpc(confirmOptions);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Commit matched tickets back to L1 (runs in TEE)
|
|
121
|
+
*/
|
|
122
|
+
async commitTickets(tenant, ticketPdas, confirmOptions, signers = []) {
|
|
123
|
+
return await this.program.methods
|
|
124
|
+
.commitTickets()
|
|
125
|
+
.accountsPartial({
|
|
126
|
+
tenant: tenant,
|
|
127
|
+
payer: this.provider.publicKey,
|
|
116
128
|
})
|
|
129
|
+
.remainingAccounts(ticketPdas.map(pda => ({
|
|
130
|
+
pubkey: pda,
|
|
131
|
+
isSigner: false,
|
|
132
|
+
isWritable: true,
|
|
133
|
+
})))
|
|
117
134
|
.signers(signers)
|
|
118
135
|
.rpc(confirmOptions);
|
|
119
136
|
}
|
|
120
137
|
}
|
|
121
|
-
exports.MatchmakingAdmin = MatchmakingAdmin;
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBNEM7QUFDNUMsOENBQWlFO0FBQ2pFLDZDQUEwRztBQUUxRyw0REFBOEI7QUFXOUIsU0FBUyxVQUFVLENBQUMsUUFBcUI7SUFDdkMsUUFBUSxRQUFRLEVBQUU7UUFDaEIsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN0QjtBQUNILENBQUM7QUFFRCxNQUFhLGdCQUFnQjtJQUkzQixZQUFZLFFBQXdCLEVBQUUsU0FBcUI7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxVQUFVLEdBQUcsU0FBUyxJQUFJLElBQUksbUJBQVMsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBRTlGLDBCQUEwQjtRQUMxQixNQUFNLFdBQVcsR0FBRyxFQUFFLEdBQUcsbUJBQUcsRUFBUyxDQUFDO1FBQ3RDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQkFBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixXQUFXLENBQUMsU0FBb0I7UUFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLG1CQUFTLENBQUMsc0JBQXNCLENBQzVDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFF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LENBQUM7WUFDZixLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQzthQUNELE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDaEIsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQTlIRCw0Q0E4SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhbmNob3IgZnJvbSBcIkBjb3JhbC14eXovYW5jaG9yXCI7XG5pbXBvcnQgeyBQcm9ncmFtLCBJZGwsIEFuY2hvclByb3ZpZGVyIH0gZnJvbSBcIkBjb3JhbC14eXovYW5jaG9yXCI7XG5pbXBvcnQgeyBQdWJsaWNLZXksIFN5c3RlbVByb2dyYW0sIFRyYW5zYWN0aW9uU2lnbmF0dXJlLCBDb25maXJtT3B0aW9ucywgS2V5cGFpciB9IGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbmltcG9ydCB7IER1ZWwgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IElETCBmcm9tIFwiLi9kdWVsLmpzb25cIjtcblxuZXhwb3J0IHR5cGUgRWxvRGF0YVR5cGUgPSAndTgnIHwgJ3UxNicgfCAndTMyJyB8ICd1NjQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxpemVUZW5hbnRPcHRpb25zIHtcbiAgYXV0aG9yaXR5PzogUHVibGljS2V5OyAgICAgLy8gT3B0aW9uYWwsIGRlZmF1bHRzIHRvIHRlbmFudFByb2dyYW1JZFxuICBlbG9XaW5kb3c/OiBudW1iZXI7ICAgICAgICAvLyBEZWZhdWx0OiAxMDBcbiAgZWxvT2Zmc2V0PzogbnVtYmVyOyAgICAgICAgLy8gRGVmYXVsdDogNDBcbiAgZWxvRGF0YVR5cGU/OiBFbG9EYXRhVHlwZTsgLy8gRGVmYXVsdDogJ3UxNidcbn1cblxuZnVuY3Rpb24gZ2V0RWxvU2l6ZShkYXRhVHlwZTogRWxvRGF0YVR5cGUpOiBudW1iZXIge1xuICBzd2l0Y2ggKGRhdGFUeXBlKSB7XG4gICAgY2FzZSAndTgnOiByZXR1cm4gMTtcbiAgICBjYXNlICd1MTYnOiByZXR1cm4gMjtcbiAgICBjYXNlICd1MzInOiByZXR1cm4gNDtcbiAgICBjYXNlICd1NjQnOiByZXR1cm4gODtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWF0Y2htYWtpbmdBZG1pbiB7XG4gIHByb2dyYW06IFByb2dyYW08RHVlbD47XG4gIHByb3ZpZGVyOiBBbmNob3JQcm92aWRlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm92aWRlcjogQW5jaG9yUHJvdmlkZXIsIHByb2dyYW1JZD86IFB1YmxpY0tleSkge1xuICAgIHRoaXMucHJvdmlkZXIgPSBwcm92aWRlcjtcbiAgICBjb25zdCBQUk9HUkFNX0lEID0gcHJvZ3JhbUlkIHx8IG5ldyBQdWJsaWNLZXkoXCJFZFp6VXdLZDFYMlpXanhMUHB6MWNwRXpNRjdSVVpDNDNQcTY0djFWY0s1WFwiKTtcbiAgICBcbiAgICAvLyBPdmVycmlkZSBhZGRyZXNzIGluIElETFxuICAgIGNvbnN0IG1vZGlmaWVkSWRsID0geyAuLi5JREwgfSBhcyBhbnk7XG4gICAgbW9kaWZpZWRJZGwuYWRkcmVzcyA9IFBST0dSQU1fSUQudG9CYXNlNTgoKTtcbiAgICBcbiAgICB0aGlzLnByb2dyYW0gPSBuZXcgUHJvZ3JhbShtb2RpZmllZElkbCwgdGhpcy5wcm92aWRlcik7XG4gIH1cblxuICAvLyBEZXJpdmUgUERBcyBIZWxwZXJzXG4gIGdldFF1ZXVlUGRhKGF1dGhvcml0eTogUHVibGljS2V5KTogUHVibGljS2V5IHtcbiAgICBjb25zdCBbcGRhXSA9IFB1YmxpY0tleS5maW5kUHJvZ3JhbUFkZHJlc3NTeW5jKFxuICAgICAgW0J1ZmZlci5mcm9tKFwicXVldWVcIiksIGF1dGhvcml0eS50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApO1xuICAgIHJldHVybiBwZGE7XG4gIH1cblxuICBnZXRUZW5hbnRQZGEoYXV0aG9yaXR5OiBQdWJsaWNLZXkpOiBQdWJsaWNLZXkge1xuICAgIGNvbnN0IFtwZGFdID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJ0ZW5hbnRcIiksIGF1dGhvcml0eS50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApO1xuICAgIHJldHVybiBwZGE7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhIFRlbmFudFxuICAgKi9cbiAgYXN5bmMgaW5pdGlhbGl6ZVRlbmFudChcbiAgICB0ZW5hbnRQcm9ncmFtSWQ6IFB1YmxpY0tleSxcbiAgICBvcHRpb25zPzogSW5pdGlhbGl6ZVRlbmFudE9wdGlvbnMsXG4gICAgY29uZmlybU9wdGlvbnM/OiBDb25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiBLZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3Qge1xuICAgICAgYXV0aG9yaXR5ID0gdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgZWxvV2luZG93ID0gMTAwLFxuICAgICAgZWxvT2Zmc2V0ID0gNDAsXG4gICAgICBlbG9EYXRhVHlwZSA9ICd1MTYnXG4gICAgfSA9IG9wdGlvbnMgfHwge307XG4gICAgXG4gICAgY29uc3QgZWxvU2l6ZSA9IGdldEVsb1NpemUoZWxvRGF0YVR5cGUpO1xuICAgIGNvbnN0IHRlbmFudFBkYSA9IHRoaXMuZ2V0VGVuYW50UGRhKGF1dGhvcml0eSk7XG4gICAgXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZVRlbmFudChcbiAgICAgICAgdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgICBlbG9PZmZzZXQsXG4gICAgICAgIGVsb1NpemUsXG4gICAgICAgIG5ldyBhbmNob3IuQk4oZWxvV2luZG93KVxuICAgICAgKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHRlbmFudDogdGVuYW50UGRhLFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhIFF1ZXVlXG4gICAqL1xuICBhc3luYyBpbml0aWFsaXplUXVldWUoXG4gICAgYXV0aG9yaXR5OiBQdWJsaWNLZXksXG4gICAgdGVuYW50OiBQdWJsaWNLZXksXG4gICAgY29uZmlybU9wdGlvbnM/OiBDb25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiBLZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3QgcXVldWVQZGEgPSB0aGlzLmdldFF1ZXVlUGRhKGF1dGhvcml0eSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZVF1ZXVlKClcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICBxdWV1ZTogcXVldWVQZGEsXG4gICAgICAgIHRlbmFudDogdGVuYW50LFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZWdhdGUgUXVldWUgdG8gVEVFXG4gICAqL1xuICBhc3luYyBkZWxlZ2F0ZVF1ZXVlKFxuICAgIGF1dGhvcml0eTogUHVibGljS2V5LFxuICAgIHZhbGlkYXRvcjogUHVibGljS2V5ID0gbmV3IFB1YmxpY0tleShcIkZuRTZWSlQ1UU5aZGVkWlBuQ29Mc0FSZ0J3b0U2RGVKTmpCczJIMWd5U1hBXCIpLFxuICAgIGNvbmZpcm1PcHRpb25zPzogQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTxUcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgICAgY29uc3QgcXVldWVQZGEgPSB0aGlzLmdldFF1ZXVlUGRhKGF1dGhvcml0eSk7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgICAgLmRlbGVnYXRlUXVldWUoeyBxdWV1ZTogeyBhdXRob3JpdHkgfSB9IGFzIGFueSlcbiAgICAgICAgLmFjY291bnRzKHtcbiAgICAgICAgICAgIHBkYTogcXVldWVQZGEsXG4gICAgICAgICAgICBwYXllcjogYXV0aG9yaXR5LFxuICAgICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0b3IsXG4gICAgICAgIH0gYXMgYW55KVxuICAgICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgICAucnBjKGNvbmZpcm1PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIE1hdGNoIChBZG1pbi9NYWludGVuYW5jZSlcbiAgICovXG4gIGFzeW5jIHByb2Nlc3NNYXRjaChcbiAgICBxdWV1ZTogUHVibGljS2V5LFxuICAgIHRlbmFudDogUHVibGljS2V5LFxuICAgIGNvbmZpcm1PcHRpb25zPzogQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogS2V5cGFpcltdID0gW10gLy8gQWRtaW4gbWlnaHQgc2lnbiBpZiBhdXRob3JpdHkgcmVxdWlyZWRcbiAgKTogUHJvbWlzZTxUcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLnByb2Nlc3NNYXRjaCgpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgcXVldWU6IHF1ZXVlLFxuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNCLE9BQU8sS0FBSyxJQUFJLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUMxRCxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFhN0IsU0FBUyxVQUFVLENBQUMsUUFBcUI7SUFDdkMsUUFBUSxRQUFRLEVBQUU7UUFDaEIsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN0QjtBQUNILENBQUM7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQVksUUFBK0IsRUFBRSxTQUFrQztRQUM3RSxNQUFNLE9BQU8sR0FBRyxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVSxFQUFF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TSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1NBQ2hDLENBQUM7YUFDRCxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQzthQUNwQyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQ2hCLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUNqQixNQUFzQixFQUN0QixVQUE0QixFQUM1QixjQUFvQyxFQUNwQyxVQUEwQixFQUFFO1FBRTVCLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87YUFDOUIsYUFBYSxFQUFFO2FBQ2YsZUFBZSxDQUFDO1lBQ2YsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1NBQy9CLENBQUM7YUFDRCxpQkFBaUIsQ0FDaEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckIsTUFBTSxFQUFFLEdBQUc7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQyxDQUNKO2FBQ0EsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUNoQixHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYW5jaG9yIGZyb20gXCJAY29yYWwteHl6L2FuY2hvclwiO1xuaW1wb3J0IHsgQk4gfSBmcm9tIFwiYm4uanNcIjtcbmltcG9ydCAqIGFzIHdlYjMgZnJvbSBcIkBzb2xhbmEvd2ViMy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBEdWVsIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibW9kdWxlXCI7XG5jb25zdCBJREwgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCkoXCIuL2R1ZWwuanNvblwiKTtcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5cbmNvbnN0IFRJQ0tFVF9TRUVEID0gXCJ0aWNrZXRcIjtcblxuZXhwb3J0IHR5cGUgRWxvRGF0YVR5cGUgPSAndTgnIHwgJ3UxNicgfCAndTMyJyB8ICd1NjQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxpemVUZW5hbnRPcHRpb25zIHtcbiAgYXV0aG9yaXR5Pzogd2ViMy5QdWJsaWNLZXk7XG4gIGVsb1dpbmRvdz86IG51bWJlcjtcbiAgZWxvT2Zmc2V0PzogbnVtYmVyO1xuICBlbG9EYXRhVHlwZT86IEVsb0RhdGFUeXBlO1xuICBjYWxsYmFja1Byb2dyYW1JZD86IHdlYjMuUHVibGljS2V5IHwgbnVsbDtcbiAgY2FsbGJhY2tEaXNjcmltaW5hdG9yPzogbnVtYmVyW10gfCBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRFbG9TaXplKGRhdGFUeXBlOiBFbG9EYXRhVHlwZSk6IG51bWJlciB7XG4gIHN3aXRjaCAoZGF0YVR5cGUpIHtcbiAgICBjYXNlICd1OCc6IHJldHVybiAxO1xuICAgIGNhc2UgJ3UxNic6IHJldHVybiAyO1xuICAgIGNhc2UgJ3UzMic6IHJldHVybiA0O1xuICAgIGNhc2UgJ3U2NCc6IHJldHVybiA4O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXRjaG1ha2luZ0FkbWluIHtcbiAgcHVibGljIHByb2dyYW06IGFuY2hvci5Qcm9ncmFtPER1ZWw+O1xuICBwdWJsaWMgcHJvdmlkZXI6IGFuY2hvci5BbmNob3JQcm92aWRlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm92aWRlcjogYW5jaG9yLkFuY2hvclByb3ZpZGVyLCBwcm9ncmFtSWQ6IHdlYjMuUHVibGljS2V5IHwgc3RyaW5nKSB7XG4gICAgY29uc3QgYWRkcmVzcyA9IHR5cGVvZiBwcm9ncmFtSWQgPT09IFwic3RyaW5nXCIgPyBwcm9ncmFtSWQgOiBwcm9ncmFtSWQudG9CYXNlNTgoKTtcbiAgICBjb25zdCBpZGwgPSB7IC4uLklETCwgYWRkcmVzcyB9O1xuICAgIHRoaXMucHJvZ3JhbSA9IG5ldyBhbmNob3IuUHJvZ3JhbShpZGwgYXMgYW55LCBwcm92aWRlcik7XG4gICAgdGhpcy5wcm92aWRlciA9IHByb3ZpZGVyO1xuICB9XG5cbiAgLy8gRGVyaXZlIFBEQXMgSGVscGVyc1xuICBnZXRRdWV1ZVBkYShhdXRob3JpdHk6IHdlYjMuUHVibGljS2V5KTogd2ViMy5QdWJsaWNLZXkge1xuICAgIHJldHVybiB1dGlscy5kZXJpdmVRdWV1ZVBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhdXRob3JpdHkpO1xuICB9XG5cbiAgZ2V0VGVuYW50UGRhKGF1dGhvcml0eTogd2ViMy5QdWJsaWNLZXkpOiB3ZWIzLlB1YmxpY0tleSB7XG4gICAgcmV0dXJuIHV0aWxzLmRlcml2ZVRlbmFudFBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhdXRob3JpdHkpO1xuICB9XG5cbiAgZ2V0VGlja2V0UGRhKHBsYXllcjogd2ViMy5QdWJsaWNLZXksIHRlbmFudDogd2ViMy5QdWJsaWNLZXkpOiB3ZWIzLlB1YmxpY0tleSB7XG4gICAgcmV0dXJuIHV0aWxzLmRlcml2ZVRpY2tldFBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBwbGF5ZXIsIHRlbmFudCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggUXVldWUgYWNjb3VudCBkYXRhXG4gICAqL1xuICBhc3luYyBnZXRRdWV1ZShxdWV1ZVBkYTogd2ViMy5QdWJsaWNLZXkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0uYWNjb3VudC5xdWV1ZS5mZXRjaChxdWV1ZVBkYSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggVGVuYW50IGFjY291bnQgZGF0YVxuICAgKi9cbiAgYXN5bmMgZ2V0VGVuYW50KHRlbmFudFBkYTogd2ViMy5QdWJsaWNLZXkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0uYWNjb3VudC50ZW5hbnQuZmV0Y2godGVuYW50UGRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGEgVGVuYW50ICh3aXRoIG9wdGlvbmFsIGNhbGxiYWNrIGNvbmZpZylcbiAgICovXG4gIGFzeW5jIGluaXRpYWxpemVUZW5hbnQoXG4gICAgdGVuYW50UHJvZ3JhbUlkOiB3ZWIzLlB1YmxpY0tleSxcbiAgICBvcHRpb25zPzogSW5pdGlhbGl6ZVRlbmFudE9wdGlvbnMsXG4gICAgY29uZmlybU9wdGlvbnM/OiB3ZWIzLkNvbmZpcm1PcHRpb25zLFxuICAgIHNpZ25lcnM6IHdlYjMuS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTx3ZWIzLlRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3Qge1xuICAgICAgYXV0aG9yaXR5ID0gdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgZWxvV2luZG93ID0gMTAwLFxuICAgICAgZWxvT2Zmc2V0ID0gNDAsXG4gICAgICBlbG9EYXRhVHlwZSA9ICd1MTYnLFxuICAgICAgY2FsbGJhY2tQcm9ncmFtSWQgPSBudWxsLFxuICAgICAgY2FsbGJhY2tEaXNjcmltaW5hdG9yID0gbnVsbCxcbiAgICB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgIGNvbnN0IGVsb1NpemUgPSBnZXRFbG9TaXplKGVsb0RhdGFUeXBlKTtcbiAgICBjb25zdCB0ZW5hbnRQZGEgPSB0aGlzLmdldFRlbmFudFBkYShhdXRob3JpdHkpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZVRlbmFudChcbiAgICAgICAgdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgICBlbG9PZmZzZXQsXG4gICAgICAgIGVsb1NpemUsXG4gICAgICAgIG5ldyBCTihlbG9XaW5kb3cpLFxuICAgICAgICBjYWxsYmFja1Byb2dyYW1JZCB8fCBudWxsLFxuICAgICAgICBjYWxsYmFja0Rpc2NyaW1pbmF0b3IgPyBBcnJheS5mcm9tKEJ1ZmZlci5mcm9tKGNhbGxiYWNrRGlzY3JpbWluYXRvcikpIDogbnVsbFxuICAgICAgKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHRlbmFudDogdGVuYW50UGRhLFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhIFF1ZXVlXG4gICAqL1xuICBhc3luYyBpbml0aWFsaXplUXVldWUoXG4gICAgYXV0aG9yaXR5OiB3ZWIzLlB1YmxpY0tleSxcbiAgICB0ZW5hbnQ6IHdlYjMuUHVibGljS2V5LFxuICAgIGNvbmZpcm1PcHRpb25zPzogd2ViMy5Db25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiB3ZWIzLktleXBhaXJbXSA9IFtdXG4gICk6IFByb21pc2U8d2ViMy5UcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgIGNvbnN0IHF1ZXVlUGRhID0gdGhpcy5nZXRRdWV1ZVBkYShhdXRob3JpdHkpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLmluaXRpYWxpemVRdWV1ZSgpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgcXVldWU6IHF1ZXVlUGRhLFxuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgICAgYXV0aG9yaXR5OiBhdXRob3JpdHksXG4gICAgICB9KVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGVnYXRlIFF1ZXVlIHRvIFRFRVxuICAgKi9cbiAgYXN5bmMgZGVsZWdhdGVRdWV1ZShcbiAgICBhdXRob3JpdHk6IHdlYjMuUHVibGljS2V5LFxuICAgIHZhbGlkYXRvcjogd2ViMy5QdWJsaWNLZXkgPSBuZXcgd2ViMy5QdWJsaWNLZXkoXCJGbkU2VkpUNVFOWmRlZFpQbkNvTHNBUmdCd29FNkRlSk5qQnMySDFneVNYQVwiKSxcbiAgICBjb25maXJtT3B0aW9ucz86IHdlYjMuQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogd2ViMy5LZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPHdlYjMuVHJhbnNhY3Rpb25TaWduYXR1cmU+IHtcbiAgICAgIGNvbnN0IHF1ZXVlUGRhID0gdGhpcy5nZXRRdWV1ZVBkYShhdXRob3JpdHkpO1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAgIC5kZWxlZ2F0ZVF1ZXVlKHsgcXVldWU6IHsgYXV0aG9yaXR5IH0gfSBhcyBhbnkpXG4gICAgICAgIC5hY2NvdW50cyh7XG4gICAgICAgICAgICBwZGE6IHF1ZXVlUGRhLFxuICAgICAgICAgICAgcGF5ZXI6IGF1dGhvcml0eSxcbiAgICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdG9yLFxuICAgICAgICB9IGFzIHVua25vd24gYXMgYW55KVxuICAgICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgICAucnBjKGNvbmZpcm1PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbHVzaCBwZW5kaW5nIG1hdGNoZXMgLSBjcmFuayBpbnN0cnVjdGlvbiB0byB1cGRhdGUgb3Bwb25lbnQgdGlja2V0c1xuICAgKiBDYW4gYmUgY2FsbGVkIGJ5IGFueSBURUUtYXV0aGVudGljYXRlZCB3YWxsZXQgKHBlcm1pc3Npb25sZXNzKVxuICAgKi9cbiAgYXN5bmMgZmx1c2hNYXRjaGVzKFxuICAgIHF1ZXVlOiB3ZWIzLlB1YmxpY0tleSxcbiAgICB0ZW5hbnQ6IHdlYjMuUHVibGljS2V5LFxuICAgIHRpY2tldFBkYXM6IHdlYjMuUHVibGljS2V5W10sXG4gICAgY2FsbGJhY2tQcm9ncmFtPzogd2ViMy5QdWJsaWNLZXksXG4gICAgY29uZmlybU9wdGlvbnM/OiB3ZWIzLkNvbmZpcm1PcHRpb25zLFxuICAgIHNpZ25lcnM6IHdlYjMuS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTx3ZWIzLlRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3QgcmVtYWluaW5nQWNjb3VudHMgPSB0aWNrZXRQZGFzLm1hcChwZGEgPT4gKHtcbiAgICAgIHB1YmtleTogcGRhLFxuICAgICAgaXNTaWduZXI6IGZhbHNlLFxuICAgICAgaXNXcml0YWJsZTogdHJ1ZSxcbiAgICB9KSk7XG5cbiAgICBpZiAoY2FsbGJhY2tQcm9ncmFtKSB7XG4gICAgICByZW1haW5pbmdBY2NvdW50cy5wdXNoKHtcbiAgICAgICAgcHVia2V5OiBjYWxsYmFja1Byb2dyYW0sXG4gICAgICAgIGlzU2lnbmVyOiBmYWxzZSxcbiAgICAgICAgaXNXcml0YWJsZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5mbHVzaE1hdGNoZXMoKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHF1ZXVlOiBxdWV1ZSxcbiAgICAgICAgdGVuYW50OiB0ZW5hbnQsXG4gICAgICAgIHNpZ25lcjogdGhpcy5wcm92aWRlci5wdWJsaWNLZXksXG4gICAgICB9KVxuICAgICAgLnJlbWFpbmluZ0FjY291bnRzKHJlbWFpbmluZ0FjY291bnRzKVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbW1pdCBtYXRjaGVkIHRpY2tldHMgYmFjayB0byBMMSAocnVucyBpbiBURUUpXG4gICAqL1xuICBhc3luYyBjb21taXRUaWNrZXRzKFxuICAgIHRlbmFudDogd2ViMy5QdWJsaWNLZXksXG4gICAgdGlja2V0UGRhczogd2ViMy5QdWJsaWNLZXlbXSxcbiAgICBjb25maXJtT3B0aW9ucz86IHdlYjMuQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogd2ViMy5LZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPHdlYjMuVHJhbnNhY3Rpb25TaWduYXR1cmU+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5jb21taXRUaWNrZXRzKClcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgICAgcGF5ZXI6IHRoaXMucHJvdmlkZXIucHVibGljS2V5LFxuICAgICAgfSlcbiAgICAgIC5yZW1haW5pbmdBY2NvdW50cyhcbiAgICAgICAgdGlja2V0UGRhcy5tYXAocGRhID0+ICh7XG4gICAgICAgICAgcHVia2V5OiBwZGEsXG4gICAgICAgICAgaXNTaWduZXI6IGZhbHNlLFxuICAgICAgICAgIGlzV3JpdGFibGU6IHRydWUsXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG59XG4iXX0=
|
package/dist/duel.json
CHANGED
|
@@ -333,36 +333,6 @@
|
|
|
333
333
|
],
|
|
334
334
|
"args": []
|
|
335
335
|
},
|
|
336
|
-
{
|
|
337
|
-
"name": "process_match",
|
|
338
|
-
"discriminator": [
|
|
339
|
-
139,
|
|
340
|
-
58,
|
|
341
|
-
77,
|
|
342
|
-
101,
|
|
343
|
-
46,
|
|
344
|
-
54,
|
|
345
|
-
202,
|
|
346
|
-
140
|
|
347
|
-
],
|
|
348
|
-
"accounts": [
|
|
349
|
-
{
|
|
350
|
-
"name": "queue",
|
|
351
|
-
"writable": true
|
|
352
|
-
},
|
|
353
|
-
{
|
|
354
|
-
"name": "tenant"
|
|
355
|
-
},
|
|
356
|
-
{
|
|
357
|
-
"name": "authority",
|
|
358
|
-
"signer": true,
|
|
359
|
-
"relations": [
|
|
360
|
-
"tenant"
|
|
361
|
-
]
|
|
362
|
-
}
|
|
363
|
-
],
|
|
364
|
-
"args": []
|
|
365
|
-
},
|
|
366
336
|
{
|
|
367
337
|
"name": "process_undelegation",
|
|
368
338
|
"discriminator": [
|
package/dist/encryption.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EncryptionProvider = void 0;
|
|
4
1
|
// import { x25519 } from "@noble/curves/ed25519";
|
|
5
|
-
class EncryptionProvider {
|
|
2
|
+
export class EncryptionProvider {
|
|
6
3
|
constructor() {
|
|
7
4
|
this.keyPair = null;
|
|
8
5
|
}
|
|
@@ -97,5 +94,4 @@ class EncryptionProvider {
|
|
|
97
94
|
return new Uint8Array(raw);
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
|
-
exports.EncryptionProvider = EncryptionProvider;
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbmNyeXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUFtRDtBQUVuRCxNQUFhLGtCQUFrQjtJQUEvQjtRQUNZLFlBQU8sR0FBeUIsSUFBSSxDQUFDO0lBd0pqRCxDQUFDO0lBdEpHLGdDQUFnQztJQUNoQyxJQUFZLE1BQU07UUFDZCxJQUFJLE9BQU8sVUFBVSxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFDMUMsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDO1NBQzVCO1FBQ0QsMEZBQTBGO1FBQzFGLElBQUk7WUFDQSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDdEM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztTQUNuRDtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDL0M7WUFDSSxJQUFJLEVBQUUsTUFBTTtZQUNaLFVBQVUsRUFBRSxPQUFPO1NBQ3RCLEVBQ0QsSUFBSSxFQUNKLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUNiLENBQUM7UUFFbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUNoQixJQUFnQixFQUNoQixpQkFBNkI7UUFFN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQ25DO1FBRUQsd0JBQXdCO1FBQ3hCLHdHQUF3RztRQUN4RyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxN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QUNJLElBQUksRUFBRSxTQUFTO1lBQ2YsRUFBRSxFQUFFLEVBQUU7U0FDVCxFQUNELFNBQVMsRUFDVCxVQUFxQyxDQUN4QyxDQUFDO1FBRUYsT0FBTyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsc0JBQXNCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUM3QyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUNyQyxJQUFJLEVBQ0osQ0FBQyxXQUFXLENBQUMsQ0FDQyxDQUFDO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0o7QUF6SkQsZ0RBeUpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5IH0gZnJvbSBcIkBzb2xhbmEvd2ViMy5qc1wiO1xuLy8gaW1wb3J0IHsgeDI1NTE5IH0gZnJvbSBcIkBub2JsZS9jdXJ2ZXMvZWQyNTUxOVwiOyBcblxuZXhwb3J0IGNsYXNzIEVuY3J5cHRpb25Qcm92aWRlciB7XG4gICAgcHJpdmF0ZSBrZXlQYWlyOiBDcnlwdG9LZXlQYWlyIHwgbnVsbCA9IG51bGw7XG4gICAgXG4gICAgLy8gQ2hlY2sgZm9yIGNyeXB0byBhdmFpbGFiaWxpdHlcbiAgICBwcml2YXRlIGdldCBjcnlwdG8oKTogQ3J5cHRvIHtcbiAgICAgICAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzLmNyeXB0byAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBnbG9iYWxUaGlzLmNyeXB0bztcbiAgICAgICAgfVxuICAgICAgICAvLyBGYWxsYmFjayBmb3IgTm9kZSA8IDE5IGlmIGdsb2JhbCBjcnlwdG8gbm90IHNldCAodGhvdWdoIFNESyBsaWtlbHkgdGFyZ2V0cyBtb2Rlcm4gZW52cylcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiByZXF1aXJlKCdjcnlwdG8nKS53ZWJjcnlwdG87XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIldlYkNyeXB0byBBUEkgbm90IGF2YWlsYWJsZS5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSBhIGZyZXNoIGVwaGVtZXJhbCBrZXlwYWlyIGZvciB0aGUgc2Vzc2lvbiAoWDI1NTE5L1AtMjU2KS5cbiAgICAgKi9cbiAgICBhc3luYyBnZW5lcmF0ZVNlc3Npb25LZXkoKTogUHJvbWlzZTxDcnlwdG9LZXk+IHtcbiAgICAgICAgdGhpcy5rZXlQYWlyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiwgXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgIFtcImRlcml2ZUtleVwiLCBcImRlcml2ZUJpdHNcIl1cbiAgICAgICAgKSBhcyBDcnlwdG9LZXlQYWlyO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5UGFpci5wdWJsaWNLZXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVyaXZlIHNoYXJlZCBzZWNyZXQgYW5kIGVuY3J5cHQgcGF5bG9hZC5cbiAgICAgKi9cbiAgICBhc3luYyBlbmNyeXB0UGF5bG9hZChcbiAgICAgICAgZGF0YTogVWludDhBcnJheSwgXG4gICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzOiBVaW50OEFycmF5XG4gICAgKTogUHJvbWlzZTx7IGVuY3J5cHRlZDogVWludDhBcnJheSwgY2xpZW50UHVibGljS2V5OiBVaW50OEFycmF5IH0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmtleVBhaXIpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVTZXNzaW9uS2V5KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbXBvcnQgVEVFIFB1YmxpYyBLZXlcbiAgICAgICAgLy8gRml4OiBFeHBsaWNpdGx5IGNhc3QgdG8gQnVmZmVyU291cmNlL2FueSBiZWNhdXNlIFRTIGdldHMgY29uZnVzZWQgd2l0aCBTaGFyZWRBcnJheUJ1ZmZlciBpbiBzb21lIGVudnNcbiAgICAgICAgY29uc3QgdGVlS2V5ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICAgICAgICAgIFwicmF3XCIsXG4gICAgICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlcyBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZSxcbiAgICAgICAgICAgIHsgbmFtZTogXCJFQ0RIXCIsIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiB9LCBcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW11cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBEZXJpdmUgU2hhcmVkIFNlY3JldCAoQUVTLUdDTSBLZXkpXG4gICAgICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJFQ0RIXCIsXG4gICAgICAgICAgICAgICAgcHVibGljOiB0ZWVLZXksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5rZXlQYWlyIS5wcml2YXRlS2V5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGxlbmd0aDogMjU2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW1wiZW5jcnlwdFwiLCBcImRlY3J5cHRcIl1cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBFbmNyeXB0IERhdGFcbiAgICAgICAgY29uc3QgaXYgPSB0aGlzLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMTIpKTtcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkQnVmZmVyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmVuY3J5cHQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJBRVMtR0NNXCIsXG4gICAgICAgICAgICAgICAgaXY6IGl2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNoYXJlZEtleSxcbiAgICAgICAgICAgIGRhdGEgYXMgdW5rbm93biBhcyBCdWZmZXJTb3VyY2VcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBDb25jYXRlbmF0ZSBJViArIENpcGhlclRleHRcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkID0gbmV3IFVpbnQ4QXJyYXkoaXYubGVuZ3RoICsgZW5jcnlwdGVkQnVmZmVyLmJ5dGVMZW5ndGgpO1xuICAgICAgICBlbmNyeXB0ZWQuc2V0KGl2KTtcbiAgICAgICAgZW5jcnlwdGVkLnNldChuZXcgVWludDhBcnJheShlbmNyeXB0ZWRCdWZmZXIpLCBpdi5sZW5ndGgpO1xuXG4gICAgICAgIC8vIEV4cG9ydCBDbGllbnQgUHVibGljIEtleVxuICAgICAgICBjb25zdCBjbGllbnRQdWJSYXcgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KFwicmF3XCIsIHRoaXMua2V5UGFpciEucHVibGljS2V5KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5jcnlwdGVkLFxuICAgICAgICAgICAgY2xpZW50UHVibGljS2V5OiBuZXcgVWludDhBcnJheShjbGllbnRQdWJSYXcpXG4gICAgICAgIH07XG4gICAgfVxuICAgIFxuICAgIC8qKlxuICAgICAqIERlY3J5cHQgYSByZXNwb25zZSBmcm9tIHRoZSBURUUuXG4gICAgICovXG4gICAgYXN5bmMgZGVjcnlwdFJlc3BvbnNlKFxuICAgICAgICBlbmNyeXB0ZWREYXRhOiBVaW50OEFycmF5LCBcbiAgICAgICAgdGVlUHVibGljS2V5Qnl0ZXM6IFVpbnQ4QXJyYXlcbiAgICApOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICAgICAgICBpZiAoIXRoaXMua2V5UGFpcikgdGhyb3cgbmV3IEVycm9yKFwiTm8gc2Vzc2lvbiBrZXlcIik7XG4gICAgICAgICAgXG4gICAgICAgICAgIC8vIEltcG9ydCBURUUgUHVibGljIEtleVxuICAgICAgICBjb25zdCB0ZWVLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KFxuICAgICAgICAgICAgXCJyYXdcIixcbiAgICAgICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzIGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlLFxuICAgICAgICAgICAgeyBuYW1lOiBcIkVDREhcIiwgbmFtZWRDdXJ2ZTogXCJQLTI1NlwiIH0sIFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbXVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIERlcml2ZSBTaGFyZWQgU2VjcmV0XG4gICAgICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJFQ0RIXCIsXG4gICAgICAgICAgICAgICAgcHVibGljOiB0ZWVLZXksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5rZXlQYWlyIS5wcml2YXRlS2V5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGxlbmd0aDogMjU2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW1wiZW5jcnlwdFwiLCBcImRlY3J5cHRcIl1cbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGl2ID0gZW5jcnlwdGVkRGF0YS5zbGljZSgwLCAxMik7XG4gICAgICAgIGNvbnN0IGNpcGhlcnRleHQgPSBlbmNyeXB0ZWREYXRhLnNsaWNlKDEyKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGRlY3J5cHRlZCA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZWNyeXB0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGl2OiBpdixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaGFyZWRLZXksXG4gICAgICAgICAgICBjaXBoZXJ0ZXh0IGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlXG4gICAgICAgICk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGVjcnlwdGVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgdG8gZ2VuZXJhdGUgYSB2YWxpZCByYW5kb20gUC0yNTYgUHVibGljIEtleSAoNjUgYnl0ZXMpIGZvciB0ZXN0aW5nLlxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZU1vY2tWYWxpZGF0b3JLZXkoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgICAgIGNvbnN0IHBhaXIgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoXG4gICAgICAgICAgICB7IG5hbWU6IFwiRUNESFwiLCBuYW1lZEN1cnZlOiBcIlAtMjU2XCIgfSxcbiAgICAgICAgICAgIHRydWUsIFxuICAgICAgICAgICAgW1wiZGVyaXZlS2V5XCJdXG4gICAgICAgICkgYXMgQ3J5cHRvS2V5UGFpcjtcbiAgICAgICAgY29uc3QgcmF3ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmV4cG9ydEtleShcInJhd1wiLCBwYWlyLnB1YmxpY0tleSk7XG4gICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShyYXcpO1xuICAgIH1cbn1cbiJdfQ==
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbmNyeXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLG1EQUFtRDtBQUVuRCxNQUFNLE9BQU8sa0JBQWtCO0lBQS9CO1FBQ1ksWUFBTyxHQUF5QixJQUFJLENBQUM7SUF3SmpELENBQUM7SUF0SkcsZ0NBQWdDO0lBQ2hDLElBQVksTUFBTTtRQUNkLElBQUksT0FBTyxVQUFVLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUMxQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDNUI7UUFDRCwwRkFBMEY7UUFDMUYsSUFBSTtZQUNBLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUN0QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUMvQztZQUNJLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLE9BQU87U0FDdEIsRUFDRCxJQUFJLEVBQ0osQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQ2IsQ0FBQztRQUVuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQ2hCLElBQWdCLEVBQ2hCLGlCQUE2QjtRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDbkM7UUFFRCx3QkFBd0I7UUFDeEIsd0dBQXdHO1FBQ3hHLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFD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O1lBQ0ksSUFBSSxFQUFFLFNBQVM7WUFDZixFQUFFLEVBQUUsRUFBRTtTQUNULEVBQ0QsU0FBUyxFQUNULFVBQXFDLENBQ3hDLENBQUM7UUFFRixPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxzQkFBc0I7UUFDeEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzdDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQ3JDLElBQUksRUFDSixDQUFDLFdBQVcsQ0FBQyxDQUNDLENBQUM7UUFDbkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1YmxpY0tleSB9IGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbi8vIGltcG9ydCB7IHgyNTUxOSB9IGZyb20gXCJAbm9ibGUvY3VydmVzL2VkMjU1MTlcIjsgXG5cbmV4cG9ydCBjbGFzcyBFbmNyeXB0aW9uUHJvdmlkZXIge1xuICAgIHByaXZhdGUga2V5UGFpcjogQ3J5cHRvS2V5UGFpciB8IG51bGwgPSBudWxsO1xuICAgIFxuICAgIC8vIENoZWNrIGZvciBjcnlwdG8gYXZhaWxhYmlsaXR5XG4gICAgcHJpdmF0ZSBnZXQgY3J5cHRvKCk6IENyeXB0byB7XG4gICAgICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcy5jcnlwdG8gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2xvYmFsVGhpcy5jcnlwdG87XG4gICAgICAgIH1cbiAgICAgICAgLy8gRmFsbGJhY2sgZm9yIE5vZGUgPCAxOSBpZiBnbG9iYWwgY3J5cHRvIG5vdCBzZXQgKHRob3VnaCBTREsgbGlrZWx5IHRhcmdldHMgbW9kZXJuIGVudnMpXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWlyZSgnY3J5cHRvJykud2ViY3J5cHRvO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJXZWJDcnlwdG8gQVBJIG5vdCBhdmFpbGFibGUuXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgYSBmcmVzaCBlcGhlbWVyYWwga2V5cGFpciBmb3IgdGhlIHNlc3Npb24gKFgyNTUxOS9QLTI1NikuXG4gICAgICovXG4gICAgYXN5bmMgZ2VuZXJhdGVTZXNzaW9uS2V5KCk6IFByb21pc2U8Q3J5cHRvS2V5PiB7XG4gICAgICAgIHRoaXMua2V5UGFpciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkVDREhcIixcbiAgICAgICAgICAgICAgICBuYW1lZEN1cnZlOiBcIlAtMjU2XCIsIFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICBbXCJkZXJpdmVLZXlcIiwgXCJkZXJpdmVCaXRzXCJdXG4gICAgICAgICkgYXMgQ3J5cHRvS2V5UGFpcjtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiB0aGlzLmtleVBhaXIucHVibGljS2V5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlcml2ZSBzaGFyZWQgc2VjcmV0IGFuZCBlbmNyeXB0IHBheWxvYWQuXG4gICAgICovXG4gICAgYXN5bmMgZW5jcnlwdFBheWxvYWQoXG4gICAgICAgIGRhdGE6IFVpbnQ4QXJyYXksIFxuICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlczogVWludDhBcnJheVxuICAgICk6IFByb21pc2U8eyBlbmNyeXB0ZWQ6IFVpbnQ4QXJyYXksIGNsaWVudFB1YmxpY0tleTogVWludDhBcnJheSB9PiB7XG4gICAgICAgIGlmICghdGhpcy5rZXlQYWlyKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdlbmVyYXRlU2Vzc2lvbktleSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW1wb3J0IFRFRSBQdWJsaWMgS2V5XG4gICAgICAgIC8vIEZpeDogRXhwbGljaXRseSBjYXN0IHRvIEJ1ZmZlclNvdXJjZS9hbnkgYmVjYXVzZSBUUyBnZXRzIGNvbmZ1c2VkIHdpdGggU2hhcmVkQXJyYXlCdWZmZXIgaW4gc29tZSBlbnZzXG4gICAgICAgIGNvbnN0IHRlZUtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoXG4gICAgICAgICAgICBcInJhd1wiLFxuICAgICAgICAgICAgdGVlUHVibGljS2V5Qnl0ZXMgYXMgdW5rbm93biBhcyBCdWZmZXJTb3VyY2UsXG4gICAgICAgICAgICB7IG5hbWU6IFwiRUNESFwiLCBuYW1lZEN1cnZlOiBcIlAtMjU2XCIgfSwgXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtdXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRGVyaXZlIFNoYXJlZCBTZWNyZXQgKEFFUy1HQ00gS2V5KVxuICAgICAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIHB1YmxpYzogdGVlS2V5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMua2V5UGFpciEucHJpdmF0ZUtleSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBsZW5ndGg6IDI1NixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtcImVuY3J5cHRcIiwgXCJkZWNyeXB0XCJdXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5jcnlwdCBEYXRhXG4gICAgICAgIGNvbnN0IGl2ID0gdGhpcy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KDEyKSk7XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZEJ1ZmZlciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5lbmNyeXB0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGl2OiBpdixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaGFyZWRLZXksXG4gICAgICAgICAgICBkYXRhIGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQ29uY2F0ZW5hdGUgSVYgKyBDaXBoZXJUZXh0XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZCA9IG5ldyBVaW50OEFycmF5KGl2Lmxlbmd0aCArIGVuY3J5cHRlZEJ1ZmZlci5ieXRlTGVuZ3RoKTtcbiAgICAgICAgZW5jcnlwdGVkLnNldChpdik7XG4gICAgICAgIGVuY3J5cHRlZC5zZXQobmV3IFVpbnQ4QXJyYXkoZW5jcnlwdGVkQnVmZmVyKSwgaXYubGVuZ3RoKTtcblxuICAgICAgICAvLyBFeHBvcnQgQ2xpZW50IFB1YmxpYyBLZXlcbiAgICAgICAgY29uc3QgY2xpZW50UHViUmF3ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmV4cG9ydEtleShcInJhd1wiLCB0aGlzLmtleVBhaXIhLnB1YmxpY0tleSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVuY3J5cHRlZCxcbiAgICAgICAgICAgIGNsaWVudFB1YmxpY0tleTogbmV3IFVpbnQ4QXJyYXkoY2xpZW50UHViUmF3KVxuICAgICAgICB9O1xuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBEZWNyeXB0IGEgcmVzcG9uc2UgZnJvbSB0aGUgVEVFLlxuICAgICAqL1xuICAgIGFzeW5jIGRlY3J5cHRSZXNwb25zZShcbiAgICAgICAgZW5jcnlwdGVkRGF0YTogVWludDhBcnJheSwgXG4gICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzOiBVaW50OEFycmF5XG4gICAgKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmtleVBhaXIpIHRocm93IG5ldyBFcnJvcihcIk5vIHNlc3Npb24ga2V5XCIpO1xuICAgICAgICAgIFxuICAgICAgICAgICAvLyBJbXBvcnQgVEVFIFB1YmxpYyBLZXlcbiAgICAgICAgY29uc3QgdGVlS2V5ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICAgICAgICAgIFwicmF3XCIsXG4gICAgICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlcyBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZSxcbiAgICAgICAgICAgIHsgbmFtZTogXCJFQ0RIXCIsIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiB9LCBcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW11cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBEZXJpdmUgU2hhcmVkIFNlY3JldFxuICAgICAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIHB1YmxpYzogdGVlS2V5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMua2V5UGFpciEucHJpdmF0ZUtleSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBsZW5ndGg6IDI1NixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtcImVuY3J5cHRcIiwgXCJkZWNyeXB0XCJdXG4gICAgICAgICk7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBpdiA9IGVuY3J5cHRlZERhdGEuc2xpY2UoMCwgMTIpO1xuICAgICAgICBjb25zdCBjaXBoZXJ0ZXh0ID0gZW5jcnlwdGVkRGF0YS5zbGljZSgxMik7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBkZWNyeXB0ZWQgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVjcnlwdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBpdjogaXYsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2hhcmVkS2V5LFxuICAgICAgICAgICAgY2lwaGVydGV4dCBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZVxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGRlY3J5cHRlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGVscGVyIHRvIGdlbmVyYXRlIGEgdmFsaWQgcmFuZG9tIFAtMjU2IFB1YmxpYyBLZXkgKDY1IGJ5dGVzKSBmb3IgdGVzdGluZy5cbiAgICAgKi9cbiAgICBhc3luYyBjcmVhdGVNb2NrVmFsaWRhdG9yS2V5KCk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICAgICAgICBjb25zdCBwYWlyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KFxuICAgICAgICAgICAgeyBuYW1lOiBcIkVDREhcIiwgbmFtZWRDdXJ2ZTogXCJQLTI1NlwiIH0sXG4gICAgICAgICAgICB0cnVlLCBcbiAgICAgICAgICAgIFtcImRlcml2ZUtleVwiXVxuICAgICAgICApIGFzIENyeXB0b0tleVBhaXI7XG4gICAgICAgIGNvbnN0IHJhdyA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoXCJyYXdcIiwgcGFpci5wdWJsaWNLZXkpO1xuICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkocmF3KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
3
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9tYXRjaG1ha2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pZGwvcHJpdmF0ZV9tYXRjaG1ha2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9ncmFtIElETCBpbiBjYW1lbENhc2UgZm9ybWF0IGluIG9yZGVyIHRvIGJlIHVzZWQgaW4gSlMvVFMuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgaXMgb25seSBhIHR5cGUgaGVscGVyIGFuZCBpcyBub3QgdGhlIGFjdHVhbCBJREwuIFRoZSBvcmlnaW5hbFxuICogSURMIGNhbiBiZSBmb3VuZCBhdCBgdGFyZ2V0L2lkbC9wcml2YXRlX21hdGNobWFraW5nLmpzb25gLlxuICovXG5leHBvcnQgdHlwZSBQcml2YXRlTWF0Y2htYWtpbmcgPSB7XG4gIFwiYWRkcmVzc1wiOiBcIkRZRGUyVkNyRmp6eHk5enVvdkdldW02N2tZeWJyNjVHNlpieHQ5Z1BKUDFmXCIsXG4gIFwibWV0YWRhdGFcIjoge1xuICAgIFwibmFtZVwiOiBcInByaXZhdGVNYXRjaG1ha2luZ1wiLFxuICAgIFwidmVyc2lvblwiOiBcIjAuMS4wXCIsXG4gICAgXCJzcGVjXCI6IFwiMC4xLjBcIixcbiAgICBcImRlc2NyaXB0aW9uXCI6IFwiQ3JlYXRlZCB3aXRoIEFuY2hvclwiXG4gIH0sXG4gIFwiaW5zdHJ1Y3Rpb25zXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjbG9zZVBhZ2VcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDIwNSxcbiAgICAgICAgMTQxLFxuICAgICAgICAyNSxcbiAgICAgICAgMTc5LFxuICAgICAgICAzMSxcbiAgICAgICAgMSxcbiAgICAgICAgMTAzLFxuICAgICAgICA0M1xuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhZ2VcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEyLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMDMsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicXVldWVcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYXJnXCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGFnZUluZGV4XCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY2xvc2VRdWV1ZVwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMTk5LFxuICAgICAgICAyMCxcbiAgICAgICAgOTksXG4gICAgICAgIDIwNSxcbiAgICAgICAgODIsXG4gICAgICAgIDQwLFxuICAgICAgICAxMzQsXG4gICAgICAgIDEwOVxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEzLFxuICAgICAgICAgICAgICAgICAgMTE3LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTE3LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgNDUsXG4gICAgICAgICAgICAgICAgICAxMDQsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDEwMFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJhdXRob3JpdHlcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYXJnXCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicXVldWVJZFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJhdXRob3JpdHlcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlSWRcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjcmVhdGVNb2NrUGxheWVyXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxNjgsXG4gICAgICAgIDIzLFxuICAgICAgICAyNTUsXG4gICAgICAgIDExMixcbiAgICAgICAgOTMsXG4gICAgICAgIDQyLFxuICAgICAgICA1OCxcbiAgICAgICAgMjIzXG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwbGF5ZXJBY2NvdW50XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImVsb1wiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImRlbGVnYXRlUXVldWVcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDMxLFxuICAgICAgICAyMDAsXG4gICAgICAgIDEzOSxcbiAgICAgICAgMTI1LFxuICAgICAgICA5MyxcbiAgICAgICAgMjM5LFxuICAgICAgICA4MyxcbiAgICAgICAgODdcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImJ1ZmZlclBkYVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICA5OCxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMixcbiAgICAgICAgICAgICAgICAgIDEwMixcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwZGFcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJwcm9ncmFtXCI6IHtcbiAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgMTg2LFxuICAgICAgICAgICAgICAgIDc1LFxuICAgICAgICAgICAgICAgIDEzNyxcbiAgICAgICAgICAgICAgICAyMTUsXG4gICAgICAgICAgICAgICAgMjQxLFxuICAgICAgICAgICAgICAgIDE5MSxcbiAgICAgICAgICAgICAgICA4MyxcbiAgICAgICAgICAgICAgICAxMjksXG4gICAgICAgICAgICAgICAgNTcsXG4gICAgICAgICAgICAgICAgMTI2LFxuICAgICAgICAgICAgICAgIDIzNixcbiAgICAgICAgICAgICAgICAxMzEsXG4gICAgICAgICAgICAgICAgMjQxLFxuICAgICAgICAgICAgICAgIDk4LFxuICAgICAgICAgICAgICAgIDExNixcbiAgICAgICAgICAgICAgICAzMixcbiAgICAgICAgICAgICAgICAyNTUsXG4gICAgICAgICAgICAgICAgOTQsXG4gICAgICAgICAgICAgICAgMjA3LFxuICAgICAgICAgICAgICAgIDE4OSxcbiAgICAgICAgICAgICAgICAxMjYsXG4gICAgICAgICAgICAgICAgMjQ0LFxuICAgICAgICAgICAgICAgIDQwLFxuICAgICAgICAgICAgICAgIDI1MixcbiAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgNzEsXG4gICAgICAgICAgICAgICAgMzQsXG4gICAgICAgICAgICAgICAgMzMsXG4gICAgICAgICAgICAgICAgNTAsXG4gICAgICAgICAgICAgICAgMTg4LFxuICAgICAgICAgICAgICAgIDUzLFxuICAgICAgICAgICAgICAgIDM4XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJkZWxlZ2F0aW9uUmVjb3JkUGRhXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDEwMCxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDEwMyxcbiAgICAgICAgICAgICAgICAgIDk3LFxuICAgICAgICAgICAgICAgICAgMTE2LFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTEwXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBkYVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInByb2dyYW1cIjoge1xuICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgIFwicGF0aFwiOiBcImRlbGVnYXRpb25Qcm9ncmFtXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJkZWxlZ2F0aW9uTWV0YWRhdGFQZGFcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTA4LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTAzLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMTYsXG4gICAgICAgICAgICAgICAgICAxMDUsXG4gICAgICAgICAgICAgICAgICAxMTEsXG4gICAgICAgICAgICAgICAgICAxMTAsXG4gICAgICAgICAgICAgICAgICA0NSxcbiAgICAgICAgICAgICAgICAgIDEwOSxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNixcbiAgICAgICAgICAgICAgICAgIDk3LFxuICAgICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMTYsXG4gICAgICAgICAgICAgICAgICA5N1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwZGFcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJwcm9ncmFtXCI6IHtcbiAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICBcInBhdGhcIjogXCJkZWxlZ2F0aW9uUHJvZ3JhbVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGRhXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDQ1LFxuICAgICAgICAgICAgICAgICAgMTA0LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMDBcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwiYXV0aG9yaXR5XCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFyZ1wiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInF1ZXVlSWRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGF5ZXJcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidmFsaWRhdG9yXCIsXG4gICAgICAgICAgXCJvcHRpb25hbFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJvd25lclByb2dyYW1cIixcbiAgICAgICAgICBcImFkZHJlc3NcIjogXCJEWURlMlZDckZqenh5OXp1b3ZHZXVtNjdrWXlicjY1RzZaYnh0OWdQSlAxZlwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJkZWxlZ2F0aW9uUHJvZ3JhbVwiLFxuICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIkRFTGVHR3ZYcFdWMmZxSlVocWNGNVpTWU1TNEpUTGp0ZWFBTUFSUlNhZVNoXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInN5c3RlbVByb2dyYW1cIixcbiAgICAgICAgICBcImFkZHJlc3NcIjogXCIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVJZFwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImluaXRpYWxpemVQYWdlXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyNixcbiAgICAgICAgMTI4LFxuICAgICAgICA4LFxuICAgICAgICAyMDEsXG4gICAgICAgIDE5NixcbiAgICAgICAgNTgsXG4gICAgICAgIDc0LFxuICAgICAgICA3NFxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhZ2VcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEyLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMDMsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicXVldWVcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYXJnXCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhZ2VJbmRleFwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImluaXRpYWxpemVRdWV1ZVwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMTc0LFxuICAgICAgICAxMDIsXG4gICAgICAgIDEzMixcbiAgICAgICAgMjMyLFxuICAgICAgICA5MCxcbiAgICAgICAgMjAyLFxuICAgICAgICAyNyxcbiAgICAgICAgMjBcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDQ1LFxuICAgICAgICAgICAgICAgICAgMTA0LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMDBcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwiYXV0aG9yaXR5XCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFyZ1wiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInF1ZXVlSWRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidGVuYW50UHJvZ3JhbUlkXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlSWRcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiY29uZmlnXCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlQ29uZmlnXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJjYXBhY2l0eVwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInUxNlwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwYWdlU2l6ZVwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInU4XCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiam9pblF1ZXVlXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxNTcsXG4gICAgICAgIDExNSxcbiAgICAgICAgNDgsXG4gICAgICAgIDEwOSxcbiAgICAgICAgNjUsXG4gICAgICAgIDg2LFxuICAgICAgICAyMDMsXG4gICAgICAgIDIzOFxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhZ2VcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllclN0YXR1c1wiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICAxMTYsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNixcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDExNVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwbGF5ZXJHYW1lQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwbGF5ZXJBdXRob3JpdHlcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyR2FtZUFjY291bnRcIixcbiAgICAgICAgICBcImRvY3NcIjogW1xuICAgICAgICAgICAgXCJUaGUgYWNjb3VudCBjb250YWluaW5nIEVMTyBkYXRhXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ0ZW5hbnRQcm9ncmFtXCIsXG4gICAgICAgICAgXCJkb2NzXCI6IFtcbiAgICAgICAgICAgIFwiTVVTVCBtYXRjaCB0aGUgcXVldWUudGVuYW50X3Byb2dyYW1faWQuXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJwcm9jZXNzTWF0Y2hcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDEzOSxcbiAgICAgICAgNTgsXG4gICAgICAgIDc3LFxuICAgICAgICAxMDEsXG4gICAgICAgIDQ2LFxuICAgICAgICA1NCxcbiAgICAgICAgMjAyLFxuICAgICAgICAxNDBcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlQWNjb3VudFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGFnZVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTIsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDEwMyxcbiAgICAgICAgICAgICAgICAgIDEwMVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJxdWV1ZUFjY291bnRcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYXJnXCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFwiYXJnc1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwYWdlSW5kZXhcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJwcm9jZXNzVW5kZWxlZ2F0aW9uXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxOTYsXG4gICAgICAgIDI4LFxuICAgICAgICA0MSxcbiAgICAgICAgMjA2LFxuICAgICAgICA0OCxcbiAgICAgICAgMzcsXG4gICAgICAgIDUxLFxuICAgICAgICAxNjdcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImJhc2VBY2NvdW50XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJidWZmZXJcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGF5ZXJcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInN5c3RlbVByb2dyYW1cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImFjY291bnRTZWVkc1wiLFxuICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICBcInZlY1wiOiBcImJ5dGVzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInJlc2l6ZVF1ZXVlXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxNDAsXG4gICAgICAgIDE0NSxcbiAgICAgICAgMjI2LFxuICAgICAgICAyMzYsXG4gICAgICAgIDcxLFxuICAgICAgICAxMDMsXG4gICAgICAgIDIzMCxcbiAgICAgICAgMTA1XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJxdWV1ZVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZSxcbiAgICAgICAgICBcInJlbGF0aW9uc1wiOiBbXG4gICAgICAgICAgICBcInF1ZXVlXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibmV3Q2FwYWNpdHlcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJ1MTZcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJ1bmxvY2tQbGF5ZXJcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDIyNixcbiAgICAgICAgNDEsXG4gICAgICAgIDc2LFxuICAgICAgICAxNyxcbiAgICAgICAgMjUzLFxuICAgICAgICA5LFxuICAgICAgICA4MixcbiAgICAgICAgMTg4XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJxdWV1ZVwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJhdXRob3JpdHlcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyU3RhdHVzXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExNSxcbiAgICAgICAgICAgICAgICAgIDExNixcbiAgICAgICAgICAgICAgICAgIDk3LFxuICAgICAgICAgICAgICAgICAgMTE2LFxuICAgICAgICAgICAgICAgICAgMTE3LFxuICAgICAgICAgICAgICAgICAgMTE1XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBsYXllckdhbWVBY2NvdW50XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllclwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyR2FtZUFjY291bnRcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtdXG4gICAgfVxuICBdLFxuICBcImFjY291bnRzXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJtb2NrUGxheWVyXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxMjgsXG4gICAgICAgIDIwNSxcbiAgICAgICAgMTksXG4gICAgICAgIDIxNyxcbiAgICAgICAgMjM4LFxuICAgICAgICAxNTAsXG4gICAgICAgIDE4LFxuICAgICAgICAyNTVcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBsYXllclN0YXR1c1wiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMjgsXG4gICAgICAgIDEyMixcbiAgICAgICAgMTI1LFxuICAgICAgICAxMjQsXG4gICAgICAgIDE2NyxcbiAgICAgICAgMTQzLFxuICAgICAgICAyMTYsXG4gICAgICAgIDE3NlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicXVldWVIZWFkXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyNTIsXG4gICAgICAgIDI0NSxcbiAgICAgICAgOSxcbiAgICAgICAgMTQ5LFxuICAgICAgICAxOCxcbiAgICAgICAgMzUsXG4gICAgICAgIDIxMCxcbiAgICAgICAgMTQyXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJxdWV1ZVBhZ2VcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDQ0LFxuICAgICAgICA5LFxuICAgICAgICAyNTQsXG4gICAgICAgIDEwOCxcbiAgICAgICAgMTIxLFxuICAgICAgICAyMjUsXG4gICAgICAgIDgwLFxuICAgICAgICA2OVxuICAgICAgXVxuICAgIH1cbiAgXSxcbiAgXCJldmVudHNcIjogW1xuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1hdGNoRm91bmRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDczLFxuICAgICAgICAxNjEsXG4gICAgICAgIDcwLFxuICAgICAgICAxNDUsXG4gICAgICAgIDIzMixcbiAgICAgICAgMjQ5LFxuICAgICAgICA3MixcbiAgICAgICAgMjExXG4gICAgICBdXG4gICAgfVxuICBdLFxuICBcImVycm9yc1wiOiBbXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDAsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkQWNjb3VudE93bmVyXCIsXG4gICAgICBcIm1zZ1wiOiBcIkFjY291bnQgb3duZXIgaXMgaW52YWxpZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwMSxcbiAgICAgIFwibmFtZVwiOiBcInF1ZXVlRnVsbFwiLFxuICAgICAgXCJtc2dcIjogXCJRdWV1ZSBpcyBmdWxsXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDAyLFxuICAgICAgXCJuYW1lXCI6IFwiYWNjb3VudFRvb1NtYWxsXCIsXG4gICAgICBcIm1zZ1wiOiBcIkFjY291bnQgZGF0YSB0b28gc21hbGwgZm9yIEVMTyBvZmZzZXRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDMsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkRWxvVHlwZVwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIEVMTyB0eXBlIGNvbmZpZ3VyYXRpb25cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDQsXG4gICAgICBcIm5hbWVcIjogXCJpbmRleE91dE9mQm91bmRzXCIsXG4gICAgICBcIm1zZ1wiOiBcIlBhZ2UgaW5kZXggb3V0IG9mIGJvdW5kc1wiXG4gICAgfVxuICBdLFxuICBcInR5cGVzXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJtYXRjaEZvdW5kXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyQVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllckJcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJlbG9BXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZWxvQlwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1vY2tQbGF5ZXJcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZWxvXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicGxheWVyRW50cnlcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImVsb1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImpvaW5lZEF0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJpNjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicGxheWVyU3RhdHVzXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllclwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiaW5NYXRjaFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJqb2luZWRBdFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImJ1bXBcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU4XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInF1ZXVlQ29uZmlnXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1hdGNoVGhyZXNob2xkXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MzJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwic2VhcmNoV2luZG93XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MzJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwicmVzZXJ2ZWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiYXJyYXlcIjogW1xuICAgICAgICAgICAgICAgIFwidThcIixcbiAgICAgICAgICAgICAgICA2NFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJxdWV1ZUhlYWRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwidGVuYW50UHJvZ3JhbUlkXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY29uZmlnXCIsXG4gICAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlQ29uZmlnXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY2FwYWNpdHlcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInUxNlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJwYWdlU2l6ZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidThcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwid3JpdGVQYWdlSW5kZXhcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJyZWFkUGFnZUluZGV4XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYnVtcFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidThcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicXVldWVQYWdlXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllcnNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwidmVjXCI6IHtcbiAgICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyRW50cnlcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXVxufTtcbiJdfQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export * from "./admin";
|
|
2
|
-
export * from "./player";
|
|
3
|
-
export * from "./types";
|
|
1
|
+
export * from "./admin.js";
|
|
2
|
+
export * from "./player.js";
|
|
3
|
+
export * from "./types.js";
|
|
4
|
+
export * as utils from "./utils.js";
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./admin"), exports);
|
|
18
|
-
__exportStar(require("./player"), exports);
|
|
19
|
-
__exportStar(require("./types"), exports);
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF3QjtBQUN4QiwyQ0FBeUI7QUFDekIsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYWRtaW5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYXllclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
|
|
1
|
+
export * from "./admin.js";
|
|
2
|
+
export * from "./player.js";
|
|
3
|
+
export * from "./types.js";
|
|
4
|
+
export * as utils from "./utils.js";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hZG1pbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxheWVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy5qc1wiO1xuZXhwb3J0ICogYXMgdXRpbHMgZnJvbSBcIi4vdXRpbHMuanNcIjtcbiJdfQ==
|
package/dist/player.d.ts
CHANGED
|
@@ -1,12 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
/// <reference types="bn.js" />
|
|
2
|
+
import * as anchor from "@coral-xyz/anchor";
|
|
3
|
+
import * as web3 from "@solana/web3.js";
|
|
4
|
+
import type { Duel } from "./types.js";
|
|
4
5
|
export declare class MatchmakingPlayer {
|
|
5
|
-
program: Program<Duel>;
|
|
6
|
-
provider: AnchorProvider;
|
|
7
|
-
constructor(provider: AnchorProvider, programId
|
|
6
|
+
program: anchor.Program<Duel>;
|
|
7
|
+
provider: anchor.AnchorProvider;
|
|
8
|
+
constructor(provider: anchor.AnchorProvider, programId: web3.PublicKey | string);
|
|
8
9
|
/**
|
|
9
|
-
*
|
|
10
|
+
* Derive MatchTicket PDA
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
+
getTicketPda(player: web3.PublicKey, tenant: web3.PublicKey): web3.PublicKey;
|
|
13
|
+
/**
|
|
14
|
+
* Fetch MatchTicket account data
|
|
15
|
+
*/
|
|
16
|
+
getTicket(ticketPda: web3.PublicKey): Promise<any>;
|
|
17
|
+
/**
|
|
18
|
+
* Create MatchTicket PDA on L1
|
|
19
|
+
*/
|
|
20
|
+
createTicket(tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
21
|
+
/**
|
|
22
|
+
* Delegate ticket into TEE (becomes invisible on L1)
|
|
23
|
+
*/
|
|
24
|
+
delegateTicket(player: web3.PublicKey, tenant: web3.PublicKey, validator?: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
25
|
+
/**
|
|
26
|
+
* Join Queue (TEE Aware) - now requires ticket
|
|
27
|
+
*/
|
|
28
|
+
joinQueue(queue: web3.PublicKey, tenant: web3.PublicKey, playerData: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
29
|
+
/**
|
|
30
|
+
* Cancel search, marks ticket as Cancelled (runs in TEE)
|
|
31
|
+
*/
|
|
32
|
+
cancelTicket(tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
33
|
+
/**
|
|
34
|
+
* Close ticket and reclaim rent (L1, after match consumed or cancelled)
|
|
35
|
+
*/
|
|
36
|
+
closeTicket(tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
|
|
37
|
+
/**
|
|
38
|
+
* Wait for match by subscribing to ticket PDA changes on L1.
|
|
39
|
+
* Returns match info when ticket status changes to Matched.
|
|
40
|
+
*/
|
|
41
|
+
waitForMatch(ticketPda: web3.PublicKey, connection: web3.Connection, timeoutMs?: number): Promise<{
|
|
42
|
+
opponent: web3.PublicKey;
|
|
43
|
+
matchId: anchor.BN;
|
|
44
|
+
} | null>;
|
|
45
|
+
/**
|
|
46
|
+
* Poll L1 for ticket status (fallback for environments without websocket)
|
|
47
|
+
*/
|
|
48
|
+
pollForMatch(ticketPda: web3.PublicKey, connection: web3.Connection, maxAttempts?: number, pollInterval?: number, signal?: AbortSignal): Promise<{
|
|
49
|
+
opponent: web3.PublicKey;
|
|
50
|
+
matchId: anchor.BN;
|
|
51
|
+
} | null>;
|
|
12
52
|
}
|