@lifeready/core 1.0.15 → 1.0.16

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 (219) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +14315 -14315
  3. package/bundles/lifeready-core.umd.js.map +1 -1
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/ast.js +40 -40
  6. package/esm2015/lib/_common/deferred-promise.js +24 -24
  7. package/esm2015/lib/_common/exceptions.js +157 -157
  8. package/esm2015/lib/_common/queries.gql.js +190 -190
  9. package/esm2015/lib/_common/run-outside-angular.js +79 -79
  10. package/esm2015/lib/_common/types.js +1 -1
  11. package/esm2015/lib/_common/utils.js +52 -52
  12. package/esm2015/lib/api/contact-card.gql.js +79 -79
  13. package/esm2015/lib/api/contact-card.service.js +154 -154
  14. package/esm2015/lib/api/contact-card2.gql.js +60 -60
  15. package/esm2015/lib/api/contact-card2.service.js +103 -103
  16. package/esm2015/lib/api/file.service.js +74 -74
  17. package/esm2015/lib/api/key-exchange.gql.js +188 -188
  18. package/esm2015/lib/api/key-exchange.service.js +442 -442
  19. package/esm2015/lib/api/key-exchange.types.js +18 -18
  20. package/esm2015/lib/api/key-exchange2.gql.js +171 -171
  21. package/esm2015/lib/api/key-exchange2.service.js +479 -479
  22. package/esm2015/lib/api/lock.gql.js +40 -40
  23. package/esm2015/lib/api/lock.service.js +64 -64
  24. package/esm2015/lib/api/lr-apollo.service.js +46 -46
  25. package/esm2015/lib/api/lr-graphql/index.js +6 -6
  26. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
  27. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
  28. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
  29. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
  30. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
  31. package/esm2015/lib/api/message.service.js +138 -138
  32. package/esm2015/lib/api/persist.service.js +181 -181
  33. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
  34. package/esm2015/lib/api/query-processor/index.js +3 -3
  35. package/esm2015/lib/api/query-processor/query-processor.service.js +262 -262
  36. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
  37. package/esm2015/lib/api/shared-contact-card.service.js +119 -119
  38. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
  39. package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
  40. package/esm2015/lib/api/time.service.js +146 -146
  41. package/esm2015/lib/api/types/graphql.types.js +7 -7
  42. package/esm2015/lib/api/types/index.js +3 -3
  43. package/esm2015/lib/api/types/lr-graphql.types.js +101 -101
  44. package/esm2015/lib/auth/auth.config.js +57 -57
  45. package/esm2015/lib/auth/auth.gql.js +48 -48
  46. package/esm2015/lib/auth/auth.types.js +27 -27
  47. package/esm2015/lib/auth/idle.service.js +168 -168
  48. package/esm2015/lib/auth/idle.types.js +7 -7
  49. package/esm2015/lib/auth/lbop.service.js +355 -355
  50. package/esm2015/lib/auth/life-ready-auth.service.js +488 -488
  51. package/esm2015/lib/auth/password.service.js +320 -320
  52. package/esm2015/lib/auth/register.service.js +172 -172
  53. package/esm2015/lib/auth/two-factor.service.js +74 -74
  54. package/esm2015/lib/category/category-meta.service.js +99 -99
  55. package/esm2015/lib/category/category.gql.js +406 -406
  56. package/esm2015/lib/category/category.service.js +390 -390
  57. package/esm2015/lib/category/category.types.js +29 -29
  58. package/esm2015/lib/cryptography/cryptography.types.js +11 -11
  59. package/esm2015/lib/cryptography/encryption.service.js +189 -189
  60. package/esm2015/lib/cryptography/key-factory.service.js +237 -237
  61. package/esm2015/lib/cryptography/key-graph.service.js +299 -299
  62. package/esm2015/lib/cryptography/key-meta.service.js +200 -200
  63. package/esm2015/lib/cryptography/key.service.js +124 -124
  64. package/esm2015/lib/cryptography/slip39.service.js +169 -169
  65. package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
  66. package/esm2015/lib/items2/item2.gql.js +139 -139
  67. package/esm2015/lib/items2/item2.service.js +498 -498
  68. package/esm2015/lib/items2/item2.types.js +1 -1
  69. package/esm2015/lib/life-ready.config.js +84 -84
  70. package/esm2015/lib/life-ready.module.js +74 -74
  71. package/esm2015/lib/notification/notification.gql.js +43 -43
  72. package/esm2015/lib/notification/notification.service.js +118 -118
  73. package/esm2015/lib/plan/plan.gql.js +123 -123
  74. package/esm2015/lib/plan/plan.service.js +149 -149
  75. package/esm2015/lib/plan/plan.types.js +11 -11
  76. package/esm2015/lib/record/record-attachment.service.js +101 -101
  77. package/esm2015/lib/record/record.gql.js +179 -179
  78. package/esm2015/lib/record/record.service.js +206 -206
  79. package/esm2015/lib/record/record.types.js +15 -15
  80. package/esm2015/lib/record-type/record-type.service.js +75 -75
  81. package/esm2015/lib/record-type/record-type.types.js +28 -28
  82. package/esm2015/lib/scenario/scenario.constants.js +2 -2
  83. package/esm2015/lib/scenario/scenario.controller.js +34 -34
  84. package/esm2015/lib/scenario/scenario.gql.js +72 -72
  85. package/esm2015/lib/scenario/scenario.gql.private.js +198 -198
  86. package/esm2015/lib/scenario/scenario.service.js +538 -538
  87. package/esm2015/lib/scenario/scenario.types.js +1 -1
  88. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +22 -22
  89. package/esm2015/lib/trusted-parties/tp-assembly.js +362 -362
  90. package/esm2015/lib/trusted-parties/tp-assembly.types.js +1 -1
  91. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +113 -113
  92. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
  93. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
  94. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +34 -34
  95. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +236 -236
  96. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +95 -95
  97. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
  98. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
  99. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
  100. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
  101. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -215
  102. package/esm2015/lib/users/profile-details.service.js +214 -214
  103. package/esm2015/lib/users/profile.gql.js +97 -97
  104. package/esm2015/lib/users/profile.service.js +169 -169
  105. package/esm2015/lib/users/profile.types.js +34 -34
  106. package/esm2015/lib/users/user.gql.js +60 -60
  107. package/esm2015/lib/users/user.service.js +79 -79
  108. package/esm2015/lib/users/user.types.js +5 -5
  109. package/esm2015/lifeready-core.js +13 -13
  110. package/esm2015/public-api.js +71 -71
  111. package/fesm2015/lifeready-core.js +12258 -12258
  112. package/fesm2015/lifeready-core.js.map +1 -1
  113. package/lib/_common/ast.d.ts +11 -11
  114. package/lib/_common/deferred-promise.d.ts +12 -12
  115. package/lib/_common/exceptions.d.ts +109 -109
  116. package/lib/_common/queries.gql.d.ts +10 -10
  117. package/lib/_common/run-outside-angular.d.ts +14 -14
  118. package/lib/_common/types.d.ts +10 -10
  119. package/lib/_common/utils.d.ts +9 -9
  120. package/lib/api/contact-card.gql.d.ts +7 -7
  121. package/lib/api/contact-card.service.d.ts +52 -52
  122. package/lib/api/contact-card2.gql.d.ts +34 -34
  123. package/lib/api/contact-card2.service.d.ts +49 -49
  124. package/lib/api/file.service.d.ts +18 -18
  125. package/lib/api/key-exchange.gql.d.ts +9 -9
  126. package/lib/api/key-exchange.service.d.ts +39 -39
  127. package/lib/api/key-exchange.types.d.ts +196 -196
  128. package/lib/api/key-exchange2.gql.d.ts +125 -125
  129. package/lib/api/key-exchange2.service.d.ts +187 -187
  130. package/lib/api/lock.gql.d.ts +27 -27
  131. package/lib/api/lock.service.d.ts +34 -34
  132. package/lib/api/lr-apollo.service.d.ts +15 -15
  133. package/lib/api/lr-graphql/index.d.ts +5 -5
  134. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
  135. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +28 -28
  136. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
  137. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
  138. package/lib/api/lr-graphql/lr.service.d.ts +9 -9
  139. package/lib/api/message.service.d.ts +58 -58
  140. package/lib/api/persist.service.d.ts +31 -31
  141. package/lib/api/query-processor/common-processors.service.d.ts +36 -36
  142. package/lib/api/query-processor/index.d.ts +2 -2
  143. package/lib/api/query-processor/query-processor.service.d.ts +18 -18
  144. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
  145. package/lib/api/shared-contact-card.service.d.ts +33 -33
  146. package/lib/api/shared-contact-card2.gql.d.ts +36 -36
  147. package/lib/api/shared-contact-card2.service.d.ts +45 -45
  148. package/lib/api/time.service.d.ts +16 -16
  149. package/lib/api/types/graphql.types.d.ts +29 -29
  150. package/lib/api/types/index.d.ts +2 -2
  151. package/lib/api/types/lr-graphql.types.d.ts +502 -502
  152. package/lib/auth/auth.config.d.ts +5 -5
  153. package/lib/auth/auth.gql.d.ts +15 -15
  154. package/lib/auth/auth.types.d.ts +66 -66
  155. package/lib/auth/idle.service.d.ts +40 -40
  156. package/lib/auth/idle.types.d.ts +10 -10
  157. package/lib/auth/lbop.service.d.ts +91 -91
  158. package/lib/auth/life-ready-auth.service.d.ts +61 -61
  159. package/lib/auth/password.service.d.ts +78 -78
  160. package/lib/auth/register.service.d.ts +25 -25
  161. package/lib/auth/two-factor.service.d.ts +15 -15
  162. package/lib/category/category-meta.service.d.ts +23 -23
  163. package/lib/category/category.gql.d.ts +45 -45
  164. package/lib/category/category.service.d.ts +67 -67
  165. package/lib/category/category.types.d.ts +79 -79
  166. package/lib/cryptography/cryptography.types.d.ts +83 -83
  167. package/lib/cryptography/encryption.service.d.ts +41 -41
  168. package/lib/cryptography/key-factory.service.d.ts +38 -38
  169. package/lib/cryptography/key-graph.service.d.ts +41 -41
  170. package/lib/cryptography/key-meta.service.d.ts +44 -44
  171. package/lib/cryptography/key.service.d.ts +36 -36
  172. package/lib/cryptography/slip39.service.d.ts +43 -43
  173. package/lib/cryptography/web-crypto.service.d.ts +5 -5
  174. package/lib/items2/item2.gql.d.ts +123 -123
  175. package/lib/items2/item2.service.d.ts +203 -203
  176. package/lib/items2/item2.types.d.ts +70 -70
  177. package/lib/life-ready.config.d.ts +14 -14
  178. package/lib/life-ready.module.d.ts +5 -5
  179. package/lib/notification/notification.gql.d.ts +37 -37
  180. package/lib/notification/notification.service.d.ts +63 -63
  181. package/lib/plan/plan.gql.d.ts +11 -11
  182. package/lib/plan/plan.service.d.ts +33 -33
  183. package/lib/plan/plan.types.d.ts +31 -31
  184. package/lib/record/record-attachment.service.d.ts +16 -16
  185. package/lib/record/record.gql.d.ts +14 -14
  186. package/lib/record/record.service.d.ts +25 -25
  187. package/lib/record/record.types.d.ts +57 -57
  188. package/lib/record-type/record-type.service.d.ts +11 -11
  189. package/lib/record-type/record-type.types.d.ts +50 -50
  190. package/lib/scenario/scenario.constants.d.ts +1 -1
  191. package/lib/scenario/scenario.controller.d.ts +10 -10
  192. package/lib/scenario/scenario.gql.d.ts +62 -62
  193. package/lib/scenario/scenario.gql.private.d.ts +16 -16
  194. package/lib/scenario/scenario.service.d.ts +233 -233
  195. package/lib/scenario/scenario.types.d.ts +50 -50
  196. package/lib/trusted-parties/tp-assembly.d.ts +177 -177
  197. package/lib/trusted-parties/tp-assembly.gql.private.d.ts +5 -5
  198. package/lib/trusted-parties/tp-assembly.types.d.ts +38 -38
  199. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
  200. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
  201. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
  202. package/lib/trusted-parties/tp-password-reset.controller.d.ts +10 -10
  203. package/lib/trusted-parties/tp-password-reset.gql.d.ts +223 -223
  204. package/lib/trusted-parties/tp-password-reset.service.d.ts +188 -188
  205. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
  206. package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
  207. package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
  208. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
  209. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -114
  210. package/lib/users/profile-details.service.d.ts +21 -21
  211. package/lib/users/profile.gql.d.ts +11 -11
  212. package/lib/users/profile.service.d.ts +35 -35
  213. package/lib/users/profile.types.d.ts +96 -96
  214. package/lib/users/user.gql.d.ts +9 -9
  215. package/lib/users/user.service.d.ts +12 -12
  216. package/lib/users/user.types.d.ts +23 -23
  217. package/lifeready-core.d.ts +12 -12
  218. package/package.json +1 -1
  219. package/public-api.d.ts +67 -67
