@bitgo-beta/sdk-coin-sol 7.6.4-beta.443 → 7.6.4-beta.445
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/cjs/src/lib/ataInitializationBuilder.d.ts.map +1 -1
- package/dist/cjs/src/lib/ataInitializationBuilder.js +16 -12
- package/dist/cjs/src/lib/tokenTransferBuilder.d.ts.map +1 -1
- package/dist/cjs/src/lib/tokenTransferBuilder.js +28 -22
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/lib/ataInitializationBuilder.d.ts.map +1 -1
- package/dist/esm/lib/ataInitializationBuilder.js +16 -12
- package/dist/esm/lib/tokenTransferBuilder.d.ts.map +1 -1
- package/dist/esm/lib/tokenTransferBuilder.js +28 -22
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ataInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/ataInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAA+C,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAW,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAW3D,qBAAa,wBAAyB,SAAQ,kBAAkB;IAE9D,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,yBAAyB,CAA4B;gBAEjD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAgBlC;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAc7B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1B;;;;;OAKG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;;OAMG;IAEH,WAAW,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ataInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/ataInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAA+C,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAW,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAW3D,qBAAa,wBAAyB,SAAQ,kBAAkB;IAE9D,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,yBAAyB,CAA4B;gBAEjD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAgBlC;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAc7B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1B;;;;;OAKG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;;OAMG;IAEH,WAAW,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI;IA+BrD,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAoD5D"}
|
|
@@ -91,16 +91,18 @@ export class AtaInitializationBuilder extends TransactionBuilder {
|
|
|
91
91
|
throw new DuplicateMethodError('Invalid method: single mint already used');
|
|
92
92
|
}
|
|
93
93
|
validateOwnerAddress(recipient.ownerAddress);
|
|
94
|
-
const token = getSolTokenFromTokenName(recipient.tokenName);
|
|
95
94
|
let tokenAddress;
|
|
96
95
|
if (recipient.tokenAddress) {
|
|
97
96
|
tokenAddress = recipient.tokenAddress;
|
|
98
97
|
}
|
|
99
|
-
else if (token) {
|
|
100
|
-
tokenAddress = token.tokenAddress;
|
|
101
|
-
}
|
|
102
98
|
else {
|
|
103
|
-
|
|
99
|
+
const token = getSolTokenFromTokenName(recipient.tokenName);
|
|
100
|
+
if (token) {
|
|
101
|
+
tokenAddress = token.tokenAddress;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
throw new BuildTransactionError('Invalid transaction: invalid token name, got: ' + recipient.tokenName);
|
|
105
|
+
}
|
|
104
106
|
}
|
|
105
107
|
validateMintAddress(tokenAddress);
|
|
106
108
|
this._tokenAssociateRecipients.push(recipient);
|
|
@@ -119,19 +121,21 @@ export class AtaInitializationBuilder extends TransactionBuilder {
|
|
|
119
121
|
}
|
|
120
122
|
this._instructionsData = [];
|
|
121
123
|
await Promise.all(this._tokenAssociateRecipients.map(async (recipient) => {
|
|
122
|
-
const token = getSolTokenFromTokenName(recipient.tokenName);
|
|
123
124
|
let tokenAddress;
|
|
124
125
|
let programId;
|
|
125
126
|
if (recipient.tokenAddress && recipient.programId) {
|
|
126
127
|
tokenAddress = recipient.tokenAddress;
|
|
127
128
|
programId = recipient.programId;
|
|
128
129
|
}
|
|
129
|
-
else if (token) {
|
|
130
|
-
tokenAddress = token.tokenAddress;
|
|
131
|
-
programId = token.programId;
|
|
132
|
-
}
|
|
133
130
|
else {
|
|
134
|
-
|
|
131
|
+
const token = getSolTokenFromTokenName(recipient.tokenName);
|
|
132
|
+
if (token) {
|
|
133
|
+
tokenAddress = token.tokenAddress;
|
|
134
|
+
programId = token.programId;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
throw new BuildTransactionError('Invalid transaction: invalid token name, got: ' + recipient.tokenName);
|
|
138
|
+
}
|
|
135
139
|
}
|
|
136
140
|
// Use the provided ataAddress if it exists, otherwise calculate it
|
|
137
141
|
let ataPk = recipient.ataAddress;
|
|
@@ -153,4 +157,4 @@ export class AtaInitializationBuilder extends TransactionBuilder {
|
|
|
153
157
|
return await super.buildImplementation();
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixvQkFBb0IsR0FDckIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFTOUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxlQUFlLENBQUMsb0NBQW9DLENBQUM7SUFDOUQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDcEMsS0FBSyxNQUFNLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUs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ZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIER1cGxpY2F0ZU1ldGhvZEVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQXRhSW5pdCwgVG9rZW5Bc3NvY2lhdGVSZWNpcGllbnQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEluc3RydWN0aW9uQnVpbGRlclR5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QXNzb2NpYXRlZFRva2VuQWNjb3VudEFkZHJlc3MsXG4gIGdldFNvbFRva2VuRnJvbVRva2VuTmFtZSxcbiAgdmFsaWRhdGVNaW50QWRkcmVzcyxcbiAgdmFsaWRhdGVPd25lckFkZHJlc3MsXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY2xhc3MgQXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgLy8gQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIF90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMgZmllbGQgaW5zdGVhZFxuICBwcml2YXRlIF90b2tlbk5hbWU6IHN0cmluZztcbiAgLy8gQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIF90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMgZmllbGQgaW5zdGVhZFxuICBwcml2YXRlIF9taW50OiBzdHJpbmc7XG4gIC8vIEBkZXByZWNhdGVkIC0gVXNlIHRoZSBfdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzIGZpZWxkIGluc3RlYWRcbiAgcHJpdmF0ZSBfb3duZXI6IHN0cmluZztcbiAgcHJpdmF0ZSBfdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzOiBUb2tlbkFzc29jaWF0ZVJlY2lwaWVudFtdO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzID0gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5DcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IGF0YUluaXRJbnN0cnVjdGlvbjogQXRhSW5pdCA9IGluc3RydWN0aW9uO1xuICAgICAgICB0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMucHVzaCh7XG4gICAgICAgICAgb3duZXJBZGRyZXNzOiBhdGFJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLm93bmVyQWRkcmVzcyxcbiAgICAgICAgICB0b2tlbk5hbWU6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMudG9rZW5OYW1lLFxuICAgICAgICAgIHRva2VuQWRkcmVzczogYXRhSW5pdEluc3RydWN0aW9uLnBhcmFtcy5taW50QWRkcmVzcyxcbiAgICAgICAgICBwcm9ncmFtSWQ6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMucHJvZ3JhbUlkLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIGVuYWJsZVRva2VuIG1ldGhvZCBpbnN0ZWFkXG4gICAqIFNldHMgdGhlIG1pbnQgYWRkcmVzcyBvZiB0aGUgYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gICAqXG4gICAqIEBwYXJhbSB0b2tlbk5hbWUgbmFtZSBvZiB0aGUgdG9rZW5cbiAgICovXG4gIG1pbnQodG9rZW5OYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVNZXRob2RFcnJvcignSW52YWxpZCBtZXRob2Q6IGVuYWJsZVRva2VuIGFscmVhZHkgdXNlZCcpO1xuICAgIH1cbiAgICBjb25zdCB0b2tlbiA9IGdldFNvbFRva2VuRnJvbVRva2VuTmFtZSh0b2tlbk5hbWUpO1xuICAgIGlmICghdG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IGludmFsaWQgdG9rZW4gbmFtZSwgZ290OiAnICsgdG9rZW5OYW1lKTtcbiAgICB9XG4gICAgdGhpcy5fbWludCA9IHRva2VuLnRva2VuQWRkcmVzcztcbiAgICB0aGlzLl90b2tlbk5hbWUgPSB0b2tlbi5uYW1lO1xuICAgIHZhbGlkYXRlTWludEFkZHJlc3ModGhpcy5fbWludCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIGVuYWJsZVRva2VuIG1ldGhvZCBpbnN0ZWFkXG4gICAqIFNldHMgdGhlIG93bmVyIGFkZHJlc3Mgb2YgdGhlIGFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudFxuICAgKlxuICAgKiBAcGFyYW0gb3duZXIgb3duZXIgYWRkcmVzcyBvZiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnRcbiAgICovXG4gIG93bmVyKG93bmVyOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVNZXRob2RFcnJvcignSW52YWxpZCBtZXRob2Q6IGVuYWJsZVRva2VuIGFscmVhZHkgdXNlZCcpO1xuICAgIH1cbiAgICB0aGlzLl9vd25lciA9IG93bmVyO1xuICAgIHZhbGlkYXRlT3duZXJBZGRyZXNzKG93bmVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIFVzZSB0aGUgYXNzb2NpYXRlZFRva2VuQWNjb3VudFJlbnQgbWV0aG9kIGluc3RlYWRcbiAgICogVXNlZCB0byBzZXQgdGhlIG1pbmltdW0gcmVudCBleGVtcHQgYW1vdW50XG4gICAqXG4gICAqIEBwYXJhbSByZW50RXhlbXB0QW1vdW50IG1pbmltdW0gcmVudCBleGVtcHQgYW1vdW50IGluIGxhbXBvcnRzXG4gICAqL1xuICByZW50RXhlbXB0QW1vdW50KHJlbnRFeGVtcHRBbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHJldHVybiBzdXBlci5hc3NvY2lhdGVkVG9rZW5BY2NvdW50UmVudChyZW50RXhlbXB0QW1vdW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGZvciBhZGRpbmcgdG9rZW4gYXNzb2NpYXRpb24gcmVjaXBpZW50cyBjb25zaXN0aW5nXG4gICAqICAxLiBvd25lckFkZHJlc3M6IG93bmVyIG9mIHRoZSB0b2tlbiBhZGRyZXNzXG4gICAqICAyLiB0b2tlbk5hbWU6IHRoZSBuYW1lIG9mIHRva2VuIGVuYWJsZWQgdGhhdCBpcyBzdXBwb3J0ZWQgYnkgQml0R29cbiAgICpcbiAgICogIEBwYXJhbSBUb2tlbkFzc29jaWF0ZVJlY2lwaWVudCB0b2tlbiBhc3NvY2lhdGUgcmVjaXBpZW50IGluZm9cbiAgICovXG5cbiAgZW5hYmxlVG9rZW4ocmVjaXBpZW50OiBUb2tlbkFzc29jaWF0ZVJlY2lwaWVudCk6IHRoaXMge1xuICAgIGlmICh0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMuc29tZSgodG9rZW5Bc3NvY2lhdGUpID0+IF8uaXNFcXVhbCh0b2tlbkFzc29jaWF0ZSwgcmVjaXBpZW50KSkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgICdJbnZhbGlkIHRyYW5zYWN0aW9uOiBpbnZhbGlkIGR1cGxpY2F0ZSByZWNpcGllbnRzLCBnb3Q6IG93bmVyICcgK1xuICAgICAgICAgIHJlY2lwaWVudC5vd25lckFkZHJlc3MgK1xuICAgICAgICAgICcgYW5kIHRva2VuTmFtZSAnICtcbiAgICAgICAgICByZWNpcGllbnQudG9rZW5OYW1lICtcbiAgICAgICAgICAnIHR3aWNlJ1xuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3Rva2VuTmFtZSB8fCB0aGlzLl9taW50KSB7XG4gICAgICB0aHJvdyBuZXcgRHVwbGljYXRlTWV0aG9kRXJyb3IoJ0ludmFsaWQgbWV0aG9kOiBzaW5nbGUgbWludCBhbHJlYWR5IHVzZWQnKTtcbiAgICB9XG4gICAgdmFsaWRhdGVPd25lckFkZHJlc3MocmVjaXBpZW50Lm93bmVyQWRkcmVzcyk7XG4gICAgY29uc3QgdG9rZW4gPSBnZXRTb2xUb2tlbkZyb21Ub2tlbk5hbWUocmVjaXBpZW50LnRva2VuTmFtZSk7XG4gICAgbGV0IHRva2VuQWRkcmVzczogc3RyaW5nO1xuICAgIGlmIChyZWNpcGllbnQudG9rZW5BZGRyZXNzKSB7XG4gICAgICB0b2tlbkFkZHJlc3MgPSByZWNpcGllbnQudG9rZW5BZGRyZXNzO1xuICAgIH0gZWxzZSBpZiAodG9rZW4pIHtcbiAgICAgIHRva2VuQWRkcmVzcyA9IHRva2VuLnRva2VuQWRkcmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogaW52YWxpZCB0b2tlbiBuYW1lLCBnb3Q6ICcgKyByZWNpcGllbnQudG9rZW5OYW1lKTtcbiAgICB9XG4gICAgdmFsaWRhdGVNaW50QWRkcmVzcyh0b2tlbkFkZHJlc3MpO1xuXG4gICAgdGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLnB1c2gocmVjaXBpZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgJ1NlbmRlciBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgaWYgKHRoaXMuX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGFzc2VydCh0aGlzLl9taW50ICYmIHRoaXMuX3Rva2VuTmFtZSwgJ01pbnQgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgICAgdGhpcy5fb3duZXIgPSB0aGlzLl9vd25lciB8fCB0aGlzLl9zZW5kZXI7XG5cbiAgICAgIHRoaXMuX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cy5wdXNoKHtcbiAgICAgICAgb3duZXJBZGRyZXNzOiB0aGlzLl9vd25lcixcbiAgICAgICAgdG9rZW5OYW1lOiB0aGlzLl90b2tlbk5hbWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhID0gW107XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMubWFwKGFzeW5jIChyZWNpcGllbnQpID0+IHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRTb2xUb2tlbkZyb21Ub2tlbk5hbWUocmVjaXBpZW50LnRva2VuTmFtZSk7XG4gICAgICAgIGxldCB0b2tlbkFkZHJlc3M6IHN0cmluZztcbiAgICAgICAgbGV0IHByb2dyYW1JZDogc3RyaW5nO1xuICAgICAgICBpZiAocmVjaXBpZW50LnRva2VuQWRkcmVzcyAmJiByZWNpcGllbnQucHJvZ3JhbUlkKSB7XG4gICAgICAgICAgdG9rZW5BZGRyZXNzID0gcmVjaXBpZW50LnRva2VuQWRkcmVzcztcbiAgICAgICAgICBwcm9ncmFtSWQgPSByZWNpcGllbnQucHJvZ3JhbUlkO1xuICAgICAgICB9IGVsc2UgaWYgKHRva2VuKSB7XG4gICAgICAgICAgdG9rZW5BZGRyZXNzID0gdG9rZW4udG9rZW5BZGRyZXNzO1xuICAgICAgICAgIHByb2dyYW1JZCA9IHRva2VuLnByb2dyYW1JZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBpbnZhbGlkIHRva2VuIG5hbWUsIGdvdDogJyArIHJlY2lwaWVudC50b2tlbk5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXNlIHRoZSBwcm92aWRlZCBhdGFBZGRyZXNzIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIGNhbGN1bGF0ZSBpdFxuICAgICAgICBsZXQgYXRhUGsgPSByZWNpcGllbnQuYXRhQWRkcmVzcztcbiAgICAgICAgaWYgKCFhdGFQaykge1xuICAgICAgICAgIGF0YVBrID0gYXdhaXQgZ2V0QXNzb2NpYXRlZFRva2VuQWNjb3VudEFkZHJlc3ModG9rZW5BZGRyZXNzLCByZWNpcGllbnQub3duZXJBZGRyZXNzLCBmYWxzZSwgcHJvZ3JhbUlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEucHVzaCh7XG4gICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIG1pbnRBZGRyZXNzOiB0b2tlbkFkZHJlc3MsXG4gICAgICAgICAgICBhdGFBZGRyZXNzOiBhdGFQayxcbiAgICAgICAgICAgIG93bmVyQWRkcmVzczogcmVjaXBpZW50Lm93bmVyQWRkcmVzcyxcbiAgICAgICAgICAgIHBheWVyQWRkcmVzczogdGhpcy5fc2VuZGVyLFxuICAgICAgICAgICAgdG9rZW5OYW1lOiByZWNpcGllbnQudG9rZW5OYW1lLFxuICAgICAgICAgICAgcHJvZ3JhbUlkOiBwcm9ncmFtSWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG59XG4iXX0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hdGFJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixvQkFBb0IsR0FDckIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFTOUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxlQUFlLENBQUMsb0NBQW9DLENBQUM7SUFDOUQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDcEMsS0FBSyxNQUFNLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUs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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIER1cGxpY2F0ZU1ldGhvZEVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQXRhSW5pdCwgVG9rZW5Bc3NvY2lhdGVSZWNpcGllbnQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEluc3RydWN0aW9uQnVpbGRlclR5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QXNzb2NpYXRlZFRva2VuQWNjb3VudEFkZHJlc3MsXG4gIGdldFNvbFRva2VuRnJvbVRva2VuTmFtZSxcbiAgdmFsaWRhdGVNaW50QWRkcmVzcyxcbiAgdmFsaWRhdGVPd25lckFkZHJlc3MsXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY2xhc3MgQXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgLy8gQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIF90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMgZmllbGQgaW5zdGVhZFxuICBwcml2YXRlIF90b2tlbk5hbWU6IHN0cmluZztcbiAgLy8gQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIF90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMgZmllbGQgaW5zdGVhZFxuICBwcml2YXRlIF9taW50OiBzdHJpbmc7XG4gIC8vIEBkZXByZWNhdGVkIC0gVXNlIHRoZSBfdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzIGZpZWxkIGluc3RlYWRcbiAgcHJpdmF0ZSBfb3duZXI6IHN0cmluZztcbiAgcHJpdmF0ZSBfdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzOiBUb2tlbkFzc29jaWF0ZVJlY2lwaWVudFtdO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzID0gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5DcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IGF0YUluaXRJbnN0cnVjdGlvbjogQXRhSW5pdCA9IGluc3RydWN0aW9uO1xuICAgICAgICB0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMucHVzaCh7XG4gICAgICAgICAgb3duZXJBZGRyZXNzOiBhdGFJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLm93bmVyQWRkcmVzcyxcbiAgICAgICAgICB0b2tlbk5hbWU6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMudG9rZW5OYW1lLFxuICAgICAgICAgIHRva2VuQWRkcmVzczogYXRhSW5pdEluc3RydWN0aW9uLnBhcmFtcy5taW50QWRkcmVzcyxcbiAgICAgICAgICBwcm9ncmFtSWQ6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMucHJvZ3JhbUlkLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIGVuYWJsZVRva2VuIG1ldGhvZCBpbnN0ZWFkXG4gICAqIFNldHMgdGhlIG1pbnQgYWRkcmVzcyBvZiB0aGUgYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gICAqXG4gICAqIEBwYXJhbSB0b2tlbk5hbWUgbmFtZSBvZiB0aGUgdG9rZW5cbiAgICovXG4gIG1pbnQodG9rZW5OYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVNZXRob2RFcnJvcignSW52YWxpZCBtZXRob2Q6IGVuYWJsZVRva2VuIGFscmVhZHkgdXNlZCcpO1xuICAgIH1cbiAgICBjb25zdCB0b2tlbiA9IGdldFNvbFRva2VuRnJvbVRva2VuTmFtZSh0b2tlbk5hbWUpO1xuICAgIGlmICghdG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IGludmFsaWQgdG9rZW4gbmFtZSwgZ290OiAnICsgdG9rZW5OYW1lKTtcbiAgICB9XG4gICAgdGhpcy5fbWludCA9IHRva2VuLnRva2VuQWRkcmVzcztcbiAgICB0aGlzLl90b2tlbk5hbWUgPSB0b2tlbi5uYW1lO1xuICAgIHZhbGlkYXRlTWludEFkZHJlc3ModGhpcy5fbWludCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBVc2UgdGhlIGVuYWJsZVRva2VuIG1ldGhvZCBpbnN0ZWFkXG4gICAqIFNldHMgdGhlIG93bmVyIGFkZHJlc3Mgb2YgdGhlIGFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudFxuICAgKlxuICAgKiBAcGFyYW0gb3duZXIgb3duZXIgYWRkcmVzcyBvZiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnRcbiAgICovXG4gIG93bmVyKG93bmVyOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVNZXRob2RFcnJvcignSW52YWxpZCBtZXRob2Q6IGVuYWJsZVRva2VuIGFscmVhZHkgdXNlZCcpO1xuICAgIH1cbiAgICB0aGlzLl9vd25lciA9IG93bmVyO1xuICAgIHZhbGlkYXRlT3duZXJBZGRyZXNzKG93bmVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIFVzZSB0aGUgYXNzb2NpYXRlZFRva2VuQWNjb3VudFJlbnQgbWV0aG9kIGluc3RlYWRcbiAgICogVXNlZCB0byBzZXQgdGhlIG1pbmltdW0gcmVudCBleGVtcHQgYW1vdW50XG4gICAqXG4gICAqIEBwYXJhbSByZW50RXhlbXB0QW1vdW50IG1pbmltdW0gcmVudCBleGVtcHQgYW1vdW50IGluIGxhbXBvcnRzXG4gICAqL1xuICByZW50RXhlbXB0QW1vdW50KHJlbnRFeGVtcHRBbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHJldHVybiBzdXBlci5hc3NvY2lhdGVkVG9rZW5BY2NvdW50UmVudChyZW50RXhlbXB0QW1vdW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGZvciBhZGRpbmcgdG9rZW4gYXNzb2NpYXRpb24gcmVjaXBpZW50cyBjb25zaXN0aW5nXG4gICAqICAxLiBvd25lckFkZHJlc3M6IG93bmVyIG9mIHRoZSB0b2tlbiBhZGRyZXNzXG4gICAqICAyLiB0b2tlbk5hbWU6IHRoZSBuYW1lIG9mIHRva2VuIGVuYWJsZWQgdGhhdCBpcyBzdXBwb3J0ZWQgYnkgQml0R29cbiAgICpcbiAgICogIEBwYXJhbSBUb2tlbkFzc29jaWF0ZVJlY2lwaWVudCB0b2tlbiBhc3NvY2lhdGUgcmVjaXBpZW50IGluZm9cbiAgICovXG5cbiAgZW5hYmxlVG9rZW4ocmVjaXBpZW50OiBUb2tlbkFzc29jaWF0ZVJlY2lwaWVudCk6IHRoaXMge1xuICAgIGlmICh0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMuc29tZSgodG9rZW5Bc3NvY2lhdGUpID0+IF8uaXNFcXVhbCh0b2tlbkFzc29jaWF0ZSwgcmVjaXBpZW50KSkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgICdJbnZhbGlkIHRyYW5zYWN0aW9uOiBpbnZhbGlkIGR1cGxpY2F0ZSByZWNpcGllbnRzLCBnb3Q6IG93bmVyICcgK1xuICAgICAgICAgIHJlY2lwaWVudC5vd25lckFkZHJlc3MgK1xuICAgICAgICAgICcgYW5kIHRva2VuTmFtZSAnICtcbiAgICAgICAgICByZWNpcGllbnQudG9rZW5OYW1lICtcbiAgICAgICAgICAnIHR3aWNlJ1xuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3Rva2VuTmFtZSB8fCB0aGlzLl9taW50KSB7XG4gICAgICB0aHJvdyBuZXcgRHVwbGljYXRlTWV0aG9kRXJyb3IoJ0ludmFsaWQgbWV0aG9kOiBzaW5nbGUgbWludCBhbHJlYWR5IHVzZWQnKTtcbiAgICB9XG4gICAgdmFsaWRhdGVPd25lckFkZHJlc3MocmVjaXBpZW50Lm93bmVyQWRkcmVzcyk7XG4gICAgbGV0IHRva2VuQWRkcmVzczogc3RyaW5nO1xuICAgIGlmIChyZWNpcGllbnQudG9rZW5BZGRyZXNzKSB7XG4gICAgICB0b2tlbkFkZHJlc3MgPSByZWNpcGllbnQudG9rZW5BZGRyZXNzO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0b2tlbiA9IGdldFNvbFRva2VuRnJvbVRva2VuTmFtZShyZWNpcGllbnQudG9rZW5OYW1lKTtcbiAgICAgIGlmICh0b2tlbikge1xuICAgICAgICB0b2tlbkFkZHJlc3MgPSB0b2tlbi50b2tlbkFkZHJlc3M7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBpbnZhbGlkIHRva2VuIG5hbWUsIGdvdDogJyArIHJlY2lwaWVudC50b2tlbk5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICB2YWxpZGF0ZU1pbnRBZGRyZXNzKHRva2VuQWRkcmVzcyk7XG5cbiAgICB0aGlzLl90b2tlbkFzc29jaWF0ZVJlY2lwaWVudHMucHVzaChyZWNpcGllbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBhc3NlcnQodGhpcy5fc2VuZGVyLCAnU2VuZGVyIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICBpZiAodGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgYXNzZXJ0KHRoaXMuX21pbnQgJiYgdGhpcy5fdG9rZW5OYW1lLCAnTWludCBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgICB0aGlzLl9vd25lciA9IHRoaXMuX293bmVyIHx8IHRoaXMuX3NlbmRlcjtcblxuICAgICAgdGhpcy5fdG9rZW5Bc3NvY2lhdGVSZWNpcGllbnRzLnB1c2goe1xuICAgICAgICBvd25lckFkZHJlc3M6IHRoaXMuX293bmVyLFxuICAgICAgICB0b2tlbk5hbWU6IHRoaXMuX3Rva2VuTmFtZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEgPSBbXTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMuX3Rva2VuQXNzb2NpYXRlUmVjaXBpZW50cy5tYXAoYXN5bmMgKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICBsZXQgdG9rZW5BZGRyZXNzOiBzdHJpbmc7XG4gICAgICAgIGxldCBwcm9ncmFtSWQ6IHN0cmluZztcbiAgICAgICAgaWYgKHJlY2lwaWVudC50b2tlbkFkZHJlc3MgJiYgcmVjaXBpZW50LnByb2dyYW1JZCkge1xuICAgICAgICAgIHRva2VuQWRkcmVzcyA9IHJlY2lwaWVudC50b2tlbkFkZHJlc3M7XG4gICAgICAgICAgcHJvZ3JhbUlkID0gcmVjaXBpZW50LnByb2dyYW1JZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB0b2tlbiA9IGdldFNvbFRva2VuRnJvbVRva2VuTmFtZShyZWNpcGllbnQudG9rZW5OYW1lKTtcbiAgICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICAgIHRva2VuQWRkcmVzcyA9IHRva2VuLnRva2VuQWRkcmVzcztcbiAgICAgICAgICAgIHByb2dyYW1JZCA9IHRva2VuLnByb2dyYW1JZDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogaW52YWxpZCB0b2tlbiBuYW1lLCBnb3Q6ICcgKyByZWNpcGllbnQudG9rZW5OYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgdGhlIHByb3ZpZGVkIGF0YUFkZHJlc3MgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgY2FsY3VsYXRlIGl0XG4gICAgICAgIGxldCBhdGFQayA9IHJlY2lwaWVudC5hdGFBZGRyZXNzO1xuICAgICAgICBpZiAoIWF0YVBrKSB7XG4gICAgICAgICAgYXRhUGsgPSBhd2FpdCBnZXRBc3NvY2lhdGVkVG9rZW5BY2NvdW50QWRkcmVzcyh0b2tlbkFkZHJlc3MsIHJlY2lwaWVudC5vd25lckFkZHJlc3MsIGZhbHNlLCBwcm9ncmFtSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YS5wdXNoKHtcbiAgICAgICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5DcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgbWludEFkZHJlc3M6IHRva2VuQWRkcmVzcyxcbiAgICAgICAgICAgIGF0YUFkZHJlc3M6IGF0YVBrLFxuICAgICAgICAgICAgb3duZXJBZGRyZXNzOiByZWNpcGllbnQub3duZXJBZGRyZXNzLFxuICAgICAgICAgICAgcGF5ZXJBZGRyZXNzOiB0aGlzLl9zZW5kZXIsXG4gICAgICAgICAgICB0b2tlbk5hbWU6IHJlY2lwaWVudC50b2tlbk5hbWUsXG4gICAgICAgICAgICBwcm9ncmFtSWQ6IHByb2dyYW1JZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,OAAO,EAAW,uBAAuB,EAAiC,MAAM,SAAS,CAAC;AAE1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,gBAAgB,CAA4B;gBAExC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IA6BlC;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,UAAU,GAAG,IAAI;IAa9F;;;;;;OAMG;IACH,4BAA4B,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,OAAO,EAAW,uBAAuB,EAAiC,MAAM,SAAS,CAAC;AAE1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,gBAAgB,CAA4B;gBAExC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IA6BlC;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,UAAU,GAAG,IAAI;IAa9F;;;;;;OAMG;IACH,4BAA4B,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI;IAmBtE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAgG5D"}
|
|
@@ -70,16 +70,18 @@ export class TokenTransferBuilder extends TransactionBuilder {
|
|
|
70
70
|
*/
|
|
71
71
|
createAssociatedTokenAccount(recipient) {
|
|
72
72
|
validateOwnerAddress(recipient.ownerAddress);
|
|
73
|
-
const token = getSolTokenFromTokenName(recipient.tokenName);
|
|
74
73
|
let tokenAddress;
|
|
75
74
|
if (recipient.tokenAddress) {
|
|
76
75
|
tokenAddress = recipient.tokenAddress;
|
|
77
76
|
}
|
|
78
|
-
else if (token) {
|
|
79
|
-
tokenAddress = token.tokenAddress;
|
|
80
|
-
}
|
|
81
77
|
else {
|
|
82
|
-
|
|
78
|
+
const token = getSolTokenFromTokenName(recipient.tokenName);
|
|
79
|
+
if (token) {
|
|
80
|
+
tokenAddress = token.tokenAddress;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
throw new BuildTransactionError('Invalid token name, got: ' + recipient.tokenName);
|
|
84
|
+
}
|
|
83
85
|
}
|
|
84
86
|
validateMintAddress(tokenAddress);
|
|
85
87
|
this._createAtaParams.push(recipient);
|
|
@@ -89,7 +91,6 @@ export class TokenTransferBuilder extends TransactionBuilder {
|
|
|
89
91
|
async buildImplementation() {
|
|
90
92
|
assert(this._sender, 'Sender must be set before building the transaction');
|
|
91
93
|
const sendInstructions = await Promise.all(this._sendParams.map(async (sendParams) => {
|
|
92
|
-
const coin = getSolTokenFromTokenName(sendParams.tokenName);
|
|
93
94
|
let tokenAddress;
|
|
94
95
|
let tokenName;
|
|
95
96
|
let programId;
|
|
@@ -100,14 +101,17 @@ export class TokenTransferBuilder extends TransactionBuilder {
|
|
|
100
101
|
programId = sendParams.programId;
|
|
101
102
|
decimals = sendParams.decimalPlaces;
|
|
102
103
|
}
|
|
103
|
-
else if (coin) {
|
|
104
|
-
tokenAddress = coin.tokenAddress;
|
|
105
|
-
tokenName = coin.name;
|
|
106
|
-
programId = coin.programId;
|
|
107
|
-
decimals = coin.decimalPlaces;
|
|
108
|
-
}
|
|
109
104
|
else {
|
|
110
|
-
|
|
105
|
+
const coin = getSolTokenFromTokenName(sendParams.tokenName);
|
|
106
|
+
if (coin) {
|
|
107
|
+
tokenAddress = coin.tokenAddress;
|
|
108
|
+
tokenName = coin.name;
|
|
109
|
+
programId = coin.programId;
|
|
110
|
+
decimals = coin.decimalPlaces;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
throw new Error(`Could not determine token information for ${sendParams.tokenName}`);
|
|
114
|
+
}
|
|
111
115
|
}
|
|
112
116
|
const sourceAddress = await getAssociatedTokenAccountAddress(tokenAddress, this._sender, false, programId);
|
|
113
117
|
return {
|
|
@@ -128,22 +132,24 @@ export class TokenTransferBuilder extends TransactionBuilder {
|
|
|
128
132
|
return recipient.ownerAddress + recipient.tokenName;
|
|
129
133
|
});
|
|
130
134
|
const createAtaInstructions = await Promise.all(uniqueCreateAtaParams.map(async (recipient) => {
|
|
131
|
-
const coin = getSolTokenFromTokenName(recipient.tokenName);
|
|
132
135
|
let tokenAddress;
|
|
133
136
|
let tokenName;
|
|
134
137
|
let programId;
|
|
135
|
-
if (
|
|
136
|
-
tokenName = coin.name;
|
|
137
|
-
tokenAddress = coin.tokenAddress;
|
|
138
|
-
programId = coin.programId;
|
|
139
|
-
}
|
|
140
|
-
else if (recipient.tokenAddress && recipient.programId) {
|
|
138
|
+
if (recipient.tokenAddress && recipient.programId) {
|
|
141
139
|
tokenName = recipient.tokenName;
|
|
142
140
|
tokenAddress = recipient.tokenAddress;
|
|
143
141
|
programId = recipient.programId;
|
|
144
142
|
}
|
|
145
143
|
else {
|
|
146
|
-
|
|
144
|
+
const coin = getSolTokenFromTokenName(recipient.tokenName);
|
|
145
|
+
if (coin) {
|
|
146
|
+
tokenName = coin.name;
|
|
147
|
+
tokenAddress = coin.tokenAddress;
|
|
148
|
+
programId = coin.programId;
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
throw new Error(`Could not determine token information for ${recipient.tokenName}`);
|
|
152
|
+
}
|
|
147
153
|
}
|
|
148
154
|
// Use the provided ataAddress if it exists, otherwise calculate it
|
|
149
155
|
let ataAddress = recipient.ataAddress;
|
|
@@ -178,4 +184,4 @@ export class TokenTransferBuilder extends TransactionBuilder {
|
|
|
178
184
|
return await super.buildImplementation();
|
|
179
185
|
}
|
|
180
186
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixvQkFBb0IsR0FDckIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFXdkIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUUzRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBSTFELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSmIsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBS3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsS0FBSyxNQUFNLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQy9ELE1BQU0sbUJB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QUFZLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDM0UsQ0FBQzthQUFNLENBQUM7WUFDTiw0RUFBNEU7WUFDNUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMseUJBQXlCLEVBQUUsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDdEcsQ0FBQztRQUNELE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBnZXRBc3NvY2lhdGVkVG9rZW5BY2NvdW50QWRkcmVzcyxcbiAgZ2V0U29sVG9rZW5Gcm9tVG9rZW5OYW1lLFxuICBpc1ZhbGlkQW1vdW50LFxuICB2YWxpZGF0ZUFkZHJlc3MsXG4gIHZhbGlkYXRlTWludEFkZHJlc3MsXG4gIHZhbGlkYXRlT3duZXJBZGRyZXNzLFxufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEluc3RydWN0aW9uQnVpbGRlclR5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQXRhSW5pdCwgVG9rZW5Bc3NvY2lhdGVSZWNpcGllbnQsIFRva2VuVHJhbnNmZXIsIFNldFByaW9yaXR5RmVlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRQYXJhbXMge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICB0b2tlbk5hbWU6IHN0cmluZztcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nO1xuICBwcm9ncmFtSWQ/OiBzdHJpbmc7XG4gIGRlY2ltYWxQbGFjZXM/OiBudW1iZXI7XG59XG5cbmNvbnN0IFVOU0lHTkVEX0JJR0lOVF9NQVggPSBCaWdJbnQoJzE4NDQ2NzQ0MDczNzA5NTUxNjE1Jyk7XG5cbmV4cG9ydCBjbGFzcyBUb2tlblRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3NlbmRQYXJhbXM6IFNlbmRQYXJhbXNbXSA9IFtdO1xuICBwcml2YXRlIF9jcmVhdGVBdGFQYXJhbXM6IFRva2VuQXNzb2NpYXRlUmVjaXBpZW50W107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2NyZWF0ZUF0YVBhcmFtcyA9IFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG5cbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Ub2tlblRyYW5zZmVyKSB7XG4gICAgICAgIGNvbnN0IHRyYW5zZmVySW5zdHJ1Y3Rpb246IFRva2VuVHJhbnNmZXIgPSBpbnN0cnVjdGlvbjtcbiAgICAgICAgdGhpcy5zZW5kZXIodHJhbnNmZXJJbnN0cnVjdGlvbi5wYXJhbXMuZnJvbUFkZHJlc3MpO1xuICAgICAgICB0aGlzLnNlbmQoe1xuICAgICAgICAgIGFkZHJlc3M6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnRvQWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLmFtb3VudCxcbiAgICAgICAgICB0b2tlbk5hbWU6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnRva2VuTmFtZSxcbiAgICAgICAgICB0b2tlbkFkZHJlc3M6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnRva2VuQWRkcmVzcyxcbiAgICAgICAgICBwcm9ncmFtSWQ6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnByb2dyYW1JZCxcbiAgICAgICAgICBkZWNpbWFsUGxhY2VzOiB0cmFuc2Zlckluc3RydWN0aW9uLnBhcmFtcy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5DcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IGF0YUluaXRJbnN0cnVjdGlvbjogQXRhSW5pdCA9IGluc3RydWN0aW9uO1xuICAgICAgICB0aGlzLl9jcmVhdGVBdGFQYXJhbXMucHVzaCh7XG4gICAgICAgICAgb3duZXJBZGRyZXNzOiBhdGFJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLm93bmVyQWRkcmVzcyxcbiAgICAgICAgICB0b2tlbk5hbWU6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMudG9rZW5OYW1lLFxuICAgICAgICAgIGF0YUFkZHJlc3M6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMuYXRhQWRkcmVzcyxcbiAgICAgICAgICB0b2tlbkFkZHJlc3M6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMubWludEFkZHJlc3MsXG4gICAgICAgICAgcHJvZ3JhbUlkOiBhdGFJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLnByb2dyYW1JZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBTZXQgYSB0cmFuc2ZlclxuICAgKlxuICAgKiBAcGFyYW0ge1NlbmRQYXJhbXN9IHBhcmFtcyAtIHBhcmFtcyBmb3IgdGhlIHRyYW5zZmVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMuYWRkcmVzcyAtIHRoZSByZWNlaXZlciB0b2tlbiBhZGRyZXNzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMuYW1vdW50IC0gdGhlIGFtb3VudCBzZW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMudG9rZW5OYW1lIC0gbmFtZSBvZiB0b2tlbiB0aGF0IGlzIGludGVuZGVkIHRvIHNlbmRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kKHsgYWRkcmVzcywgYW1vdW50LCB0b2tlbk5hbWUsIHRva2VuQWRkcmVzcywgcHJvZ3JhbUlkLCBkZWNpbWFsUGxhY2VzIH06IFNlbmRQYXJhbXMpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzcywgJ2FkZHJlc3MnKTtcbiAgICBpZiAoIWFtb3VudCB8fCAhaXNWYWxpZEFtb3VudChhbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYW1vdW50LCBnb3Q6ICcgKyBhbW91bnQpO1xuICAgIH1cbiAgICBpZiAoQmlnSW50KGFtb3VudCkgPiBVTlNJR05FRF9CSUdJTlRfTUFYKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBpbnB1dCBhbW91bnQgJHthbW91bnR9IGV4Y2VlZHMgYmlnIGludCBsaW1pdCAke1VOU0lHTkVEX0JJR0lOVF9NQVh9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc2VuZFBhcmFtcy5wdXNoKHsgYWRkcmVzcywgYW1vdW50LCB0b2tlbk5hbWU6IHRva2VuTmFtZSwgdG9rZW5BZGRyZXNzLCBwcm9ncmFtSWQsIGRlY2ltYWxQbGFjZXMgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtUb2tlbkFzc29jaWF0ZVJlY2lwaWVudH0gcmVjaXBpZW50IC0gcmVjaXBpZW50IG9mIHRoZSBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlY2lwaWVudC5vd25lckFkZHJlc3MgLSBvd25lciBvZiB0aGUgYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWNpcGllbnQudG9rZW5OYW1lIC0gbmFtZSBvZiB0aGUgdG9rZW4gdGhhdCBpcyBpbnRlbmRlZCB0byBhc3NvY2lhdGVcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBjcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50KHJlY2lwaWVudDogVG9rZW5Bc3NvY2lhdGVSZWNpcGllbnQpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZU93bmVyQWRkcmVzcyhyZWNpcGllbnQub3duZXJBZGRyZXNzKTtcbiAgICBjb25zdCB0b2tlbiA9IGdldFNvbFRva2VuRnJvbVRva2VuTmFtZShyZWNpcGllbnQudG9rZW5OYW1lKTtcbiAgICBsZXQgdG9rZW5BZGRyZXNzOiBzdHJpbmc7XG4gICAgaWYgKHJlY2lwaWVudC50b2tlbkFkZHJlc3MpIHtcbiAgICAgIHRva2VuQWRkcmVzcyA9IHJlY2lwaWVudC50b2tlbkFkZHJlc3M7XG4gICAgfSBlbHNlIGlmICh0b2tlbikge1xuICAgICAgdG9rZW5BZGRyZXNzID0gdG9rZW4udG9rZW5BZGRyZXNzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRva2VuIG5hbWUsIGdvdDogJyArIHJlY2lwaWVudC50b2tlbk5hbWUpO1xuICAgIH1cbiAgICB2YWxpZGF0ZU1pbnRBZGRyZXNzKHRva2VuQWRkcmVzcyk7XG5cbiAgICB0aGlzLl9jcmVhdGVBdGFQYXJhbXMucHVzaChyZWNpcGllbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBhc3NlcnQodGhpcy5fc2VuZGVyLCAnU2VuZGVyIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICBjb25zdCBzZW5kSW5zdHJ1Y3Rpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLl9zZW5kUGFyYW1zLm1hcChhc3luYyAoc2VuZFBhcmFtczogU2VuZFBhcmFtcyk6IFByb21pc2U8VG9rZW5UcmFuc2Zlcj4gPT4ge1xuICAgICAgICBjb25zdCBjb2luID0gZ2V0U29sVG9rZW5Gcm9tVG9rZW5OYW1lKHNlbmRQYXJhbXMudG9rZW5OYW1lKTtcbiAgICAgICAgbGV0IHRva2VuQWRkcmVzczogc3RyaW5nO1xuICAgICAgICBsZXQgdG9rZW5OYW1lOiBzdHJpbmc7XG4gICAgICAgIGxldCBwcm9ncmFtSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGRlY2ltYWxzOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChzZW5kUGFyYW1zLnRva2VuQWRkcmVzcyAmJiBzZW5kUGFyYW1zLnByb2dyYW1JZCAmJiBzZW5kUGFyYW1zLmRlY2ltYWxQbGFjZXMgIT0gbnVsbCkge1xuICAgICAgICAgIHRva2VuQWRkcmVzcyA9IHNlbmRQYXJhbXMudG9rZW5BZGRyZXNzO1xuICAgICAgICAgIHRva2VuTmFtZSA9IHNlbmRQYXJhbXMudG9rZW5OYW1lO1xuICAgICAgICAgIHByb2dyYW1JZCA9IHNlbmRQYXJhbXMucHJvZ3JhbUlkO1xuICAgICAgICAgIGRlY2ltYWxzID0gc2VuZFBhcmFtcy5kZWNpbWFsUGxhY2VzO1xuICAgICAgICB9IGVsc2UgaWYgKGNvaW4pIHtcbiAgICAgICAgICB0b2tlbkFkZHJlc3MgPSBjb2luLnRva2VuQWRkcmVzcztcbiAgICAgICAgICB0b2tlbk5hbWUgPSBjb2luLm5hbWU7XG4gICAgICAgICAgcHJvZ3JhbUlkID0gY29pbi5wcm9ncmFtSWQ7XG4gICAgICAgICAgZGVjaW1hbHMgPSBjb2luLmRlY2ltYWxQbGFjZXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZGV0ZXJtaW5lIHRva2VuIGluZm9ybWF0aW9uIGZvciAke3NlbmRQYXJhbXMudG9rZW5OYW1lfWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNvdXJjZUFkZHJlc3MgPSBhd2FpdCBnZXRBc3NvY2lhdGVkVG9rZW5BY2NvdW50QWRkcmVzcyh0b2tlbkFkZHJlc3MsIHRoaXMuX3NlbmRlciwgZmFsc2UsIHByb2dyYW1JZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVG9rZW5UcmFuc2ZlcixcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIGZyb21BZGRyZXNzOiB0aGlzLl9zZW5kZXIsXG4gICAgICAgICAgICB0b0FkZHJlc3M6IHNlbmRQYXJhbXMuYWRkcmVzcyxcbiAgICAgICAgICAgIGFtb3VudDogc2VuZFBhcmFtcy5hbW91bnQsXG4gICAgICAgICAgICB0b2tlbk5hbWU6IHRva2VuTmFtZSxcbiAgICAgICAgICAgIHNvdXJjZUFkZHJlc3M6IHNvdXJjZUFkZHJlc3MsXG4gICAgICAgICAgICB0b2tlbkFkZHJlc3M6IHRva2VuQWRkcmVzcyxcbiAgICAgICAgICAgIHByb2dyYW1JZDogcHJvZ3JhbUlkLFxuICAgICAgICAgICAgZGVjaW1hbFBsYWNlczogZGVjaW1hbHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCB1bmlxdWVDcmVhdGVBdGFQYXJhbXMgPSBfLnVuaXFCeSh0aGlzLl9jcmVhdGVBdGFQYXJhbXMsIChyZWNpcGllbnQ6IFRva2VuQXNzb2NpYXRlUmVjaXBpZW50KSA9PiB7XG4gICAgICByZXR1cm4gcmVjaXBpZW50Lm93bmVyQWRkcmVzcyArIHJlY2lwaWVudC50b2tlbk5hbWU7XG4gICAgfSk7XG4gICAgY29uc3QgY3JlYXRlQXRhSW5zdHJ1Y3Rpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB1bmlxdWVDcmVhdGVBdGFQYXJhbXMubWFwKGFzeW5jIChyZWNpcGllbnQ6IFRva2VuQXNzb2NpYXRlUmVjaXBpZW50KTogUHJvbWlzZTxBdGFJbml0PiA9PiB7XG4gICAgICAgIGNvbnN0IGNvaW4gPSBnZXRTb2xUb2tlbkZyb21Ub2tlbk5hbWUocmVjaXBpZW50LnRva2VuTmFtZSk7XG4gICAgICAgIGxldCB0b2tlbkFkZHJlc3M6IHN0cmluZztcbiAgICAgICAgbGV0IHRva2VuTmFtZTogc3RyaW5nO1xuICAgICAgICBsZXQgcHJvZ3JhbUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChjb2luKSB7XG4gICAgICAgICAgdG9rZW5OYW1lID0gY29pbi5uYW1lO1xuICAgICAgICAgIHRva2VuQWRkcmVzcyA9IGNvaW4udG9rZW5BZGRyZXNzO1xuICAgICAgICAgIHByb2dyYW1JZCA9IGNvaW4ucHJvZ3JhbUlkO1xuICAgICAgICB9IGVsc2UgaWYgKHJlY2lwaWVudC50b2tlbkFkZHJlc3MgJiYgcmVjaXBpZW50LnByb2dyYW1JZCkge1xuICAgICAgICAgIHRva2VuTmFtZSA9IHJlY2lwaWVudC50b2tlbk5hbWU7XG4gICAgICAgICAgdG9rZW5BZGRyZXNzID0gcmVjaXBpZW50LnRva2VuQWRkcmVzcztcbiAgICAgICAgICBwcm9ncmFtSWQgPSByZWNpcGllbnQucHJvZ3JhbUlkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVybWluZSB0b2tlbiBpbmZvcm1hdGlvbiBmb3IgJHtyZWNpcGllbnQudG9rZW5OYW1lfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXNlIHRoZSBwcm92aWRlZCBhdGFBZGRyZXNzIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIGNhbGN1bGF0ZSBpdFxuICAgICAgICBsZXQgYXRhQWRkcmVzcyA9IHJlY2lwaWVudC5hdGFBZGRyZXNzO1xuICAgICAgICBpZiAoIWF0YUFkZHJlc3MpIHtcbiAgICAgICAgICBhdGFBZGRyZXNzID0gYXdhaXQgZ2V0QXNzb2NpYXRlZFRva2VuQWNjb3VudEFkZHJlc3ModG9rZW5BZGRyZXNzLCByZWNpcGllbnQub3duZXJBZGRyZXNzLCBmYWxzZSwgcHJvZ3JhbUlkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBvd25lckFkZHJlc3M6IHJlY2lwaWVudC5vd25lckFkZHJlc3MsXG4gICAgICAgICAgICBtaW50QWRkcmVzczogdG9rZW5BZGRyZXNzLFxuICAgICAgICAgICAgYXRhQWRkcmVzcyxcbiAgICAgICAgICAgIHBheWVyQWRkcmVzczogdGhpcy5fc2VuZGVyLFxuICAgICAgICAgICAgdG9rZW5OYW1lOiB0b2tlbk5hbWUsXG4gICAgICAgICAgICBwcm9ncmFtSWQ6IHByb2dyYW1JZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IGFkZFByaW9yaXR5RmVlSW5zdHJ1Y3Rpb246IFNldFByaW9yaXR5RmVlID0ge1xuICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuU2V0UHJpb3JpdHlGZWUsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgZmVlOiB0aGlzLl9wcmlvcml0eUZlZSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGlmICghdGhpcy5fcHJpb3JpdHlGZWUgfHwgdGhpcy5fcHJpb3JpdHlGZWUgPT09IE51bWJlcigwKSkge1xuICAgICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSA9IFsuLi5jcmVhdGVBdGFJbnN0cnVjdGlvbnMsIC4uLnNlbmRJbnN0cnVjdGlvbnNdO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBvcmRlciBpcyBpbXBvcnRhbnQsIGNyZWF0ZUF0YUluc3RydWN0aW9ucyBtdXN0IGJlIGJlZm9yZSBzZW5kSW5zdHJ1Y3Rpb25zXG4gICAgICB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhID0gW2FkZFByaW9yaXR5RmVlSW5zdHJ1Y3Rpb24sIC4uLmNyZWF0ZUF0YUluc3RydWN0aW9ucywgLi4uc2VuZEluc3RydWN0aW9uc107XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixvQkFBb0IsR0FDckIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFXdkIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUUzRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBSTFELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSmIsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBS3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsS0FBSyxNQUFNLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQy9ELE1BQU0sbUJB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QyxZQUFZO2FBQ3ZCO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDM0UsQ0FBQzthQUFNLENBQUM7WUFDTiw0RUFBNEU7WUFDNUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMseUJBQXlCLEVBQUUsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDdEcsQ0FBQztRQUNELE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBnZXRBc3NvY2lhdGVkVG9rZW5BY2NvdW50QWRkcmVzcyxcbiAgZ2V0U29sVG9rZW5Gcm9tVG9rZW5OYW1lLFxuICBpc1ZhbGlkQW1vdW50LFxuICB2YWxpZGF0ZUFkZHJlc3MsXG4gIHZhbGlkYXRlTWludEFkZHJlc3MsXG4gIHZhbGlkYXRlT3duZXJBZGRyZXNzLFxufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEluc3RydWN0aW9uQnVpbGRlclR5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQXRhSW5pdCwgVG9rZW5Bc3NvY2lhdGVSZWNpcGllbnQsIFRva2VuVHJhbnNmZXIsIFNldFByaW9yaXR5RmVlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRQYXJhbXMge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICB0b2tlbk5hbWU6IHN0cmluZztcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nO1xuICBwcm9ncmFtSWQ/OiBzdHJpbmc7XG4gIGRlY2ltYWxQbGFjZXM/OiBudW1iZXI7XG59XG5cbmNvbnN0IFVOU0lHTkVEX0JJR0lOVF9NQVggPSBCaWdJbnQoJzE4NDQ2NzQ0MDczNzA5NTUxNjE1Jyk7XG5cbmV4cG9ydCBjbGFzcyBUb2tlblRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3NlbmRQYXJhbXM6IFNlbmRQYXJhbXNbXSA9IFtdO1xuICBwcml2YXRlIF9jcmVhdGVBdGFQYXJhbXM6IFRva2VuQXNzb2NpYXRlUmVjaXBpZW50W107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2NyZWF0ZUF0YVBhcmFtcyA9IFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG5cbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Ub2tlblRyYW5zZmVyKSB7XG4gICAgICAgIGNvbnN0IHRyYW5zZmVySW5zdHJ1Y3Rpb246IFRva2VuVHJhbnNmZXIgPSBpbnN0cnVjdGlvbjtcbiAgICAgICAgdGhpcy5zZW5kZXIodHJhbnNmZXJJbnN0cnVjdGlvbi5wYXJhbXMuZnJvbUFkZHJlc3MpO1xuICAgICAgICB0aGlzLnNlbmQoe1xuICAgICAgICAgIGFkZHJlc3M6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnRvQWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLmFtb3VudCxcbiAgICAgICAgICB0b2tlbk5hbWU6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnRva2VuTmFtZSxcbiAgICAgICAgICB0b2tlbkFkZHJlc3M6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnRva2VuQWRkcmVzcyxcbiAgICAgICAgICBwcm9ncmFtSWQ6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLnByb2dyYW1JZCxcbiAgICAgICAgICBkZWNpbWFsUGxhY2VzOiB0cmFuc2Zlckluc3RydWN0aW9uLnBhcmFtcy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5DcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IGF0YUluaXRJbnN0cnVjdGlvbjogQXRhSW5pdCA9IGluc3RydWN0aW9uO1xuICAgICAgICB0aGlzLl9jcmVhdGVBdGFQYXJhbXMucHVzaCh7XG4gICAgICAgICAgb3duZXJBZGRyZXNzOiBhdGFJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLm93bmVyQWRkcmVzcyxcbiAgICAgICAgICB0b2tlbk5hbWU6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMudG9rZW5OYW1lLFxuICAgICAgICAgIGF0YUFkZHJlc3M6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMuYXRhQWRkcmVzcyxcbiAgICAgICAgICB0b2tlbkFkZHJlc3M6IGF0YUluaXRJbnN0cnVjdGlvbi5wYXJhbXMubWludEFkZHJlc3MsXG4gICAgICAgICAgcHJvZ3JhbUlkOiBhdGFJbml0SW5zdHJ1Y3Rpb24ucGFyYW1zLnByb2dyYW1JZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBTZXQgYSB0cmFuc2ZlclxuICAgKlxuICAgKiBAcGFyYW0ge1NlbmRQYXJhbXN9IHBhcmFtcyAtIHBhcmFtcyBmb3IgdGhlIHRyYW5zZmVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMuYWRkcmVzcyAtIHRoZSByZWNlaXZlciB0b2tlbiBhZGRyZXNzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMuYW1vdW50IC0gdGhlIGFtb3VudCBzZW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMudG9rZW5OYW1lIC0gbmFtZSBvZiB0b2tlbiB0aGF0IGlzIGludGVuZGVkIHRvIHNlbmRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kKHsgYWRkcmVzcywgYW1vdW50LCB0b2tlbk5hbWUsIHRva2VuQWRkcmVzcywgcHJvZ3JhbUlkLCBkZWNpbWFsUGxhY2VzIH06IFNlbmRQYXJhbXMpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzcywgJ2FkZHJlc3MnKTtcbiAgICBpZiAoIWFtb3VudCB8fCAhaXNWYWxpZEFtb3VudChhbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYW1vdW50LCBnb3Q6ICcgKyBhbW91bnQpO1xuICAgIH1cbiAgICBpZiAoQmlnSW50KGFtb3VudCkgPiBVTlNJR05FRF9CSUdJTlRfTUFYKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBpbnB1dCBhbW91bnQgJHthbW91bnR9IGV4Y2VlZHMgYmlnIGludCBsaW1pdCAke1VOU0lHTkVEX0JJR0lOVF9NQVh9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc2VuZFBhcmFtcy5wdXNoKHsgYWRkcmVzcywgYW1vdW50LCB0b2tlbk5hbWU6IHRva2VuTmFtZSwgdG9rZW5BZGRyZXNzLCBwcm9ncmFtSWQsIGRlY2ltYWxQbGFjZXMgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtUb2tlbkFzc29jaWF0ZVJlY2lwaWVudH0gcmVjaXBpZW50IC0gcmVjaXBpZW50IG9mIHRoZSBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlY2lwaWVudC5vd25lckFkZHJlc3MgLSBvd25lciBvZiB0aGUgYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWNpcGllbnQudG9rZW5OYW1lIC0gbmFtZSBvZiB0aGUgdG9rZW4gdGhhdCBpcyBpbnRlbmRlZCB0byBhc3NvY2lhdGVcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBjcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50KHJlY2lwaWVudDogVG9rZW5Bc3NvY2lhdGVSZWNpcGllbnQpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZU93bmVyQWRkcmVzcyhyZWNpcGllbnQub3duZXJBZGRyZXNzKTtcbiAgICBsZXQgdG9rZW5BZGRyZXNzOiBzdHJpbmc7XG4gICAgaWYgKHJlY2lwaWVudC50b2tlbkFkZHJlc3MpIHtcbiAgICAgIHRva2VuQWRkcmVzcyA9IHJlY2lwaWVudC50b2tlbkFkZHJlc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRva2VuID0gZ2V0U29sVG9rZW5Gcm9tVG9rZW5OYW1lKHJlY2lwaWVudC50b2tlbk5hbWUpO1xuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIHRva2VuQWRkcmVzcyA9IHRva2VuLnRva2VuQWRkcmVzcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdG9rZW4gbmFtZSwgZ290OiAnICsgcmVjaXBpZW50LnRva2VuTmFtZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHZhbGlkYXRlTWludEFkZHJlc3ModG9rZW5BZGRyZXNzKTtcblxuICAgIHRoaXMuX2NyZWF0ZUF0YVBhcmFtcy5wdXNoKHJlY2lwaWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsICdTZW5kZXIgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIGNvbnN0IHNlbmRJbnN0cnVjdGlvbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMuX3NlbmRQYXJhbXMubWFwKGFzeW5jIChzZW5kUGFyYW1zOiBTZW5kUGFyYW1zKTogUHJvbWlzZTxUb2tlblRyYW5zZmVyPiA9PiB7XG4gICAgICAgIGxldCB0b2tlbkFkZHJlc3M6IHN0cmluZztcbiAgICAgICAgbGV0IHRva2VuTmFtZTogc3RyaW5nO1xuICAgICAgICBsZXQgcHJvZ3JhbUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBkZWNpbWFsczogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAoc2VuZFBhcmFtcy50b2tlbkFkZHJlc3MgJiYgc2VuZFBhcmFtcy5wcm9ncmFtSWQgJiYgc2VuZFBhcmFtcy5kZWNpbWFsUGxhY2VzICE9IG51bGwpIHtcbiAgICAgICAgICB0b2tlbkFkZHJlc3MgPSBzZW5kUGFyYW1zLnRva2VuQWRkcmVzcztcbiAgICAgICAgICB0b2tlbk5hbWUgPSBzZW5kUGFyYW1zLnRva2VuTmFtZTtcbiAgICAgICAgICBwcm9ncmFtSWQgPSBzZW5kUGFyYW1zLnByb2dyYW1JZDtcbiAgICAgICAgICBkZWNpbWFscyA9IHNlbmRQYXJhbXMuZGVjaW1hbFBsYWNlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjb2luID0gZ2V0U29sVG9rZW5Gcm9tVG9rZW5OYW1lKHNlbmRQYXJhbXMudG9rZW5OYW1lKTtcbiAgICAgICAgICBpZiAoY29pbikge1xuICAgICAgICAgICAgdG9rZW5BZGRyZXNzID0gY29pbi50b2tlbkFkZHJlc3M7XG4gICAgICAgICAgICB0b2tlbk5hbWUgPSBjb2luLm5hbWU7XG4gICAgICAgICAgICBwcm9ncmFtSWQgPSBjb2luLnByb2dyYW1JZDtcbiAgICAgICAgICAgIGRlY2ltYWxzID0gY29pbi5kZWNpbWFsUGxhY2VzO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBkZXRlcm1pbmUgdG9rZW4gaW5mb3JtYXRpb24gZm9yICR7c2VuZFBhcmFtcy50b2tlbk5hbWV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNvdXJjZUFkZHJlc3MgPSBhd2FpdCBnZXRBc3NvY2lhdGVkVG9rZW5BY2NvdW50QWRkcmVzcyh0b2tlbkFkZHJlc3MsIHRoaXMuX3NlbmRlciwgZmFsc2UsIHByb2dyYW1JZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVG9rZW5UcmFuc2ZlcixcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIGZyb21BZGRyZXNzOiB0aGlzLl9zZW5kZXIsXG4gICAgICAgICAgICB0b0FkZHJlc3M6IHNlbmRQYXJhbXMuYWRkcmVzcyxcbiAgICAgICAgICAgIGFtb3VudDogc2VuZFBhcmFtcy5hbW91bnQsXG4gICAgICAgICAgICB0b2tlbk5hbWU6IHRva2VuTmFtZSxcbiAgICAgICAgICAgIHNvdXJjZUFkZHJlc3M6IHNvdXJjZUFkZHJlc3MsXG4gICAgICAgICAgICB0b2tlbkFkZHJlc3M6IHRva2VuQWRkcmVzcyxcbiAgICAgICAgICAgIHByb2dyYW1JZDogcHJvZ3JhbUlkLFxuICAgICAgICAgICAgZGVjaW1hbFBsYWNlczogZGVjaW1hbHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCB1bmlxdWVDcmVhdGVBdGFQYXJhbXMgPSBfLnVuaXFCeSh0aGlzLl9jcmVhdGVBdGFQYXJhbXMsIChyZWNpcGllbnQ6IFRva2VuQXNzb2NpYXRlUmVjaXBpZW50KSA9PiB7XG4gICAgICByZXR1cm4gcmVjaXBpZW50Lm93bmVyQWRkcmVzcyArIHJlY2lwaWVudC50b2tlbk5hbWU7XG4gICAgfSk7XG4gICAgY29uc3QgY3JlYXRlQXRhSW5zdHJ1Y3Rpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB1bmlxdWVDcmVhdGVBdGFQYXJhbXMubWFwKGFzeW5jIChyZWNpcGllbnQ6IFRva2VuQXNzb2NpYXRlUmVjaXBpZW50KTogUHJvbWlzZTxBdGFJbml0PiA9PiB7XG4gICAgICAgIGxldCB0b2tlbkFkZHJlc3M6IHN0cmluZztcbiAgICAgICAgbGV0IHRva2VuTmFtZTogc3RyaW5nO1xuICAgICAgICBsZXQgcHJvZ3JhbUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChyZWNpcGllbnQudG9rZW5BZGRyZXNzICYmIHJlY2lwaWVudC5wcm9ncmFtSWQpIHtcbiAgICAgICAgICB0b2tlbk5hbWUgPSByZWNpcGllbnQudG9rZW5OYW1lO1xuICAgICAgICAgIHRva2VuQWRkcmVzcyA9IHJlY2lwaWVudC50b2tlbkFkZHJlc3M7XG4gICAgICAgICAgcHJvZ3JhbUlkID0gcmVjaXBpZW50LnByb2dyYW1JZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjb2luID0gZ2V0U29sVG9rZW5Gcm9tVG9rZW5OYW1lKHJlY2lwaWVudC50b2tlbk5hbWUpO1xuICAgICAgICAgIGlmIChjb2luKSB7XG4gICAgICAgICAgICB0b2tlbk5hbWUgPSBjb2luLm5hbWU7XG4gICAgICAgICAgICB0b2tlbkFkZHJlc3MgPSBjb2luLnRva2VuQWRkcmVzcztcbiAgICAgICAgICAgIHByb2dyYW1JZCA9IGNvaW4ucHJvZ3JhbUlkO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBkZXRlcm1pbmUgdG9rZW4gaW5mb3JtYXRpb24gZm9yICR7cmVjaXBpZW50LnRva2VuTmFtZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgdGhlIHByb3ZpZGVkIGF0YUFkZHJlc3MgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgY2FsY3VsYXRlIGl0XG4gICAgICAgIGxldCBhdGFBZGRyZXNzID0gcmVjaXBpZW50LmF0YUFkZHJlc3M7XG4gICAgICAgIGlmICghYXRhQWRkcmVzcykge1xuICAgICAgICAgIGF0YUFkZHJlc3MgPSBhd2FpdCBnZXRBc3NvY2lhdGVkVG9rZW5BY2NvdW50QWRkcmVzcyh0b2tlbkFkZHJlc3MsIHJlY2lwaWVudC5vd25lckFkZHJlc3MsIGZhbHNlLCBwcm9ncmFtSWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIG93bmVyQWRkcmVzczogcmVjaXBpZW50Lm93bmVyQWRkcmVzcyxcbiAgICAgICAgICAgIG1pbnRBZGRyZXNzOiB0b2tlbkFkZHJlc3MsXG4gICAgICAgICAgICBhdGFBZGRyZXNzLFxuICAgICAgICAgICAgcGF5ZXJBZGRyZXNzOiB0aGlzLl9zZW5kZXIsXG4gICAgICAgICAgICB0b2tlbk5hbWU6IHRva2VuTmFtZSxcbiAgICAgICAgICAgIHByb2dyYW1JZDogcHJvZ3JhbUlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICk7XG4gICAgY29uc3QgYWRkUHJpb3JpdHlGZWVJbnN0cnVjdGlvbjogU2V0UHJpb3JpdHlGZWUgPSB7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5TZXRQcmlvcml0eUZlZSxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBmZWU6IHRoaXMuX3ByaW9yaXR5RmVlLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLl9wcmlvcml0eUZlZSB8fCB0aGlzLl9wcmlvcml0eUZlZSA9PT0gTnVtYmVyKDApKSB7XG4gICAgICB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhID0gWy4uLmNyZWF0ZUF0YUluc3RydWN0aW9ucywgLi4uc2VuZEluc3RydWN0aW9uc107XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG9yZGVyIGlzIGltcG9ydGFudCwgY3JlYXRlQXRhSW5zdHJ1Y3Rpb25zIG11c3QgYmUgYmVmb3JlIHNlbmRJbnN0cnVjdGlvbnNcbiAgICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEgPSBbYWRkUHJpb3JpdHlGZWVJbnN0cnVjdGlvbiwgLi4uY3JlYXRlQXRhSW5zdHJ1Y3Rpb25zLCAuLi5zZW5kSW5zdHJ1Y3Rpb25zXTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-sol",
|
|
3
|
-
"version": "7.6.4-beta.
|
|
3
|
+
"version": "7.6.4-beta.445",
|
|
4
4
|
"description": "BitGo SDK coin library for Sol",
|
|
5
5
|
"main": "./dist/cjs/src/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@bitgo-beta/logger": "1.0.1-beta.
|
|
60
|
-
"@bitgo-beta/sdk-core": "8.2.1-beta.
|
|
61
|
-
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.
|
|
62
|
-
"@bitgo-beta/statics": "15.1.1-beta.
|
|
59
|
+
"@bitgo-beta/logger": "1.0.1-beta.212",
|
|
60
|
+
"@bitgo-beta/sdk-core": "8.2.1-beta.1804",
|
|
61
|
+
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1799",
|
|
62
|
+
"@bitgo-beta/statics": "15.1.1-beta.1811",
|
|
63
63
|
"@bitgo/public-types": "6.22.0",
|
|
64
64
|
"@bitgo/wasm-solana": "^2.6.0",
|
|
65
65
|
"@solana/spl-stake-pool": "1.1.8",
|
|
@@ -72,11 +72,11 @@
|
|
|
72
72
|
"tweetnacl": "^1.0.3"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@bitgo-beta/sdk-api": "1.10.1-beta.
|
|
75
|
+
"@bitgo-beta/sdk-api": "1.10.1-beta.1801",
|
|
76
76
|
"@bitgo-beta/sdk-test": "^9.1.46",
|
|
77
77
|
"@types/lodash": "^4.14.121"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "7fb8de330c7b0395390af67ceb43aaf06f2b26a9",
|
|
80
80
|
"files": [
|
|
81
81
|
"dist/cjs",
|
|
82
82
|
"dist/esm"
|