@ironcorelabs/ironweb 4.3.1 → 4.4.1

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Versions = exports.UserAndGroupTypes = exports.GroupPermissions = exports.Frame = exports.ErrorCodes = exports.CryptoConstants = exports.ALLOWED_ID_CHAR_REGEX = exports.HEADER_META_LENGTH_LENGTH = exports.VERSION_HEADER_LENGTH = exports.DOCUMENT_ENCRYPTION_DETAILS_VERSION_NUMBER = void 0;
3
+ exports.Versions = exports.UserStatus = exports.UserAndGroupTypes = exports.GroupPermissions = exports.Frame = exports.ErrorCodes = exports.CryptoConstants = exports.ALLOWED_ID_CHAR_REGEX = exports.HEADER_META_LENGTH_LENGTH = exports.VERSION_HEADER_LENGTH = exports.DOCUMENT_ENCRYPTION_DETAILS_VERSION_NUMBER = void 0;
4
4
  /**
5
5
  * Number which is prepended onto encrypted documents to denote which classification of encrypted data
6
6
  * the document represents. Used to have a place to denote header info, symmetric encryption details, etc
@@ -47,6 +47,7 @@ var ErrorCodes;
47
47
  ErrorCodes[ErrorCodes["USER_UPDATE_KEY_REQUEST_FAILURE"] = 211] = "USER_UPDATE_KEY_REQUEST_FAILURE";
48
48
  ErrorCodes[ErrorCodes["USER_PRIVATE_KEY_ROTATION_FAILURE"] = 212] = "USER_PRIVATE_KEY_ROTATION_FAILURE";
49
49
  ErrorCodes[ErrorCodes["USER_DEVICE_LIST_REQUEST_FAILURE"] = 213] = "USER_DEVICE_LIST_REQUEST_FAILURE";
50
+ ErrorCodes[ErrorCodes["USER_UPDATE_STATUS_REQUEST_FAILURE"] = 214] = "USER_UPDATE_STATUS_REQUEST_FAILURE";
50
51
  ErrorCodes[ErrorCodes["DOCUMENT_LIST_REQUEST_FAILURE"] = 300] = "DOCUMENT_LIST_REQUEST_FAILURE";
51
52
  ErrorCodes[ErrorCodes["DOCUMENT_GET_REQUEST_FAILURE"] = 301] = "DOCUMENT_GET_REQUEST_FAILURE";
52
53
  ErrorCodes[ErrorCodes["DOCUMENT_CREATE_REQUEST_FAILURE"] = 302] = "DOCUMENT_CREATE_REQUEST_FAILURE";
@@ -112,7 +113,15 @@ exports.UserAndGroupTypes = {
112
113
  USER: "user",
113
114
  GROUP: "group",
114
115
  };
116
+ /**
117
+ * Status values for a user. A disabled user cannot call SDK functions but
118
+ * remains a member of any groups they were added to.
119
+ */
120
+ exports.UserStatus = {
121
+ DISABLED: 0,
122
+ ENABLED: 1,
123
+ };
115
124
  exports.Versions = {
116
125
  //This define is replaced at runtime during development, and at build time in the build script with the proper version
117
- SDK_VERSION: "4.3.1",
126
+ SDK_VERSION: "4.4.1",
118
127
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteDeviceByPublicSigningKey = exports.initialize = exports.createUserDeviceKeys = exports.createNewUser = void 0;
3
+ exports.updateUserStatus = exports.deleteDeviceByPublicSigningKey = exports.initialize = exports.createUserDeviceKeys = exports.createNewUser = void 0;
4
4
  var futurejs_1 = require("futurejs");
5
5
  var Constants_1 = require("../Constants");
6
6
  var SDKError_1 = require("../lib/SDKError");
@@ -77,7 +77,6 @@ var createNewUser = function (jwtCallback, passcode, needsRotation) {
77
77
  return FrameMediator.sendMessage(payload);
78
78
  })
79
79
  //Rename a few fields and strip out the users private key and currentKeyId since they'll probably be confusing that they're getting back an encrypted private key