@@ -1,29 +1,29 @@
1
- export var AccessLevel;
2
- (function (AccessLevel) {
3
- AccessLevel["Owner"] = "OWNER";
4
- AccessLevel["Admin"] = "ADMIN";
5
- AccessLevel["Writer"] = "WRITER";
6
- AccessLevel["Reader"] = "READER";
7
- AccessLevel["Deny"] = "DENY";
8
- })(AccessLevel || (AccessLevel = {}));
9
- export class SharedAccess {
10
- }
11
- export class DefaultCategory {
12
- }
13
- export class VaultRecordType {
14
- }
15
- export class VaultRecord {
16
- }
17
- export class Category {
18
- }
19
- export class CurrentCategory extends Category {
20
- }
21
- export class VaultCategory {
22
- }
23
- export class NewCategory {
24
- }
25
- export class UpdatedCategory {
26
- }
27
- export class Vault {
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMva2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NhdGVnb3J5L2NhdGVnb3J5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDckIsOEJBQWUsQ0FBQTtJQUNmLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBaUIsQ0FBQTtJQUNqQiw0QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBRUQsTUFBTSxPQUFPLFlBQVk7Q0FLeEI7QUFFRCxNQUFNLE9BQU8sZUFBZTtDQU8zQjtBQUVELE1BQU0sT0FBTyxlQUFlO0NBRzNCO0FBRUQsTUFBTSxPQUFPLFdBQVc7Q0FVdkI7QUFFRCxNQUFNLE9BQU8sUUFBUTtDQWNwQjtBQUVELE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQVE7Q0FFNUM7QUFFRCxNQUFNLE9BQU8sYUFBYTtDQUl6QjtBQUVELE1BQU0sT0FBTyxXQUFXO0NBT3ZCO0FBRUQsTUFBTSxPQUFPLGVBQWU7Q0FNM0I7QUFFRCxNQUFNLE9BQU8sS0FBSztDQUlqQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFjY2Vzc0xldmVsIHtcclxuICBPd25lciA9ICdPV05FUicsXHJcbiAgQWRtaW4gPSAnQURNSU4nLFxyXG4gIFdyaXRlciA9ICdXUklURVInLFxyXG4gIFJlYWRlciA9ICdSRUFERVInLFxyXG4gIERlbnkgPSAnREVOWScsXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTaGFyZWRBY2Nlc3Mge1xyXG4gIHRydXN0ZWRQYXJ0eUlkOiBzdHJpbmc7XHJcbiAgYWNjZXNzTGV2ZWw6IEFjY2Vzc0xldmVsO1xyXG4gIGlzSW5oZXJpdGVkOiBib29sZWFuO1xyXG4gIGluaGVyaXRlZEZyb20/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q2F0ZWdvcnkge1xyXG4gIGNvZGU6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgYWxsb3dSZWNvcmRzOiBib29sZWFuO1xyXG4gIGFsbG93Q3VzdG9tQ2F0ZWdvcmllczogYm9vbGVhbjtcclxuICBhcmNoaXZlZDogYm9vbGVhbjtcclxuICBzdWJDYXRlZ29yaWVzPzogRGVmYXVsdENhdGVnb3J5W107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBWYXVsdFJlY29yZFR5cGUge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVmF1bHRSZWNvcmQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAga2V5SWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcmVjb3JkVHlwZTogVmF1bHRSZWNvcmRUeXBlO1xyXG4gIGNyZWF0ZWRPbjogc3RyaW5nIHwgRGF0ZTtcclxuICBsYXN0TW9kaWZpZWQ6IHN0cmluZyB8IERhdGU7XHJcbiAgaXNBcmNoaXZlZDogYm9vbGVhbjtcclxuICBteUFjY2Vzc0xldmVsOiBBY2Nlc3NMZXZlbDtcclxuICBzaGFyZWRBY2Nlc3M6IFNoYXJlZEFjY2Vzc1tdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnkge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAga2V5SWQ6IHN0cmluZztcclxuICBjb2RlPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpc0hpZGRlbjogYm9vbGVhbjtcclxuICBpc0N1c3RvbTogYm9vbGVhbjtcclxuICBpc0VtcHR5OiBib29sZWFuO1xyXG4gIGlzQXJjaGl2ZWQ6IGJvb2xlYW47XHJcbiAgYWxsUmVjb3Jkc0NvdW50OiBudW1iZXI7XHJcbiAgYWxsb3dSZWNvcmRzOiBib29sZWFuO1xyXG4gIGFsbG93Q3VzdG9tQ2F0ZWdvcmllczogYm9vbGVhbjtcclxuICBteUFjY2Vzc0xldmVsOiBBY2Nlc3NMZXZlbDtcclxuICBzaGFyZWRBY2Nlc3M6IFNoYXJlZEFjY2Vzc1tdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VycmVudENhdGVnb3J5IGV4dGVuZHMgQ2F0ZWdvcnkge1xyXG4gIHBhcmVudHM6IENhdGVnb3J5W107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBWYXVsdENhdGVnb3J5IHtcclxuICBjYXRlZ29yeT86IEN1cnJlbnRDYXRlZ29yeTtcclxuICBzdWJDYXRlZ29yaWVzPzogQ2F0ZWdvcnlbXTtcclxuICByZWNvcmRzPzogVmF1bHRSZWNvcmRbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE5ld0NhdGVnb3J5IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgY29kZT86IHN0cmluZztcclxuICBpc0N1c3RvbTogYm9vbGVhbjtcclxuICBhbGxvd1JlY29yZHM6IGJvb2xlYW47XHJcbiAgYWxsb3dDdXN0b21DYXRlZ29yaWVzOiBib29sZWFuO1xyXG4gIGNhdGVnb3J5SWRzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVcGRhdGVkQ2F0ZWdvcnkge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBjb2RlPzogc3RyaW5nO1xyXG4gIGlzQ3VzdG9tOiBib29sZWFuO1xyXG4gIGFsbG93UmVjb3JkczogYm9vbGVhbjtcclxuICBhbGxvd0N1c3RvbUNhdGVnb3JpZXM6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBWYXVsdCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBrZXlJZDogc3RyaW5nO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbn1cclxuIl19
1
+ export var AccessLevel;
2
+ (function (AccessLevel) {
3
+ AccessLevel["Owner"] = "OWNER";
4
+ AccessLevel["Admin"] = "ADMIN";
5
+ AccessLevel["Writer"] = "WRITER";
6
+ AccessLevel["Reader"] = "READER";
7
+ AccessLevel["Deny"] = "DENY";
8
+ })(AccessLevel || (AccessLevel = {}));
9
+ export class SharedAccess {
10
+ }
11
+ export class DefaultCategory {
12
+ }
13
+ export class VaultRecordType {
14
+ }
15
+ export class VaultRecord {
16
+ }
17
+ export class Category {
18
+ }
19
+ export class CurrentCategory extends Category {
20
+ }
21
+ export class VaultCategory {
22
+ }
23
+ export class NewCategory {
24
+ }
25
+ export class UpdatedCategory {
26
+ }
27
+ export class Vault {
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NhdGVnb3J5L2NhdGVnb3J5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDckIsOEJBQWUsQ0FBQTtJQUNmLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBaUIsQ0FBQTtJQUNqQiw0QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBRUQsTUFBTSxPQUFPLFlBQVk7Q0FLeEI7QUFFRCxNQUFNLE9BQU8sZUFBZTtDQU8zQjtBQUVELE1BQU0sT0FBTyxlQUFlO0NBRzNCO0FBRUQsTUFBTSxPQUFPLFdBQVc7Q0FVdkI7QUFFRCxNQUFNLE9BQU8sUUFBUTtDQWNwQjtBQUVELE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQVE7Q0FFNUM7QUFFRCxNQUFNLE9BQU8sYUFBYTtDQUl6QjtBQUVELE1BQU0sT0FBTyxXQUFXO0NBT3ZCO0FBRUQsTUFBTSxPQUFPLGVBQWU7Q0FNM0I7QUFFRCxNQUFNLE9BQU8sS0FBSztDQUlqQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFjY2Vzc0xldmVsIHtcbiAgT3duZXIgPSAnT1dORVInLFxuICBBZG1pbiA9ICdBRE1JTicsXG4gIFdyaXRlciA9ICdXUklURVInLFxuICBSZWFkZXIgPSAnUkVBREVSJyxcbiAgRGVueSA9ICdERU5ZJyxcbn1cblxuZXhwb3J0IGNsYXNzIFNoYXJlZEFjY2VzcyB7XG4gIHRydXN0ZWRQYXJ0eUlkOiBzdHJpbmc7XG4gIGFjY2Vzc0xldmVsOiBBY2Nlc3NMZXZlbDtcbiAgaXNJbmhlcml0ZWQ6IGJvb2xlYW47XG4gIGluaGVyaXRlZEZyb20/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q2F0ZWdvcnkge1xuICBjb2RlOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYWxsb3dSZWNvcmRzOiBib29sZWFuO1xuICBhbGxvd0N1c3RvbUNhdGVnb3JpZXM6IGJvb2xlYW47XG4gIGFyY2hpdmVkOiBib29sZWFuO1xuICBzdWJDYXRlZ29yaWVzPzogRGVmYXVsdENhdGVnb3J5W107XG59XG5cbmV4cG9ydCBjbGFzcyBWYXVsdFJlY29yZFR5cGUge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBWYXVsdFJlY29yZCB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleUlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcmVjb3JkVHlwZTogVmF1bHRSZWNvcmRUeXBlO1xuICBjcmVhdGVkT246IHN0cmluZyB8IERhdGU7XG4gIGxhc3RNb2RpZmllZDogc3RyaW5nIHwgRGF0ZTtcbiAgaXNBcmNoaXZlZDogYm9vbGVhbjtcbiAgbXlBY2Nlc3NMZXZlbDogQWNjZXNzTGV2ZWw7XG4gIHNoYXJlZEFjY2VzczogU2hhcmVkQWNjZXNzW107XG59XG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeSB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleUlkOiBzdHJpbmc7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgaXNIaWRkZW46IGJvb2xlYW47XG4gIGlzQ3VzdG9tOiBib29sZWFuO1xuICBpc0VtcHR5OiBib29sZWFuO1xuICBpc0FyY2hpdmVkOiBib29sZWFuO1xuICBhbGxSZWNvcmRzQ291bnQ6IG51bWJlcjtcbiAgYWxsb3dSZWNvcmRzOiBib29sZWFuO1xuICBhbGxvd0N1c3RvbUNhdGVnb3JpZXM6IGJvb2xlYW47XG4gIG15QWNjZXNzTGV2ZWw6IEFjY2Vzc0xldmVsO1xuICBzaGFyZWRBY2Nlc3M6IFNoYXJlZEFjY2Vzc1tdO1xufVxuXG5leHBvcnQgY2xhc3MgQ3VycmVudENhdGVnb3J5IGV4dGVuZHMgQ2F0ZWdvcnkge1xuICBwYXJlbnRzOiBDYXRlZ29yeVtdO1xufVxuXG5leHBvcnQgY2xhc3MgVmF1bHRDYXRlZ29yeSB7XG4gIGNhdGVnb3J5PzogQ3VycmVudENhdGVnb3J5O1xuICBzdWJDYXRlZ29yaWVzPzogQ2F0ZWdvcnlbXTtcbiAgcmVjb3Jkcz86IFZhdWx0UmVjb3JkW107XG59XG5cbmV4cG9ydCBjbGFzcyBOZXdDYXRlZ29yeSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29kZT86IHN0cmluZztcbiAgaXNDdXN0b206IGJvb2xlYW47XG4gIGFsbG93UmVjb3JkczogYm9vbGVhbjtcbiAgYWxsb3dDdXN0b21DYXRlZ29yaWVzOiBib29sZWFuO1xuICBjYXRlZ29yeUlkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlZENhdGVnb3J5IHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb2RlPzogc3RyaW5nO1xuICBpc0N1c3RvbTogYm9vbGVhbjtcbiAgYWxsb3dSZWNvcmRzOiBib29sZWFuO1xuICBhbGxvd0N1c3RvbUNhdGVnb3JpZXM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBWYXVsdCB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleUlkOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,11 +1,11 @@
1
- export var NodeType;
2
- (function (NodeType) {
3
- NodeType["Key"] = "key";
4
- NodeType["PassKey"] = "passKey";
5
- })(NodeType || (NodeType = {}));
6
- export var EdgeType;
7
- (function (EdgeType) {
8
- EdgeType["KeyLink"] = "keyLink";
9
- EdgeType["PassKeyLink"] = "passKeyLink";
10
- })(EdgeType || (EdgeType = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvZ3JhcGh5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jcnlwdG9ncmFwaHkvY3J5cHRvZ3JhcGh5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVEQSxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLHVCQUFXLENBQUE7SUFDWCwrQkFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFPRCxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLHVDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpXSyB9IGZyb20gJ25vZGUtam9zZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEtleSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwYms/OiBzdHJpbmc7XHJcbiAgandrPzogSldLLktleTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXNzS2V5UGFyYW1zIHtcclxuICBraWQ6IHN0cmluZztcclxuICBzYWx0OiBzdHJpbmc7XHJcbiAgaXRlcmF0aW9uczogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhc3NJZHBQYXJhbXMge1xyXG4gIHNhbHQ6IHN0cmluZztcclxuICBpdGVyYXRpb25zOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGJvcEtleVBhcmFtcyB7XHJcbiAga2lkOiBzdHJpbmc7XHJcbiAgc2FsdDogc3RyaW5nO1xyXG4gIGl0ZXJhdGlvbnM6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXNzSWRwVmVyaWZpZXIge1xyXG4gIHdyYXBwZWRQcks6IG9iamVjdDtcclxuICBwYms6IG9iamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMYm9wS2V5VmVyaWZpZXIge1xyXG4gIHdyYXBwZWRLZXk6IG9iamVjdDtcclxuICBrZXk6IG9iamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXNzS2V5IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHBhc3NLZXlQYXJhbXM/OiBQYXNzS2V5UGFyYW1zO1xyXG4gIHBhc3NJZHBQYXJhbXM/OiBQYXNzSWRwUGFyYW1zO1xyXG4gIHdyYXBwZWRQYXNzSWRwVmVyaWZpZXJQcms/OiBvYmplY3Q7XHJcbiAgY3JlYXRlZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBLZXlMaW5rIHtcclxuICBrZXlJZDogc3RyaW5nO1xyXG4gIHdyYXBwaW5nS2V5SWQ6IHN0cmluZztcclxuICB3cmFwcGVkS2V5OiBzdHJpbmc7IC8vIEpXRSBqc29uIHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhc3NLZXlMaW5rIHtcclxuICBrZXlJZDogc3RyaW5nO1xyXG4gIHBhc3NLZXlJZDogc3RyaW5nO1xyXG4gIHdyYXBwZWRLZXk6IHN0cmluZzsgLy8gSldFIGpzb24gc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIE5vZGVUeXBlIHtcclxuICBLZXkgPSAna2V5JyxcclxuICBQYXNzS2V5ID0gJ3Bhc3NLZXknLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5vZGUge1xyXG4gIHR5cGU6IE5vZGVUeXBlO1xyXG4gIGRhdGE6IEtleSB8IFBhc3NLZXk7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVkZ2VUeXBlIHtcclxuICBLZXlMaW5rID0gJ2tleUxpbmsnLFxyXG4gIFBhc3NLZXlMaW5rID0gJ3Bhc3NLZXlMaW5rJyxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFZGdlIHtcclxuICB0eXBlOiBFZGdlVHlwZTtcclxuICBkYXRhOiBLZXlMaW5rIHwgUGFzc0tleUxpbms7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgS2V5R3JhcGhSZXNwb25zZSB7XHJcbiAga2V5cz86IEtleVtdO1xyXG4gIGtleUxpbmtzPzogS2V5TGlua1tdO1xyXG4gIHBhc3NLZXlzPzogUGFzc0tleVtdO1xyXG4gIHBhc3NLZXlMaW5rcz86IFBhc3NLZXlMaW5rW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGFzS2V5R3JhcGgge1xyXG4gIC8vIFRoZSBuYW1lIG9mIHRoZSBrZXlHcmFwaCBmaWVsZCByZXR1cm5lZCBmcm9tIGJvdGggcXVlcmllcyBhbmQgbXV0YXRpb25zIGFyZSB0aGUgc2FtZVxyXG4gIGtleUdyYXBoPzogS2V5R3JhcGhSZXNwb25zZTtcclxufVxyXG5cclxuLy8gZXhwb3J0IGVudW0gUGF5bG9hZFR5cGUge1xyXG4vLyAgIEpTT04gPSAnSlNPTicsXHJcbi8vICAgQXJyYXlCdWZmZXIgPSAnQXJyYXlCdWZmZXInLFxyXG4vLyB9XHJcbmV4cG9ydCB0eXBlIFBheWxvYWRUeXBlID0gJ2pzb24nIHwgJ0FycmF5QnVmZmVyJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlS2V5UmVzdWx0IHtcclxuICBqd2s6IEpXSy5LZXk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlUGFzc0lkcFBhcmFtcyBleHRlbmRzIFBhc3NJZHBQYXJhbXMge1xyXG4gIHBhc3N3b3JkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlUGFzc0tleVBhcmFtcyBleHRlbmRzIFBhc3NLZXlQYXJhbXMge1xyXG4gIHBhc3N3b3JkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlTGJvcEtleVBhcmFtcyBleHRlbmRzIFBhc3NLZXlQYXJhbXMge1xyXG4gIHBhc3N3b3JkOiBzdHJpbmc7XHJcbn1cclxuIl19
1
+ export var NodeType;
2
+ (function (NodeType) {
3
+ NodeType["Key"] = "key";
4
+ NodeType["PassKey"] = "passKey";
5
+ })(NodeType || (NodeType = {}));
6
+ export var EdgeType;
7
+ (function (EdgeType) {
8
+ EdgeType["KeyLink"] = "keyLink";
9
+ EdgeType["PassKeyLink"] = "passKeyLink";
10
+ })(EdgeType || (EdgeType = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvZ3JhcGh5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jcnlwdG9ncmFwaHkvY3J5cHRvZ3JhcGh5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVEQSxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLHVCQUFXLENBQUE7SUFDWCwrQkFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFPRCxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLHVDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpXSyB9IGZyb20gJ25vZGUtam9zZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5IHtcbiAgaWQ6IHN0cmluZztcbiAgcGJrPzogc3RyaW5nO1xuICBqd2s/OiBKV0suS2V5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhc3NLZXlQYXJhbXMge1xuICBraWQ6IHN0cmluZztcbiAgc2FsdDogc3RyaW5nO1xuICBpdGVyYXRpb25zOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFzc0lkcFBhcmFtcyB7XG4gIHNhbHQ6IHN0cmluZztcbiAgaXRlcmF0aW9uczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExib3BLZXlQYXJhbXMge1xuICBraWQ6IHN0cmluZztcbiAgc2FsdDogc3RyaW5nO1xuICBpdGVyYXRpb25zOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFzc0lkcFZlcmlmaWVyIHtcbiAgd3JhcHBlZFBySzogb2JqZWN0O1xuICBwYms6IG9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYm9wS2V5VmVyaWZpZXIge1xuICB3cmFwcGVkS2V5OiBvYmplY3Q7XG4gIGtleTogb2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhc3NLZXkge1xuICBpZDogc3RyaW5nO1xuICBwYXNzS2V5UGFyYW1zPzogUGFzc0tleVBhcmFtcztcbiAgcGFzc0lkcFBhcmFtcz86IFBhc3NJZHBQYXJhbXM7XG4gIHdyYXBwZWRQYXNzSWRwVmVyaWZpZXJQcms/OiBvYmplY3Q7XG4gIGNyZWF0ZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5TGluayB7XG4gIGtleUlkOiBzdHJpbmc7XG4gIHdyYXBwaW5nS2V5SWQ6IHN0cmluZztcbiAgd3JhcHBlZEtleTogc3RyaW5nOyAvLyBKV0UganNvbiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXNzS2V5TGluayB7XG4gIGtleUlkOiBzdHJpbmc7XG4gIHBhc3NLZXlJZDogc3RyaW5nO1xuICB3cmFwcGVkS2V5OiBzdHJpbmc7IC8vIEpXRSBqc29uIHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBOb2RlVHlwZSB7XG4gIEtleSA9ICdrZXknLFxuICBQYXNzS2V5ID0gJ3Bhc3NLZXknLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGUge1xuICB0eXBlOiBOb2RlVHlwZTtcbiAgZGF0YTogS2V5IHwgUGFzc0tleTtcbn1cblxuZXhwb3J0IGVudW0gRWRnZVR5cGUge1xuICBLZXlMaW5rID0gJ2tleUxpbmsnLFxuICBQYXNzS2V5TGluayA9ICdwYXNzS2V5TGluaycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRnZSB7XG4gIHR5cGU6IEVkZ2VUeXBlO1xuICBkYXRhOiBLZXlMaW5rIHwgUGFzc0tleUxpbms7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5R3JhcGhSZXNwb25zZSB7XG4gIGtleXM/OiBLZXlbXTtcbiAga2V5TGlua3M/OiBLZXlMaW5rW107XG4gIHBhc3NLZXlzPzogUGFzc0tleVtdO1xuICBwYXNzS2V5TGlua3M/OiBQYXNzS2V5TGlua1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc0tleUdyYXBoIHtcbiAgLy8gVGhlIG5hbWUgb2YgdGhlIGtleUdyYXBoIGZpZWxkIHJldHVybmVkIGZyb20gYm90aCBxdWVyaWVzIGFuZCBtdXRhdGlvbnMgYXJlIHRoZSBzYW1lXG4gIGtleUdyYXBoPzogS2V5R3JhcGhSZXNwb25zZTtcbn1cblxuLy8gZXhwb3J0IGVudW0gUGF5bG9hZFR5cGUge1xuLy8gICBKU09OID0gJ0pTT04nLFxuLy8gICBBcnJheUJ1ZmZlciA9ICdBcnJheUJ1ZmZlcicsXG4vLyB9XG5leHBvcnQgdHlwZSBQYXlsb2FkVHlwZSA9ICdqc29uJyB8ICdBcnJheUJ1ZmZlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlS2V5UmVzdWx0IHtcbiAgandrOiBKV0suS2V5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcml2ZVBhc3NJZHBQYXJhbXMgZXh0ZW5kcyBQYXNzSWRwUGFyYW1zIHtcbiAgcGFzc3dvcmQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmVQYXNzS2V5UGFyYW1zIGV4dGVuZHMgUGFzc0tleVBhcmFtcyB7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlTGJvcEtleVBhcmFtcyBleHRlbmRzIFBhc3NLZXlQYXJhbXMge1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuIl19
@@ -1,189 +1,189 @@
1
- import { __awaiter } from "tslib";
2
- import { LrException, LrErrorCode, LrBadArgumentException, } from './../_common/exceptions';
3
- import { Injectable } from '@angular/core';
4
- import { JWE, JWS } from 'node-jose';
5
- import { TimeService } from '../api/time.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../api/time.service";
8
- export var JoseSerialization;
9
- (function (JoseSerialization) {
10
- JoseSerialization["JSON"] = "JSON";
11
- JoseSerialization["COMPACT"] = "COMPACT";
12
- })(JoseSerialization || (JoseSerialization = {}));
13
- export const VERIFY_OPTIONS_DEFAULT = {
14
- payloadType: 'json',
15
- returnOnlyPayload: true,
16
- };
17
- export const DECRYPT_OPTIONS_DEFAULT = {
18
- payloadType: 'json',
19
- returnOnlyPayload: true,
20
- serializations: [JoseSerialization.JSON],
21
- };
22
- export function isSymmetricKey(key) {
23
- // TODO: make sure this covers all cases.
24
- return key.kty === 'oct';
25
- }
26
- export function asJwk(key) {
27
- // TODO: make sure this covers all cases.
28
- // Excluded:
29
- // key.use - only for public keys, Ref: https://tools.ietf.org/html/rfc7517#section-4.2
30
- if (key.id && key.jwk) {
31
- return key.jwk;
32
- }
33
- else if (key.keystore && key.length && key.kty && key.kid && key.alg) {
34
- return key;
35
- }
36
- else {
37
- return null;
38
- }
39
- }
40
- export class EncryptionService {
41
- constructor(timeService) {
42
- this.timeService = timeService;
43
- }
44
- decrypt(key, // string is assumed to be key.id, will unwrap key.
45
- jwe, // string will be JSON.parsed
46
- options) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const opt = {
49
- algorithms: ['dir', 'A*GCM', 'RSA-OAEP-*'],
50
- };
51
- options = Object.assign(Object.assign({}, DECRYPT_OPTIONS_DEFAULT), options);
52
- if (key.jwk) {
53
- key = key.jwk;
54
- }
55
- if (typeof jwe === 'string') {
56
- if (options.serializations.includes(JoseSerialization.JSON)) {
57
- try {
58
- jwe = JSON.parse(jwe);
59
- }
60
- catch (error) {
61
- if (options.serializations.includes(JoseSerialization.COMPACT)) {
62
- console.log('Not a JSON-formatted JWE, it maybe compact serialisation format.');
63
- }
64
- else {
65
- throw error;
66
- }
67
- }
68
- }
69
- }
70
- // {result} is a Object with:
71
- // * header: the combined 'protected' and 'unprotected' header members
72
- // * protected: an array of the member names from the "protected" member
73
- // * key: Key used to decrypt
74
- // * payload: Buffer of the decrypted content
75
- // * plaintext: Buffer of the decrypted content (alternate), just a reference to payload
76
- const res = yield JWE.createDecrypt(key, opt).decrypt(jwe);
77
- res.payload = this.decodePayload(options.payloadType, res.payload);
78
- if (options.returnOnlyPayload) {
79
- return res.payload;
80
- }
81
- else {
82
- return res;
83
- }
84
- });
85
- }
86
- // TODO rename this to encrypt() and use as the most common usecase
87
- encryptToString(key, content) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- return JSON.stringify(yield this.encrypt(key, content));
90
- });
91
- }
92
- // TODO rename this to encryptToJSON() and use this when required.
93
- encrypt(key, content) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- if (content == null) {
96
- throw new Error('Encrypting null/undefined content.');
97
- }
98
- if (!(content instanceof ArrayBuffer)) {
99
- content = new TextEncoder().encode(JSON.stringify(content));
100
- }
101
- return JWE.createEncrypt({
102
- contentAlg: 'A256GCM',
103
- fields: {
104
- timestamp: yield this.timeService.serverNow(),
105
- },
106
- }, key)
107
- .update(content)
108
- .final();
109
- });
110
- }
111
- // <AZ> Unlike signContent, the serialised "content" variable is contained inside
112
- // the result. So ordering of fields within "content" is not an issue.
113
- sign(key, content) {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- const signer = JWS.createSign({
116
- fields: {
117
- timestamp: yield this.timeService.serverNow(),
118
- },
119
- }, key);
120
- if (content instanceof Buffer) {
121
- signer.update(content);
122
- }
123
- else {
124
- signer.update(JSON.stringify(content), 'utf8');
125
- }
126
- return signer.final();
127
- });
128
- }
129
- signToString(key, content) {
130
- return __awaiter(this, void 0, void 0, function* () {
131
- return JSON.stringify(yield this.sign(key, content));
132
- });
133
- }
134
- verify(key, jws, options) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- const opt = {
137
- algorithms: ['RS*'],
138
- };
139
- options = Object.assign(Object.assign({}, VERIFY_OPTIONS_DEFAULT), options);
140
- try {
141
- const res = yield JWS.createVerify(key, opt).verify(jws);
142
- res.payload = this.decodePayload(options.payloadType, res.payload);
143
- if (options.returnOnlyPayload) {
144
- return res.payload;
145
- }
146
- else {
147
- return res;
148
- }
149
- }
150
- catch (error) {
151
- throw new LrException({
152
- code: LrErrorCode.BadSignature,
153
- message: `Bad signature: ${error}`,
154
- });
155
- }
156
- });
157
- }
158
- encryptThenSign({ key, sigPrk, }, content) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- const cipher = JSON.stringify(yield this.encrypt(key, content));
161
- const sig = yield this.sign(sigPrk, cipher);
162
- delete sig.payload;
163
- return {
164
- cipher,
165
- sig: JSON.stringify(sig),
166
- };
167
- });
168
- }
169
- decodePayload(payloadType, payload) {
170
- switch (payloadType) {
171
- case 'json':
172
- return JSON.parse(new TextDecoder().decode(payload));
173
- case 'ArrayBuffer':
174
- return payload;
175
- default:
176
- throw new LrBadArgumentException(`Unknown payloadType: ${payloadType}`);
177
- }
178
- }
179
- }
180
- EncryptionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EncryptionService_Factory() { return new EncryptionService(i0.ɵɵinject(i1.TimeService)); }, token: EncryptionService, providedIn: "root" });
181
- EncryptionService.decorators = [
182
- { type: Injectable, args: [{
183
- providedIn: 'root',
184
- },] }
185
- ];
186
- EncryptionService.ctorParameters = () => [
187
- { type: TimeService }
188
- ];
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jcnlwdG9ncmFwaHkvZW5jcnlwdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLFdBQVcsRUFDWCxzQkFBc0IsR0FDdkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQTRCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsR0FBRyxFQUFPLEdBQUcsRUFBUSxNQUFNLFdBQVcsQ0FBQztBQUVoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVsRCxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLGtDQUFhLENBQUE7SUFDYix3Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQWFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFrQjtJQUNuRCxXQUFXLEVBQUUsTUFBTTtJQUNuQixpQkFBaUIsRUFBRSxJQUFJO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBbUI7SUFDckQsV0FBVyxFQUFFLE1BQU07SUFDbkIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Q0FDekMsQ0FBQztBQUVGLE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBWTtJQUN6Qyx5Q0FBeUM7SUFDekMsT0FBTyxHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUF3QjtJQUM1Qyx5Q0FBeUM7SUFDekMsWUFBWTtJQUNaLHlGQUF5RjtJQUV6RixJQUFJLEdBQUcsQ0FB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LENBQUMsQ0FBQyxDQUFDO1lBQ3ZELEtBQUssYUFBYTtnQkFDaEIsT0FBTyxPQUFPLENBQUM7WUFDakI7Z0JBQ0UsTUFBTSxJQUFJLHNCQUFzQixDQUFDLHdCQUF3QixXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQzs7OztZQXpMRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWxEUSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBMckV4Y2VwdGlvbixcclxuICBMckVycm9yQ29kZSxcclxuICBMckJhZEFyZ3VtZW50RXhjZXB0aW9uLFxyXG59IGZyb20gJy4vLi4vX2NvbW1vbi9leGNlcHRpb25zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEpXRSwgSldLLCBKV1MsIHV0aWwgfSBmcm9tICdub2RlLWpvc2UnO1xyXG5pbXBvcnQgeyBLZXksIFBheWxvYWRUeXBlIH0gZnJvbSAnLi9jcnlwdG9ncmFwaHkudHlwZXMnO1xyXG5pbXBvcnQgeyBUaW1lU2VydmljZSB9IGZyb20gJy4uL2FwaS90aW1lLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGVudW0gSm9zZVNlcmlhbGl6YXRpb24ge1xyXG4gIEpTT04gPSAnSlNPTicsXHJcbiAgQ09NUEFDVCA9ICdDT01QQUNUJyxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlPcHRpb25zIHtcclxuICBwYXlsb2FkVHlwZT86IFBheWxvYWRUeXBlO1xyXG4gIHJldHVybk9ubHlQYXlsb2FkPzogYm9vbGVhbjsgLy8gSWYgdHJ1ZSwgcmV0dXJuIG9ubHkgdGhlIGRlY29kZWQgcGF5bG9hZC5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEZWNyeXB0T3B0aW9ucyB7XHJcbiAgcGF5bG9hZFR5cGU/OiBQYXlsb2FkVHlwZTtcclxuICByZXR1cm5Pbmx5UGF5bG9hZD86IGJvb2xlYW47IC8vIElmIHRydWUsIHJldHVybiBvbmx5IHRoZSBkZWNvZGVkIHBheWxvYWQuXHJcbiAgc2VyaWFsaXphdGlvbnM/OiBKb3NlU2VyaWFsaXphdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgVkVSSUZZX09QVElPTlNfREVGQVVMVDogVmVyaWZ5T3B0aW9ucyA9IHtcclxuICBwYXlsb2FkVHlwZTogJ2pzb24nLFxyXG4gIHJldHVybk9ubHlQYXlsb2FkOiB0cnVlLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IERFQ1JZUFRfT1BUSU9OU19ERUZBVUxUOiBEZWNyeXB0T3B0aW9ucyA9IHtcclxuICBwYXlsb2FkVHlwZTogJ2pzb24nLFxyXG4gIHJldHVybk9ubHlQYXlsb2FkOiB0cnVlLFxyXG4gIHNlcmlhbGl6YXRpb25zOiBbSm9zZVNlcmlhbGl6YXRpb24uSlNPTl0sXHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNTeW1tZXRyaWNLZXkoa2V5OiBKV0suS2V5KSB7XHJcbiAgLy8gVE9ETzogbWFrZSBzdXJlIHRoaXMgY292ZXJzIGFsbCBjYXNlcy5cclxuICByZXR1cm4ga2V5Lmt0eSA9PT0gJ29jdCc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhc0p3ayhrZXk6IEpXSy5LZXkgfCBLZXkgfCBhbnkpOiBKV0suS2V5IHwgbnVsbCB7XHJcbiAgLy8gVE9ETzogbWFrZSBzdXJlIHRoaXMgY292ZXJzIGFsbCBjYXNlcy5cclxuICAvLyBFeGNsdWRlZDpcclxuICAvLyAgIGtleS51c2UgLSBvbmx5IGZvciBwdWJsaWMga2V5cywgUmVmOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzUxNyNzZWN0aW9uLTQuMlxyXG5cclxuICBpZiAoa2V5LmlkICYmIGtleS5qd2spIHtcclxuICAgIHJldHVybiBrZXkuandrO1xyXG4gIH0gZWxzZSBpZiAoa2V5LmtleXN0b3JlICYmIGtleS5sZW5ndGggJiYga2V5Lmt0eSAmJiBrZXkua2lkICYmIGtleS5hbGcpIHtcclxuICAgIHJldHVybiBrZXk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVuY3J5cHRpb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRpbWVTZXJ2aWNlOiBUaW1lU2VydmljZSkge31cclxuXHJcbiAgYXN5bmMgZGVjcnlwdChcclxuICAgIGtleTogSldLLktleSB8IEtleSwgLy8gc3RyaW5nIGlzIGFzc3VtZWQgdG8gYmUga2V5LmlkLCB3aWxsIHVud3JhcCBrZXkuXHJcbiAgICBqd2U6IG9iamVjdCB8IHN0cmluZywgLy8gc3RyaW5nIHdpbGwgYmUgSlNPTi5wYXJzZWRcclxuICAgIG9wdGlvbnM/OiBEZWNyeXB0T3B0aW9uc1xyXG4gICk6IFByb21pc2U8SldFLkRlY3J5cHRSZXN1bHQgfCBhbnk+IHtcclxuICAgIGNvbnN0IG9wdCA9IHtcclxuICAgICAgYWxnb3JpdGhtczogWydkaXInLCAnQSpHQ00nLCAnUlNBLU9BRVAtKiddLFxyXG4gICAgfTtcclxuXHJcbiAgICBvcHRpb25zID0ge1xyXG4gICAgICAuLi5ERUNSWVBUX09QVElPTlNfREVGQVVMVCxcclxuICAgICAgLi4ub3B0aW9ucyxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKChrZXkgYXMgS2V5KS5qd2spIHtcclxuICAgICAga2V5ID0gKGtleSBhcyBLZXkpLmp3aztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGp3ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKG9wdGlvbnMuc2VyaWFsaXphdGlvbnMuaW5jbHVkZXMoSm9zZVNlcmlhbGl6YXRpb24uSlNPTikpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgandlID0gSlNPTi5wYXJzZShqd2UpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICBpZiAob3B0aW9ucy5zZXJpYWxpemF0aW9ucy5pbmNsdWRlcyhKb3NlU2VyaWFsaXphdGlvbi5DT01QQUNUKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcclxuICAgICAgICAgICAgICAnTm90IGEgSlNPTi1mb3JtYXR0ZWQgSldFLCBpdCBtYXliZSBjb21wYWN0IHNlcmlhbGlzYXRpb24gZm9ybWF0LidcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHtyZXN1bHR9IGlzIGEgT2JqZWN0IHdpdGg6XHJcbiAgICAvLyAqICBoZWFkZXI6IHRoZSBjb21iaW5lZCAncHJvdGVjdGVkJyBhbmQgJ3VucHJvdGVjdGVkJyBoZWFkZXIgbWVtYmVyc1xyXG4gICAgLy8gKiAgcHJvdGVjdGVkOiBhbiBhcnJheSBvZiB0aGUgbWVtYmVyIG5hbWVzIGZyb20gdGhlIFwicHJvdGVjdGVkXCIgbWVtYmVyXHJcbiAgICAvLyAqICBrZXk6IEtleSB1c2VkIHRvIGRlY3J5cHRcclxuICAgIC8vICogIHBheWxvYWQ6IEJ1ZmZlciBvZiB0aGUgZGVjcnlwdGVkIGNvbnRlbnRcclxuICAgIC8vICogIHBsYWludGV4dDogQnVmZmVyIG9mIHRoZSBkZWNyeXB0ZWQgY29udGVudCAoYWx0ZXJuYXRlKSwganVzdCBhIHJlZmVyZW5jZSB0byBwYXlsb2FkXHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCBKV0UuY3JlYXRlRGVjcnlwdChrZXkgYXMgSldLLktleSwgb3B0KS5kZWNyeXB0KFxyXG4gICAgICBqd2UgYXMgYW55XHJcbiAgICApO1xyXG5cclxuICAgIHJlcy5wYXlsb2FkID0gdGhpcy5kZWNvZGVQYXlsb2FkKG9wdGlvbnMucGF5bG9hZFR5cGUsIHJlcy5wYXlsb2FkKTtcclxuXHJcbiAgICBpZiAob3B0aW9ucy5yZXR1cm5Pbmx5UGF5bG9hZCkge1xyXG4gICAgICByZXR1cm4gcmVzLnBheWxvYWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gcmVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVE9ETyByZW5hbWUgdGhpcyB0byBlbmNyeXB0KCkgYW5kIHVzZSBhcyB0aGUgbW9zdCBjb21tb24gdXNlY2FzZVxyXG4gIGFzeW5jIGVuY3J5cHRUb1N0cmluZyhcclxuICAgIGtleTogSldLLktleSxcclxuICAgIGNvbnRlbnQ6IEFycmF5QnVmZmVyIHwgc3RyaW5nIHwgb2JqZWN0XHJcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCB0aGlzLmVuY3J5cHQoa2V5LCBjb250ZW50KSk7XHJcbiAgfVxyXG5cclxuICAvLyBUT0RPIHJlbmFtZSB0aGlzIHRvIGVuY3J5cHRUb0pTT04oKSBhbmQgdXNlIHRoaXMgd2hlbiByZXF1aXJlZC5cclxuICBhc3luYyBlbmNyeXB0KFxyXG4gICAga2V5OiBKV0suS2V5LFxyXG4gICAgY29udGVudDogQXJyYXlCdWZmZXIgfCBzdHJpbmcgfCBvYmplY3RcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKGNvbnRlbnQgPT0gbnVsbCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VuY3J5cHRpbmcgbnVsbC91bmRlZmluZWQgY29udGVudC4nKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIShjb250ZW50IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSB7XHJcbiAgICAgIGNvbnRlbnQgPSBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoY29udGVudCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBKV0UuY3JlYXRlRW5jcnlwdChcclxuICAgICAge1xyXG4gICAgICAgIGNvbnRlbnRBbGc6ICdBMjU2R0NNJyxcclxuICAgICAgICBmaWVsZHM6IHtcclxuICAgICAgICAgIHRpbWVzdGFtcDogYXdhaXQgdGhpcy50aW1lU2VydmljZS5zZXJ2ZXJOb3coKSxcclxuICAgICAgICB9LFxyXG4gICAgICB9IGFzIGFueSxcclxuICAgICAga2V5XHJcbiAgICApXHJcbiAgICAgIC51cGRhdGUoY29udGVudClcclxuICAgICAgLmZpbmFsKCkgYXMgYW55O1xyXG4gIH1cclxuXHJcbiAgLy8gPEFaPiBVbmxpa2Ugc2lnbkNvbnRlbnQsIHRoZSBzZXJpYWxpc2VkIFwiY29udGVudFwiIHZhcmlhYmxlIGlzIGNvbnRhaW5lZCBpbnNpZGVcclxuICAvLyB0aGUgcmVzdWx0LiBTbyBvcmRlcmluZyBvZiBmaWVsZHMgd2l0aGluIFwiY29udGVudFwiIGlzIG5vdCBhbiBpc3N1ZS5cclxuICBhc3luYyBzaWduKGtleTogSldLLktleSwgY29udGVudDogQnVmZmVyIHwgc3RyaW5nIHwgb2JqZWN0KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHNpZ25lciA9IEpXUy5jcmVhdGVTaWduKFxyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGRzOiB7XHJcbiAgICAgICAgICB0aW1lc3RhbXA6IGF3YWl0IHRoaXMudGltZVNlcnZpY2Uuc2VydmVyTm93KCksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAga2V5XHJcbiAgICApO1xyXG5cclxuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgQnVmZmVyKSB7XHJcbiAgICAgIHNpZ25lci51cGRhdGUoY29udGVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzaWduZXIudXBkYXRlKEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpLCAndXRmOCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzaWduZXIuZmluYWwoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNpZ25Ub1N0cmluZyhcclxuICAgIGtleTogSldLLktleSxcclxuICAgIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyB8IG9iamVjdFxyXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgdGhpcy5zaWduKGtleSwgY29udGVudCkpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdmVyaWZ5KFxyXG4gICAga2V5OiBKV0suS2V5LFxyXG4gICAgandzOiBvYmplY3QsXHJcbiAgICBvcHRpb25zPzogVmVyaWZ5T3B0aW9uc1xyXG4gICk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCBvcHQgPSB7XHJcbiAgICAgIGFsZ29yaXRobXM6IFsnUlMqJ10sXHJcbiAgICB9O1xyXG5cclxuICAgIG9wdGlvbnMgPSB7XHJcbiAgICAgIC4uLlZFUklGWV9PUFRJT05TX0RFRkFVTFQsXHJcbiAgICAgIC4uLm9wdGlvbnMsXHJcbiAgICB9O1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IEpXUy5jcmVhdGVWZXJpZnkoa2V5LCBvcHQpLnZlcmlmeShqd3MgYXMgYW55KTtcclxuXHJcbiAgICAgIHJlcy5wYXlsb2FkID0gdGhpcy5kZWNvZGVQYXlsb2FkKG9wdGlvbnMucGF5bG9hZFR5cGUsIHJlcy5wYXlsb2FkKTtcclxuXHJcbiAgICAgIGlmIChvcHRpb25zLnJldHVybk9ubHlQYXlsb2FkKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlcy5wYXlsb2FkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRocm93IG5ldyBMckV4Y2VwdGlvbih7XHJcbiAgICAgICAgY29kZTogTHJFcnJvckNvZGUuQmFkU2lnbmF0dXJlLFxyXG4gICAgICAgIG1lc3NhZ2U6IGBCYWQgc2lnbmF0dXJlOiAke2Vycm9yfWAsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZW5jcnlwdFRoZW5TaWduKFxyXG4gICAge1xyXG4gICAgICBrZXksXHJcbiAgICAgIHNpZ1ByayxcclxuICAgIH06IHtcclxuICAgICAga2V5OiBKV0suS2V5O1xyXG4gICAgICBzaWdQcms6IEpXSy5LZXk7XHJcbiAgICB9LFxyXG4gICAgY29udGVudDogQXJyYXlCdWZmZXIgfCBzdHJpbmcgfCBvYmplY3RcclxuICApOiBQcm9taXNlPHsgY2lwaGVyOiBzdHJpbmc7IHNpZzogc3RyaW5nIH0+IHtcclxuICAgIGNvbnN0IGNpcGhlciA9IEpTT04uc3RyaW5naWZ5KGF3YWl0IHRoaXMuZW5jcnlwdChrZXksIGNvbnRlbnQpKTtcclxuICAgIGNvbnN0IHNpZyA9IGF3YWl0IHRoaXMuc2lnbihzaWdQcmssIGNpcGhlcik7XHJcbiAgICBkZWxldGUgc2lnLnBheWxvYWQ7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2lwaGVyLFxyXG4gICAgICBzaWc6IEpTT04uc3RyaW5naWZ5KHNpZyksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZWNvZGVQYXlsb2FkKFxyXG4gICAgcGF5bG9hZFR5cGU6IFBheWxvYWRUeXBlLFxyXG4gICAgcGF5bG9hZDogQXJyYXlCdWZmZXJcclxuICApOiBBcnJheUJ1ZmZlciB8IGFueSB7XHJcbiAgICBzd2l0Y2ggKHBheWxvYWRUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ2pzb24nOlxyXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShwYXlsb2FkKSk7XHJcbiAgICAgIGNhc2UgJ0FycmF5QnVmZmVyJzpcclxuICAgICAgICByZXR1cm4gcGF5bG9hZDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aHJvdyBuZXcgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbihgVW5rbm93biBwYXlsb2FkVHlwZTogJHtwYXlsb2FkVHlwZX1gKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
1
+ import { __awaiter } from "tslib";
2
+ import { LrException, LrErrorCode, LrBadArgumentException, } from './../_common/exceptions';
3
+ import { Injectable } from '@angular/core';
4
+ import { JWE, JWS } from 'node-jose';
5
+ import { TimeService } from '../api/time.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../api/time.service";
8
+ export var JoseSerialization;
9
+ (function (JoseSerialization) {
10
+ JoseSerialization["JSON"] = "JSON";
11
+ JoseSerialization["COMPACT"] = "COMPACT";
12
+ })(JoseSerialization || (JoseSerialization = {}));
13
+ export const VERIFY_OPTIONS_DEFAULT = {
14
+ payloadType: 'json',
15
+ returnOnlyPayload: true,
16
+ };
17
+ export const DECRYPT_OPTIONS_DEFAULT = {
18
+ payloadType: 'json',
19
+ returnOnlyPayload: true,
20
+ serializations: [JoseSerialization.JSON],
21
+ };
22
+ export function isSymmetricKey(key) {
23
+ // TODO: make sure this covers all cases.
24
+ return key.kty === 'oct';
25
+ }
26
+ export function asJwk(key) {
27
+ // TODO: make sure this covers all cases.
28
+ // Excluded:
29
+ // key.use - only for public keys, Ref: https://tools.ietf.org/html/rfc7517#section-4.2
30
+ if (key.id && key.jwk) {
31
+ return key.jwk;
32
+ }
33
+ else if (key.keystore && key.length && key.kty && key.kid && key.alg) {
34
+ return key;
35
+ }
36
+ else {
37
+ return null;
38
+ }
39
+ }
40
+ export class EncryptionService {
41
+ constructor(timeService) {
42
+ this.timeService = timeService;
43
+ }
44
+ decrypt(key, // string is assumed to be key.id, will unwrap key.
45
+ jwe, // string will be JSON.parsed
46
+ options) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const opt = {
49
+ algorithms: ['dir', 'A*GCM', 'RSA-OAEP-*'],
50
+ };
51
+ options = Object.assign(Object.assign({}, DECRYPT_OPTIONS_DEFAULT), options);
52
+ if (key.jwk) {
53
+ key = key.jwk;
54
+ }
55
+ if (typeof jwe === 'string') {
56
+ if (options.serializations.includes(JoseSerialization.JSON)) {
57
+ try {
58
+ jwe = JSON.parse(jwe);
59
+ }
60
+ catch (error) {
61
+ if (options.serializations.includes(JoseSerialization.COMPACT)) {
62
+ console.log('Not a JSON-formatted JWE, it maybe compact serialisation format.');
63
+ }
64
+ else {
65
+ throw error;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ // {result} is a Object with:
71
+ // * header: the combined 'protected' and 'unprotected' header members
72
+ // * protected: an array of the member names from the "protected" member
73
+ // * key: Key used to decrypt
74
+ // * payload: Buffer of the decrypted content
75
+ // * plaintext: Buffer of the decrypted content (alternate), just a reference to payload
76
+ const res = yield JWE.createDecrypt(key, opt).decrypt(jwe);
77
+ res.payload = this.decodePayload(options.payloadType, res.payload);
78
+ if (options.returnOnlyPayload) {
79
+ return res.payload;
80
+ }
81
+ else {
82
+ return res;
83
+ }
84
+ });
85
+ }
86
+ // TODO rename this to encrypt() and use as the most common usecase
87
+ encryptToString(key, content) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ return JSON.stringify(yield this.encrypt(key, content));
90
+ });
91
+ }
92
+ // TODO rename this to encryptToJSON() and use this when required.
93
+ encrypt(key, content) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ if (content == null) {
96
+ throw new Error('Encrypting null/undefined content.');
97
+ }
98
+ if (!(content instanceof ArrayBuffer)) {
99
+ content = new TextEncoder().encode(JSON.stringify(content));
100
+ }
101
+ return JWE.createEncrypt({
102
+ contentAlg: 'A256GCM',
103
+ fields: {
104
+ timestamp: yield this.timeService.serverNow(),
105
+ },
106
+ }, key)
107
+ .update(content)
108
+ .final();
109
+ });
110
+ }
111
+ // <AZ> Unlike signContent, the serialised "content" variable is contained inside
112
+ // the result. So ordering of fields within "content" is not an issue.
113
+ sign(key, content) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const signer = JWS.createSign({
116
+ fields: {
117
+ timestamp: yield this.timeService.serverNow(),
118
+ },
119
+ }, key);
120
+ if (content instanceof Buffer) {
121
+ signer.update(content);
122
+ }
123
+ else {
124
+ signer.update(JSON.stringify(content), 'utf8');
125
+ }
126
+ return signer.final();
127
+ });
128
+ }
129
+ signToString(key, content) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ return JSON.stringify(yield this.sign(key, content));
132
+ });
133
+ }
134
+ verify(key, jws, options) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ const opt = {
137
+ algorithms: ['RS*'],
138
+ };
139
+ options = Object.assign(Object.assign({}, VERIFY_OPTIONS_DEFAULT), options);
140
+ try {
141
+ const res = yield JWS.createVerify(key, opt).verify(jws);
142
+ res.payload = this.decodePayload(options.payloadType, res.payload);
143
+ if (options.returnOnlyPayload) {
144
+ return res.payload;
145
+ }
146
+ else {
147
+ return res;
148
+ }
149
+ }
150
+ catch (error) {
151
+ throw new LrException({
152
+ code: LrErrorCode.BadSignature,
153
+ message: `Bad signature: ${error}`,
154
+ });
155
+ }
156
+ });
157
+ }
158
+ encryptThenSign({ key, sigPrk, }, content) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ const cipher = JSON.stringify(yield this.encrypt(key, content));
161
+ const sig = yield this.sign(sigPrk, cipher);
162
+ delete sig.payload;
163
+ return {
164
+ cipher,
165
+ sig: JSON.stringify(sig),
166
+ };
167
+ });
168
+ }
169
+ decodePayload(payloadType, payload) {
170
+ switch (payloadType) {
171
+ case 'json':
172
+ return JSON.parse(new TextDecoder().decode(payload));
173
+ case 'ArrayBuffer':
174
+ return payload;
175
+ default:
176
+ throw new LrBadArgumentException(`Unknown payloadType: ${payloadType}`);
177
+ }
178
+ }
179
+ }
180
+ EncryptionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EncryptionService_Factory() { return new EncryptionService(i0.ɵɵinject(i1.TimeService)); }, token: EncryptionService, providedIn: "root" });
181
+ EncryptionService.decorators = [
182
+ { type: Injectable, args: [{
183
+ providedIn: 'root',
184
+ },] }
185
+ ];
186
+ EncryptionService.ctorParameters = () => [
187
+ { type: TimeService }
188
+ ];
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jcnlwdG9ncmFwaHkvZW5jcnlwdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLFdBQVcsRUFDWCxzQkFBc0IsR0FDdkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQTRCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsR0FBRyxFQUFPLEdBQUcsRUFBUSxNQUFNLFdBQVcsQ0FBQztBQUVoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVsRCxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLGtDQUFhLENBQUE7SUFDYix3Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQWFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFrQjtJQUNuRCxXQUFXLEVBQUUsTUFBTTtJQUNuQixpQkFBaUIsRUFBRSxJQUFJO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBbUI7SUFDckQsV0FBVyxFQUFFLE1BQU07SUFDbkIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Q0FDekMsQ0FBQztBQUVGLE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBWTtJQUN6Qyx5Q0FBeUM7SUFDekMsT0FBTyxHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUF3QjtJQUM1Qyx5Q0FBeUM7SUFDekMsWUFBWTtJQUNaLHlGQUF5RjtJQUV6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LE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELEtBQUssYUFBYTtnQkFDaEIsT0FBTyxPQUFPLENBQUM7WUFDakI7Z0JBQ0UsTUFBTSxJQUFJLHNCQUFzQixDQUFDLHdCQUF3QixXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQzs7OztZQXpMRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWxEUSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTHJFeGNlcHRpb24sXG4gIExyRXJyb3JDb2RlLFxuICBMckJhZEFyZ3VtZW50RXhjZXB0aW9uLFxufSBmcm9tICcuLy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpXRSwgSldLLCBKV1MsIHV0aWwgfSBmcm9tICdub2RlLWpvc2UnO1xuaW1wb3J0IHsgS2V5LCBQYXlsb2FkVHlwZSB9IGZyb20gJy4vY3J5cHRvZ3JhcGh5LnR5cGVzJztcbmltcG9ydCB7IFRpbWVTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3RpbWUuc2VydmljZSc7XG5cbmV4cG9ydCBlbnVtIEpvc2VTZXJpYWxpemF0aW9uIHtcbiAgSlNPTiA9ICdKU09OJyxcbiAgQ09NUEFDVCA9ICdDT01QQUNUJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlPcHRpb25zIHtcbiAgcGF5bG9hZFR5cGU/OiBQYXlsb2FkVHlwZTtcbiAgcmV0dXJuT25seVBheWxvYWQ/OiBib29sZWFuOyAvLyBJZiB0cnVlLCByZXR1cm4gb25seSB0aGUgZGVjb2RlZCBwYXlsb2FkLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY3J5cHRPcHRpb25zIHtcbiAgcGF5bG9hZFR5cGU/OiBQYXlsb2FkVHlwZTtcbiAgcmV0dXJuT25seVBheWxvYWQ/OiBib29sZWFuOyAvLyBJZiB0cnVlLCByZXR1cm4gb25seSB0aGUgZGVjb2RlZCBwYXlsb2FkLlxuICBzZXJpYWxpemF0aW9ucz86IEpvc2VTZXJpYWxpemF0aW9uW107XG59XG5cbmV4cG9ydCBjb25zdCBWRVJJRllfT1BUSU9OU19ERUZBVUxUOiBWZXJpZnlPcHRpb25zID0ge1xuICBwYXlsb2FkVHlwZTogJ2pzb24nLFxuICByZXR1cm5Pbmx5UGF5bG9hZDogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUNSWVBUX09QVElPTlNfREVGQVVMVDogRGVjcnlwdE9wdGlvbnMgPSB7XG4gIHBheWxvYWRUeXBlOiAnanNvbicsXG4gIHJldHVybk9ubHlQYXlsb2FkOiB0cnVlLFxuICBzZXJpYWxpemF0aW9uczogW0pvc2VTZXJpYWxpemF0aW9uLkpTT05dLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3ltbWV0cmljS2V5KGtleTogSldLLktleSkge1xuICAvLyBUT0RPOiBtYWtlIHN1cmUgdGhpcyBjb3ZlcnMgYWxsIGNhc2VzLlxuICByZXR1cm4ga2V5Lmt0eSA9PT0gJ29jdCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc0p3ayhrZXk6IEpXSy5LZXkgfCBLZXkgfCBhbnkpOiBKV0suS2V5IHwgbnVsbCB7XG4gIC8vIFRPRE86IG1ha2Ugc3VyZSB0aGlzIGNvdmVycyBhbGwgY2FzZXMuXG4gIC8vIEV4Y2x1ZGVkOlxuICAvLyAgIGtleS51c2UgLSBvbmx5IGZvciBwdWJsaWMga2V5cywgUmVmOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzUxNyNzZWN0aW9uLTQuMlxuXG4gIGlmIChrZXkuaWQgJiYga2V5Lmp3aykge1xuICAgIHJldHVybiBrZXkuandrO1xuICB9IGVsc2UgaWYgKGtleS5rZXlzdG9yZSAmJiBrZXkubGVuZ3RoICYmIGtleS5rdHkgJiYga2V5LmtpZCAmJiBrZXkuYWxnKSB7XG4gICAgcmV0dXJuIGtleTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRW5jcnlwdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRpbWVTZXJ2aWNlOiBUaW1lU2VydmljZSkge31cblxuICBhc3luYyBkZWNyeXB0KFxuICAgIGtleTogSldLLktleSB8IEtleSwgLy8gc3RyaW5nIGlzIGFzc3VtZWQgdG8gYmUga2V5LmlkLCB3aWxsIHVud3JhcCBrZXkuXG4gICAgandlOiBvYmplY3QgfCBzdHJpbmcsIC8vIHN0cmluZyB3aWxsIGJlIEpTT04ucGFyc2VkXG4gICAgb3B0aW9ucz86IERlY3J5cHRPcHRpb25zXG4gICk6IFByb21pc2U8SldFLkRlY3J5cHRSZXN1bHQgfCBhbnk+IHtcbiAgICBjb25zdCBvcHQgPSB7XG4gICAgICBhbGdvcml0aG1zOiBbJ2RpcicsICdBKkdDTScsICdSU0EtT0FFUC0qJ10sXG4gICAgfTtcblxuICAgIG9wdGlvbnMgPSB7XG4gICAgICAuLi5ERUNSWVBUX09QVElPTlNfREVGQVVMVCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIGlmICgoa2V5IGFzIEtleSkuandrKSB7XG4gICAgICBrZXkgPSAoa2V5IGFzIEtleSkuandrO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgandlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKG9wdGlvbnMuc2VyaWFsaXphdGlvbnMuaW5jbHVkZXMoSm9zZVNlcmlhbGl6YXRpb24uSlNPTikpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBqd2UgPSBKU09OLnBhcnNlKGp3ZSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuc2VyaWFsaXphdGlvbnMuaW5jbHVkZXMoSm9zZVNlcmlhbGl6YXRpb24uQ09NUEFDVCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICAnTm90IGEgSlNPTi1mb3JtYXR0ZWQgSldFLCBpdCBtYXliZSBjb21wYWN0IHNlcmlhbGlzYXRpb24gZm9ybWF0LidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHtyZXN1bHR9IGlzIGEgT2JqZWN0IHdpdGg6XG4gICAgLy8gKiAgaGVhZGVyOiB0aGUgY29tYmluZWQgJ3Byb3RlY3RlZCcgYW5kICd1bnByb3RlY3RlZCcgaGVhZGVyIG1lbWJlcnNcbiAgICAvLyAqICBwcm90ZWN0ZWQ6IGFuIGFycmF5IG9mIHRoZSBtZW1iZXIgbmFtZXMgZnJvbSB0aGUgXCJwcm90ZWN0ZWRcIiBtZW1iZXJcbiAgICAvLyAqICBrZXk6IEtleSB1c2VkIHRvIGRlY3J5cHRcbiAgICAvLyAqICBwYXlsb2FkOiBCdWZmZXIgb2YgdGhlIGRlY3J5cHRlZCBjb250ZW50XG4gICAgLy8gKiAgcGxhaW50ZXh0OiBCdWZmZXIgb2YgdGhlIGRlY3J5cHRlZCBjb250ZW50IChhbHRlcm5hdGUpLCBqdXN0IGEgcmVmZXJlbmNlIHRvIHBheWxvYWRcbiAgICBjb25zdCByZXMgPSBhd2FpdCBKV0UuY3JlYXRlRGVjcnlwdChrZXkgYXMgSldLLktleSwgb3B0KS5kZWNyeXB0KFxuICAgICAgandlIGFzIGFueVxuICAgICk7XG5cbiAgICByZXMucGF5bG9hZCA9IHRoaXMuZGVjb2RlUGF5bG9hZChvcHRpb25zLnBheWxvYWRUeXBlLCByZXMucGF5bG9hZCk7XG5cbiAgICBpZiAob3B0aW9ucy5yZXR1cm5Pbmx5UGF5bG9hZCkge1xuICAgICAgcmV0dXJuIHJlcy5wYXlsb2FkO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRPRE8gcmVuYW1lIHRoaXMgdG8gZW5jcnlwdCgpIGFuZCB1c2UgYXMgdGhlIG1vc3QgY29tbW9uIHVzZWNhc2VcbiAgYXN5bmMgZW5jcnlwdFRvU3RyaW5nKFxuICAgIGtleTogSldLLktleSxcbiAgICBjb250ZW50OiBBcnJheUJ1ZmZlciB8IHN0cmluZyB8IG9iamVjdFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCB0aGlzLmVuY3J5cHQoa2V5LCBjb250ZW50KSk7XG4gIH1cblxuICAvLyBUT0RPIHJlbmFtZSB0aGlzIHRvIGVuY3J5cHRUb0pTT04oKSBhbmQgdXNlIHRoaXMgd2hlbiByZXF1aXJlZC5cbiAgYXN5bmMgZW5jcnlwdChcbiAgICBrZXk6IEpXSy5LZXksXG4gICAgY29udGVudDogQXJyYXlCdWZmZXIgfCBzdHJpbmcgfCBvYmplY3RcbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoY29udGVudCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VuY3J5cHRpbmcgbnVsbC91bmRlZmluZWQgY29udGVudC4nKTtcbiAgICB9XG5cbiAgICBpZiAoIShjb250ZW50IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSB7XG4gICAgICBjb250ZW50ID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gSldFLmNyZWF0ZUVuY3J5cHQoXG4gICAgICB7XG4gICAgICAgIGNvbnRlbnRBbGc6ICdBMjU2R0NNJyxcbiAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgdGltZXN0YW1wOiBhd2FpdCB0aGlzLnRpbWVTZXJ2aWNlLnNlcnZlck5vdygpLFxuICAgICAgICB9LFxuICAgICAgfSBhcyBhbnksXG4gICAgICBrZXlcbiAgICApXG4gICAgICAudXBkYXRlKGNvbnRlbnQpXG4gICAgICAuZmluYWwoKSBhcyBhbnk7XG4gIH1cblxuICAvLyA8QVo+IFVubGlrZSBzaWduQ29udGVudCwgdGhlIHNlcmlhbGlzZWQgXCJjb250ZW50XCIgdmFyaWFibGUgaXMgY29udGFpbmVkIGluc2lkZVxuICAvLyB0aGUgcmVzdWx0LiBTbyBvcmRlcmluZyBvZiBmaWVsZHMgd2l0aGluIFwiY29udGVudFwiIGlzIG5vdCBhbiBpc3N1ZS5cbiAgYXN5bmMgc2lnbihrZXk6IEpXSy5LZXksIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyB8IG9iamVjdCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qgc2lnbmVyID0gSldTLmNyZWF0ZVNpZ24oXG4gICAgICB7XG4gICAgICAgIGZpZWxkczoge1xuICAgICAgICAgIHRpbWVzdGFtcDogYXdhaXQgdGhpcy50aW1lU2VydmljZS5zZXJ2ZXJOb3coKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBrZXlcbiAgICApO1xuXG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgIHNpZ25lci51cGRhdGUoY29udGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNpZ25lci51cGRhdGUoSlNPTi5zdHJpbmdpZnkoY29udGVudCksICd1dGY4Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpZ25lci5maW5hbCgpO1xuICB9XG5cbiAgYXN5bmMgc2lnblRvU3RyaW5nKFxuICAgIGtleTogSldLLktleSxcbiAgICBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcgfCBvYmplY3RcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgdGhpcy5zaWduKGtleSwgY29udGVudCkpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5KFxuICAgIGtleTogSldLLktleSxcbiAgICBqd3M6IG9iamVjdCxcbiAgICBvcHRpb25zPzogVmVyaWZ5T3B0aW9uc1xuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IG9wdCA9IHtcbiAgICAgIGFsZ29yaXRobXM6IFsnUlMqJ10sXG4gICAgfTtcblxuICAgIG9wdGlvbnMgPSB7XG4gICAgICAuLi5WRVJJRllfT1BUSU9OU19ERUZBVUxULFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IEpXUy5jcmVhdGVWZXJpZnkoa2V5LCBvcHQpLnZlcmlmeShqd3MgYXMgYW55KTtcblxuICAgICAgcmVzLnBheWxvYWQgPSB0aGlzLmRlY29kZVBheWxvYWQob3B0aW9ucy5wYXlsb2FkVHlwZSwgcmVzLnBheWxvYWQpO1xuXG4gICAgICBpZiAob3B0aW9ucy5yZXR1cm5Pbmx5UGF5bG9hZCkge1xuICAgICAgICByZXR1cm4gcmVzLnBheWxvYWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgTHJFeGNlcHRpb24oe1xuICAgICAgICBjb2RlOiBMckVycm9yQ29kZS5CYWRTaWduYXR1cmUsXG4gICAgICAgIG1lc3NhZ2U6IGBCYWQgc2lnbmF0dXJlOiAke2Vycm9yfWAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBlbmNyeXB0VGhlblNpZ24oXG4gICAge1xuICAgICAga2V5LFxuICAgICAgc2lnUHJrLFxuICAgIH06IHtcbiAgICAgIGtleTogSldLLktleTtcbiAgICAgIHNpZ1ByazogSldLLktleTtcbiAgICB9LFxuICAgIGNvbnRlbnQ6IEFycmF5QnVmZmVyIHwgc3RyaW5nIHwgb2JqZWN0XG4gICk6IFByb21pc2U8eyBjaXBoZXI6IHN0cmluZzsgc2lnOiBzdHJpbmcgfT4ge1xuICAgIGNvbnN0IGNpcGhlciA9IEpTT04uc3RyaW5naWZ5KGF3YWl0IHRoaXMuZW5jcnlwdChrZXksIGNvbnRlbnQpKTtcbiAgICBjb25zdCBzaWcgPSBhd2FpdCB0aGlzLnNpZ24oc2lnUHJrLCBjaXBoZXIpO1xuICAgIGRlbGV0ZSBzaWcucGF5bG9hZDtcblxuICAgIHJldHVybiB7XG4gICAgICBjaXBoZXIsXG4gICAgICBzaWc6IEpTT04uc3RyaW5naWZ5KHNpZyksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZGVjb2RlUGF5bG9hZChcbiAgICBwYXlsb2FkVHlwZTogUGF5bG9hZFR5cGUsXG4gICAgcGF5bG9hZDogQXJyYXlCdWZmZXJcbiAgKTogQXJyYXlCdWZmZXIgfCBhbnkge1xuICAgIHN3aXRjaCAocGF5bG9hZFR5cGUpIHtcbiAgICAgIGNhc2UgJ2pzb24nOlxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUocGF5bG9hZCkpO1xuICAgICAgY2FzZSAnQXJyYXlCdWZmZXInOlxuICAgICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBMckJhZEFyZ3VtZW50RXhjZXB0aW9uKGBVbmtub3duIHBheWxvYWRUeXBlOiAke3BheWxvYWRUeXBlfWApO1xuICAgIH1cbiAgfVxufVxuIl19