@zhin.js/database 1.0.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.
Files changed (109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +93 -0
  3. package/lib/base/database.d.ts +71 -0
  4. package/lib/base/database.d.ts.map +1 -0
  5. package/lib/base/database.js +101 -0
  6. package/lib/base/database.js.map +1 -0
  7. package/lib/base/dialect.d.ts +34 -0
  8. package/lib/base/dialect.d.ts.map +1 -0
  9. package/lib/base/dialect.js +21 -0
  10. package/lib/base/dialect.js.map +1 -0
  11. package/lib/base/index.d.ts +6 -0
  12. package/lib/base/index.d.ts.map +1 -0
  13. package/lib/base/index.js +6 -0
  14. package/lib/base/index.js.map +1 -0
  15. package/lib/base/model.d.ts +53 -0
  16. package/lib/base/model.d.ts.map +1 -0
  17. package/lib/base/model.js +65 -0
  18. package/lib/base/model.js.map +1 -0
  19. package/lib/base/query-classes.d.ts +68 -0
  20. package/lib/base/query-classes.d.ts.map +1 -0
  21. package/lib/base/query-classes.js +178 -0
  22. package/lib/base/query-classes.js.map +1 -0
  23. package/lib/base/thenable.d.ts +15 -0
  24. package/lib/base/thenable.d.ts.map +1 -0
  25. package/lib/base/thenable.js +33 -0
  26. package/lib/base/thenable.js.map +1 -0
  27. package/lib/dialects/memory.d.ts +52 -0
  28. package/lib/dialects/memory.d.ts.map +1 -0
  29. package/lib/dialects/memory.js +772 -0
  30. package/lib/dialects/memory.js.map +1 -0
  31. package/lib/dialects/mongodb.d.ts +85 -0
  32. package/lib/dialects/mongodb.d.ts.map +1 -0
  33. package/lib/dialects/mongodb.js +461 -0
  34. package/lib/dialects/mongodb.js.map +1 -0
  35. package/lib/dialects/mysql.d.ts +33 -0
  36. package/lib/dialects/mysql.d.ts.map +1 -0
  37. package/lib/dialects/mysql.js +132 -0
  38. package/lib/dialects/mysql.js.map +1 -0
  39. package/lib/dialects/pg.d.ts +33 -0
  40. package/lib/dialects/pg.d.ts.map +1 -0
  41. package/lib/dialects/pg.js +132 -0
  42. package/lib/dialects/pg.js.map +1 -0
  43. package/lib/dialects/redis.d.ts +87 -0
  44. package/lib/dialects/redis.d.ts.map +1 -0
  45. package/lib/dialects/redis.js +500 -0
  46. package/lib/dialects/redis.js.map +1 -0
  47. package/lib/dialects/sqlite.d.ts +46 -0
  48. package/lib/dialects/sqlite.d.ts.map +1 -0
  49. package/lib/dialects/sqlite.js +201 -0
  50. package/lib/dialects/sqlite.js.map +1 -0
  51. package/lib/index.d.ts +18 -0
  52. package/lib/index.d.ts.map +1 -0
  53. package/lib/index.js +18 -0
  54. package/lib/index.js.map +1 -0
  55. package/lib/registry.d.ts +37 -0
  56. package/lib/registry.d.ts.map +1 -0
  57. package/lib/registry.js +21 -0
  58. package/lib/registry.js.map +1 -0
  59. package/lib/type/document/database.d.ts +60 -0
  60. package/lib/type/document/database.d.ts.map +1 -0
  61. package/lib/type/document/database.js +242 -0
  62. package/lib/type/document/database.js.map +1 -0
  63. package/lib/type/document/model.d.ts +42 -0
  64. package/lib/type/document/model.d.ts.map +1 -0
  65. package/lib/type/document/model.js +65 -0
  66. package/lib/type/document/model.js.map +1 -0
  67. package/lib/type/keyvalue/database.d.ts +64 -0
  68. package/lib/type/keyvalue/database.d.ts.map +1 -0
  69. package/lib/type/keyvalue/database.js +214 -0
  70. package/lib/type/keyvalue/database.js.map +1 -0
  71. package/lib/type/keyvalue/model.d.ts +107 -0
  72. package/lib/type/keyvalue/model.d.ts.map +1 -0
  73. package/lib/type/keyvalue/model.js +261 -0
  74. package/lib/type/keyvalue/model.js.map +1 -0
  75. package/lib/type/related/database.d.ts +32 -0
  76. package/lib/type/related/database.d.ts.map +1 -0
  77. package/lib/type/related/database.js +334 -0
  78. package/lib/type/related/database.js.map +1 -0
  79. package/lib/type/related/model.d.ts +43 -0
  80. package/lib/type/related/model.d.ts.map +1 -0
  81. package/lib/type/related/model.js +108 -0
  82. package/lib/type/related/model.js.map +1 -0
  83. package/lib/types.d.ts +251 -0
  84. package/lib/types.d.ts.map +1 -0
  85. package/lib/types.js +28 -0
  86. package/lib/types.js.map +1 -0
  87. package/package.json +54 -0
  88. package/src/base/database.ts +128 -0
  89. package/src/base/dialect.ts +76 -0
  90. package/src/base/index.ts +5 -0
  91. package/src/base/model.ts +89 -0
  92. package/src/base/query-classes.ts +217 -0
  93. package/src/base/thenable.ts +54 -0
  94. package/src/dialects/memory.ts +880 -0
  95. package/src/dialects/mongodb.ts +533 -0
  96. package/src/dialects/mysql.ts +157 -0
  97. package/src/dialects/pg.ts +157 -0
  98. package/src/dialects/redis.ts +598 -0
  99. package/src/dialects/sqlite.ts +233 -0
  100. package/src/index.ts +20 -0
  101. package/src/registry.ts +59 -0
  102. package/src/type/document/database.ts +283 -0
  103. package/src/type/document/model.ts +86 -0
  104. package/src/type/keyvalue/database.ts +261 -0
  105. package/src/type/keyvalue/model.ts +339 -0
  106. package/src/type/related/database.ts +392 -0
  107. package/src/type/related/model.ts +117 -0
  108. package/src/types.ts +403 -0
  109. package/tsconfig.json +24 -0
@@ -0,0 +1,178 @@
1
+ import { ThenableQuery } from './thenable.js';
2
+ export class Alteration extends ThenableQuery {
3
+ tableName;
4
+ alterations;
5
+ constructor(database, tableName, alterations) {
6
+ super(database, database.dialect);
7
+ this.tableName = tableName;
8
+ this.alterations = alterations;
9
+ }
10
+ getQueryParams() {
11
+ return {
12
+ type: 'alter',
13
+ tableName: this.tableName,
14
+ alterations: this.alterations
15
+ };
16
+ }
17
+ }
18
+ export class DroppingTable extends ThenableQuery {
19
+ tableName;
20
+ conditions = {};
21
+ constructor(database, tableName) {
22
+ super(database, database.dialect);
23
+ this.tableName = tableName;
24
+ }
25
+ where(query) {
26
+ this.conditions = { ...this.conditions, ...query };
27
+ return this;
28
+ }
29
+ getQueryParams() {
30
+ return {
31
+ type: 'drop_table',
32
+ tableName: this.tableName,
33
+ conditions: this.conditions
34
+ };
35
+ }
36
+ }
37
+ export class DroppingIndex extends ThenableQuery {
38
+ indexName;
39
+ tableName;
40
+ conditions = {};
41
+ constructor(database, indexName, tableName) {
42
+ super(database, database.dialect);
43
+ this.indexName = indexName;
44
+ this.tableName = tableName;
45
+ }
46
+ where(query) {
47
+ this.conditions = { ...this.conditions, ...query };
48
+ return this;
49
+ }
50
+ getQueryParams() {
51
+ return {
52
+ type: 'drop_index',
53
+ tableName: this.tableName,
54
+ indexName: this.indexName,
55
+ conditions: this.conditions
56
+ };
57
+ }
58
+ }
59
+ export class Creation extends ThenableQuery {
60
+ tableName;
61
+ schema;
62
+ constructor(database, tableName, schema) {
63
+ super(database, database.dialect);
64
+ this.tableName = tableName;
65
+ this.schema = schema;
66
+ }
67
+ getQueryParams() {
68
+ return {
69
+ type: 'create',
70
+ tableName: this.tableName,
71
+ schema: this.schema
72
+ };
73
+ }
74
+ }
75
+ export class Selection extends ThenableQuery {
76
+ modelName;
77
+ fields;
78
+ conditions = {};
79
+ groupings = [];
80
+ orderings = [];
81
+ limitCount;
82
+ offsetCount;
83
+ constructor(database, modelName, fields) {
84
+ super(database, database.dialect);
85
+ this.modelName = modelName;
86
+ this.fields = fields;
87
+ }
88
+ where(query) {
89
+ this.conditions = { ...this.conditions, ...query };
90
+ return this;
91
+ }
92
+ groupBy(...fields) {
93
+ this.groupings.push(...fields);
94
+ return this;
95
+ }
96
+ orderBy(field, direction = "ASC") {
97
+ this.orderings.push({ field, direction });
98
+ return this;
99
+ }
100
+ limit(count) {
101
+ this.limitCount = count;
102
+ return this;
103
+ }
104
+ offset(count) {
105
+ this.offsetCount = count;
106
+ return this;
107
+ }
108
+ getQueryParams() {
109
+ return {
110
+ type: 'select',
111
+ tableName: this.modelName,
112
+ fields: this.fields,
113
+ conditions: this.conditions,
114
+ groupings: this.groupings,
115
+ orderings: this.orderings,
116
+ limitCount: this.limitCount,
117
+ offsetCount: this.offsetCount
118
+ };
119
+ }
120
+ }
121
+ export class Insertion extends ThenableQuery {
122
+ modelName;
123
+ data;
124
+ constructor(database, modelName, data) {
125
+ super(database, database.dialect);
126
+ this.modelName = modelName;
127
+ this.data = data;
128
+ }
129
+ getQueryParams() {
130
+ return {
131
+ type: 'insert',
132
+ tableName: this.modelName,
133
+ data: this.data
134
+ };
135
+ }
136
+ }
137
+ export class Updation extends ThenableQuery {
138
+ modelName;
139
+ update;
140
+ conditions = {};
141
+ constructor(database, modelName, update) {
142
+ super(database, database.dialect);
143
+ this.modelName = modelName;
144
+ this.update = update;
145
+ }
146
+ where(query) {
147
+ this.conditions = { ...this.conditions, ...query };
148
+ return this;
149
+ }
150
+ getQueryParams() {
151
+ return {
152
+ type: 'update',
153
+ tableName: this.modelName,
154
+ update: this.update,
155
+ conditions: this.conditions
156
+ };
157
+ }
158
+ }
159
+ export class Deletion extends ThenableQuery {
160
+ modelName;
161
+ conditions = {};
162
+ constructor(database, modelName) {
163
+ super(database, database.dialect);
164
+ this.modelName = modelName;
165
+ }
166
+ where(query) {
167
+ this.conditions = { ...this.conditions, ...query };
168
+ return this;
169
+ }
170
+ getQueryParams() {
171
+ return {
172
+ type: 'delete',
173
+ tableName: this.modelName,
174
+ conditions: this.conditions
175
+ };
176
+ }
177
+ }
178
+ //# sourceMappingURL=query-classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-classes.js","sourceRoot":"","sources":["../../src/base/query-classes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Database } from "./database.js";
2
+ import type { Dialect } from "./dialect.js";
3
+ import { QueryParams } from "../types.js";
4
+ export declare abstract class ThenableQuery<T = any, C = any, D = string> implements PromiseLike<T>, AsyncIterable<T> {
5
+ protected readonly database: Database<C, Record<string, object>, D>;
6
+ protected readonly dialect: Dialect<C, D>;
7
+ protected constructor(database: Database<C, Record<string, object>, D>, dialect: Dialect<C, D>);
8
+ protected abstract getQueryParams(): QueryParams;
9
+ [Symbol.toStringTag]: string;
10
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
11
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<any | TResult>;
12
+ finally(onfinally?: (() => void) | undefined | null): Promise<any>;
13
+ [Symbol.asyncIterator](): AsyncIterator<T, void, unknown>;
14
+ }
15
+ //# sourceMappingURL=thenable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thenable.d.ts","sourceRoot":"","sources":["../../src/base/thenable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,8BAAsB,aAAa,CAAC,CAAC,GAAG,GAAG,EAAC,CAAC,GAAC,GAAG,EAAC,CAAC,GAAC,MAAM,CACxD,YAAW,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,CAAC,CAAC;IAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC;IAAhI,SAAS,aAAgC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,CAAC,CAAC,EAAoB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC;IAGhI,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,WAAW;IAChD,CAAC,MAAM,CAAC,WAAW,CAAC,SAAmB;IACvC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EACjC,WAAW,CAAC,EACR,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAChD,SAAS,GACT,IAAI,EACR,UAAU,CAAC,EACP,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GACnD,SAAS,GACT,IAAI,GACP,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAM/B,KAAK,CAAC,OAAO,GAAG,KAAK,EACnB,UAAU,CAAC,EACP,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GACjD,SAAS,GACT,IAAI,GACP,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;IAMzB,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAM3D,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;CAQjE"}
@@ -0,0 +1,33 @@
1
+ export class ThenableQuery {
2
+ database;
3
+ dialect;
4
+ constructor(database, dialect) {
5
+ this.database = database;
6
+ this.dialect = dialect;
7
+ }
8
+ [Symbol.toStringTag] = 'ThenableQuery';
9
+ then(onfulfilled, onrejected) {
10
+ const params = this.getQueryParams();
11
+ const { query, params: queryParams } = this.database.buildQuery(params);
12
+ return this.dialect.query(query, queryParams).then(onfulfilled, onrejected);
13
+ }
14
+ catch(onrejected) {
15
+ const params = this.getQueryParams();
16
+ const { query, params: queryParams } = this.database.buildQuery(params);
17
+ return this.dialect.query(query, queryParams).catch(onrejected);
18
+ }
19
+ finally(onfinally) {
20
+ const params = this.getQueryParams();
21
+ const { query, params: queryParams } = this.database.buildQuery(params);
22
+ return this.dialect.query(query, queryParams).finally(onfinally);
23
+ }
24
+ async *[Symbol.asyncIterator]() {
25
+ const params = this.getQueryParams();
26
+ const { query, params: queryParams } = this.database.buildQuery(params);
27
+ const rows = await this.dialect.query(query, queryParams);
28
+ for (const row of Array.isArray(rows) ? rows : [rows]) {
29
+ yield row;
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=thenable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thenable.js","sourceRoot":"","sources":["../../src/base/thenable.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,aAAa;IAGQ;IAAkE;IAA3G,YAAyC,QAA8C,EAAoB,OAAqB;QAAvF,aAAQ,GAAR,QAAQ,CAAsC;QAAoB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAIpI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC;IACvC,IAAI,CACF,WAGQ,EACR,UAGQ;QAER,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAI,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CACH,UAGQ;QAER,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,SAA2C;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,52 @@
1
+ import { Dialect } from '../base';
2
+ import { MemoryConfig } from "../types";
3
+ export declare class MemoryDialect extends Dialect<MemoryConfig, string> {
4
+ private connected;
5
+ private tables;
6
+ private autoIncrementCounters;
7
+ constructor(config?: MemoryConfig);
8
+ isConnected(): boolean;
9
+ connect(): Promise<void>;
10
+ disconnect(): Promise<void>;
11
+ healthCheck(): Promise<boolean>;
12
+ query<U = any>(sql: string, params?: any[]): Promise<U>;
13
+ dispose(): Promise<void>;
14
+ mapColumnType(type: string): string;
15
+ quoteIdentifier(identifier: string): string;
16
+ getParameterPlaceholder(index: number): string;
17
+ getStatementTerminator(): string;
18
+ formatBoolean(value: boolean): string;
19
+ formatDate(value: Date): string;
20
+ formatJson(value: any): string;
21
+ escapeString(value: string): string;
22
+ formatDefaultValue(value: any): string;
23
+ formatLimit(limit: number): string;
24
+ formatOffset(offset: number): string;
25
+ formatLimitOffset(limit: number, offset: number): string;
26
+ formatCreateTable(tableName: string, columns: string[]): string;
27
+ formatAlterTable(tableName: string, alterations: string[]): string;
28
+ formatDropTable(tableName: string, ifExists?: boolean): string;
29
+ formatDropIndex(indexName: string, tableName: string, ifExists?: boolean): string;
30
+ private executeCreateTable;
31
+ private executeInsert;
32
+ private executeSelect;
33
+ private executeUpdate;
34
+ private executeDelete;
35
+ private executeAlterTable;
36
+ private executeDropTable;
37
+ private executeDropIndex;
38
+ private executeCreateIndex;
39
+ private parseValues;
40
+ private parseValue;
41
+ private unescapeString;
42
+ private isDateString;
43
+ private applyWhereCondition;
44
+ private parseWhereClause;
45
+ private tokenizeWhereClause;
46
+ private parseLogicalExpression;
47
+ private parseComparisonExpression;
48
+ private evaluateCondition;
49
+ private evaluateComparison;
50
+ private applyOrderBy;
51
+ }
52
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/dialects/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAiBtC,qBAAa,aAAc,SAAQ,OAAO,CAAC,YAAY,EAAC,MAAM,CAAC;IAC7D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,qBAAqB,CAA+C;gBAEhE,MAAM,GAAE,YAAiB;IAKrC,WAAW,IAAI,OAAO;IAIhB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IA+BvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAanC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI3C,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI9C,sBAAsB,IAAI,MAAM;IAIhC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAIrC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAI/B,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAI9B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAgBtC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIlC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIpC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAIxD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;IAI/D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IAIlE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IAK9D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IAMjF,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,aAAa;IAoDrB,OAAO,CAAC,aAAa;IAwDrB,OAAO,CAAC,aAAa;IA6CrB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,kBAAkB;IAmD1B,OAAO,CAAC,WAAW;IA2CnB,OAAO,CAAC,UAAU;IAkDlB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,mBAAmB;IA0D3B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,yBAAyB;IAiCjC,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,kBAAkB;IAwD1B,OAAO,CAAC,YAAY;CAyBrB"}