@cnhongwei/react-native-mqtt 0.0.0-stage → 0.1.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 (58) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +169 -2
  3. package/README.zh-CN.md +100 -0
  4. package/ReactNativeMqtt.podspec +28 -0
  5. package/THIRD_PARTY_NOTICES.md +17 -0
  6. package/android/build.gradle +70 -0
  7. package/android/consumer-rules.pro +10 -0
  8. package/android/src/main/AndroidManifest.xml +2 -0
  9. package/android/src/main/java/com/cnhongwei/reactnativemqtt/MqttOptionsParser.kt +176 -0
  10. package/android/src/main/java/com/cnhongwei/reactnativemqtt/MqttSession.kt +1006 -0
  11. package/android/src/main/java/com/cnhongwei/reactnativemqtt/PahoLogger.java +44 -0
  12. package/android/src/main/java/com/cnhongwei/reactnativemqtt/PahoMqttTransport.kt +399 -0
  13. package/android/src/main/java/com/cnhongwei/reactnativemqtt/ReactNativeMqttModule.kt +619 -0
  14. package/android/src/main/java/com/cnhongwei/reactnativemqtt/ReactNativeMqttPackage.kt +31 -0
  15. package/ios/ReactNativeMqtt.h +15 -0
  16. package/ios/ReactNativeMqtt.mm +1184 -0
  17. package/ios/ReactNativeMqttCocoaTransport.swift +782 -0
  18. package/ios/ReactNativeMqttConnAckProbe.swift +87 -0
  19. package/ios/ReactNativeMqttSession.swift +420 -0
  20. package/lib/module/NativeReactNativeMqtt.js +5 -0
  21. package/lib/module/NativeReactNativeMqtt.js.map +1 -0
  22. package/lib/module/client.js +555 -0
  23. package/lib/module/client.js.map +1 -0
  24. package/lib/module/errors.js +20 -0
  25. package/lib/module/errors.js.map +1 -0
  26. package/lib/module/helpers.js +116 -0
  27. package/lib/module/helpers.js.map +1 -0
  28. package/lib/module/index.js +8 -0
  29. package/lib/module/index.js.map +1 -0
  30. package/lib/module/package.json +1 -0
  31. package/lib/module/types.js +2 -0
  32. package/lib/module/types.js.map +1 -0
  33. package/lib/module/validation.js +306 -0
  34. package/lib/module/validation.js.map +1 -0
  35. package/lib/typescript/package.json +1 -0
  36. package/lib/typescript/src/NativeReactNativeMqtt.d.ts +154 -0
  37. package/lib/typescript/src/NativeReactNativeMqtt.d.ts.map +1 -0
  38. package/lib/typescript/src/client.d.ts +3 -0
  39. package/lib/typescript/src/client.d.ts.map +1 -0
  40. package/lib/typescript/src/errors.d.ts +18 -0
  41. package/lib/typescript/src/errors.d.ts.map +1 -0
  42. package/lib/typescript/src/helpers.d.ts +5 -0
  43. package/lib/typescript/src/helpers.d.ts.map +1 -0
  44. package/lib/typescript/src/index.d.ts +9 -0
  45. package/lib/typescript/src/index.d.ts.map +1 -0
  46. package/lib/typescript/src/types.d.ts +161 -0
  47. package/lib/typescript/src/types.d.ts.map +1 -0
  48. package/lib/typescript/src/validation.d.ts +13 -0
  49. package/lib/typescript/src/validation.d.ts.map +1 -0
  50. package/package.json +188 -4
  51. package/react-native.config.js +1 -0
  52. package/src/NativeReactNativeMqtt.ts +173 -0
  53. package/src/client.ts +859 -0
  54. package/src/errors.ts +51 -0
  55. package/src/helpers.ts +151 -0
  56. package/src/index.ts +30 -0
  57. package/src/types.ts +184 -0
  58. package/src/validation.ts +735 -0
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ import { MqttError } from "./errors.js";
4
+ const textEncoder = () => {
5
+ const ctor = globalThis.TextEncoder;
6
+ return ctor === undefined ? undefined : new ctor();
7
+ };
8
+ const textDecoder = () => {
9
+ const ctor = globalThis.TextDecoder;
10
+ return ctor === undefined ? undefined : new ctor('utf-8', {
11
+ fatal: true
12
+ });
13
+ };
14
+ function invalidPayload(message) {
15
+ return new MqttError('ERR_INVALID_PAYLOAD', message, {
16
+ outcome: 'not-sent'
17
+ });
18
+ }
19
+ export function encodeUtf8(text) {
20
+ const encoder = textEncoder();
21
+ if (encoder === undefined) throw invalidPayload('TextEncoder is unavailable');
22
+ return encoder.encode(text);
23
+ }
24
+ export function decodeUtf8(bytes) {
25
+ const decoder = textDecoder();
26
+ if (decoder !== undefined) {
27
+ try {
28
+ return decoder.decode(bytes);
29
+ } catch {
30
+ throw invalidPayload('Payload is not valid UTF-8');
31
+ }
32
+ }
33
+
34
+ // Hermes/RN versions without TextDecoder still need a deterministic,
35
+ // strict decoder for incoming MQTT payloads.
36
+ let result = '';
37
+ const codePoints = [];
38
+ const flush = () => {
39
+ if (codePoints.length === 0) return;
40
+ result += String.fromCodePoint(...codePoints);
41
+ codePoints.length = 0;
42
+ };
43
+ const continuation = index => {
44
+ const value = bytes[index];
45
+ if (value === undefined || (value & 0xc0) !== 0x80) throw invalidPayload('Payload is not valid UTF-8');
46
+ return value & 0x3f;
47
+ };
48
+ for (let index = 0; index < bytes.length; index += 1) {
49
+ const first = bytes[index];
50
+ if (first === undefined) throw invalidPayload('Payload is not valid UTF-8');
51
+ if (first <= 0x7f) {
52
+ codePoints.push(first);
53
+ continue;
54
+ }
55
+ let codePoint;
56
+ if (first >= 0xc2 && first <= 0xdf) {
57
+ codePoint = (first & 0x1f) << 6 | continuation(index + 1);
58
+ index += 1;
59
+ } else if (first >= 0xe0 && first <= 0xef) {
60
+ const second = bytes[index + 1];
61
+ if (second === undefined || (second & 0xc0) !== 0x80 || first === 0xe0 && second < 0xa0 || first === 0xed && second > 0x9f) throw invalidPayload('Payload is not valid UTF-8');
62
+ codePoint = (first & 0x0f) << 12 | (second & 0x3f) << 6 | continuation(index + 2);
63
+ index += 2;
64
+ } else if (first >= 0xf0 && first <= 0xf4) {
65
+ const second = bytes[index + 1];
66
+ if (second === undefined || (second & 0xc0) !== 0x80 || first === 0xf0 && second < 0x90 || first === 0xf4 && second > 0x8f) throw invalidPayload('Payload is not valid UTF-8');
67
+ codePoint = (first & 0x07) << 18 | (second & 0x3f) << 12 | continuation(index + 2) << 6 | continuation(index + 3);
68
+ index += 3;
69
+ } else {
70
+ throw invalidPayload('Payload is not valid UTF-8');
71
+ }
72
+ codePoints.push(codePoint);
73
+ if (codePoints.length >= 0x4000) flush();
74
+ }
75
+ flush();
76
+ return result;
77
+ }
78
+ const base64Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
79
+ export function encodeBase64(bytes) {
80
+ let result = '';
81
+ for (let index = 0; index < bytes.length; index += 3) {
82
+ const a = bytes[index] ?? 0;
83
+ const b = bytes[index + 1];
84
+ const c = bytes[index + 2];
85
+ result += base64Alphabet[a >> 2];
86
+ result += base64Alphabet[(a & 3) << 4 | (b ?? 0) >> 4];
87
+ result += b === undefined ? '=' : base64Alphabet[(b & 15) << 2 | (c ?? 0) >> 6];
88
+ result += c === undefined ? '=' : base64Alphabet[c & 63];
89
+ }
90
+ return result;
91
+ }
92
+ export function decodeBase64(text) {
93
+ if (text.length % 4 !== 0 || /[^A-Za-z0-9+/=]/.test(text)) throw invalidPayload('Base64 must use RFC 4648 alphabet and padding');
94
+ const padding = text.endsWith('==') ? 2 : text.endsWith('=') ? 1 : 0;
95
+ const firstPadding = text.indexOf('=');
96
+ if (firstPadding >= 0 && firstPadding < text.length - padding) throw invalidPayload('Base64 padding is invalid');
97
+ const output = new Uint8Array(text.length / 4 * 3 - padding);
98
+ let outputIndex = 0;
99
+ for (let index = 0; index < text.length; index += 4) {
100
+ const chars = text.slice(index, index + 4);
101
+ const values = chars.split('').map(char => char === '=' ? 0 : base64Alphabet.indexOf(char));
102
+ const v0 = values[0] ?? -1;
103
+ const v1 = values[1] ?? -1;
104
+ const v2 = values[2] ?? -1;
105
+ const v3 = values[3] ?? -1;
106
+ if ([v0, v1, v2, v3].some(value => value < 0)) throw invalidPayload('Base64 contains an invalid character');
107
+ if (chars[2] === '=' && (v1 & 15) !== 0) throw invalidPayload('Base64 has non-zero trailing bits');
108
+ if (chars[3] === '=' && chars[2] !== '=' && (v2 & 3) !== 0) throw invalidPayload('Base64 has non-zero trailing bits');
109
+ const combined = v0 << 18 | v1 << 12 | v2 << 6 | v3;
110
+ if (outputIndex < output.length) output[outputIndex++] = combined >> 16 & 255;
111
+ if (outputIndex < output.length) output[outputIndex++] = combined >> 8 & 255;
112
+ if (outputIndex < output.length) output[outputIndex++] = combined & 255;
113
+ }
114
+ return output;
115
+ }
116
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MqttError","textEncoder","ctor","globalThis","TextEncoder","undefined","textDecoder","TextDecoder","fatal","invalidPayload","message","outcome","encodeUtf8","text","encoder","encode","decodeUtf8","bytes","decoder","decode","result","codePoints","flush","length","String","fromCodePoint","continuation","index","value","first","push","codePoint","second","base64Alphabet","encodeBase64","a","b","c","decodeBase64","test","padding","endsWith","firstPadding","indexOf","output","Uint8Array","outputIndex","chars","slice","values","split","map","char","v0","v1","v2","v3","some","combined"],"sourceRoot":"../../src","sources":["helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ export { MqttError } from "./errors.js";
4
+ export { createMqttClient } from "./client.js";
5
+ export { decodeBase64, decodeUtf8, encodeBase64, encodeUtf8 } from "./helpers.js";
6
+ export const packageName = '@cnhongwei/react-native-mqtt';
7
+ export const packageVersion = '0.1.0';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MqttError","createMqttClient","decodeBase64","decodeUtf8","encodeBase64","encodeUtf8","packageName","packageVersion"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AACA,SAASA,SAAS,QAAQ,aAAU;AAEpC,SAASC,gBAAgB,QAAQ,aAAU;AAC3C,SAASC,YAAY,EAAEC,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAW;AAwB9E,OAAO,MAAMC,WAAW,GAAG,8BAAuC;AAClE,OAAO,MAAMC,cAAc,GAAG,OAAgB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+
3
+ import { invalidOptions } from "./errors.js";
4
+ import { decodeBase64, decodeUtf8, encodeBase64, encodeUtf8 } from "./helpers.js";
5
+ const ownKeys = value => Object.keys(value);
6
+ function object(value, name) {
7
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
8
+ throw invalidOptions(`${name} must be an object`);
9
+ }
10
+ return value;
11
+ }
12
+ function exactKeys(value, allowed, name) {
13
+ const unknown = ownKeys(value).find(key => !allowed.includes(key));
14
+ if (unknown !== undefined) throw invalidOptions(`${name}.${unknown} is not supported`);
15
+ }
16
+ function stringValue(value, name, allowEmpty = true) {
17
+ if (typeof value !== 'string' || !allowEmpty && value.length === 0) throw invalidOptions(`${name} must be a string`);
18
+ return value;
19
+ }
20
+ function wellFormedMqttText(value) {
21
+ for (let index = 0; index < value.length; index += 1) {
22
+ const code = value.charCodeAt(index);
23
+ if (code === 0 || code >= 0xd800 && code <= 0xdfff) {
24
+ if (code < 0xdc00 && index + 1 < value.length) {
25
+ const next = value.charCodeAt(index + 1);
26
+ if (next >= 0xdc00 && next <= 0xdfff) {
27
+ index += 1;
28
+ continue;
29
+ }
30
+ }
31
+ return false;
32
+ }
33
+ }
34
+ return true;
35
+ }
36
+ function mqttString(value, name, allowEmpty = true) {
37
+ const result = stringValue(value, name, allowEmpty);
38
+ if (!wellFormedMqttText(result)) throw invalidOptions(`${name} is not a valid MQTT UTF-8 string`);
39
+ if (encodeUtf8(result).length > 65535) throw invalidOptions(`${name} exceeds the MQTT UTF-8 string limit`);
40
+ return result;
41
+ }
42
+ function boolValue(value, name) {
43
+ if (typeof value !== 'boolean') throw invalidOptions(`${name} must be a boolean`);
44
+ return value;
45
+ }
46
+ function integer(value, name, min, max) {
47
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < min || value > max) throw invalidOptions(`${name} must be an integer in ${min}..${max}`);
48
+ return value;
49
+ }
50
+ function ratio(value, name) {
51
+ if (typeof value !== 'number' || !Number.isFinite(value) || value < 0 || value > 1) throw invalidOptions(`${name} must be a number in 0..1`);
52
+ return value;
53
+ }
54
+ function propertyPairs(value, name) {
55
+ if (!Array.isArray(value)) throw invalidOptions(`${name} must be an array`);
56
+ return value.map((item, index) => {
57
+ const pair = object(item, `${name}[${index}]`);
58
+ exactKeys(pair, ['key', 'value'], `${name}[${index}]`);
59
+ return {
60
+ key: mqttString(pair.key, `${name}[${index}].key`),
61
+ value: mqttString(pair.value, `${name}[${index}].value`)
62
+ };
63
+ });
64
+ }
65
+ function base64(value, name) {
66
+ const text = stringValue(value, name);
67
+ decodeBase64(text);
68
+ return text;
69
+ }
70
+ function validateTls(value) {
71
+ if (value === undefined) return undefined;
72
+ const tls = object(value, 'tls');
73
+ exactKeys(tls, ['caBase64', 'p12Base64', 'p12Password', 'insecure', 'allowInvalidHostnameForTesting'], 'tls');
74
+ const result = {};
75
+ if (tls.caBase64 !== undefined) result.caBase64 = base64(tls.caBase64, 'tls.caBase64');
76
+ if (tls.p12Base64 !== undefined) result.p12Base64 = base64(tls.p12Base64, 'tls.p12Base64');
77
+ if (tls.p12Password !== undefined) result.p12Password = stringValue(tls.p12Password, 'tls.p12Password');
78
+ if (tls.insecure !== undefined) result.insecure = boolValue(tls.insecure, 'tls.insecure');
79
+ if (tls.allowInvalidHostnameForTesting !== undefined) result.allowInvalidHostnameForTesting = boolValue(tls.allowInvalidHostnameForTesting, 'tls.allowInvalidHostnameForTesting');
80
+ if (result.p12Password !== undefined && result.p12Base64 === undefined) throw invalidOptions('tls.p12Password requires tls.p12Base64');
81
+ return result;
82
+ }
83
+ function validateReconnect(value) {
84
+ if (value === undefined) return {
85
+ enabled: true,
86
+ initialDelayMs: 1000,
87
+ maxDelayMs: 30000,
88
+ jitterRatio: 0.2
89
+ };
90
+ const reconnect = object(value, 'reconnect');
91
+ exactKeys(reconnect, ['enabled', 'initialDelayMs', 'maxDelayMs', 'jitterRatio'], 'reconnect');
92
+ const result = {
93
+ enabled: reconnect.enabled === undefined ? true : boolValue(reconnect.enabled, 'reconnect.enabled'),
94
+ initialDelayMs: reconnect.initialDelayMs === undefined ? 1000 : integer(reconnect.initialDelayMs, 'reconnect.initialDelayMs', 1, Number.MAX_SAFE_INTEGER),
95
+ maxDelayMs: reconnect.maxDelayMs === undefined ? 30000 : integer(reconnect.maxDelayMs, 'reconnect.maxDelayMs', 1, Number.MAX_SAFE_INTEGER),
96
+ jitterRatio: reconnect.jitterRatio === undefined ? 0.2 : ratio(reconnect.jitterRatio, 'reconnect.jitterRatio')
97
+ };
98
+ if ((result.maxDelayMs ?? 0) < (result.initialDelayMs ?? 0)) throw invalidOptions('reconnect.maxDelayMs must be >= initialDelayMs');
99
+ return result;
100
+ }
101
+ function validateDelivery(value) {
102
+ if (value === undefined) return {
103
+ maxQueuedMessages: 1024,
104
+ maxQueuedBytes: 8388608,
105
+ maxMessageBytes: 1048576,
106
+ batchMaxMessages: 64,
107
+ batchMaxBytes: 262144,
108
+ batchAckTimeoutMs: 15000,
109
+ overflowPolicy: 'disconnect'
110
+ };
111
+ const delivery = object(value, 'delivery');
112
+ exactKeys(delivery, ['maxQueuedMessages', 'maxQueuedBytes', 'maxMessageBytes', 'batchMaxMessages', 'batchMaxBytes', 'batchAckTimeoutMs', 'overflowPolicy'], 'delivery');
113
+ const result = {
114
+ maxQueuedMessages: delivery.maxQueuedMessages === undefined ? 1024 : integer(delivery.maxQueuedMessages, 'delivery.maxQueuedMessages', 1, Number.MAX_SAFE_INTEGER),
115
+ maxQueuedBytes: delivery.maxQueuedBytes === undefined ? 8388608 : integer(delivery.maxQueuedBytes, 'delivery.maxQueuedBytes', 1, Number.MAX_SAFE_INTEGER),
116
+ maxMessageBytes: delivery.maxMessageBytes === undefined ? 1048576 : integer(delivery.maxMessageBytes, 'delivery.maxMessageBytes', 1, Number.MAX_SAFE_INTEGER),
117
+ batchMaxMessages: delivery.batchMaxMessages === undefined ? 64 : integer(delivery.batchMaxMessages, 'delivery.batchMaxMessages', 1, Number.MAX_SAFE_INTEGER),
118
+ batchMaxBytes: delivery.batchMaxBytes === undefined ? 262144 : integer(delivery.batchMaxBytes, 'delivery.batchMaxBytes', 1, Number.MAX_SAFE_INTEGER),
119
+ batchAckTimeoutMs: delivery.batchAckTimeoutMs === undefined ? 15000 : integer(delivery.batchAckTimeoutMs, 'delivery.batchAckTimeoutMs', 1, Number.MAX_SAFE_INTEGER),
120
+ overflowPolicy: delivery.overflowPolicy === undefined ? 'disconnect' : delivery.overflowPolicy === 'drop-newest' ? 'drop-newest' : delivery.overflowPolicy === 'disconnect' ? 'disconnect' : undefined
121
+ };
122
+ if (result.overflowPolicy === undefined) throw invalidOptions('delivery.overflowPolicy is invalid');
123
+ if ((result.maxMessageBytes ?? 0) > (result.maxQueuedBytes ?? 0)) throw invalidOptions('delivery.maxMessageBytes must be <= maxQueuedBytes');
124
+ return result;
125
+ }
126
+ function validateWill(value) {
127
+ if (value === undefined) return undefined;
128
+ const will = object(value, 'will');
129
+ exactKeys(will, ['topic', 'payloadBase64', 'qos', 'retained'], 'will');
130
+ const result = {
131
+ topic: mqttString(will.topic, 'will.topic', false),
132
+ payloadBase64: base64(will.payloadBase64, 'will.payloadBase64'),
133
+ qos: will.qos === undefined ? 0 : integer(will.qos, 'will.qos', 0, 2),
134
+ retained: will.retained === undefined ? false : boolValue(will.retained, 'will.retained')
135
+ };
136
+ validateTopicName(result.topic);
137
+ return result;
138
+ }
139
+ function common(value) {
140
+ exactKeys(value, ['host', 'port', 'transport', 'path', 'clientId', 'username', 'password', 'keepAliveSeconds', 'connectTimeoutMs', 'operationTimeoutMs', 'disconnectTimeoutMs', 'reconnect', 'tls', 'will', 'delivery', 'protocolVersion', 'cleanSession', 'cleanStart', 'sessionExpiryIntervalSeconds', 'receiveMaximum', 'userProperties'], 'options');
141
+ const transport = value.transport === undefined ? 'tcp' : value.transport;
142
+ if (transport !== 'tcp' && transport !== 'tls' && transport !== 'ws' && transport !== 'wss') throw invalidOptions('transport is invalid');
143
+ const result = {
144
+ host: stringValue(value.host, 'host', false),
145
+ port: integer(value.port, 'port', 1, 65535),
146
+ transport: transport,
147
+ path: value.path === undefined ? undefined : stringValue(value.path, 'path', false),
148
+ clientId: value.clientId === undefined ? undefined : mqttString(value.clientId, 'clientId'),
149
+ username: value.username === undefined ? undefined : mqttString(value.username, 'username'),
150
+ password: value.password === undefined ? undefined : mqttString(value.password, 'password'),
151
+ keepAliveSeconds: value.keepAliveSeconds === undefined ? 60 : integer(value.keepAliveSeconds, 'keepAliveSeconds', 0, 65535),
152
+ connectTimeoutMs: value.connectTimeoutMs === undefined ? 30000 : integer(value.connectTimeoutMs, 'connectTimeoutMs', 1, Number.MAX_SAFE_INTEGER),
153
+ operationTimeoutMs: value.operationTimeoutMs === undefined ? 30000 : integer(value.operationTimeoutMs, 'operationTimeoutMs', 1, Number.MAX_SAFE_INTEGER),
154
+ disconnectTimeoutMs: value.disconnectTimeoutMs === undefined ? 5000 : integer(value.disconnectTimeoutMs, 'disconnectTimeoutMs', 1, Number.MAX_SAFE_INTEGER),
155
+ reconnect: validateReconnect(value.reconnect),
156
+ tls: validateTls(value.tls),
157
+ will: validateWill(value.will),
158
+ delivery: validateDelivery(value.delivery)
159
+ };
160
+ if (result.path !== undefined !== (transport === 'ws' || transport === 'wss') && result.path !== undefined) throw invalidOptions('path is only valid for ws/wss');
161
+ if ((transport === 'ws' || transport === 'wss') && result.path === undefined) result.path = '/mqtt';
162
+ if (result.tls !== undefined && transport !== 'tls' && transport !== 'wss') throw invalidOptions('tls options are only valid for tls/wss');
163
+ if (result.password !== undefined && result.username === undefined) throw invalidOptions('password requires username');
164
+ return result;
165
+ }
166
+ export function normalizeOptions(input) {
167
+ const value = object(input, 'options');
168
+ const result = common(value);
169
+ if (result.clientId !== undefined && encodeUtf8(result.clientId).length > 65535) throw invalidOptions('clientId exceeds the MQTT UTF-8 string limit');
170
+ const protocolVersion = value.protocolVersion === undefined ? 4 : value.protocolVersion;
171
+ if (protocolVersion !== 4 && protocolVersion !== 5) throw invalidOptions('protocolVersion must be 4 or 5');
172
+ if (protocolVersion === 4) {
173
+ if (result.clientId === '') throw invalidOptions('empty clientId is only valid for MQTT5 cleanStart');
174
+ if (value.cleanStart !== undefined || value.sessionExpiryIntervalSeconds !== undefined || value.receiveMaximum !== undefined || value.userProperties !== undefined) throw invalidOptions('MQTT5 options are not valid for protocolVersion 4');
175
+ return {
176
+ ...result,
177
+ protocolVersion: 4,
178
+ cleanSession: value.cleanSession === undefined ? true : boolValue(value.cleanSession, 'cleanSession')
179
+ };
180
+ }
181
+ if (value.cleanSession !== undefined) throw invalidOptions('cleanSession is not valid for protocolVersion 5');
182
+ const sessionExpiry = value.sessionExpiryIntervalSeconds === undefined ? 0 : integer(value.sessionExpiryIntervalSeconds, 'sessionExpiryIntervalSeconds', 0, 4294967295);
183
+ const receiveMaximum = value.receiveMaximum === undefined ? 65535 : integer(value.receiveMaximum, 'receiveMaximum', 1, 65535);
184
+ const cleanStart = value.cleanStart === undefined ? true : boolValue(value.cleanStart, 'cleanStart');
185
+ if (result.clientId === '' && !cleanStart) throw invalidOptions('empty clientId requires MQTT5 cleanStart');
186
+ return {
187
+ ...result,
188
+ protocolVersion: 5,
189
+ cleanStart,
190
+ sessionExpiryIntervalSeconds: sessionExpiry,
191
+ receiveMaximum,
192
+ userProperties: value.userProperties === undefined ? undefined : propertyPairs(value.userProperties, 'userProperties')
193
+ };
194
+ }
195
+ export function validateTopicName(topic) {
196
+ if (topic.length === 0 || topic.includes('\0') || topic.includes('+') || topic.includes('#') || !wellFormedMqttText(topic) || encodeUtf8(topic).length > 65535) throw invalidOptions('topic name is invalid');
197
+ }
198
+ export function validateTopicFilter(filter) {
199
+ if (filter.length === 0 || filter.includes('\0') || !wellFormedMqttText(filter) || encodeUtf8(filter).length > 65535 || filter.split('/').some((part, index, parts) => part.includes('+') && part !== '+' || part.includes('#') && (part !== '#' || index !== parts.length - 1))) throw invalidOptions('topic filter is invalid');
200
+ if (filter.startsWith('$share/')) throw invalidOptions('shared subscriptions are not supported');
201
+ }
202
+ export function normalizeSubscribeOptions(input, protocolVersion = 5) {
203
+ const value = input === undefined ? {} : object(input, 'subscribe options');
204
+ exactKeys(value, ['qos', 'noLocal', 'retainAsPublished', 'retainHandling'], 'subscribe options');
205
+ if (protocolVersion === 4 && (value.noLocal !== undefined || value.retainAsPublished !== undefined || value.retainHandling !== undefined)) throw invalidOptions('MQTT5 subscription options are not valid for protocolVersion 4');
206
+ return {
207
+ qos: value.qos === undefined ? 1 : integer(value.qos, 'subscribe options.qos', 0, 2),
208
+ noLocal: value.noLocal === undefined ? false : boolValue(value.noLocal, 'subscribe options.noLocal'),
209
+ retainAsPublished: value.retainAsPublished === undefined ? false : boolValue(value.retainAsPublished, 'subscribe options.retainAsPublished'),
210
+ retainHandling: value.retainHandling === undefined ? 0 : integer(value.retainHandling, 'subscribe options.retainHandling', 0, 2)
211
+ };
212
+ }
213
+ export function normalizePublishOptions(input, protocolVersion = 5) {
214
+ const value = input === undefined ? {} : object(input, 'publish options');
215
+ exactKeys(value, ['qos', 'retained', 'userProperties', 'contentType', 'responseTopic', 'correlationDataBase64', 'messageExpiryIntervalSeconds', 'payloadFormatIndicator'], 'publish options');
216
+ if (protocolVersion === 4 && (value.userProperties !== undefined || value.contentType !== undefined || value.responseTopic !== undefined || value.correlationDataBase64 !== undefined || value.messageExpiryIntervalSeconds !== undefined || value.payloadFormatIndicator !== undefined)) throw invalidOptions('MQTT5 publish options are not valid for protocolVersion 4');
217
+ return {
218
+ qos: value.qos === undefined ? 1 : integer(value.qos, 'publish options.qos', 0, 2),
219
+ retained: value.retained === undefined ? false : boolValue(value.retained, 'publish options.retained'),
220
+ userProperties: value.userProperties === undefined ? undefined : propertyPairs(value.userProperties, 'publish options.userProperties'),
221
+ contentType: value.contentType === undefined ? undefined : mqttString(value.contentType, 'publish options.contentType'),
222
+ responseTopic: value.responseTopic === undefined ? undefined : mqttString(value.responseTopic, 'publish options.responseTopic', false),
223
+ correlationDataBase64: value.correlationDataBase64 === undefined ? undefined : base64(value.correlationDataBase64, 'publish options.correlationDataBase64'),
224
+ messageExpiryIntervalSeconds: value.messageExpiryIntervalSeconds === undefined ? undefined : integer(value.messageExpiryIntervalSeconds, 'publish options.messageExpiryIntervalSeconds', 0, 4294967295),
225
+ payloadFormatIndicator: value.payloadFormatIndicator === undefined ? undefined : integer(value.payloadFormatIndicator, 'publish options.payloadFormatIndicator', 0, 1)
226
+ };
227
+ }
228
+ export function toWireSessionOptions(options) {
229
+ const normalized = normalizeOptions(options);
230
+ const wire = {
231
+ host: normalized.host,
232
+ port: normalized.port,
233
+ protocolVersion: normalized.protocolVersion,
234
+ transport: normalized.transport,
235
+ path: normalized.path,
236
+ clientId: normalized.clientId,
237
+ username: normalized.username,
238
+ password: normalized.password,
239
+ keepAliveSeconds: normalized.keepAliveSeconds,
240
+ connectTimeoutMs: normalized.connectTimeoutMs,
241
+ operationTimeoutMs: normalized.operationTimeoutMs,
242
+ disconnectTimeoutMs: normalized.disconnectTimeoutMs,
243
+ reconnectEnabled: normalized.reconnect?.enabled,
244
+ reconnectInitialDelayMs: normalized.reconnect?.initialDelayMs,
245
+ reconnectMaxDelayMs: normalized.reconnect?.maxDelayMs,
246
+ reconnectJitterRatio: normalized.reconnect?.jitterRatio,
247
+ tlsCaBase64: normalized.tls?.caBase64,
248
+ tlsP12Base64: normalized.tls?.p12Base64,
249
+ tlsP12Password: normalized.tls?.p12Password,
250
+ tlsInsecure: normalized.tls?.insecure,
251
+ tlsAllowInvalidHostnameForTesting: normalized.tls?.allowInvalidHostnameForTesting,
252
+ willTopic: normalized.will?.topic,
253
+ willPayloadBase64: normalized.will?.payloadBase64,
254
+ willQos: normalized.will?.qos,
255
+ willRetained: normalized.will?.retained,
256
+ cleanSession: normalized.protocolVersion === 4 ? normalized.cleanSession : undefined,
257
+ cleanStart: normalized.protocolVersion === 5 ? normalized.cleanStart : undefined,
258
+ sessionExpiryIntervalSeconds: normalized.protocolVersion === 5 ? normalized.sessionExpiryIntervalSeconds : undefined,
259
+ receiveMaximum: normalized.protocolVersion === 5 ? normalized.receiveMaximum : undefined,
260
+ userProperties: normalized.protocolVersion === 5 ? normalized.userProperties?.map(toWireProperty) : undefined,
261
+ maxQueuedMessages: normalized.delivery?.maxQueuedMessages,
262
+ maxQueuedBytes: normalized.delivery?.maxQueuedBytes,
263
+ maxMessageBytes: normalized.delivery?.maxMessageBytes,
264
+ batchMaxMessages: normalized.delivery?.batchMaxMessages,
265
+ batchMaxBytes: normalized.delivery?.batchMaxBytes,
266
+ batchAckTimeoutMs: normalized.delivery?.batchAckTimeoutMs,
267
+ overflowPolicy: normalized.delivery?.overflowPolicy
268
+ };
269
+ return wire;
270
+ }
271
+ function toWireProperty(property) {
272
+ return {
273
+ key: property.key,
274
+ value: property.value
275
+ };
276
+ }
277
+ export function toWireSubscribeOptions(options) {
278
+ const normalized = normalizeSubscribeOptions(options);
279
+ return {
280
+ qos: normalized.qos,
281
+ noLocal: normalized.noLocal,
282
+ retainAsPublished: normalized.retainAsPublished,
283
+ retainHandling: normalized.retainHandling
284
+ };
285
+ }
286
+ export function toWirePublishRequest(topic, payloadBase64, options, protocolVersion = 5) {
287
+ validateTopicName(topic);
288
+ const normalized = normalizePublishOptions(options, protocolVersion);
289
+ if (normalized.responseTopic !== undefined) validateTopicName(normalized.responseTopic);
290
+ const payload = decodeBase64(payloadBase64);
291
+ if (normalized.payloadFormatIndicator === 1) decodeUtf8(payload);
292
+ return {
293
+ topic,
294
+ payloadBase64: encodeBase64(payload),
295
+ qos: normalized.qos,
296
+ retained: normalized.retained,
297
+ userProperties: normalized.userProperties?.map(toWireProperty),
298
+ contentType: normalized.contentType,
299
+ responseTopic: normalized.responseTopic,
300
+ correlationDataBase64: normalized.correlationDataBase64,
301
+ messageExpiryIntervalSeconds: normalized.messageExpiryIntervalSeconds,
302
+ payloadFormatIndicator: normalized.payloadFormatIndicator
303
+ };
304
+ }
305
+ export { encodeBase64 };
306
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["invalidOptions","decodeBase64","decodeUtf8","encodeBase64","encodeUtf8","ownKeys","value","Object","keys","object","name","Array","isArray","exactKeys","allowed","unknown","find","key","includes","undefined","stringValue","allowEmpty","length","wellFormedMqttText","index","code","charCodeAt","next","mqttString","result","boolValue","integer","min","max","Number","isSafeInteger","ratio","isFinite","propertyPairs","map","item","pair","base64","text","validateTls","tls","caBase64","p12Base64","p12Password","insecure","allowInvalidHostnameForTesting","validateReconnect","enabled","initialDelayMs","maxDelayMs","jitterRatio","reconnect","MAX_SAFE_INTEGER","validateDelivery","maxQueuedMessages","maxQueuedBytes","maxMessageBytes","batchMaxMessages","batchMaxBytes","batchAckTimeoutMs","overflowPolicy","delivery","validateWill","will","topic","payloadBase64","qos","retained","validateTopicName","common","transport","host","port","path","clientId","username","password","keepAliveSeconds","connectTimeoutMs","operationTimeoutMs","disconnectTimeoutMs","normalizeOptions","input","protocolVersion","cleanStart","sessionExpiryIntervalSeconds","receiveMaximum","userProperties","cleanSession","sessionExpiry","validateTopicFilter","filter","split","some","part","parts","startsWith","normalizeSubscribeOptions","noLocal","retainAsPublished","retainHandling","normalizePublishOptions","contentType","responseTopic","correlationDataBase64","messageExpiryIntervalSeconds","payloadFormatIndicator","toWireSessionOptions","options","normalized","wire","reconnectEnabled","reconnectInitialDelayMs","reconnectMaxDelayMs","reconnectJitterRatio","tlsCaBase64","tlsP12Base64","tlsP12Password","tlsInsecure","tlsAllowInvalidHostnameForTesting","willTopic","willPayloadBase64","willQos","willRetained","toWireProperty","property","toWireSubscribeOptions","toWirePublishRequest","payload"],"sourceRoot":"../../src","sources":["validation.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,aAAU;AACzC,SAASC,YAAY,EAAEC,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAW;AAoB9E,MAAMC,OAAO,GAAIC,KAAa,IAAeC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC;AAC/D,SAASG,MAAMA,CAACH,KAAc,EAAEI,IAAY,EAA2B;EACrE,IAAIJ,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIK,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;IACvE,MAAMN,cAAc,CAAC,GAAGU,IAAI,oBAAoB,CAAC;EACnD;EACA,OAAOJ,KAAK;AACd;AACA,SAASO,SAASA,CAChBP,KAAa,EACbQ,OAA0B,EAC1BJ,IAAY,EACN;EACN,MAAMK,OAAO,GAAGV,OAAO,CAACC,KAAK,CAAC,CAACU,IAAI,CAAEC,GAAG,IAAK,CAACH,OAAO,CAACI,QAAQ,CAACD,GAAG,CAAC,CAAC;EACpE,IAAIF,OAAO,KAAKI,SAAS,EACvB,MAAMnB,cAAc,CAAC,GAAGU,IAAI,IAAIK,OAAO,mBAAmB,CAAC;AAC/D;AACA,SAASK,WAAWA,CAACd,KAAc,EAAEI,IAAY,EAAEW,UAAU,GAAG,IAAI,EAAU;EAC5E,IAAI,OAAOf,KAAK,KAAK,QAAQ,IAAK,CAACe,UAAU,IAAIf,KAAK,CAACgB,MAAM,KAAK,CAAE,EAClE,MAAMtB,cAAc,CAAC,GAAGU,IAAI,mBAAmB,CAAC;EAClD,OAAOJ,KAAK;AACd;AACA,SAASiB,kBAAkBA,CAACjB,KAAa,EAAW;EAClD,KAAK,IAAIkB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGlB,KAAK,CAACgB,MAAM,EAAEE,KAAK,IAAI,CAAC,EAAE;IACpD,MAAMC,IAAI,GAAGnB,KAAK,CAACoB,UAAU,CAACF,KAAK,CAAC;IACpC,IAAIC,IAAI,KAAK,CAAC,IAAKA,IAAI,IAAI,MAAM,IAAIA,IAAI,IAAI,MAAO,EAAE;MACpD,IAAIA,IAAI,GAAG,MAAM,IAAID,KAAK,GAAG,CAAC,GAAGlB,KAAK,CAACgB,MAAM,EAAE;QAC7C,MAAMK,IAAI,GAAGrB,KAAK,CAACoB,UAAU,CAACF,KAAK,GAAG,CAAC,CAAC;QACxC,IAAIG,IAAI,IAAI,MAAM,IAAIA,IAAI,IAAI,MAAM,EAAE;UACpCH,KAAK,IAAI,CAAC;UACV;QACF;MACF;MACA,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb;AACA,SAASI,UAAUA,CAACtB,KAAc,EAAEI,IAAY,EAAEW,UAAU,GAAG,IAAI,EAAU;EAC3E,MAAMQ,MAAM,GAAGT,WAAW,CAACd,KAAK,EAAEI,IAAI,EAAEW,UAAU,CAAC;EACnD,IAAI,CAACE,kBAAkB,CAACM,MAAM,CAAC,EAC7B,MAAM7B,cAAc,CAAC,GAAGU,IAAI,mCAAmC,CAAC;EAClE,IAAIN,UAAU,CAACyB,MAAM,CAAC,CAACP,MAAM,GAAG,KAAK,EACnC,MAAMtB,cAAc,CAAC,GAAGU,IAAI,sCAAsC,CAAC;EACrE,OAAOmB,MAAM;AACf;AACA,SAASC,SAASA,CAACxB,KAAc,EAAEI,IAAY,EAAW;EACxD,IAAI,OAAOJ,KAAK,KAAK,SAAS,EAC5B,MAAMN,cAAc,CAAC,GAAGU,IAAI,oBAAoB,CAAC;EACnD,OAAOJ,KAAK;AACd;AACA,SAASyB,OAAOA,CACdzB,KAAc,EACdI,IAAY,EACZsB,GAAW,EACXC,GAAW,EACH;EACR,IACE,OAAO3B,KAAK,KAAK,QAAQ,IACzB,CAAC4B,MAAM,CAACC,aAAa,CAAC7B,KAAK,CAAC,IAC5BA,KAAK,GAAG0B,GAAG,IACX1B,KAAK,GAAG2B,GAAG,EAEX,MAAMjC,cAAc,CAAC,GAAGU,IAAI,0BAA0BsB,GAAG,KAAKC,GAAG,EAAE,CAAC;EACtE,OAAO3B,KAAK;AACd;AACA,SAAS8B,KAAKA,CAAC9B,KAAc,EAAEI,IAAY,EAAU;EACnD,IACE,OAAOJ,KAAK,KAAK,QAAQ,IACzB,CAAC4B,MAAM,CAACG,QAAQ,CAAC/B,KAAK,CAAC,IACvBA,KAAK,GAAG,CAAC,IACTA,KAAK,GAAG,CAAC,EAET,MAAMN,cAAc,CAAC,GAAGU,IAAI,2BAA2B,CAAC;EAC1D,OAAOJ,KAAK;AACd;AACA,SAASgC,aAAaA,CAAChC,KAAc,EAAEI,IAAY,EAAkB;EACnE,IAAI,CAACC,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE,MAAMN,cAAc,CAAC,GAAGU,IAAI,mBAAmB,CAAC;EAC3E,OAAOJ,KAAK,CAACiC,GAAG,CAAC,CAACC,IAAI,EAAEhB,KAAK,KAAK;IAChC,MAAMiB,IAAI,GAAGhC,MAAM,CAAC+B,IAAI,EAAE,GAAG9B,IAAI,IAAIc,KAAK,GAAG,CAAC;IAC9CX,SAAS,CAAC4B,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG/B,IAAI,IAAIc,KAAK,GAAG,CAAC;IACtD,OAAO;MACLP,GAAG,EAAEW,UAAU,CAACa,IAAI,CAACxB,GAAG,EAAE,GAAGP,IAAI,IAAIc,KAAK,OAAO,CAAC;MAClDlB,KAAK,EAAEsB,UAAU,CAACa,IAAI,CAACnC,KAAK,EAAE,GAAGI,IAAI,IAAIc,KAAK,SAAS;IACzD,CAAC;EACH,CAAC,CAAC;AACJ;AACA,SAASkB,MAAMA,CAACpC,KAAc,EAAEI,IAAY,EAAU;EACpD,MAAMiC,IAAI,GAAGvB,WAAW,CAACd,KAAK,EAAEI,IAAI,CAAC;EACrCT,YAAY,CAAC0C,IAAI,CAAC;EAClB,OAAOA,IAAI;AACb;AACA,SAASC,WAAWA,CAACtC,KAAc,EAA0B;EAC3D,IAAIA,KAAK,KAAKa,SAAS,EAAE,OAAOA,SAAS;EACzC,MAAM0B,GAAG,GAAGpC,MAAM,CAACH,KAAK,EAAE,KAAK,CAAC;EAChCO,SAAS,CACPgC,GAAG,EACH,CACE,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,gCAAgC,CACjC,EACD,KACF,CAAC;EACD,MAAMhB,MAAkB,GAAG,CAAC,CAAC;EAC7B,IAAIgB,GAAG,CAACC,QAAQ,KAAK3B,SAAS,EAC5BU,MAAM,CAACiB,QAAQ,GAAGJ,MAAM,CAACG,GAAG,CAACC,QAAQ,EAAE,cAAc,CAAC;EACxD,IAAID,GAAG,CAACE,SAAS,KAAK5B,SAAS,EAC7BU,MAAM,CAACkB,SAAS,GAAGL,MAAM,CAACG,GAAG,CAACE,SAAS,EAAE,eAAe,CAAC;EAC3D,IAAIF,GAAG,CAACG,WAAW,KAAK7B,SAAS,EAC/BU,MAAM,CAACmB,WAAW,GAAG5B,WAAW,CAACyB,GAAG,CAACG,WAAW,EAAE,iBAAiB,CAAC;EACtE,IAAIH,GAAG,CAACI,QAAQ,KAAK9B,SAAS,EAC5BU,MAAM,CAACoB,QAAQ,GAAGnB,SAAS,CAACe,GAAG,CAACI,QAAQ,EAAE,cAAc,CAAC;EAC3D,IAAIJ,GAAG,CAACK,8BAA8B,KAAK/B,SAAS,EAClDU,MAAM,CAACqB,8BAA8B,GAAGpB,SAAS,CAC/Ce,GAAG,CAACK,8BAA8B,EAClC,oCACF,CAAC;EACH,IAAIrB,MAAM,CAACmB,WAAW,KAAK7B,SAAS,IAAIU,MAAM,CAACkB,SAAS,KAAK5B,SAAS,EACpE,MAAMnB,cAAc,CAAC,wCAAwC,CAAC;EAChE,OAAO6B,MAAM;AACf;AACA,SAASsB,iBAAiBA,CAAC7C,KAAc,EAAoB;EAC3D,IAAIA,KAAK,KAAKa,SAAS,EACrB,OAAO;IACLiC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAE,IAAI;IACpBC,UAAU,EAAE,KAAK;IACjBC,WAAW,EAAE;EACf,CAAC;EACH,MAAMC,SAAS,GAAG/C,MAAM,CAACH,KAAK,EAAE,WAAW,CAAC;EAC5CO,SAAS,CACP2C,SAAS,EACT,CAAC,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,CAAC,EAC1D,WACF,CAAC;EACD,MAAM3B,MAAwB,GAAG;IAC/BuB,OAAO,EACLI,SAAS,CAACJ,OAAO,KAAKjC,SAAS,GAC3B,IAAI,GACJW,SAAS,CAAC0B,SAAS,CAACJ,OAAO,EAAE,mBAAmB,CAAC;IACvDC,cAAc,EACZG,SAAS,CAACH,cAAc,KAAKlC,SAAS,GAClC,IAAI,GACJY,OAAO,CACLyB,SAAS,CAACH,cAAc,EACxB,0BAA0B,EAC1B,CAAC,EACDnB,MAAM,CAACuB,gBACT,CAAC;IACPH,UAAU,EACRE,SAAS,CAACF,UAAU,KAAKnC,SAAS,GAC9B,KAAK,GACLY,OAAO,CACLyB,SAAS,CAACF,UAAU,EACpB,sBAAsB,EACtB,CAAC,EACDpB,MAAM,CAACuB,gBACT,CAAC;IACPF,WAAW,EACTC,SAAS,CAACD,WAAW,KAAKpC,SAAS,GAC/B,GAAG,GACHiB,KAAK,CAACoB,SAAS,CAACD,WAAW,EAAE,uBAAuB;EAC5D,CAAC;EACD,IAAI,CAAC1B,MAAM,CAACyB,UAAU,IAAI,CAAC,KAAKzB,MAAM,CAACwB,cAAc,IAAI,CAAC,CAAC,EACzD,MAAMrD,cAAc,CAAC,gDAAgD,CAAC;EACxE,OAAO6B,MAAM;AACf;AACA,SAAS6B,gBAAgBA,CAACpD,KAAc,EAAmB;EACzD,IAAIA,KAAK,KAAKa,SAAS,EACrB,OAAO;IACLwC,iBAAiB,EAAE,IAAI;IACvBC,cAAc,EAAE,OAAO;IACvBC,eAAe,EAAE,OAAO;IACxBC,gBAAgB,EAAE,EAAE;IACpBC,aAAa,EAAE,MAAM;IACrBC,iBAAiB,EAAE,KAAK;IACxBC,cAAc,EAAE;EAClB,CAAC;EACH,MAAMC,QAAQ,GAAGzD,MAAM,CAACH,KAAK,EAAE,UAAU,CAAC;EAC1CO,SAAS,CACPqD,QAAQ,EACR,CACE,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,CACjB,EACD,UACF,CAAC;EACD,MAAMrC,MAAuB,GAAG;IAC9B8B,iBAAiB,EACfO,QAAQ,CAACP,iBAAiB,KAAKxC,SAAS,GACpC,IAAI,GACJY,OAAO,CACLmC,QAAQ,CAACP,iBAAiB,EAC1B,4BAA4B,EAC5B,CAAC,EACDzB,MAAM,CAACuB,gBACT,CAAC;IACPG,cAAc,EACZM,QAAQ,CAACN,cAAc,KAAKzC,SAAS,GACjC,OAAO,GACPY,OAAO,CACLmC,QAAQ,CAACN,cAAc,EACvB,yBAAyB,EACzB,CAAC,EACD1B,MAAM,CAACuB,gBACT,CAAC;IACPI,eAAe,EACbK,QAAQ,CAACL,eAAe,KAAK1C,SAAS,GAClC,OAAO,GACPY,OAAO,CACLmC,QAAQ,CAACL,eAAe,EACxB,0BAA0B,EAC1B,CAAC,EACD3B,MAAM,CAACuB,gBACT,CAAC;IACPK,gBAAgB,EACdI,QAAQ,CAACJ,gBAAgB,KAAK3C,SAAS,GACnC,EAAE,GACFY,OAAO,CACLmC,QAAQ,CAACJ,gBAAgB,EACzB,2BAA2B,EAC3B,CAAC,EACD5B,MAAM,CAACuB,gBACT,CAAC;IACPM,aAAa,EACXG,QAAQ,CAACH,aAAa,KAAK5C,SAAS,GAChC,MAAM,GACNY,OAAO,CACLmC,QAAQ,CAACH,aAAa,EACtB,wBAAwB,EACxB,CAAC,EACD7B,MAAM,CAACuB,gBACT,CAAC;IACPO,iBAAiB,EACfE,QAAQ,CAACF,iBAAiB,KAAK7C,SAAS,GACpC,KAAK,GACLY,OAAO,CACLmC,QAAQ,CAACF,iBAAiB,EAC1B,4BAA4B,EAC5B,CAAC,EACD9B,MAAM,CAACuB,gBACT,CAAC;IACPQ,cAAc,EACZC,QAAQ,CAACD,cAAc,KAAK9C,SAAS,GACjC,YAAY,GACZ+C,QAAQ,CAACD,cAAc,KAAK,aAAa,GACvC,aAAa,GACbC,QAAQ,CAACD,cAAc,KAAK,YAAY,GACtC,YAAY,GACZ9C;EACZ,CAAC;EACD,IAAIU,MAAM,CAACoC,cAAc,KAAK9C,SAAS,EACrC,MAAMnB,cAAc,CAAC,oCAAoC,CAAC;EAC5D,IAAI,CAAC6B,MAAM,CAACgC,eAAe,IAAI,CAAC,KAAKhC,MAAM,CAAC+B,cAAc,IAAI,CAAC,CAAC,EAC9D,MAAM5D,cAAc,CAAC,oDAAoD,CAAC;EAC5E,OAAO6B,MAAM;AACf;AACA,SAASsC,YAAYA,CAAC7D,KAAc,EAA2B;EAC7D,IAAIA,KAAK,KAAKa,SAAS,EAAE,OAAOA,SAAS;EACzC,MAAMiD,IAAI,GAAG3D,MAAM,CAACH,KAAK,EAAE,MAAM,CAAC;EAClCO,SAAS,CAACuD,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC;EACtE,MAAMvC,MAAmB,GAAG;IAC1BwC,KAAK,EAAEzC,UAAU,CAACwC,IAAI,CAACC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;IAClDC,aAAa,EAAE5B,MAAM,CAAC0B,IAAI,CAACE,aAAa,EAAE,oBAAoB,CAAC;IAC/DC,GAAG,EACDH,IAAI,CAACG,GAAG,KAAKpD,SAAS,GAClB,CAAC,GACAY,OAAO,CAACqC,IAAI,CAACG,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAwB;IACjEC,QAAQ,EACNJ,IAAI,CAACI,QAAQ,KAAKrD,SAAS,GACvB,KAAK,GACLW,SAAS,CAACsC,IAAI,CAACI,QAAQ,EAAE,eAAe;EAChD,CAAC;EACDC,iBAAiB,CAAC5C,MAAM,CAACwC,KAAK,CAAC;EAC/B,OAAOxC,MAAM;AACf;AACA,SAAS6C,MAAMA,CAACpE,KAA8B,EAAqB;EACjEO,SAAS,CACPP,KAAK,EACL,CACE,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,KAAK,EACL,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,8BAA8B,EAC9B,gBAAgB,EAChB,gBAAgB,CACjB,EACD,SACF,CAAC;EACD,MAAMqE,SAAS,GAAGrE,KAAK,CAACqE,SAAS,KAAKxD,SAAS,GAAG,KAAK,GAAGb,KAAK,CAACqE,SAAS;EACzE,IACEA,SAAS,KAAK,KAAK,IACnBA,SAAS,KAAK,KAAK,IACnBA,SAAS,KAAK,IAAI,IAClBA,SAAS,KAAK,KAAK,EAEnB,MAAM3E,cAAc,CAAC,sBAAsB,CAAC;EAC9C,MAAM6B,MAAyB,GAAG;IAChC+C,IAAI,EAAExD,WAAW,CAACd,KAAK,CAACsE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;IAC5CC,IAAI,EAAE9C,OAAO,CAACzB,KAAK,CAACuE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;IAC3CF,SAAS,EAAEA,SAAsB;IACjCG,IAAI,EACFxE,KAAK,CAACwE,IAAI,KAAK3D,SAAS,GACpBA,SAAS,GACTC,WAAW,CAACd,KAAK,CAACwE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;IAC5CC,QAAQ,EACNzE,KAAK,CAACyE,QAAQ,KAAK5D,SAAS,GACxBA,SAAS,GACTS,UAAU,CAACtB,KAAK,CAACyE,QAAQ,EAAE,UAAU,CAAC;IAC5CC,QAAQ,EACN1E,KAAK,CAAC0E,QAAQ,KAAK7D,SAAS,GACxBA,SAAS,GACTS,UAAU,CAACtB,KAAK,CAAC0E,QAAQ,EAAE,UAAU,CAAC;IAC5CC,QAAQ,EACN3E,KAAK,CAAC2E,QAAQ,KAAK9D,SAAS,GACxBA,SAAS,GACTS,UAAU,CAACtB,KAAK,CAAC2E,QAAQ,EAAE,UAAU,CAAC;IAC5CC,gBAAgB,EACd5E,KAAK,CAAC4E,gBAAgB,KAAK/D,SAAS,GAChC,EAAE,GACFY,OAAO,CAACzB,KAAK,CAAC4E,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,EAAE,KAAK,CAAC;IACnEC,gBAAgB,EACd7E,KAAK,CAAC6E,gBAAgB,KAAKhE,SAAS,GAChC,KAAK,GACLY,OAAO,CACLzB,KAAK,CAAC6E,gBAAgB,EACtB,kBAAkB,EAClB,CAAC,EACDjD,MAAM,CAACuB,gBACT,CAAC;IACP2B,kBAAkB,EAChB9E,KAAK,CAAC8E,kBAAkB,KAAKjE,SAAS,GAClC,KAAK,GACLY,OAAO,CACLzB,KAAK,CAAC8E,kBAAkB,EACxB,oBAAoB,EACpB,CAAC,EACDlD,MAAM,CAACuB,gBACT,CAAC;IACP4B,mBAAmB,EACjB/E,KAAK,CAAC+E,mBAAmB,KAAKlE,SAAS,GACnC,IAAI,GACJY,OAAO,CACLzB,KAAK,CAAC+E,mBAAmB,EACzB,qBAAqB,EACrB,CAAC,EACDnD,MAAM,CAACuB,gBACT,CAAC;IACPD,SAAS,EAAEL,iBAAiB,CAAC7C,KAAK,CAACkD,SAAS,CAAC;IAC7CX,GAAG,EAAED,WAAW,CAACtC,KAAK,CAACuC,GAAG,CAAC;IAC3BuB,IAAI,EAAED,YAAY,CAAC7D,KAAK,CAAC8D,IAAI,CAAC;IAC9BF,QAAQ,EAAER,gBAAgB,CAACpD,KAAK,CAAC4D,QAAQ;EAC3C,CAAC;EACD,IACGrC,MAAM,CAACiD,IAAI,KAAK3D,SAAS,MACvBwD,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK,CAAC,IAC7C9C,MAAM,CAACiD,IAAI,KAAK3D,SAAS,EAEzB,MAAMnB,cAAc,CAAC,+BAA+B,CAAC;EACvD,IAAI,CAAC2E,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK,KAAK9C,MAAM,CAACiD,IAAI,KAAK3D,SAAS,EAC1EU,MAAM,CAACiD,IAAI,GAAG,OAAO;EACvB,IAAIjD,MAAM,CAACgB,GAAG,KAAK1B,SAAS,IAAIwD,SAAS,KAAK,KAAK,IAAIA,SAAS,KAAK,KAAK,EACxE,MAAM3E,cAAc,CAAC,wCAAwC,CAAC;EAChE,IAAI6B,MAAM,CAACoD,QAAQ,KAAK9D,SAAS,IAAIU,MAAM,CAACmD,QAAQ,KAAK7D,SAAS,EAChE,MAAMnB,cAAc,CAAC,4BAA4B,CAAC;EACpD,OAAO6B,MAAM;AACf;AACA,OAAO,SAASyD,gBAAgBA,CAACC,KAAkB,EAAe;EAChE,MAAMjF,KAAK,GAAGG,MAAM,CAAC8E,KAAK,EAAE,SAAS,CAAC;EACtC,MAAM1D,MAAM,GAAG6C,MAAM,CAACpE,KAAK,CAAC;EAC5B,IACEuB,MAAM,CAACkD,QAAQ,KAAK5D,SAAS,IAC7Bf,UAAU,CAACyB,MAAM,CAACkD,QAAQ,CAAC,CAACzD,MAAM,GAAG,KAAK,EAE1C,MAAMtB,cAAc,CAAC,8CAA8C,CAAC;EACtE,MAAMwF,eAAe,GACnBlF,KAAK,CAACkF,eAAe,KAAKrE,SAAS,GAAG,CAAC,GAAGb,KAAK,CAACkF,eAAe;EACjE,IAAIA,eAAe,KAAK,CAAC,IAAIA,eAAe,KAAK,CAAC,EAChD,MAAMxF,cAAc,CAAC,gCAAgC,CAAC;EACxD,IAAIwF,eAAe,KAAK,CAAC,EAAE;IACzB,IAAI3D,MAAM,CAACkD,QAAQ,KAAK,EAAE,EACxB,MAAM/E,cAAc,CAAC,mDAAmD,CAAC;IAC3E,IACEM,KAAK,CAACmF,UAAU,KAAKtE,SAAS,IAC9Bb,KAAK,CAACoF,4BAA4B,KAAKvE,SAAS,IAChDb,KAAK,CAACqF,cAAc,KAAKxE,SAAS,IAClCb,KAAK,CAACsF,cAAc,KAAKzE,SAAS,EAElC,MAAMnB,cAAc,CAAC,mDAAmD,CAAC;IAC3E,OAAO;MACL,GAAG6B,MAAM;MACT2D,eAAe,EAAE,CAAC;MAClBK,YAAY,EACVvF,KAAK,CAACuF,YAAY,KAAK1E,SAAS,GAC5B,IAAI,GACJW,SAAS,CAACxB,KAAK,CAACuF,YAAY,EAAE,cAAc;IACpD,CAAC;EACH;EACA,IAAIvF,KAAK,CAACuF,YAAY,KAAK1E,SAAS,EAClC,MAAMnB,cAAc,CAAC,iDAAiD,CAAC;EACzE,MAAM8F,aAAa,GACjBxF,KAAK,CAACoF,4BAA4B,KAAKvE,SAAS,GAC5C,CAAC,GACDY,OAAO,CACLzB,KAAK,CAACoF,4BAA4B,EAClC,8BAA8B,EAC9B,CAAC,EACD,UACF,CAAC;EACP,MAAMC,cAAc,GAClBrF,KAAK,CAACqF,cAAc,KAAKxE,SAAS,GAC9B,KAAK,GACLY,OAAO,CAACzB,KAAK,CAACqF,cAAc,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,CAAC;EAC/D,MAAMF,UAAU,GACdnF,KAAK,CAACmF,UAAU,KAAKtE,SAAS,GAC1B,IAAI,GACJW,SAAS,CAACxB,KAAK,CAACmF,UAAU,EAAE,YAAY,CAAC;EAC/C,IAAI5D,MAAM,CAACkD,QAAQ,KAAK,EAAE,IAAI,CAACU,UAAU,EACvC,MAAMzF,cAAc,CAAC,0CAA0C,CAAC;EAClE,OAAO;IACL,GAAG6B,MAAM;IACT2D,eAAe,EAAE,CAAC;IAClBC,UAAU;IACVC,4BAA4B,EAAEI,aAAa;IAC3CH,cAAc;IACdC,cAAc,EACZtF,KAAK,CAACsF,cAAc,KAAKzE,SAAS,GAC9BA,SAAS,GACTmB,aAAa,CAAChC,KAAK,CAACsF,cAAc,EAAE,gBAAgB;EAC5D,CAAC;AACH;AACA,OAAO,SAASnB,iBAAiBA,CAACJ,KAAa,EAAQ;EACrD,IACEA,KAAK,CAAC/C,MAAM,KAAK,CAAC,IAClB+C,KAAK,CAACnD,QAAQ,CAAC,IAAI,CAAC,IACpBmD,KAAK,CAACnD,QAAQ,CAAC,GAAG,CAAC,IACnBmD,KAAK,CAACnD,QAAQ,CAAC,GAAG,CAAC,IACnB,CAACK,kBAAkB,CAAC8C,KAAK,CAAC,IAC1BjE,UAAU,CAACiE,KAAK,CAAC,CAAC/C,MAAM,GAAG,KAAK,EAEhC,MAAMtB,cAAc,CAAC,uBAAuB,CAAC;AACjD;AACA,OAAO,SAAS+F,mBAAmBA,CAACC,MAAc,EAAQ;EACxD,IACEA,MAAM,CAAC1E,MAAM,KAAK,CAAC,IACnB0E,MAAM,CAAC9E,QAAQ,CAAC,IAAI,CAAC,IACrB,CAACK,kBAAkB,CAACyE,MAAM,CAAC,IAC3B5F,UAAU,CAAC4F,MAAM,CAAC,CAAC1E,MAAM,GAAG,KAAK,IACjC0E,MAAM,CACHC,KAAK,CAAC,GAAG,CAAC,CACVC,IAAI,CACH,CAACC,IAAI,EAAE3E,KAAK,EAAE4E,KAAK,KAChBD,IAAI,CAACjF,QAAQ,CAAC,GAAG,CAAC,IAAIiF,IAAI,KAAK,GAAG,IAClCA,IAAI,CAACjF,QAAQ,CAAC,GAAG,CAAC,KAAKiF,IAAI,KAAK,GAAG,IAAI3E,KAAK,KAAK4E,KAAK,CAAC9E,MAAM,GAAG,CAAC,CACtE,CAAC,EAEH,MAAMtB,cAAc,CAAC,yBAAyB,CAAC;EACjD,IAAIgG,MAAM,CAACK,UAAU,CAAC,SAAS,CAAC,EAC9B,MAAMrG,cAAc,CAAC,wCAAwC,CAAC;AAClE;AACA,OAAO,SAASsG,yBAAyBA,CACvCf,KAAmC,EACnCC,eAAsB,GAAG,CAAC,EACR;EAClB,MAAMlF,KAAK,GAAGiF,KAAK,KAAKpE,SAAS,GAAG,CAAC,CAAC,GAAGV,MAAM,CAAC8E,KAAK,EAAE,mBAAmB,CAAC;EAC3E1E,SAAS,CACPP,KAAK,EACL,CAAC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EACzD,mBACF,CAAC;EACD,IACEkF,eAAe,KAAK,CAAC,KACpBlF,KAAK,CAACiG,OAAO,KAAKpF,SAAS,IAC1Bb,KAAK,CAACkG,iBAAiB,KAAKrF,SAAS,IACrCb,KAAK,CAACmG,cAAc,KAAKtF,SAAS,CAAC,EAErC,MAAMnB,cAAc,CAClB,gEACF,CAAC;EACH,OAAO;IACLuE,GAAG,EACDjE,KAAK,CAACiE,GAAG,KAAKpD,SAAS,GACnB,CAAC,GACAY,OAAO,CACNzB,KAAK,CAACiE,GAAG,EACT,uBAAuB,EACvB,CAAC,EACD,CACF,CAA6B;IACnCgC,OAAO,EACLjG,KAAK,CAACiG,OAAO,KAAKpF,SAAS,GACvB,KAAK,GACLW,SAAS,CAACxB,KAAK,CAACiG,OAAO,EAAE,2BAA2B,CAAC;IAC3DC,iBAAiB,EACflG,KAAK,CAACkG,iBAAiB,KAAKrF,SAAS,GACjC,KAAK,GACLW,SAAS,CACPxB,KAAK,CAACkG,iBAAiB,EACvB,qCACF,CAAC;IACPC,cAAc,EACZnG,KAAK,CAACmG,cAAc,KAAKtF,SAAS,GAC9B,CAAC,GACAY,OAAO,CACNzB,KAAK,CAACmG,cAAc,EACpB,kCAAkC,EAClC,CAAC,EACD,CACF;EACR,CAAC;AACH;AACA,OAAO,SAASC,uBAAuBA,CACrCnB,KAAiC,EACjCC,eAAsB,GAAG,CAAC,EACV;EAChB,MAAMlF,KAAK,GAAGiF,KAAK,KAAKpE,SAAS,GAAG,CAAC,CAAC,GAAGV,MAAM,CAAC8E,KAAK,EAAE,iBAAiB,CAAC;EACzE1E,SAAS,CACPP,KAAK,EACL,CACE,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,CACzB,EACD,iBACF,CAAC;EACD,IACEkF,eAAe,KAAK,CAAC,KACpBlF,KAAK,CAACsF,cAAc,KAAKzE,SAAS,IACjCb,KAAK,CAACqG,WAAW,KAAKxF,SAAS,IAC/Bb,KAAK,CAACsG,aAAa,KAAKzF,SAAS,IACjCb,KAAK,CAACuG,qBAAqB,KAAK1F,SAAS,IACzCb,KAAK,CAACwG,4BAA4B,KAAK3F,SAAS,IAChDb,KAAK,CAACyG,sBAAsB,KAAK5F,SAAS,CAAC,EAE7C,MAAMnB,cAAc,CAClB,2DACF,CAAC;EACH,OAAO;IACLuE,GAAG,EACDjE,KAAK,CAACiE,GAAG,KAAKpD,SAAS,GACnB,CAAC,GACAY,OAAO,CACNzB,KAAK,CAACiE,GAAG,EACT,qBAAqB,EACrB,CAAC,EACD,CACF,CAA2B;IACjCC,QAAQ,EACNlE,KAAK,CAACkE,QAAQ,KAAKrD,SAAS,GACxB,KAAK,GACLW,SAAS,CAACxB,KAAK,CAACkE,QAAQ,EAAE,0BAA0B,CAAC;IAC3DoB,cAAc,EACZtF,KAAK,CAACsF,cAAc,KAAKzE,SAAS,GAC9BA,SAAS,GACTmB,aAAa,CAAChC,KAAK,CAACsF,cAAc,EAAE,gCAAgC,CAAC;IAC3Ee,WAAW,EACTrG,KAAK,CAACqG,WAAW,KAAKxF,SAAS,GAC3BA,SAAS,GACTS,UAAU,CAACtB,KAAK,CAACqG,WAAW,EAAE,6BAA6B,CAAC;IAClEC,aAAa,EACXtG,KAAK,CAACsG,aAAa,KAAKzF,SAAS,GAC7BA,SAAS,GACTS,UAAU,CACRtB,KAAK,CAACsG,aAAa,EACnB,+BAA+B,EAC/B,KACF,CAAC;IACPC,qBAAqB,EACnBvG,KAAK,CAACuG,qBAAqB,KAAK1F,SAAS,GACrCA,SAAS,GACTuB,MAAM,CACJpC,KAAK,CAACuG,qBAAqB,EAC3B,uCACF,CAAC;IACPC,4BAA4B,EAC1BxG,KAAK,CAACwG,4BAA4B,KAAK3F,SAAS,GAC5CA,SAAS,GACTY,OAAO,CACLzB,KAAK,CAACwG,4BAA4B,EAClC,8CAA8C,EAC9C,CAAC,EACD,UACF,CAAC;IACPC,sBAAsB,EACpBzG,KAAK,CAACyG,sBAAsB,KAAK5F,SAAS,GACtCA,SAAS,GACRY,OAAO,CACNzB,KAAK,CAACyG,sBAAsB,EAC5B,wCAAwC,EACxC,CAAC,EACD,CACF;EACR,CAAC;AACH;AACA,OAAO,SAASC,oBAAoBA,CAACC,OAAoB,EAAsB;EAC7E,MAAMC,UAAU,GAAG5B,gBAAgB,CAAC2B,OAAO,CAAC;EAC5C,MAAME,IAAwB,GAAG;IAC/BvC,IAAI,EAAEsC,UAAU,CAACtC,IAAI;IACrBC,IAAI,EAAEqC,UAAU,CAACrC,IAAI;IACrBW,eAAe,EAAE0B,UAAU,CAAC1B,eAAe;IAC3Cb,SAAS,EAAEuC,UAAU,CAACvC,SAAS;IAC/BG,IAAI,EAAEoC,UAAU,CAACpC,IAAI;IACrBC,QAAQ,EAAEmC,UAAU,CAACnC,QAAQ;IAC7BC,QAAQ,EAAEkC,UAAU,CAAClC,QAAQ;IAC7BC,QAAQ,EAAEiC,UAAU,CAACjC,QAAQ;IAC7BC,gBAAgB,EAAEgC,UAAU,CAAChC,gBAAgB;IAC7CC,gBAAgB,EAAE+B,UAAU,CAAC/B,gBAAgB;IAC7CC,kBAAkB,EAAE8B,UAAU,CAAC9B,kBAAkB;IACjDC,mBAAmB,EAAE6B,UAAU,CAAC7B,mBAAmB;IACnD+B,gBAAgB,EAAEF,UAAU,CAAC1D,SAAS,EAAEJ,OAAO;IAC/CiE,uBAAuB,EAAEH,UAAU,CAAC1D,SAAS,EAAEH,cAAc;IAC7DiE,mBAAmB,EAAEJ,UAAU,CAAC1D,SAAS,EAAEF,UAAU;IACrDiE,oBAAoB,EAAEL,UAAU,CAAC1D,SAAS,EAAED,WAAW;IACvDiE,WAAW,EAAEN,UAAU,CAACrE,GAAG,EAAEC,QAAQ;IACrC2E,YAAY,EAAEP,UAAU,CAACrE,GAAG,EAAEE,SAAS;IACvC2E,cAAc,EAAER,UAAU,CAACrE,GAAG,EAAEG,WAAW;IAC3C2E,WAAW,EAAET,UAAU,CAACrE,GAAG,EAAEI,QAAQ;IACrC2E,iCAAiC,EAC/BV,UAAU,CAACrE,GAAG,EAAEK,8BAA8B;IAChD2E,SAAS,EAAEX,UAAU,CAAC9C,IAAI,EAAEC,KAAK;IACjCyD,iBAAiB,EAAEZ,UAAU,CAAC9C,IAAI,EAAEE,aAAa;IACjDyD,OAAO,EAAEb,UAAU,CAAC9C,IAAI,EAAEG,GAAG;IAC7ByD,YAAY,EAAEd,UAAU,CAAC9C,IAAI,EAAEI,QAAQ;IACvCqB,YAAY,EACVqB,UAAU,CAAC1B,eAAe,KAAK,CAAC,GAAG0B,UAAU,CAACrB,YAAY,GAAG1E,SAAS;IACxEsE,UAAU,EACRyB,UAAU,CAAC1B,eAAe,KAAK,CAAC,GAAG0B,UAAU,CAACzB,UAAU,GAAGtE,SAAS;IACtEuE,4BAA4B,EAC1BwB,UAAU,CAAC1B,eAAe,KAAK,CAAC,GAC5B0B,UAAU,CAACxB,4BAA4B,GACvCvE,SAAS;IACfwE,cAAc,EACZuB,UAAU,CAAC1B,eAAe,KAAK,CAAC,GAAG0B,UAAU,CAACvB,cAAc,GAAGxE,SAAS;IAC1EyE,cAAc,EACZsB,UAAU,CAAC1B,eAAe,KAAK,CAAC,GAC5B0B,UAAU,CAACtB,cAAc,EAAErD,GAAG,CAAC0F,cAAc,CAAC,GAC9C9G,SAAS;IACfwC,iBAAiB,EAAEuD,UAAU,CAAChD,QAAQ,EAAEP,iBAAiB;IACzDC,cAAc,EAAEsD,UAAU,CAAChD,QAAQ,EAAEN,cAAc;IACnDC,eAAe,EAAEqD,UAAU,CAAChD,QAAQ,EAAEL,eAAe;IACrDC,gBAAgB,EAAEoD,UAAU,CAAChD,QAAQ,EAAEJ,gBAAgB;IACvDC,aAAa,EAAEmD,UAAU,CAAChD,QAAQ,EAAEH,aAAa;IACjDC,iBAAiB,EAAEkD,UAAU,CAAChD,QAAQ,EAAEF,iBAAiB;IACzDC,cAAc,EAAEiD,UAAU,CAAChD,QAAQ,EAAED;EACvC,CAAC;EACD,OAAOkD,IAAI;AACb;AACA,SAASc,cAAcA,CAACC,QAAsB,EAAoB;EAChE,OAAO;IAAEjH,GAAG,EAAEiH,QAAQ,CAACjH,GAAG;IAAEX,KAAK,EAAE4H,QAAQ,CAAC5H;EAAM,CAAC;AACrD;AACA,OAAO,SAAS6H,sBAAsBA,CACpClB,OAAqC,EACf;EACtB,MAAMC,UAAU,GAAGZ,yBAAyB,CAACW,OAAO,CAAC;EACrD,OAAO;IACL1C,GAAG,EAAE2C,UAAU,CAAC3C,GAAG;IACnBgC,OAAO,EAAEW,UAAU,CAACX,OAAO;IAC3BC,iBAAiB,EAAEU,UAAU,CAACV,iBAAiB;IAC/CC,cAAc,EAAES,UAAU,CAACT;EAC7B,CAAC;AACH;AACA,OAAO,SAAS2B,oBAAoBA,CAClC/D,KAAa,EACbC,aAAqB,EACrB2C,OAAmC,EACnCzB,eAAsB,GAAG,CAAC,EACN;EACpBf,iBAAiB,CAACJ,KAAK,CAAC;EACxB,MAAM6C,UAAU,GAAGR,uBAAuB,CAACO,OAAO,EAAEzB,eAAe,CAAC;EACpE,IAAI0B,UAAU,CAACN,aAAa,KAAKzF,SAAS,EACxCsD,iBAAiB,CAACyC,UAAU,CAACN,aAAa,CAAC;EAC7C,MAAMyB,OAAO,GAAGpI,YAAY,CAACqE,aAAa,CAAC;EAC3C,IAAI4C,UAAU,CAACH,sBAAsB,KAAK,CAAC,EAAE7G,UAAU,CAACmI,OAAO,CAAC;EAChE,OAAO;IACLhE,KAAK;IACLC,aAAa,EAAEnE,YAAY,CAACkI,OAAO,CAAC;IACpC9D,GAAG,EAAE2C,UAAU,CAAC3C,GAAG;IACnBC,QAAQ,EAAE0C,UAAU,CAAC1C,QAAQ;IAC7BoB,cAAc,EAAEsB,UAAU,CAACtB,cAAc,EAAErD,GAAG,CAAC0F,cAAc,CAAC;IAC9DtB,WAAW,EAAEO,UAAU,CAACP,WAAW;IACnCC,aAAa,EAAEM,UAAU,CAACN,aAAa;IACvCC,qBAAqB,EAAEK,UAAU,CAACL,qBAAqB;IACvDC,4BAA4B,EAAEI,UAAU,CAACJ,4BAA4B;IACrEC,sBAAsB,EAAEG,UAAU,CAACH;EACrC,CAAC;AACH;AACA,SAAS5G,YAAY","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}