@bitgo/sdk-core 38.23.0 → 39.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +37 -3
  2. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  3. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  4. package/dist/src/bitgo/errors.d.ts +6 -0
  5. package/dist/src/bitgo/errors.d.ts.map +1 -1
  6. package/dist/src/bitgo/errors.js +11 -2
  7. package/dist/src/bitgo/keychain/iKeychains.d.ts +22 -2
  8. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  9. package/dist/src/bitgo/keychain/iKeychains.js +1 -1
  10. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  11. package/dist/src/bitgo/keychain/keychains.js +31 -1
  12. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts +18 -0
  13. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -1
  14. package/dist/src/bitgo/safe/derivableEd25519Pub.js +39 -3
  15. package/dist/src/bitgo/safe/recovery.d.ts +44 -3
  16. package/dist/src/bitgo/safe/recovery.d.ts.map +1 -1
  17. package/dist/src/bitgo/safe/recovery.js +74 -46
  18. package/dist/src/bitgo/safe/safe.d.ts +5 -5
  19. package/dist/src/bitgo/safe/safe.d.ts.map +1 -1
  20. package/dist/src/bitgo/safe/safe.js +24 -16
  21. package/dist/src/bitgo/tss/common.d.ts +11 -2
  22. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  23. package/dist/src/bitgo/tss/common.js +16 -4
  24. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts +10 -5
  25. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -1
  26. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +11 -6
  27. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  28. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +2 -1
  29. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +6 -0
  30. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  31. package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
  32. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +5 -4
  33. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
  34. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +5 -9
  35. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +4 -9
  36. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -1
  37. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +16 -21
  38. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +32 -4
  39. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
  40. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +92 -3
  41. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +5 -5
  42. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -1
  43. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +51 -76
  44. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +40 -21
  45. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -1
  46. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +2 -13
  47. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -1
  48. package/dist/src/bitgo/utils/tss/recipientUtils.js +12 -1
  49. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -1
  50. package/dist/src/bitgo/wallet/BuildParams.d.ts +1 -0
  51. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  52. package/dist/src/bitgo/wallet/BuildParams.js +5 -1
  53. package/dist/src/bitgo/wallet/iWallet.d.ts +13 -0
  54. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  55. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  56. package/dist/src/bitgo/wallet/iWallets.d.ts +1 -0
  57. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  58. package/dist/src/bitgo/wallet/iWallets.js +1 -1
  59. package/dist/src/bitgo/wallet/safeKeychain.d.ts +1 -1
  60. package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -1
  61. package/dist/src/bitgo/wallet/safeKeychain.js +4 -3
  62. package/dist/src/bitgo/wallet/wallet.d.ts +32 -1
  63. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  64. package/dist/src/bitgo/wallet/wallet.js +210 -83
  65. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  66. package/dist/src/bitgo/wallet/wallets.js +23 -9
  67. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +29 -1
  68. package/dist/test/unit/bitgo/safe/recovery.d.ts.map +1 -1
  69. package/dist/test/unit/bitgo/safe/recovery.js +164 -6
  70. package/dist/test/unit/bitgo/safe/safe.js +54 -32
  71. package/dist/test/unit/bitgo/safe/safeDerivation.js +15 -53
  72. package/dist/test/unit/bitgo/tss/common.js +12 -5
  73. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +422 -5
  74. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +215 -44
  75. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +37 -1
  76. package/dist/test/unit/bitgo/wallet/BuildParams.js +14 -1
  77. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +29 -49
  78. package/dist/test/unit/bitgo/wallet/safeShareWallet.js +5 -4
  79. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +180 -2
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +6 -6
@@ -254,6 +254,11 @@ export interface TransactionParams {
254
254
  memo?: Memo;
255
255
  enableTokens?: TokenEnablement[];
256
256
  stakingRequestId?: string;
257
+ /** ERC-7984 shield intent (`type: 'wrapApprove' | 'wrap'`): wrapper coin name and exact amount. */
258
+ wrapParams?: {
259
+ tokenName: string;
260
+ amount: string;
261
+ };
257
262
  }
