fauxqs 2.2.0 → 2.3.0

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,103 +1,103 @@
1
1
  import { mkdirSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { DatabaseSync } from "node:sqlite";
4
- const SCHEMA = `
5
- CREATE TABLE IF NOT EXISTS sqs_queues (
6
- name TEXT PRIMARY KEY,
7
- url TEXT NOT NULL,
8
- arn TEXT NOT NULL,
9
- attributes TEXT NOT NULL,
10
- tags TEXT NOT NULL,
11
- created_timestamp INTEGER NOT NULL,
12
- last_modified_timestamp INTEGER NOT NULL,
13
- sequence_counter INTEGER NOT NULL DEFAULT 0
14
- );
15
-
16
- CREATE TABLE IF NOT EXISTS sqs_messages (
17
- message_id TEXT PRIMARY KEY,
18
- queue_name TEXT NOT NULL REFERENCES sqs_queues(name) ON DELETE CASCADE,
19
- body TEXT NOT NULL,
20
- md5_of_body TEXT NOT NULL,
21
- message_attributes TEXT NOT NULL,
22
- md5_of_message_attributes TEXT NOT NULL,
23
- sent_timestamp INTEGER NOT NULL,
24
- approximate_receive_count INTEGER NOT NULL DEFAULT 0,
25
- approximate_first_receive_timestamp INTEGER,
26
- delay_until INTEGER,
27
- message_group_id TEXT,
28
- message_deduplication_id TEXT,
29
- sequence_number TEXT,
30
- receipt_handle TEXT,
31
- visibility_deadline INTEGER
32
- );
33
-
34
- CREATE TABLE IF NOT EXISTS sns_topics (
35
- arn TEXT PRIMARY KEY,
36
- name TEXT NOT NULL,
37
- attributes TEXT NOT NULL,
38
- tags TEXT NOT NULL,
39
- subscription_arns TEXT NOT NULL
40
- );
41
-
42
- CREATE TABLE IF NOT EXISTS sns_subscriptions (
43
- arn TEXT PRIMARY KEY,
44
- topic_arn TEXT NOT NULL,
45
- protocol TEXT NOT NULL,
46
- endpoint TEXT NOT NULL,
47
- confirmed INTEGER NOT NULL DEFAULT 0,
48
- attributes TEXT NOT NULL
49
- );
50
-
51
- CREATE TABLE IF NOT EXISTS s3_buckets (
52
- name TEXT PRIMARY KEY,
53
- creation_date TEXT NOT NULL,
54
- type TEXT NOT NULL DEFAULT 'general-purpose'
55
- );
56
-
57
- CREATE TABLE IF NOT EXISTS s3_objects (
58
- bucket TEXT NOT NULL,
59
- key TEXT NOT NULL,
60
- body BLOB NOT NULL,
61
- content_type TEXT NOT NULL,
62
- content_length INTEGER NOT NULL,
63
- etag TEXT NOT NULL,
64
- last_modified TEXT NOT NULL,
65
- metadata TEXT NOT NULL,
66
- content_language TEXT,
67
- content_disposition TEXT,
68
- cache_control TEXT,
69
- content_encoding TEXT,
70
- parts TEXT,
71
- checksum_algorithm TEXT,
72
- checksum_value TEXT,
73
- checksum_type TEXT,
74
- part_checksums TEXT,
75
- PRIMARY KEY (bucket, key)
76
- );
77
-
78
- CREATE TABLE IF NOT EXISTS s3_multipart_uploads (
79
- upload_id TEXT PRIMARY KEY,
80
- bucket TEXT NOT NULL,
81
- key TEXT NOT NULL,
82
- content_type TEXT NOT NULL,
83
- metadata TEXT NOT NULL,
84
- initiated TEXT NOT NULL,
85
- content_language TEXT,
86
- content_disposition TEXT,
87
- cache_control TEXT,
88
- content_encoding TEXT,
89
- checksum_algorithm TEXT
90
- );
91
-
92
- CREATE TABLE IF NOT EXISTS s3_multipart_parts (
93
- upload_id TEXT NOT NULL REFERENCES s3_multipart_uploads(upload_id) ON DELETE CASCADE,
94
- part_number INTEGER NOT NULL,
95
- body BLOB NOT NULL,
96
- etag TEXT NOT NULL,
97
- last_modified TEXT NOT NULL,
98
- checksum_value TEXT,
99
- PRIMARY KEY (upload_id, part_number)
100
- );
4
+ const SCHEMA = `
5
+ CREATE TABLE IF NOT EXISTS sqs_queues (
6
+ name TEXT PRIMARY KEY,
7
+ url TEXT NOT NULL,
8
+ arn TEXT NOT NULL,
9
+ attributes TEXT NOT NULL,
10
+ tags TEXT NOT NULL,
11
+ created_timestamp INTEGER NOT NULL,
12
+ last_modified_timestamp INTEGER NOT NULL,
13
+ sequence_counter INTEGER NOT NULL DEFAULT 0
14
+ );
15
+
16
+ CREATE TABLE IF NOT EXISTS sqs_messages (
17
+ message_id TEXT PRIMARY KEY,
18
+ queue_name TEXT NOT NULL REFERENCES sqs_queues(name) ON DELETE CASCADE,
19
+ body TEXT NOT NULL,
20
+ md5_of_body TEXT NOT NULL,
21
+ message_attributes TEXT NOT NULL,
22
+ md5_of_message_attributes TEXT NOT NULL,
23
+ sent_timestamp INTEGER NOT NULL,
24
+ approximate_receive_count INTEGER NOT NULL DEFAULT 0,
25
+ approximate_first_receive_timestamp INTEGER,
26
+ delay_until INTEGER,
27
+ message_group_id TEXT,
28
+ message_deduplication_id TEXT,
29
+ sequence_number TEXT,
30
+ receipt_handle TEXT,
31
+ visibility_deadline INTEGER
32
+ );
33
+
34
+ CREATE TABLE IF NOT EXISTS sns_topics (
35
+ arn TEXT PRIMARY KEY,
36
+ name TEXT NOT NULL,
37
+ attributes TEXT NOT NULL,
38
+ tags TEXT NOT NULL,
39
+ subscription_arns TEXT NOT NULL
40
+ );
41
+
42
+ CREATE TABLE IF NOT EXISTS sns_subscriptions (
43
+ arn TEXT PRIMARY KEY,
44
+ topic_arn TEXT NOT NULL,
45
+ protocol TEXT NOT NULL,
46
+ endpoint TEXT NOT NULL,
47
+ confirmed INTEGER NOT NULL DEFAULT 0,
48
+ attributes TEXT NOT NULL
49
+ );
50
+
51
+ CREATE TABLE IF NOT EXISTS s3_buckets (
52
+ name TEXT PRIMARY KEY,
53
+ creation_date TEXT NOT NULL,
54
+ type TEXT NOT NULL DEFAULT 'general-purpose'
55
+ );
56
+
57
+ CREATE TABLE IF NOT EXISTS s3_objects (
58
+ bucket TEXT NOT NULL,
59
+ key TEXT NOT NULL,
60
+ body BLOB NOT NULL,
61
+ content_type TEXT NOT NULL,
62
+ content_length INTEGER NOT NULL,
63
+ etag TEXT NOT NULL,
64
+ last_modified TEXT NOT NULL,
65
+ metadata TEXT NOT NULL,
66
+ content_language TEXT,
67
+ content_disposition TEXT,
68
+ cache_control TEXT,
69
+ content_encoding TEXT,
70
+ parts TEXT,
71
+ checksum_algorithm TEXT,
72
+ checksum_value TEXT,
73
+ checksum_type TEXT,
74
+ part_checksums TEXT,
75
+ PRIMARY KEY (bucket, key)
76
+ );
77
+
78
+ CREATE TABLE IF NOT EXISTS s3_multipart_uploads (
79
+ upload_id TEXT PRIMARY KEY,
80
+ bucket TEXT NOT NULL,
81
+ key TEXT NOT NULL,
82
+ content_type TEXT NOT NULL,
83
+ metadata TEXT NOT NULL,
84
+ initiated TEXT NOT NULL,
85
+ content_language TEXT,
86
+ content_disposition TEXT,
87
+ cache_control TEXT,
88
+ content_encoding TEXT,
89
+ checksum_algorithm TEXT
90
+ );
91
+
92
+ CREATE TABLE IF NOT EXISTS s3_multipart_parts (
93
+ upload_id TEXT NOT NULL REFERENCES s3_multipart_uploads(upload_id) ON DELETE CASCADE,
94
+ part_number INTEGER NOT NULL,
95
+ body BLOB NOT NULL,
96
+ etag TEXT NOT NULL,
97
+ last_modified TEXT NOT NULL,
98
+ checksum_value TEXT,
99
+ PRIMARY KEY (upload_id, part_number)
100
+ );
101
101
  `;
102
102
  export class PersistenceManager {
103
103
  db;
@@ -112,41 +112,41 @@ export class PersistenceManager {
112
112
  }
113
113
  prepareStatements() {
114
114
  return {
115
- insertQueue: this.db.prepare(`
116
- INSERT OR REPLACE INTO sqs_queues (name, url, arn, attributes, tags, created_timestamp, last_modified_timestamp, sequence_counter)
117
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)
115
+ insertQueue: this.db.prepare(`
116
+ INSERT OR REPLACE INTO sqs_queues (name, url, arn, attributes, tags, created_timestamp, last_modified_timestamp, sequence_counter)
117
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
118
118
  `),
