@op-engineering/op-sqlite 6.0.1 → 6.0.2-beta1
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/cpp/DBHostObject.cpp +755 -0
- package/cpp/DBHostObject.h +56 -0
- package/cpp/PreparedStatementHostObject.cpp +1 -1
- package/cpp/bindings.cpp +20 -614
- package/cpp/bindings.h +3 -2
- package/cpp/bridge.cpp +10 -16
- package/cpp/bridge.h +2 -1
- package/cpp/sqlbatchexecutor.cpp +2 -2
- package/cpp/utils.cpp +24 -4
- package/cpp/utils.h +3 -2
- package/lib/commonjs/index.js +139 -152
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +139 -152
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +24 -39
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +196 -272
package/lib/module/index.js
CHANGED
|
@@ -80,175 +80,162 @@ function enhanceQueryResult(result) {
|
|
|
80
80
|
result.rows.item = idx => result.rows?._array[idx];
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
const
|
|
84
|
-
OPSQLite.open
|
|
85
|
-
|
|
86
|
-
locks[options.name] = {
|
|
83
|
+
export const open = options => {
|
|
84
|
+
const db = OPSQLite.open(options);
|
|
85
|
+
const lock = {
|
|
87
86
|
queue: [],
|
|
88
87
|
inProgress: false
|
|
89
88
|
};
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
delete locks[dbName];
|
|
95
|
-
};
|
|
96
|
-
const _execute = OPSQLite.execute;
|
|
97
|
-
OPSQLite.execute = (dbName, query, params) => {
|
|
98
|
-
const sanitizedParams = params?.map(p => {
|
|
99
|
-
if (ArrayBuffer.isView(p)) {
|
|
100
|
-
return p.buffer;
|
|
89
|
+
const startNextTransaction = () => {
|
|
90
|
+
if (lock.inProgress) {
|
|
91
|
+
// Transaction is already in process bail out
|
|
92
|
+
return;
|
|
101
93
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (ArrayBuffer.isView(p)) {
|
|
112
|
-
return p.buffer;
|
|
94
|
+
if (lock.queue.length) {
|
|
95
|
+
lock.inProgress = true;
|
|
96
|
+
const tx = lock.queue.shift();
|
|
97
|
+
if (!tx) {
|
|
98
|
+
throw new Error('Could not get a operation on database');
|
|
99
|
+
}
|
|
100
|
+
setImmediate(() => {
|
|
101
|
+
tx.start();
|
|
102
|
+
});
|
|
113
103
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// spreading the object is not working, so we need to do it manually
|
|
107
|
+
let enhancedDb = {
|
|
108
|
+
delete: db.delete,
|
|
109
|
+
attach: db.attach,
|
|
110
|
+
detach: db.detach,
|
|
111
|
+
executeBatch: db.executeBatch,
|
|
112
|
+
executeBatchAsync: db.executeBatchAsync,
|
|
113
|
+
loadFile: db.loadFile,
|
|
114
|
+
updateHook: db.updateHook,
|
|
115
|
+
commitHook: db.commitHook,
|
|
116
|
+
rollbackHook: db.rollbackHook,
|
|
117
|
+
loadExtension: db.loadExtension,
|
|
118
|
+
executeRawAsync: db.executeRawAsync,
|
|
119
|
+
getDbPath: db.getDbPath,
|
|
120
|
+
reactiveExecute: db.reactiveExecute,
|
|
121
|
+
close: () => {
|
|
122
|
+
db.close();
|
|
123
|
+
delete locks[options.name];
|
|
124
|
+
},
|
|
125
|
+
execute: (query, params) => {
|
|
126
|
+
const sanitizedParams = params?.map(p => {
|
|
126
127
|
if (ArrayBuffer.isView(p)) {
|
|
127
128
|
return p.buffer;
|
|
128
129
|
}
|
|
129
130
|
return p;
|
|
130
131
|
});
|
|
131
|
-
|
|
132
|
+
const result = db.execute(query, sanitizedParams);
|
|
133
|
+
enhanceQueryResult(result);
|
|
134
|
+
return result;
|
|
132
135
|
},
|
|
133
|
-
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
};
|
|
140
|
-
OPSQLite.transaction = async (dbName, fn) => {
|
|
141
|
-
if (!locks[dbName]) {
|
|
142
|
-
throw Error(`SQLite Error: No lock found on db: ${dbName}`);
|
|
143
|
-
}
|
|
144
|
-
let isFinalized = false;
|
|
145
|
-
|
|
146
|
-
// Local transaction context object implementation
|
|
147
|
-
const execute = (query, params) => {
|
|
148
|
-
if (isFinalized) {
|
|
149
|
-
throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
|
|
150
|
-
}
|
|
151
|
-
return OPSQLite.execute(dbName, query, params);
|
|
152
|
-
};
|
|
153
|
-
const executeAsync = (query, params) => {
|
|
154
|
-
if (isFinalized) {
|
|
155
|
-
throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
|
|
156
|
-
}
|
|
157
|
-
return OPSQLite.executeAsync(dbName, query, params);
|
|
158
|
-
};
|
|
159
|
-
const commit = () => {
|
|
160
|
-
if (isFinalized) {
|
|
161
|
-
throw Error(`SQLite Error: Cannot execute commit on finalized transaction: ${dbName}`);
|
|
162
|
-
}
|
|
163
|
-
const result = OPSQLite.execute(dbName, 'COMMIT');
|
|
164
|
-
isFinalized = true;
|
|
165
|
-
return result;
|
|
166
|
-
};
|
|
167
|
-
const rollback = () => {
|
|
168
|
-
if (isFinalized) {
|
|
169
|
-
throw Error(`SQLite Error: Cannot execute rollback on finalized transaction: ${dbName}`);
|
|
170
|
-
}
|
|
171
|
-
const result = OPSQLite.execute(dbName, 'ROLLBACK');
|
|
172
|
-
isFinalized = true;
|
|
173
|
-
return result;
|
|
174
|
-
};
|
|
175
|
-
async function run() {
|
|
176
|
-
try {
|
|
177
|
-
await OPSQLite.executeAsync(dbName, 'BEGIN TRANSACTION');
|
|
178
|
-
await fn({
|
|
179
|
-
commit,
|
|
180
|
-
execute,
|
|
181
|
-
executeAsync,
|
|
182
|
-
rollback
|
|
136
|
+
executeAsync: async (query, params) => {
|
|
137
|
+
const sanitizedParams = params?.map(p => {
|
|
138
|
+
if (ArrayBuffer.isView(p)) {
|
|
139
|
+
return p.buffer;
|
|
140
|
+
}
|
|
141
|
+
return p;
|
|
183
142
|
});
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
|
|
143
|
+
const result = await db.executeAsync(query, sanitizedParams);
|
|
144
|
+
enhanceQueryResult(result);
|
|
145
|
+
return result;
|
|
146
|
+
},
|
|
147
|
+
prepareStatement: query => {
|
|
148
|
+
const stmt = db.prepareStatement(query);
|
|
149
|
+
return {
|
|
150
|
+
bind: params => {
|
|
151
|
+
const sanitizedParams = params.map(p => {
|
|
152
|
+
if (ArrayBuffer.isView(p)) {
|
|
153
|
+
return p.buffer;
|
|
154
|
+
}
|
|
155
|
+
return p;
|
|
156
|
+
});
|
|
157
|
+
stmt.bind(sanitizedParams);
|
|
158
|
+
},
|
|
159
|
+
execute: () => {
|
|
160
|
+
const res = stmt.execute();
|
|
161
|
+
enhanceQueryResult(res);
|
|
162
|
+
return res;
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
},
|
|
166
|
+
transaction: async fn => {
|
|
167
|
+
let isFinalized = false;
|
|
168
|
+
|
|
169
|
+
// Local transaction context object implementation
|
|
170
|
+
const execute = (query, params) => {
|
|
171
|
+
if (isFinalized) {
|
|
172
|
+
throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
|
|
173
|
+
}
|
|
174
|
+
return enhancedDb.execute(query, params);
|
|
175
|
+
};
|
|
176
|
+
const executeAsync = (query, params) => {
|
|
177
|
+
if (isFinalized) {
|
|
178
|
+
throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
|
|
179
|
+
}
|
|
180
|
+
return enhancedDb.executeAsync(query, params);
|
|
181
|
+
};
|
|
182
|
+
const commit = () => {
|
|
183
|
+
if (isFinalized) {
|
|
184
|
+
throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
|
|
185
|
+
}
|
|
186
|
+
const result = enhancedDb.execute('COMMIT;');
|
|
187
|
+
isFinalized = true;
|
|
188
|
+
return result;
|
|
189
|
+
};
|
|
190
|
+
const rollback = () => {
|
|
191
|
+
if (isFinalized) {
|
|
192
|
+
throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
|
|
193
|
+
}
|
|
194
|
+
const result = enhancedDb.execute('ROLLBACK;');
|
|
195
|
+
isFinalized = true;
|
|
196
|
+
return result;
|
|
197
|
+
};
|
|
198
|
+
async function run() {
|
|
189
199
|
try {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
200
|
+
await enhancedDb.executeAsync('BEGIN TRANSACTION;');
|
|
201
|
+
await fn({
|
|
202
|
+
commit,
|
|
203
|
+
execute,
|
|
204
|
+
executeAsync,
|
|
205
|
+
rollback
|
|
206
|
+
});
|
|
207
|
+
console.warn('finished executing user function for transaction');
|
|
208
|
+
if (!isFinalized) {
|
|
209
|
+
commit();
|
|
210
|
+
}
|
|
211
|
+
} catch (executionError) {
|
|
212
|
+
console.warn('transaction error', executionError);
|
|
213
|
+
if (!isFinalized) {
|
|
214
|
+
try {
|
|
215
|
+
rollback();
|
|
216
|
+
} catch (rollbackError) {
|
|
217
|
+
throw rollbackError;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
throw executionError;
|
|
221
|
+
} finally {
|
|
222
|
+
lock.inProgress = false;
|
|
223
|
+
isFinalized = false;
|
|
224
|
+
startNextTransaction();
|
|
193
225
|
}
|
|
194
226
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
start: () => {
|
|
205
|
-
run().then(resolve).catch(reject);
|
|
206
|
-
}
|
|
207
|
-
};
|
|
208
|
-
locks[dbName].queue.push(tx);
|
|
209
|
-
startNextTransaction(dbName);
|
|
210
|
-
});
|
|
211
|
-
};
|
|
212
|
-
const startNextTransaction = dbName => {
|
|
213
|
-
if (!locks[dbName]) {
|
|
214
|
-
throw Error(`Lock not found for db: ${dbName}`);
|
|
215
|
-
}
|
|
216
|
-
if (locks[dbName].inProgress) {
|
|
217
|
-
// Transaction is already in process bail out
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
if (locks[dbName].queue.length) {
|
|
221
|
-
locks[dbName].inProgress = true;
|
|
222
|
-
const tx = locks[dbName].queue.shift();
|
|
223
|
-
if (!tx) {
|
|
224
|
-
throw new Error('Could not get a operation on datebase');
|
|
227
|
+
return await new Promise((resolve, reject) => {
|
|
228
|
+
const tx = {
|
|
229
|
+
start: () => {
|
|
230
|
+
run().then(resolve).catch(reject);
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
lock.queue.push(tx);
|
|
234
|
+
startNextTransaction();
|
|
235
|
+
});
|
|
225
236
|
}
|
|
226
|
-
setImmediate(() => {
|
|
227
|
-
tx.start();
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
};
|
|
231
|
-
export const open = options => {
|
|
232
|
-
OPSQLite.open(options);
|
|
233
|
-
return {
|
|
234
|
-
close: () => OPSQLite.close(options.name),
|
|
235
|
-
delete: () => OPSQLite.delete(options.name, options.location),
|
|
236
|
-
attach: (dbNameToAttach, alias, location) => OPSQLite.attach(options.name, dbNameToAttach, alias, location),
|
|
237
|
-
detach: alias => OPSQLite.detach(options.name, alias),
|
|
238
|
-
transaction: fn => OPSQLite.transaction(options.name, fn),
|
|
239
|
-
execute: (query, params) => OPSQLite.execute(options.name, query, params),
|
|
240
|
-
executeAsync: (query, params) => OPSQLite.executeAsync(options.name, query, params),
|
|
241
|
-
executeBatch: commands => OPSQLite.executeBatch(options.name, commands),
|
|
242
|
-
executeBatchAsync: commands => OPSQLite.executeBatchAsync(options.name, commands),
|
|
243
|
-
loadFile: location => OPSQLite.loadFile(options.name, location),
|
|
244
|
-
updateHook: callback => OPSQLite.updateHook(options.name, callback),
|
|
245
|
-
commitHook: callback => OPSQLite.commitHook(options.name, callback),
|
|
246
|
-
rollbackHook: callback => OPSQLite.rollbackHook(options.name, callback),
|
|
247
|
-
prepareStatement: query => OPSQLite.prepareStatement(options.name, query),
|
|
248
|
-
loadExtension: (path, entryPoint) => OPSQLite.loadExtension(options.name, path, entryPoint),
|
|
249
|
-
executeRawAsync: (query, params) => OPSQLite.executeRawAsync(options.name, query, params),
|
|
250
|
-
getDbPath: () => OPSQLite.getDbPath(options.name, options.location)
|
|
251
237
|
};
|
|
238
|
+
return enhancedDb;
|
|
252
239
|
};
|
|
253
240
|
export const moveAssetsDatabase = async args => {
|
|
254
241
|
return NativeModules.OPSQLite.moveAssetsDatabase(args);
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","global","__OPSQLiteProxy","OPSQLite","Error","install","result","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","
|
|
1
|
+
{"version":3,"names":["NativeModules","global","__OPSQLiteProxy","OPSQLite","Error","install","result","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","open","options","db","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","executeBatchAsync","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRawAsync","getDbPath","reactiveExecute","close","name","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeAsync","prepareStatement","stmt","bind","res","transaction","fn","isFinalized","commit","rollback","run","console","warn","executionError","rollbackError","Promise","resolve","reject","then","catch","push","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ declare global {
|
|
|
2
2
|
function nativeCallSyncHook(): unknown;
|
|
3
3
|
var __OPSQLiteProxy: object | undefined;
|
|
4
4
|
}
|
|
5
|
-
export declare const OPSQLite:
|
|
5
|
+
export declare const OPSQLite: OPSQLiteProxy;
|
|
6
6
|
export declare const IOS_DOCUMENT_PATH: any, IOS_LIBRARY_PATH: any, ANDROID_DATABASE_PATH: any, ANDROID_FILES_PATH: any, ANDROID_EXTERNAL_FILES_PATH: any;
|
|
7
7
|
/**
|
|
8
8
|
* Object returned by SQL Query executions {
|
|
@@ -82,65 +82,50 @@ export type PreparedStatementObj = {
|
|
|
82
82
|
bind: (params: any[]) => void;
|
|
83
83
|
execute: () => QueryResult;
|
|
84
84
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
location?: string;
|
|
89
|
-
encryptionKey?: string;
|
|
90
|
-
}) => void;
|
|
91
|
-
close: (dbName: string) => void;
|
|
92
|
-
delete: (dbName: string, location?: string) => void;
|
|
85
|
+
export type DB = {
|
|
86
|
+
close: () => void;
|
|
87
|
+
delete: (location?: string) => void;
|
|
93
88
|
attach: (mainDbName: string, dbNameToAttach: string, alias: string, location?: string) => void;
|
|
94
89
|
detach: (mainDbName: string, alias: string) => void;
|
|
95
|
-
transaction: (dbName: string, fn: (tx: Transaction) => Promise<void>) => Promise<void>;
|
|
96
|
-
execute: (dbName: string, query: string, params?: any[]) => QueryResult;
|
|
97
|
-
executeAsync: (dbName: string, query: string, params?: any[]) => Promise<QueryResult>;
|
|
98
|
-
executeBatch: (dbName: string, commands: SQLBatchTuple[]) => BatchQueryResult;
|
|
99
|
-
executeBatchAsync: (dbName: string, commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
|
|
100
|
-
loadFile: (dbName: string, location: string) => Promise<FileLoadResult>;
|
|
101
|
-
updateHook: (dbName: string, callback?: ((params: {
|
|
102
|
-
table: string;
|
|
103
|
-
operation: UpdateHookOperation;
|
|
104
|
-
row?: any;
|
|
105
|
-
rowId: number;
|
|
106
|
-
}) => void) | null) => void;
|
|
107
|
-
commitHook: (dbName: string, callback?: (() => void) | null) => void;
|
|
108
|
-
rollbackHook: (dbName: string, callback?: (() => void) | null) => void;
|
|
109
|
-
prepareStatement: (dbName: string, query: string) => PreparedStatementObj;
|
|
110
|
-
loadExtension: (dbName: string, path: string, entryPoint?: string) => void;
|
|
111
|
-
executeRawAsync: (dbName: string, query: string, params?: any[]) => Promise<any[]>;
|
|
112
|
-
getDbPath: (dbName: string, location?: string) => string;
|
|
113
|
-
isSQLCipher: () => boolean;
|
|
114
|
-
}
|
|
115
|
-
export type OPSQLiteConnection = {
|
|
116
|
-
close: () => void;
|
|
117
|
-
delete: () => void;
|
|
118
|
-
attach: (dbNameToAttach: string, alias: string, location?: string) => void;
|
|
119
|
-
detach: (alias: string) => void;
|
|
120
90
|
transaction: (fn: (tx: Transaction) => Promise<void>) => Promise<void>;
|
|
121
91
|
execute: (query: string, params?: any[]) => QueryResult;
|
|
122
92
|
executeAsync: (query: string, params?: any[]) => Promise<QueryResult>;
|
|
123
93
|
executeBatch: (commands: SQLBatchTuple[]) => BatchQueryResult;
|
|
124
94
|
executeBatchAsync: (commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
|
|
125
95
|
loadFile: (location: string) => Promise<FileLoadResult>;
|
|
126
|
-
updateHook: (callback
|
|
96
|
+
updateHook: (callback?: ((params: {
|
|
127
97
|
table: string;
|
|
128
98
|
operation: UpdateHookOperation;
|
|
129
99
|
row?: any;
|
|
130
100
|
rowId: number;
|
|
131
101
|
}) => void) | null) => void;
|
|
132
|
-
commitHook: (callback
|
|
133
|
-
rollbackHook: (callback
|
|
102
|
+
commitHook: (callback?: (() => void) | null) => void;
|
|
103
|
+
rollbackHook: (callback?: (() => void) | null) => void;
|
|
134
104
|
prepareStatement: (query: string) => PreparedStatementObj;
|
|
135
105
|
loadExtension: (path: string, entryPoint?: string) => void;
|
|
136
106
|
executeRawAsync: (query: string, params?: any[]) => Promise<any[]>;
|
|
137
|
-
getDbPath: () => string;
|
|
107
|
+
getDbPath: (location?: string) => string;
|
|
108
|
+
reactiveExecute: (params: {
|
|
109
|
+
query: string;
|
|
110
|
+
arguments: any[];
|
|
111
|
+
tables: string[];
|
|
112
|
+
rowIds?: number[];
|
|
113
|
+
callback: (response: any) => void;
|
|
114
|
+
}) => () => void;
|
|
115
|
+
};
|
|
116
|
+
type OPSQLiteProxy = {
|
|
117
|
+
open: (options: {
|
|
118
|
+
name: string;
|
|
119
|
+
location?: string;
|
|
120
|
+
encryptionKey?: string;
|
|
121
|
+
}) => DB;
|
|
122
|
+
isSQLCipher: () => boolean;
|
|
138
123
|
};
|
|
139
124
|
export declare const open: (options: {
|
|
140
125
|
name: string;
|
|
141
126
|
location?: string;
|
|
142
127
|
encryptionKey?: string;
|
|
143
|
-
}) =>
|
|
128
|
+
}) => DB;
|
|
144
129
|
export declare const moveAssetsDatabase: (args: {
|
|
145
130
|
filename: string;
|
|
146
131
|
path?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,CAAC;IACb,SAAS,kBAAkB,IAAI,OAAO,CAAC;IACvC,IAAI,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AA8BD,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|