258
263
  export interface AddressVerificationData {
259
264
  coinSpecific?: AddressCoinSpecific;
@@ -517,15 +522,44 @@ export interface ValidMofNOptions {
517
522
  n?: number;
518
523
  }
519
524
  export type SignedTransaction = HalfSignedAccountTransaction | HalfSignedUtxoTransaction | FullySignedTransaction | SignedTransactionRequest | TxRequest;
520
- export interface SignedMessage {
525
+ /**
526
+ * Base fields shared by every message-sign result.
527
+ */
528
+ export interface SignedMessageBase {
521
529
  coin?: string;
522
- txHash: string;
523
- signature: string;
524
530
  messageRaw: string;
525
531
  messageEncoded?: string;
526
532
  messageStandardType?: MessageStandardType;
527
533
  txRequestId: string;
528
534
  }
535
+ /**
536
+ * The message-sign request was parked behind a pending approval by the
537
+ * message-signing policy; no signature was produced. The discriminator is the
538
+ * server-reported txRequest state ('pendingApproval') — never inferred from
539
+ * id presence. Surface the approval, then re-sign via
540
+ * signAndSendMessageTxRequest once it is resolved.
541
+ */
542
+ export interface SignedMessagePendingApproval extends SignedMessageBase {
543
+ state: 'pendingApproval';
544
+ pendingApprovalId: string;
545
+ }
546
+ /**
547
+ * The message is signed and the request is terminal (wallet-platform
548
+ * transitions a message request pendingDelivery → delivered once all
549
+ * messages are signed; the txRequest-level 'signed' state is never used for
550
+ * message requests).
551
+ */
552
+ export interface SignedMessageDelivered extends SignedMessageBase {
553
+ state: 'delivered';
554
+ txHash: string;
555
+ signature: string;
556
+ }
557
+ /**
558
+ * Discriminated on the wallet-platform txRequest state. BREAKING: consumers
559
+ * that previously read `txHash`/`signature` without narrowing must first
560
+ * check `state === 'delivered'`.
561
+ */
562
+ export type SignedMessage = SignedMessagePendingApproval | SignedMessageDelivered;
529
563
  export interface RecoverWalletTokenOptions {
530
564
  tokenContractAddress: string;
531
565
  wallet: IWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"iBaseCoin.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/baseCoin/iBaseCoin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iBaseCoin.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/baseCoin/iBaseCoin.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,4 @@ var SignTypedDataVersion;
18
18
  SignTypedDataVersion["V3"] = "V3";
19
19
  SignTypedDataVersion["V4"] = "V4";
20
20
  })(SignTypedDataVersion || (exports.SignTypedDataVersion = SignTypedDataVersion = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJhc2VDb2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2Jhc2VDb2luL2lCYXNlQ29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2TUEsOERBU0M7QUFqTVksUUFBQSxhQUFhLEdBQUc7SUFDM0IsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBcUxYLFNBQWdCLHlCQUF5QixDQUN2QyxNQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsQ0FDUCxXQUFXLElBQUksTUFBTTtRQUNyQixPQUFPLElBQUksTUFBTTtRQUNqQixTQUFTLElBQUksTUFBTTtRQUNuQixNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQzlFLENBQUM7QUFDSixDQUFDO0FBMFFELElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixpQ0FBUyxDQUFBO0lBQ1QsaUNBQVMsQ0FBQTtJQUNULGlDQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFJL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVG9rZW5Db25maWcsIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vYXBpJztcbmltcG9ydCB7IElFbnRlcnByaXNlcyB9IGZyb20gJy4uL2VudGVycHJpc2UnO1xuaW1wb3J0IHsgQXBpS2V5U2hhcmUsIElLZXljaGFpbnMsIEtleWNoYWluIH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgSU1hcmtldHMgfSBmcm9tICcuLi9tYXJrZXQnO1xuaW1wb3J0IHsgSVBlbmRpbmdBcHByb3ZhbHMgfSBmcm9tICcuLi9wZW5kaW5nQXBwcm92YWwnO1xuaW1wb3J0IHsgSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMgfSBmcm9tICcuLi9yZWNvdmVyeSc7XG5pbXBvcnQgeyBFY2RzYU1QQ3YyVXRpbHMsIEVjZHNhVXRpbHMgfSBmcm9tICcuLi91dGlscy90c3MvZWNkc2EnO1xuaW1wb3J0IEVkZHNhVXRpbHMsIHsgRWRkc2FNUEN2MlV0aWxzLCBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMsIFR4UmVxdWVzdCB9IGZyb20gJy4uL3V0aWxzL3Rzcy9lZGRzYSc7XG5pbXBvcnQgeyBSZWRwYWxsYXNNUEN2MlV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvdHNzL3JlZHBhbGxhcyc7XG5pbXBvcnQgeyBDcmVhdGVBZGRyZXNzRm9ybWF0LCBDdXN0b21TaWduaW5nRnVuY3Rpb24sIElXYWxsZXQsIElXYWxsZXRzLCBNZW1vLCBXYWxsZXQsIFdhbGxldERhdGEgfSBmcm9tICcuLi93YWxsZXQnO1xuXG5pbXBvcnQgeyBUb2tlbkVuYWJsZW1lbnQsIHVuaWZpZWRBZGRyZXNzUHJlZmVyZW5jZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9hY2NvdW50LWxpYic7XG5pbXBvcnQgeyBJSW5zY3JpcHRpb25CdWlsZGVyIH0gZnJvbSAnLi4vaW5zY3JpcHRpb25CdWlsZGVyJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUsIE1QQ1R4LCBQb3B1bGF0ZWRJbnRlbnQsIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsIFRva2VuVHlwZSwgVHJpcGxlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBTaWduYWJsZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMvdHNzL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBJV2ViaG9va3MgfSBmcm9tICcuLi93ZWJob29rL2lXZWJob29rcyc7XG5cbmV4cG9ydCBjb25zdCBtdWx0aXNpZ1R5cGVzID0ge1xuICBvbmNoYWluOiAnb25jaGFpbicsXG4gIHRzczogJ3RzcycsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBNdWx0aXNpZ1R5cGUgPSBrZXlvZiB0eXBlb2YgbXVsdGlzaWdUeXBlcztcblxuZXhwb3J0IGludGVyZmFjZSBPdXRwdXQgZXh0ZW5kcyBJVHJhbnNhY3Rpb25SZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8vIG9mIGZvcm0gY29pbjp0b2tlblxuICBjb2luTmFtZT86IHN0cmluZztcbiAgaXNQYXlHbz86IGJvb2xlYW47XG4gIHZhbHVlPzogbnVtYmVyO1xuICB3YWxsZXQ/OiBzdHJpbmc7IC8vIFR5cGVzLk9iamVjdElkO1xuICB3YWxsZXRWMT86IHN0cmluZzsgLy8gVHlwZXMuT2JqZWN0SWQ7XG4gIGJhc2VBZGRyZXNzPzogc3RyaW5nO1xuICBlbnRlcnByaXNlPzogc3RyaW5nOyAvLyBUeXBlcy5PYmplY3RJZDtcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgLy8gXCJjaGFuZ2VcIiBpcyBhIHV0eG8tc3BlY2lmaWMgY29uY2VwdCBhbmQgdGhpcyBwcm9wZXJ0eSBzaG91bGRcbiAgLy8gYmUgcmVtb3ZlZCBvbmNlIGl0IGl0J3MgdXNhZ2UgaXMgcmVmYWN0b3JlZCBvdXQgb2YgYmFzZSBjb2luIGxvZ2ljXG4gIGNoYW5nZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIElucHV0ID0ge1xuICBkZXJpdmF0aW9uSW5kZXg/OiBudW1iZXI7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIHZhbHVlU3RyaW5nOiBzdHJpbmc7XG4gIC8vIHRoZSBwcm9wZXJ0aWVzIGJlbG93IGFyZSB1dHhvLXJlbGF0ZWQgYnV0IGFyZSBjdXJyZW50bHkgdXNlZCBpbiBhYnN0cmFjdEJhc2VDb2luXG4gIC8vIHRoZXNlIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgdGhlaXIgdXNhZ2UgaXMgcmVtb3ZlZCBmcm9tIHRoZSBiYXNlIGNvaW4gY2xhc3NcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGluZGV4PzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgVW5zaWduZWRUcmFuc2FjdGlvbiA9IHtcbiAgLy8gdW5zaWduZWQgdHJhbnNhY3Rpb24gaW4gYnJvYWRjYXN0IGZvcm1hdFxuICBzZXJpYWxpemVkVHhIZXg6IHN0cmluZztcbiAgLy8gcG9ydGlvbiBvZiBhIHRyYW5zYWN0aW9uIHVzZWQgdG8gZ2VuZXJhdGUgYSBzaWduYXR1cmVcbiAgc2lnbmFibGVIZXg6IHN0cmluZztcbiAgLy8gdHJhbnNhY3Rpb24gZmVlc1xuICBmZWVJbmZvPzoge1xuICAgIGZlZTogbnVtYmVyIHwgQmlnTnVtYmVyO1xuICAgIGZlZVN0cmluZzogc3RyaW5nO1xuICB9O1xuICAvLyBkZXJpdmF0aW9uIHBhdGggb2YgdGhlIHNpZ25lclxuICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xuICBjb2luU3BlY2lmaWM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZW50cnlWYWx1ZXM6IGFueTtcbiAgcGFyc2VkVHg6IFVuc2lnbmVkUGFyc2VkVHJhbnNhY3Rpb247XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxhbmF0aW9uUmVzdWx0IGV4dGVuZHMgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzZXF1ZW5jZUlkOiBudW1iZXI7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG91dHB1dHM6IE91dHB1dFtdO1xuICBibG9ja051bWJlcjogbnVtYmVyIHwgdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25SZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIHRva2VuQWRkcmVzcz86IHN0cmluZztcbiAgcHJvZ3JhbUlkPzogc3RyaW5nO1xuICBtZW1vPzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0b2tlbiBlbmFibGVtZW50IChlLmcuLCBjcmVhdGlvbiBvZiBhbiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRva2VuRW5hYmxlbWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZzsgLy8gQXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50IGFkZHJlc3NcbiAgdG9rZW5OYW1lOiBzdHJpbmc7IC8vIE5hbWUgb2YgdGhlIHRva2VuIGJlaW5nIGVuYWJsZWRcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nOyAvLyBDb250cmFjdCBhZGRyZXNzIG9mIHRoZSB0b2tlblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvbkZlZTxUQW1vdW50ID0gc3RyaW5nPiB7XG4gIGZlZTogVEFtb3VudDtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgc2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgQXVkaXRLZXlQYXJhbXMgPSB7IHBydj86IHN0cmluZzsgZW5jcnlwdGVkUHJ2Pzogc3RyaW5nOyB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nIH0gJiAoXG4gIHwgeyBwcnY6IHN0cmluZyB9XG4gIHwgeyBlbmNyeXB0ZWRQcnY6IHN0cmluZzsgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nIH1cbikgJlxuICAoXG4gICAgfCB7XG4gICAgICAgIG11bHRpU2lnVHlwZTogJ3Rzcyc7XG4gICAgICAgIHB1YmxpY0tleTogc3RyaW5nO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBtdWx0aVNpZ1R5cGU/OiAnb25jaGFpbic7XG4gICAgICAgIHB1YmxpY0tleT86IHN0cmluZztcbiAgICAgIH1cbiAgKTtcblxuZXhwb3J0IHR5cGUgQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMgPSBPbWl0PEF1ZGl0S2V5UGFyYW1zLCAnZW5jcnlwdGVkUHJ2JyB8ICd3YWxsZXRQYXNzcGhyYXNlJz4gJiB7IHBydjogc3RyaW5nIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb248VEZlZSA9IGFueSwgVEFtb3VudCA9IGFueT4ge1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgZGlzcGxheU9yZGVyPzogc3RyaW5nW107XG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBOT1RFOiBFeHRlcm5hbCByZWNpcGllbnRzICovXG4gIG91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICAvKiogTk9URTogRXh0ZXJuYWwgYW1vdW50ICovXG4gIG91dHB1dEFtb3VudDogVEFtb3VudDtcbiAgY2hhbmdlT3V0cHV0czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGNoYW5nZUFtb3VudDogVEFtb3VudDtcbiAgZmVlOiBURmVlO1xuICBwcm94eT86IHN0cmluZztcbiAgcHJvZHVjZXJzPzogc3RyaW5nW107XG4gIC8qKiBOT1RFOiBUb2tlbnMgYmVpbmcgZW5hYmxlZCBmb3IgdGhlIHdhbGxldCAqL1xuICB0b2tlbkVuYWJsZW1lbnRzPzogSVRva2VuRW5hYmxlbWVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXIge1xuICBwdWI/OiBzdHJpbmc7XG4gIHBydjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbHNLZXlQYWlyIGV4dGVuZHMgS2V5UGFpciB7XG4gIHNlY3JldFNoYXJlcz86IHN0cmluZ1tdO1xuICBjaGFpbmNvZGU6IHN0cmluZztcbiAgc2VlZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlBZGRyZXNzT3B0aW9ucyB7XG4gIGZvcm1hdD86IENyZWF0ZUFkZHJlc3NGb3JtYXQ7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYWRkcmVzc1R5cGU/OiBzdHJpbmc7XG4gIGtleWNoYWlucz86IHtcbiAgICBwdWI6IHN0cmluZztcbiAgfVtdO1xuICBlcnJvcj86IHN0cmluZztcbiAgY29pblNwZWNpZmljPzogQWRkcmVzc0NvaW5TcGVjaWZpYztcbiAgaW1wbGllZEZvcndhcmRlclZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBzZWVkIHZhbHVlIGZyb20gdXNlciBrZXljaGFpbidzIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQgZmllbGQuXG4gICAqIEZvciBTTUMgKFNlbGYtTWFuYWdlZCBDdXN0b2RpYWwpIFRTUyB3YWxsZXRzLCB0aGlzIGlzIHVzZWQgdG8gY29tcHV0ZSB0aGUgZGVyaXZhdGlvbiBwcmVmaXguXG4gICAqL1xuICBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkPzogc3RyaW5nO1xuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgTVBDIHNpZ25pbmcgcHJvdG9jb2wgdmVyc2lvbiBvZiB0aGUgd2FsbGV0IChlLmcuICdNUEN2MicpLlxuICAgKiBVc2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gTVBDdjEgYW5kIE1QQ3YyIHdhbGxldHMuXG4gICAqL1xuICBtdWx0aXNpZ1R5cGVWZXJzaW9uPzogJ01QQ3YyJztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB2ZXJpZnlpbmcgaWYgYW4gYWRkcmVzcyBiZWxvbmdzIHRvIGEgVFNTL01QQyB3YWxsZXQuXG4gKiBVc2VkIGZvciBFZERTQS1iYXNlZCBNUEMgY29pbnMgKFNPTCwgRE9ULCBTVUksIFRPTiwgSU9UQSwgTkVBUiwgZXRjLilcbiAqIHRvIGNyeXB0b2dyYXBoaWNhbGx5IHZlcmlmeSBhZGRyZXNzIGRlcml2YXRpb24gd2l0aG91dCB0cnVzdGluZyB0aGUgcGxhdGZvcm0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICAvKiogVGhlIGFkZHJlc3MgdG8gdmVyaWZ5ICovXG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLyoqXG4gICAqIEtleWNoYWlucyBjb250YWluaW5nIHRoZSBjb21tb25LZXljaGFpbiBmb3IgSEQgZGVyaXZhdGlvbi5cbiAgICogRm9yIE1QQyB3YWxsZXRzLCB0aGUgY29tbW9uS2V5Y2hhaW4gKGNvbWJpbmVkIHB1YmxpYyBrZXkgZnJvbSBNUEMga2V5IGdlbmVyYXRpb24pXG4gICAqIHNob3VsZCBiZSBpZGVudGljYWwgYWNyb3NzIGFsbCBrZXljaGFpbnMgKHVzZXIsIGJhY2t1cCwgYml0Z28pLlxuICAgKi9cbiAga2V5Y2hhaW5zOiBQaWNrPEtleWNoYWluLCAnY29tbW9uS2V5Y2hhaW4nPltdO1xuICAvKipcbiAgICogRGVyaXZhdGlvbiBpbmRleCBmb3IgdGhlIGFkZHJlc3MuXG4gICAqIFVzZWQgdG8gZGVyaXZlIGNoaWxkIGFkZHJlc3NlcyBmcm9tIHRoZSByb290IGtleWNoYWluIHZpYSBIRCBkZXJpdmF0aW9uIHBhdGg6IG0ve2luZGV4fVxuICAgKiBGb3IgU01DIChTZWxmLU1hbmFnZWQgQ3VzdG9kaWFsKSB3YWxsZXRzLCB0aGUgcGF0aCBpbmNsdWRlcyBhIHByZWZpeDogbS97ZGVyaXZhdGlvblByZWZpeH0ve2luZGV4fVxuICAgKi9cbiAgaW5kZXg6IG51bWJlciB8IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHNlZWQgdmFsdWUgZnJvbSB1c2VyIGtleWNoYWluJ3MgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCBmaWVsZC5cbiAgICogRm9yIFNNQyAoU2VsZi1NYW5hZ2VkIEN1c3RvZGlhbCkgd2FsbGV0cywgdGhpcyBpcyB1c2VkIHRvIGNvbXB1dGUgdGhlIGRlcml2YXRpb24gcHJlZml4LlxuICAgKiBUaGUgZGVyaXZhdGlvbiBwYXRoIGJlY29tZXMge2NvbXB1dGVkUHJlZml4fS97aW5kZXh9IGluc3RlYWQgb2YgbS97aW5kZXh9LlxuICAgKi9cbiAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZD86IHN0cmluZztcbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIE1QQyBzaWduaW5nIHByb3RvY29sIHZlcnNpb24gb2YgdGhlIHdhbGxldCAoZS5nLiAnTVBDdjInKS5cbiAgICogVXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIE1QQ3YxIGFuZCBNUEN2MiB3YWxsZXRzLlxuICAgKi9cbiAgbXVsdGlzaWdUeXBlVmVyc2lvbj86ICdNUEN2Mic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rzc1ZlcmlmeUFkZHJlc3NPcHRpb25zPFQgZXh0ZW5kcyBWZXJpZnlBZGRyZXNzT3B0aW9ucyB8IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zPihcbiAgcGFyYW1zOiBUXG4pOiBwYXJhbXMgaXMgVCAmIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgcmV0dXJuICEhKFxuICAgICdrZXljaGFpbnMnIGluIHBhcmFtcyAmJlxuICAgICdpbmRleCcgaW4gcGFyYW1zICYmXG4gICAgJ2FkZHJlc3MnIGluIHBhcmFtcyAmJlxuICAgIHBhcmFtcy5rZXljaGFpbnM/LnNvbWUoKGtjKSA9PiAnY29tbW9uS2V5Y2hhaW4nIGluIGtjICYmICEha2MuY29tbW9uS2V5Y2hhaW4pXG4gICk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgbG9jYWxseSBkZXJpdmluZyBhIHdhbGxldCByZWNlaXZlIGFkZHJlc3MgZnJvbSBhIGRlcml2YXRpb24gcGF0aC5cbiAqXG4gKiBVbmxpa2Uge0BsaW5rIFZlcmlmeUFkZHJlc3NPcHRpb25zfSwgd2hpY2ggY2hlY2tzIGEgY2FuZGlkYXRlIGFkZHJlc3MsIHRoZXNlIG9wdGlvbnMgYXJlXG4gKiB1c2VkIHRvICpwcm9kdWNlKiB0aGUgYWRkcmVzcyBvZmZsaW5lIGZyb20gcHVibGljIGtleSBtYXRlcmlhbCBvbmx5OlxuICogLSB0aGUgdXNlci9iYWNrdXAvYml0Z28geHB1YiB0cmlwbGUgKGBwdWJgKSBmb3IgQklQMzIgbXVsdGlzaWcgY29pbnMsIG9yXG4gKiAtIHRoZSBgY29tbW9uS2V5Y2hhaW5gIGZvciBUU1MvTVBDIGNvaW5zLlxuICpcbiAqIE5vIHByaXZhdGUga2V5cyBhbmQgbm8gbmV0d29yayBhY2Nlc3MgYXJlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcml2ZUFkZHJlc3NPcHRpb25zXG4gIGV4dGVuZHMgUGljazxWZXJpZnlBZGRyZXNzT3B0aW9ucywgJ2Zvcm1hdCcgfCAnZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCcgfCAnbXVsdGlzaWdUeXBlVmVyc2lvbic+IHtcbiAgLy8gYGZvcm1hdGAsIGBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkYCBhbmQgYG11bHRpc2lnVHlwZVZlcnNpb25gIGFyZSByZXVzZWQgZnJvbVxuICAvLyBWZXJpZnlBZGRyZXNzT3B0aW9ucyBzbyBkZXJpdmUgYW5kIHZlcmlmeSBzdGF5IGluIHN5bmMgb24gc2hhcmVkIGZpZWxkcy5cbiAgLyoqXG4gICAqIERlcml2YXRpb24gaW5kZXggZm9yIHRoZSBhZGRyZXNzLlxuICAgKiBGb3IgQklQMzIgbXVsdGlzaWcgY29pbnMgdGhpcyBpcyBjb21iaW5lZCB3aXRoIGBjaGFpbmA7IGZvciBUU1MvTVBDIGNvaW5zIHRoZVxuICAgKiBkZXJpdmF0aW9uIHBhdGggaXMgYG0ve2luZGV4fWAgKG9yIGB7cHJlZml4fS97aW5kZXh9YCBmb3IgU01DIHdhbGxldHMpLlxuICAgKi9cbiAgaW5kZXg6IG51bWJlcjtcbiAgLyoqIERlcml2YXRpb24gY2hhaW4gY29kZSAoVVRYTyBzY3JpcHQtdHlwZSAvIGV4dGVybmFsLXZzLWludGVybmFsIHNlbGVjdG9yKS4gKi9cbiAgY2hhaW4/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBQdWJsaWMga2V5IG1hdGVyaWFsIGZvciBkZXJpdmF0aW9uLiBFYWNoIGtleWNoYWluIG11c3QgY2FycnkgYXQgbGVhc3Qgb25lIG9mOlxuICAgKiAtIEJJUDMyIG11bHRpc2lnIChVVFhPLCBsZWdhY3kgRVZNKTogdGhlIHVzZXIvYmFja3VwL2JpdGdvIHhwdWIgdHJpcGxlIHZpYSBgcHViYC5cbiAgICogLSBUU1MvTVBDIChTT0wsIEVWTSBNUEMsIGV0Yy4pOiB0aGUgYGNvbW1vbktleWNoYWluYCAoaWRlbnRpY2FsIGFjcm9zcyBrZXljaGFpbnMpLlxuICAgKlxuICAgKiBNb2RlbGxlZCBhcyBhIHVuaW9uIHNvIGEga2V5Y2hhaW4gd2l0aCBuZWl0aGVyIGZpZWxkIGlzIGEgdHlwZSBlcnJvci4gQSBrZXljaGFpbiBtYXlcbiAgICogc3RpbGwgY2FycnkgYm90aCBmaWVsZHMgKFRTUyBrZXljaGFpbnMgY29tbW9ubHkgZXhwb3NlIGBwdWJgIGFsb25nc2lkZSBgY29tbW9uS2V5Y2hhaW5gKS5cbiAgICovXG4gIGtleWNoYWlucz86ICh7IHB1Yjogc3RyaW5nIH0gfCB7IGNvbW1vbktleWNoYWluOiBzdHJpbmcgfSlbXTtcbiAgLyoqIFdhbGxldCB2ZXJzaW9uLCB1c2VkIHRvIGRpc2FtYmlndWF0ZSBkZXJpdmF0aW9uIHN0cmF0ZWd5IGZvciBzb21lIGNvaW4gZmFtaWxpZXMuICovXG4gIHdhbGxldFZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUb2tlbiBuYW1lIChlLmcuIGBzb2w6dXNkY2AsIGB0c29sOnVzZHRgKSB0byBkZXJpdmUgYSB0b2tlbiBkZXBvc2l0IGFkZHJlc3MgaW5zdGVhZCBvZiB0aGVcbiAgICogbmF0aXZlIHJlY2VpdmUgYWRkcmVzcy4gRm9yIFNvbGFuYSB0aGlzIHJlc29sdmVzIHRvIHRoZSBTUEwgbWludCBhbmQgcmV0dXJucyB0aGUgd2FsbGV0J3NcbiAgICogQXNzb2NpYXRlZCBUb2tlbiBBY2NvdW50IChBVEEpIGZvciB0aGF0IG1pbnQuIElnbm9yZWQgYnkgY29pbnMvdG9rZW5zIHRoYXQgcmV1c2UgdGhlIG5hdGl2ZVxuICAgKiBhZGRyZXNzIChlLmcuIEVSQy0yMCBvbiBFVk0pLlxuICAgKi9cbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogV2FsbGV0IGJhc2UgYWRkcmVzcyAodGhlIHdhbGxldCBjb250cmFjdCBhZGRyZXNzIGZvciBFVk0gd2FsbGV0cykuIFJlcXVpcmVkIHRvIGRlcml2ZVxuICAgKiBwZXItaW5kZXggZm9yd2FyZGVyIChDUkVBVEUyKSByZWNlaXZlIGFkZHJlc3NlcyBmb3IgbGVnYWN5IG11bHRpc2lnIEVWTSB3YWxsZXRzLlxuICAgKi9cbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDb2luLXNwZWNpZmljIGRlcml2YXRpb24gaW5wdXRzLiBGb3IgRVZNIGxlZ2FjeSBmb3J3YXJkZXIgd2FsbGV0cyB0aGlzIGNhcnJpZXNcbiAgICogYGZvcndhcmRlclZlcnNpb25gICgxLzIvNCkgYW5kLCBmb3IgdjQsIGBmZWVBZGRyZXNzYC5cbiAgICovXG4gIGNvaW5TcGVjaWZpYz86IEFkZHJlc3NDb2luU3BlY2lmaWM7XG59XG5cbi8qKlxuICogUmVzdWx0IG9mIGxvY2FsbHkgZGVyaXZpbmcgYSB3YWxsZXQgcmVjZWl2ZSBhZGRyZXNzLlxuICpcbiAqIEV4dGVuZHMge0BsaW5rIEFkZHJlc3NWZXJpZmljYXRpb25EYXRhfSAoYGNoYWluYCwgYGluZGV4YCwgYGNvaW5TcGVjaWZpY2ApIGFuZCBhZGRzIHRoZVxuICogcmVzb2x2ZWQgYGFkZHJlc3NgIGFuZCB0aGUgSEQgYGRlcml2YXRpb25QYXRoYCBhY3R1YWxseSB1c2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcml2ZUFkZHJlc3NSZXN1bHQgZXh0ZW5kcyBBZGRyZXNzVmVyaWZpY2F0aW9uRGF0YSB7XG4gIC8qKiBUaGUgZGVyaXZlZCBhZGRyZXNzLiAqL1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8qKiBUaGUgZGVyaXZhdGlvbiBpbmRleCB1c2VkLiAqL1xuICBpbmRleDogbnVtYmVyO1xuICAvKiogVGhlIEhEIGRlcml2YXRpb24gcGF0aCBhY3R1YWxseSB1c2VkIHRvIGRlcml2ZSB0aGUgYWRkcmVzcy4gKi9cbiAgZGVyaXZhdGlvblBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25QYXJhbXMge1xuICByZWNpcGllbnRzPzogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG1lbW8/OiBNZW1vO1xuICBlbmFibGVUb2tlbnM/OiBUb2tlbkVuYWJsZW1lbnRbXTtcbiAgc3Rha2luZ1JlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzVmVyaWZpY2F0aW9uRGF0YSB7XG4gIGNvaW5TcGVjaWZpYz86IEFkZHJlc3NDb2luU3BlY2lmaWM7XG4gIGNoYWluPzogbnVtYmVyO1xuICBpbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZmljYXRpb25PcHRpb25zIHtcbiAgZGlzYWJsZU5ldHdvcmtpbmc/OiBib29sZWFuO1xuICBrZXljaGFpbnM/OiB7XG4gICAgdXNlcj86IEtleWNoYWluO1xuICAgIGJhY2t1cD86IEtleWNoYWluO1xuICAgIGJpdGdvPzogS2V5Y2hhaW47XG4gIH07XG4gIGFkZHJlc3Nlcz86IHsgW2FkZHJlc3M6IHN0cmluZ106IEFkZHJlc3NWZXJpZmljYXRpb25EYXRhIH07XG4gIGFsbG93UGF5Z29PdXRwdXQ/OiBib29sZWFuO1xuICBjb25zaWRlck1pZ3JhdGVkRnJvbUFkZHJlc3NJbnRlcm5hbD86IGJvb2xlYW47XG4gIHZlcmlmeVRva2VuRW5hYmxlbWVudD86IGJvb2xlYW47XG4gIC8vIFZlcmlmeSB0cmFuc2FjdGlvbiBpcyBjb25zb2xpZGF0aW5nIHRvIHdhbGxldCdzIGJhc2UgYWRkcmVzc1xuICBjb25zb2xpZGF0aW9uVG9CYXNlQWRkcmVzcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgdHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zO1xuICB3YWxsZXQ6IElXYWxsZXQ7XG4gIHZlcmlmaWNhdGlvbj86IFZlcmlmaWNhdGlvbk9wdGlvbnM7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHdhbGxldFR5cGU/OiAnb25jaGFpbicgfCAndHNzJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdXBwbGVtZW50R2VuZXJhdGVXYWxsZXRPcHRpb25zIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgbT86IG51bWJlcjtcbiAgbj86IG51bWJlcjtcbiAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgZGlzYWJsZVRyYW5zYWN0aW9uTm90aWZpY2F0aW9ucz86IGJvb2xlYW47XG4gIGdhc1ByaWNlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBlaXAxNTU5Pzoge1xuICAgIG1heEZlZVBlckdhczogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG1heFByaW9yaXR5RmVlUGVyR2FzPzogbnVtYmVyIHwgc3RyaW5nO1xuICB9O1xuICB3YWxsZXRWZXJzaW9uPzogbnVtYmVyO1xuICBrZXlzPzogc3RyaW5nW107XG4gIGtleVNpZ25hdHVyZXM/OiB7XG4gICAgYmFja3VwOiBzdHJpbmc7XG4gICAgYml0Z286IHN0cmluZztcbiAgfTtcbiAgcm9vdFByaXZhdGVLZXk/OiBzdHJpbmc7XG4gIGRpc2FibGVLUlNFbWFpbD86IGJvb2xlYW47XG4gIG11bHRpc2lnVHlwZT86ICd0c3MnIHwgJ29uY2hhaW4nIHwgJ2Jsc2RrZyc7XG4gIHR5cGU6ICdob3QnIHwgJ2NvbGQnIHwgJ2N1c3RvZGlhbCcgfCAnYWR2YW5jZWQnIHwgJ3RyYWRpbmcnO1xuICBzdWJUeXBlPzogJ2xpZ2h0bmluZ0N1c3RvZHknIHwgJ2xpZ2h0bmluZ1NlbGZDdXN0b2R5JyB8ICdvblByZW0nO1xuICBjb2luU3BlY2lmaWM/OiB7IFtjb2luTmFtZTogc3RyaW5nXTogdW5rbm93biB9O1xuICBldm1LZXlSaW5nUmVmZXJlbmNlV2FsbGV0SWQ/OiBzdHJpbmc7XG4gIGxpZ2h0bmluZ1Byb3ZpZGVyPzogJ3ZvbHRhZ2UnIHwgJ2FtYm9zcyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlRXN0aW1hdGVPcHRpb25zIHtcbiAgbnVtQmxvY2tzPzogbnVtYmVyO1xuICBob3A/OiBib29sZWFuO1xuICByZWNpcGllbnQ/OiBzdHJpbmc7XG4gIGRhdGE/OiBzdHJpbmc7XG4gIGFtb3VudD86IHN0cmluZztcbiAgdHlwZT86IGtleW9mIHR5cGVvZiBUcmFuc2FjdGlvblR5cGU7XG59XG5cbi8qKiBIb3cgYSBaY2FzaCBVbmlmaWVkIEFkZHJlc3MgcmVjaXBpZW50IHNob3VsZCBiZSByZXNvbHZlZC4gKi9cbmV4cG9ydCB0eXBlIFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlID0gdW5pZmllZEFkZHJlc3NQcmVmZXJlbmNlO1xuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBFeHRyYVByZWJ1aWxkUGFyYW1zT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBob3cgdG8gcmVzb2x2ZSBhIFVuaWZpZWQgQWRkcmVzcyByZWNpcGllbnQgKGAnc2hpZWxkZWQnYCBvciBgJ3RyYW5zcGFyZW50J2ApLlxuICAgKi9cbiAgdW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2U/OiBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZTtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhQcmVidWlsZD86IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIHdhbGxldERhdGE6IFdhbGxldERhdGE7XG4gIHRzc1V0aWxzOiBFY2RzYVV0aWxzIHwgRWNkc2FNUEN2MlV0aWxzIHwgRWRkc2FVdGlscyB8IEVkZHNhTVBDdjJVdGlscyB8IFJlZHBhbGxhc01QQ3YyVXRpbHMgfCB1bmRlZmluZWQ7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUHJlY3JlYXRlQml0R29PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlSZWNvdmVyeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8qKlxuICogVGhpcyBpcyBvbmx5IHVzZWQgZm9yIGRldGVybWluaW5nIHRoZSBQYXlHbyBmZWUgb2YgYSB0cmFuc2FjdGlvbiB3aGljaCBpcyBvbmx5IHJlbGV2YW50IGZvciBVVFhPIGNvaW5zLlxuICogU29tZSBjb2lucyByZXR1cm4gdmFyaW91cyBvdGhlciBmaWVsZHMgaGVyZSwgYnV0IHRoZXkgYXJlIG9ubHkgdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSByZXNwZWN0aXZlIGNvaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZFRyYW5zYWN0aW9uIHtcbiAgLy8gdGhlIGNhbGxzaXRlIGFzc3VtZXMgdGhhdCB0aGlzIGlzIHRoZSBQYXlHbyBhbW91bnRcbiAgaW1wbGljaXRFeHRlcm5hbFNwZW5kQW1vdW50PzogbnVtYmVyIHwgYmlnaW50O1xuICAvLyBjb2lucyBtYXkgYWRkIGludGVybmFsIGZpZWxkc1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgdHlwZSBVbnNpZ25lZFBhcnNlZFRyYW5zYWN0aW9uID0ge1xuICBpbnB1dHM6IElucHV0W107XG4gIG1pbmVyRmVlOiBudW1iZXIgfCBzdHJpbmc7XG4gIG91dHB1dHM6IE91dHB1dFtdO1xuICBzcGVuZEFtb3VudDogbnVtYmVyIHwgc3RyaW5nO1xuICBoYXNVbnZhbGlkYXRlZERhdGE/OiBib29sZWFuO1xuICBwYXlHb0ZlZT86IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgc2VxdWVuY2VJZDogbnVtYmVyO1xuICBpZDogc3RyaW5nO1xufTtcblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXljaGFpbnNUcmlwbGV0IHtcbiAgdXNlcktleWNoYWluOiBLZXljaGFpbjtcbiAgYmFja3VwS2V5Y2hhaW46IEtleWNoYWluO1xuICBiaXRnb0tleWNoYWluOiBLZXljaGFpbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWdodG5pbmdLZXljaGFpbnNUcmlwbGV0IHtcbiAgdXNlcktleWNoYWluOiBLZXljaGFpbjtcbiAgdXNlckF1dGhLZXljaGFpbjogS2V5Y2hhaW47XG4gIG5vZGVBdXRoS2V5Y2hhaW46IEtleWNoYWluO1xufVxuXG5pbnRlcmZhY2UgQnVpbGRQYXJhbXMge1xuICBwcmV2aWV3PzogYm9vbGVhbjtcbiAgcmVjaXBpZW50cz86IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xufVxuXG5pbnRlcmZhY2UgQmFzZVNpZ25hYmxlIHtcbiAgd2FsbGV0PzogSVdhbGxldDtcbiAgYnVpbGRQYXJhbXM/OiBCdWlsZFBhcmFtcyAmIFBhcnRpYWw8YW55PjtcbiAgY29uc29saWRhdGVJZD86IHN0cmluZztcbiAgdHhSZXF1ZXN0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25QcmVidWlsZCBleHRlbmRzIEJhc2VTaWduYWJsZSB7XG4gIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB0eEhleD86IHN0cmluZztcbiAgdHhJbmZvPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBYcHViV2l0aERlcml2YXRpb25QYXRoIHtcbiAgeHB1Yjogc3RyaW5nO1xuICBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGRUcmFuc2FjdGlvblByZWJ1aWxkIHtcbiAgcHVicz86IHN0cmluZ1tdO1xuICB4cHVic1dpdGhEZXJpdmF0aW9uUGF0aD86IFBhcnRpYWw8UmVjb3JkPEFwaUtleVNoYXJlWydmcm9tJ10sIFhwdWJXaXRoRGVyaXZhdGlvblBhdGg+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgbWVzc2FnZVN0YW5kYXJkVHlwZT86IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHNpZ25lckFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKiBCYXNlNjQtZW5jb2RlZCBwcmVwYXJlZCB0cmFuc2FjdGlvbiBieXRlcyByZXF1aXJlZCBieSBDYW50b24gbWVzc2FnZSBzaWduaW5nLiAqL1xuICBwcmVwYXJlZFRyYW5zYWN0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VUeXBlUHJvcGVydHkge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGVzIHtcbiAgRUlQNzEyRG9tYWluOiBNZXNzYWdlVHlwZVByb3BlcnR5W107XG4gIFthZGRpdGlvbmFsUHJvcGVydGllczogc3RyaW5nXTogTWVzc2FnZVR5cGVQcm9wZXJ0eVtdO1xufVxuXG5leHBvcnQgZW51bSBTaWduVHlwZWREYXRhVmVyc2lvbiB7XG4gIFYxID0gJ1YxJyxcbiAgVjMgPSAnVjMnLFxuICBWNCA9ICdWNCcsXG59XG5cbi8qKlxuICogVGhpcyBpcyB0aGUgbWVzc2FnZSBmb3JtYXQgdXNlZCBmb3IgYHNpZ25UeXBlRGF0YWAsIGZvciBhbGwgdmVyc2lvbnNcbiAqIGV4Y2VwdCBgVjFgLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGN1c3RvbSB0eXBlcyB1c2VkIGJ5IHRoaXMgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSB0eXBlcyAtIFRoZSBjdXN0b20gdHlwZXMgdXNlZCBieSB0aGlzIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkgcHJpbWFyeVR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBkb21haW4gLSBTaWduaW5nIGRvbWFpbiBtZXRhZGF0YS4gVGhlIHNpZ25pbmcgZG9tYWluIGlzIHRoZSBpbnRlbmRlZCBjb250ZXh0IGZvciB0aGVcbiAqIHNpZ25hdHVyZSAoZS5nLiB0aGUgZGFwcCwgcHJvdG9jb2wsIGV0Yy4gdGhhdCBpdCdzIGludGVuZGVkIGZvcikuIFRoaXMgZGF0YSBpcyB1c2VkIHRvXG4gKiBjb25zdHJ1Y3QgdGhlIGRvbWFpbiBzZXBlcmF0b3Igb2YgdGhlIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkgZG9tYWluLm5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgc2lnbmluZyBkb21haW4uXG4gKiBAcHJvcGVydHkgZG9tYWluLnZlcnNpb24gLSBUaGUgY3VycmVudCBtYWpvciB2ZXJzaW9uIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4uY2hhaW5JZCAtIFRoZSBjaGFpbiBJRCBvZiB0aGUgc2lnbmluZyBkb21haW4uXG4gKiBAcHJvcGVydHkgZG9tYWluLnZlcmlmeWluZ0NvbnRyYWN0IC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGNvbnRyYWN0IHRoYXQgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlLlxuICogQHByb3BlcnR5IGRvbWFpbi5zYWx0IC0gQSBkaXNhbWJpZ3VhdGluZyBzYWx0IGZvciB0aGUgcHJvdG9jb2wuXG4gKiBAcHJvcGVydHkgbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIHNpZ25lZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlZE1lc3NhZ2U8VCBleHRlbmRzIE1lc3NhZ2VUeXBlcz4ge1xuICB0eXBlczogVDtcbiAgcHJpbWFyeVR5cGU6IGtleW9mIFQ7XG4gIGRvbWFpbjoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBjaGFpbklkPzogbnVtYmVyO1xuICAgIHZlcmlmeWluZ0NvbnRyYWN0Pzogc3RyaW5nO1xuICAgIHNhbHQ/OiBBcnJheUJ1ZmZlcjtcbiAgfTtcbiAgbWVzc2FnZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWREYXRhIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgdHlwZWREYXRhUmF3OiBzdHJpbmc7XG4gIHZlcnNpb246IFNpZ25UeXBlZERhdGFWZXJzaW9uO1xuICB0eXBlZERhdGFFbmNvZGVkPzogQnVmZmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3NDb2luU3BlY2lmaWMge1xuICBvdXRwdXRTY3JpcHQ/OiBzdHJpbmc7XG4gIHJlZGVlbVNjcmlwdD86IHN0cmluZztcbiAgd2l0bmVzc1NjcmlwdD86IHN0cmluZztcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHBlbmRpbmdDaGFpbkluaXRpYWxpemF0aW9uPzogYm9vbGVhbjtcbiAgZm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbiAgLyoqIEZlZSBhZGRyZXNzIGZvciB2NCBFVk0gZm9yd2FyZGVycyAodXNlZCB3aGVuIGRlcml2aW5nL3ZlcmlmeWluZyB2NCBmb3J3YXJkZXIgYWRkcmVzc2VzKS4gKi9cbiAgZmVlQWRkcmVzcz86IHN0cmluZztcbiAgLyoqXG4gICAqIFpjYXNoIHNoaWVsZGVkIChPcmNoYXJkL0lyb253b29kKSByZWNlaXZlciBkYXRhIHJlcG9ydGVkIGJ5IHdhbGxldC1wbGF0Zm9ybS4gUHJlc2VudFxuICAgKiBvbmx5IGZvciBzaGllbGRlZCBhZGRyZXNzZXM7IHNlZSBgYXNzZXJ0U2hpZWxkZWRXYWxsZXRBZGRyZXNzYC5cbiAgICovXG4gIHNoaWVsZGVkPzoge1xuICAgIC8qKiBSZWNlaXZlciB0eXBlLCBlLmcuICdpcm9ud29vZCcuICovXG4gICAgdHlwZT86IHN0cmluZztcbiAgICAvKiogMTEtYnl0ZSBoZXggZGl2ZXJzaWZpZXIuICovXG4gICAgZGl2ZXJzaWZpZXI/OiBzdHJpbmc7XG4gICAgLyoqIDMyLWJ5dGUgaGV4IGBwa19kYC4gKi9cbiAgICBwa0Q/OiBzdHJpbmc7XG4gICAgLyoqIFdhbGxldCBhZGRyZXNzIGluZGV4IHRoZSBkaXZlcnNpZmllciB3YXMgZGVyaXZlZCBmcm9tLiAqL1xuICAgIGRpdmVyc2lmaWVySW5kZXg/OiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVsbHlTaWduZWRUcmFuc2FjdGlvbiB7XG4gIHR4SGV4OiBzdHJpbmc7IC8vIFRyYW5zYWN0aW9uIGluIGFueSBmb3JtYXQgcmVxdWlyZWQgYnkgZWFjaCBjb2luLCBpLmUuIGluIFRyb24gaXQgaXMgYSBzdHJpbmdpZnllZCBKU09OXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbiB7XG4gIHR4SGV4OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQU0JULWxpdGUgaGV4IHByZXNlcnZlZCBmcm9tIGEgcGVuZGluZyBhcHByb3ZhbCdzIGNvaW5TcGVjaWZpYy5cbiAgICogT25seSBwcmVzZW50IGluIHRoZSBQQSBhcHByb3ZhbCBmbG93IOKAlCBub3QgaW4gcmVndWxhciBzaWduL3NlbmQgZmxvd3MuXG4gICAqL1xuICB0eEhleFBzYnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFsZlNpZ25lZEFjY291bnRUcmFuc2FjdGlvbiB7XG4gIGhhbGZTaWduZWQ/OiB7XG4gICAgdHhIZXg/OiBzdHJpbmc7IC8vIFRyYW5zYWN0aW9uIGluIGFueSBmb3JtYXQgcmVxdWlyZWQgYnkgZWFjaCBjb2luLCBpLmUuIGluIFRyb24gaXQgaXMgYSBzdHJpbmdpZnllZCBKU09OXG4gICAgcGF5bG9hZD86IHN0cmluZztcbiAgICB0eEJhc2U2ND86IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkVHJhbnNhY3Rpb24gZXh0ZW5kcyBIYWxmU2lnbmVkQWNjb3VudFRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZDoge1xuICAgIHJlY2lwaWVudHM6IFJlY2lwaWVudFtdO1xuICAgIGV4cGlyZVRpbWU/OiBudW1iZXI7XG4gICAgY29udHJhY3RTZXF1ZW5jZUlkPzogbnVtYmVyO1xuICAgIHNlcXVlbmNlSWQ/OiBudW1iZXI7XG4gICAgdHhIZXg/OiBuZXZlcjtcbiAgICBpc0JhdGNoPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduZWRUcmFuc2FjdGlvblJlcXVlc3Qge1xuICB0eFJlcXVlc3RJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcml2ZUtleVdpdGhTZWVkT3B0aW9ucyB7XG4gIGtleTogc3RyaW5nO1xuICBzZWVkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRNb2ZOT3B0aW9ucyB7XG4gIG0/OiBudW1iZXI7XG4gIG4/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFNpZ25lZFRyYW5zYWN0aW9uID1cbiAgfCBIYWxmU2lnbmVkQWNjb3VudFRyYW5zYWN0aW9uXG4gIHwgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvblxuICB8IEZ1bGx5U2lnbmVkVHJhbnNhY3Rpb25cbiAgfCBTaWduZWRUcmFuc2FjdGlvblJlcXVlc3RcbiAgfCBUeFJlcXVlc3Q7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVkTWVzc2FnZSB7XG4gIGNvaW4/OiBzdHJpbmc7XG4gIC8vIEBkZXByZWNhdGVkIC0gdXNlIGBzaWduYXR1cmVgIGluc3RlYWRcbiAgdHhIYXNoOiBzdHJpbmc7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xuICBtZXNzYWdlUmF3OiBzdHJpbmc7XG4gIG1lc3NhZ2VFbmNvZGVkPzogc3RyaW5nO1xuICBtZXNzYWdlU3RhbmRhcmRUeXBlPzogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyV2FsbGV0VG9rZW5PcHRpb25zIHtcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgd2FsbGV0OiBJV2FsbGV0O1xuICByZWNpcGllbnQ6IHN0cmluZztcbiAgYnJvYWRjYXN0PzogYm9vbGVhbjtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcHJ2Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGRhdGE/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlclRva2VuVHJhbnNhY3Rpb24ge1xuICBoYWxmU2lnbmVkOiB7XG4gICAgcmVjaXBpZW50OiBSZWNpcGllbnQ7XG4gICAgZXhwaXJlVGltZTogbnVtYmVyO1xuICAgIGNvbnRyYWN0U2VxdWVuY2VJZDogbnVtYmVyO1xuICAgIG9wZXJhdGlvbkhhc2g6IHN0cmluZztcbiAgICBzaWduYXR1cmU6IHN0cmluZztcbiAgICBnYXNMaW1pdDogbnVtYmVyO1xuICAgIGdhc1ByaWNlOiBudW1iZXI7XG4gICAgdG9rZW5Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgICB3YWxsZXRJZDogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuRW5hYmxlbWVudENvbmZpZyB7XG4gIHJlcXVpcmVzVG9rZW5FbmFibGVtZW50OiBib29sZWFuO1xuICBzdXBwb3J0c011bHRpcGxlVG9rZW5FbmFibGVtZW50czogYm9vbGVhbjtcbiAgdmFsaWRhdGVXYWxsZXQ/OiAod2FsbGV0VHlwZTogc3RyaW5nKSA9PiB2b2lkO1xuICBnZXRFbmFibGVUb2tlblR5cGU/OiAodG9rZW5OYW1lOiBzdHJpbmcpID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlUHJlcCB7XG4gIGVuY29kZU1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nO1xufVxuXG4vKipcbiAqICdyZWRwYWxsYXMnIGlzIHRoZSBNUEMgYWxnb3JpdGhtIHVzZWQgZm9yIHRoZSBaY2FzaCBPcmNoYXJkIHNoaWVsZGVkIHBvb2wgKFJlZFBhbGxhcyAvXG4gKiBcIklyb253b29kXCIpLiBUb2RheSBpdCBvbmx5IHN1cHBvcnRzIERLRyAoa2V5IGdlbmVyYXRpb24pIHZpYSBNUEN2MiBpbiB0aGlzIFNESyAtIHRoZXJlIGlzIG5vXG4gKiBvbmxpbmUgc2VsZi1jdXN0b2R5IERTRyAodHJhbnNhY3Rpb24gc2lnbmluZykgZW50cnlwb2ludCB5ZXQsIHRob3VnaCB0aGUgdW5kZXJseWluZ1xuICogc2lnbmF0dXJlLXNoYXJlIHByaW1pdGl2ZXMgKGBiaXRnby90c3MvcmVkcGFsbGFzYCkgYW5kIHRoZSBgc2VuZFNpZ25hdHVyZVNoYXJlVjJgIE1QQ3YyXG4gKiByZXF1ZXN0IHR5cGUgZXhpc3QgYXMgZ3JvdW5kd29yayBmb3IgYSBmdXR1cmUgY3VzdG9kaWFsL2NvbGQgKFNNQy9PVkMpIERTRyBzaWduaW5nIGZsb3cuXG4gKiBJdCBpcyBhZGRpdGl2ZTogZXhpc3RpbmcgY29pbnMgbmV2ZXIgcmV0dXJuIGl0IGZyb20gYGdldE1QQ0FsZ29yaXRobSgpYCB1bmxlc3MgZXhwbGljaXRseVxuICogaW1wbGVtZW50ZWQgdG8gZG8gc28sIHNvIHRoaXMgZG9lcyBub3QgY2hhbmdlIGJlaGF2aW9yIGZvciBhbnkgZXhpc3RpbmcgRUNEU0EvRWREU0EgY29pbiBvclxuICogZm9yIFpFQydzIGV4aXN0aW5nIHRyYW5zcGFyZW50IChzZWNwMjU2azEpIG11bHRpc2lnL1RTUyBmbG93cy5cbiAqL1xuZXhwb3J0IHR5cGUgTVBDQWxnb3JpdGhtID0gJ2VjZHNhJyB8ICdlZGRzYScgfCAncmVkcGFsbGFzJztcblxuZXhwb3J0IHR5cGUgTkZUVHJhbnNmZXJPcHRpb25zID0ge1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICByZWNpcGllbnRBZGRyZXNzOiBzdHJpbmc7XG59ICYgKFxuICB8IHtcbiAgICAgIHR5cGU6ICdFUkM3MjEnIHwgVG9rZW5UeXBlLkRJR0lUQUxfQVNTRVQ7XG4gICAgICB0b2tlbklkOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdFUkMxMTU1JztcbiAgICAgIGVudHJpZXM6IHsgdG9rZW5JZDogc3RyaW5nOyBhbW91bnQ6IG51bWJlciB9W107XG4gICAgfVxuKTtcblxuZXhwb3J0IHR5cGUgQnVpbGROZnRUcmFuc2ZlckRhdGFPcHRpb25zID0gTkZUVHJhbnNmZXJPcHRpb25zICYge1xuICBmcm9tQWRkcmVzczogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9ucz86IE1QQ1R4W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgdHhJZD86IHN0cmluZztcbiAgdHhJZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmFzZUNvaW4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRva2VuQ29uZmlnPzogQmFzZVRva2VuQ29uZmlnO1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgdXJsKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nO1xuICB3YWxsZXRzKCk6IElXYWxsZXRzO1xuICBlbnRlcnByaXNlcygpOiBJRW50ZXJwcmlzZXM7XG4gIGtleWNoYWlucygpOiBJS2V5Y2hhaW5zO1xuICB3ZWJob29rcygpOiBJV2ViaG9va3M7XG4gIHBlbmRpbmdBcHByb3ZhbHMoKTogSVBlbmRpbmdBcHByb3ZhbHM7XG4gIG1hcmtldHMoKTogSU1hcmtldHM7XG4gIGdldENoYWluKCk6IHN0cmluZztcbiAgZ2V0RmFtaWx5KCk6IHN0cmluZztcbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nO1xuICB2YWx1ZWxlc3NUcmFuc2ZlckFsbG93ZWQoKTogYm9vbGVhbjtcbiAgY2hlY2tSZWNpcGllbnQoXG4gICAgcmVjaXBpZW50OiB7IGFkZHJlc3M6IHN0cmluZzsgYW1vdW50OiBzdHJpbmcgfCBudW1iZXIgfSxcbiAgICBvcHRpb25zPzogeyBhbGxvd1plcm9BbW91bnQ/OiBib29sZWFuIH1cbiAgKTogdm9pZDtcbiAgc3dlZXBXaXRoU2VuZE1hbnkoKTogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25EYXRhQWxsb3dlZCgpOiBib29sZWFuO1xuICBhbGxvd3NBY2NvdW50Q29uc29saWRhdGlvbnMoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNSZXNvdXJjZURlbGVnYXRpb24oKTogYm9vbGVhbjtcbiAgZ2V0VG9rZW5FbmFibGVtZW50Q29uZmlnKCk6IFRva2VuRW5hYmxlbWVudENvbmZpZztcbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNNdWx0aXNpZygpOiBib29sZWFuO1xuICBnZXREZWZhdWx0TXVsdGlzaWdUeXBlKCk6IE11bHRpc2lnVHlwZSB8IHVuZGVmaW5lZDtcbiAgc3VwcG9ydHNEZXJpdmVLZXlXaXRoU2VlZCgpOiBib29sZWFuO1xuICBpc0VWTSgpOiBib29sZWFuO1xuICBzdXBwb3J0c0Jsc0RrZygpOiBib29sZWFuO1xuICBwcmVwYXJlQ29sZFRyYW5zYWN0aW9uPFQgZXh0ZW5kcyBUcmFuc2FjdGlvblByZWJ1aWxkPihcbiAgICB0eFByZWJ1aWxkOiBULFxuICAgIGtleWNoYWluczogVHJpcGxlPEtleWNoYWluPlxuICApOiBUICYgQ29sZFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHwgc3RyaW5nO1xuICBiYXNlVW5pdHNUb0JpZ1VuaXRzKGJhc2VVbml0czogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nO1xuICBiaWdVbml0c1RvQmFzZVVuaXRzKGJpZ1VuaXRzOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmc7XG4gIHByZXByb2Nlc3NCdWlsZFBhcmFtcyhwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBzaWduTWVzc2FnZShrZXk6IHsgcHJ2OiBzdHJpbmcgfSwgbWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+O1xuICBjcmVhdGVLZXlTaWduYXR1cmVzKFxuICAgIHBydjogc3RyaW5nLFxuICAgIGJhY2t1cEtleWNoYWluOiB7IHB1Yjogc3RyaW5nIH0sXG4gICAgYml0Z29LZXljaGFpbjogeyBwdWI6IHN0cmluZyB9XG4gICk6IFByb21pc2U8e1xuICAgIGJhY2t1cDogc3RyaW5nO1xuICAgIGJpdGdvOiBzdHJpbmc7XG4gIH0+O1xuICBleHBsYWluVHJhbnNhY3Rpb24oXG4gICAgb3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICB3YWxsZXQ/OiBJV2FsbGV0XG4gICk6IFByb21pc2U8SVRyYW5zYWN0aW9uRXhwbGFuYXRpb248YW55LCBzdHJpbmcgfCBudW1iZXI+IHwgdW5kZWZpbmVkPjtcbiAgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+O1xuICB2ZXJpZnlBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+O1xuICBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyB8IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLCB3YWxsZXQ/OiBJV2FsbGV0KTogUHJvbWlzZTxib29sZWFuPjtcbiAgZGVyaXZlQWRkcmVzcyhwYXJhbXM6IERlcml2ZUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxEZXJpdmVBZGRyZXNzUmVzdWx0PjtcbiAgY2Fub25pY2FsQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcsIGZvcm1hdDogdW5rbm93bik6IHN0cmluZztcbiAgc3VwcG9ydHNCbG9ja1RhcmdldCgpOiBib29sZWFuO1xuICBzdXBwb3J0c0xpZ2h0bmluZygpOiBib29sZWFuO1xuICBzdXBwb3J0c01lc3NhZ2VTaWduaW5nKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzU2lnbmluZ1R5cGVkRGF0YSgpOiBib29sZWFuO1xuICAvKipcbiAgICogQ29pbi1zcGVjaWZpYyB2YWxpZGF0aW9uIG9mIGEgbWVzc2FnZSBwYXlsb2FkIGJlZm9yZSBpdCBpcyBmb3J3YXJkZWQgZm9yIHNpZ25pbmcuXG4gICAqIEltcGxlbWVudGF0aW9ucyBtdXN0IHRocm93IHdoZW4gdGhlIG1lc3NhZ2UgaXMgbm90IHNpZ25hYmxlIGZvciB0aGlzIGNvaW4uXG4gICAqL1xuICB2YWxpZGF0ZVNpZ25hYmxlTWVzc2FnZT8obWVzc2FnZTogUGljazxNZXNzYWdlLCAnbWVzc2FnZVJhdycgfCAnbWVzc2FnZVN0YW5kYXJkVHlwZScgfCAnc2lnbmVyQWRkcmVzcyc+KTogdm9pZDtcbiAgc3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0KHdhbGxldFBhcmFtczogU3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0T3B0aW9ucywga2V5Y2hhaW5zOiBLZXljaGFpbnNUcmlwbGV0KTogUHJvbWlzZTxhbnk+O1xuICBnZXRFeHRyYVByZWJ1aWxkUGFyYW1zKGJ1aWxkUGFyYW1zOiBFeHRyYVByZWJ1aWxkUGFyYW1zT3B0aW9ucyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBwb3N0UHJvY2Vzc1ByZWJ1aWxkKHByZWJ1aWxkUmVzcG9uc2U6IFRyYW5zYWN0aW9uUHJlYnVpbGQpOiBQcm9taXNlPFRyYW5zYWN0aW9uUHJlYnVpbGQ+O1xuICBwcmVzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zPjtcbiAgc2lnbldpdGhDdXN0b21TaWduaW5nRnVuY3Rpb24/KFxuICAgIGN1c3RvbVNpZ25pbmdGdW5jdGlvbjogQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uLFxuICAgIHNpZ25UcmFuc2FjdGlvblBhcmFtczogeyB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkOyBwdWJzOiBzdHJpbmdbXSB9XG4gICk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBuZXdXYWxsZXRPYmplY3Qod2FsbGV0UGFyYW1zOiBhbnkpOiBJV2FsbGV0O1xuICBmZWVFc3RpbWF0ZShwYXJhbXM6IEZlZUVzdGltYXRlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZGVyaXZlS2V5V2l0aFNlZWQocGFyYW1zOiBEZXJpdmVLZXlXaXRoU2VlZE9wdGlvbnMpOiB7IGtleTogc3RyaW5nOyBkZXJpdmF0aW9uUGF0aDogc3RyaW5nIH07XG4gIGtleUlkc0ZvclNpZ25pbmcoKTogbnVtYmVyW107XG4gIHByZUNyZWF0ZUJpdEdvKHBhcmFtczogUHJlY3JlYXRlQml0R29PcHRpb25zKTogdm9pZDtcbiAgaW5pdGlhdGVSZWNvdmVyeShwYXJhbXM6IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zKTogbmV2ZXI7XG4gIHBhcnNlVHJhbnNhY3Rpb24ocGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+O1xuICBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXI7XG4gIGdlbmVyYXRlUm9vdEtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXI7XG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuO1xuICBpc1ZhbGlkTW9mTlNldHVwKHBhcmFtczogVmFsaWRNb2ZOT3B0aW9ucyk6IGJvb2xlYW47XG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW47XG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPjtcbiAgZ2V0U2lnbmFibGVQYXlsb2FkKHNlcmlhbGl6ZWRUeDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+O1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtO1xuICAvLyBUT0RPIC0gdGhpcyBvbmx5IGJlbG9uZ3MgaW4gZXRoIGNvaW5zXG4gIHJlY292ZXJUb2tlbihwYXJhbXM6IFJlY292ZXJXYWxsZXRUb2tlbk9wdGlvbnMpOiBQcm9taXNlPFJlY292ZXJUb2tlblRyYW5zYWN0aW9uPjtcbiAgZ2V0SW5zY3JpcHRpb25CdWlsZGVyKHdhbGxldDogV2FsbGV0KTogSUluc2NyaXB0aW9uQnVpbGRlcjtcblxuICAvKipcbiAgICogQnVpbGQgdGhlIGNhbGwgZGF0YSBmb3IgdHJhbnNmZXJyaW5nIGEgTkZUKHMpLlxuICAgKiBAcGFyYW0gcGFyYW1zIE9wdGlvbnMgc3BlY2lmeWluZyB0aGUgdG9rZW4gY29udHJhY3QsIHRva2VuIHJlY2lwaWVudCAmIHRoZSB0b2tlbihzKSB0byBiZSB0cmFuc2ZlcnJlZFxuICAgKiBAcmV0dXJuIHRoZSBoZXggc3RyaW5nIGZvciB0aGUgY29udHJhY3QgY2FsbC5cbiAgICovXG4gIGJ1aWxkTmZ0VHJhbnNmZXJEYXRhKHBhcmFtczogQnVpbGROZnRUcmFuc2ZlckRhdGFPcHRpb25zKTogc3RyaW5nIHwgVG9rZW5UcmFuc2ZlclJlY2lwaWVudFBhcmFtcztcbiAgZ2V0SGFzaEZ1bmN0aW9uKCk6IEhhc2g7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgd2hlbiBzaWduYWJsZUhleCBpcyBhbHJlYWR5IHRoZSBmaW5hbCBzaWduaW5nIGhhc2ggZm9yIE1QQyBzaWduaW5nXG4gICAqIChlLmcuIFNIQS0yNTYgZm9yIEF2YWxhbmNoZSBhdG9taWMgY3Jvc3MtY2hhaW4gdHhzKS4gT25seSBpbXBsZW1lbnRlZCBieSBjb2luc1xuICAgKiB0aGF0IHByb2R1Y2UgcHJlLWhhc2hlZCBzaWduYWJsZSBtYXRlcmlhbC5cbiAgICovXG4gIGlzU2lnbmFibGVQcmVIYXNoZWQ/KHVuc2lnbmVkVHg6IFNpZ25hYmxlVHJhbnNhY3Rpb24pOiBib29sZWFuO1xuICBicm9hZGNhc3RUcmFuc2FjdGlvbihwYXJhbXM6IEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNldENvaW5TcGVjaWZpY0ZpZWxkc0luSW50ZW50KGludGVudDogUG9wdWxhdGVkSW50ZW50LCBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEF1ZGl0IGEga2V5IHRvIGRldGVybWluZSBpZiBpdCBpcyB2YWxpZCBmb3IgdGhlIGNvaW4uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGF1ZGl0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMucHVibGljS2V5ICAtIFRoZSBwdWJsaWMgcG9ydGlvbiBvZiB0aGUga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMuZW5jcnlwdGVkUHJ2IC0gVGhlIGVuY3J5cHRlZCBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgLSBUaGUgcGFzc3BocmFzZSB0byBkZWNyeXB0IHRoZSBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLm11bHRpU2lnVHlwZSAtIFRoZSB0eXBlIG9mIG11bHRpc2lnIChlLmcuICdvbmNoYWluJyBvciAndHNzJylcbiAgICovXG4gIGFzc2VydElzVmFsaWRLZXkocGFyYW1zOiBBdWRpdEtleVBhcmFtcyk6IFByb21pc2U8dm9pZD47XG4gIHJlcXVpcmVzV2FsbGV0SW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbigpOiBib29sZWFuO1xufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJhc2VDb2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2Jhc2VDb2luL2lCYXNlQ29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2TUEsOERBU0M7QUFqTVksUUFBQSxhQUFhLEdBQUc7SUFDM0IsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBcUxYLFNBQWdCLHlCQUF5QixDQUN2QyxNQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsQ0FDUCxXQUFXLElBQUksTUFBTTtRQUNyQixPQUFPLElBQUksTUFBTTtRQUNqQixTQUFTLElBQUksTUFBTTtRQUNuQixNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQzlFLENBQUM7QUFDSixDQUFDO0FBNFFELElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixpQ0FBUyxDQUFBO0lBQ1QsaUNBQVMsQ0FBQTtJQUNULGlDQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFJL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVG9rZW5Db25maWcsIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vYXBpJztcbmltcG9ydCB7IElFbnRlcnByaXNlcyB9IGZyb20gJy4uL2VudGVycHJpc2UnO1xuaW1wb3J0IHsgQXBpS2V5U2hhcmUsIElLZXljaGFpbnMsIEtleWNoYWluIH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgSU1hcmtldHMgfSBmcm9tICcuLi9tYXJrZXQnO1xuaW1wb3J0IHsgSVBlbmRpbmdBcHByb3ZhbHMgfSBmcm9tICcuLi9wZW5kaW5nQXBwcm92YWwnO1xuaW1wb3J0IHsgSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMgfSBmcm9tICcuLi9yZWNvdmVyeSc7XG5pbXBvcnQgeyBFY2RzYU1QQ3YyVXRpbHMsIEVjZHNhVXRpbHMgfSBmcm9tICcuLi91dGlscy90c3MvZWNkc2EnO1xuaW1wb3J0IEVkZHNhVXRpbHMsIHsgRWRkc2FNUEN2MlV0aWxzLCBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMsIFR4UmVxdWVzdCB9IGZyb20gJy4uL3V0aWxzL3Rzcy9lZGRzYSc7XG5pbXBvcnQgeyBSZWRwYWxsYXNNUEN2MlV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvdHNzL3JlZHBhbGxhcyc7XG5pbXBvcnQgeyBDcmVhdGVBZGRyZXNzRm9ybWF0LCBDdXN0b21TaWduaW5nRnVuY3Rpb24sIElXYWxsZXQsIElXYWxsZXRzLCBNZW1vLCBXYWxsZXQsIFdhbGxldERhdGEgfSBmcm9tICcuLi93YWxsZXQnO1xuXG5pbXBvcnQgeyBUb2tlbkVuYWJsZW1lbnQsIHVuaWZpZWRBZGRyZXNzUHJlZmVyZW5jZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9hY2NvdW50LWxpYic7XG5pbXBvcnQgeyBJSW5zY3JpcHRpb25CdWlsZGVyIH0gZnJvbSAnLi4vaW5zY3JpcHRpb25CdWlsZGVyJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUsIE1QQ1R4LCBQb3B1bGF0ZWRJbnRlbnQsIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsIFRva2VuVHlwZSwgVHJpcGxlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBTaWduYWJsZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMvdHNzL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBJV2ViaG9va3MgfSBmcm9tICcuLi93ZWJob29rL2lXZWJob29rcyc7XG5cbmV4cG9ydCBjb25zdCBtdWx0aXNpZ1R5cGVzID0ge1xuICBvbmNoYWluOiAnb25jaGFpbicsXG4gIHRzczogJ3RzcycsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBNdWx0aXNpZ1R5cGUgPSBrZXlvZiB0eXBlb2YgbXVsdGlzaWdUeXBlcztcblxuZXhwb3J0IGludGVyZmFjZSBPdXRwdXQgZXh0ZW5kcyBJVHJhbnNhY3Rpb25SZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8vIG9mIGZvcm0gY29pbjp0b2tlblxuICBjb2luTmFtZT86IHN0cmluZztcbiAgaXNQYXlHbz86IGJvb2xlYW47XG4gIHZhbHVlPzogbnVtYmVyO1xuICB3YWxsZXQ/OiBzdHJpbmc7IC8vIFR5cGVzLk9iamVjdElkO1xuICB3YWxsZXRWMT86IHN0cmluZzsgLy8gVHlwZXMuT2JqZWN0SWQ7XG4gIGJhc2VBZGRyZXNzPzogc3RyaW5nO1xuICBlbnRlcnByaXNlPzogc3RyaW5nOyAvLyBUeXBlcy5PYmplY3RJZDtcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgLy8gXCJjaGFuZ2VcIiBpcyBhIHV0eG8tc3BlY2lmaWMgY29uY2VwdCBhbmQgdGhpcyBwcm9wZXJ0eSBzaG91bGRcbiAgLy8gYmUgcmVtb3ZlZCBvbmNlIGl0IGl0J3MgdXNhZ2UgaXMgcmVmYWN0b3JlZCBvdXQgb2YgYmFzZSBjb2luIGxvZ2ljXG4gIGNoYW5nZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIElucHV0ID0ge1xuICBkZXJpdmF0aW9uSW5kZXg/OiBudW1iZXI7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIHZhbHVlU3RyaW5nOiBzdHJpbmc7XG4gIC8vIHRoZSBwcm9wZXJ0aWVzIGJlbG93IGFyZSB1dHhvLXJlbGF0ZWQgYnV0IGFyZSBjdXJyZW50bHkgdXNlZCBpbiBhYnN0cmFjdEJhc2VDb2luXG4gIC8vIHRoZXNlIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgdGhlaXIgdXNhZ2UgaXMgcmVtb3ZlZCBmcm9tIHRoZSBiYXNlIGNvaW4gY2xhc3NcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGluZGV4PzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgVW5zaWduZWRUcmFuc2FjdGlvbiA9IHtcbiAgLy8gdW5zaWduZWQgdHJhbnNhY3Rpb24gaW4gYnJvYWRjYXN0IGZvcm1hdFxuICBzZXJpYWxpemVkVHhIZXg6IHN0cmluZztcbiAgLy8gcG9ydGlvbiBvZiBhIHRyYW5zYWN0aW9uIHVzZWQgdG8gZ2VuZXJhdGUgYSBzaWduYXR1cmVcbiAgc2lnbmFibGVIZXg6IHN0cmluZztcbiAgLy8gdHJhbnNhY3Rpb24gZmVlc1xuICBmZWVJbmZvPzoge1xuICAgIGZlZTogbnVtYmVyIHwgQmlnTnVtYmVyO1xuICAgIGZlZVN0cmluZzogc3RyaW5nO1xuICB9O1xuICAvLyBkZXJpdmF0aW9uIHBhdGggb2YgdGhlIHNpZ25lclxuICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xuICBjb2luU3BlY2lmaWM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZW50cnlWYWx1ZXM6IGFueTtcbiAgcGFyc2VkVHg6IFVuc2lnbmVkUGFyc2VkVHJhbnNhY3Rpb247XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxhbmF0aW9uUmVzdWx0IGV4dGVuZHMgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzZXF1ZW5jZUlkOiBudW1iZXI7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG91dHB1dHM6IE91dHB1dFtdO1xuICBibG9ja051bWJlcjogbnVtYmVyIHwgdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25SZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIHRva2VuQWRkcmVzcz86IHN0cmluZztcbiAgcHJvZ3JhbUlkPzogc3RyaW5nO1xuICBtZW1vPzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0b2tlbiBlbmFibGVtZW50IChlLmcuLCBjcmVhdGlvbiBvZiBhbiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRva2VuRW5hYmxlbWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZzsgLy8gQXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50IGFkZHJlc3NcbiAgdG9rZW5OYW1lOiBzdHJpbmc7IC8vIE5hbWUgb2YgdGhlIHRva2VuIGJlaW5nIGVuYWJsZWRcbiAgdG9rZW5BZGRyZXNzPzogc3RyaW5nOyAvLyBDb250cmFjdCBhZGRyZXNzIG9mIHRoZSB0b2tlblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvbkZlZTxUQW1vdW50ID0gc3RyaW5nPiB7XG4gIGZlZTogVEFtb3VudDtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgc2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgQXVkaXRLZXlQYXJhbXMgPSB7IHBydj86IHN0cmluZzsgZW5jcnlwdGVkUHJ2Pzogc3RyaW5nOyB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nIH0gJiAoXG4gIHwgeyBwcnY6IHN0cmluZyB9XG4gIHwgeyBlbmNyeXB0ZWRQcnY6IHN0cmluZzsgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nIH1cbikgJlxuICAoXG4gICAgfCB7XG4gICAgICAgIG11bHRpU2lnVHlwZTogJ3Rzcyc7XG4gICAgICAgIHB1YmxpY0tleTogc3RyaW5nO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBtdWx0aVNpZ1R5cGU/OiAnb25jaGFpbic7XG4gICAgICAgIHB1YmxpY0tleT86IHN0cmluZztcbiAgICAgIH1cbiAgKTtcblxuZXhwb3J0IHR5cGUgQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMgPSBPbWl0PEF1ZGl0S2V5UGFyYW1zLCAnZW5jcnlwdGVkUHJ2JyB8ICd3YWxsZXRQYXNzcGhyYXNlJz4gJiB7IHBydjogc3RyaW5nIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb248VEZlZSA9IGFueSwgVEFtb3VudCA9IGFueT4ge1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgZGlzcGxheU9yZGVyPzogc3RyaW5nW107XG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBOT1RFOiBFeHRlcm5hbCByZWNpcGllbnRzICovXG4gIG91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICAvKiogTk9URTogRXh0ZXJuYWwgYW1vdW50ICovXG4gIG91dHB1dEFtb3VudDogVEFtb3VudDtcbiAgY2hhbmdlT3V0cHV0czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGNoYW5nZUFtb3VudDogVEFtb3VudDtcbiAgZmVlOiBURmVlO1xuICBwcm94eT86IHN0cmluZztcbiAgcHJvZHVjZXJzPzogc3RyaW5nW107XG4gIC8qKiBOT1RFOiBUb2tlbnMgYmVpbmcgZW5hYmxlZCBmb3IgdGhlIHdhbGxldCAqL1xuICB0b2tlbkVuYWJsZW1lbnRzPzogSVRva2VuRW5hYmxlbWVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXIge1xuICBwdWI/OiBzdHJpbmc7XG4gIHBydjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbHNLZXlQYWlyIGV4dGVuZHMgS2V5UGFpciB7XG4gIHNlY3JldFNoYXJlcz86IHN0cmluZ1tdO1xuICBjaGFpbmNvZGU6IHN0cmluZztcbiAgc2VlZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlBZGRyZXNzT3B0aW9ucyB7XG4gIGZvcm1hdD86IENyZWF0ZUFkZHJlc3NGb3JtYXQ7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYWRkcmVzc1R5cGU/OiBzdHJpbmc7XG4gIGtleWNoYWlucz86IHtcbiAgICBwdWI6IHN0cmluZztcbiAgfVtdO1xuICBlcnJvcj86IHN0cmluZztcbiAgY29pblNwZWNpZmljPzogQWRkcmVzc0NvaW5TcGVjaWZpYztcbiAgaW1wbGllZEZvcndhcmRlclZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBzZWVkIHZhbHVlIGZyb20gdXNlciBrZXljaGFpbidzIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQgZmllbGQuXG4gICAqIEZvciBTTUMgKFNlbGYtTWFuYWdlZCBDdXN0b2RpYWwpIFRTUyB3YWxsZXRzLCB0aGlzIGlzIHVzZWQgdG8gY29tcHV0ZSB0aGUgZGVyaXZhdGlvbiBwcmVmaXguXG4gICAqL1xuICBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkPzogc3RyaW5nO1xuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgTVBDIHNpZ25pbmcgcHJvdG9jb2wgdmVyc2lvbiBvZiB0aGUgd2FsbGV0IChlLmcuICdNUEN2MicpLlxuICAgKiBVc2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gTVBDdjEgYW5kIE1QQ3YyIHdhbGxldHMuXG4gICAqL1xuICBtdWx0aXNpZ1R5cGVWZXJzaW9uPzogJ01QQ3YyJztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB2ZXJpZnlpbmcgaWYgYW4gYWRkcmVzcyBiZWxvbmdzIHRvIGEgVFNTL01QQyB3YWxsZXQuXG4gKiBVc2VkIGZvciBFZERTQS1iYXNlZCBNUEMgY29pbnMgKFNPTCwgRE9ULCBTVUksIFRPTiwgSU9UQSwgTkVBUiwgZXRjLilcbiAqIHRvIGNyeXB0b2dyYXBoaWNhbGx5IHZlcmlmeSBhZGRyZXNzIGRlcml2YXRpb24gd2l0aG91dCB0cnVzdGluZyB0aGUgcGxhdGZvcm0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICAvKiogVGhlIGFkZHJlc3MgdG8gdmVyaWZ5ICovXG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLyoqXG4gICAqIEtleWNoYWlucyBjb250YWluaW5nIHRoZSBjb21tb25LZXljaGFpbiBmb3IgSEQgZGVyaXZhdGlvbi5cbiAgICogRm9yIE1QQyB3YWxsZXRzLCB0aGUgY29tbW9uS2V5Y2hhaW4gKGNvbWJpbmVkIHB1YmxpYyBrZXkgZnJvbSBNUEMga2V5IGdlbmVyYXRpb24pXG4gICAqIHNob3VsZCBiZSBpZGVudGljYWwgYWNyb3NzIGFsbCBrZXljaGFpbnMgKHVzZXIsIGJhY2t1cCwgYml0Z28pLlxuICAgKi9cbiAga2V5Y2hhaW5zOiBQaWNrPEtleWNoYWluLCAnY29tbW9uS2V5Y2hhaW4nPltdO1xuICAvKipcbiAgICogRGVyaXZhdGlvbiBpbmRleCBmb3IgdGhlIGFkZHJlc3MuXG4gICAqIFVzZWQgdG8gZGVyaXZlIGNoaWxkIGFkZHJlc3NlcyBmcm9tIHRoZSByb290IGtleWNoYWluIHZpYSBIRCBkZXJpdmF0aW9uIHBhdGg6IG0ve2luZGV4fVxuICAgKiBGb3IgU01DIChTZWxmLU1hbmFnZWQgQ3VzdG9kaWFsKSB3YWxsZXRzLCB0aGUgcGF0aCBpbmNsdWRlcyBhIHByZWZpeDogbS97ZGVyaXZhdGlvblByZWZpeH0ve2luZGV4fVxuICAgKi9cbiAgaW5kZXg6IG51bWJlciB8IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHNlZWQgdmFsdWUgZnJvbSB1c2VyIGtleWNoYWluJ3MgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCBmaWVsZC5cbiAgICogRm9yIFNNQyAoU2VsZi1NYW5hZ2VkIEN1c3RvZGlhbCkgd2FsbGV0cywgdGhpcyBpcyB1c2VkIHRvIGNvbXB1dGUgdGhlIGRlcml2YXRpb24gcHJlZml4LlxuICAgKiBUaGUgZGVyaXZhdGlvbiBwYXRoIGJlY29tZXMge2NvbXB1dGVkUHJlZml4fS97aW5kZXh9IGluc3RlYWQgb2YgbS97aW5kZXh9LlxuICAgKi9cbiAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZD86IHN0cmluZztcbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIE1QQyBzaWduaW5nIHByb3RvY29sIHZlcnNpb24gb2YgdGhlIHdhbGxldCAoZS5nLiAnTVBDdjInKS5cbiAgICogVXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIE1QQ3YxIGFuZCBNUEN2MiB3YWxsZXRzLlxuICAgKi9cbiAgbXVsdGlzaWdUeXBlVmVyc2lvbj86ICdNUEN2Mic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rzc1ZlcmlmeUFkZHJlc3NPcHRpb25zPFQgZXh0ZW5kcyBWZXJpZnlBZGRyZXNzT3B0aW9ucyB8IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zPihcbiAgcGFyYW1zOiBUXG4pOiBwYXJhbXMgaXMgVCAmIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgcmV0dXJuICEhKFxuICAgICdrZXljaGFpbnMnIGluIHBhcmFtcyAmJlxuICAgICdpbmRleCcgaW4gcGFyYW1zICYmXG4gICAgJ2FkZHJlc3MnIGluIHBhcmFtcyAmJlxuICAgIHBhcmFtcy5rZXljaGFpbnM/LnNvbWUoKGtjKSA9PiAnY29tbW9uS2V5Y2hhaW4nIGluIGtjICYmICEha2MuY29tbW9uS2V5Y2hhaW4pXG4gICk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgbG9jYWxseSBkZXJpdmluZyBhIHdhbGxldCByZWNlaXZlIGFkZHJlc3MgZnJvbSBhIGRlcml2YXRpb24gcGF0aC5cbiAqXG4gKiBVbmxpa2Uge0BsaW5rIFZlcmlmeUFkZHJlc3NPcHRpb25zfSwgd2hpY2ggY2hlY2tzIGEgY2FuZGlkYXRlIGFkZHJlc3MsIHRoZXNlIG9wdGlvbnMgYXJlXG4gKiB1c2VkIHRvICpwcm9kdWNlKiB0aGUgYWRkcmVzcyBvZmZsaW5lIGZyb20gcHVibGljIGtleSBtYXRlcmlhbCBvbmx5OlxuICogLSB0aGUgdXNlci9iYWNrdXAvYml0Z28geHB1YiB0cmlwbGUgKGBwdWJgKSBmb3IgQklQMzIgbXVsdGlzaWcgY29pbnMsIG9yXG4gKiAtIHRoZSBgY29tbW9uS2V5Y2hhaW5gIGZvciBUU1MvTVBDIGNvaW5zLlxuICpcbiAqIE5vIHByaXZhdGUga2V5cyBhbmQgbm8gbmV0d29yayBhY2Nlc3MgYXJlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcml2ZUFkZHJlc3NPcHRpb25zXG4gIGV4dGVuZHMgUGljazxWZXJpZnlBZGRyZXNzT3B0aW9ucywgJ2Zvcm1hdCcgfCAnZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCcgfCAnbXVsdGlzaWdUeXBlVmVyc2lvbic+IHtcbiAgLy8gYGZvcm1hdGAsIGBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkYCBhbmQgYG11bHRpc2lnVHlwZVZlcnNpb25gIGFyZSByZXVzZWQgZnJvbVxuICAvLyBWZXJpZnlBZGRyZXNzT3B0aW9ucyBzbyBkZXJpdmUgYW5kIHZlcmlmeSBzdGF5IGluIHN5bmMgb24gc2hhcmVkIGZpZWxkcy5cbiAgLyoqXG4gICAqIERlcml2YXRpb24gaW5kZXggZm9yIHRoZSBhZGRyZXNzLlxuICAgKiBGb3IgQklQMzIgbXVsdGlzaWcgY29pbnMgdGhpcyBpcyBjb21iaW5lZCB3aXRoIGBjaGFpbmA7IGZvciBUU1MvTVBDIGNvaW5zIHRoZVxuICAgKiBkZXJpdmF0aW9uIHBhdGggaXMgYG0ve2luZGV4fWAgKG9yIGB7cHJlZml4fS97aW5kZXh9YCBmb3IgU01DIHdhbGxldHMpLlxuICAgKi9cbiAgaW5kZXg6IG51bWJlcjtcbiAgLyoqIERlcml2YXRpb24gY2hhaW4gY29kZSAoVVRYTyBzY3JpcHQtdHlwZSAvIGV4dGVybmFsLXZzLWludGVybmFsIHNlbGVjdG9yKS4gKi9cbiAgY2hhaW4/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBQdWJsaWMga2V5IG1hdGVyaWFsIGZvciBkZXJpdmF0aW9uLiBFYWNoIGtleWNoYWluIG11c3QgY2FycnkgYXQgbGVhc3Qgb25lIG9mOlxuICAgKiAtIEJJUDMyIG11bHRpc2lnIChVVFhPLCBsZWdhY3kgRVZNKTogdGhlIHVzZXIvYmFja3VwL2JpdGdvIHhwdWIgdHJpcGxlIHZpYSBgcHViYC5cbiAgICogLSBUU1MvTVBDIChTT0wsIEVWTSBNUEMsIGV0Yy4pOiB0aGUgYGNvbW1vbktleWNoYWluYCAoaWRlbnRpY2FsIGFjcm9zcyBrZXljaGFpbnMpLlxuICAgKlxuICAgKiBNb2RlbGxlZCBhcyBhIHVuaW9uIHNvIGEga2V5Y2hhaW4gd2l0aCBuZWl0aGVyIGZpZWxkIGlzIGEgdHlwZSBlcnJvci4gQSBrZXljaGFpbiBtYXlcbiAgICogc3RpbGwgY2FycnkgYm90aCBmaWVsZHMgKFRTUyBrZXljaGFpbnMgY29tbW9ubHkgZXhwb3NlIGBwdWJgIGFsb25nc2lkZSBgY29tbW9uS2V5Y2hhaW5gKS5cbiAgICovXG4gIGtleWNoYWlucz86ICh7IHB1Yjogc3RyaW5nIH0gfCB7IGNvbW1vbktleWNoYWluOiBzdHJpbmcgfSlbXTtcbiAgLyoqIFdhbGxldCB2ZXJzaW9uLCB1c2VkIHRvIGRpc2FtYmlndWF0ZSBkZXJpdmF0aW9uIHN0cmF0ZWd5IGZvciBzb21lIGNvaW4gZmFtaWxpZXMuICovXG4gIHdhbGxldFZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUb2tlbiBuYW1lIChlLmcuIGBzb2w6dXNkY2AsIGB0c29sOnVzZHRgKSB0byBkZXJpdmUgYSB0b2tlbiBkZXBvc2l0IGFkZHJlc3MgaW5zdGVhZCBvZiB0aGVcbiAgICogbmF0aXZlIHJlY2VpdmUgYWRkcmVzcy4gRm9yIFNvbGFuYSB0aGlzIHJlc29sdmVzIHRvIHRoZSBTUEwgbWludCBhbmQgcmV0dXJucyB0aGUgd2FsbGV0J3NcbiAgICogQXNzb2NpYXRlZCBUb2tlbiBBY2NvdW50IChBVEEpIGZvciB0aGF0IG1pbnQuIElnbm9yZWQgYnkgY29pbnMvdG9rZW5zIHRoYXQgcmV1c2UgdGhlIG5hdGl2ZVxuICAgKiBhZGRyZXNzIChlLmcuIEVSQy0yMCBvbiBFVk0pLlxuICAgKi9cbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogV2FsbGV0IGJhc2UgYWRkcmVzcyAodGhlIHdhbGxldCBjb250cmFjdCBhZGRyZXNzIGZvciBFVk0gd2FsbGV0cykuIFJlcXVpcmVkIHRvIGRlcml2ZVxuICAgKiBwZXItaW5kZXggZm9yd2FyZGVyIChDUkVBVEUyKSByZWNlaXZlIGFkZHJlc3NlcyBmb3IgbGVnYWN5IG11bHRpc2lnIEVWTSB3YWxsZXRzLlxuICAgKi9cbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDb2luLXNwZWNpZmljIGRlcml2YXRpb24gaW5wdXRzLiBGb3IgRVZNIGxlZ2FjeSBmb3J3YXJkZXIgd2FsbGV0cyB0aGlzIGNhcnJpZXNcbiAgICogYGZvcndhcmRlclZlcnNpb25gICgxLzIvNCkgYW5kLCBmb3IgdjQsIGBmZWVBZGRyZXNzYC5cbiAgICovXG4gIGNvaW5TcGVjaWZpYz86IEFkZHJlc3NDb2luU3BlY2lmaWM7XG59XG5cbi8qKlxuICogUmVzdWx0IG9mIGxvY2FsbHkgZGVyaXZpbmcgYSB3YWxsZXQgcmVjZWl2ZSBhZGRyZXNzLlxuICpcbiAqIEV4dGVuZHMge0BsaW5rIEFkZHJlc3NWZXJpZmljYXRpb25EYXRhfSAoYGNoYWluYCwgYGluZGV4YCwgYGNvaW5TcGVjaWZpY2ApIGFuZCBhZGRzIHRoZVxuICogcmVzb2x2ZWQgYGFkZHJlc3NgIGFuZCB0aGUgSEQgYGRlcml2YXRpb25QYXRoYCBhY3R1YWxseSB1c2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcml2ZUFkZHJlc3NSZXN1bHQgZXh0ZW5kcyBBZGRyZXNzVmVyaWZpY2F0aW9uRGF0YSB7XG4gIC8qKiBUaGUgZGVyaXZlZCBhZGRyZXNzLiAqL1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8qKiBUaGUgZGVyaXZhdGlvbiBpbmRleCB1c2VkLiAqL1xuICBpbmRleDogbnVtYmVyO1xuICAvKiogVGhlIEhEIGRlcml2YXRpb24gcGF0aCBhY3R1YWxseSB1c2VkIHRvIGRlcml2ZSB0aGUgYWRkcmVzcy4gKi9cbiAgZGVyaXZhdGlvblBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25QYXJhbXMge1xuICByZWNpcGllbnRzPzogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG1lbW8/OiBNZW1vO1xuICBlbmFibGVUb2tlbnM/OiBUb2tlbkVuYWJsZW1lbnRbXTtcbiAgc3Rha2luZ1JlcXVlc3RJZD86IHN0cmluZztcbiAgLyoqIEVSQy03OTg0IHNoaWVsZCBpbnRlbnQgKGB0eXBlOiAnd3JhcEFwcHJvdmUnIHwgJ3dyYXAnYCk6IHdyYXBwZXIgY29pbiBuYW1lIGFuZCBleGFjdCBhbW91bnQuICovXG4gIHdyYXBQYXJhbXM/OiB7IHRva2VuTmFtZTogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3NWZXJpZmljYXRpb25EYXRhIHtcbiAgY29pblNwZWNpZmljPzogQWRkcmVzc0NvaW5TcGVjaWZpYztcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmaWNhdGlvbk9wdGlvbnMge1xuICBkaXNhYmxlTmV0d29ya2luZz86IGJvb2xlYW47XG4gIGtleWNoYWlucz86IHtcbiAgICB1c2VyPzogS2V5Y2hhaW47XG4gICAgYmFja3VwPzogS2V5Y2hhaW47XG4gICAgYml0Z28/OiBLZXljaGFpbjtcbiAgfTtcbiAgYWRkcmVzc2VzPzogeyBbYWRkcmVzczogc3RyaW5nXTogQWRkcmVzc1ZlcmlmaWNhdGlvbkRhdGEgfTtcbiAgYWxsb3dQYXlnb091dHB1dD86IGJvb2xlYW47XG4gIGNvbnNpZGVyTWlncmF0ZWRGcm9tQWRkcmVzc0ludGVybmFsPzogYm9vbGVhbjtcbiAgdmVyaWZ5VG9rZW5FbmFibGVtZW50PzogYm9vbGVhbjtcbiAgLy8gVmVyaWZ5IHRyYW5zYWN0aW9uIGlzIGNvbnNvbGlkYXRpbmcgdG8gd2FsbGV0J3MgYmFzZSBhZGRyZXNzXG4gIGNvbnNvbGlkYXRpb25Ub0Jhc2VBZGRyZXNzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkO1xuICB0eFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXM7XG4gIHdhbGxldDogSVdhbGxldDtcbiAgdmVyaWZpY2F0aW9uPzogVmVyaWZpY2F0aW9uT3B0aW9ucztcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgd2FsbGV0VHlwZT86ICdvbmNoYWluJyB8ICd0c3MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMge1xuICBsYWJlbDogc3RyaW5nO1xuICBtPzogbnVtYmVyO1xuICBuPzogbnVtYmVyO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICBkaXNhYmxlVHJhbnNhY3Rpb25Ob3RpZmljYXRpb25zPzogYm9vbGVhbjtcbiAgZ2FzUHJpY2U/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGVpcDE1NTk/OiB7XG4gICAgbWF4RmVlUGVyR2FzOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM/OiBudW1iZXIgfCBzdHJpbmc7XG4gIH07XG4gIHdhbGxldFZlcnNpb24/OiBudW1iZXI7XG4gIGtleXM/OiBzdHJpbmdbXTtcbiAga2V5U2lnbmF0dXJlcz86IHtcbiAgICBiYWNrdXA6IHN0cmluZztcbiAgICBiaXRnbzogc3RyaW5nO1xuICB9O1xuICByb290UHJpdmF0ZUtleT86IHN0cmluZztcbiAgZGlzYWJsZUtSU0VtYWlsPzogYm9vbGVhbjtcbiAgbXVsdGlzaWdUeXBlPzogJ3RzcycgfCAnb25jaGFpbicgfCAnYmxzZGtnJztcbiAgdHlwZTogJ2hvdCcgfCAnY29sZCcgfCAnY3VzdG9kaWFsJyB8ICdhZHZhbmNlZCcgfCAndHJhZGluZyc7XG4gIHN1YlR5cGU/OiAnbGlnaHRuaW5nQ3VzdG9keScgfCAnbGlnaHRuaW5nU2VsZkN1c3RvZHknIHwgJ29uUHJlbSc7XG4gIGNvaW5TcGVjaWZpYz86IHsgW2NvaW5OYW1lOiBzdHJpbmddOiB1bmtub3duIH07XG4gIGV2bUtleVJpbmdSZWZlcmVuY2VXYWxsZXRJZD86IHN0cmluZztcbiAgbGlnaHRuaW5nUHJvdmlkZXI/OiAndm9sdGFnZScgfCAnYW1ib3NzJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWVFc3RpbWF0ZU9wdGlvbnMge1xuICBudW1CbG9ja3M/OiBudW1iZXI7XG4gIGhvcD86IGJvb2xlYW47XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgYW1vdW50Pzogc3RyaW5nO1xuICB0eXBlPzoga2V5b2YgdHlwZW9mIFRyYW5zYWN0aW9uVHlwZTtcbn1cblxuLyoqIEhvdyBhIFpjYXNoIFVuaWZpZWQgQWRkcmVzcyByZWNpcGllbnQgc2hvdWxkIGJlIHJlc29sdmVkLiAqL1xuZXhwb3J0IHR5cGUgVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgPSB1bmlmaWVkQWRkcmVzc1ByZWZlcmVuY2U7XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhUHJlYnVpbGRQYXJhbXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIGhvdyB0byByZXNvbHZlIGEgVW5pZmllZCBBZGRyZXNzIHJlY2lwaWVudCAoYCdzaGllbGRlZCdgIG9yIGAndHJhbnNwYXJlbnQnYCkuXG4gICAqL1xuICB1bmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZT86IFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eFByZWJ1aWxkPzogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgd2FsbGV0RGF0YTogV2FsbGV0RGF0YTtcbiAgdHNzVXRpbHM6IEVjZHNhVXRpbHMgfCBFY2RzYU1QQ3YyVXRpbHMgfCBFZGRzYVV0aWxzIHwgRWRkc2FNUEN2MlV0aWxzIHwgUmVkcGFsbGFzTVBDdjJVdGlscyB8IHVuZGVmaW5lZDtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBQcmVjcmVhdGVCaXRHb09wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlY292ZXJ5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBUaGlzIGlzIG9ubHkgdXNlZCBmb3IgZGV0ZXJtaW5pbmcgdGhlIFBheUdvIGZlZSBvZiBhIHRyYW5zYWN0aW9uIHdoaWNoIGlzIG9ubHkgcmVsZXZhbnQgZm9yIFVUWE8gY29pbnMuXG4gKiBTb21lIGNvaW5zIHJldHVybiB2YXJpb3VzIG90aGVyIGZpZWxkcyBoZXJlLCBidXQgdGhleSBhcmUgb25seSB1c2VkIGludGVybmFsbHkgYnkgdGhlIHJlc3BlY3RpdmUgY29pbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkVHJhbnNhY3Rpb24ge1xuICAvLyB0aGUgY2FsbHNpdGUgYXNzdW1lcyB0aGF0IHRoaXMgaXMgdGhlIFBheUdvIGFtb3VudFxuICBpbXBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ/OiBudW1iZXIgfCBiaWdpbnQ7XG4gIC8vIGNvaW5zIG1heSBhZGQgaW50ZXJuYWwgZmllbGRzXG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCB0eXBlIFVuc2lnbmVkUGFyc2VkVHJhbnNhY3Rpb24gPSB7XG4gIGlucHV0czogSW5wdXRbXTtcbiAgbWluZXJGZWU6IG51bWJlciB8IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIHNwZW5kQW1vdW50OiBudW1iZXIgfCBzdHJpbmc7XG4gIGhhc1VudmFsaWRhdGVkRGF0YT86IGJvb2xlYW47XG4gIHBheUdvRmVlPzogbnVtYmVyO1xuICB0eXBlPzogc3RyaW5nO1xuICBzZXF1ZW5jZUlkOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG59O1xuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNoYWluc1RyaXBsZXQge1xuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICBiYWNrdXBLZXljaGFpbjogS2V5Y2hhaW47XG4gIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ0tleWNoYWluc1RyaXBsZXQge1xuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICB1c2VyQXV0aEtleWNoYWluOiBLZXljaGFpbjtcbiAgbm9kZUF1dGhLZXljaGFpbjogS2V5Y2hhaW47XG59XG5cbmludGVyZmFjZSBCdWlsZFBhcmFtcyB7XG4gIHByZXZpZXc/OiBib29sZWFuO1xuICByZWNpcGllbnRzPzogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG59XG5cbmludGVyZmFjZSBCYXNlU2lnbmFibGUge1xuICB3YWxsZXQ/OiBJV2FsbGV0O1xuICBidWlsZFBhcmFtcz86IEJ1aWxkUGFyYW1zICYgUGFydGlhbDxhbnk+O1xuICBjb25zb2xpZGF0ZUlkPzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblByZWJ1aWxkIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIHR4SGV4Pzogc3RyaW5nO1xuICB0eEluZm8/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFhwdWJXaXRoRGVyaXZhdGlvblBhdGgge1xuICB4cHViOiBzdHJpbmc7XG4gIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sZFRyYW5zYWN0aW9uUHJlYnVpbGQge1xuICBwdWJzPzogc3RyaW5nW107XG4gIHhwdWJzV2l0aERlcml2YXRpb25QYXRoPzogUGFydGlhbDxSZWNvcmQ8QXBpS2V5U2hhcmVbJ2Zyb20nXSwgWHB1YldpdGhEZXJpdmF0aW9uUGF0aD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2UgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICBtZXNzYWdlUmF3OiBzdHJpbmc7XG4gIG1lc3NhZ2VFbmNvZGVkPzogc3RyaW5nO1xuICBtZXNzYWdlU3RhbmRhcmRUeXBlPzogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgc2lnbmVyQWRkcmVzcz86IHN0cmluZztcbiAgLyoqIEJhc2U2NC1lbmNvZGVkIHByZXBhcmVkIHRyYW5zYWN0aW9uIGJ5dGVzIHJlcXVpcmVkIGJ5IENhbnRvbiBtZXNzYWdlIHNpZ25pbmcuICovXG4gIHByZXBhcmVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGVQcm9wZXJ0eSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlVHlwZXMge1xuICBFSVA3MTJEb21haW46IE1lc3NhZ2VUeXBlUHJvcGVydHlbXTtcbiAgW2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBzdHJpbmddOiBNZXNzYWdlVHlwZVByb3BlcnR5W107XG59XG5cbmV4cG9ydCBlbnVtIFNpZ25UeXBlZERhdGFWZXJzaW9uIHtcbiAgVjEgPSAnVjEnLFxuICBWMyA9ICdWMycsXG4gIFY0ID0gJ1Y0Jyxcbn1cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBtZXNzYWdlIGZvcm1hdCB1c2VkIGZvciBgc2lnblR5cGVEYXRhYCwgZm9yIGFsbCB2ZXJzaW9uc1xuICogZXhjZXB0IGBWMWAuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgY3VzdG9tIHR5cGVzIHVzZWQgYnkgdGhpcyBtZXNzYWdlLlxuICogQHByb3BlcnR5IHR5cGVzIC0gVGhlIGN1c3RvbSB0eXBlcyB1c2VkIGJ5IHRoaXMgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBwcmltYXJ5VHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlLlxuICogQHByb3BlcnR5IGRvbWFpbiAtIFNpZ25pbmcgZG9tYWluIG1ldGFkYXRhLiBUaGUgc2lnbmluZyBkb21haW4gaXMgdGhlIGludGVuZGVkIGNvbnRleHQgZm9yIHRoZVxuICogc2lnbmF0dXJlIChlLmcuIHRoZSBkYXBwLCBwcm90b2NvbCwgZXRjLiB0aGF0IGl0J3MgaW50ZW5kZWQgZm9yKS4gVGhpcyBkYXRhIGlzIHVzZWQgdG9cbiAqIGNvbnN0cnVjdCB0aGUgZG9tYWluIHNlcGVyYXRvciBvZiB0aGUgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBkb21haW4ubmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4udmVyc2lvbiAtIFRoZSBjdXJyZW50IG1ham9yIHZlcnNpb24gb2YgdGhlIHNpZ25pbmcgZG9tYWluLlxuICogQHByb3BlcnR5IGRvbWFpbi5jaGFpbklkIC0gVGhlIGNoYWluIElEIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4udmVyaWZ5aW5nQ29udHJhY3QgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdGhhdCBjYW4gdmVyaWZ5IHRoZSBzaWduYXR1cmUuXG4gKiBAcHJvcGVydHkgZG9tYWluLnNhbHQgLSBBIGRpc2FtYmlndWF0aW5nIHNhbHQgZm9yIHRoZSBwcm90b2NvbC5cbiAqIEBwcm9wZXJ0eSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gYmUgc2lnbmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVkTWVzc2FnZTxUIGV4dGVuZHMgTWVzc2FnZVR5cGVzPiB7XG4gIHR5cGVzOiBUO1xuICBwcmltYXJ5VHlwZToga2V5b2YgVDtcbiAgZG9tYWluOiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICAgIGNoYWluSWQ/OiBudW1iZXI7XG4gICAgdmVyaWZ5aW5nQ29udHJhY3Q/OiBzdHJpbmc7XG4gICAgc2FsdD86IEFycmF5QnVmZmVyO1xuICB9O1xuICBtZXNzYWdlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlZERhdGEgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICB0eXBlZERhdGFSYXc6IHN0cmluZztcbiAgdmVyc2lvbjogU2lnblR5cGVkRGF0YVZlcnNpb247XG4gIHR5cGVkRGF0YUVuY29kZWQ/OiBCdWZmZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc0NvaW5TcGVjaWZpYyB7XG4gIG91dHB1dFNjcmlwdD86IHN0cmluZztcbiAgcmVkZWVtU2NyaXB0Pzogc3RyaW5nO1xuICB3aXRuZXNzU2NyaXB0Pzogc3RyaW5nO1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgcGVuZGluZ0NoYWluSW5pdGlhbGl6YXRpb24/OiBib29sZWFuO1xuICBmb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xuICAvKiogRmVlIGFkZHJlc3MgZm9yIHY0IEVWTSBmb3J3YXJkZXJzICh1c2VkIHdoZW4gZGVyaXZpbmcvdmVyaWZ5aW5nIHY0IGZvcndhcmRlciBhZGRyZXNzZXMpLiAqL1xuICBmZWVBZGRyZXNzPzogc3RyaW5nO1xuICAvKipcbiAgICogWmNhc2ggc2hpZWxkZWQgKE9yY2hhcmQvSXJvbndvb2QpIHJlY2VpdmVyIGRhdGEgcmVwb3J0ZWQgYnkgd2FsbGV0LXBsYXRmb3JtLiBQcmVzZW50XG4gICAqIG9ubHkgZm9yIHNoaWVsZGVkIGFkZHJlc3Nlczsgc2VlIGBhc3NlcnRTaGllbGRlZFdhbGxldEFkZHJlc3NgLlxuICAgKi9cbiAgc2hpZWxkZWQ/OiB7XG4gICAgLyoqIFJlY2VpdmVyIHR5cGUsIGUuZy4gJ2lyb253b29kJy4gKi9cbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIC8qKiAxMS1ieXRlIGhleCBkaXZlcnNpZmllci4gKi9cbiAgICBkaXZlcnNpZmllcj86IHN0cmluZztcbiAgICAvKiogMzItYnl0ZSBoZXggYHBrX2RgLiAqL1xuICAgIHBrRD86IHN0cmluZztcbiAgICAvKiogV2FsbGV0IGFkZHJlc3MgaW5kZXggdGhlIGRpdmVyc2lmaWVyIHdhcyBkZXJpdmVkIGZyb20uICovXG4gICAgZGl2ZXJzaWZpZXJJbmRleD86IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdWxseVNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZztcbiAgLyoqXG4gICAqIFBTQlQtbGl0ZSBoZXggcHJlc2VydmVkIGZyb20gYSBwZW5kaW5nIGFwcHJvdmFsJ3MgY29pblNwZWNpZmljLlxuICAgKiBPbmx5IHByZXNlbnQgaW4gdGhlIFBBIGFwcHJvdmFsIGZsb3cg4oCUIG5vdCBpbiByZWd1bGFyIHNpZ24vc2VuZCBmbG93cy5cbiAgICovXG4gIHR4SGV4UHNidD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkQWNjb3VudFRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleD86IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbiAgICBwYXlsb2FkPzogc3RyaW5nO1xuICAgIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRUcmFuc2FjdGlvbiBleHRlbmRzIEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb24ge1xuICBoYWxmU2lnbmVkOiB7XG4gICAgcmVjaXBpZW50czogUmVjaXBpZW50W107XG4gICAgZXhwaXJlVGltZT86IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ/OiBudW1iZXI7XG4gICAgc2VxdWVuY2VJZD86IG51bWJlcjtcbiAgICB0eEhleD86IG5ldmVyO1xuICAgIGlzQmF0Y2g/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCB7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zIHtcbiAga2V5OiBzdHJpbmc7XG4gIHNlZWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZE1vZk5PcHRpb25zIHtcbiAgbT86IG51bWJlcjtcbiAgbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgU2lnbmVkVHJhbnNhY3Rpb24gPVxuICB8IEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb25cbiAgfCBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uXG4gIHwgRnVsbHlTaWduZWRUcmFuc2FjdGlvblxuICB8IFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdFxuICB8IFR4UmVxdWVzdDtcblxuLyoqXG4gKiBCYXNlIGZpZWxkcyBzaGFyZWQgYnkgZXZlcnkgbWVzc2FnZS1zaWduIHJlc3VsdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduZWRNZXNzYWdlQmFzZSB7XG4gIGNvaW4/OiBzdHJpbmc7XG4gIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgbWVzc2FnZUVuY29kZWQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2VTdGFuZGFyZFR5cGU/OiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICB0eFJlcXVlc3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBtZXNzYWdlLXNpZ24gcmVxdWVzdCB3YXMgcGFya2VkIGJlaGluZCBhIHBlbmRpbmcgYXBwcm92YWwgYnkgdGhlXG4gKiBtZXNzYWdlLXNpZ25pbmcgcG9saWN5OyBubyBzaWduYXR1cmUgd2FzIHByb2R1Y2VkLiBUaGUgZGlzY3JpbWluYXRvciBpcyB0aGVcbiAqIHNlcnZlci1yZXBvcnRlZCB0eFJlcXVlc3Qgc3RhdGUgKCdwZW5kaW5nQXBwcm92YWwnKSDigJQgbmV2ZXIgaW5mZXJyZWQgZnJvbVxuICogaWQgcHJlc2VuY2UuIFN1cmZhY2UgdGhlIGFwcHJvdmFsLCB0aGVuIHJlLXNpZ24gdmlhXG4gKiBzaWduQW5kU2VuZE1lc3NhZ2VUeFJlcXVlc3Qgb25jZSBpdCBpcyByZXNvbHZlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduZWRNZXNzYWdlUGVuZGluZ0FwcHJvdmFsIGV4dGVuZHMgU2lnbmVkTWVzc2FnZUJhc2Uge1xuICBzdGF0ZTogJ3BlbmRpbmdBcHByb3ZhbCc7XG4gIHBlbmRpbmdBcHByb3ZhbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIG1lc3NhZ2UgaXMgc2lnbmVkIGFuZCB0aGUgcmVxdWVzdCBpcyB0ZXJtaW5hbCAod2FsbGV0LXBsYXRmb3JtXG4gKiB0cmFuc2l0aW9ucyBhIG1lc3NhZ2UgcmVxdWVzdCBwZW5kaW5nRGVsaXZlcnkg4oaSIGRlbGl2ZXJlZCBvbmNlIGFsbFxuICogbWVzc2FnZXMgYXJlIHNpZ25lZDsgdGhlIHR4UmVxdWVzdC1sZXZlbCAnc2lnbmVkJyBzdGF0ZSBpcyBuZXZlciB1c2VkIGZvclxuICogbWVzc2FnZSByZXF1ZXN0cykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVkTWVzc2FnZURlbGl2ZXJlZCBleHRlbmRzIFNpZ25lZE1lc3NhZ2VCYXNlIHtcbiAgc3RhdGU6ICdkZWxpdmVyZWQnO1xuICAvLyBAZGVwcmVjYXRlZCAtIHVzZSBgc2lnbmF0dXJlYCBpbnN0ZWFkXG4gIHR4SGFzaDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaXNjcmltaW5hdGVkIG9uIHRoZSB3YWxsZXQtcGxhdGZvcm0gdHhSZXF1ZXN0IHN0YXRlLiBCUkVBS0lORzogY29uc3VtZXJzXG4gKiB0aGF0IHByZXZpb3VzbHkgcmVhZCBgdHhIYXNoYC9gc2lnbmF0dXJlYCB3aXRob3V0IG5hcnJvd2luZyBtdXN0IGZpcnN0XG4gKiBjaGVjayBgc3RhdGUgPT09ICdkZWxpdmVyZWQnYC5cbiAqL1xuZXhwb3J0IHR5cGUgU2lnbmVkTWVzc2FnZSA9IFNpZ25lZE1lc3NhZ2VQZW5kaW5nQXBwcm92YWwgfCBTaWduZWRNZXNzYWdlRGVsaXZlcmVkO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJXYWxsZXRUb2tlbk9wdGlvbnMge1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICB3YWxsZXQ6IElXYWxsZXQ7XG4gIHJlY2lwaWVudDogc3RyaW5nO1xuICBicm9hZGNhc3Q/OiBib29sZWFuO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBwcnY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjaXBpZW50IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyVG9rZW5UcmFuc2FjdGlvbiB7XG4gIGhhbGZTaWduZWQ6IHtcbiAgICByZWNpcGllbnQ6IFJlY2lwaWVudDtcbiAgICBleHBpcmVUaW1lOiBudW1iZXI7XG4gICAgY29udHJhY3RTZXF1ZW5jZUlkOiBudW1iZXI7XG4gICAgb3BlcmF0aW9uSGFzaDogc3RyaW5nO1xuICAgIHNpZ25hdHVyZTogc3RyaW5nO1xuICAgIGdhc0xpbWl0OiBudW1iZXI7XG4gICAgZ2FzUHJpY2U6IG51bWJlcjtcbiAgICB0b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICAgIHdhbGxldElkOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5FbmFibGVtZW50Q29uZmlnIHtcbiAgcmVxdWlyZXNUb2tlbkVuYWJsZW1lbnQ6IGJvb2xlYW47XG4gIHN1cHBvcnRzTXVsdGlwbGVUb2tlbkVuYWJsZW1lbnRzOiBib29sZWFuO1xuICB2YWxpZGF0ZVdhbGxldD86ICh3YWxsZXRUeXBlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGdldEVuYWJsZVRva2VuVHlwZT86ICh0b2tlbk5hbWU6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VQcmVwIHtcbiAgZW5jb2RlTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogJ3JlZHBhbGxhcycgaXMgdGhlIE1QQyBhbGdvcml0aG0gdXNlZCBmb3IgdGhlIFpjYXNoIE9yY2hhcmQgc2hpZWxkZWQgcG9vbCAoUmVkUGFsbGFzIC9cbiAqIFwiSXJvbndvb2RcIikuIFRvZGF5IGl0IG9ubHkgc3VwcG9ydHMgREtHIChrZXkgZ2VuZXJhdGlvbikgdmlhIE1QQ3YyIGluIHRoaXMgU0RLIC0gdGhlcmUgaXMgbm9cbiAqIG9ubGluZSBzZWxmLWN1c3RvZHkgRFNHICh0cmFuc2FjdGlvbiBzaWduaW5nKSBlbnRyeXBvaW50IHlldCwgdGhvdWdoIHRoZSB1bmRlcmx5aW5nXG4gKiBzaWduYXR1cmUtc2hhcmUgcHJpbWl0aXZlcyAoYGJpdGdvL3Rzcy9yZWRwYWxsYXNgKSBhbmQgdGhlIGBzZW5kU2lnbmF0dXJlU2hhcmVWMmAgTVBDdjJcbiAqIHJlcXVlc3QgdHlwZSBleGlzdCBhcyBncm91bmR3b3JrIGZvciBhIGZ1dHVyZSBjdXN0b2RpYWwvY29sZCAoU01DL09WQykgRFNHIHNpZ25pbmcgZmxvdy5cbiAqIEl0IGlzIGFkZGl0aXZlOiBleGlzdGluZyBjb2lucyBuZXZlciByZXR1cm4gaXQgZnJvbSBgZ2V0TVBDQWxnb3JpdGhtKClgIHVubGVzcyBleHBsaWNpdGx5XG4gKiBpbXBsZW1lbnRlZCB0byBkbyBzbywgc28gdGhpcyBkb2VzIG5vdCBjaGFuZ2UgYmVoYXZpb3IgZm9yIGFueSBleGlzdGluZyBFQ0RTQS9FZERTQSBjb2luIG9yXG4gKiBmb3IgWkVDJ3MgZXhpc3RpbmcgdHJhbnNwYXJlbnQgKHNlY3AyNTZrMSkgbXVsdGlzaWcvVFNTIGZsb3dzLlxuICovXG5leHBvcnQgdHlwZSBNUENBbGdvcml0aG0gPSAnZWNkc2EnIHwgJ2VkZHNhJyB8ICdyZWRwYWxsYXMnO1xuXG5leHBvcnQgdHlwZSBORlRUcmFuc2Zlck9wdGlvbnMgPSB7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHJlY2lwaWVudEFkZHJlc3M6IHN0cmluZztcbn0gJiAoXG4gIHwge1xuICAgICAgdHlwZTogJ0VSQzcyMScgfCBUb2tlblR5cGUuRElHSVRBTF9BU1NFVDtcbiAgICAgIHRva2VuSWQ6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ0VSQzExNTUnO1xuICAgICAgZW50cmllczogeyB0b2tlbklkOiBzdHJpbmc7IGFtb3VudDogbnVtYmVyIH1bXTtcbiAgICB9XG4pO1xuXG5leHBvcnQgdHlwZSBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMgPSBORlRUcmFuc2Zlck9wdGlvbnMgJiB7XG4gIGZyb21BZGRyZXNzOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb246IHN0cmluZztcbiAgdHJhbnNhY3Rpb25zPzogTVBDVHhbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQge1xuICB0eElkPzogc3RyaW5nO1xuICB0eElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlQ29pbiB7XG4gIHR5cGU6IHN0cmluZztcbiAgdG9rZW5Db25maWc/OiBCYXNlVG9rZW5Db25maWc7XG4gIGdldENvbmZpZygpOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICB1cmwoc3VmZml4OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHdhbGxldHMoKTogSVdhbGxldHM7XG4gIGVudGVycHJpc2VzKCk6IElFbnRlcnByaXNlcztcbiAga2V5Y2hhaW5zKCk6IElLZXljaGFpbnM7XG4gIHdlYmhvb2tzKCk6IElXZWJob29rcztcbiAgcGVuZGluZ0FwcHJvdmFscygpOiBJUGVuZGluZ0FwcHJvdmFscztcbiAgbWFya2V0cygpOiBJTWFya2V0cztcbiAgZ2V0Q2hhaW4oKTogc3RyaW5nO1xuICBnZXRGYW1pbHkoKTogc3RyaW5nO1xuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmc7XG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuO1xuICBjaGVja1JlY2lwaWVudChcbiAgICByZWNpcGllbnQ6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB8IG51bWJlciB9LFxuICAgIG9wdGlvbnM/OiB7IGFsbG93WmVyb0Ftb3VudD86IGJvb2xlYW4gfVxuICApOiB2b2lkO1xuICBzd2VlcFdpdGhTZW5kTWFueSgpOiBib29sZWFuO1xuICB0cmFuc2FjdGlvbkRhdGFBbGxvd2VkKCk6IGJvb2xlYW47XG4gIGFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpOiBib29sZWFuO1xuICBzdXBwb3J0c1Jlc291cmNlRGVsZWdhdGlvbigpOiBib29sZWFuO1xuICBnZXRUb2tlbkVuYWJsZW1lbnRDb25maWcoKTogVG9rZW5FbmFibGVtZW50Q29uZmlnO1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuO1xuICBzdXBwb3J0c011bHRpc2lnKCk6IGJvb2xlYW47XG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHwgdW5kZWZpbmVkO1xuICBzdXBwb3J0c0Rlcml2ZUtleVdpdGhTZWVkKCk6IGJvb2xlYW47XG4gIGlzRVZNKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzQmxzRGtnKCk6IGJvb2xlYW47XG4gIHByZXBhcmVDb2xkVHJhbnNhY3Rpb248VCBleHRlbmRzIFRyYW5zYWN0aW9uUHJlYnVpbGQ+KFxuICAgIHR4UHJlYnVpbGQ6IFQsXG4gICAga2V5Y2hhaW5zOiBUcmlwbGU8S2V5Y2hhaW4+XG4gICk6IFQgJiBDb2xkVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIgfCBzdHJpbmc7XG4gIGJhc2VVbml0c1RvQmlnVW5pdHMoYmFzZVVuaXRzOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmc7XG4gIGJpZ1VuaXRzVG9CYXNlVW5pdHMoYmlnVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZztcbiAgcHJlcHJvY2Vzc0J1aWxkUGFyYW1zKHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Pik6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNpZ25NZXNzYWdlKGtleTogeyBwcnY6IHN0cmluZyB9LCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj47XG4gIGNyZWF0ZUtleVNpZ25hdHVyZXMoXG4gICAgcHJ2OiBzdHJpbmcsXG4gICAgYmFja3VwS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfSxcbiAgICBiaXRnb0tleWNoYWluOiB7IHB1Yjogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTx7XG4gICAgYmFja3VwOiBzdHJpbmc7XG4gICAgYml0Z286IHN0cmluZztcbiAgfT47XG4gIGV4cGxhaW5UcmFuc2FjdGlvbihcbiAgICBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHdhbGxldD86IElXYWxsZXRcbiAgKTogUHJvbWlzZTxJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxhbnksIHN0cmluZyB8IG51bWJlcj4gfCB1bmRlZmluZWQ+O1xuICB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj47XG4gIHZlcmlmeUFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj47XG4gIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zIHwgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsIHdhbGxldD86IElXYWxsZXQpOiBQcm9taXNlPGJvb2xlYW4+O1xuICBkZXJpdmVBZGRyZXNzKHBhcmFtczogRGVyaXZlQWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPERlcml2ZUFkZHJlc3NSZXN1bHQ+O1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgZm9ybWF0OiB1bmtub3duKTogc3RyaW5nO1xuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTWVzc2FnZVNpZ25pbmcoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNTaWduaW5nVHlwZWREYXRhKCk6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb2luLXNwZWNpZmljIHZhbGlkYXRpb24gb2YgYSBtZXNzYWdlIHBheWxvYWQgYmVmb3JlIGl0IGlzIGZvcndhcmRlZCBmb3Igc2lnbmluZy5cbiAgICogSW1wbGVtZW50YXRpb25zIG11c3QgdGhyb3cgd2hlbiB0aGUgbWVzc2FnZSBpcyBub3Qgc2lnbmFibGUgZm9yIHRoaXMgY29pbi5cbiAgICovXG4gIHZhbGlkYXRlU2lnbmFibGVNZXNzYWdlPyhtZXNzYWdlOiBQaWNrPE1lc3NhZ2UsICdtZXNzYWdlUmF3JyB8ICdtZXNzYWdlU3RhbmRhcmRUeXBlJyB8ICdzaWduZXJBZGRyZXNzJz4pOiB2b2lkO1xuICBzdXBwbGVtZW50R2VuZXJhdGVXYWxsZXQod2FsbGV0UGFyYW1zOiBTdXBwbGVtZW50R2VuZXJhdGVXYWxsZXRPcHRpb25zLCBrZXljaGFpbnM6IEtleWNoYWluc1RyaXBsZXQpOiBQcm9taXNlPGFueT47XG4gIGdldEV4dHJhUHJlYnVpbGRQYXJhbXMoYnVpbGRQYXJhbXM6IEV4dHJhUHJlYnVpbGRQYXJhbXNPcHRpb25zKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG4gIHBvc3RQcm9jZXNzUHJlYnVpbGQocHJlYnVpbGRSZXNwb25zZTogVHJhbnNhY3Rpb25QcmVidWlsZCk6IFByb21pc2U8VHJhbnNhY3Rpb25QcmVidWlsZD47XG4gIHByZXNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnM+O1xuICBzaWduV2l0aEN1c3RvbVNpZ25pbmdGdW5jdGlvbj8oXG4gICAgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uOiBDdXN0b21TaWduaW5nRnVuY3Rpb24sXG4gICAgc2lnblRyYW5zYWN0aW9uUGFyYW1zOiB7IHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7IHB1YnM6IHN0cmluZ1tdIH1cbiAgKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIG5ld1dhbGxldE9iamVjdCh3YWxsZXRQYXJhbXM6IGFueSk6IElXYWxsZXQ7XG4gIGZlZUVzdGltYXRlKHBhcmFtczogRmVlRXN0aW1hdGVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBkZXJpdmVLZXlXaXRoU2VlZChwYXJhbXM6IERlcml2ZUtleVdpdGhTZWVkT3B0aW9ucyk6IHsga2V5OiBzdHJpbmc7IGRlcml2YXRpb25QYXRoOiBzdHJpbmcgfTtcbiAga2V5SWRzRm9yU2lnbmluZygpOiBudW1iZXJbXTtcbiAgcHJlQ3JlYXRlQml0R28ocGFyYW1zOiBQcmVjcmVhdGVCaXRHb09wdGlvbnMpOiB2b2lkO1xuICBpbml0aWF0ZVJlY292ZXJ5KHBhcmFtczogSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMpOiBuZXZlcjtcbiAgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj47XG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpcjtcbiAgZ2VuZXJhdGVSb290S2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpcjtcbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW47XG4gIGlzVmFsaWRNb2ZOU2V0dXAocGFyYW1zOiBWYWxpZE1vZk5PcHRpb25zKTogYm9vbGVhbjtcbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbjtcbiAgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBnZXRTaWduYWJsZVBheWxvYWQoc2VyaWFsaXplZFR4OiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj47XG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG07XG4gIC8vIFRPRE8gLSB0aGlzIG9ubHkgYmVsb25ncyBpbiBldGggY29pbnNcbiAgcmVjb3ZlclRva2VuKHBhcmFtczogUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyk6IFByb21pc2U8UmVjb3ZlclRva2VuVHJhbnNhY3Rpb24+O1xuICBnZXRJbnNjcmlwdGlvbkJ1aWxkZXIod2FsbGV0OiBXYWxsZXQpOiBJSW5zY3JpcHRpb25CdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgY2FsbCBkYXRhIGZvciB0cmFuc2ZlcnJpbmcgYSBORlQocykuXG4gICAqIEBwYXJhbSBwYXJhbXMgT3B0aW9ucyBzcGVjaWZ5aW5nIHRoZSB0b2tlbiBjb250cmFjdCwgdG9rZW4gcmVjaXBpZW50ICYgdGhlIHRva2VuKHMpIHRvIGJlIHRyYW5zZmVycmVkXG4gICAqIEByZXR1cm4gdGhlIGhleCBzdHJpbmcgZm9yIHRoZSBjb250cmFjdCBjYWxsLlxuICAgKi9cbiAgYnVpbGROZnRUcmFuc2ZlckRhdGEocGFyYW1zOiBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMpOiBzdHJpbmcgfCBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zO1xuICBnZXRIYXNoRnVuY3Rpb24oKTogSGFzaDtcbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSB3aGVuIHNpZ25hYmxlSGV4IGlzIGFscmVhZHkgdGhlIGZpbmFsIHNpZ25pbmcgaGFzaCBmb3IgTVBDIHNpZ25pbmdcbiAgICogKGUuZy4gU0hBLTI1NiBmb3IgQXZhbGFuY2hlIGF0b21pYyBjcm9zcy1jaGFpbiB0eHMpLiBPbmx5IGltcGxlbWVudGVkIGJ5IGNvaW5zXG4gICAqIHRoYXQgcHJvZHVjZSBwcmUtaGFzaGVkIHNpZ25hYmxlIG1hdGVyaWFsLlxuICAgKi9cbiAgaXNTaWduYWJsZVByZUhhc2hlZD8odW5zaWduZWRUeDogU2lnbmFibGVUcmFuc2FjdGlvbik6IGJvb2xlYW47XG4gIGJyb2FkY2FzdFRyYW5zYWN0aW9uKHBhcmFtczogQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8QmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0PjtcbiAgc2V0Q29pblNwZWNpZmljRmllbGRzSW5JbnRlbnQoaW50ZW50OiBQb3B1bGF0ZWRJbnRlbnQsIHBhcmFtczogUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogQXVkaXQgYSBrZXkgdG8gZGV0ZXJtaW5lIGlmIGl0IGlzIHZhbGlkIGZvciB0aGUgY29pbi5cbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYXVkaXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5wdWJsaWNLZXkgIC0gVGhlIHB1YmxpYyBwb3J0aW9uIG9mIHRoZSBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5lbmNyeXB0ZWRQcnYgLSBUaGUgZW5jcnlwdGVkIHByaXZhdGUga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSAtIFRoZSBwYXNzcGhyYXNlIHRvIGRlY3J5cHQgdGhlIHByaXZhdGUga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMubXVsdGlTaWdUeXBlIC0gVGhlIHR5cGUgb2YgbXVsdGlzaWcgKGUuZy4gJ29uY2hhaW4nIG9yICd0c3MnKVxuICAgKi9cbiAgYXNzZXJ0SXNWYWxpZEtleShwYXJhbXM6IEF1ZGl0S2V5UGFyYW1zKTogUHJvbWlzZTx2b2lkPjtcbiAgcmVxdWlyZXNXYWxsZXRJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uKCk6IGJvb2xlYW47XG59XG4iXX0=
@@ -74,8 +74,14 @@ export declare class StellarFederationUserNotFoundError extends BitGoJsError {
74
74
  constructor(message?: string);
75
75
  }
76
76
  export declare class ErrorNoInputToRecover extends BitGoJsError {
77
+ code: string;
77
78
  constructor(message?: string);
78
79
  }
80
+ export declare class RecoveryProviderError extends BitGoJsError {
81
+ code: string;
82
+ cause?: unknown;
83
+ constructor(message?: string, cause?: unknown);
84
+ }
79
85
  export declare class InvalidKeyPathError extends BitGoJsError {
80
86
  constructor(keyPath: string);
81
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/bitgo/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/bitgo/errors.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TxIntentMismatchApprovalError = exports.TxIntentMismatchContractError = exports.TxIntentMismatchRecipientError = exports.TxIntentMismatchError = exports.ApiResponseError = exports.NeedUserSignupError = exports.IncorrectPasswordError = exports.MissingEncryptedKeychainError = exports.InvalidTransactionError = exports.InvalidKeyPathError = exports.ErrorNoInputToRecover = exports.StellarFederationUserNotFoundError = exports.EthereumLibraryUnavailableError = exports.AddressGenerationError = exports.KeyRecoveryServiceError = exports.InvalidPaymentIdError = exports.InvalidMemoIdError = exports.BlockExplorerUnavailable = exports.MethodNotImplementedError = exports.WalletRecoveryUnsupported = exports.InvalidAddressDerivationPropertyError = exports.UnexpectedAddressError = exports.InvalidAddressVerificationObjectPropertyError = exports.InvalidAddressError = exports.UnsupportedAddressTypeError = exports.P2trMusig2UnsupportedError = exports.P2trUnsupportedError = exports.P2wshUnsupportedError = exports.P2shP2wshUnsupportedError = exports.AddressTypeChainMismatchError = exports.SafeMpcCeremonyUnsupportedError = exports.UnsupportedCoinError = exports.NodeEnvironmentError = exports.TlsConfigurationError = exports.BitGoJsError = void 0;
3
+ exports.TxIntentMismatchApprovalError = exports.TxIntentMismatchContractError = exports.TxIntentMismatchRecipientError = exports.TxIntentMismatchError = exports.ApiResponseError = exports.NeedUserSignupError = exports.IncorrectPasswordError = exports.MissingEncryptedKeychainError = exports.InvalidTransactionError = exports.InvalidKeyPathError = exports.RecoveryProviderError = exports.ErrorNoInputToRecover = exports.StellarFederationUserNotFoundError = exports.EthereumLibraryUnavailableError = exports.AddressGenerationError = exports.KeyRecoveryServiceError = exports.InvalidPaymentIdError = exports.InvalidMemoIdError = exports.BlockExplorerUnavailable = exports.MethodNotImplementedError = exports.WalletRecoveryUnsupported = exports.InvalidAddressDerivationPropertyError = exports.UnexpectedAddressError = exports.InvalidAddressVerificationObjectPropertyError = exports.InvalidAddressError = exports.UnsupportedAddressTypeError = exports.P2trMusig2UnsupportedError = exports.P2trUnsupportedError = exports.P2wshUnsupportedError = exports.P2shP2wshUnsupportedError = exports.AddressTypeChainMismatchError = exports.SafeMpcCeremonyUnsupportedError = exports.UnsupportedCoinError = exports.NodeEnvironmentError = exports.TlsConfigurationError = exports.BitGoJsError = void 0;
4
4
  // Descriptive error types for common issues which may arise
5
5
  // during the operation of BitGoJS or BitGoExpress
6
6
  const bitgojsError_1 = require("../bitgojsError");
@@ -146,9 +146,18 @@ exports.StellarFederationUserNotFoundError = StellarFederationUserNotFoundError;
146
146
  class ErrorNoInputToRecover extends bitgojsError_1.BitGoJsError {
147
147
  constructor(message) {
148
148
  super(message || 'No input to recover - aborting!');
149
+ this.code = 'no_input_to_recover';
149
150
  }
150
151
  }
151
152
  exports.ErrorNoInputToRecover = ErrorNoInputToRecover;
153
+ class RecoveryProviderError extends bitgojsError_1.BitGoJsError {
154
+ constructor(message, cause) {
155
+ super(message || 'Unable to reach the chain provider while attempting recovery.');
156
+ this.code = 'recovery_provider_failed';
157
+ this.cause = cause;
158
+ }
159
+ }
160
+ exports.RecoveryProviderError = RecoveryProviderError;
152
161
  class InvalidKeyPathError extends bitgojsError_1.BitGoJsError {
153
162
  constructor(keyPath) {
154
163
  super(`invalid keypath: ${keyPath}`);
@@ -341,4 +350,4 @@ class TxIntentMismatchApprovalError extends TxIntentMismatchError {
341
350
  }
342
351
  }
343
352
  exports.TxIntentMismatchApprovalError = TxIntentMismatchApprovalError;
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0REFBNEQ7QUFDNUQsa0RBQWtEO0FBQ2xELGtEQUErQztBQU90Qyw2RkFQQSwyQkFBWSxPQU9BO0FBRXJCLE1BQWEscUJBQXNCLFNBQVEsMkJBQVk7SUFDckQsWUFBbUIsT0FBZ0I7UUFDakMsS0FBSyxDQUFDLE9BQU8sSUFBSSxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQUpELHNEQUlDO0FBRUQsTUFBYSxvQkFBcUIsU0FBUSwyQkFBWTtJQUNwRCxZQUFtQixPQUFnQjtRQUNqQyxLQUFLLENBQUMsT0FBTyxJQUFJLHVEQUF1RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNGO0FBSkQsb0RBSUM7QUFFRCxNQUFhLG9CQUFxQixTQUFRLDJCQUFZO0lBQ3BELFlBQW1CLElBQVk7UUFDN0IsS0FBSyxDQUNILHNCQUFzQixJQUFJLGdLQUFnSyxJQUFJLFNBQVMsQ0FDeE0sQ0FBQztJQUNKLENBQUM7Q0FDRjtBQU5ELG9EQU1DO0FBRUQsTUFBYSwrQkFBZ0MsU0FBUSwyQkFBWTtJQUMvRCxZQUFtQixVQUFrQjtRQUNuQyxLQUFLLENBQ0gsd0RBQXdELFVBQVUsa0lBQWtJLFVBQVUsK0NBQStDLENBQzlQLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFORCwwRUFNQztBQUVELE1BQWEsNkJBQThCLFNBQVEsMkJBQVk7SUFDN0QsWUFBWSxXQUFtQixFQUFFLEtBQXNCO1FBQ3JELEtBQUssQ0FBQyxnQkFBZ0IsV0FBVyxpQ0FBaUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0Y7QUFKRCxzRUFJQztBQUVELE1BQWEseUJBQTBCLFNBQVEsMkJBQVk7SUFDekQsWUFBWSxPQUFnQjtRQUMxQixLQUFLLENBQUMsT0FBTyxJQUFJLHNDQUFzQyxDQUFDLENBQUM7SUFDM0Qs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RUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFDbkQsQ0FBQztDQUNGO0FBeEJELHdFQXdCQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsNkJBQThCLFNBQVEscUJBQXFCO0lBR3RFOzs7Ozs7Ozs7T0FTRztJQUNILFlBQ0UsT0FBZSxFQUNmLEVBQXVDLEVBQ3ZDLFFBQTZCLEVBQzdCLEtBQXlCLEVBQ3pCLHFCQUEwQyxFQUMxQyxhQUF1QjtRQUV2QixLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztJQUNyRCxDQUFDO0NBQ0Y7QUF4QkQsc0VBd0JDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSw2QkFBOEIsU0FBUSxxQkFBcUI7SUFHdEU7Ozs7Ozs7OztPQVNHO0lBQ0gsWUFDRSxPQUFlLEVBQ2YsRUFBdUMsRUFDdkMsUUFBNkIsRUFDN0IsS0FBeUIsRUFDekIsYUFBNEIsRUFDNUIsYUFBdUI7UUFFdkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUF4QkQsc0VBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGVzY3JpcHRpdmUgZXJyb3IgdHlwZXMgZm9yIGNvbW1vbiBpc3N1ZXMgd2hpY2ggbWF5IGFyaXNlXG4vLyBkdXJpbmcgdGhlIG9wZXJhdGlvbiBvZiBCaXRHb0pTIG9yIEJpdEdvRXhwcmVzc1xuaW1wb3J0IHsgQml0R29Kc0Vycm9yIH0gZnJvbSAnLi4vYml0Z29qc0Vycm9yJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuL2Jhc2VDb2luL2lCYXNlQ29pbic7XG5pbXBvcnQgeyBTZW5kTWFueU9wdGlvbnMgfSBmcm9tICcuL3dhbGxldCc7XG5cbi8vIHJlLWV4cG9ydCBmb3IgYmFja3dhcmRzIGNvbXBhdFxuZXhwb3J0IHsgQml0R29Kc0Vycm9yIH07XG5cbmV4cG9ydCBjbGFzcyBUbHNDb25maWd1cmF0aW9uRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ1RMUyBpcyBjb25maWd1cmF0aW9uIGlzIGludmFsaWQnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTm9kZUVudmlyb25tZW50RXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ05PREVfRU5WIGlzIGludmFsaWQgZm9yIHRoZSBjdXJyZW50IGJpdGdvIGVudmlyb25tZW50Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVuc3VwcG9ydGVkQ29pbkVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvaW46IHN0cmluZykge1xuICAgIHN1cGVyKFxuICAgICAgYENvaW4gb3IgdG9rZW4gdHlwZSAke2NvaW59IG5vdCBzdXBwb3J0ZWQgb3Igbm90IGNvbXBpbGVkLiBQbGVhc2UgYmUgc3VyZSB0aGF0IHlvdSBhcmUgdXNpbmcgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIEJpdEdvSlMuIElmIHVzaW5nIEBiaXRnby9zZGstYXBpLCBwbGVhc2UgY29uZmlybSB5b3UgaGF2ZSByZWdpc3RlcmVkICR7Y29pbn0gZmlyc3QuYFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNhZmVNcGNDZXJlbW9ueVVuc3VwcG9ydGVkRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbkZhbWlseTogc3RyaW5nKSB7XG4gICAgc3VwZXIoXG4gICAgICBgQ2Fubm90IGNyZWF0ZSBXYWxsZXQgU2FmZSByb290IGtleXMgZm9yIGNvaW4gZmFtaWx5ICcke2NvaW5GYW1pbHl9JzogaXRzIFRTUyBzZXR0aW5ncyByZXNvbHZlIHRvIHRoZSBsZWdhY3kgTVBDdjEgY2VyZW1vbnksIHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgc2FmZSByb290IHRhZ2dpbmcgKHNhZmVJZCkuIEVuYWJsZSBNUEN2MiBmb3IgJyR7Y29pbkZhbWlseX0nIGJlZm9yZSBjcmVhdGluZyBhIHNhZmUgd2l0aCB0aGlzIHJvb3QgdHlwZS5gXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWRkcmVzc1R5cGVDaGFpbk1pc21hdGNoRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihhZGRyZXNzVHlwZTogc3RyaW5nLCBjaGFpbjogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgc3VwZXIoYGFkZHJlc3MgdHlwZSAke2FkZHJlc3NUeXBlfSBkb2VzIG5vdCBjb3JyZXNwb25kIHRvIGNoYWluICR7Y2hhaW59YCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFAyc2hQMndzaFVuc3VwcG9ydGVkRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAncDJzaFAyd3NoIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb2luJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFAyd3NoVW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAncDJ3c2ggbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvaW4nKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUDJ0clVuc3VwcG9ydGVkRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ3AydHIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvaW4nKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUDJ0ck11c2lnMlVuc3VwcG9ydGVkRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ3AydHJNdXNpZzIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvaW4nKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5zdXBwb3J0ZWRBZGRyZXNzVHlwZUVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdpbnZhbGlkIGFkZHJlc3MgdHlwZScpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkQWRkcmVzc0Vycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdpbnZhbGlkIGFkZHJlc3MnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZEFkZHJlc3NWZXJpZmljYXRpb25PYmplY3RQcm9wZXJ0eUVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdhZGRyZXNzIHZhbGlkYXRpb24gZmFpbHVyZScpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdhZGRyZXNzIHZhbGlkYXRpb24gZmFpbHVyZScpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdhZGRyZXNzIGNoYWluIGFuZC9vciBpbmRleCBhcmUgaW52YWxpZCcpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRSZWNvdmVyeVVuc3VwcG9ydGVkIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICd3YWxsZXQgcmVjb3ZlcnkgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvaW4nKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWV0aG9kTm90SW1wbGVtZW50ZWRFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCbG9ja0V4cGxvcmVyVW5hdmFpbGFibGUgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ3RoaXJkLXBhcnR5IGJsb2NrZXhwbG9yZXIgbm90IHJlc3BvbmRpbmcnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZE1lbW9JZEVycm9yIGV4dGVuZHMgSW52YWxpZEFkZHJlc3NFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnaW52YWxpZCBtZW1vIGlkJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRQYXltZW50SWRFcnJvciBleHRlbmRzIEludmFsaWRBZGRyZXNzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ2ludmFsaWQgcGF5bWVudCBpZCcpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLZXlSZWNvdmVyeVNlcnZpY2VFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAna2V5IHJlY292ZXJ5IHNlcnZpY2UgZW5jb3VudGVyZWQgYW4gZXJyb3InKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWRkcmVzc0dlbmVyYXRpb25FcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnYWRkcmVzcyBnZW5lcmF0aW9uIGZhaWxlZCcpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFdGhlcmV1bUxpYnJhcnlVbmF2YWlsYWJsZUVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgRXRoZXJldW0gbGlicmFyeSByZXF1aXJlZCBmb3Igb3BlcmF0aW9uIGlzIG5vdCBhdmFpbGFibGUuIFBsZWFzZSBpbnN0YWxsIFwiJHtwYWNrYWdlTmFtZX1cIi5gKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RlbGxhckZlZGVyYXRpb25Vc2VyTm90Rm91bmRFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnYWNjb3VudCBub3QgZm91bmQnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRXJyb3JOb0lucHV0VG9SZWNvdmVyIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdObyBpbnB1dCB0byByZWNvdmVyIC0gYWJvcnRpbmchJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRLZXlQYXRoRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3Ioa2V5UGF0aDogc3RyaW5nKSB7XG4gICAgc3VwZXIoYGludmFsaWQga2V5cGF0aDogJHtrZXlQYXRofWApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaXNzaW5nRW5jcnlwdGVkS2V5Y2hhaW5FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdObyBlbmNyeXB0ZWQga2V5Y2hhaW5zIG9uIHRoaXMgd2FsbGV0LicpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbmNvcnJlY3RQYXNzd29yZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgY29kZSA9ICd3YWxsZXRfcGFzc3BocmFzZV9pbmNvcnJlY3QnO1xuICBwdWJsaWMgc3RhdHVzID0gNDAxO1xuICBwdWJsaWMgY2F1c2U/OiB1bmtub3duO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nLCBjYXVzZT86IHVua25vd24pIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICd1bmFibGUgdG8gZGVjcnlwdCBrZXljaGFpbiB3aXRoIHRoZSBnaXZlbiB3YWxsZXQgcGFzc3BocmFzZScpO1xuICAgIHRoaXMubmFtZSA9ICdJbmNvcnJlY3RQYXNzd29yZEVycm9yJztcbiAgICB0aGlzLmNhdXNlID0gY2F1c2U7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5lZWRVc2VyU2lnbnVwRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ1VzZXIgc2lnbnVwIGlzIHJlcXVpcmVkJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFwaVJlc3BvbnNlRXJyb3I8UmVzcG9uc2VCb2R5VHlwZSA9IGFueT4gZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHN0YXR1czogbnVtYmVyO1xuICByZXN1bHQ/OiBSZXNwb25zZUJvZHlUeXBlO1xuICBpbnZhbGlkVG9rZW4/OiBib29sZWFuO1xuICBuZWVkc09UUD86IGJvb2xlYW47XG4gIC8vIEVjaG9lZCBiYWNrIHZpYSB0aGUgYFJlcXVlc3QtSURgIHJlc3BvbnNlIGhlYWRlciAoc2VlIGxvZ2dpbmctZXhwcmVzcydzIGBiZWdpbkxvZ2dpbmdgKSxcbiAgLy8gc28gaXQgY2FuIGJlIHVzZWQgdG8gY29ycmVsYXRlIHRoaXMgZXJyb3Igd2l0aCB0aGUgc2VydmVyLXNpZGUgcmVxdWVzdCBsb2dzLlxuICByZXF1ZXN0SWQ/OiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBzdGF0dXM6IG51bWJlcixcbiAgICByZXN1bHQ/OiBSZXNwb25zZUJvZHlUeXBlLFxuICAgIGludmFsaWRUb2tlbj86IGJvb2xlYW4sXG4gICAgbmVlZHNPVFA/OiBib29sZWFuLFxuICAgIHJlcXVlc3RJZD86IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIHRoaXMuc3RhdHVzID0gc3RhdHVzO1xuICAgIHRoaXMucmVzdWx0ID0gcmVzdWx0O1xuICAgIHRoaXMuaW52YWxpZFRva2VuID0gaW52YWxpZFRva2VuO1xuICAgIHRoaXMubmVlZHNPVFAgPSBuZWVkc09UUDtcbiAgICB0aGlzLnJlcXVlc3RJZCA9IHJlcXVlc3RJZDtcbiAgfVxufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgdG9rZW4gYXBwcm92YWwgaW5mb3JtYXRpb24gdXNlZCBpbiBzdXNwaWNpb3VzIHRyYW5zYWN0aW9uIGRldGVjdGlvblxuICpcbiAqIEBpbnRlcmZhY2UgVG9rZW5BcHByb3ZhbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt0b2tlbk5hbWVdIC0gT3B0aW9uYWwgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgdG9rZW5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0b2tlbkFkZHJlc3MgLSBUaGUgY29udHJhY3QgYWRkcmVzcyBvZiB0aGUgdG9rZW4gYmVpbmcgYXBwcm92ZWRcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBhdXRob3JpemluZ0Ftb3VudCAtIFRoZSBhbW91bnQgYmVpbmcgYXV0aG9yaXplZCBmb3Igc3BlbmRpbmdcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhdXRob3JpemluZ0FkZHJlc3MgLSBUaGUgYWRkcmVzcyBiZWluZyBhdXRob3JpemVkIHRvIHNwZW5kIHRoZSB0b2tlbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb2tlbkFwcHJvdmFsIHtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB0b2tlbkFkZHJlc3M6IHN0cmluZztcbiAgYXV0aG9yaXppbmdBbW91bnQ6IHsgdHlwZTogJ3VubGltaXRlZCcgfSB8IHsgdHlwZTogJ2xpbWl0ZWQnOyBhbW91bnQ6IG51bWJlciB9O1xuICBhdXRob3JpemluZ0FkZHJlc3M6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIG1pc21hdGNoZWQgcmVjaXBpZW50IGluZm9ybWF0aW9uIGRldGVjdGVkIGR1cmluZyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb25cbiAqXG4gKiBAaW50ZXJmYWNlIE1pc21hdGNoZWRSZWNpcGllbnRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhZGRyZXNzIC0gVGhlIHJlY2lwaWVudCBhZGRyZXNzIHRoYXQgd2FzIGZvdW5kIGluIHRoZSB0cmFuc2FjdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IGFtb3VudCAtIFRoZSBhbW91bnQgYmVpbmcgc2VudCB0byB0aGlzIHJlY2lwaWVudFxuICogQHByb3BlcnR5IHtzdHJpbmcgfCBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zfSBbZGF0YV0gLSBPcHRpb25hbCB0cmFuc2FjdGlvbiBkYXRhIG9yIHRva2VuIHRyYW5zZmVyIHBhcmFtZXRlcnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdG9rZW5OYW1lXSAtIE9wdGlvbmFsIG5hbWUgb2YgdGhlIHRva2VuIGJlaW5nIHRyYW5zZmVycmVkXG4gKiBAcHJvcGVydHkge1Rva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXN9IFt0b2tlbkRhdGFdIC0gT3B0aW9uYWwgc3RydWN0dXJlZCB0b2tlbiB0cmFuc2ZlciBkYXRhXG4gKi9cbmV4cG9ydCB0eXBlIE1pc21hdGNoZWRSZWNpcGllbnQgPSBOb25OdWxsYWJsZTxTZW5kTWFueU9wdGlvbnNbJ3JlY2lwaWVudHMnXT5bMF07XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBjb250cmFjdCBpbnRlcmFjdGlvbiBkYXRhIHBheWxvYWQgdXNlZCBpbiBzdXNwaWNpb3VzIHRyYW5zYWN0aW9uIGRldGVjdGlvblxuICpcbiAqIEBpbnRlcmZhY2UgQ29udHJhY3REYXRhUGF5bG9hZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGFkZHJlc3MgLSBUaGUgY29udHJhY3QgYWRkcmVzcyBiZWluZyBpbnRlcmFjdGVkIHdpdGhcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSByYXdDb250cmFjdFBheWxvYWQgLSBUaGUgcmF3IGNvbnRyYWN0IHBheWxvYWQgaW4gc2VyaWFsaXplZCBmb3JtIHNwZWNpZmljIHRvIHRoZSBibG9ja2NoYWluXG4gKiBAcHJvcGVydHkge3Vua25vd259IGRlY29kZWRDb250cmFjdFBheWxvYWQgLSBUaGUgZGVjb2RlZCBjb250cmFjdCBwYXlsb2FkLCBzdHJ1Y3R1cmUgdmFyaWVzIGJ5IGNvaW4vY2hhaW4gaW1wbGVtZW50YXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cmFjdERhdGFQYXlsb2FkIHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICAvLyBUaGUgcmF3IGNvbnRyYWN0IHBheWxvYWQgaW4gc2VyaWFsaXplZCBmb3JtIG9mIHRoZSBjaGFpblxuICByYXdDb250cmFjdFBheWxvYWQ6IHN0cmluZztcbiAgLy8gVG8gYmUgZGVmaW5lZCBvbiBhIHBlci1jb2luIGJhc2lzXG4gIGRlY29kZWRDb250cmFjdFBheWxvYWQ6IHVua25vd247XG59XG5cbi8qKlxuICogQmFzZSBlcnJvciBjbGFzcyBmb3IgdHJhbnNhY3Rpb24gaW50ZW50IG1pc21hdGNoIGRldGVjdGlvblxuICpcbiAqIFRoaXMgZXJyb3IgaXMgdGhyb3duIHdoZW4gYSB0cmFuc2FjdGlvbiBkb2VzIG5vdCBtYXRjaCB0aGUgdXNlcidzIG9yaWdpbmFsIGludGVudCxcbiAqIGluZGljYXRpbmcgcG90ZW50aWFsIHNlY3VyaXR5IGlzc3VlcyBvciBtYWxpY2lvdXMgbW9kaWZpY2F0aW9ucy5cbiAqXG4gKiBAY2xhc3MgVHhJbnRlbnRNaXNtYXRjaEVycm9yXG4gKiBAZXh0ZW5kcyB7Qml0R29Kc0Vycm9yfVxuICogQHByb3BlcnR5IHtzdHJpbmcgfCBJUmVxdWVzdFRyYWNlciB8IHVuZGVmaW5lZH0gaWQgLSBUcmFuc2FjdGlvbiBJRCBvciByZXF1ZXN0IHRyYWNlciBmb3IgdHJhY2tpbmdcbiAqIEBwcm9wZXJ0eSB7VHJhbnNhY3Rpb25QYXJhbXNbXX0gdHhQYXJhbXMgLSBBcnJheSBvZiB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzIHRoYXQgd2VyZSBhbmFseXplZFxuICogQHByb3BlcnR5IHtzdHJpbmcgfCB1bmRlZmluZWR9IHR4SGV4IC0gVGhlIHJhdyB0cmFuc2FjdGlvbiBpbiBoZXhhZGVjaW1hbCBmb3JtYXRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB0eEV4cGxhbmF0aW9uIC0gU3RyaW5naWZpZWQgdHJhbnNhY3Rpb24gZXhwbGFuYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFR4SW50ZW50TWlzbWF0Y2hFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nIHwgSVJlcXVlc3RUcmFjZXIgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSB0eFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXNbXTtcbiAgcHVibGljIHJlYWRvbmx5IHR4SGV4OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSB0eEV4cGxhbmF0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVHhJbnRlbnRNaXNtYXRjaEVycm9yXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gRXJyb3IgbWVzc2FnZSBkZXNjcmliaW5nIHRoZSBpbnRlbnQgbWlzbWF0Y2hcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBJUmVxdWVzdFRyYWNlciB8IHVuZGVmaW5lZH0gaWQgLSBUcmFuc2FjdGlvbiBJRCBvciByZXF1ZXN0IHRyYWNlclxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUGFyYW1zW119IHR4UGFyYW1zIC0gVHJhbnNhY3Rpb24gcGFyYW1ldGVycyB0aGF0IHdlcmUgYW5hbHl6ZWRcbiAgICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IHR4SGV4IC0gUmF3IHRyYW5zYWN0aW9uIGhleCBzdHJpbmdcbiAgICogQHBhcmFtIHt1bmtub3dufSB0eEV4cGxhbmF0aW9uIC0gVHJhbnNhY3Rpb24gZXhwbGFuYXRpb25cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IElSZXF1ZXN0VHJhY2VyIHwgdW5kZWZpbmVkLFxuICAgIHR4UGFyYW1zOiBUcmFuc2FjdGlvblBhcmFtc1tdLFxuICAgIHR4SGV4OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgdHhFeHBsYW5hdGlvbj86IHVua25vd25cbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMudHhQYXJhbXMgPSB0eFBhcmFtcztcbiAgICB0aGlzLnR4SGV4ID0gdHhIZXg7XG4gICAgdGhpcy50eEV4cGxhbmF0aW9uID0gdHhFeHBsYW5hdGlvbiA/IFR4SW50ZW50TWlzbWF0Y2hFcnJvci5zYWZlU3RyaW5naWZ5KHR4RXhwbGFuYXRpb24pIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhZmVseSBzdHJpbmdpZnkgYSB2YWx1ZSB3aXRoIEJpZ0ludCBzdXBwb3J0XG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIHN0cmluZ2lmeVxuICAgKiBAcmV0dXJucyBKU09OIHN0cmluZyB3aXRoIEJpZ0ludHMgY29udmVydGVkIHRvIHN0cmluZ3NcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHNhZmVTdHJpbmdpZnkodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgKF8sIHYpID0+ICh0eXBlb2YgdiA9PT0gJ2JpZ2ludCcgPyB2LnRvU3RyaW5nKCkgOiB2KSwgMik7XG4gIH1cblxuICAvKipcbiAgICogVHJ5IHRvIGdldCB0cmFuc2FjdGlvbiBleHBsYW5hdGlvbiBmcm9tIGEgY29pbidzIGV4cGxhaW5UcmFuc2FjdGlvbiBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSBjb2luIC0gQ29pbiBpbnN0YW5jZSBpbXBsZW1lbnRpbmcgSUJhc2VDb2luXG4gICAqIEBwYXJhbSB0eFByZWJ1aWxkIC0gVHJhbnNhY3Rpb24gcHJlYnVpbGQgY29udGFpbmluZyB0eEhleCBhbmQgdHhJbmZvXG4gICAqIEByZXR1cm5zIFRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uIG9iamVjdCBvciB1bmRlZmluZWRcbiAgICovXG4gIHN0YXRpYyBhc3luYyB0cnlHZXRUeEV4cGxhbmF0aW9uKFxuICAgIGNvaW46IElCYXNlQ29pbixcbiAgICB0eFByZWJ1aWxkOiB7IHR4SGV4Pzogc3RyaW5nOyB0eEluZm8/OiB1bmtub3duIH1cbiAgKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgaWYgKCF0eFByZWJ1aWxkLnR4SGV4KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY29pbi5leHBsYWluVHJhbnNhY3Rpb24oe1xuICAgICAgICB0eEhleDogdHhQcmVidWlsZC50eEhleCxcbiAgICAgICAgdHhJbmZvOiB0eFByZWJ1aWxkLnR4SW5mbyxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVycm9yOiAnRmFpbGVkIHRvIHBhcnNlIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uJyxcbiAgICAgICAgdHhIZXg6IHR4UHJlYnVpbGQudHhIZXgsXG4gICAgICAgIGRldGFpbHM6IGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRXJyb3IgdGhyb3duIHdoZW4gdHJhbnNhY3Rpb24gcmVjaXBpZW50cyBkb24ndCBtYXRjaCB0aGUgdXNlcidzIGludGVudFxuICpcbiAqIFRoaXMgZXJyb3Igb2NjdXJzIHdoZW4gdGhlIHRyYW5zYWN0aW9uIGNvbnRhaW5zIHJlY2lwaWVudHMgb3IgYW1vdW50cyB0aGF0IGRpZmZlclxuICogZnJvbSB3aGF0IHRoZSB1c2VyIG9yaWdpbmFsbHkgaW50ZW5kZWQgdG8gc2VuZC5cbiAqXG4gKiBAY2xhc3MgVHhJbnRlbnRNaXNtYXRjaFJlY2lwaWVudEVycm9yXG4gKiBAZXh0ZW5kcyB7VHhJbnRlbnRNaXNtYXRjaEVycm9yfVxuICogQHByb3BlcnR5IHtNaXNtYXRjaGVkUmVjaXBpZW50W119IG1pc21hdGNoZWRSZWNpcGllbnRzIC0gQXJyYXkgb2YgcmVjaXBpZW50cyB0aGF0IGRvbid0IG1hdGNoIHVzZXIgaW50ZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBUeEludGVudE1pc21hdGNoUmVjaXBpZW50RXJyb3IgZXh0ZW5kcyBUeEludGVudE1pc21hdGNoRXJyb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgbWlzbWF0Y2hlZFJlY2lwaWVudHM6IE1pc21hdGNoZWRSZWNpcGllbnRbXTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBUeEludGVudE1pc21hdGNoUmVjaXBpZW50RXJyb3JcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgLSBFcnJvciBtZXNzYWdlIGRlc2NyaWJpbmcgdGhlIHJlY2lwaWVudCBpbnRlbnQgbWlzbWF0Y2hcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBJUmVxdWVzdFRyYWNlciB8IHVuZGVmaW5lZH0gaWQgLSBUcmFuc2FjdGlvbiBJRCBvciByZXF1ZXN0IHRyYWNlclxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUGFyYW1zW119IHR4UGFyYW1zIC0gVHJhbnNhY3Rpb24gcGFyYW1ldGVycyB0aGF0IHdlcmUgYW5hbHl6ZWRcbiAgICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IHR4SGV4IC0gUmF3IHRyYW5zYWN0aW9uIGhleCBzdHJpbmdcbiAgICogQHBhcmFtIHtNaXNtYXRjaGVkUmVjaXBpZW50W119IG1pc21hdGNoZWRSZWNpcGllbnRzIC0gQXJyYXkgb2YgcmVjaXBpZW50cyB0aGF0IGRvbid0IG1hdGNoIHVzZXIgaW50ZW50XG4gICAqIEBwYXJhbSB7dW5rbm93bn0gdHhFeHBsYW5hdGlvbiAtIFRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBJUmVxdWVzdFRyYWNlciB8IHVuZGVmaW5lZCxcbiAgICB0eFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXNbXSxcbiAgICB0eEhleDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG1pc21hdGNoZWRSZWNpcGllbnRzOiBNaXNtYXRjaGVkUmVjaXBpZW50W10sXG4gICAgdHhFeHBsYW5hdGlvbj86IHVua25vd25cbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgaWQsIHR4UGFyYW1zLCB0eEhleCwgdHhFeHBsYW5hdGlvbik7XG4gICAgdGhpcy5taXNtYXRjaGVkUmVjaXBpZW50cyA9IG1pc21hdGNoZWRSZWNpcGllbnRzO1xuICB9XG59XG5cbi8qKlxuICogRXJyb3IgdGhyb3duIHdoZW4gY29udHJhY3QgaW50ZXJhY3Rpb24gZG9lc24ndCBtYXRjaCB0aGUgdXNlcidzIGludGVudFxuICpcbiAqIFRoaXMgZXJyb3Igb2NjdXJzIHdoZW4gYSB0cmFuc2FjdGlvbiBpbnRlcmFjdHMgd2l0aCBhIHNtYXJ0IGNvbnRyYWN0IGJ1dCB0aGVcbiAqIGNvbnRyYWN0IGNhbGwgZGF0YSBvciBtZXRob2QgZG9lc24ndCBtYXRjaCB3aGF0IHRoZSB1c2VyIGludGVuZGVkLlxuICpcbiAqIEBjbGFzcyBUeEludGVudE1pc21hdGNoQ29udHJhY3RFcnJvclxuICogQGV4dGVuZHMge1R4SW50ZW50TWlzbWF0Y2hFcnJvcn1cbiAqIEBwcm9wZXJ0eSB7Q29udHJhY3REYXRhUGF5bG9hZH0gbWlzbWF0Y2hlZERhdGFQYXlsb2FkIC0gVGhlIGNvbnRyYWN0IGludGVyYWN0aW9uIGRhdGEgdGhhdCBkb2Vzbid0IG1hdGNoIHVzZXIgaW50ZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBUeEludGVudE1pc21hdGNoQ29udHJhY3RFcnJvciBleHRlbmRzIFR4SW50ZW50TWlzbWF0Y2hFcnJvciB7XG4gIHB1YmxpYyByZWFkb25seSBtaXNtYXRjaGVkRGF0YVBheWxvYWQ6IENvbnRyYWN0RGF0YVBheWxvYWQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVHhJbnRlbnRNaXNtYXRjaENvbnRyYWN0RXJyb3JcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgLSBFcnJvciBtZXNzYWdlIGRlc2NyaWJpbmcgdGhlIGNvbnRyYWN0IGludGVudCBtaXNtYXRjaFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IElSZXF1ZXN0VHJhY2VyIHwgdW5kZWZpbmVkfSBpZCAtIFRyYW5zYWN0aW9uIElEIG9yIHJlcXVlc3QgdHJhY2VyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25QYXJhbXNbXX0gdHhQYXJhbXMgLSBUcmFuc2FjdGlvbiBwYXJhbWV0ZXJzIHRoYXQgd2VyZSBhbmFseXplZFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gdHhIZXggLSBSYXcgdHJhbnNhY3Rpb24gaGV4IHN0cmluZ1xuICAgKiBAcGFyYW0ge0NvbnRyYWN0RGF0YVBheWxvYWR9IG1pc21hdGNoZWREYXRhUGF5bG9hZCAtIFRoZSBjb250cmFjdCBpbnRlcmFjdGlvbiBkYXRhIHRoYXQgZG9lc24ndCBtYXRjaCB1c2VyIGludGVudFxuICAgKiBAcGFyYW0ge3Vua25vd259IHR4RXhwbGFuYXRpb24gLSBUcmFuc2FjdGlvbiBleHBsYW5hdGlvblxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgSVJlcXVlc3RUcmFjZXIgfCB1bmRlZmluZWQsXG4gICAgdHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zW10sXG4gICAgdHhIZXg6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBtaXNtYXRjaGVkRGF0YVBheWxvYWQ6IENvbnRyYWN0RGF0YVBheWxvYWQsXG4gICAgdHhFeHBsYW5hdGlvbj86IHVua25vd25cbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgaWQsIHR4UGFyYW1zLCB0eEhleCwgdHhFeHBsYW5hdGlvbik7XG4gICAgdGhpcy5taXNtYXRjaGVkRGF0YVBheWxvYWQgPSBtaXNtYXRjaGVkRGF0YVBheWxvYWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBFcnJvciB0aHJvd24gd2hlbiB0b2tlbiBhcHByb3ZhbCBkb2Vzbid0IG1hdGNoIHRoZSB1c2VyJ3MgaW50ZW50XG4gKlxuICogVGhpcyBlcnJvciBvY2N1cnMgd2hlbiBhIHRyYW5zYWN0aW9uIGNvbnRhaW5zIGEgdG9rZW4gYXBwcm92YWwgdGhhdCB0aGUgdXNlclxuICogZGlkIG5vdCBpbnRlbmQgdG8gYXV0aG9yaXplLCBwb3RlbnRpYWxseSBpbmRpY2F0aW5nIG1hbGljaW91cyBhY3Rpdml0eS5cbiAqXG4gKiBAY2xhc3MgVHhJbnRlbnRNaXNtYXRjaEFwcHJvdmFsRXJyb3JcbiAqIEBleHRlbmRzIHtUeEludGVudE1pc21hdGNoRXJyb3J9XG4gKiBAcHJvcGVydHkge1Rva2VuQXBwcm92YWx9IHRva2VuQXBwcm92YWwgLSBEZXRhaWxzIG9mIHRoZSB0b2tlbiBhcHByb3ZhbCB0aGF0IGRvZXNuJ3QgbWF0Y2ggdXNlciBpbnRlbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFR4SW50ZW50TWlzbWF0Y2hBcHByb3ZhbEVycm9yIGV4dGVuZHMgVHhJbnRlbnRNaXNtYXRjaEVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IHRva2VuQXBwcm92YWw6IFRva2VuQXBwcm92YWw7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVHhJbnRlbnRNaXNtYXRjaEFwcHJvdmFsRXJyb3JcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgLSBFcnJvciBtZXNzYWdlIGRlc2NyaWJpbmcgdGhlIGFwcHJvdmFsIGludGVudCBtaXNtYXRjaFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IElSZXF1ZXN0VHJhY2VyIHwgdW5kZWZpbmVkfSBpZCAtIFRyYW5zYWN0aW9uIElEIG9yIHJlcXVlc3QgdHJhY2VyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25QYXJhbXNbXX0gdHhQYXJhbXMgLSBUcmFuc2FjdGlvbiBwYXJhbWV0ZXJzIHRoYXQgd2VyZSBhbmFseXplZFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gdHhIZXggLSBSYXcgdHJhbnNhY3Rpb24gaGV4IHN0cmluZ1xuICAgKiBAcGFyYW0ge1Rva2VuQXBwcm92YWx9IHRva2VuQXBwcm92YWwgLSBEZXRhaWxzIG9mIHRoZSB0b2tlbiBhcHByb3ZhbCB0aGF0IGRvZXNuJ3QgbWF0Y2ggdXNlciBpbnRlbnRcbiAgICogQHBhcmFtIHt1bmtub3dufSB0eEV4cGxhbmF0aW9uIC0gVHJhbnNhY3Rpb24gZXhwbGFuYXRpb25cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IElSZXF1ZXN0VHJhY2VyIHwgdW5kZWZpbmVkLFxuICAgIHR4UGFyYW1zOiBUcmFuc2FjdGlvblBhcmFtc1tdLFxuICAgIHR4SGV4OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgdG9rZW5BcHByb3ZhbDogVG9rZW5BcHByb3ZhbCxcbiAgICB0eEV4cGxhbmF0aW9uPzogdW5rbm93blxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlLCBpZCwgdHhQYXJhbXMsIHR4SGV4LCB0eEV4cGxhbmF0aW9uKTtcbiAgICB0aGlzLnRva2VuQXBwcm92YWwgPSB0b2tlbkFwcHJvdmFsO1xuICB9XG59XG4iXX0=
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0REFBNEQ7QUFDNUQsa0RBQWtEO0FBQ2xELGtEQUErQztBQU90Qyw2RkFQQSwyQkFBWSxPQU9BO0FBRXJCLE1BQWEscUJBQXNCLFNBQVEsMkJBQVk7SUFDckQsWUFBbUIsT0FBZ0I7UUFDakMsS0FBSyxDQUFDLE9BQU8sSUFBSSxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQUpELHNEQUlDO0FBRUQsTUFBYSxvQkFBcUIsU0FBUSwyQkFBWTtJQUNwRCxZQUFtQixPQUFnQjtRQUNqQyxLQUFLLENBQUMsT0FBTyxJQUFJLHVEQUF1RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNGO0FBSkQsb0RBSUM7QUFFRCxNQUFhLG9CQUFxQixTQUFRLDJCQUFZO0lBQ3BELFlBQW1CLElBQVk7UUFDN0IsS0FBSyxDQUNILHNCQUFzQixJQUFJLGdLQUFnSyxJQUFJLFNBQVMsQ0FDeE0sQ0FBQztJQUNKLENBQUM7Q0FDRjtBQU5ELG9EQU1DO0FBRUQsTUFBYSwrQkFBZ0MsU0FBUSwyQkFBWTtJQUMvRCxZQUFtQixVQUFrQjtRQUNuQyxLQUFLLENBQ0gsd0RBQXdELFVBQVUsa0lBQWtJLFVBQVUsK0NBQStDLENBQzlQLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFORCwwRUFNQztBQUVELE1BQWEsNkJBQThCLFNBQVEsMkJBQVk7SUFDN0QsWUFBWSxXQUFtQixFQUFFLEtBQXNCO1FBQ3JELEtBQUssQ0FBQyxnQkFBZ0IsV0FBVyxpQ0FBaUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0Y7QUFKRCxzRUFJQztBQUVELE1BQWEseUJBQTBCLFNBQVEsMkJBQVk7SUFDekQsWUFBWSxPQUFnQjtRQUMxQixLQUFLLENBQUMsT0FBTyxJQUFJLHNDQUFzQyxDQUFDLENBQUM7SUFDM0Qs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Y2VzQ29udGVudCI6WyIvLyBEZXNjcmlwdGl2ZSBlcnJvciB0eXBlcyBmb3IgY29tbW9uIGlzc3VlcyB3aGljaCBtYXkgYXJpc2Vcbi8vIGR1cmluZyB0aGUgb3BlcmF0aW9uIG9mIEJpdEdvSlMgb3IgQml0R29FeHByZXNzXG5pbXBvcnQgeyBCaXRHb0pzRXJyb3IgfSBmcm9tICcuLi9iaXRnb2pzRXJyb3InO1xuaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25QYXJhbXMgfSBmcm9tICcuL2Jhc2VDb2luJztcbmltcG9ydCB7IElCYXNlQ29pbiB9IGZyb20gJy4vYmFzZUNvaW4vaUJhc2VDb2luJztcbmltcG9ydCB7IFNlbmRNYW55T3B0aW9ucyB9IGZyb20gJy4vd2FsbGV0JztcblxuLy8gcmUtZXhwb3J0IGZvciBiYWNrd2FyZHMgY29tcGF0XG5leHBvcnQgeyBCaXRHb0pzRXJyb3IgfTtcblxuZXhwb3J0IGNsYXNzIFRsc0NvbmZpZ3VyYXRpb25FcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnVExTIGlzIGNvbmZpZ3VyYXRpb24gaXMgaW52YWxpZCcpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb2RlRW52aXJvbm1lbnRFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnTk9ERV9FTlYgaXMgaW52YWxpZCBmb3IgdGhlIGN1cnJlbnQgYml0Z28gZW52aXJvbm1lbnQnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5zdXBwb3J0ZWRDb2luRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29pbjogc3RyaW5nKSB7XG4gICAgc3VwZXIoXG4gICAgICBgQ29pbiBvciB0b2tlbiB0eXBlICR7Y29pbn0gbm90IHN1cHBvcnRlZCBvciBub3QgY29tcGlsZWQuIFBsZWFzZSBiZSBzdXJlIHRoYXQgeW91IGFyZSB1c2luZyB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgQml0R29KUy4gSWYgdXNpbmcgQGJpdGdvL3Nkay1hcGksIHBsZWFzZSBjb25maXJtIHlvdSBoYXZlIHJlZ2lzdGVyZWQgJHtjb2lufSBmaXJzdC5gXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2FmZU1wY0NlcmVtb255VW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb2luRmFtaWx5OiBzdHJpbmcpIHtcbiAgICBzdXBlcihcbiAgICAgIGBDYW5ub3QgY3JlYXRlIFdhbGxldCBTYWZlIHJvb3Qga2V5cyBmb3IgY29pbiBmYW1pbHkgJyR7Y29pbkZhbWlseX0nOiBpdHMgVFNTIHNldHRpbmdzIHJlc29sdmUgdG8gdGhlIGxlZ2FjeSBNUEN2MSBjZXJlbW9ueSwgd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBzYWZlIHJvb3QgdGFnZ2luZyAoc2FmZUlkKS4gRW5hYmxlIE1QQ3YyIGZvciAnJHtjb2luRmFtaWx5fScgYmVmb3JlIGNyZWF0aW5nIGEgc2FmZSB3aXRoIHRoaXMgcm9vdCB0eXBlLmBcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzVHlwZUNoYWluTWlzbWF0Y2hFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGFkZHJlc3NUeXBlOiBzdHJpbmcsIGNoYWluOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICBzdXBlcihgYWRkcmVzcyB0eXBlICR7YWRkcmVzc1R5cGV9IGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gY2hhaW4gJHtjaGFpbn1gKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUDJzaFAyd3NoVW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdwMnNoUDJ3c2ggbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvaW4nKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUDJ3c2hVbnN1cHBvcnRlZEVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdwMndzaCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29pbicpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQMnRyVW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAncDJ0ciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29pbicpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQMnRyTXVzaWcyVW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAncDJ0ck11c2lnMiBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29pbicpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZEFkZHJlc3NUeXBlRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ2ludmFsaWQgYWRkcmVzcyB0eXBlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRBZGRyZXNzRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ2ludmFsaWQgYWRkcmVzcycpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkQWRkcmVzc1ZlcmlmaWNhdGlvbk9iamVjdFByb3BlcnR5RXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ2FkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ2FkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRBZGRyZXNzRGVyaXZhdGlvblByb3BlcnR5RXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ2FkZHJlc3MgY2hhaW4gYW5kL29yIGluZGV4IGFyZSBpbnZhbGlkJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFdhbGxldFJlY292ZXJ5VW5zdXBwb3J0ZWQgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ3dhbGxldCByZWNvdmVyeSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29pbicpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJsb2NrRXhwbG9yZXJVbmF2YWlsYWJsZSBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAndGhpcmQtcGFydHkgYmxvY2tleHBsb3JlciBub3QgcmVzcG9uZGluZycpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkTWVtb0lkRXJyb3IgZXh0ZW5kcyBJbnZhbGlkQWRkcmVzc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdpbnZhbGlkIG1lbW8gaWQnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZFBheW1lbnRJZEVycm9yIGV4dGVuZHMgSW52YWxpZEFkZHJlc3NFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnaW52YWxpZCBwYXltZW50IGlkJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtleVJlY292ZXJ5U2VydmljZUVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdrZXkgcmVjb3Zlcnkgc2VydmljZSBlbmNvdW50ZXJlZCBhbiBlcnJvcicpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzR2VuZXJhdGlvbkVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdhZGRyZXNzIGdlbmVyYXRpb24gZmFpbGVkJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEV0aGVyZXVtTGlicmFyeVVuYXZhaWxhYmxlRXJyb3IgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFja2FnZU5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKGBFdGhlcmV1bSBsaWJyYXJ5IHJlcXVpcmVkIGZvciBvcGVyYXRpb24gaXMgbm90IGF2YWlsYWJsZS4gUGxlYXNlIGluc3RhbGwgXCIke3BhY2thZ2VOYW1lfVwiLmApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdGVsbGFyRmVkZXJhdGlvblVzZXJOb3RGb3VuZEVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdhY2NvdW50IG5vdCBmb3VuZCcpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFcnJvck5vSW5wdXRUb1JlY292ZXIgZXh0ZW5kcyBCaXRHb0pzRXJyb3Ige1xuICBwdWJsaWMgY29kZSA9ICdub19pbnB1dF90b19yZWNvdmVyJztcblxuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ05vIGlucHV0IHRvIHJlY292ZXIgLSBhYm9ydGluZyEnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVjb3ZlcnlQcm92aWRlckVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvZGUgPSAncmVjb3ZlcnlfcHJvdmlkZXJfZmFpbGVkJztcbiAgcHVibGljIGNhdXNlPzogdW5rbm93bjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZywgY2F1c2U/OiB1bmtub3duKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnVW5hYmxlIHRvIHJlYWNoIHRoZSBjaGFpbiBwcm92aWRlciB3aGlsZSBhdHRlbXB0aW5nIHJlY292ZXJ5LicpO1xuICAgIHRoaXMuY2F1c2UgPSBjYXVzZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZEtleVBhdGhFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihrZXlQYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgaW52YWxpZCBrZXlwYXRoOiAke2tleVBhdGh9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlIHx8ICdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1pc3NpbmdFbmNyeXB0ZWRLZXljaGFpbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZT86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ05vIGVuY3J5cHRlZCBrZXljaGFpbnMgb24gdGhpcyB3YWxsZXQuJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEluY29ycmVjdFBhc3N3b3JkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBjb2RlID0gJ3dhbGxldF9wYXNzcGhyYXNlX2luY29ycmVjdCc7XG4gIHB1YmxpYyBzdGF0dXMgPSA0MDE7XG4gIHB1YmxpYyBjYXVzZT86IHVua25vd247XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U/OiBzdHJpbmcsIGNhdXNlPzogdW5rbm93bikge1xuICAgIHN1cGVyKG1lc3NhZ2UgfHwgJ3VuYWJsZSB0byBkZWNyeXB0IGtleWNoYWluIHdpdGggdGhlIGdpdmVuIHdhbGxldCBwYXNzcGhyYXNlJyk7XG4gICAgdGhpcy5uYW1lID0gJ0luY29ycmVjdFBhc3N3b3JkRXJyb3InO1xuICAgIHRoaXMuY2F1c2UgPSBjYXVzZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTmVlZFVzZXJTaWdudXBFcnJvciBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSB8fCAnVXNlciBzaWdudXAgaXMgcmVxdWlyZWQnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXBpUmVzcG9uc2VFcnJvcjxSZXNwb25zZUJvZHlUeXBlID0gYW55PiBleHRlbmRzIEJpdEdvSnNFcnJvciB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIHJlc3VsdD86IFJlc3BvbnNlQm9keVR5cGU7XG4gIGludmFsaWRUb2tlbj86IGJvb2xlYW47XG4gIG5lZWRzT1RQPzogYm9vbGVhbjtcbiAgLy8gRWNob2VkIGJhY2sgdmlhIHRoZSBgUmVxdWVzdC1JRGAgcmVzcG9uc2UgaGVhZGVyIChzZWUgbG9nZ2luZy1leHByZXNzJ3MgYGJlZ2luTG9nZ2luZ2ApLFxuICAvLyBzbyBpdCBjYW4gYmUgdXNlZCB0byBjb3JyZWxhdGUgdGhpcyBlcnJvciB3aXRoIHRoZSBzZXJ2ZXItc2lkZSByZXF1ZXN0IGxvZ3MuXG4gIHJlcXVlc3RJZD86IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIHN0YXR1czogbnVtYmVyLFxuICAgIHJlc3VsdD86IFJlc3BvbnNlQm9keVR5cGUsXG4gICAgaW52YWxpZFRva2VuPzogYm9vbGVhbixcbiAgICBuZWVkc09UUD86IGJvb2xlYW4sXG4gICAgcmVxdWVzdElkPzogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7XG4gICAgdGhpcy5yZXN1bHQgPSByZXN1bHQ7XG4gICAgdGhpcy5pbnZhbGlkVG9rZW4gPSBpbnZhbGlkVG9rZW47XG4gICAgdGhpcy5uZWVkc09UUCA9IG5lZWRzT1RQO1xuICAgIHRoaXMucmVxdWVzdElkID0gcmVxdWVzdElkO1xuICB9XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciB0b2tlbiBhcHByb3ZhbCBpbmZvcm1hdGlvbiB1c2VkIGluIHN1c3BpY2lvdXMgdHJhbnNhY3Rpb24gZGV0ZWN0aW9uXG4gKlxuICogQGludGVyZmFjZSBUb2tlbkFwcHJvdmFsXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3Rva2VuTmFtZV0gLSBPcHRpb25hbCBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSB0b2tlblxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRva2VuQWRkcmVzcyAtIFRoZSBjb250cmFjdCBhZGRyZXNzIG9mIHRoZSB0b2tlbiBiZWluZyBhcHByb3ZlZFxuICogQHByb3BlcnR5IHtPYmplY3R9IGF1dGhvcml6aW5nQW1vdW50IC0gVGhlIGFtb3VudCBiZWluZyBhdXRob3JpemVkIGZvciBzcGVuZGluZ1xuICogQHByb3BlcnR5IHtzdHJpbmd9IGF1dGhvcml6aW5nQWRkcmVzcyAtIFRoZSBhZGRyZXNzIGJlaW5nIGF1dGhvcml6ZWQgdG8gc3BlbmQgdGhlIHRva2Vuc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuQXBwcm92YWwge1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIHRva2VuQWRkcmVzczogc3RyaW5nO1xuICBhdXRob3JpemluZ0Ftb3VudDogeyB0eXBlOiAndW5saW1pdGVkJyB9IHwgeyB0eXBlOiAnbGltaXRlZCc7IGFtb3VudDogbnVtYmVyIH07XG4gIGF1dGhvcml6aW5nQWRkcmVzczogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgbWlzbWF0Y2hlZCByZWNpcGllbnQgaW5mb3JtYXRpb24gZGV0ZWN0ZWQgZHVyaW5nIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvblxuICpcbiAqIEBpbnRlcmZhY2UgTWlzbWF0Y2hlZFJlY2lwaWVudFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGFkZHJlc3MgLSBUaGUgcmVjaXBpZW50IGFkZHJlc3MgdGhhdCB3YXMgZm91bmQgaW4gdGhlIHRyYW5zYWN0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gYW1vdW50IC0gVGhlIGFtb3VudCBiZWluZyBzZW50IHRvIHRoaXMgcmVjaXBpZW50XG4gKiBAcHJvcGVydHkge3N0cmluZyB8IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXN9IFtkYXRhXSAtIE9wdGlvbmFsIHRyYW5zYWN0aW9uIGRhdGEgb3IgdG9rZW4gdHJhbnNmZXIgcGFyYW1ldGVyc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFt0b2tlbk5hbWVdIC0gT3B0aW9uYWwgbmFtZSBvZiB0aGUgdG9rZW4gYmVpbmcgdHJhbnNmZXJyZWRcbiAqIEBwcm9wZXJ0eSB7VG9rZW5UcmFuc2ZlclJlY2lwaWVudFBhcmFtc30gW3Rva2VuRGF0YV0gLSBPcHRpb25hbCBzdHJ1Y3R1cmVkIHRva2VuIHRyYW5zZmVyIGRhdGFcbiAqL1xuZXhwb3J0IHR5cGUgTWlzbWF0Y2hlZFJlY2lwaWVudCA9IE5vbk51bGxhYmxlPFNlbmRNYW55T3B0aW9uc1sncmVjaXBpZW50cyddPlswXTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbnRyYWN0IGludGVyYWN0aW9uIGRhdGEgcGF5bG9hZCB1c2VkIGluIHN1c3BpY2lvdXMgdHJhbnNhY3Rpb24gZGV0ZWN0aW9uXG4gKlxuICogQGludGVyZmFjZSBDb250cmFjdERhdGFQYXlsb2FkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gYWRkcmVzcyAtIFRoZSBjb250cmFjdCBhZGRyZXNzIGJlaW5nIGludGVyYWN0ZWQgd2l0aFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHJhd0NvbnRyYWN0UGF5bG9hZCAtIFRoZSByYXcgY29udHJhY3QgcGF5bG9hZCBpbiBzZXJpYWxpemVkIGZvcm0gc3BlY2lmaWMgdG8gdGhlIGJsb2NrY2hhaW5cbiAqIEBwcm9wZXJ0eSB7dW5rbm93bn0gZGVjb2RlZENvbnRyYWN0UGF5bG9hZCAtIFRoZSBkZWNvZGVkIGNvbnRyYWN0IHBheWxvYWQsIHN0cnVjdHVyZSB2YXJpZXMgYnkgY29pbi9jaGFpbiBpbXBsZW1lbnRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyYWN0RGF0YVBheWxvYWQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8vIFRoZSByYXcgY29udHJhY3QgcGF5bG9hZCBpbiBzZXJpYWxpemVkIGZvcm0gb2YgdGhlIGNoYWluXG4gIHJhd0NvbnRyYWN0UGF5bG9hZDogc3RyaW5nO1xuICAvLyBUbyBiZSBkZWZpbmVkIG9uIGEgcGVyLWNvaW4gYmFzaXNcbiAgZGVjb2RlZENvbnRyYWN0UGF5bG9hZDogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBCYXNlIGVycm9yIGNsYXNzIGZvciB0cmFuc2FjdGlvbiBpbnRlbnQgbWlzbWF0Y2ggZGV0ZWN0aW9uXG4gKlxuICogVGhpcyBlcnJvciBpcyB0aHJvd24gd2hlbiBhIHRyYW5zYWN0aW9uIGRvZXMgbm90IG1hdGNoIHRoZSB1c2VyJ3Mgb3JpZ2luYWwgaW50ZW50LFxuICogaW5kaWNhdGluZyBwb3RlbnRpYWwgc2VjdXJpdHkgaXNzdWVzIG9yIG1hbGljaW91cyBtb2RpZmljYXRpb25zLlxuICpcbiAqIEBjbGFzcyBUeEludGVudE1pc21hdGNoRXJyb3JcbiAqIEBleHRlbmRzIHtCaXRHb0pzRXJyb3J9XG4gKiBAcHJvcGVydHkge3N0cmluZyB8IElSZXF1ZXN0VHJhY2VyIHwgdW5kZWZpbmVkfSBpZCAtIFRyYW5zYWN0aW9uIElEIG9yIHJlcXVlc3QgdHJhY2VyIGZvciB0cmFja2luZ1xuICogQHByb3BlcnR5IHtUcmFuc2FjdGlvblBhcmFtc1tdfSB0eFBhcmFtcyAtIEFycmF5IG9mIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnMgdGhhdCB3ZXJlIGFuYWx5emVkXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gdHhIZXggLSBUaGUgcmF3IHRyYW5zYWN0aW9uIGluIGhleGFkZWNpbWFsIGZvcm1hdFxuICogQHByb3BlcnR5IHtzdHJpbmcgfCB1bmRlZmluZWR9IHR4RXhwbGFuYXRpb24gLSBTdHJpbmdpZmllZCB0cmFuc2FjdGlvbiBleHBsYW5hdGlvblxuICovXG5leHBvcnQgY2xhc3MgVHhJbnRlbnRNaXNtYXRjaEVycm9yIGV4dGVuZHMgQml0R29Kc0Vycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBJUmVxdWVzdFRyYWNlciB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHR4UGFyYW1zOiBUcmFuc2FjdGlvblBhcmFtc1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgdHhIZXg6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHR4RXhwbGFuYXRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBUeEludGVudE1pc21hdGNoRXJyb3JcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgLSBFcnJvciBtZXNzYWdlIGRlc2NyaWJpbmcgdGhlIGludGVudCBtaXNtYXRjaFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IElSZXF1ZXN0VHJhY2VyIHwgdW5kZWZpbmVkfSBpZCAtIFRyYW5zYWN0aW9uIElEIG9yIHJlcXVlc3QgdHJhY2VyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25QYXJhbXNbXX0gdHhQYXJhbXMgLSBUcmFuc2FjdGlvbiBwYXJhbWV0ZXJzIHRoYXQgd2VyZSBhbmFseXplZFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gdHhIZXggLSBSYXcgdHJhbnNhY3Rpb24gaGV4IHN0cmluZ1xuICAgKiBAcGFyYW0ge3Vua25vd259IHR4RXhwbGFuYXRpb24gLSBUcmFuc2FjdGlvbiBleHBsYW5hdGlvblxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgSVJlcXVlc3RUcmFjZXIgfCB1bmRlZmluZWQsXG4gICAgdHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zW10sXG4gICAgdHhIZXg6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICB0eEV4cGxhbmF0aW9uPzogdW5rbm93blxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy50eFBhcmFtcyA9IHR4UGFyYW1zO1xuICAgIHRoaXMudHhIZXggPSB0eEhleDtcbiAgICB0aGlzLnR4RXhwbGFuYXRpb24gPSB0eEV4cGxhbmF0aW9uID8gVHhJbnRlbnRNaXNtYXRjaEVycm9yLnNhZmVTdHJpbmdpZnkodHhFeHBsYW5hdGlvbikgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogU2FmZWx5IHN0cmluZ2lmeSBhIHZhbHVlIHdpdGggQmlnSW50IHN1cHBvcnRcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdG8gc3RyaW5naWZ5XG4gICAqIEByZXR1cm5zIEpTT04gc3RyaW5nIHdpdGggQmlnSW50cyBjb252ZXJ0ZWQgdG8gc3RyaW5nc1xuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgc2FmZVN0cmluZ2lmeSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCAoXywgdikgPT4gKHR5cGVvZiB2ID09PSAnYmlnaW50JyA/IHYudG9TdHJpbmcoKSA6IHYpLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gZ2V0IHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uIGZyb20gYSBjb2luJ3MgZXhwbGFpblRyYW5zYWN0aW9uIG1ldGhvZC5cbiAgICpcbiAgICogQHBhcmFtIGNvaW4gLSBDb2luIGluc3RhbmNlIGltcGxlbWVudGluZyBJQmFzZUNvaW5cbiAgICogQHBhcmFtIHR4UHJlYnVpbGQgLSBUcmFuc2FjdGlvbiBwcmVidWlsZCBjb250YWluaW5nIHR4SGV4IGFuZCB0eEluZm9cbiAgICogQHJldHVybnMgVHJhbnNhY3Rpb24gZXhwbGFuYXRpb24gb2JqZWN0IG9yIHVuZGVmaW5lZFxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHRyeUdldFR4RXhwbGFuYXRpb24oXG4gICAgY29pbjogSUJhc2VDb2luLFxuICAgIHR4UHJlYnVpbGQ6IHsgdHhIZXg/OiBzdHJpbmc7IHR4SW5mbz86IHVua25vd24gfVxuICApOiBQcm9taXNlPHVua25vd24+IHtcbiAgICBpZiAoIXR4UHJlYnVpbGQudHhIZXgpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjb2luLmV4cGxhaW5UcmFuc2FjdGlvbih7XG4gICAgICAgIHR4SGV4OiB0eFByZWJ1aWxkLnR4SGV4LFxuICAgICAgICB0eEluZm86IHR4UHJlYnVpbGQudHhJbmZvLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZXJyb3I6ICdGYWlsZWQgdG8gcGFyc2UgdHJhbnNhY3Rpb24gZXhwbGFuYXRpb24nLFxuICAgICAgICB0eEhleDogdHhQcmVidWlsZC50eEhleCxcbiAgICAgICAgZGV0YWlsczogZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBFcnJvciB0aHJvd24gd2hlbiB0cmFuc2FjdGlvbiByZWNpcGllbnRzIGRvbid0IG1hdGNoIHRoZSB1c2VyJ3MgaW50ZW50XG4gKlxuICogVGhpcyBlcnJvciBvY2N1cnMgd2hlbiB0aGUgdHJhbnNhY3Rpb24gY29udGFpbnMgcmVjaXBpZW50cyBvciBhbW91bnRzIHRoYXQgZGlmZmVyXG4gKiBmcm9tIHdoYXQgdGhlIHVzZXIgb3JpZ2luYWxseSBpbnRlbmRlZCB0byBzZW5kLlxuICpcbiAqIEBjbGFzcyBUeEludGVudE1pc21hdGNoUmVjaXBpZW50RXJyb3JcbiAqIEBleHRlbmRzIHtUeEludGVudE1pc21hdGNoRXJyb3J9XG4gKiBAcHJvcGVydHkge01pc21hdGNoZWRSZWNpcGllbnRbXX0gbWlzbWF0Y2hlZFJlY2lwaWVudHMgLSBBcnJheSBvZiByZWNpcGllbnRzIHRoYXQgZG9uJ3QgbWF0Y2ggdXNlciBpbnRlbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFR4SW50ZW50TWlzbWF0Y2hSZWNpcGllbnRFcnJvciBleHRlbmRzIFR4SW50ZW50TWlzbWF0Y2hFcnJvciB7XG4gIHB1YmxpYyByZWFkb25seSBtaXNtYXRjaGVkUmVjaXBpZW50czogTWlzbWF0Y2hlZFJlY2lwaWVudFtdO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFR4SW50ZW50TWlzbWF0Y2hSZWNpcGllbnRFcnJvclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIEVycm9yIG1lc3NhZ2UgZGVzY3JpYmluZyB0aGUgcmVjaXBpZW50IGludGVudCBtaXNtYXRjaFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IElSZXF1ZXN0VHJhY2VyIHwgdW5kZWZpbmVkfSBpZCAtIFRyYW5zYWN0aW9uIElEIG9yIHJlcXVlc3QgdHJhY2VyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25QYXJhbXNbXX0gdHhQYXJhbXMgLSBUcmFuc2FjdGlvbiBwYXJhbWV0ZXJzIHRoYXQgd2VyZSBhbmFseXplZFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gdHhIZXggLSBSYXcgdHJhbnNhY3Rpb24gaGV4IHN0cmluZ1xuICAgKiBAcGFyYW0ge01pc21hdGNoZWRSZWNpcGllbnRbXX0gbWlzbWF0Y2hlZFJlY2lwaWVudHMgLSBBcnJheSBvZiByZWNpcGllbnRzIHRoYXQgZG9uJ3QgbWF0Y2ggdXNlciBpbnRlbnRcbiAgICogQHBhcmFtIHt1bmtub3dufSB0eEV4cGxhbmF0aW9uIC0gVHJhbnNhY3Rpb24gZXhwbGFuYXRpb25cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IElSZXF1ZXN0VHJhY2VyIHwgdW5kZWZpbmVkLFxuICAgIHR4UGFyYW1zOiBUcmFuc2FjdGlvblBhcmFtc1tdLFxuICAgIHR4SGV4OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgbWlzbWF0Y2hlZFJlY2lwaWVudHM6IE1pc21hdGNoZWRSZWNpcGllbnRbXSxcbiAgICB0eEV4cGxhbmF0aW9uPzogdW5rbm93blxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlLCBpZCwgdHhQYXJhbXMsIHR4SGV4LCB0eEV4cGxhbmF0aW9uKTtcbiAgICB0aGlzLm1pc21hdGNoZWRSZWNpcGllbnRzID0gbWlzbWF0Y2hlZFJlY2lwaWVudHM7XG4gIH1cbn1cblxuLyoqXG4gKiBFcnJvciB0aHJvd24gd2hlbiBjb250cmFjdCBpbnRlcmFjdGlvbiBkb2Vzbid0IG1hdGNoIHRoZSB1c2VyJ3MgaW50ZW50XG4gKlxuICogVGhpcyBlcnJvciBvY2N1cnMgd2hlbiBhIHRyYW5zYWN0aW9uIGludGVyYWN0cyB3aXRoIGEgc21hcnQgY29udHJhY3QgYnV0IHRoZVxuICogY29udHJhY3QgY2FsbCBkYXRhIG9yIG1ldGhvZCBkb2Vzbid0IG1hdGNoIHdoYXQgdGhlIHVzZXIgaW50ZW5kZWQuXG4gKlxuICogQGNsYXNzIFR4SW50ZW50TWlzbWF0Y2hDb250cmFjdEVycm9yXG4gKiBAZXh0ZW5kcyB7VHhJbnRlbnRNaXNtYXRjaEVycm9yfVxuICogQHByb3BlcnR5IHtDb250cmFjdERhdGFQYXlsb2FkfSBtaXNtYXRjaGVkRGF0YVBheWxvYWQgLSBUaGUgY29udHJhY3QgaW50ZXJhY3Rpb24gZGF0YSB0aGF0IGRvZXNuJ3QgbWF0Y2ggdXNlciBpbnRlbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFR4SW50ZW50TWlzbWF0Y2hDb250cmFjdEVycm9yIGV4dGVuZHMgVHhJbnRlbnRNaXNtYXRjaEVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IG1pc21hdGNoZWREYXRhUGF5bG9hZDogQ29udHJhY3REYXRhUGF5bG9hZDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBUeEludGVudE1pc21hdGNoQ29udHJhY3RFcnJvclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIEVycm9yIG1lc3NhZ2UgZGVzY3JpYmluZyB0aGUgY29udHJhY3QgaW50ZW50IG1pc21hdGNoXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgSVJlcXVlc3RUcmFjZXIgfCB1bmRlZmluZWR9IGlkIC0gVHJhbnNhY3Rpb24gSUQgb3IgcmVxdWVzdCB0cmFjZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblBhcmFtc1tdfSB0eFBhcmFtcyAtIFRyYW5zYWN0aW9uIHBhcmFtZXRlcnMgdGhhdCB3ZXJlIGFuYWx5emVkXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB0eEhleCAtIFJhdyB0cmFuc2FjdGlvbiBoZXggc3RyaW5nXG4gICAqIEBwYXJhbSB7Q29udHJhY3REYXRhUGF5bG9hZH0gbWlzbWF0Y2hlZERhdGFQYXlsb2FkIC0gVGhlIGNvbnRyYWN0IGludGVyYWN0aW9uIGRhdGEgdGhhdCBkb2Vzbid0IG1hdGNoIHVzZXIgaW50ZW50XG4gICAqIEBwYXJhbSB7dW5rbm93bn0gdHhFeHBsYW5hdGlvbiAtIFRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBJUmVxdWVzdFRyYWNlciB8IHVuZGVmaW5lZCxcbiAgICB0eFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXNbXSxcbiAgICB0eEhleDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG1pc21hdGNoZWREYXRhUGF5bG9hZDogQ29udHJhY3REYXRhUGF5bG9hZCxcbiAgICB0eEV4cGxhbmF0aW9uPzogdW5rbm93blxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlLCBpZCwgdHhQYXJhbXMsIHR4SGV4LCB0eEV4cGxhbmF0aW9uKTtcbiAgICB0aGlzLm1pc21hdGNoZWREYXRhUGF5bG9hZCA9IG1pc21hdGNoZWREYXRhUGF5bG9hZDtcbiAgfVxufVxuXG4vKipcbiAqIEVycm9yIHRocm93biB3aGVuIHRva2VuIGFwcHJvdmFsIGRvZXNuJ3QgbWF0Y2ggdGhlIHVzZXIncyBpbnRlbnRcbiAqXG4gKiBUaGlzIGVycm9yIG9jY3VycyB3aGVuIGEgdHJhbnNhY3Rpb24gY29udGFpbnMgYSB0b2tlbiBhcHByb3ZhbCB0aGF0IHRoZSB1c2VyXG4gKiBkaWQgbm90IGludGVuZCB0byBhdXRob3JpemUsIHBvdGVudGlhbGx5IGluZGljYXRpbmcgbWFsaWNpb3VzIGFjdGl2aXR5LlxuICpcbiAqIEBjbGFzcyBUeEludGVudE1pc21hdGNoQXBwcm92YWxFcnJvclxuICogQGV4dGVuZHMge1R4SW50ZW50TWlzbWF0Y2hFcnJvcn1cbiAqIEBwcm9wZXJ0eSB7VG9rZW5BcHByb3ZhbH0gdG9rZW5BcHByb3ZhbCAtIERldGFpbHMgb2YgdGhlIHRva2VuIGFwcHJvdmFsIHRoYXQgZG9lc24ndCBtYXRjaCB1c2VyIGludGVudFxuICovXG5leHBvcnQgY2xhc3MgVHhJbnRlbnRNaXNtYXRjaEFwcHJvdmFsRXJyb3IgZXh0ZW5kcyBUeEludGVudE1pc21hdGNoRXJyb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5BcHByb3ZhbDogVG9rZW5BcHByb3ZhbDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBUeEludGVudE1pc21hdGNoQXBwcm92YWxFcnJvclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIEVycm9yIG1lc3NhZ2UgZGVzY3JpYmluZyB0aGUgYXBwcm92YWwgaW50ZW50IG1pc21hdGNoXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgSVJlcXVlc3RUcmFjZXIgfCB1bmRlZmluZWR9IGlkIC0gVHJhbnNhY3Rpb24gSUQgb3IgcmVxdWVzdCB0cmFjZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblBhcmFtc1tdfSB0eFBhcmFtcyAtIFRyYW5zYWN0aW9uIHBhcmFtZXRlcnMgdGhhdCB3ZXJlIGFuYWx5emVkXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB0eEhleCAtIFJhdyB0cmFuc2FjdGlvbiBoZXggc3RyaW5nXG4gICAqIEBwYXJhbSB7VG9rZW5BcHByb3ZhbH0gdG9rZW5BcHByb3ZhbCAtIERldGFpbHMgb2YgdGhlIHRva2VuIGFwcHJvdmFsIHRoYXQgZG9lc24ndCBtYXRjaCB1c2VyIGludGVudFxuICAgKiBAcGFyYW0ge3Vua25vd259IHR4RXhwbGFuYXRpb24gLSBUcmFuc2FjdGlvbiBleHBsYW5hdGlvblxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgSVJlcXVlc3RUcmFjZXIgfCB1bmRlZmluZWQsXG4gICAgdHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zW10sXG4gICAgdHhIZXg6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICB0b2tlbkFwcHJvdmFsOiBUb2tlbkFwcHJvdmFsLFxuICAgIHR4RXhwbGFuYXRpb24/OiB1bmtub3duXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UsIGlkLCB0eFBhcmFtcywgdHhIZXgsIHR4RXhwbGFuYXRpb24pO1xuICAgIHRoaXMudG9rZW5BcHByb3ZhbCA9IHRva2VuQXBwcm92YWw7XG4gIH1cbn1cbiJdfQ==
@@ -36,7 +36,7 @@ export interface Keychain {
36
36
  reducedEncryptedPrv?: string;
37
37
  derivationPath?: string;
38
38
  derivedFromParentWithSeed?: string;
39
- /** Hardened path from the safe parent (`m/<n>'`). @experimental */
39
+ /** BIP44 path from the safe parent: `m/44'/<coinType>'/<slot>'/<account>'` (user / MPC children) or its soft twin `m/44/<coinType>/<slot>/<account>` (multisig co-signers). @experimental */
40
40
  derivedFromParentWithPath?: string;
41
41
  /** Safe root key id this child key was derived from (WCN-1172). */
42
42
  parent?: string;
@@ -63,6 +63,8 @@ export interface ChangedKeychains {
63
63
  export interface ListKeychainsResult {
64
64
  keys: Keychain[];
65
65
  nextBatchPrevId?: string;
66
+ /** Total of the listed keychains — the count of the list's own query (WCN-2084 total-count support). */
67
+ totalCount?: number;
66
68
  }
67
69
  export interface GetKeychainOptions {
68
70
  id: string;
@@ -81,6 +83,18 @@ export interface ListKeychainOptions {
81
83
  */
82
84
  safeId?: string;
83
85
  }
86
+ export type KeychainPasswordUpdateStatus = 'updated' | 'skipped';
87
+ export interface KeychainPasswordUpdateProgress {
88
+ status: KeychainPasswordUpdateStatus;
89
+ currentKeychainId?: string;
90
+ /**
91
+ * Truthful total of the listed keychains (`totalCount` from the backend, WCN-2084).
92
+ * Every listed record reports an outcome (updated | skipped), so `completed` reaches
93
+ * this total exactly on any account composition.
94
+ */
95
+ total?: number;
96
+ }
97
+ export type KeychainPasswordUpdateProgressCallback = (progress: KeychainPasswordUpdateProgress) => void;
84
98
  export interface UpdatePasswordOptions {
85
99
  oldPassword: string;
86
100
  newPassword: string;
@@ -110,6 +124,12 @@ export interface UpdatePasswordOptions {
110
124
  * per-keychain source versions.
111
125
  */
112
126
  safeId?: string;
127
+ /**
128
+ * Optional observer invoked once per listed keychain record (`updated` or `skipped`) during password
129
+ * rotation. Legacy mode (no `safeId`) only: safe mode persists through the bulk key endpoint and never
130
+ * invokes it.
131
+ */
132
+ progressCallback?: KeychainPasswordUpdateProgressCallback;
113
133
  }
114
134
  export interface UpdateSingleKeychainPasswordOptions {
115
135
  keychain?: Keychain;
@@ -151,7 +171,7 @@ export interface AddKeychainOptions {
151
171
  originalPasscodeEncryptionCode?: string;
152
172
  enterprise?: string;
153
173
  derivedFromParentWithSeed?: string;
154
- /** Hardened path from the safe parent (`m/<n>'`). @experimental */
174
+ /** BIP44 path from the safe parent: `m/44'/<coinType>'/<slot>'/<account>'` (user / MPC children) or its soft twin `m/44/<coinType>/<slot>/<account>` (multisig co-signers). @experimental */
155
175
  derivedFromParentWithPath?: string;
156
176
  /** Safe user-root key id this child was derived from. @experimental */
157
177
  parent?: string;