@0xsequence/abi 2.3.35 → 3.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/CHANGELOG.md +2097 -0
  3. package/LICENSE +0 -17
  4. package/README.md +1 -2
  5. package/dist/index.d.ts +20 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +41 -0
  8. package/dist/{declarations/src/sale → sale}/erc1155Sale.d.ts +1 -0
  9. package/dist/sale/erc1155Sale.d.ts.map +1 -0
  10. package/dist/sale/erc1155Sale.js +355 -0
  11. package/dist/{declarations/src/sale → sale}/erc721Sale.d.ts +1 -0
  12. package/dist/sale/erc721Sale.d.ts.map +1 -0
  13. package/dist/sale/erc721Sale.js +355 -0
  14. package/dist/{declarations/src/tokens → tokens}/erc1155.d.ts +1 -0
  15. package/dist/tokens/erc1155.d.ts.map +1 -0
  16. package/dist/tokens/erc1155.js +425 -0
  17. package/dist/{declarations/src/saleItems/erc1155SaleItems.d.ts → tokens/erc1155Items.d.ts} +2 -1
  18. package/dist/tokens/erc1155Items.d.ts.map +1 -0
  19. package/dist/tokens/erc1155Items.js +381 -0
  20. package/dist/{declarations/src/tokens → tokens}/erc20.d.ts +1 -0
  21. package/dist/tokens/erc20.d.ts.map +1 -0
  22. package/dist/tokens/erc20.js +319 -0
  23. package/dist/{declarations/src/tokens → tokens}/erc6909.d.ts +1 -0
  24. package/dist/tokens/erc6909.d.ts.map +1 -0
  25. package/dist/tokens/erc6909.js +407 -0
  26. package/dist/{declarations/src/tokens → tokens}/erc721.d.ts +1 -0
  27. package/dist/tokens/erc721.d.ts.map +1 -0
  28. package/dist/tokens/erc721.js +444 -0
  29. package/dist/{declarations/src/saleItems/erc721SaleItems.d.ts → tokens/erc721Items.d.ts} +2 -1
  30. package/dist/tokens/erc721Items.d.ts.map +1 -0
  31. package/dist/tokens/erc721Items.js +444 -0
  32. package/dist/{declarations/src/wallet → wallet}/erc1271.d.ts +1 -0
  33. package/dist/wallet/erc1271.d.ts.map +1 -0
  34. package/dist/wallet/erc1271.js +28 -0
  35. package/dist/{declarations/src/wallet → wallet}/erc5719.d.ts +1 -0
  36. package/dist/wallet/erc5719.d.ts.map +1 -0
  37. package/dist/wallet/erc5719.js +22 -0
  38. package/dist/{declarations/src/wallet → wallet}/erc6492.d.ts +1 -0
  39. package/dist/wallet/erc6492.d.ts.map +1 -0
  40. package/dist/wallet/erc6492.js +64 -0
  41. package/dist/{declarations/src/wallet → wallet}/factory.d.ts +1 -0
  42. package/dist/wallet/factory.d.ts.map +1 -0
  43. package/dist/wallet/factory.js +21 -0
  44. package/dist/{declarations/src/wallet → wallet}/index.d.ts +11 -10
  45. package/dist/wallet/index.d.ts.map +1 -0
  46. package/dist/wallet/index.js +61 -0
  47. package/dist/{declarations/src/wallet → wallet}/libs/requireFreshSigners.d.ts +1 -0
  48. package/dist/wallet/libs/requireFreshSigners.d.ts.map +1 -0
  49. package/dist/wallet/libs/requireFreshSigners.js +18 -0
  50. package/dist/{declarations/src/wallet → wallet}/mainModule.d.ts +1 -0
  51. package/dist/wallet/mainModule.d.ts.map +1 -0
  52. package/dist/wallet/mainModule.js +161 -0
  53. package/dist/{declarations/src/wallet → wallet}/mainModuleUpgradable.d.ts +1 -0
  54. package/dist/wallet/mainModuleUpgradable.d.ts.map +1 -0
  55. package/dist/wallet/mainModuleUpgradable.js +31 -0
  56. package/dist/{declarations/src/wallet → wallet}/moduleHooks.d.ts +1 -0
  57. package/dist/wallet/moduleHooks.d.ts.map +1 -0
  58. package/dist/wallet/moduleHooks.js +251 -0
  59. package/dist/{declarations/src/wallet → wallet}/sequenceUtils.d.ts +1 -0
  60. package/dist/wallet/sequenceUtils.d.ts.map +1 -0
  61. package/dist/wallet/sequenceUtils.js +519 -0
  62. package/dist/{declarations/src/wallet → wallet}/walletProxyHook.d.ts +1 -0
  63. package/dist/wallet/walletProxyHook.d.ts.map +1 -0
  64. package/dist/wallet/walletProxyHook.js +12 -0
  65. package/package.json +19 -13
  66. package/src/index.ts +2 -3
  67. package/src/sale/erc1155Sale.ts +67 -67
  68. package/src/sale/erc721Sale.ts +67 -67
  69. package/src/tokens/erc1155.ts +97 -97
  70. package/src/{saleItems/erc1155SaleItems.ts → tokens/erc1155Items.ts} +69 -68
  71. package/src/tokens/erc20.ts +76 -76
  72. package/src/tokens/erc6909.ts +95 -95
  73. package/src/tokens/erc721.ts +105 -105
  74. package/src/{saleItems/erc721SaleItems.ts → tokens/erc721Items.ts} +79 -78
  75. package/src/wallet/erc1271.ts +8 -8
  76. package/src/wallet/erc5719.ts +6 -6
  77. package/src/wallet/erc6492.ts +11 -11
  78. package/src/wallet/factory.ts +5 -5
  79. package/src/wallet/index.ts +1 -1
  80. package/src/wallet/libs/requireFreshSigners.ts +4 -4
  81. package/src/wallet/mainModule.ts +41 -41
  82. package/src/wallet/mainModuleUpgradable.ts +7 -7
  83. package/src/wallet/moduleHooks.ts +60 -60
  84. package/src/wallet/sequenceUtils.ts +123 -123
  85. package/src/wallet/walletProxyHook.ts +2 -2
  86. package/tsconfig.json +10 -0
  87. package/dist/0xsequence-abi.cjs.d.ts +0 -2
  88. package/dist/0xsequence-abi.cjs.dev.js +0 -4638
  89. package/dist/0xsequence-abi.cjs.js +0 -7
  90. package/dist/0xsequence-abi.cjs.prod.js +0 -4638
  91. package/dist/0xsequence-abi.esm.js +0 -4616
  92. package/dist/declarations/src/index.d.ts +0 -19
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.walletContracts = void 0;
37
+ const erc5719 = __importStar(require("./erc5719"));
38
+ const erc1271 = __importStar(require("./erc1271"));
39
+ const erc6492 = __importStar(require("./erc6492"));
40
+ const factory = __importStar(require("./factory"));
41
+ const mainModule = __importStar(require("./mainModule"));
42
+ const mainModuleUpgradable = __importStar(require("./mainModuleUpgradable"));
43
+ const moduleHooks = __importStar(require("./moduleHooks"));
44
+ const sequenceUtils = __importStar(require("./sequenceUtils"));
45
+ const requireFreshSigner = __importStar(require("./libs/requireFreshSigners"));
46
+ const walletProxyHook = __importStar(require("./walletProxyHook"));
47
+ /**
48
+ * @deprecated import directly from @0xsequence/abi/* instead, omitting "walletContracts"
49
+ */
50
+ exports.walletContracts = {
51
+ erc6492,
52
+ erc5719,
53
+ erc1271,
54
+ factory,
55
+ mainModule,
56
+ mainModuleUpgradable,
57
+ moduleHooks,
58
+ sequenceUtils,
59
+ requireFreshSigner,
60
+ walletProxyHook,
61
+ };
@@ -9,3 +9,4 @@ export declare const abi: readonly [{
9
9
  readonly stateMutability: "nonpayable";
10
10
  readonly type: "function";
11
11
  }];
