@cobaltio/cobalt-js 8.9.0 → 8.9.2-beta.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.
- package/cobalt.d.ts +49 -6
- package/cobalt.js +12 -2
- package/cobalt.ts +54 -8
- package/docs/assets/search.js +1 -1
- package/docs/classes/Cobalt.html +22 -22
- package/docs/interfaces/Application.html +12 -12
- package/docs/interfaces/CobaltOptions.html +3 -3
- package/docs/interfaces/Config.html +2 -2
- package/docs/interfaces/ConfigField.html +4 -4
- package/docs/interfaces/ConfigPayload.html +4 -4
- package/docs/interfaces/ConfigWorkflow.html +2 -2
- package/docs/interfaces/EcosystemLead.html +2 -2
- package/docs/interfaces/EcosystemLeadPayload.html +2 -2
- package/docs/interfaces/Execution.html +2 -2
- package/docs/interfaces/InputField.html +9 -9
- package/docs/interfaces/Label.html +3 -3
- package/docs/interfaces/PublicWorkflow.html +12 -4
- package/docs/interfaces/PublicWorkflowPayload.html +4 -4
- package/docs/interfaces/PublicWorkflowsPayload.html +2 -2
- package/docs/interfaces/RuleOptions.html +2 -2
- package/docs/interfaces/UpdateConfigPayload.html +5 -5
- package/docs/interfaces/WorkflowPayload.html +4 -4
- package/docs/llms.txt +159 -155
- package/package.json +1 -1
package/cobalt.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cobalt Frontend SDK
|
|
3
3
|
*/
|
|
4
|
+
export declare enum AuthType {
|
|
5
|
+
OAuth2 = "oauth2",
|
|
6
|
+
KeyBased = "keybased"
|
|
7
|
+
}
|
|
8
|
+
export declare enum AuthStatus {
|
|
9
|
+
Active = "active",
|
|
10
|
+
Expired = "expired"
|
|
11
|
+
}
|
|
4
12
|
/** An application in Cobalt. */
|
|
5
13
|
export interface Application {
|
|
6
14
|
/** Application ID */
|
|
@@ -18,16 +26,43 @@ export interface Application {
|
|
|
18
26
|
type: string | "custom";
|
|
19
27
|
/** The application slug. */
|
|
20
28
|
slug: string;
|
|
21
|
-
/**The
|
|
29
|
+
/** The categories/tags for the application. */
|
|
30
|
+
tags?: string[];
|
|
31
|
+
/** The supported auth types for the application, and the fields required from the user to connect the application. */
|
|
32
|
+
auth_type_options?: {
|
|
33
|
+
[key in AuthType]: InputField[];
|
|
34
|
+
};
|
|
35
|
+
/** The list of connected accounts for this application */
|
|
36
|
+
connected_accounts?: {
|
|
37
|
+
/** The identifier (username, email, etc.) of the connected account. */
|
|
38
|
+
identifier: unknown;
|
|
39
|
+
/** The auth type used to connect the account. */
|
|
40
|
+
auth_type: AuthType;
|
|
41
|
+
/** The timestamp at which the account was connected. */
|
|
42
|
+
connectedAt: string;
|
|
43
|
+
/** The current status of the connection. */
|
|
44
|
+
status?: AuthStatus;
|
|
45
|
+
}[];
|
|
46
|
+
/**
|
|
47
|
+
* The type of auth used by application.
|
|
48
|
+
* @deprecated Check `auth_type_options` and `connected_accounts` for multiple auth types support.
|
|
49
|
+
*/
|
|
22
50
|
auth_type: "oauth2" | "keybased";
|
|
23
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Whether the user has connected the application.
|
|
53
|
+
* @deprecated Check `connected_accounts` for multiple auth types support.
|
|
54
|
+
*/
|
|
24
55
|
connected?: boolean;
|
|
25
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Whether the connection has expired and re-auth is required.
|
|
58
|
+
* @deprecated Check `connected_accounts` for multiple auth types support.
|
|
59
|
+
*/
|
|
26
60
|
reauth_required?: boolean;
|
|
27
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* The fields required from the user to connect the application (for `keybased` auth type).
|
|
63
|
+
* @deprecated Check `auth_type_options` for multiple auth types support.
|
|
64
|
+
*/
|
|
28
65
|
auth_input_map?: InputField[];
|
|
29
|
-
/** The categories/tags for the application. */
|
|
30
|
-
tags?: string[];
|
|
31
66
|
}
|
|
32
67
|
/** An Input field to take input from the user. */
|
|
33
68
|
export interface InputField {
|
|
@@ -139,6 +174,14 @@ export interface PublicWorkflow {
|
|
|
139
174
|
name: string;
|
|
140
175
|
/**The workflow description. */
|
|
141
176
|
description?: string;
|
|
177
|
+
/**The application's slug in which this workflow exists. */
|
|
178
|
+
slug?: string;
|
|
179
|
+
/**The workflow created at. */
|
|
180
|
+
createdAt: string;
|
|
181
|
+
/**The workflow updated at. */
|
|
182
|
+
updatedAt: string;
|
|
183
|
+
/**Whether the workflow is published. */
|
|
184
|
+
published: boolean;
|
|
142
185
|
}
|
|
143
186
|
/** The payload for creating a public workflow for the linked account. */
|
|
144
187
|
export interface PublicWorkflowPayload {
|
package/cobalt.js
CHANGED
|
@@ -12,7 +12,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
12
12
|
});
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.Cobalt = void 0;
|
|
15
|
+
exports.Cobalt = exports.AuthStatus = exports.AuthType = void 0;
|
|
16
|
+
var AuthType;
|
|
17
|
+
(function (AuthType) {
|
|
18
|
+
AuthType["OAuth2"] = "oauth2";
|
|
19
|
+
AuthType["KeyBased"] = "keybased";
|
|
20
|
+
})(AuthType || (exports.AuthType = AuthType = {}));
|
|
21
|
+
var AuthStatus;
|
|
22
|
+
(function (AuthStatus) {
|
|
23
|
+
AuthStatus["Active"] = "active";
|
|
24
|
+
AuthStatus["Expired"] = "expired";
|
|
25
|
+
})(AuthStatus || (exports.AuthStatus = AuthStatus = {}));
|
|
16
26
|
class Cobalt {
|
|
17
27
|
/**
|
|
18
28
|
* Cobalt Frontend SDK
|
|
@@ -194,7 +204,7 @@ class Cobalt {
|
|
|
194
204
|
try {
|
|
195
205
|
const app = yield this.getApp(slug);
|
|
196
206
|
// oauth
|
|
197
|
-
if (app && app.auth_type ===
|
|
207
|
+
if (app && app.auth_type === AuthType.OAuth2) {
|
|
198
208
|
const connected = yield this.oauth(slug, payload);
|
|
199
209
|
resolve(connected);
|
|
200
210
|
// key based
|
package/cobalt.ts
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
* Cobalt Frontend SDK
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
export enum AuthType {
|
|
6
|
+
OAuth2 = "oauth2",
|
|
7
|
+
KeyBased = "keybased",
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export enum AuthStatus {
|
|
11
|
+
Active = "active",
|
|
12
|
+
Expired = "expired",
|
|
13
|
+
}
|
|
14
|
+
|
|
5
15
|
/** An application in Cobalt. */
|
|
6
16
|
export interface Application {
|
|
7
17
|
/** Application ID */
|
|
@@ -19,16 +29,44 @@ export interface Application {
|
|
|
19
29
|
type: string | "custom";
|
|
20
30
|
/** The application slug. */
|
|
21
31
|
slug: string;
|
|
22
|
-
/**The
|
|
32
|
+
/** The categories/tags for the application. */
|
|
33
|
+
tags?: string[];
|
|
34
|
+
/** The supported auth types for the application, and the fields required from the user to connect the application. */
|
|
35
|
+
auth_type_options?: {
|
|
36
|
+
/** The fields required from the user to connect the application. */
|
|
37
|
+
[key in AuthType]: InputField[];
|
|
38
|
+
};
|
|
39
|
+
/** The list of connected accounts for this application */
|
|
40
|
+
connected_accounts?: {
|
|
41
|
+
/** The identifier (username, email, etc.) of the connected account. */
|
|
42
|
+
identifier: unknown;
|
|
43
|
+
/** The auth type used to connect the account. */
|
|
44
|
+
auth_type: AuthType;
|
|
45
|
+
/** The timestamp at which the account was connected. */
|
|
46
|
+
connectedAt: string;
|
|
47
|
+
/** The current status of the connection. */
|
|
48
|
+
status?: AuthStatus;
|
|
49
|
+
}[];
|
|
50
|
+
/**
|
|
51
|
+
* The type of auth used by application.
|
|
52
|
+
* @deprecated Check `auth_type_options` and `connected_accounts` for multiple auth types support.
|
|
53
|
+
*/
|
|
23
54
|
auth_type: "oauth2" | "keybased";
|
|
24
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Whether the user has connected the application.
|
|
57
|
+
* @deprecated Check `connected_accounts` for multiple auth types support.
|
|
58
|
+
*/
|
|
25
59
|
connected?: boolean;
|
|
26
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Whether the connection has expired and re-auth is required.
|
|
62
|
+
* @deprecated Check `connected_accounts` for multiple auth types support.
|
|
63
|
+
*/
|
|
27
64
|
reauth_required?: boolean;
|
|
28
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* The fields required from the user to connect the application (for `keybased` auth type).
|
|
67
|
+
* @deprecated Check `auth_type_options` for multiple auth types support.
|
|
68
|
+
*/
|
|
29
69
|
auth_input_map?: InputField[];
|
|
30
|
-
/** The categories/tags for the application. */
|
|
31
|
-
tags?: string[];
|
|
32
70
|
}
|
|
33
71
|
|
|
34
72
|
/** An Input field to take input from the user. */
|
|
@@ -150,6 +188,14 @@ export interface PublicWorkflow {
|
|
|
150
188
|
name: string;
|
|
151
189
|
/**The workflow description. */
|
|
152
190
|
description?: string;
|
|
191
|
+
/**The application's slug in which this workflow exists. */
|
|
192
|
+
slug?: string;
|
|
193
|
+
/**The workflow created at. */
|
|
194
|
+
createdAt: string;
|
|
195
|
+
/**The workflow updated at. */
|
|
196
|
+
updatedAt: string;
|
|
197
|
+
/**Whether the workflow is published. */
|
|
198
|
+
published: boolean;
|
|
153
199
|
}
|
|
154
200
|
|
|
155
201
|
/** The payload for creating a public workflow for the linked account. */
|
|
@@ -426,7 +472,7 @@ class Cobalt {
|
|
|
426
472
|
const interval = setInterval(() => {
|
|
427
473
|
this.getApp(slug)
|
|
428
474
|
.then(app => {
|
|
429
|
-
if (app && app.
|
|
475
|
+
if (app && app.connected_accounts?.filter(a => a.auth_type === AuthType.OAuth2).some(a => a.status === AuthStatus.Active)) {
|
|
430
476
|
// close auth window
|
|
431
477
|
connectWindow && connectWindow.close();
|
|
432
478
|
// clear interval
|
|
@@ -467,7 +513,7 @@ class Cobalt {
|
|
|
467
513
|
const app = await this.getApp(slug);
|
|
468
514
|
|
|
469
515
|
// oauth
|
|
470
|
-
if (app && app.auth_type ===
|
|
516
|
+
if (app && app.auth_type === AuthType.OAuth2) {
|
|
471
517
|
const connected = await this.oauth(slug, payload);
|
|
472
518
|
resolve(connected);
|
|
473
519
|
// key based
|
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "
|
|
1
|
+
window.searchData = "eJytnduO4zYSht9Ffet0TIqkqL4LgiwQIMAGC+zuhTFoeGylx4ja9tryTILBvPuCOlhVZJEqyXM1gxZZPw8fi6WiLH3NLqcv1+xl8zX783DcZy9C2lV23L5X2Uv28+njtm6yVXa71NlLtqu312t1/bH78/On5r3OVsNfs5cs+7YarGgh71Z2p+O1udx2zemSMvWEywGzq+y8vVTHZmzRKCTWUt2VmtOf1TGpMZRgWpdrZWE//ji8TXWhK7LQ/rHaJYf7aSyzSOFSbZvql93p+ve1qd5/q7b7tFpbvhrK11355cr/PV3+/KM+fWGIfhmLLtHbV3XVVD9Pz1hX8KF5g1r/OFR1ekyh4B996eWqrBHtij46oocrB1BUbInOW9X8dD4nNd6qZtsWWW7/yhC4LldggPdWNQ9Rd1eZRu4u9Qhvd73Jodvdiy3U+eWvandrDqe0K3+rmgoUfFRrslsVLLlQrZ2rf55Zeu1knc4PKg4OYlLuCyi4ROt23m9ZHrcr+BD7UGsafyg4dwVocxf96XyuD7st4vJwbKrLH9tddf0RXE5GRihg2Z7Pr4c9x9zTvSjddNi6mNit+fR6OJ5vzev79swT9as8Jt78fa74un3pxZL9PlTxxheWXiy5r667y+HMZeQJl18se9gx9fqCi4XafzhCfcHFQpeqReBS/e92uDBnMKyzWP5a395Ymn3BxULNFuynKaG+4HIh7tJbsOqgl+xcqL/FAUFUgO8pP26v1b8vNc/ikyt9u9QTjn5oJetuMi3Iua8M5fDAoZ0Tybkr/KHqdrrIvgKMPcGCsYa3jYoItZvpa3W5nC6RqR61vLKL5XhCSyVi6x4KJJd82vyXIBiLaHCCMU8oZAlHRoFSe3lGqHK9nnaHbVPtX8/bN9KX+HafwjqpznTtTbIW82KBMiq+WPRTVZ9fm+qvhqUJSy+XPOz3Ma/j6w1FF4ulXAQQmnQQSZF6+7GqE8QDoXvRxWLvt7o5nGseJKDwYsFYRBSIJSMihtAptaV6WtN3jZNyfVmO2r3ocrF6u6s+nep9deEpovKLZVPRZaA5GVYyBD9v6xuPlqHkHKlwB/h9+3d92ib61xf4rrEFtMkOMYaWLvQhSJPlRSYE04EAkmPEA6FYOFdBJjdQHUrwZ2vidpQwy7oj9RocEa+O2491anFh4bH4I6JTMSLWZMWKU5KptYDlJlfBlFR6s8FijP2GkINc0udEQBYV4FMZ8R6htaeU38Cti7mr9ixp/7oldzJCEVV4QHhi5RHKnIXHkq7etwfyPpkQHco+IBdjklBLIhkTixKZ2Nyoct/Na0aNz5/CiU2IN5OoCTMmdEKcNa9Imz+9CzffuHRyD56QRoAFJ09Qfrj4uKtDltJu7t6i6fvybfqEwlONVny8IdXn6tjw+k7XerwJzeXw9lZdlo8JbeDxhn1JxHnx1kwe3k82IRm5e8LTUfu0XLeR/kRvvJ5cVza1507K3a7N6R1OFrOnkXqPNWNgZ04TUJ2F8tXx8+FyOr5H7tw9YVx6oSSri4/0qT4c/3Quarc73bhOhaqzUD66DWLF9N43JXK6MBfmveBCoWuzbW7k7ZEndC+4UIjwnp1/Z2in6vKbA7f1X90JdjQdPl7lb+zJzLBnkJEYBg1MZUA4YkPBpUKpDKqvNZlAnZaLrS9fKrnApmUS2VNfaSp5Oi02kc70BTnZzGnRVDLTV5zMZU7LxU5ifKnkEQwpAxfubzHq2wv85RqjbDSTBqxrx9ysLrCezuf65uEQ/H77WB92qewgLvHwzQlhLnmH4jVwSTxISU4HhTzhibt5SppzH88Tj3FHqSYB5MmdXanrJ9oJUJqwwiPCsTt2SjN5r86T657omwFTX2EJTPG1mEhAkQW/WwYqbn0BugvTQIk2zAB5YSIoIT6DrnQqCJe9sif7Onu268P7gUHyFR9y9ZVG8811/8Ph+sPh+Km6HLrnGCMdv04Me+z5jlR7guc7vl9zeBRcl2JAyEMO/nWrq8TjbODyrFPU/cHV2davu9O+er02+9ONZMC3/xSvS3cWtj+WNnBPZbHEh5KLpS63unrdnerbO+nZAkFcfo4snMN/g+fFEwuZKPadTsZjlhmZNqrtsw8/o/oTJ6AzxGOrNCqdXKIzhJMP1UXVp5+wSzcB4sUICBaHAolTdHL/mzpGZ+68cZRI1QmMmKL02iEFEwsmEPuwyg7HffVX9vI1+1xdri42esnkc/5cZquhpy+bIdTZnd77lOj+tLu1//3QF/tP5X6c6gp3pX9cZ6vNeqX0s1D6w4fVZqjcXmj/MNgY/9JWFNlqI6iKIqgoUEWZrTZypdbP67xAFWVQUaKKebba5FTFPKiYo4oqW20U1VQVVFSoos5WG01V1EFFjSqabLUxVEUTVDSoYpGtNgVVsQgqFqiizVYbS1W0QUWLKpbZalNSFcugYokBcDwIkh0RwiM8elp8aH4IgDBBwnEhJFk5hEhgioRjQ+Rk5RAkgUkSjg9BsiRCmASmSThGBMmTCIESmCjhOBEkUyKESmCqhGNFkFyJECyByRKOF0GyJUK4BKZLOGYEyZcIAROYMOmYkSRhMiRMYsKkY0aShMmQMOn5qNZJkYRJwk1hwqRjRpKEyZAwiQmTjhlJEiZDwiQmTDpmJEmYDAmTmDDpmJEkYTIkTGLCpGNGFqt8/aysxJVDwiQmTDpmJEmYDAmTmDDpmJHlSupnYw2uHBImMWG5YyYnCctDwnJMWO6YycVKFs9FWeLKIWE5Jix3zOQkYXlIWO7thO1WSO+FxGaICcsdMzlJWB4SlmPCcsdMThKWh4TlmLDcxLb+PAQsx4DlRXT3D/nKMV+5IyY3q1w9C+1NVMhXjvnKHTE56TvzkK8c86VaviylrEK+FOZLxflSIV8K86VavkpqwFTIl8J8KUeMIpeFCvlSXrTVhluk41VEwIX5Uo4YRS4LFfKlMF/KIaNISFQImMKAKceMosPEkDCFCVOOGaXJeQ4JU5gw5ZhRhmx2SJjChGnHjCqoyjokTGPCtIj6Th0SpjFh2jGjLKkcEqYxYboljIwLdEiYxoRpx4xek8ohYdqL6dugXpCVibAeE6YdM5p0YTokTGPCtGNGk3GBDgnTmDAd92E6JExjwnScMB0SpjFhZh11QyYkzGDCjGNGk6vKhIQZTJiR0aDChIQZTJhxzGhN9dmEhBlMmFFRv21CwgwmzOioMzAhYca7czTRJWmIm0dMmGkJo288Q8IMJsw4ZnSxys2zKbzRDgkzmDDjmNFkCGdCwgwmrFhH57kICSswYUVLGLnRFSFhBSaskNHRLkLCCkxY4Zgx5C5ZhIQVmLBCxfscElZgwgod73NIWIEJK+KEFSFhhZefKKLOoCBSFJiwwjFjyMigCAkrMGFFGcWzCAkrMGHWMWPIsMKGhFlMmHXMGNJv25AwiwmzjhlDOkAbEmYxYbYljIy2bUiYxYRZFd0xbEiYxYRZx4whdwwbEmYxYbZNf5Ehsw0Js5gw65gxdCorJMx6WbCWMDKssEQiDBNmy6jftiFhFhNWOmYK0hmUIWElJqyMx2FlSFiJCSsdMwW5qsqQsBITVjpmCnJhlCFhJSasdMwU5MIoQ8JKTFjpmCnIhVGGhJWYsDIe6ZchYSUmrGyTrGRkUIaElZiw0kbj7TIkrPRyrfFcRUmkW/186zoacHfXcHXwt76+iIbN3TW/vpd1Xcto5Nxd8+t7idd1PGvRXfPre7nXtYrOW3fNr++lX9c6OvrdNb++l4Fdx4P/7ppf30vCrlvu6BTumkjDrr087DoeoHXX/PpeKnZdRn16d82v7/En4mGaoDL+Qco/7uUEmfT3+GsT+QWdxaby/n7iv83l07GLoFL/fu6/TecXdCKcyv776f82o1/QuXDqAMA/AWiT+rHxJ/jzDwHavH5s/An+/HOANrUfGz+CP/8ooM3uW/rAiDoM8E4DRJvgt/SZEXEeILwDAdHm+G3k2IjgzzsTEG2aP9J/4lRAeMcCos30W/rkiTgYEN7JgGiT/ZY+fCLOBoR3OCDafL+lz5+I4wHhnQ+INuVvaf9FnBAI74hAtFl/S69f4pBAeKcEQsZTIII4JxDeQYFoc//0Tb0gjgqEd1Yg8ngiRBCnBcI7LhDdeQF51yaIAwPhnRiI9hDA0v6HODMQ3qGByOMZEUEcGwjv3EDk8aSIIE4OhHd0IPJ4XkQQhwfD39qHHz5Xl6ba/9o9BLHZdE9+f81e+8cidDE8gvE1MzZ7+fptlRVl96/bB1++fvs2PhfR/nnQaa854eH1lKNVmY9WZc41Mv7WEliSwJLkWYr8uHU0aoBRu55rdPytKrAIOmzFXIvdA5SjNSVGa0rNtUb+ehU0VYGmzh7R8ceowKIGFpmz7b1cFEw4aJ5k9n18YyiwAxolNcvO/c2Bo5UcWMl5Vnb9i/NHI+vRBg+2zsT9x0igOWBwct7gRJ8ZHa1aYFUwx3x4hy9oG2haVykvZpjyFlRugLneL+n+X6t6/yR5/gm9/hesMjAviodtZ+k8POsH3CjovZ7TbWo9aTAfhudM7u9dB90DvZtjo8KeHMyDNFw747ccRkvApzH7BN7HAgbHgsEp5xjCdgzomNXDhjfHoPdtBNBEwMIMe6RrBZ3lmaJ/1A4sgg3fzrIJf6UO7IH5sDzy8XcXRlOgZfMNBcsbtmuGNWoWytEUDxD0UxywmEAPZdHVNbIPutb9v4NzE+vhP7xZgl9fAKsOODnB233iXEMaeTOEbBF+04DmFTwf3L/mBjQLTE8h+lHkLbz7E9PAGli9pt/IXEDPMwfeqgA6CRpoeSz2P7YANGu4RzN7N77RBjQG+OGC1xj8/l6wRwOcc97CgO9mBVsViMcVr2/DU+egNWDBq37tmHukMNzSMKOm4TMjYCHB/Yu3gd0/JQKsSDiNXCuhqxQg3hA8OP0vgQBjMP5jj8/9Ux/AEISUN4/4Sx7AFPA1TAfofacD2AKcCp7fCr7BAawBzgRvAeFPbABTwDEI3gIC75MA6wfQoExXs+QN2vAiYWAMBo680eo+LQD2OTBEzBgdBxUKgKT6qN/0QZq9L2UeYe1dZsB8AXpZ8gz1b9cANkAry2IIIXkLaHhRKegzIF71fdQ8KPofhILdAjorydv2iRfngK6Cfbrk2RtfEAL6CFai7n10yQOkrQYZA2tn8O663/1NvwaKIbYa1kR/vbwnuIbAX4jhPzziCb+gAPRaDgK8sRre7QMGHMxgydso/CySRXsNb8sa3ucMugXGWfN2GvRSExBZAYb0sDGvme1qf7ZLxeYF3CjWvNnD1oiwtICOmbmTYaNXwqqFsTjT34O3NIDmwQ2NGUYEX0gBkRNoV84DljKjAbL6fkfNbB38rS8YMTi5zPSDM0UsTwsjJmZOuvuZKhgo0MO89xhq8DnD/duwEYjh5kHYIQgdvAJzkIcXcYGJB0u65PWh+3gM6AMwkfMmp//ACfC9wPV2dXLe3CRe7wU6CWaq5O2m/g1FDpORwzyseQOGv1EGOg1WCXNLJb4+BuwBmJjeGdqj/At0C5LnCsHbUcAMwBCXeUfwuXvLEXAHgBJthjngcZJwzRa2jQkwGXznwMer+8pkTMSHVXY+nKv6cKyyl82Hb9/+D0sXgFY=";
|