80
- //eslint-disable-next-line @typescript-eslint/no-unused-vars
81
80
  .map(function (_a) {
82
81
  var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
83
82
  return ({
@@ -164,3 +163,30 @@ var deleteDeviceByPublicSigningKey = function (jwtCallback, publicSigningKey) {
164
163
  .toPromise();
165
164
  };
166
165
  exports.deleteDeviceByPublicSigningKey = deleteDeviceByPublicSigningKey;
166
+ /**
167
+ * Update the status (enabled or disabled) of the user identified by the provided JWT.
168
+ * Authenticates with a JWT and does not require an initialized SDK. The user id is taken
169
+ * from the `sub` claim of the JWT.
170
+ */
171
+ var updateUserStatus = function (jwtCallback, status) {
172
+ return getJWT(jwtCallback)
173
+ .flatMap(function (jwtToken) {
174
+ var payload = {
175
+ type: "UPDATE_USER_STATUS_JWT",
176
+ message: { jwtToken: jwtToken, status: status },
177
+ };
178
+ return FrameMediator.sendMessage(payload);
179
+ })
180
+ .map(function (_a) {
181
+ var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
182
+ return ({
183
+ accountID: id,
184
+ segmentID: segmentId,
185
+ needsRotation: needsRotation,
186
+ status: status,
187
+ userMasterPublicKey: userMasterPublicKey,
188
+ });
189
+ })
190
+ .toPromise();
191
+ };
192
+ exports.updateUserStatus = updateUserStatus;
@@ -14,13 +14,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SDKError = exports.ErrorCodes = exports.isInitialized = exports.initialize = exports.createNewDeviceKeys = exports.createNewUser = exports.deleteDeviceByPublicSigningKey = void 0;
17
+ exports.SDKError = exports.ErrorCodes = exports.isInitialized = exports.initialize = exports.createNewDeviceKeys = exports.createNewUser = exports.UserStatus = exports.updateUserStatus = exports.deleteDeviceByPublicSigningKey = void 0;
18
18
  var Constants_1 = require("../Constants");
19
19
  var SDKError_1 = require("../lib/SDKError");
20
20
  var Init = require("./Initialize");
21
21
  var ShimUtils_1 = require("./ShimUtils");
22
22
  var Initialize_1 = require("./Initialize");
23
23
  Object.defineProperty(exports, "deleteDeviceByPublicSigningKey", { enumerable: true, get: function () { return Initialize_1.deleteDeviceByPublicSigningKey; } });
24
+ Object.defineProperty(exports, "updateUserStatus", { enumerable: true, get: function () { return Initialize_1.updateUserStatus; } });
25
+ var Constants_2 = require("../Constants");
26
+ Object.defineProperty(exports, "UserStatus", { enumerable: true, get: function () { return Constants_2.UserStatus; } });
24
27
  /**
25
28
  * Checks bowser functionality to ensure random number generation is supported.
26
29
  */
@@ -120,8 +123,8 @@ exports.isInitialized = isInitialized;
120
123
  /**
121
124
  * List of SDK Error Codes
122
125
  */
123
- var Constants_2 = require("../Constants");
124
- Object.defineProperty(exports, "ErrorCodes", { enumerable: true, get: function () { return Constants_2.ErrorCodes; } });
126
+ var Constants_3 = require("../Constants");
127
+ Object.defineProperty(exports, "ErrorCodes", { enumerable: true, get: function () { return Constants_3.ErrorCodes; } });
125
128
  /**
126
129
  * SDK Error which extends normal Error object but adds `code` property which will be one of the ErrorCodes from above
127
130
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listDevices = exports.deleteDeviceByPublicSigningKey = exports.deleteDevice = exports.deauthorizeDevice = exports.rotateMasterKey = exports.changePasscode = void 0;
3
+ exports.disableSelf = exports.listDevices = exports.deleteDeviceByPublicSigningKey = exports.deleteDevice = exports.deauthorizeDevice = exports.rotateMasterKey = exports.changePasscode = void 0;
4
4
  var ShimUtils_1 = require("../ShimUtils");
5
5
  var FrameMediator = require("../FrameMediator");
6
6
  /**
@@ -105,3 +105,35 @@ var listDevices = function () {
105
105
  .toPromise();
106
106
  };
107
107
  exports.listDevices = listDevices;
108
+ /**
109
+ * Disables the currently authenticated user. Disabled users are unable to call any
110
+ * other authorized SDK functions but remain in any groups they belonged to. Users
111
+ * cannot re-enable themselves; an admin must call `updateUserStatus` with a JWT for
112
+ * the user to re-enable them.
113
+ */
114
+ var disableSelf = function () {
115
+ (0, ShimUtils_1.checkSDKInitialized)();
116
+ var payload = {
117
+ type: "DISABLE_USER_SELF",
118
+ message: null,
119
+ };
120
+ // The frame wipes its ApiState and device keys on a successful disable, so mirror the
121
+ // current-device path of `deleteDevice` here: drop the parent-window symmetric key now
122
+ // and clear the init flag on success. Otherwise `isInitialized()` keeps returning true
123
+ // while the frame is empty, and the next SDK call fails confusingly in the frame.
124
+ (0, ShimUtils_1.clearParentWindowSymmetricKey)();
125
+ return FrameMediator.sendMessage(payload)
126
+ .map(function (_a) {
127
+ var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
128
+ (0, ShimUtils_1.clearSDKInitialized)();
129
+ return {
130
+ accountID: id,
131
+ segmentID: segmentId,
132
+ needsRotation: needsRotation,
133
+ status: status,
134
+ userMasterPublicKey: userMasterPublicKey,
135
+ };
136
+ })
137
+ .toPromise();
138
+ };
139
+ exports.disableSelf = disableSelf;
package/es/Constants.js CHANGED
@@ -44,6 +44,7 @@ export var ErrorCodes;
44
44
  ErrorCodes[ErrorCodes["USER_UPDATE_KEY_REQUEST_FAILURE"] = 211] = "USER_UPDATE_KEY_REQUEST_FAILURE";
45
45
  ErrorCodes[ErrorCodes["USER_PRIVATE_KEY_ROTATION_FAILURE"] = 212] = "USER_PRIVATE_KEY_ROTATION_FAILURE";
46
46
  ErrorCodes[ErrorCodes["USER_DEVICE_LIST_REQUEST_FAILURE"] = 213] = "USER_DEVICE_LIST_REQUEST_FAILURE";
47
+ ErrorCodes[ErrorCodes["USER_UPDATE_STATUS_REQUEST_FAILURE"] = 214] = "USER_UPDATE_STATUS_REQUEST_FAILURE";
47
48
  ErrorCodes[ErrorCodes["DOCUMENT_LIST_REQUEST_FAILURE"] = 300] = "DOCUMENT_LIST_REQUEST_FAILURE";
48
49
  ErrorCodes[ErrorCodes["DOCUMENT_GET_REQUEST_FAILURE"] = 301] = "DOCUMENT_GET_REQUEST_FAILURE";
49
50
  ErrorCodes[ErrorCodes["DOCUMENT_CREATE_REQUEST_FAILURE"] = 302] = "DOCUMENT_CREATE_REQUEST_FAILURE";
@@ -109,7 +110,15 @@ export var UserAndGroupTypes = {
109
110
  USER: "user",
110
111
  GROUP: "group",
111
112
  };
113
+ /**
114
+ * Status values for a user. A disabled user cannot call SDK functions but
115
+ * remains a member of any groups they were added to.
116
+ */
117
+ export var UserStatus = {
118
+ DISABLED: 0,
119
+ ENABLED: 1,
120
+ };
112
121
  export var Versions = {
113
122
  //This define is replaced at runtime during development, and at build time in the build script with the proper version
114
- SDK_VERSION: "4.3.1",
123
+ SDK_VERSION: "4.4.1",
115
124
  };
@@ -74,7 +74,6 @@ export var createNewUser = function (jwtCallback, passcode, needsRotation) {
74
74
  return FrameMediator.sendMessage(payload);
75
75
  })
76
76
  //Rename a few fields and strip out the users private key and currentKeyId since they'll probably be confusing that they're getting back an encrypted private key
77
- //eslint-disable-next-line @typescript-eslint/no-unused-vars
78
77
  .map(function (_a) {
79
78
  var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
80
79
  return ({
@@ -157,3 +156,29 @@ export var deleteDeviceByPublicSigningKey = function (jwtCallback, publicSigning
157
156
  })
158
157
  .toPromise();
159
158
  };
159
+ /**
160
+ * Update the status (enabled or disabled) of the user identified by the provided JWT.
161
+ * Authenticates with a JWT and does not require an initialized SDK. The user id is taken
162
+ * from the `sub` claim of the JWT.
163
+ */
164
+ export var updateUserStatus = function (jwtCallback, status) {
165
+ return getJWT(jwtCallback)
166
+ .flatMap(function (jwtToken) {
167
+ var payload = {
168
+ type: "UPDATE_USER_STATUS_JWT",
169
+ message: { jwtToken: jwtToken, status: status },
170
+ };
171
+ return FrameMediator.sendMessage(payload);
172
+ })
173
+ .map(function (_a) {
174
+ var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
175
+ return ({
176
+ accountID: id,
177
+ segmentID: segmentId,
178
+ needsRotation: needsRotation,
179
+ status: status,
180
+ userMasterPublicKey: userMasterPublicKey,
181
+ });
182
+ })
183
+ .toPromise();
184
+ };
package/es/shim/index.js CHANGED
@@ -2,7 +2,8 @@ import { ErrorCodes } from "../Constants";
2
2
  import SDKError from "../lib/SDKError";
3
3
  import * as Init from "./Initialize";
4
4
  import { checkSDKInitialized } from "./ShimUtils";
5
- export { deleteDeviceByPublicSigningKey } from "./Initialize";
5
+ export { deleteDeviceByPublicSigningKey, updateUserStatus } from "./Initialize";
6
+ export { UserStatus } from "../Constants";
6
7
  /**
7
8
  * Checks bowser functionality to ensure random number generation is supported.
8
9
  */
@@ -96,3 +96,34 @@ export var listDevices = function () {
96
96
  })
97
97
  .toPromise();
98
98
  };
99
+ /**
100
+ * Disables the currently authenticated user. Disabled users are unable to call any
101
+ * other authorized SDK functions but remain in any groups they belonged to. Users
102
+ * cannot re-enable themselves; an admin must call `updateUserStatus` with a JWT for
103
+ * the user to re-enable them.
104
+ */
105
+ export var disableSelf = function () {
106
+ checkSDKInitialized();
107
+ var payload = {
108
+ type: "DISABLE_USER_SELF",
109
+ message: null,
110
+ };
111
+ // The frame wipes its ApiState and device keys on a successful disable, so mirror the
112
+ // current-device path of `deleteDevice` here: drop the parent-window symmetric key now
113
+ // and clear the init flag on success. Otherwise `isInitialized()` keeps returning true
114
+ // while the frame is empty, and the next SDK call fails confusingly in the frame.
115
+ clearParentWindowSymmetricKey();
116
+ return FrameMediator.sendMessage(payload)
117
+ .map(function (_a) {
118
+ var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
119
+ clearSDKInitialized();
120
+ return {
121
+ accountID: id,
122
+ segmentID: segmentId,
123
+ needsRotation: needsRotation,
124
+ status: status,
125
+ userMasterPublicKey: userMasterPublicKey,
126
+ };
127
+ })
128
+ .toPromise();
129
+ };
package/ironweb.d.ts CHANGED
@@ -155,6 +155,18 @@ export interface UserCreateResponse {
155
155
  userMasterPublicKey: PublicKey<Base64String>;
156
156
  needsRotation: boolean;
157
157
  }
158
+ export interface UserUpdateResponse {
159
+ accountID: string;
160
+ segmentID: number;
161
+ status: UserStatus;
162
+ userMasterPublicKey: PublicKey<Base64String>;
163
+ needsRotation: boolean;
164
+ }
165
+ export const UserStatus: {
166
+ DISABLED: 0;
167
+ ENABLED: 1;
168
+ };
169
+ export type UserStatus = 0 | 1;
158
170
  export interface DeviceKeys {
159
171
  accountId: string;
160
172
  segmentId: number;
@@ -200,6 +212,7 @@ export interface User {
200
212
  listDevices(): Promise<UserDeviceListResponse>;
201
213
  changePasscode(currentPasscode: string, newPasscode: string): Promise<void>;
202
214
  rotateMasterKey(passcode: string): Promise<void>;
215
+ disableSelf(): Promise<UserUpdateResponse>;
203
216
  }
204
217
 
205
218
  export interface Document {
@@ -306,6 +319,7 @@ export interface ErrorCodes {
306
319
  USER_DEVICE_DELETE_REQUEST_FAILURE: 210;
307
320
  USER_UPDATE_KEY_REQUEST_FAILURE: 211;
308
321
  USER_PRIVATE_KEY_ROTATION_FAILURE: 212;
322
+ USER_UPDATE_STATUS_REQUEST_FAILURE: 214;
309
323
  DOCUMENT_LIST_REQUEST_FAILURE: 300;
310
324
  DOCUMENT_GET_REQUEST_FAILURE: 301;
311
325
  DOCUMENT_CREATE_REQUEST_FAILURE: 302;
@@ -360,3 +374,4 @@ export function createNewUser(jwtCallback: JWTCallback, passcode: string, option
360
374
  export function createNewDeviceKeys(jwtCallback: JWTCallback, passcode: string): Promise<DeviceKeys>;
361
375
  export function isInitialized(): boolean;
362
376
  export function deleteDeviceByPublicSigningKey(jwtCallback: JWTCallback, publicSigningKey: Base64String): Promise<number>;
377
+ export function updateUserStatus(jwtCallback: JWTCallback, status: UserStatus): Promise<UserUpdateResponse>;
package/ironweb.min.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ironweb=t():e.ironweb=t()}(self,(()=>(()=>{"use strict";var e={52(e,t){var r="utf8: invalid string",n="utf8: invalid source encoding";function o(e){for(var t=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);if(o<128)t+=1;else if(o<2048)t+=2;else if(o<55296)t+=3;else{if(!(o<=57343))throw new Error(r);if(n>=e.length-1)throw new Error(r);n++,t+=4}}return t}t.lF=function(e){for(var t=new Uint8Array(o(e)),r=0,n=0;n<e.length;n++){var a=e.charCodeAt(n);a<128?t[r++]=a:a<2048?(t[r++]=192|a>>6,t[r++]=128|63&a):a<55296?(t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a):(n++,a=(1023&a)<<10,a|=1023&e.charCodeAt(n),a+=65536,t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a)}return t},t.D4=function(e){for(var t=[],r=0;r<e.length;r++){var o=e[r];if(128&o){var a=void 0;if(o<224){if(r>=e.length)throw new Error(n);if(128!=(192&(E=e[++r])))throw new Error(n);o=(31&o)<<6|63&E,a=128}else if(o<240){if(r>=e.length-1)throw new Error(n);var E=e[++r],i=e[++r];if(128!=(192&E)||128!=(192&i))throw new Error(n);o=(15&o)<<12|(63&E)<<6|63&i,a=2048}else{if(!(o<248))throw new Error(n);if(r>=e.length-2)throw new Error(n);E=e[++r],i=e[++r];var u=e[++r];if(128!=(192&E)||128!=(192&i)||128!=(192&u))throw new Error(n);o=(15&o)<<18|(63&E)<<12|(63&i)<<6|63&u,a=65536}if(o<a||o>=55296&&o<=57343)throw new Error(n);if(o>=65536){if(o>1114111)throw new Error(n);o-=65536,t.push(String.fromCharCode(55296|o>>10)),o=56320|1023&o}}t.push(String.fromCharCode(o))}return t.join("")}},526(e,t){t.bg=function(e){var t,r,a=i(e),E=a[0],u=a[1],s=new o(function(e,t,r){return 3*(t+r)/4-r}(0,E,u)),c=0,_=u>0?E-4:E;for(r=0;r<_;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],s[c++]=t>>16&255,s[c++]=t>>8&255,s[c++]=255&t;2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,s[c++]=255&t);1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,s[c++]=t>>8&255,s[c++]=255&t);return s},t.iI=function(e){for(var t,n=e.length,o=n%3,a=[],E=16383,i=0,s=n-o;i<s;i+=E)a.push(u(e,i,i+E>s?s:i+E));1===o?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return a.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=0;E<64;++E)r[E]=a[E],n[a.charCodeAt(E)]=E;function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,n){for(var o,a,E=[],i=t;i<n;i+=3)o=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(255&e[i+2]),E.push(r[(a=o)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return E.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},702(e,t){var r=function(){function e(e){this.action=e}return e.prototype.engage=function(e,t){this.action(e,t)},e.prototype.engageAndCatch=function(e,t){try{this.engage(e,t)}catch(t){e(t)}},e.prototype.then=function(e,t){return this.toPromise().then(e,t)},e.prototype.toPromise=function(){var e=this;return new Promise((function(t,r){return e.engage(r,t)}))},e.prototype.map=function(t){return this.flatMap((function(r){return e.of(t(r))}))},e.prototype.flatMap=function(t){var r=this;return new e((function(e,n){r.engageAndCatch(e,(function(r){return t(r).engageAndCatch(e,n)}))}))},e.prototype.handleWith=function(t){var r=this;return new e((function(e,n){r.engage((function(r){t(r).engage(e,n)}),n)}))},e.prototype.errorMap=function(t){var r=this;return new e((function(e,n){r.engageAndCatch((function(r){return e(t(r))}),n)}))},e.tryF=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}r(n)}))},e.tryP=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}n.then(r).catch(e)}))},e.of=function(t){return new e((function(e,r){r(t)}))},e.reject=function(t){return new e((function(e){e(t)}))},e.encase=function(t,r){return new e((function(e,n){var o;try{o=t(r)}catch(t){return e(t)}n(o)}))},e.gather2=function(t,r){return new e((function(e,n){var o=[],a=0,E=!1;t.engageAndCatch((function(t){E||(E=!0,e(t))}),(function(e){o[0]=e,2===++a&&n(o)})),r.engageAndCatch((function(t){E||(E=!0,e(t))}),(function(e){o[1]=e,2===++a&&n(o)}))}))},e.gather3=function(e,t,r){var n=this.gather2(e,t);return this.gather2(n,r).map((function(e){var t=e[0];return[t[0],t[1],e[1]]}))},e.gather4=function(e,t,r,n){var o=this.gather2(e,t),a=this.gather2(r,n);return this.gather2(o,a).map((function(e){var t=e[0],r=t[0],n=t[1],o=e[1];return[r,n,o[0],o[1]]}))},e.all=function(e){return Array.isArray(e)?this.allArray(e):this.allObject(e)},e.allArray=function(t){return new e((function(e,r){var n=[],o=0;0===t.length&&r(n),t.forEach((function(a,E){a.engageAndCatch((function(t){e(t)}),(function(e){n[E]=e,(o+=1)===t.length&&r(n)}))}))}))},e.allObject=function(e){var t=Object.keys(e),r=t.map((function(t){return e[t]}));return this.allArray(r).map((function(e){return t.reduce((function(t,r,n){return t[r]=e[n],t}),{})}))},e}();t.A=r}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};r.r(n),r.d(n,{ErrorCodes:()=>s,SDKError:()=>I,codec:()=>He,createNewDeviceKeys:()=>qe,createNewUser:()=>Ze,deleteDeviceByPublicSigningKey:()=>X,document:()=>xe,group:()=>je,initialize:()=>$e,isInitialized:()=>et,search:()=>ke,user:()=>Be});var o={};r.r(o),r.d(o,{base64:()=>Z,utf8:()=>J});var a={};r.r(a),r.d(a,{advanced:()=>Ue,decrypt:()=>ue,decryptFromStore:()=>ie,decryptStream:()=>Ie,encrypt:()=>ce,encryptStream:()=>pe,encryptToStore:()=>se,getDocumentIDFromBytes:()=>Ee,getMetadata:()=>ae,grantAccess:()=>fe,list:()=>oe,revokeAccess:()=>me,updateEncryptedData:()=>Re,updateEncryptedDataInStore:()=>_e,updateName:()=>Ae});var E={};r.r(E),r.d(E,{addAdmins:()=>he,addMembers:()=>Oe,create:()=>ge,deleteGroup:()=>Pe,get:()=>le,list:()=>Te,removeAdmins:()=>ye,removeMembers:()=>Ne,removeSelfAsMember:()=>Le,rotatePrivateKey:()=>De,update:()=>Se});var i={};r.r(i),r.d(i,{createBlindSearchIndex:()=>ve,initializeBlindSearchIndex:()=>we,transliterateString:()=>Fe});var u={};r.r(u),r.d(u,{changePasscode:()=>be,deauthorizeDevice:()=>Ye,deleteDevice:()=>Ve,deleteDeviceByPublicSigningKey:()=>Qe,listDevices:()=>Ke,rotateMasterKey:()=>Ge});var s,c=1,_=2,R=/^[a-zA-Z0-9_.$#|@/:;=+'-]{1,100}$/,A={VERSION_HEADER_LENGTH:1,IV_LENGTH:12,SALT_LENGTH:32,AES_SYMMETRIC_KEY_LENGTH:32,PBKDF2_ITERATIONS:25e4,NATIVE_DECRYPT_FAILURE_ERROR:"OperationError"};!function(e){e[e.JWT_FORMAT_FAILURE=100]="JWT_FORMAT_FAILURE",e[e.JWT_RETRIEVAL_FAILURE=101]="JWT_RETRIEVAL_FAILURE",e[e.VERIFY_API_REQUEST_FAILURE=102]="VERIFY_API_REQUEST_FAILURE",e[e.BROWSER_FRAME_MESSAGE_FAILURE=103]="BROWSER_FRAME_MESSAGE_FAILURE",e[e.RANDOM_NUMBER_GENERATION_FAILURE=104]="RANDOM_NUMBER_GENERATION_FAILURE",e[e.PASSCODE_FORMAT_FAILURE=105]="PASSCODE_FORMAT_FAILURE",e[e.PASSCODE_RETRIEVAL_FAILURE=106]="PASSCODE_RETRIEVAL_FAILURE",e[e.SIGNATURE_GENERATION_FAILURE=107]="SIGNATURE_GENERATION_FAILURE",e[e.USER_NOT_SYNCED_FAILURE=108]="USER_NOT_SYNCED_FAILURE",e[e.WEBASSEMBLY_SUPPORT_FAILURE=109]="WEBASSEMBLY_SUPPORT_FAILURE",e[e.FRAME_LOAD_FAILURE=110]="FRAME_LOAD_FAILURE",e[e.USER_VERIFY_API_REQUEST_FAILURE=200]="USER_VERIFY_API_REQUEST_FAILURE",e[e.USER_CREATE_REQUEST_FAILURE=201]="USER_CREATE_REQUEST_FAILURE",e[e.USER_UPDATE_REQUEST_FAILURE=202]="USER_UPDATE_REQUEST_FAILURE",e[e.USER_PASSCODE_INCORRECT=203]="USER_PASSCODE_INCORRECT",e[e.USER_KEY_LIST_REQUEST_FAILURE=204]="USER_KEY_LIST_REQUEST_FAILURE",e[e.USER_DEVICE_ADD_REQUEST_FAILURE=205]="USER_DEVICE_ADD_REQUEST_FAILURE",e[e.USER_MASTER_KEY_GENERATION_FAILURE=206]="USER_MASTER_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_GENERATION_FAILURE=207]="USER_DEVICE_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_DECRYPTION_FAILURE=208]="USER_DEVICE_KEY_DECRYPTION_FAILURE",e[e.USER_PASSCODE_CHANGE_FAILURE=209]="USER_PASSCODE_CHANGE_FAILURE",e[e.USER_DEVICE_DELETE_REQUEST_FAILURE=210]="USER_DEVICE_DELETE_REQUEST_FAILURE",e[e.USER_UPDATE_KEY_REQUEST_FAILURE=211]="USER_UPDATE_KEY_REQUEST_FAILURE",e[e.USER_PRIVATE_KEY_ROTATION_FAILURE=212]="USER_PRIVATE_KEY_ROTATION_FAILURE",e[e.USER_DEVICE_LIST_REQUEST_FAILURE=213]="USER_DEVICE_LIST_REQUEST_FAILURE",e[e.DOCUMENT_LIST_REQUEST_FAILURE=300]="DOCUMENT_LIST_REQUEST_FAILURE",e[e.DOCUMENT_GET_REQUEST_FAILURE=301]="DOCUMENT_GET_REQUEST_FAILURE",e[e.DOCUMENT_CREATE_REQUEST_FAILURE=302]="DOCUMENT_CREATE_REQUEST_FAILURE",e[e.DOCUMENT_UPDATE_REQUEST_FAILURE=303]="DOCUMENT_UPDATE_REQUEST_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE=304]="DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE=305]="DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_DECRYPT_FAILURE=306]="DOCUMENT_DECRYPT_FAILURE",e[e.DOCUMENT_ENCRYPT_FAILURE=307]="DOCUMENT_ENCRYPT_FAILURE",e[e.DOCUMENT_REENCRYPT_FAILURE=308]="DOCUMENT_REENCRYPT_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_FAILURE=309]="DOCUMENT_GRANT_ACCESS_FAILURE",e[e.DOCUMENT_MAX_SIZE_EXCEEDED=310]="DOCUMENT_MAX_SIZE_EXCEEDED",e[e.DOCUMENT_CREATE_WITH_ACCESS_FAILURE=311]="DOCUMENT_CREATE_WITH_ACCESS_FAILURE",e[e.DOCUMENT_HEADER_PARSE_FAILURE=312]="DOCUMENT_HEADER_PARSE_FAILURE",e[e.DOCUMENT_TRANSFORM_REQUEST_FAILURE=313]="DOCUMENT_TRANSFORM_REQUEST_FAILURE",e[e.DOCUMENT_STREAM_DECRYPT_FAILURE=314]="DOCUMENT_STREAM_DECRYPT_FAILURE",e[e.DOCUMENT_STREAM_ENCRYPT_FAILURE=315]="DOCUMENT_STREAM_ENCRYPT_FAILURE",e[e.GROUP_LIST_REQUEST_FAILURE=400]="GROUP_LIST_REQUEST_FAILURE",e[e.GROUP_GET_REQUEST_FAILURE=401]="GROUP_GET_REQUEST_FAILURE",e[e.GROUP_CREATE_REQUEST_FAILURE=402]="GROUP_CREATE_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBERS_REQUEST_FAILURE=403]="GROUP_ADD_MEMBERS_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE=404]="GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE",e[e.GROUP_REMOVE_MEMBERS_REQUEST_FAILURE=405]="GROUP_REMOVE_MEMBERS_REQUEST_FAILURE",e[e.GROUP_REMOVE_SELF_REQUEST_FAILURE=406]="GROUP_REMOVE_SELF_REQUEST_FAILURE",e[e.GROUP_KEY_GENERATION_FAILURE=407]="GROUP_KEY_GENERATION_FAILURE",e[e.GROUP_MEMBER_KEY_ENCRYPTION_FAILURE=408]="GROUP_MEMBER_KEY_ENCRYPTION_FAILURE",e[e.GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE=409]="GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE",e[e.GROUP_ADD_ADMINS_REQUEST_FAILURE=410]="GROUP_ADD_ADMINS_REQUEST_FAILURE",e[e.GROUP_KEY_DECRYPTION_FAILURE=411]="GROUP_KEY_DECRYPTION_FAILURE",e[e.GROUP_REMOVE_ADMINS_REQUEST_FAILURE=412]="GROUP_REMOVE_ADMINS_REQUEST_FAILURE",e[e.GROUP_UPDATE_REQUEST_FAILURE=413]="GROUP_UPDATE_REQUEST_FAILURE",e[e.GROUP_DELETE_REQUEST_FAILURE=414]="GROUP_DELETE_REQUEST_FAILURE",e[e.GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE=415]="GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE",e[e.GROUP_PRIVATE_KEY_ROTATION_FAILURE=416]="GROUP_PRIVATE_KEY_ROTATION_FAILURE",e[e.GROUP_UPDATE_KEY_REQUEST_FAILURE=417]="GROUP_UPDATE_KEY_REQUEST_FAILURE",e[e.GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE=418]="GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE",e[e.REQUEST_RATE_LIMITED=500]="REQUEST_RATE_LIMITED",e[e.POLICY_APPLY_REQUEST_FAILURE=600]="POLICY_APPLY_REQUEST_FAILURE",e[e.SEARCH_CREATE_INDEX_FAILURE=700]="SEARCH_CREATE_INDEX_FAILURE",e[e.SEARCH_INIT_INDEX_FAILURE=701]="SEARCH_INIT_INDEX_FAILURE",e[e.SEARCH_TOKENIZE_DATA_FAILURE=702]="SEARCH_TOKENIZE_DATA_FAILURE",e[e.SEARCH_TOKENIZE_QUERY_FAILURE=703]="SEARCH_TOKENIZE_QUERY_FAILURE"}(s||(s={}));var f={FRAME_DOMAIN:"https://api.ironcorelabs.com",FRAME_PATH:"/ironweb-frame"};"string"==typeof _ICL_FRAME_DOMAIN_REPLACEMENT_&&_ICL_FRAME_DOMAIN_REPLACEMENT_.length&&(f.FRAME_DOMAIN=_ICL_FRAME_DOMAIN_REPLACEMENT_);var m,d={SDK_VERSION:"4.3.1"},p=(m=function(e,t){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},m(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});const I=function(e){function t(r,n){var o=e.call(this,r.message)||this;return!function(e){return"number"==typeof e.code&&e.name!==A.NATIVE_DECRYPT_FAILURE_ERROR}(r)?(o.code=n,o.rawError=r):(o.code=r.code,o.rawError=r.rawError),Object.setPrototypeOf(o,t.prototype),o}return p(t,e),t}(Error);var U=r(702),T=r(52),l=r(526);function g(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=e.reduce((function(e,t){return e+t.length}),0),n=0;return e.reduce((function(e,t){return e.set(t,n),n+=t.length,e}),new Uint8Array(r))}function D(e){return U.A.tryF((function(){var t,r=e[0],n=null;if(1===r)t=c;else{if(2!==r)throw new Error("Provided encrypted document doesn't appear to be valid. Invalid version.");var o=new DataView(e.buffer,e.byteOffset).getUint16(c,!1);t=c+_+o;var a=e.slice(c+_,t);n=JSON.parse(T.D4(a))._did_}var E=t+A.IV_LENGTH;return{documentID:n,iv:e.slice(t,E),contentOffset:E}})).errorMap((function(e){return new I(e,s.DOCUMENT_HEADER_PARSE_FAILURE)}))}var S=function(){function e(e){var t=this;this.callbackCount=0,this.callbacks={},this.processMessageIntoShim=function(e){var r=e.data,n=r.data,o=r.replyID,a=t.callbacks[o];a&&(delete t.callbacks[o],a(n))};var r=new MessageChannel;r.port1.start(),r.port1.addEventListener("message",this.processMessageIntoShim),this.messagePort=r.port1,e.addEventListener("load",(function(){e.contentWindow.postMessage("MESSAGE_PORT_INIT",f.FRAME_DOMAIN,[r.port2])}))}return e.prototype.postMessageToFrame=function(e,t){var r=this;void 0===t&&(t=[]);var n={replyID:this.callbackCount++,data:e};try{return this.messagePort.postMessage(n,t.map((function(e){return e instanceof Uint8Array?e.buffer:e}))),new U.A((function(e,t){r.callbacks[n.replyID]=t}))}catch(e){var o=t.some((function(e){return e instanceof ReadableStream||e instanceof WritableStream}))?"Streaming encrypt/decrypt requires transferable streams, which is not supported by this browser. It is known to be supported by Chrome, Firefox, and Edge.":"Failure occurred when passing message due to the lack of browser support.";return U.A.reject(new I(new Error(o),s.BROWSER_FRAME_MESSAGE_FAILURE))}},e}(),h=window.document.createElement("iframe"),y=new S(h),O=new Promise((function(e,t){h.addEventListener("load",(function(){var r=setTimeout((function(){t(new I(new Error("Failed to load IronWeb frame."),s.FRAME_LOAD_FAILURE))}),1e3);y.postMessageToFrame({type:"FRAME_LOADED_CHECK"}).engage(t,(function(){clearTimeout(r),e()}))}))}));function N(e,t){return U.A.tryP((function(){return O})).flatMap((function(){return y.postMessageToFrame(e,t)})).flatMap((function(e){return function(e){return"ERROR_RESPONSE"===e.type}(e)?U.A.reject(new I(new Error(e.message.text),e.message.code)):U.A.of(e)}))}h.height="0",h.width="0",h.style.display="none",h.style.position="absolute",h.style.top="-999px",h.style.left="-999px",h.src="".concat(f.FRAME_DOMAIN).concat(f.FRAME_PATH,"?version=").concat(d.SDK_VERSION),window.document.body.appendChild(h);var L,P="1",C=!1;function M(){return"".concat(P,"-icldassk")}function v(){C=!0}function w(){if(!C)throw new Error('SDK "initialize()" method has not yet been called or completed execution. SDK methods cannot be used until initialization is complete.')}function F(e){if(e)try{localStorage.setItem(M(),e)}catch(e){}}function b(){try{return localStorage.getItem(M())||void 0}catch(e){return}}function G(e,t){void 0===t&&(t=!1);var r={};return e.filter((function(e){return!(r[e]||t&&!e.length)&&(r[e]=!0,!0)}))}function Y(e){if("string"!=typeof e||!e.length)throw new Error("Invalid ID provided. Expected a non-zero length string but got ".concat(e));if(!R.test(e))throw new Error("Invalid ID provided. Provided value includes invalid characters: '".concat(e,"'."))}function V(e){if(!(e instanceof Uint8Array&&e.length))throw new Error("Invalid document data format provided. Expected a Uint8Array.")}function Q(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted document content. Content should be a Uint8Array.");if(e.byteLength<A.IV_LENGTH+1)throw new Error("Invalid encrypted document content. Length of content does not meet minimum requirements.")}function K(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted deks. Edeks should be a Uint8Array.");if(e.byteLength<=0)throw new Error("Invalid encrypted deks. Length does not meet minimum requirements.")}function x(e){var t=e&&Array.isArray(e.users)&&e.users.length,r=e&&Array.isArray(e.groups)&&e.groups.length;if(!t&&!r)throw new Error("You must provide a list of users or groups with which to change document access.")}function B(e){if(!Array.isArray(e)||!e.length)throw new Error("You must provide a list of users to perform this operation.")}function j(e){var t=[],r=[];return e.users&&e.users.length&&(t=G(e.users.map((function(e){return e.id})),!0)),e.groups&&e.groups.length&&(r=G(e.groups.map((function(e){return e.id})),!0)),[t,r]}function k(e){return U.A.tryP((function(){var t=e();if(t&&"function"==typeof t.then)return t;throw new I(new Error("JWT callback did not return a Promise."),s.JWT_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?U.A.of(e):U.A.reject(new I(new Error("JWT should be a non-zero length string, but instead got '".concat(e,"'")),s.JWT_RETRIEVAL_FAILURE))}))}var H=function(e,t,r){return void 0===r&&(r=!1),k(e).flatMap((function(e){return N({type:"CREATE_USER",message:{passcode:t,jwtToken:e,needsRotation:r}})})).map((function(e){var t=e.message;return{accountID:t.id,segmentID:t.segmentId,needsRotation:t.needsRotation,status:t.status,userMasterPublicKey:t.userMasterPublicKey}})).toPromise()},W=function(e,t){return k(e).flatMap((function(e){return N({type:"CREATE_DETATCHED_USER_DEVICE",message:{passcode:t,jwtToken:e}})})).map((function(e){return e.message})).toPromise()};function z(e,t){return L=e,k(e).flatMap((function(e){return N({type:"INIT_SDK",message:{jwtToken:e,symmetricKey:b()}})})).flatMap((function(e){return"INIT_PASSCODE_REQUIRED"===e.type?function(e,t){return U.A.tryP((function(){var r=e(t);if(r&&"function"==typeof r.then)return r;throw new I(new Error("Passcode callback did not return a Promise."),s.PASSCODE_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?U.A.of(e):U.A.reject(new I(new Error("User provided passcode should be a non-zero length string, but instead got '".concat(e,"'")),s.PASSCODE_RETRIEVAL_FAILURE))}))}(t,e.message.doesUserExist).flatMap((function(t){return function(e,t){return k(L).flatMap((function(r){return N({type:e?"GEN_DEVICE_KEYS":"CREATE_USER_AND_DEVICE",message:{passcode:t,jwtToken:r}})})).map((function(e){return F(e.message.symmetricKey),v(),{user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}}))}(e.message.doesUserExist,t)})):(F(e.message.symmetricKey),v(),U.A.of({user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}))})).toPromise()}var X=function(e,t){return k(e).flatMap((function(e){return N({type:"DELETE_DEVICE_BY_SIGNING_KEY_JWT",message:{jwtToken:e,publicSigningKey:t}}).map((function(e){return e.message}))})).toPromise()},J={fromBytes:function(e){return(0,T.D4)(e)},toBytes:function(e){return(0,T.lF)(e)}},Z={fromBytes:function(e){return(0,l.iI)(e)},toBytes:function(e){return(0,l.bg)(e)}},q=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function E(e){try{u(n.next(e))}catch(e){a(e)}}function i(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(E,i)}u((n=n.apply(e,t||[])).next())}))},$=function(e,t){var r,n,o,a,E={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;E;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return E.label++,{value:a[1],done:!1};case 5:E.label++,n=a[1],a=[0];continue;case 7:a=E.ops.pop(),E.trys.pop();continue;default:if(!(o=E.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){E=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){E.label=a[1];break}if(6===a[0]&&E.label<o[1]){E.label=o[1],o=a;break}if(o&&E.label<o[2]){E.label=o[2],E.ops.push(a);break}o[2]&&E.ops.pop(),E.trys.pop();continue}a=t.call(e,E)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}},ee=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),E=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)E.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return E},te=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},re=2048e3;function ne(e){var t=window.crypto.getRandomValues(new Uint8Array(16)),r=Array.prototype.map.call(t,(function(e){return"00".concat(e.toString(16)).slice(-2)})).join("");return e?{documentID:e.documentID||r,documentName:e.documentName||"",accessList:{users:e.accessList&&e.accessList.users?e.accessList.users:[],groups:e.accessList&&e.accessList.groups?e.accessList.groups:[],grantToAuthor:!1!==e.grantToAuthor},policy:e.policy}:{documentID:r,documentName:"",accessList:{users:[],groups:[],grantToAuthor:!0}}}function oe(){return w(),N({type:"DOCUMENT_LIST"}).map((function(e){return e.message})).toPromise()}function ae(e){return w(),Y(e),N({type:"DOCUMENT_META_GET",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function Ee(e){return w(),Q(e),D(e).map((function(e){return e.documentID})).toPromise()}function ie(e){return console.warn("decryptFromStore is deprecated. Use decrypt instead."),w(),Y(e),N({type:"DOCUMENT_STORE_DECRYPT",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function ue(e,t){w(),Y(e),Q(t);var r={type:"DOCUMENT_DECRYPT",message:{documentID:e,documentData:t.slice()}};return N(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function se(e,t){if(console.warn("encryptToStore is deprecated. Use encrypt instead and manage storage of the result yourself."),w(),V(e),e.length>re)return Promise.reject(new I(new Error("Document of length ".concat(e.length," exceeds maximum allowed byte size of ").concat(re)),s.DOCUMENT_MAX_SIZE_EXCEEDED));var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_STORE_ENCRYPT",message:{documentID:r.documentID,documentData:e.slice(),documentName:r.documentName,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return N(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}function ce(e,t){w(),V(e);var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,documentName:r.documentName,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return N(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}function _e(e,t){if(w(),Y(e),V(t),t.length>re)return Promise.reject(new I(new Error("Document of length ".concat(t.length," exceeds maximum allowed byte size of ").concat(re)),s.DOCUMENT_MAX_SIZE_EXCEEDED));var r={type:"DOCUMENT_STORE_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return N(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function Re(e,t){w(),Y(e),V(t);var r={type:"DOCUMENT_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return N(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function Ae(e,t){return w(),Y(e),N({type:"DOCUMENT_UPDATE_NAME",message:{documentID:e,name:""===t?null:t}}).map((function(e){return e.message})).toPromise()}function fe(e,t){w(),Y(e),x(t);var r=ee(j(t),2);return N({type:"DOCUMENT_GRANT",message:{documentID:e,userGrants:r[0],groupGrants:r[1]}}).map((function(e){return e.message})).toPromise()}function me(e,t){w(),Y(e),x(t);var r=ee(j(t),2);return N({type:"DOCUMENT_REVOKE",message:{documentID:e,userRevocations:r[0],groupRevocations:r[1]}}).map((function(e){return e.message})).toPromise()}function de(e){var t=this;return U.A.tryP((function(){return q(t,void 0,void 0,(function(){var t,r,n,o,a,E,i,u=this;return $(this,(function(R){switch(R.label){case 0:t=e.getReader(),R.label=1;case 1:return R.trys.push([1,7,,8]),r=[],n=0,o=function(e){return q(u,void 0,void 0,(function(){var o,a,E;return $(this,(function(i){switch(i.label){case 0:return n<e?[4,t.read()]:[3,2];case 1:if(o=i.sent(),a=o.done,E=o.value,a)throw new I(new Error("Encrypted stream ended before header could be parsed"),s.DOCUMENT_HEADER_PARSE_FAILURE);return r.push(E),n+=E.length,[3,0];case 2:return[2]}}))}))},[4,o(c+_)];case 2:return R.sent(),2!==(a=g.apply(void 0,te([],ee(r),!1)))[0]?[3,4]:(E=new DataView(a.buffer,a.byteOffset).getUint16(c,!1),[4,o(c+_+E+12)]);case 3:return R.sent(),[3,6];case 4:return[4,o(c+12)];case 5:R.sent(),R.label=6;case 6:return[2,{reader:t,buffer:g.apply(void 0,te([],ee(r),!1))}];case 7:throw i=R.sent(),t.releaseLock(),i;case 8:return[2]}}))}))})).flatMap((function(e){var t=e.reader,r=e.buffer;return D(r).map((function(e){var n=r.slice(e.contentOffset),o=new ReadableStream({start:function(e){n.length>0&&e.enqueue(n)},pull:function(e){return t.read().then((function(t){var r=t.done,n=t.value;r?e.close():e.enqueue(n)}))},cancel:function(){return t.cancel()}});return{documentID:e.documentID,iv:e.iv,ciphertextStream:o}})).errorMap((function(e){return t.releaseLock(),e}))}))}function pe(e,t){w();var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1];return N({type:"DOCUMENT_STREAM_ENCRYPT",message:{documentID:r.documentID,documentName:r.documentName,plaintextStream:e,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}},[e]).map((function(e){var t=e.message;return{documentID:t.documentID,documentName:t.documentName,encryptedStream:t.encryptedStream,created:t.created,updated:t.updated}})).toPromise()}function Ie(e,t){return w(),Y(e),de(t).flatMap((function(t){var r=t.iv,n=t.ciphertextStream;return N({type:"DOCUMENT_STREAM_DECRYPT",message:{documentID:e,iv:r,encryptedStream:n}},[n]).map((function(t){var r=t.message;return{documentID:e,documentName:r.documentName,visibleTo:r.visibleTo,association:r.association,created:r.created,updated:r.updated,plaintextStream:r.plaintextStream}}))})).toPromise()}var Ue={decryptUnmanaged:function(e,t){return w(),K(t),Q(e),U.A.tryP((function(){return Ee(e)})).flatMap((function(r){var n={type:"DOCUMENT_UNMANAGED_DECRYPT",message:{edeks:t,documentData:e.slice()}};return N(n,[n.message.documentData]).map((function(e){var t=e.message;return{data:t.data,documentID:r,accessVia:t.accessVia}}))})).toPromise()},decryptStreamUnmanaged:function(e,t){return w(),K(t),de(e).flatMap((function(e){var r=e.documentID,n=e.iv,o=e.ciphertextStream;return N({type:"DOCUMENT_UNMANAGED_STREAM_DECRYPT",message:{edeks:t,iv:n,encryptedStream:o}},[o]).map((function(e){var t=e.message;return{documentID:r,plaintextStream:t.plaintextStream,accessVia:t.accessVia}}))})).toPromise()},encryptStreamUnmanaged:function(e,t){w();var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1];return N({type:"DOCUMENT_UNMANAGED_STREAM_ENCRYPT",message:{documentID:r.documentID,plaintextStream:e,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}},[e]).map((function(e){var t=e.message;return{documentID:t.documentID,encryptedStream:t.encryptedStream,edeks:t.edeks}})).toPromise()},encryptUnmanaged:function(e,t){w(),V(e);var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_UNMANAGED_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return N(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}};function Te(){return w(),N({type:"GROUP_LIST"}).map((function(e){return e.message})).toPromise()}function le(e){return w(),Y(e),N({type:"GROUP_GET",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function ge(e){return void 0===e&&(e={groupName:"",addAsMember:!0,addAsAdmin:!0,needsRotation:!1}),w(),function(e,t){if(!t&&!1===e)throw new Error("Failed to create group because group ownership must be held by a group administrator")}(e.addAsAdmin,e.ownerUserId),e.groupID&&Y(e.groupID),N({type:"GROUP_CREATE",message:{groupID:e.groupID||"",groupName:e.groupName||"",ownerUserId:e.ownerUserId,addAsMember:!1!==e.addAsMember,addAsAdmin:!1!==e.addAsAdmin,needsRotation:!0===e.needsRotation,userLists:{memberList:e.memberList?G(e.memberList,!0):[],adminList:e.adminList?G(e.adminList,!0):[]}}}).map((function(e){return e.message})).toPromise()}function De(e){return w(),Y(e),N({type:"ROTATE_GROUP_PRIVATE_KEY",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function Se(e,t){if(w(),Y(e),null===t.groupName||"string"==typeof t.groupName&&t.groupName.length)return N({type:"GROUP_UPDATE",message:{groupID:e,groupName:t.groupName}}).map((function(e){return e.message})).toPromise();throw new Error("Group update must provide a new name which is either a non-zero length string or null.")}function he(e,t){return w(),Y(e),B(t),N({type:"GROUP_ADD_ADMINS",message:{groupID:e,userList:G(t,!0)}}).map((function(e){return e.message})).toPromise()}function ye(e,t){return w(),Y(e),B(t),N({type:"GROUP_REMOVE_ADMINS",message:{groupID:e,userList:G(t,!0)}}).map((function(e){return e.message})).toPromise()}function Oe(e,t){return w(),Y(e),B(t),N({type:"GROUP_ADD_MEMBERS",message:{groupID:e,userList:G(t,!0)}}).map((function(e){return e.message})).toPromise()}function Ne(e,t){return w(),Y(e),B(t),N({type:"GROUP_REMOVE_MEMBERS",message:{groupID:e,userList:G(t,!0)}}).map((function(e){return e.message})).toPromise()}function Le(e){return w(),Y(e),N({type:"GROUP_REMOVE_SELF_AS_MEMBER",message:{groupID:e}}).map((function(){})).toPromise()}function Pe(e){return w(),Y(e),N({type:"GROUP_DELETE",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}var Ce=function(){return Ce=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ce.apply(this,arguments)},Me=function(){function e(e){this.searchIndexId=e}return e.prototype.tokenizeData=function(e,t){return N({type:"BLIND_SEARCH_INDEX_TOKENIZE_DATA",message:{data:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e.prototype.tokenizeQuery=function(e,t){return N({type:"BLIND_SEARCH_INDEX_TOKENIZE_QUERY",message:{query:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e}(),ve=function(e){return w(),Y(e),N({type:"BLIND_SEARCH_INDEX_CREATE",message:{groupId:e}}).map((function(e){return e.message})).toPromise()},we=function(e){return w(),V(e.searchIndexEncryptedSalt),V(e.searchIndexEdeks),N({type:"BLIND_SEARCH_INDEX_INIT",message:Ce({},e)}).map((function(e){var t=e.message;return new Me(t.searchIndexId)})).toPromise()},Fe=function(e){return N({type:"SEARCH_TRANSLITERATE_STRING",message:e}).map((function(e){return e.message})).toPromise()};function be(e,t){return w(),N({type:"CHANGE_USER_PASSCODE",message:{currentPasscode:e,newPasscode:t}}).map((function(){})).toPromise()}function Ge(e){return w(),N({type:"ROTATE_USER_PRIVATE_KEY",message:{passcode:e}}).map((function(){})).toPromise()}var Ye=function(){return Ve().then((function(e){return{transformKeyDeleted:e>0}}))},Ve=function(e){w();var t=void 0===e,r={type:"DELETE_DEVICE",message:e};return t&&function(){try{localStorage.removeItem(M())}catch(e){}}(),N(r).map((function(e){var r=e.message;return t&&(C=!1),r})).toPromise()},Qe=function(e){return w(),N({type:"DELETE_DEVICE_BY_SIGNING_KEY",message:e}).map((function(e){return e.message})).toPromise()},Ke=function(){w();return N({type:"LIST_DEVICES",message:null}).map((function(e){return e.message})).toPromise()},xe=a,Be=u,je=E,ke=i,He=o;function We(){var e=window.crypto;return"object"==typeof e&&"function"==typeof e.getRandomValues}function ze(){return"object"==typeof WebAssembly&&WebAssembly&&"function"==typeof WebAssembly.instantiate}var Xe=function(){return Promise.reject(new I(new Error("Request failed due to a lack of browser support for WebAssembly."),s.WEBASSEMBLY_SUPPORT_FAILURE))},Je=function(){return Promise.reject(new I(new Error("Request failed due to a lack of browser support for random number generation."),s.RANDOM_NUMBER_GENERATION_FAILURE))};function Ze(e,t,r){if(void 0===r&&(r={needsRotation:!1}),!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return We()?ze()?H(e,t,r.needsRotation||!1):Xe():Je()}function qe(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return We()?ze()?W(e,t):Xe():Je()}function $e(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.initialize'.");if(!t||"function"!=typeof t)throw new Error("You must provide a function which will generate the users escrow passcode as the second parameter to 'IronWeb.initialize'.");return We()?ze()?z(e,t):Xe():Je()}function et(){try{return w(),!0}catch(e){return!1}}return n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ironweb=t():e.ironweb=t()}(self,(()=>(()=>{"use strict";var e={52(e,t){var r="utf8: invalid string",n="utf8: invalid source encoding";function o(e){for(var t=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);if(o<128)t+=1;else if(o<2048)t+=2;else if(o<55296)t+=3;else{if(!(o<=57343))throw new Error(r);if(n>=e.length-1)throw new Error(r);n++,t+=4}}return t}t.lF=function(e){for(var t=new Uint8Array(o(e)),r=0,n=0;n<e.length;n++){var a=e.charCodeAt(n);a<128?t[r++]=a:a<2048?(t[r++]=192|a>>6,t[r++]=128|63&a):a<55296?(t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a):(n++,a=(1023&a)<<10,a|=1023&e.charCodeAt(n),a+=65536,t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a)}return t},t.D4=function(e){for(var t=[],r=0;r<e.length;r++){var o=e[r];if(128&o){var a=void 0;if(o<224){if(r>=e.length)throw new Error(n);if(128!=(192&(E=e[++r])))throw new Error(n);o=(31&o)<<6|63&E,a=128}else if(o<240){if(r>=e.length-1)throw new Error(n);var E=e[++r],s=e[++r];if(128!=(192&E)||128!=(192&s))throw new Error(n);o=(15&o)<<12|(63&E)<<6|63&s,a=2048}else{if(!(o<248))throw new Error(n);if(r>=e.length-2)throw new Error(n);E=e[++r],s=e[++r];var u=e[++r];if(128!=(192&E)||128!=(192&s)||128!=(192&u))throw new Error(n);o=(15&o)<<18|(63&E)<<12|(63&s)<<6|63&u,a=65536}if(o<a||o>=55296&&o<=57343)throw new Error(n);if(o>=65536){if(o>1114111)throw new Error(n);o-=65536,t.push(String.fromCharCode(55296|o>>10)),o=56320|1023&o}}t.push(String.fromCharCode(o))}return t.join("")}},526(e,t){t.bg=function(e){var t,r,a=s(e),E=a[0],u=a[1],i=new o(function(e,t,r){return 3*(t+r)/4-r}(0,E,u)),c=0,_=u>0?E-4:E;for(r=0;r<_;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],i[c++]=t>>16&255,i[c++]=t>>8&255,i[c++]=255&t;2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,i[c++]=255&t);1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,i[c++]=t>>8&255,i[c++]=255&t);return i},t.iI=function(e){for(var t,n=e.length,o=n%3,a=[],E=16383,s=0,i=n-o;s<i;s+=E)a.push(u(e,s,s+E>i?i:s+E));1===o?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return a.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=0;E<64;++E)r[E]=a[E],n[a.charCodeAt(E)]=E;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,n){for(var o,a,E=[],s=t;s<n;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),E.push(r[(a=o)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return E.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},702(e,t){var r=function(){function e(e){this.action=e}return e.prototype.engage=function(e,t){this.action(e,t)},e.prototype.engageAndCatch=function(e,t){try{this.engage(e,t)}catch(t){e(t)}},e.prototype.then=function(e,t){return this.toPromise().then(e,t)},e.prototype.toPromise=function(){var e=this;return new Promise((function(t,r){return e.engage(r,t)}))},e.prototype.map=function(t){return this.flatMap((function(r){return e.of(t(r))}))},e.prototype.flatMap=function(t){var r=this;return new e((function(e,n){r.engageAndCatch(e,(function(r){return t(r).engageAndCatch(e,n)}))}))},e.prototype.handleWith=function(t){var r=this;return new e((function(e,n){r.engage((function(r){t(r).engage(e,n)}),n)}))},e.prototype.errorMap=function(t){var r=this;return new e((function(e,n){r.engageAndCatch((function(r){return e(t(r))}),n)}))},e.tryF=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}r(n)}))},e.tryP=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}n.then(r).catch(e)}))},e.of=function(t){return new e((function(e,r){r(t)}))},e.reject=function(t){return new e((function(e){e(t)}))},e.encase=function(t,r){return new e((function(e,n){var o;try{o=t(r)}catch(t){return e(t)}n(o)}))},e.gather2=function(t,r){return new e((function(e,n){var o=[],a=0,E=!1;t.engageAndCatch((function(t){E||(E=!0,e(t))}),(function(e){o[0]=e,2===++a&&n(o)})),r.engageAndCatch((function(t){E||(E=!0,e(t))}),(function(e){o[1]=e,2===++a&&n(o)}))}))},e.gather3=function(e,t,r){var n=this.gather2(e,t);return this.gather2(n,r).map((function(e){var t=e[0];return[t[0],t[1],e[1]]}))},e.gather4=function(e,t,r,n){var o=this.gather2(e,t),a=this.gather2(r,n);return this.gather2(o,a).map((function(e){var t=e[0],r=t[0],n=t[1],o=e[1];return[r,n,o[0],o[1]]}))},e.all=function(e){return Array.isArray(e)?this.allArray(e):this.allObject(e)},e.allArray=function(t){return new e((function(e,r){var n=[],o=0;0===t.length&&r(n),t.forEach((function(a,E){a.engageAndCatch((function(t){e(t)}),(function(e){n[E]=e,(o+=1)===t.length&&r(n)}))}))}))},e.allObject=function(e){var t=Object.keys(e),r=t.map((function(t){return e[t]}));return this.allArray(r).map((function(e){return t.reduce((function(t,r,n){return t[r]=e[n],t}),{})}))},e}();t.A=r}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};r.r(n),r.d(n,{ErrorCodes:()=>i,SDKError:()=>U,UserStatus:()=>d,codec:()=>Ze,createNewDeviceKeys:()=>nt,createNewUser:()=>rt,deleteDeviceByPublicSigningKey:()=>q,document:()=>We,group:()=>Xe,initialize:()=>ot,isInitialized:()=>at,search:()=>Je,updateUserStatus:()=>$,user:()=>ze});var o={};r.r(o),r.d(o,{base64:()=>te,utf8:()=>ee});var a={};r.r(a),r.d(a,{advanced:()=>ge,decrypt:()=>Re,decryptFromStore:()=>_e,decryptStream:()=>De,encrypt:()=>fe,encryptStream:()=>le,encryptToStore:()=>Ae,getDocumentIDFromBytes:()=>ce,getMetadata:()=>ie,grantAccess:()=>Ie,list:()=>ue,revokeAccess:()=>Ue,updateEncryptedData:()=>de,updateEncryptedDataInStore:()=>me,updateName:()=>pe});var E={};r.r(E),r.d(E,{addAdmins:()=>Oe,addMembers:()=>Me,create:()=>ye,deleteGroup:()=>Fe,get:()=>he,list:()=>Se,removeAdmins:()=>Pe,removeMembers:()=>Ce,removeSelfAsMember:()=>ve,rotatePrivateKey:()=>Le,update:()=>Ne});var s={};r.r(s),r.d(s,{createBlindSearchIndex:()=>Ge,initializeBlindSearchIndex:()=>Ye,transliterateString:()=>Qe});var u={};r.r(u),r.d(u,{changePasscode:()=>Ke,deauthorizeDevice:()=>xe,deleteDevice:()=>Be,deleteDeviceByPublicSigningKey:()=>je,disableSelf:()=>He,listDevices:()=>ke,rotateMasterKey:()=>Ve});var i,c=1,_=2,R=/^[a-zA-Z0-9_.$#|@/:;=+'-]{1,100}$/,A={VERSION_HEADER_LENGTH:1,IV_LENGTH:12,SALT_LENGTH:32,AES_SYMMETRIC_KEY_LENGTH:32,PBKDF2_ITERATIONS:25e4,NATIVE_DECRYPT_FAILURE_ERROR:"OperationError"};!function(e){e[e.JWT_FORMAT_FAILURE=100]="JWT_FORMAT_FAILURE",e[e.JWT_RETRIEVAL_FAILURE=101]="JWT_RETRIEVAL_FAILURE",e[e.VERIFY_API_REQUEST_FAILURE=102]="VERIFY_API_REQUEST_FAILURE",e[e.BROWSER_FRAME_MESSAGE_FAILURE=103]="BROWSER_FRAME_MESSAGE_FAILURE",e[e.RANDOM_NUMBER_GENERATION_FAILURE=104]="RANDOM_NUMBER_GENERATION_FAILURE",e[e.PASSCODE_FORMAT_FAILURE=105]="PASSCODE_FORMAT_FAILURE",e[e.PASSCODE_RETRIEVAL_FAILURE=106]="PASSCODE_RETRIEVAL_FAILURE",e[e.SIGNATURE_GENERATION_FAILURE=107]="SIGNATURE_GENERATION_FAILURE",e[e.USER_NOT_SYNCED_FAILURE=108]="USER_NOT_SYNCED_FAILURE",e[e.WEBASSEMBLY_SUPPORT_FAILURE=109]="WEBASSEMBLY_SUPPORT_FAILURE",e[e.FRAME_LOAD_FAILURE=110]="FRAME_LOAD_FAILURE",e[e.USER_VERIFY_API_REQUEST_FAILURE=200]="USER_VERIFY_API_REQUEST_FAILURE",e[e.USER_CREATE_REQUEST_FAILURE=201]="USER_CREATE_REQUEST_FAILURE",e[e.USER_UPDATE_REQUEST_FAILURE=202]="USER_UPDATE_REQUEST_FAILURE",e[e.USER_PASSCODE_INCORRECT=203]="USER_PASSCODE_INCORRECT",e[e.USER_KEY_LIST_REQUEST_FAILURE=204]="USER_KEY_LIST_REQUEST_FAILURE",e[e.USER_DEVICE_ADD_REQUEST_FAILURE=205]="USER_DEVICE_ADD_REQUEST_FAILURE",e[e.USER_MASTER_KEY_GENERATION_FAILURE=206]="USER_MASTER_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_GENERATION_FAILURE=207]="USER_DEVICE_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_DECRYPTION_FAILURE=208]="USER_DEVICE_KEY_DECRYPTION_FAILURE",e[e.USER_PASSCODE_CHANGE_FAILURE=209]="USER_PASSCODE_CHANGE_FAILURE",e[e.USER_DEVICE_DELETE_REQUEST_FAILURE=210]="USER_DEVICE_DELETE_REQUEST_FAILURE",e[e.USER_UPDATE_KEY_REQUEST_FAILURE=211]="USER_UPDATE_KEY_REQUEST_FAILURE",e[e.USER_PRIVATE_KEY_ROTATION_FAILURE=212]="USER_PRIVATE_KEY_ROTATION_FAILURE",e[e.USER_DEVICE_LIST_REQUEST_FAILURE=213]="USER_DEVICE_LIST_REQUEST_FAILURE",e[e.USER_UPDATE_STATUS_REQUEST_FAILURE=214]="USER_UPDATE_STATUS_REQUEST_FAILURE",e[e.DOCUMENT_LIST_REQUEST_FAILURE=300]="DOCUMENT_LIST_REQUEST_FAILURE",e[e.DOCUMENT_GET_REQUEST_FAILURE=301]="DOCUMENT_GET_REQUEST_FAILURE",e[e.DOCUMENT_CREATE_REQUEST_FAILURE=302]="DOCUMENT_CREATE_REQUEST_FAILURE",e[e.DOCUMENT_UPDATE_REQUEST_FAILURE=303]="DOCUMENT_UPDATE_REQUEST_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE=304]="DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE=305]="DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_DECRYPT_FAILURE=306]="DOCUMENT_DECRYPT_FAILURE",e[e.DOCUMENT_ENCRYPT_FAILURE=307]="DOCUMENT_ENCRYPT_FAILURE",e[e.DOCUMENT_REENCRYPT_FAILURE=308]="DOCUMENT_REENCRYPT_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_FAILURE=309]="DOCUMENT_GRANT_ACCESS_FAILURE",e[e.DOCUMENT_MAX_SIZE_EXCEEDED=310]="DOCUMENT_MAX_SIZE_EXCEEDED",e[e.DOCUMENT_CREATE_WITH_ACCESS_FAILURE=311]="DOCUMENT_CREATE_WITH_ACCESS_FAILURE",e[e.DOCUMENT_HEADER_PARSE_FAILURE=312]="DOCUMENT_HEADER_PARSE_FAILURE",e[e.DOCUMENT_TRANSFORM_REQUEST_FAILURE=313]="DOCUMENT_TRANSFORM_REQUEST_FAILURE",e[e.DOCUMENT_STREAM_DECRYPT_FAILURE=314]="DOCUMENT_STREAM_DECRYPT_FAILURE",e[e.DOCUMENT_STREAM_ENCRYPT_FAILURE=315]="DOCUMENT_STREAM_ENCRYPT_FAILURE",e[e.GROUP_LIST_REQUEST_FAILURE=400]="GROUP_LIST_REQUEST_FAILURE",e[e.GROUP_GET_REQUEST_FAILURE=401]="GROUP_GET_REQUEST_FAILURE",e[e.GROUP_CREATE_REQUEST_FAILURE=402]="GROUP_CREATE_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBERS_REQUEST_FAILURE=403]="GROUP_ADD_MEMBERS_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE=404]="GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE",e[e.GROUP_REMOVE_MEMBERS_REQUEST_FAILURE=405]="GROUP_REMOVE_MEMBERS_REQUEST_FAILURE",e[e.GROUP_REMOVE_SELF_REQUEST_FAILURE=406]="GROUP_REMOVE_SELF_REQUEST_FAILURE",e[e.GROUP_KEY_GENERATION_FAILURE=407]="GROUP_KEY_GENERATION_FAILURE",e[e.GROUP_MEMBER_KEY_ENCRYPTION_FAILURE=408]="GROUP_MEMBER_KEY_ENCRYPTION_FAILURE",e[e.GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE=409]="GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE",e[e.GROUP_ADD_ADMINS_REQUEST_FAILURE=410]="GROUP_ADD_ADMINS_REQUEST_FAILURE",e[e.GROUP_KEY_DECRYPTION_FAILURE=411]="GROUP_KEY_DECRYPTION_FAILURE",e[e.GROUP_REMOVE_ADMINS_REQUEST_FAILURE=412]="GROUP_REMOVE_ADMINS_REQUEST_FAILURE",e[e.GROUP_UPDATE_REQUEST_FAILURE=413]="GROUP_UPDATE_REQUEST_FAILURE",e[e.GROUP_DELETE_REQUEST_FAILURE=414]="GROUP_DELETE_REQUEST_FAILURE",e[e.GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE=415]="GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE",e[e.GROUP_PRIVATE_KEY_ROTATION_FAILURE=416]="GROUP_PRIVATE_KEY_ROTATION_FAILURE",e[e.GROUP_UPDATE_KEY_REQUEST_FAILURE=417]="GROUP_UPDATE_KEY_REQUEST_FAILURE",e[e.GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE=418]="GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE",e[e.REQUEST_RATE_LIMITED=500]="REQUEST_RATE_LIMITED",e[e.POLICY_APPLY_REQUEST_FAILURE=600]="POLICY_APPLY_REQUEST_FAILURE",e[e.SEARCH_CREATE_INDEX_FAILURE=700]="SEARCH_CREATE_INDEX_FAILURE",e[e.SEARCH_INIT_INDEX_FAILURE=701]="SEARCH_INIT_INDEX_FAILURE",e[e.SEARCH_TOKENIZE_DATA_FAILURE=702]="SEARCH_TOKENIZE_DATA_FAILURE",e[e.SEARCH_TOKENIZE_QUERY_FAILURE=703]="SEARCH_TOKENIZE_QUERY_FAILURE"}(i||(i={}));var f={FRAME_DOMAIN:"https://api.ironcorelabs.com",FRAME_PATH:"/ironweb-frame"};"string"==typeof _ICL_FRAME_DOMAIN_REPLACEMENT_&&_ICL_FRAME_DOMAIN_REPLACEMENT_.length&&(f.FRAME_DOMAIN=_ICL_FRAME_DOMAIN_REPLACEMENT_);var m,d={DISABLED:0,ENABLED:1},p={SDK_VERSION:"4.4.1"},I=(m=function(e,t){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},m(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});const U=function(e){function t(r,n){var o=e.call(this,r.message)||this;return!function(e){return"number"==typeof e.code&&e.name!==A.NATIVE_DECRYPT_FAILURE_ERROR}(r)?(o.code=n,o.rawError=r):(o.code=r.code,o.rawError=r.rawError),Object.setPrototypeOf(o,t.prototype),o}return I(t,e),t}(Error);var T=r(702),l=r(52),D=r(526);function g(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=e.reduce((function(e,t){return e+t.length}),0),n=0;return e.reduce((function(e,t){return e.set(t,n),n+=t.length,e}),new Uint8Array(r))}function S(e){return T.A.tryF((function(){var t,r=e[0],n=null;if(1===r)t=c;else{if(2!==r)throw new Error("Provided encrypted document doesn't appear to be valid. Invalid version.");var o=new DataView(e.buffer,e.byteOffset).getUint16(c,!1);t=c+_+o;var a=e.slice(c+_,t);n=JSON.parse(l.D4(a))._did_}var E=t+A.IV_LENGTH;return{documentID:n,iv:e.slice(t,E),contentOffset:E}})).errorMap((function(e){return new U(e,i.DOCUMENT_HEADER_PARSE_FAILURE)}))}var h=function(){function e(e){var t=this;this.callbackCount=0,this.callbacks={},this.processMessageIntoShim=function(e){var r=e.data,n=r.data,o=r.replyID,a=t.callbacks[o];a&&(delete t.callbacks[o],a(n))};var r=new MessageChannel;r.port1.start(),r.port1.addEventListener("message",this.processMessageIntoShim),this.messagePort=r.port1,e.addEventListener("load",(function(){e.contentWindow.postMessage("MESSAGE_PORT_INIT",f.FRAME_DOMAIN,[r.port2])}))}return e.prototype.postMessageToFrame=function(e,t){var r=this;void 0===t&&(t=[]);var n={replyID:this.callbackCount++,data:e};try{return this.messagePort.postMessage(n,t.map((function(e){return e instanceof Uint8Array?e.buffer:e}))),new T.A((function(e,t){r.callbacks[n.replyID]=t}))}catch(e){var o=t.some((function(e){return e instanceof ReadableStream||e instanceof WritableStream}))?"Streaming encrypt/decrypt requires transferable streams, which is not supported by this browser. It is known to be supported by Chrome, Firefox, and Edge.":"Failure occurred when passing message due to the lack of browser support.";return T.A.reject(new U(new Error(o),i.BROWSER_FRAME_MESSAGE_FAILURE))}},e}(),y=window.document.createElement("iframe"),L=new h(y),N=new Promise((function(e,t){y.addEventListener("load",(function(){var r=setTimeout((function(){t(new U(new Error("Failed to load IronWeb frame."),i.FRAME_LOAD_FAILURE))}),1e3);L.postMessageToFrame({type:"FRAME_LOADED_CHECK"}).engage(t,(function(){clearTimeout(r),e()}))}))}));function O(e,t){return T.A.tryP((function(){return N})).flatMap((function(){return L.postMessageToFrame(e,t)})).flatMap((function(e){return function(e){return"ERROR_RESPONSE"===e.type}(e)?T.A.reject(new U(new Error(e.message.text),e.message.code)):T.A.of(e)}))}y.height="0",y.width="0",y.style.display="none",y.style.position="absolute",y.style.top="-999px",y.style.left="-999px",y.src="".concat(f.FRAME_DOMAIN).concat(f.FRAME_PATH,"?version=").concat(p.SDK_VERSION),window.document.body.appendChild(y);var P,M="1",C=!1;function v(){return"".concat(M,"-icldassk")}function F(){C=!0}function w(){C=!1}function b(){if(!C)throw new Error('SDK "initialize()" method has not yet been called or completed execution. SDK methods cannot be used until initialization is complete.')}function G(e){if(e)try{localStorage.setItem(v(),e)}catch(e){}}function Y(){try{return localStorage.getItem(v())||void 0}catch(e){return}}function Q(){try{localStorage.removeItem(v())}catch(e){}}function K(e,t){void 0===t&&(t=!1);var r={};return e.filter((function(e){return!(r[e]||t&&!e.length)&&(r[e]=!0,!0)}))}function V(e){if("string"!=typeof e||!e.length)throw new Error("Invalid ID provided. Expected a non-zero length string but got ".concat(e));if(!R.test(e))throw new Error("Invalid ID provided. Provided value includes invalid characters: '".concat(e,"'."))}function x(e){if(!(e instanceof Uint8Array&&e.length))throw new Error("Invalid document data format provided. Expected a Uint8Array.")}function B(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted document content. Content should be a Uint8Array.");if(e.byteLength<A.IV_LENGTH+1)throw new Error("Invalid encrypted document content. Length of content does not meet minimum requirements.")}function j(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted deks. Edeks should be a Uint8Array.");if(e.byteLength<=0)throw new Error("Invalid encrypted deks. Length does not meet minimum requirements.")}function k(e){var t=e&&Array.isArray(e.users)&&e.users.length,r=e&&Array.isArray(e.groups)&&e.groups.length;if(!t&&!r)throw new Error("You must provide a list of users or groups with which to change document access.")}function H(e){if(!Array.isArray(e)||!e.length)throw new Error("You must provide a list of users to perform this operation.")}function W(e){var t=[],r=[];return e.users&&e.users.length&&(t=K(e.users.map((function(e){return e.id})),!0)),e.groups&&e.groups.length&&(r=K(e.groups.map((function(e){return e.id})),!0)),[t,r]}function z(e){return T.A.tryP((function(){var t=e();if(t&&"function"==typeof t.then)return t;throw new U(new Error("JWT callback did not return a Promise."),i.JWT_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?T.A.of(e):T.A.reject(new U(new Error("JWT should be a non-zero length string, but instead got '".concat(e,"'")),i.JWT_RETRIEVAL_FAILURE))}))}var X=function(e,t,r){return void 0===r&&(r=!1),z(e).flatMap((function(e){return O({type:"CREATE_USER",message:{passcode:t,jwtToken:e,needsRotation:r}})})).map((function(e){var t=e.message;return{accountID:t.id,segmentID:t.segmentId,needsRotation:t.needsRotation,status:t.status,userMasterPublicKey:t.userMasterPublicKey}})).toPromise()},J=function(e,t){return z(e).flatMap((function(e){return O({type:"CREATE_DETATCHED_USER_DEVICE",message:{passcode:t,jwtToken:e}})})).map((function(e){return e.message})).toPromise()};function Z(e,t){return P=e,z(e).flatMap((function(e){return O({type:"INIT_SDK",message:{jwtToken:e,symmetricKey:Y()}})})).flatMap((function(e){return"INIT_PASSCODE_REQUIRED"===e.type?function(e,t){return T.A.tryP((function(){var r=e(t);if(r&&"function"==typeof r.then)return r;throw new U(new Error("Passcode callback did not return a Promise."),i.PASSCODE_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?T.A.of(e):T.A.reject(new U(new Error("User provided passcode should be a non-zero length string, but instead got '".concat(e,"'")),i.PASSCODE_RETRIEVAL_FAILURE))}))}(t,e.message.doesUserExist).flatMap((function(t){return function(e,t){return z(P).flatMap((function(r){return O({type:e?"GEN_DEVICE_KEYS":"CREATE_USER_AND_DEVICE",message:{passcode:t,jwtToken:r}})})).map((function(e){return G(e.message.symmetricKey),F(),{user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}}))}(e.message.doesUserExist,t)})):(G(e.message.symmetricKey),F(),T.A.of({user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}))})).toPromise()}var q=function(e,t){return z(e).flatMap((function(e){return O({type:"DELETE_DEVICE_BY_SIGNING_KEY_JWT",message:{jwtToken:e,publicSigningKey:t}}).map((function(e){return e.message}))})).toPromise()},$=function(e,t){return z(e).flatMap((function(e){return O({type:"UPDATE_USER_STATUS_JWT",message:{jwtToken:e,status:t}})})).map((function(e){var t=e.message;return{accountID:t.id,segmentID:t.segmentId,needsRotation:t.needsRotation,status:t.status,userMasterPublicKey:t.userMasterPublicKey}})).toPromise()},ee={fromBytes:function(e){return(0,l.D4)(e)},toBytes:function(e){return(0,l.lF)(e)}},te={fromBytes:function(e){return(0,D.iI)(e)},toBytes:function(e){return(0,D.bg)(e)}},re=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function E(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(E,s)}u((n=n.apply(e,t||[])).next())}))},ne=function(e,t){var r,n,o,a,E={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;E;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return E.label++,{value:a[1],done:!1};case 5:E.label++,n=a[1],a=[0];continue;case 7:a=E.ops.pop(),E.trys.pop();continue;default:if(!(o=E.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){E=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){E.label=a[1];break}if(6===a[0]&&E.label<o[1]){E.label=o[1],o=a;break}if(o&&E.label<o[2]){E.label=o[2],E.ops.push(a);break}o[2]&&E.ops.pop(),E.trys.pop();continue}a=t.call(e,E)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},oe=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),E=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)E.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return E},ae=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},Ee=2048e3;function se(e){var t=window.crypto.getRandomValues(new Uint8Array(16)),r=Array.prototype.map.call(t,(function(e){return"00".concat(e.toString(16)).slice(-2)})).join("");return e?{documentID:e.documentID||r,documentName:e.documentName||"",accessList:{users:e.accessList&&e.accessList.users?e.accessList.users:[],groups:e.accessList&&e.accessList.groups?e.accessList.groups:[],grantToAuthor:!1!==e.grantToAuthor},policy:e.policy}:{documentID:r,documentName:"",accessList:{users:[],groups:[],grantToAuthor:!0}}}function ue(){return b(),O({type:"DOCUMENT_LIST"}).map((function(e){return e.message})).toPromise()}function ie(e){return b(),V(e),O({type:"DOCUMENT_META_GET",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function ce(e){return b(),B(e),S(e).map((function(e){return e.documentID})).toPromise()}function _e(e){return console.warn("decryptFromStore is deprecated. Use decrypt instead."),b(),V(e),O({type:"DOCUMENT_STORE_DECRYPT",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function Re(e,t){b(),V(e),B(t);var r={type:"DOCUMENT_DECRYPT",message:{documentID:e,documentData:t.slice()}};return O(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function Ae(e,t){if(console.warn("encryptToStore is deprecated. Use encrypt instead and manage storage of the result yourself."),b(),x(e),e.length>Ee)return Promise.reject(new U(new Error("Document of length ".concat(e.length," exceeds maximum allowed byte size of ").concat(Ee)),i.DOCUMENT_MAX_SIZE_EXCEEDED));var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_STORE_ENCRYPT",message:{documentID:r.documentID,documentData:e.slice(),documentName:r.documentName,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return O(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}function fe(e,t){b(),x(e);var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,documentName:r.documentName,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return O(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}function me(e,t){if(b(),V(e),x(t),t.length>Ee)return Promise.reject(new U(new Error("Document of length ".concat(t.length," exceeds maximum allowed byte size of ").concat(Ee)),i.DOCUMENT_MAX_SIZE_EXCEEDED));var r={type:"DOCUMENT_STORE_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return O(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function de(e,t){b(),V(e),x(t);var r={type:"DOCUMENT_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return O(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function pe(e,t){return b(),V(e),O({type:"DOCUMENT_UPDATE_NAME",message:{documentID:e,name:""===t?null:t}}).map((function(e){return e.message})).toPromise()}function Ie(e,t){b(),V(e),k(t);var r=oe(W(t),2);return O({type:"DOCUMENT_GRANT",message:{documentID:e,userGrants:r[0],groupGrants:r[1]}}).map((function(e){return e.message})).toPromise()}function Ue(e,t){b(),V(e),k(t);var r=oe(W(t),2);return O({type:"DOCUMENT_REVOKE",message:{documentID:e,userRevocations:r[0],groupRevocations:r[1]}}).map((function(e){return e.message})).toPromise()}function Te(e){var t=this;return T.A.tryP((function(){return re(t,void 0,void 0,(function(){var t,r,n,o,a,E,s,u=this;return ne(this,(function(R){switch(R.label){case 0:t=e.getReader(),R.label=1;case 1:return R.trys.push([1,7,,8]),r=[],n=0,o=function(e){return re(u,void 0,void 0,(function(){var o,a,E;return ne(this,(function(s){switch(s.label){case 0:return n<e?[4,t.read()]:[3,2];case 1:if(o=s.sent(),a=o.done,E=o.value,a)throw new U(new Error("Encrypted stream ended before header could be parsed"),i.DOCUMENT_HEADER_PARSE_FAILURE);return r.push(E),n+=E.length,[3,0];case 2:return[2]}}))}))},[4,o(c+_)];case 2:return R.sent(),2!==(a=g.apply(void 0,ae([],oe(r),!1)))[0]?[3,4]:(E=new DataView(a.buffer,a.byteOffset).getUint16(c,!1),[4,o(c+_+E+12)]);case 3:return R.sent(),[3,6];case 4:return[4,o(c+12)];case 5:R.sent(),R.label=6;case 6:return[2,{reader:t,buffer:g.apply(void 0,ae([],oe(r),!1))}];case 7:throw s=R.sent(),t.releaseLock(),s;case 8:return[2]}}))}))})).flatMap((function(e){var t=e.reader,r=e.buffer;return S(r).map((function(e){var n=r.slice(e.contentOffset),o=new ReadableStream({start:function(e){n.length>0&&e.enqueue(n)},pull:function(e){return t.read().then((function(t){var r=t.done,n=t.value;r?e.close():e.enqueue(n)}))},cancel:function(){return t.cancel()}});return{documentID:e.documentID,iv:e.iv,ciphertextStream:o}})).errorMap((function(e){return t.releaseLock(),e}))}))}function le(e,t){b();var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1];return O({type:"DOCUMENT_STREAM_ENCRYPT",message:{documentID:r.documentID,documentName:r.documentName,plaintextStream:e,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}},[e]).map((function(e){var t=e.message;return{documentID:t.documentID,documentName:t.documentName,encryptedStream:t.encryptedStream,created:t.created,updated:t.updated}})).toPromise()}function De(e,t){return b(),V(e),Te(t).flatMap((function(t){var r=t.iv,n=t.ciphertextStream;return O({type:"DOCUMENT_STREAM_DECRYPT",message:{documentID:e,iv:r,encryptedStream:n}},[n]).map((function(t){var r=t.message;return{documentID:e,documentName:r.documentName,visibleTo:r.visibleTo,association:r.association,created:r.created,updated:r.updated,plaintextStream:r.plaintextStream}}))})).toPromise()}var ge={decryptUnmanaged:function(e,t){return b(),j(t),B(e),T.A.tryP((function(){return ce(e)})).flatMap((function(r){var n={type:"DOCUMENT_UNMANAGED_DECRYPT",message:{edeks:t,documentData:e.slice()}};return O(n,[n.message.documentData]).map((function(e){var t=e.message;return{data:t.data,documentID:r,accessVia:t.accessVia}}))})).toPromise()},decryptStreamUnmanaged:function(e,t){return b(),j(t),Te(e).flatMap((function(e){var r=e.documentID,n=e.iv,o=e.ciphertextStream;return O({type:"DOCUMENT_UNMANAGED_STREAM_DECRYPT",message:{edeks:t,iv:n,encryptedStream:o}},[o]).map((function(e){var t=e.message;return{documentID:r,plaintextStream:t.plaintextStream,accessVia:t.accessVia}}))})).toPromise()},encryptStreamUnmanaged:function(e,t){b();var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1];return O({type:"DOCUMENT_UNMANAGED_STREAM_ENCRYPT",message:{documentID:r.documentID,plaintextStream:e,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}},[e]).map((function(e){var t=e.message;return{documentID:t.documentID,encryptedStream:t.encryptedStream,edeks:t.edeks}})).toPromise()},encryptUnmanaged:function(e,t){b(),x(e);var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_UNMANAGED_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return O(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}};function Se(){return b(),O({type:"GROUP_LIST"}).map((function(e){return e.message})).toPromise()}function he(e){return b(),V(e),O({type:"GROUP_GET",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function ye(e){return void 0===e&&(e={groupName:"",addAsMember:!0,addAsAdmin:!0,needsRotation:!1}),b(),function(e,t){if(!t&&!1===e)throw new Error("Failed to create group because group ownership must be held by a group administrator")}(e.addAsAdmin,e.ownerUserId),e.groupID&&V(e.groupID),O({type:"GROUP_CREATE",message:{groupID:e.groupID||"",groupName:e.groupName||"",ownerUserId:e.ownerUserId,addAsMember:!1!==e.addAsMember,addAsAdmin:!1!==e.addAsAdmin,needsRotation:!0===e.needsRotation,userLists:{memberList:e.memberList?K(e.memberList,!0):[],adminList:e.adminList?K(e.adminList,!0):[]}}}).map((function(e){return e.message})).toPromise()}function Le(e){return b(),V(e),O({type:"ROTATE_GROUP_PRIVATE_KEY",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function Ne(e,t){if(b(),V(e),null===t.groupName||"string"==typeof t.groupName&&t.groupName.length)return O({type:"GROUP_UPDATE",message:{groupID:e,groupName:t.groupName}}).map((function(e){return e.message})).toPromise();throw new Error("Group update must provide a new name which is either a non-zero length string or null.")}function Oe(e,t){return b(),V(e),H(t),O({type:"GROUP_ADD_ADMINS",message:{groupID:e,userList:K(t,!0)}}).map((function(e){return e.message})).toPromise()}function Pe(e,t){return b(),V(e),H(t),O({type:"GROUP_REMOVE_ADMINS",message:{groupID:e,userList:K(t,!0)}}).map((function(e){return e.message})).toPromise()}function Me(e,t){return b(),V(e),H(t),O({type:"GROUP_ADD_MEMBERS",message:{groupID:e,userList:K(t,!0)}}).map((function(e){return e.message})).toPromise()}function Ce(e,t){return b(),V(e),H(t),O({type:"GROUP_REMOVE_MEMBERS",message:{groupID:e,userList:K(t,!0)}}).map((function(e){return e.message})).toPromise()}function ve(e){return b(),V(e),O({type:"GROUP_REMOVE_SELF_AS_MEMBER",message:{groupID:e}}).map((function(){})).toPromise()}function Fe(e){return b(),V(e),O({type:"GROUP_DELETE",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}var we=function(){return we=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},we.apply(this,arguments)},be=function(){function e(e){this.searchIndexId=e}return e.prototype.tokenizeData=function(e,t){return O({type:"BLIND_SEARCH_INDEX_TOKENIZE_DATA",message:{data:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e.prototype.tokenizeQuery=function(e,t){return O({type:"BLIND_SEARCH_INDEX_TOKENIZE_QUERY",message:{query:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e}(),Ge=function(e){return b(),V(e),O({type:"BLIND_SEARCH_INDEX_CREATE",message:{groupId:e}}).map((function(e){return e.message})).toPromise()},Ye=function(e){return b(),x(e.searchIndexEncryptedSalt),x(e.searchIndexEdeks),O({type:"BLIND_SEARCH_INDEX_INIT",message:we({},e)}).map((function(e){var t=e.message;return new be(t.searchIndexId)})).toPromise()},Qe=function(e){return O({type:"SEARCH_TRANSLITERATE_STRING",message:e}).map((function(e){return e.message})).toPromise()};function Ke(e,t){return b(),O({type:"CHANGE_USER_PASSCODE",message:{currentPasscode:e,newPasscode:t}}).map((function(){})).toPromise()}function Ve(e){return b(),O({type:"ROTATE_USER_PRIVATE_KEY",message:{passcode:e}}).map((function(){})).toPromise()}var xe=function(){return Be().then((function(e){return{transformKeyDeleted:e>0}}))},Be=function(e){b();var t=void 0===e,r={type:"DELETE_DEVICE",message:e};return t&&Q(),O(r).map((function(e){var r=e.message;return t&&w(),r})).toPromise()},je=function(e){return b(),O({type:"DELETE_DEVICE_BY_SIGNING_KEY",message:e}).map((function(e){return e.message})).toPromise()},ke=function(){b();return O({type:"LIST_DEVICES",message:null}).map((function(e){return e.message})).toPromise()},He=function(){b();return Q(),O({type:"DISABLE_USER_SELF",message:null}).map((function(e){var t=e.message,r=t.id,n=t.segmentId,o=t.needsRotation,a=t.status,E=t.userMasterPublicKey;return w(),{accountID:r,segmentID:n,needsRotation:o,status:a,userMasterPublicKey:E}})).toPromise()},We=a,ze=u,Xe=E,Je=s,Ze=o;function qe(){var e=window.crypto;return"object"==typeof e&&"function"==typeof e.getRandomValues}function $e(){return"object"==typeof WebAssembly&&WebAssembly&&"function"==typeof WebAssembly.instantiate}var et=function(){return Promise.reject(new U(new Error("Request failed due to a lack of browser support for WebAssembly."),i.WEBASSEMBLY_SUPPORT_FAILURE))},tt=function(){return Promise.reject(new U(new Error("Request failed due to a lack of browser support for random number generation."),i.RANDOM_NUMBER_GENERATION_FAILURE))};function rt(e,t,r){if(void 0===r&&(r={needsRotation:!1}),!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return qe()?$e()?X(e,t,r.needsRotation||!1):et():tt()}function nt(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return qe()?$e()?J(e,t):et():tt()}function ot(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.initialize'.");if(!t||"function"!=typeof t)throw new Error("You must provide a function which will generate the users escrow passcode as the second parameter to 'IronWeb.initialize'.");return qe()?$e()?Z(e,t):et():tt()}function at(){try{return b(),!0}catch(e){return!1}}return n})()));
2
2
  //# sourceMappingURL=ironweb.min.js.map