12
+ //# sourceMappingURL=requireFreshSigners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireFreshSigners.d.ts","sourceRoot":"","sources":["../../../src/wallet/libs/requireFreshSigners.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;EAcN,CAAA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.abi = void 0;
4
+ exports.abi = [
5
+ {
6
+ inputs: [
7
+ {
8
+ internalType: 'address',
9
+ name: '',
10
+ type: 'address',
11
+ },
12
+ ],
13
+ name: 'requireFreshSigner',
14
+ outputs: [],
15
+ stateMutability: 'nonpayable',
16
+ type: 'function',
17
+ },
18
+ ];
@@ -115,3 +115,4 @@ export declare const abi: readonly [{
115
115
  readonly payable: false;
116
116
  readonly stateMutability: "nonpayable";
117
117
  }];
118
+ //# sourceMappingURL=mainModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mainModule.d.ts","sourceRoot":"","sources":["../../src/wallet/mainModule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6JN,CAAA"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.abi = void 0;
4
+ exports.abi = [
5
+ {
6
+ type: 'function',
7
+ name: 'nonce',
8
+ constant: true,
9
+ inputs: [],
10
+ outputs: [
11
+ {
12
+ type: 'uint256',
13
+ },
14
+ ],
15
+ payable: false,
16
+ stateMutability: 'view',
17
+ },
18
+ {
19
+ type: 'function',
20
+ name: 'readNonce',
21
+ constant: true,
22
+ inputs: [
23
+ {
24
+ type: 'uint256',
25
+ },
26
+ ],
27
+ outputs: [
28
+ {
29
+ type: 'uint256',
30
+ },
31
+ ],
32
+ payable: false,
33
+ stateMutability: 'view',
34
+ },
35
+ {
36
+ type: 'function',
37
+ name: 'updateImplementation',
38
+ constant: false,
39
+ inputs: [
40
+ {
41
+ type: 'address',
42
+ },
43
+ ],
44
+ outputs: [],
45
+ payable: false,
46
+ stateMutability: 'nonpayable',
47
+ },
48
+ {
49
+ type: 'function',
50
+ name: 'selfExecute',
51
+ constant: false,
52
+ inputs: [
53
+ {
54
+ components: [
55
+ {
56
+ type: 'bool',
57
+ name: 'delegateCall',
58
+ },
59
+ {
60
+ type: 'bool',
61
+ name: 'revertOnError',
62
+ },
63
+ {
64
+ type: 'uint256',
65
+ name: 'gasLimit',
66
+ },
67
+ {
68
+ type: 'address',
69
+ name: 'target',
70
+ },
71
+ {
72
+ type: 'uint256',
73
+ name: 'value',
74
+ },
75
+ {
76
+ type: 'bytes',
77
+ name: 'data',
78
+ },
79
+ ],
80
+ type: 'tuple[]',
81
+ },
82
+ ],
83
+ outputs: [],
84
+ payable: false,
85
+ stateMutability: 'nonpayable',
86
+ },
87
+ {
88
+ type: 'function',
89
+ name: 'execute',
90
+ constant: false,
91
+ inputs: [
92
+ {
93
+ components: [
94
+ {
95
+ type: 'bool',
96
+ name: 'delegateCall',
97
+ },
98
+ {
99
+ type: 'bool',
100
+ name: 'revertOnError',
101
+ },
102
+ {
103
+ type: 'uint256',
104
+ name: 'gasLimit',
105
+ },
106
+ {
107
+ type: 'address',
108
+ name: 'target',
109
+ },
110
+ {
111
+ type: 'uint256',
112
+ name: 'value',
113
+ },
114
+ {
115
+ type: 'bytes',
116
+ name: 'data',
117
+ },
118
+ ],
119
+ type: 'tuple[]',
120
+ },
121
+ {
122
+ type: 'uint256',
123
+ },
124
+ {
125
+ type: 'bytes',
126
+ },
127
+ ],
128
+ outputs: [],
129
+ payable: false,
130
+ stateMutability: 'nonpayable',
131
+ },
132
+ {
133
+ type: 'function',
134
+ name: 'createContract',
135
+ inputs: [
136
+ {
137
+ type: 'bytes',
138
+ },
139
+ ],
140
+ payable: true,
141
+ stateMutability: 'payable',
142
+ },
143
+ {
144
+ type: 'function',
145
+ name: 'setExtraImageHash',
146
+ constant: false,
147
+ inputs: [
148
+ {
149
+ type: 'bytes32',
150
+ name: 'imageHash',
151
+ },
152
+ {
153
+ type: 'uint256',
154
+ name: 'expiration',
155
+ },
156
+ ],
157
+ outputs: [],
158
+ payable: false,
159
+ stateMutability: 'nonpayable',
160
+ },
161
+ ];
@@ -19,3 +19,4 @@ export declare const abi: readonly [{
19
19
  readonly payable: false;
20
20
  readonly stateMutability: "view";
21
21
  }];