119
119
  deleteQueue: this.db.prepare("DELETE FROM sqs_queues WHERE name = ?"),
120
120
  updateQueueAttributes: this.db.prepare("UPDATE sqs_queues SET attributes = ?, last_modified_timestamp = ? WHERE name = ?"),
121
121
  updateQueueSequenceCounter: this.db.prepare("UPDATE sqs_queues SET sequence_counter = ? WHERE name = ?"),
122
122
  loadQueues: this.db.prepare("SELECT * FROM sqs_queues"),
123
- insertMessage: this.db.prepare(`
124
- INSERT OR REPLACE INTO sqs_messages (
125
- message_id, queue_name, body, md5_of_body, message_attributes, md5_of_message_attributes,
126
- sent_timestamp, approximate_receive_count, approximate_first_receive_timestamp,
127
- delay_until, message_group_id, message_deduplication_id, sequence_number,
128
- receipt_handle, visibility_deadline
129
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
123
+ insertMessage: this.db.prepare(`
124
+ INSERT OR REPLACE INTO sqs_messages (
125
+ message_id, queue_name, body, md5_of_body, message_attributes, md5_of_message_attributes,
126
+ sent_timestamp, approximate_receive_count, approximate_first_receive_timestamp,
127
+ delay_until, message_group_id, message_deduplication_id, sequence_number,
128
+ receipt_handle, visibility_deadline
129
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
130
130
  `),
131
131
  deleteMessage: this.db.prepare("DELETE FROM sqs_messages WHERE message_id = ?"),
132
- updateMessageInflight: this.db.prepare(`
133
- UPDATE sqs_messages SET receipt_handle = ?, visibility_deadline = ?, approximate_receive_count = ?, approximate_first_receive_timestamp = ?
134
- WHERE message_id = ?
132
+ updateMessageInflight: this.db.prepare(`
133
+ UPDATE sqs_messages SET receipt_handle = ?, visibility_deadline = ?, approximate_receive_count = ?, approximate_first_receive_timestamp = ?
134
+ WHERE message_id = ?
135
135
  `),
136
136
  deleteQueueMessages: this.db.prepare("DELETE FROM sqs_messages WHERE queue_name = ?"),
137
137
  loadMessages: this.db.prepare("SELECT * FROM sqs_messages WHERE queue_name = ?"),
138
138
  deleteAllMessages: this.db.prepare("DELETE FROM sqs_messages"),
139
- insertTopic: this.db.prepare(`
140
- INSERT OR REPLACE INTO sns_topics (arn, name, attributes, tags, subscription_arns)
141
- VALUES (?, ?, ?, ?, ?)
139
+ insertTopic: this.db.prepare(`
140
+ INSERT OR REPLACE INTO sns_topics (arn, name, attributes, tags, subscription_arns)
141
+ VALUES (?, ?, ?, ?, ?)
142
142
  `),
143
143
  deleteTopic: this.db.prepare("DELETE FROM sns_topics WHERE arn = ?"),
144
144
  updateTopicAttributes: this.db.prepare("UPDATE sns_topics SET attributes = ? WHERE arn = ?"),
145
145
  updateTopicSubscriptionArns: this.db.prepare("UPDATE sns_topics SET subscription_arns = ? WHERE arn = ?"),
146
146
  loadTopics: this.db.prepare("SELECT * FROM sns_topics"),
147
- insertSubscription: this.db.prepare(`
148
- INSERT OR REPLACE INTO sns_subscriptions (arn, topic_arn, protocol, endpoint, confirmed, attributes)
149
- VALUES (?, ?, ?, ?, ?, ?)
147
+ insertSubscription: this.db.prepare(`
148
+ INSERT OR REPLACE INTO sns_subscriptions (arn, topic_arn, protocol, endpoint, confirmed, attributes)
149
+ VALUES (?, ?, ?, ?, ?, ?)
150
150
  `),
151
151
  deleteSubscription: this.db.prepare("DELETE FROM sns_subscriptions WHERE arn = ?"),
152
152
  updateSubscriptionAttributes: this.db.prepare("UPDATE sns_subscriptions SET attributes = ? WHERE arn = ?"),
@@ -154,33 +154,34 @@ export class PersistenceManager {
154
154
  insertBucket: this.db.prepare("INSERT OR REPLACE INTO s3_buckets (name, creation_date, type) VALUES (?, ?, ?)"),
155
155
  deleteBucket: this.db.prepare("DELETE FROM s3_buckets WHERE name = ?"),
156
156
  loadBuckets: this.db.prepare("SELECT * FROM s3_buckets"),
157
- upsertObject: this.db.prepare(`
158
- INSERT OR REPLACE INTO s3_objects (
159
- bucket, key, body, content_type, content_length, etag, last_modified, metadata,
160
- content_language, content_disposition, cache_control, content_encoding,
161
- parts, checksum_algorithm, checksum_value, checksum_type, part_checksums
162
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
157
+ upsertObject: this.db.prepare(`
158
+ INSERT OR REPLACE INTO s3_objects (
159
+ bucket, key, body, content_type, content_length, etag, last_modified, metadata,
160
+ content_language, content_disposition, cache_control, content_encoding,
161
+ parts, checksum_algorithm, checksum_value, checksum_type, part_checksums
162
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
163
163
  `),
164
164
  deleteObject: this.db.prepare("DELETE FROM s3_objects WHERE bucket = ? AND key = ?"),
165
165
  deleteObjectsByBucket: this.db.prepare("DELETE FROM s3_objects WHERE bucket = ?"),
166
166
  deleteAllObjects: this.db.prepare("DELETE FROM s3_objects"),
167
- loadObjects: this.db.prepare("SELECT * FROM s3_objects"),
168
- insertMultipartUpload: this.db.prepare(`
169
- INSERT OR REPLACE INTO s3_multipart_uploads (
170
- upload_id, bucket, key, content_type, metadata, initiated,
171
- content_language, content_disposition, cache_control, content_encoding, checksum_algorithm
172
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
167
+ loadObjectsMeta: this.db.prepare("SELECT bucket, key, content_type, content_length, etag, last_modified, metadata, content_language, content_disposition, cache_control, content_encoding, parts, checksum_algorithm, checksum_value, checksum_type, part_checksums FROM s3_objects"),
168
+ insertMultipartUpload: this.db.prepare(`
169
+ INSERT OR REPLACE INTO s3_multipart_uploads (
170
+ upload_id, bucket, key, content_type, metadata, initiated,
171
+ content_language, content_disposition, cache_control, content_encoding, checksum_algorithm
172
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
173
173
  `),
174
174
  deleteMultipartUpload: this.db.prepare("DELETE FROM s3_multipart_uploads WHERE upload_id = ?"),
175
175
  loadMultipartUploads: this.db.prepare("SELECT * FROM s3_multipart_uploads"),
176
- upsertMultipartPart: this.db.prepare(`
177
- INSERT OR REPLACE INTO s3_multipart_parts (upload_id, part_number, body, etag, last_modified, checksum_value)
178
- VALUES (?, ?, ?, ?, ?, ?)
176
+ upsertMultipartPart: this.db.prepare(`
177
+ INSERT OR REPLACE INTO s3_multipart_parts (upload_id, part_number, body, etag, last_modified, checksum_value)
178
+ VALUES (?, ?, ?, ?, ?, ?)
179
179
  `),
180
180
  deleteMultipartParts: this.db.prepare("DELETE FROM s3_multipart_parts WHERE upload_id = ?"),
181
181
  loadMultipartParts: this.db.prepare("SELECT * FROM s3_multipart_parts WHERE upload_id = ?"),
182
182
  deleteAllMultipartParts: this.db.prepare("DELETE FROM s3_multipart_parts"),
183
183
  deleteAllMultipartUploads: this.db.prepare("DELETE FROM s3_multipart_uploads"),
184
+ readBody: this.db.prepare("SELECT body FROM s3_objects WHERE bucket = ? AND key = ?"),
184
185
  };
185
186
  }
186
187
  transaction(fn) {
@@ -269,6 +270,13 @@ export class PersistenceManager {
269
270
  deleteAllObjects() {
270
271
  this.stmts.deleteAllObjects.run();
271
272
  }
273
+ readBody(bucket, key) {
274
+ const row = this.stmts.readBody.get(bucket, key);
275
+ if (!row) {
276
+ throw new Error(`Object not found in persistence: ${bucket}/${key}`);
277
+ }
278
+ return Buffer.from(row.body);
279
+ }
272
280
  renameObject(bucket, sourceKey, destKey) {
273
281
  this.transaction(() => {
274
282
  const row = this.db
@@ -297,6 +305,12 @@ export class PersistenceManager {
297
305
  this.stmts.deleteMultipartUpload.run(uploadId);
298
306
  });
299
307
  }
308
+ deleteAllMultipartUploads() {
309
+ this.transaction(() => {
310
+ this.stmts.deleteAllMultipartParts.run();
311
+ this.stmts.deleteAllMultipartUploads.run();
312
+ });
313
+ }
300
314
  // ── Bulk operations ──
301
315
  clearMessagesAndObjects() {
302
316
  this.transaction(() => {
@@ -320,9 +334,15 @@ export class PersistenceManager {
320
334
  }
321
335
  // ── Load on startup ──
322
336
  load(sqsStore, snsStore, s3Store) {
337
+ this.loadSqsAndSns(sqsStore, snsStore);
338
+ this.loadS3(s3Store);
339
+ }
340
+ loadSqsAndSns(sqsStore, snsStore) {
323
341
  this.loadSqsQueues(sqsStore);
324
342
  this.loadSnsTopics(snsStore);
325
343
  this.loadSnsSubscriptions(snsStore);
344
+ }
345
+ loadS3(s3Store) {
326
346
  this.loadS3Buckets(s3Store);
327
347
  this.loadS3Objects(s3Store);
328
348
  this.loadS3MultipartUploads(s3Store);
@@ -437,11 +457,12 @@ export class PersistenceManager {
437
457
  }
438
458
  }
439
459
  loadS3Objects(s3Store) {
440
- const rows = this.stmts.loadObjects.all();
460
+ // Load metadata only — bodies are read on demand via readBody()
461
+ const rows = this.stmts.loadObjectsMeta.all();
441
462
  for (const row of rows) {
442
463
  const obj = {
443
464
  key: row.key,
444
- body: Buffer.from(row.body),
465
+ body: Buffer.alloc(0),
445
466
  contentType: row.content_type,
446
467
  contentLength: row.content_length,
447
468
  etag: row.etag,
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAU/D,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGd,CAAC;AA0CF,MAAM,OAAO,kBAAkB;IACrB,EAAE,CAAe;IACjB,KAAK,CAAqB;IAElC,YAAY,OAAe;QACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACxC,CAAC;IAEO,iBAAiB;QACvB,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAG5B,CAAC;YACF,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC;YACrE,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CACpC,kFAAkF,CACnF;YACD,0BAA0B,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CACzC,2DAA2D,CAC5D;YACD,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;YACvD,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;OAO9B,CAAC;YACF,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC;YAC/E,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGtC,CAAC;YACF,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC;YACrF,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC;YAChF,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;YAC9D,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAG5B,CAAC;YACF,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC;YACpE,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC;YAC5F,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1C,2DAA2D,CAC5D;YACD,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGnC,CAAC;YACF,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC;YAClF,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAC3C,2DAA2D,CAC5D;YACD,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;YACrE,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAC3B,gFAAgF,CACjF;YACD,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC;YACtE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;YACxD,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;OAM7B,CAAC;YACF,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC;YACpF,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC;YACjF,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;YAC3D,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAC9B,mPAAmP,CACpP;YACD,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;OAKtC,CAAC;YACF,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CACpC,sDAAsD,CACvD;YACD,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC;YAC3E,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGpC,CAAC;YACF,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC;YAC3F,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC;YAC3F,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC;YAC1E,yBAAyB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC;YAC9E,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC;SACtF,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,EAAc;QAChC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,EAAE,EAAE,CAAC;YACL,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,gCAAgC;IAEhC,WAAW,CAAC,KAAe;QACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CACxB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC9C,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,qBAAqB,EAC3B,KAAK,CAAC,eAAe,CACtB,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB,CACnB,IAAY,EACZ,UAAkC,EAClC,YAAoB;QAEpB,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,0BAA0B,CAAC,IAAY,EAAE,OAAe;QACtD,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,kCAAkC;IAElC,aAAa,CAAC,SAAiB,EAAE,GAAe;QAC9C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAC1B,GAAG,CAAC,SAAS,EACb,SAAS,EACT,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,SAAS,EACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,EACrC,GAAG,CAAC,sBAAsB,EAC1B,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,uBAAuB,EAC3B,GAAG,CAAC,gCAAgC,IAAI,IAAI,EAC5C,GAAG,CAAC,UAAU,IAAI,IAAI,EACtB,GAAG,CAAC,cAAc,IAAI,IAAI,EAC1B,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAClC,GAAG,CAAC,cAAc,IAAI,IAAI,EAC1B,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAqB,CACnB,SAAiB,EACjB,aAAqB,EACrB,kBAA0B,EAC1B,YAAoB,EACpB,qBAAyC;QAEzC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAClC,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,IAAI,IAAI,EAC7B,SAAS,CACV,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED,gCAAgC;IAEhC,WAAW,CAAC,KAAe;QACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CACxB,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,qBAAqB,CAAC,GAAW,EAAE,UAAkC;QACnE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,2BAA2B,CAAC,GAAW,EAAE,IAAc;QACrD,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,uCAAuC;IAEvC,kBAAkB,CAAC,GAAoB;QACrC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAC/B,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAC/B,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC5B,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,4BAA4B,CAAC,GAAW,EAAE,UAAkC;QAC1E,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,gCAAgC;IAEhC,YAAY,CAAC,IAAY,EAAE,YAAkB,EAAE,IAAgB;QAC7D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,gCAAgC;IAEhC,YAAY,CAAC,MAAc,EAAE,GAAa;QACxC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CACzB,MAAM,EACN,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAC5B,GAAG,CAAC,eAAe,IAAI,IAAI,EAC3B,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAC9B,GAAG,CAAC,YAAY,IAAI,IAAI,EACxB,GAAG,CAAC,eAAe,IAAI,IAAI,EAC3B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC5C,GAAG,CAAC,iBAAiB,IAAI,IAAI,EAC7B,GAAG,CAAC,aAAa,IAAI,IAAI,EACzB,GAAG,CAAC,YAAY,IAAI,IAAI,EACxB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7D,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,GAAW;QACtC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,qBAAqB,CAAC,MAAc;QAClC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,GAAW;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAqC,CAAC;QACrF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAe;QAC7D,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;iBAChB,OAAO,CAAC,uDAAuD,CAAC;iBAChE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAwC,CAAC;YACjE,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM,CAAC,GAAG,GAAsD,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CACzB,MAAM,EACN,OAAO,EACP,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,YAAY,EACd,CAAC,CAAC,cAAc,EAChB,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,aAAa,EACf,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,gBAAgB,EAClB,CAAC,CAAC,mBAAmB,EACrB,CAAC,CAAC,aAAa,EACf,CAAC,CAAC,gBAAgB,EAClB,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,cAAc,EAChB,CAAC,CAAC,aAAa,EACf,CAAC,CAAC,cAAc,CACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAE1C,qBAAqB,CAAC,MAAuB;QAC3C,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAClC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC/B,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAC9B,MAAM,CAAC,eAAe,IAAI,IAAI,EAC9B,MAAM,CAAC,kBAAkB,IAAI,IAAI,EACjC,MAAM,CAAC,YAAY,IAAI,IAAI,EAC3B,MAAM,CAAC,eAAe,IAAI,IAAI,EAC9B,MAAM,CAAC,iBAAiB,IAAI,IAAI,CACjC,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,QAAgB,EAAE,IAAmB;QACvD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAChC,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAC/B,IAAI,CAAC,aAAa,IAAI,IAAI,CAC3B,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,QAAgB;QACpC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,uBAAuB,CAAC,QAAgB,EAAE,MAAc,EAAE,GAAa;QACrE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IAExB,uBAAuB;QACrB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;YAChD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAAE,CAAC;YACvD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;YAChD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IAExB,IAAI,CAAC,QAAkB,EAAE,QAAkB,EAAE,OAAgB;QAC3D,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,QAAkB,EAAE,QAAkB;QAClD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,OAAgB;QACrB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEO,aAAa,CAAC,QAAkB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EASpC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAEjF,+EAA+E;YAC/E,kEAAkE;YACjE,KAAsC,CAAC,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACjF,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC,uBAAuB,CAAC;YAC1D,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,gBAAgB,CAAC;YAE7C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAe;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAgBjD,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAe;gBACtB,SAAS,EAAE,GAAG,CAAC,UAAU;gBACzB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,GAAG,CAAC,WAAW;gBAC1B,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBACrD,sBAAsB,EAAE,GAAG,CAAC,yBAAyB;gBACrD,aAAa,EAAE,GAAG,CAAC,cAAc;gBACjC,uBAAuB,EAAE,GAAG,CAAC,yBAAyB;gBACtD,gCAAgC,EAAE,GAAG,CAAC,mCAAmC,IAAI,SAAS;gBACtF,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;gBACxC,cAAc,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;gBACjD,sBAAsB,EAAE,GAAG,CAAC,wBAAwB,IAAI,SAAS;gBACjE,cAAc,EAAE,GAAG,CAAC,eAAe,IAAI,SAAS;aACjD,CAAC;YAEF,sDAAsD;YACtD,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAClD,IAAI,GAAG,CAAC,mBAAmB,GAAG,GAAG,EAAE,CAAC;oBAClC,iBAAiB;oBACjB,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE;wBAC7C,OAAO,EAAE,GAAG;wBACZ,aAAa,EAAE,GAAG,CAAC,cAAc;wBACjC,kBAAkB,EAAE,GAAG,CAAC,mBAAmB;qBAC5C,CAAC,CAAC;oBACH,IAAI,GAAG,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;wBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;wBAClE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC5D,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,kDAAkD;gBAClD,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAClC,IAAI,EACJ,IAAI,EACJ,GAAG,CAAC,yBAAyB,EAC7B,GAAG,CAAC,mCAAmC,EACvC,GAAG,CAAC,UAAU,CACf,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC3C,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC;oBAClD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACnD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC;oBAClD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,QAAkB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAMpC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAa;gBACtB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;gBACtC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnD,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;aACpD,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,QAAkB;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAO3C,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAoB;gBAC3B,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,QAAQ,EAAE,GAAG,CAAC,SAAS;gBACvB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,CAAC;gBAC9B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;aACvC,CAAC;YACF,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,OAAgB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAIrC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAkB,CAAC,CAAC;YACvD,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,OAAgB;QACpC,gEAAgE;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAiBzC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAa;gBACpB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrB,WAAW,EAAE,GAAG,CAAC,YAAY;gBAC7B,aAAa,EAAE,GAAG,CAAC,cAAc;gBACjC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,YAAY,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;gBACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClC,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBACtE,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,kBAAkB,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAC/E,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC7D,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBACtE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,GAAG,CAAC,kBAAkB,IAAI;oBAC5B,iBAAiB,EAAE,GAAG,CAAC,kBAAuC;iBAC/D,CAAC;gBACF,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;gBAChE,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI;oBACvB,YAAY,EAAE,GAAG,CAAC,aAA4C;iBAC/D,CAAC;gBACF,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;aAC7E,CAAC;YACF,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,OAAgB;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAYpD,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAoB;gBAC9B,QAAQ,EAAE,GAAG,CAAC,SAAS;gBACvB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,WAAW,EAAE,GAAG,CAAC,YAAY;gBAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClC,KAAK,EAAE,IAAI,GAAG,EAAE;gBAChB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBAClC,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBACtE,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,kBAAkB,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAC/E,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC7D,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBACtE,GAAG,CAAC,GAAG,CAAC,kBAAkB,IAAI;oBAC5B,iBAAiB,EAAE,GAAG,CAAC,kBAAuC;iBAC/D,CAAC;aACH,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAO9D,CAAC;YAEH,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE;oBACjC,UAAU,EAAE,IAAI,CAAC,WAAW;oBAC5B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;oBAC1C,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;iBACnE,CAAC,CAAC;YACL,CAAC;YAED,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  export function getObjectAttributes(request, reply, store) {
2
2
  const bucket = request.params.bucket;
3
3
  const key = request.params["*"];
4
- const obj = store.getObject(bucket, key);
4
+ const obj = store.headObject(bucket, key);
5
5
  const requestedAttrs = (request.headers["x-amz-object-attributes"] ?? "")
6
6
  .split(",")
7
7
  .map((s) => s.trim())
@@ -1 +1 @@
1
- {"version":3,"file":"getObjectAttributes.js","sourceRoot":"","sources":["../../../src/s3/actions/getObjectAttributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getObjectAttributes.js","sourceRoot":"","sources":["../../../src/s3/actions/getObjectAttributes.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export function renameObject(request, reply, store) {
13
13
  throw new S3Error("InvalidRequest", "RenameObject does not support objects with keys ending in the / delimiter.", 400);
14
14
  }
15
15
  // Source conditionals (evaluated against source object)
16
- const sourceObj = store.getObject(bucket, sourceKey);
16
+ const sourceObj = store.headObject(bucket, sourceKey);
17
17
  const srcIfMatch = request.headers["x-amz-rename-source-if-match"];
18
18
  if (srcIfMatch && srcIfMatch !== sourceObj.etag) {
19
19
  throw new S3Error("PreconditionFailed", "At least one of the pre-conditions you specified did not hold", 412);
@@ -47,7 +47,7 @@ export function renameObject(request, reply, store) {
47
47
  const ifUnmodifiedSince = request.headers["if-unmodified-since"];
48
48
  const hasDestConditionals = !!(ifMatch || ifNoneMatch || ifModifiedSince || ifUnmodifiedSince);
49
49
  try {
50
- const destObj = store.getObject(bucket, destKey);
50
+ const destObj = store.headObject(bucket, destKey);
51
51
  // Destination exists
52
52
  if (!hasDestConditionals) {
53
53
  // No conditionals provided — AWS rejects overwrite by default
@@ -1 +1 @@
1
- {"version":3,"file":"renameObject.js","sourceRoot":"","sources":["../../../src/s3/actions/renameObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renameObject.js","sourceRoot":"","sources":["../../../src/s3/actions/renameObject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { S3PersistenceProvider } from "./s3Persistence.ts";
2
+ import type { S3Store, BucketType } from "./s3Store.ts";
3
+ import type { S3Object, MultipartUpload, MultipartPart } from "./s3Types.ts";
4
+ export declare class FileS3Persistence implements S3PersistenceProvider {
5
+ private baseDir;
6
+ private bucketsDir;
7
+ private multipartDir;
8
+ constructor(baseDir: string);
9
+ insertBucket(name: string, creationDate: Date, type: BucketType): void;
10
+ deleteBucket(name: string): void;
11
+ upsertObject(bucket: string, obj: S3Object): void;
12
+ deleteObject(bucket: string, key: string): void;
13
+ deleteObjectsByBucket(bucket: string): void;
14
+ deleteAllObjects(): void;
15
+ renameObject(bucket: string, sourceKey: string, destKey: string): void;
16
+ readBody(bucket: string, key: string): Buffer;
17
+ insertMultipartUpload(upload: MultipartUpload): void;
18
+ upsertMultipartPart(uploadId: string, part: MultipartPart): void;
19
+ deleteMultipartUpload(uploadId: string): void;
20
+ completeMultipartUpload(uploadId: string, bucket: string, obj: S3Object): void;
21
+ deleteAllMultipartUploads(): void;
22
+ loadS3(s3Store: S3Store): void;
23
+ private loadBuckets;
24
+ private loadObjects;
25
+ private loadMultipartUploads;
26
+ /** Recursively walk a directory for .meta.json files */
27
+ private walkMetaFiles;
28
+ /** Remove empty directories up the chain, stopping at (but not including) stopAt */
29
+ private cleanEmptyParents;
30
+ /** Remove all data (buckets, objects, multipart uploads) from the storage directory. */
31
+ purgeAll(): void;
32
+ close(): void;
33
+ }
34
+ //# sourceMappingURL=fileS3Persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileS3Persistence.d.ts","sourceRoot":"","sources":["../../src/s3/fileS3Persistence.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAqB,MAAM,cAAc,CAAC;AA+DhG,qBAAa,iBAAkB,YAAW,qBAAqB;IAC7D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,MAAM;IAU3B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAOtE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAShC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI;IA6BjD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAqB/C,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ3C,gBAAgB,IAAI,IAAI;IAYxB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA6BtE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7C,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAoBpD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAchE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO7C,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI;IAK9E,yBAAyB,IAAI,IAAI;IASjC,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM9B,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;IAkCnB,OAAO,CAAC,oBAAoB;IA+C5B,wDAAwD;IACxD,OAAO,CAAC,aAAa;IAWrB,oFAAoF;IACpF,OAAO,CAAC,iBAAiB;IAiBzB,wFAAwF;IACxF,QAAQ,IAAI,IAAI;IAQhB,KAAK,IAAI,IAAI;CAGd"}