22
+ //# sourceMappingURL=mainModuleUpgradable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mainModuleUpgradable.d.ts","sourceRoot":"","sources":["../../src/wallet/mainModuleUpgradable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;EA2BN,CAAA"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.abi = void 0;
4
+ exports.abi = [
5
+ {
6
+ type: 'function',
7
+ name: 'updateImageHash',
8
+ constant: true,
9
+ inputs: [
10
+ {
11
+ type: 'bytes32',
12
+ },
13
+ ],
14
+ outputs: [],
15
+ payable: false,
16
+ stateMutability: 'view',
17
+ },
18
+ {
19
+ type: 'function',
20
+ name: 'imageHash',
21
+ constant: true,
22
+ inputs: [],
23
+ outputs: [
24
+ {
25
+ type: 'bytes32',
26
+ },
27
+ ],
28
+ payable: false,
29
+ stateMutability: 'view',
30
+ },
31
+ ];
@@ -186,3 +186,4 @@ export declare const abi: readonly [{
186
186
  readonly stateMutability: "payable";
187
187
  readonly type: "receive";
188
188
  }];
189
+ //# sourceMappingURL=moduleHooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moduleHooks.d.ts","sourceRoot":"","sources":["../../src/wallet/moduleHooks.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuPN,CAAA"}
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.abi = void 0;
4
+ exports.abi = [
5
+ {
6
+ inputs: [
7
+ {
8
+ internalType: 'bytes4',
9
+ name: '_signature',
10
+ type: 'bytes4',
11
+ },
12
+ ],
13
+ name: 'HookAlreadyExists',
14
+ type: 'error',
15
+ },
16
+ {
17
+ inputs: [
18
+ {
19
+ internalType: 'bytes4',
20
+ name: '_signature',
21
+ type: 'bytes4',
22
+ },
23
+ ],
24
+ name: 'HookDoesNotExist',
25
+ type: 'error',
26
+ },
27
+ {
28
+ inputs: [
29
+ {
30
+ internalType: 'address',
31
+ name: '_sender',
32
+ type: 'address',
33
+ },
34
+ {
35
+ internalType: 'address',
36
+ name: '_self',
37
+ type: 'address',
38
+ },
39
+ ],
40
+ name: 'OnlySelfAuth',
41
+ type: 'error',
42
+ },
43
+ {
44
+ anonymous: false,
45
+ inputs: [
46
+ {
47
+ indexed: false,
48
+ internalType: 'bytes4',
49
+ name: '_signature',
50
+ type: 'bytes4',
51
+ },
52
+ {
53
+ indexed: false,
54
+ internalType: 'address',
55
+ name: '_implementation',
56
+ type: 'address',
57
+ },
58
+ ],
59
+ name: 'DefinedHook',
60
+ type: 'event',
61
+ },
62
+ {
63
+ stateMutability: 'payable',
64
+ type: 'fallback',
65
+ },
66
+ {
67
+ inputs: [
68
+ {
69
+ internalType: 'bytes4',
70
+ name: '_signature',
71
+ type: 'bytes4',
72
+ },
73
+ {
74
+ internalType: 'address',
75
+ name: '_implementation',
76
+ type: 'address',
77
+ },
78
+ ],
79
+ name: 'addHook',
80
+ outputs: [],
81
+ stateMutability: 'nonpayable',
82
+ type: 'function',
83
+ },
84
+ {
85
+ inputs: [
86
+ {
87
+ internalType: 'address',
88
+ name: '',
89
+ type: 'address',
90
+ },
91
+ {
92
+ internalType: 'address',
93
+ name: '',
94
+ type: 'address',
95
+ },
96
+ {
97
+ internalType: 'uint256[]',
98
+ name: '',
99
+ type: 'uint256[]',
100
+ },
101
+ {
102
+ internalType: 'uint256[]',
103
+ name: '',
104
+ type: 'uint256[]',
105
+ },
106
+ {
107
+ internalType: 'bytes',
108
+ name: '',
109
+ type: 'bytes',
110
+ },
111
+ ],
112
+ name: 'onERC1155BatchReceived',
113
+ outputs: [
114
+ {
115
+ internalType: 'bytes4',
116
+ name: '',
117
+ type: 'bytes4',
118
+ },
119
+ ],
120
+ stateMutability: 'nonpayable',
121
+ type: 'function',
122
+ },
123
+ {
124
+ inputs: [
125
+ {
126
+ internalType: 'address',
127
+ name: '',
128
+ type: 'address',
129
+ },
130
+ {
131
+ internalType: 'address',
132
+ name: '',
133
+ type: 'address',
134
+ },
135
+ {
136
+ internalType: 'uint256',
137
+ name: '',
138
+ type: 'uint256',
139
+ },
140
+ {
141
+ internalType: 'uint256',
142
+ name: '',
143
+ type: 'uint256',
144
+ },
145
+ {
146
+ internalType: 'bytes',
147
+ name: '',
148
+ type: 'bytes',
149
+ },
150
+ ],
151
+ name: 'onERC1155Received',
152
+ outputs: [
153
+ {
154
+ internalType: 'bytes4',
155
+ name: '',
156
+ type: 'bytes4',
157
+ },
158
+ ],
159
+ stateMutability: 'nonpayable',
160
+ type: 'function',
161
+ },
162
+ {
163
+ inputs: [
164
+ {
165
+ internalType: 'address',
166
+ name: '',
167
+ type: 'address',
168
+ },
169
+ {
170
+ internalType: 'address',
171
+ name: '',
172
+ type: 'address',
173
+ },
174
+ {
175
+ internalType: 'uint256',
176
+ name: '',
177
+ type: 'uint256',
178
+ },
179
+ {
180
+ internalType: 'bytes',
181
+ name: '',
182
+ type: 'bytes',
183
+ },
184
+ ],
185
+ name: 'onERC721Received',
186
+ outputs: [
187
+ {
188
+ internalType: 'bytes4',
189
+ name: '',
190
+ type: 'bytes4',
191
+ },
192
+ ],
193
+ stateMutability: 'nonpayable',
194
+ type: 'function',
195
+ },
196
+ {
197
+ inputs: [
198
+ {
199
+ internalType: 'bytes4',
200
+ name: '_signature',
201
+ type: 'bytes4',
202
+ },
203
+ ],
204
+ name: 'readHook',
205
+ outputs: [
206
+ {
207
+ internalType: 'address',
208
+ name: '',
209
+ type: 'address',
210
+ },
211
+ ],
212
+ stateMutability: 'view',
213
+ type: 'function',
214
+ },
215
+ {
216
+ inputs: [
217
+ {
218
+ internalType: 'bytes4',
219
+ name: '_signature',
220
+ type: 'bytes4',
221
+ },
222
+ ],
223
+ name: 'removeHook',
224
+ outputs: [],
225
+ stateMutability: 'nonpayable',
226
+ type: 'function',
227
+ },
228
+ {
229
+ inputs: [
230
+ {
231
+ internalType: 'bytes4',
232
+ name: '_interfaceID',
233
+ type: 'bytes4',
234
+ },
235
+ ],
236
+ name: 'supportsInterface',
237
+ outputs: [
238
+ {
239
+ internalType: 'bool',
240
+ name: '',
241
+ type: 'bool',
242
+ },
243
+ ],
244
+ stateMutability: 'pure',
245
+ type: 'function',
246
+ },
247
+ {
248
+ stateMutability: 'payable',
249
+ type: 'receive',
250
+ },
251
+ ];
@@ -391,3 +391,4 @@ export declare const abi: readonly [{
391
391
  readonly stateMutability: "view";
392
392
  readonly type: "function";
393
393
  }];
394
+ //# sourceMappingURL=sequenceUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequenceUtils.d.ts","sourceRoot":"","sources":["../../src/wallet/sequenceUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmgBN,CAAA"}