@bessemer/cornerstone 0.5.98 → 0.5.101

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 (193) hide show
  1. package/dist/array.d.ts +62 -1
  2. package/dist/array.d.ts.map +1 -1
  3. package/dist/array.js +24 -11
  4. package/dist/array.js.map +1 -1
  5. package/dist/aspect-ratio.d.ts +1 -1
  6. package/dist/aspect-ratio.d.ts.map +1 -1
  7. package/dist/aspect-ratio.js +9 -5
  8. package/dist/aspect-ratio.js.map +1 -1
  9. package/dist/async-value.d.ts +7 -1
  10. package/dist/async-value.d.ts.map +1 -1
  11. package/dist/async-value.js +26 -1
  12. package/dist/async-value.js.map +1 -1
  13. package/dist/cache.js +1 -1
  14. package/dist/cache.js.map +1 -1
  15. package/dist/data-size.d.ts +2 -1
  16. package/dist/data-size.d.ts.map +1 -1
  17. package/dist/data-size.js +7 -1
  18. package/dist/data-size.js.map +1 -1
  19. package/dist/equalitor.d.ts +1 -0
  20. package/dist/equalitor.d.ts.map +1 -1
  21. package/dist/equalitor.js +3 -0
  22. package/dist/equalitor.js.map +1 -1
  23. package/dist/error/error-cause.d.ts +35 -0
  24. package/dist/error/error-cause.d.ts.map +1 -0
  25. package/dist/error/error-cause.js +97 -0
  26. package/dist/error/error-cause.js.map +1 -0
  27. package/dist/error/error-code.d.ts +17 -0
  28. package/dist/error/error-code.d.ts.map +1 -0
  29. package/dist/error/error-code.js +32 -0
  30. package/dist/error/error-code.js.map +1 -0
  31. package/dist/error/error-event.d.ts +29 -48
  32. package/dist/error/error-event.d.ts.map +1 -1
  33. package/dist/error/error-event.js +62 -151
  34. package/dist/error/error-event.js.map +1 -1
  35. package/dist/error/error-type.d.ts +1 -0
  36. package/dist/error/error-type.d.ts.map +1 -1
  37. package/dist/error/error-type.js +4 -2
  38. package/dist/error/error-type.js.map +1 -1
  39. package/dist/function.d.ts +1 -1
  40. package/dist/function.d.ts.map +1 -1
  41. package/dist/function.js +3 -2
  42. package/dist/function.js.map +1 -1
  43. package/dist/glob.d.ts +2 -2
  44. package/dist/glob.d.ts.map +1 -1
  45. package/dist/glob.js +9 -5
  46. package/dist/glob.js.map +1 -1
  47. package/dist/hex-code.d.ts +1 -1
  48. package/dist/hex-code.d.ts.map +1 -1
  49. package/dist/hex-code.js +9 -5
  50. package/dist/hex-code.js.map +1 -1
  51. package/dist/index.d.ts +10 -5
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +15 -5
  54. package/dist/index.js.map +1 -1
  55. package/dist/intl/country-code.d.ts +1 -1
  56. package/dist/intl/country-code.d.ts.map +1 -1
  57. package/dist/intl/country-code.js +4 -4
  58. package/dist/intl/country-code.js.map +1 -1
  59. package/dist/intl/country-subdivision-code.d.ts +1 -1
  60. package/dist/intl/country-subdivision-code.d.ts.map +1 -1
  61. package/dist/intl/country-subdivision-code.js +4 -4
  62. package/dist/intl/country-subdivision-code.js.map +1 -1
  63. package/dist/intl/currency-code.d.ts +1 -1
  64. package/dist/intl/currency-code.d.ts.map +1 -1
  65. package/dist/intl/currency-code.js +10 -6
  66. package/dist/intl/currency-code.js.map +1 -1
  67. package/dist/intl/language-code.d.ts +1 -1
  68. package/dist/intl/language-code.d.ts.map +1 -1
  69. package/dist/intl/language-code.js +4 -4
  70. package/dist/intl/language-code.js.map +1 -1
  71. package/dist/intl/locale.d.ts +1 -1
  72. package/dist/intl/locale.d.ts.map +1 -1
  73. package/dist/intl/locale.js +6 -6
  74. package/dist/intl/locale.js.map +1 -1
  75. package/dist/mime-type.d.ts +2 -2
  76. package/dist/mime-type.d.ts.map +1 -1
  77. package/dist/mime-type.js +9 -5
  78. package/dist/mime-type.js.map +1 -1
  79. package/dist/net/domain-name.d.ts +10 -0
  80. package/dist/net/domain-name.d.ts.map +1 -0
  81. package/dist/net/domain-name.js +30 -0
  82. package/dist/net/domain-name.js.map +1 -0
  83. package/dist/net/ipv4-address.d.ts +10 -0
  84. package/dist/net/ipv4-address.d.ts.map +1 -0
  85. package/dist/net/ipv4-address.js +30 -0
  86. package/dist/net/ipv4-address.js.map +1 -0
  87. package/dist/net/ipv6-address.d.ts +10 -0
  88. package/dist/net/ipv6-address.d.ts.map +1 -0
  89. package/dist/net/ipv6-address.js +30 -0
  90. package/dist/net/ipv6-address.js.map +1 -0
  91. package/dist/net/uri-host-name.d.ts +12 -0
  92. package/dist/net/uri-host-name.d.ts.map +1 -0
  93. package/dist/net/uri-host-name.js +44 -0
  94. package/dist/net/uri-host-name.js.map +1 -0
  95. package/dist/net/uri.d.ts +249 -0
  96. package/dist/net/uri.d.ts.map +1 -0
  97. package/dist/net/uri.js +444 -0
  98. package/dist/net/uri.js.map +1 -0
  99. package/dist/net/url.d.ts +58 -0
  100. package/dist/net/url.d.ts.map +1 -0
  101. package/dist/net/url.js +211 -0
  102. package/dist/net/url.js.map +1 -0
  103. package/dist/object/object-path.d.ts +1 -1
  104. package/dist/object/object-path.d.ts.map +1 -1
  105. package/dist/object/object-path.js +4 -4
  106. package/dist/object/object-path.js.map +1 -1
  107. package/dist/object/type-path.d.ts +1 -1
  108. package/dist/object/type-path.d.ts.map +1 -1
  109. package/dist/object/type-path.js +3 -3
  110. package/dist/object/type-path.js.map +1 -1
  111. package/dist/object.d.ts +1 -1
  112. package/dist/object.d.ts.map +1 -1
  113. package/dist/object.js +8 -6
  114. package/dist/object.js.map +1 -1
  115. package/dist/property.d.ts +2 -3
  116. package/dist/property.d.ts.map +1 -1
  117. package/dist/property.js.map +1 -1
  118. package/dist/resource-key.d.ts +7 -5
  119. package/dist/resource-key.d.ts.map +1 -1
  120. package/dist/resource-key.js +27 -15
  121. package/dist/resource-key.js.map +1 -1
  122. package/dist/result.d.ts.map +1 -1
  123. package/dist/result.js +3 -3
  124. package/dist/result.js.map +1 -1
  125. package/dist/string.d.ts +10 -21
  126. package/dist/string.d.ts.map +1 -1
  127. package/dist/string.js +54 -25
  128. package/dist/string.js.map +1 -1
  129. package/dist/tag.d.ts +2 -2
  130. package/dist/tag.d.ts.map +1 -1
  131. package/dist/tag.js +11 -12
  132. package/dist/tag.js.map +1 -1
  133. package/dist/temporal/duration.d.ts +4 -5
  134. package/dist/temporal/duration.d.ts.map +1 -1
  135. package/dist/temporal/duration.js +3 -7
  136. package/dist/temporal/duration.js.map +1 -1
  137. package/dist/temporal/instant.d.ts +4 -5
  138. package/dist/temporal/instant.d.ts.map +1 -1
  139. package/dist/temporal/instant.js +11 -9
  140. package/dist/temporal/instant.js.map +1 -1
  141. package/dist/temporal/plain-date-time.d.ts +4 -5
  142. package/dist/temporal/plain-date-time.d.ts.map +1 -1
  143. package/dist/temporal/plain-date-time.js +3 -7
  144. package/dist/temporal/plain-date-time.js.map +1 -1
  145. package/dist/temporal/plain-date.d.ts +8 -9
  146. package/dist/temporal/plain-date.d.ts.map +1 -1
  147. package/dist/temporal/plain-date.js +3 -7
  148. package/dist/temporal/plain-date.js.map +1 -1
  149. package/dist/temporal/plain-time.d.ts +6 -7
  150. package/dist/temporal/plain-time.d.ts.map +1 -1
  151. package/dist/temporal/plain-time.js +4 -8
  152. package/dist/temporal/plain-time.js.map +1 -1
  153. package/dist/temporal/time-zone-id.d.ts +1 -1
  154. package/dist/temporal/time-zone-id.d.ts.map +1 -1
  155. package/dist/temporal/time-zone-id.js +4 -4
  156. package/dist/temporal/time-zone-id.js.map +1 -1
  157. package/dist/temporal/time-zone-offset.d.ts +1 -1
  158. package/dist/temporal/time-zone-offset.d.ts.map +1 -1
  159. package/dist/temporal/time-zone-offset.js +4 -4
  160. package/dist/temporal/time-zone-offset.js.map +1 -1
  161. package/dist/temporal/zoned-date-time.d.ts +51 -0
  162. package/dist/temporal/zoned-date-time.d.ts.map +1 -0
  163. package/dist/temporal/zoned-date-time.js +106 -0
  164. package/dist/temporal/zoned-date-time.js.map +1 -0
  165. package/dist/types.d.ts +2 -2
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/{ulid.d.ts → uuid/ulid.d.ts} +2 -2
  168. package/dist/uuid/ulid.d.ts.map +1 -0
  169. package/dist/uuid/ulid.js +33 -0
  170. package/dist/uuid/ulid.js.map +1 -0
  171. package/dist/uuid/uuid-v4.d.ts +11 -0
  172. package/dist/uuid/uuid-v4.d.ts.map +1 -0
  173. package/dist/{uuid.js → uuid/uuid-v4.js} +16 -12
  174. package/dist/uuid/uuid-v4.js.map +1 -0
  175. package/dist/uuid/uuid-v7.d.ts +18 -0
  176. package/dist/uuid/uuid-v7.d.ts.map +1 -0
  177. package/dist/uuid/uuid-v7.js +48 -0
  178. package/dist/uuid/uuid-v7.js.map +1 -0
  179. package/package.json +1 -1
  180. package/dist/ulid.d.ts.map +0 -1
  181. package/dist/ulid.js +0 -29
  182. package/dist/ulid.js.map +0 -1
  183. package/dist/uri.d.ts +0 -52
  184. package/dist/uri.d.ts.map +0 -1
  185. package/dist/uri.js +0 -222
  186. package/dist/uri.js.map +0 -1
  187. package/dist/url.d.ts +0 -26
  188. package/dist/url.d.ts.map +0 -1
  189. package/dist/url.js +0 -120
  190. package/dist/url.js.map +0 -1
  191. package/dist/uuid.d.ts +0 -11
  192. package/dist/uuid.d.ts.map +0 -1
  193. package/dist/uuid.js.map +0 -1
package/dist/url.js DELETED
@@ -1,120 +0,0 @@
1
- // src/url.ts
2
- import { Arrays, Objects, Strings, Uris } from "@bessemer/cornerstone";
3
- var encode = Uris.encode;
4
- var decode = Uris.decode;
5
- var augmentUriLocation = (uriLocation, normalize) => {
6
- const pathSegments = [];
7
- const parameters = {};
8
- if (!Strings.isBlank(uriLocation.path)) {
9
- Strings.removeStart(uriLocation.path, "/").split("/").forEach((urlPathPart) => {
10
- if (!Strings.isBlank(urlPathPart) || !normalize) {
11
- pathSegments.push(decode(urlPathPart));
12
- }
13
- });
14
- }
15
- if (Objects.isPresent(uriLocation.query)) {
16
- uriLocation.query.split("&").forEach((parameterPair) => {
17
- let splitParameters = parameterPair.split("=");
18
- if (!Strings.isBlank(Arrays.first(splitParameters))) {
19
- let key = decode(splitParameters[0]);
20
- let value = "";
21
- if (splitParameters.length === 2) {
22
- value = splitParameters[1];
23
- }
24
- if (Objects.isNil(parameters[key])) {
25
- parameters[key] = decode(value);
26
- } else if (!Array.isArray(parameters[key])) {
27
- let paramList = [parameters[key]];
28
- paramList.push(decode(value));
29
- parameters[key] = paramList;
30
- } else {
31
- parameters[key].push(decode(value));
32
- }
33
- }
34
- });
35
- }
36
- return {
37
- ...uriLocation,
38
- pathSegments,
39
- parameters
40
- };
41
- };
42
- var parse = (urlString, normalize = true) => {
43
- const uri = Uris.parse(urlString);
44
- const location = augmentUriLocation(uri.location, normalize);
45
- if (normalize) {
46
- if (!Arrays.isEmpty(location.pathSegments)) {
47
- location.path = (Strings.startsWith(location.path, "/") ? "/" : "") + formatPathSegments(location.pathSegments);
48
- } else {
49
- location.path = "";
50
- }
51
- location.query = formatQueryParameters(location.parameters);
52
- }
53
- return {
54
- ...uri,
55
- location
56
- };
57
- };
58
- var format = Uris.format;
59
- var formatPathSegments = (pathSegments) => {
60
- return pathSegments.map((it) => encode(it)).join("/");
61
- };
62
- var formatQueryParameters = (parameters) => {
63
- const parameterEntries = Object.entries(parameters);
64
- if (Arrays.isEmpty(parameterEntries)) {
65
- return null;
66
- }
67
- return Object.entries(parameters).flatMap(([key, value]) => {
68
- if (Array.isArray(value)) {
69
- return value.map((it) => `${encode(key)}=${encode(it)}`);
70
- } else {
71
- return [`${encode(key)}=${encode(value)}`];
72
- }
73
- }).join("&");
74
- };
75
- var build = (builder) => {
76
- const uri = Uris.build(builder);
77
- if (Objects.isPresent(builder.location?.parameters)) {
78
- uri.location.query = formatQueryParameters(builder.location.parameters);
79
- }
80
- const urlLocation = augmentUriLocation(uri.location, false);
81
- return {
82
- ...uri,
83
- location: urlLocation
84
- };
85
- };
86
- var buildString = (builder) => {
87
- return format(build(builder));
88
- };
89
- var reify = (blah) => {
90
- if (!Strings.isString(blah)) {
91
- return blah;
92
- }
93
- return parse(blah);
94
- };
95
- var getParameter = (url, name) => {
96
- const parameter = reify(url).location.parameters[name];
97
- if (Objects.isNil(parameter)) {
98
- return void 0;
99
- }
100
- if (Array.isArray(parameter)) {
101
- throw new Error(`Expected a single parameter value but found multiple for parameter: ${name}`);
102
- }
103
- return parameter;
104
- };
105
- var getJsonParameter = (url, name) => {
106
- const value = getParameter(url, name);
107
- return Objects.isPresent(value) ? JSON.parse(value) : void 0;
108
- };
109
- export {
110
- build,
111
- buildString,
112
- decode,
113
- encode,
114
- format,
115
- getJsonParameter,
116
- getParameter,
117
- parse,
118
- reify
119
- };
120
- //# sourceMappingURL=url.js.map
package/dist/url.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/url.ts"],"sourcesContent":["import { Arrays, Objects, Strings, Uris } from '@bessemer/cornerstone'\nimport { Dictionary } from '@bessemer/cornerstone/types'\nimport { Uri, UriBuilder, UriComponent, UriLocation, UriString } from '@bessemer/cornerstone/uri'\n// JOHN UPDATING URLS NEEDS WORK\nexport const encode = Uris.encode\n\nexport const decode = Uris.decode\n\nexport interface UrlLocation extends UriLocation {\n pathSegments: Array<string>\n parameters: Dictionary<string | Array<string>>\n}\n\nexport interface Url extends Uri {\n location: UrlLocation\n}\n\nexport type UrlLike = Url | UriString\n\nconst augmentUriLocation = (uriLocation: UriLocation, normalize: boolean): UrlLocation => {\n const pathSegments: Array<string> = []\n const parameters: Dictionary<string | Array<string>> = {}\n\n if (!Strings.isBlank(uriLocation.path)) {\n Strings.removeStart(uriLocation.path, '/')\n .split('/')\n .forEach((urlPathPart) => {\n if (!Strings.isBlank(urlPathPart) || !normalize) {\n pathSegments.push(decode(urlPathPart))\n }\n })\n }\n\n if (Objects.isPresent(uriLocation.query)) {\n uriLocation.query.split('&').forEach((parameterPair) => {\n let splitParameters = parameterPair.split('=')\n\n if (!Strings.isBlank(Arrays.first(splitParameters))) {\n let key = decode(splitParameters[0]!)\n let value = ''\n if (splitParameters.length === 2) {\n value = splitParameters[1]!\n }\n if (Objects.isNil(parameters[key])) {\n parameters[key] = decode(value)\n } else if (!Array.isArray(parameters[key])) {\n let paramList = [parameters[key]]\n paramList.push(decode(value))\n parameters[key] = paramList\n } else {\n parameters[key].push(decode(value))\n }\n }\n })\n }\n\n return {\n ...uriLocation,\n pathSegments,\n parameters,\n }\n}\n\nexport const parse = (urlString: UriString, normalize: boolean = true): Url => {\n const uri = Uris.parse(urlString)\n const location = augmentUriLocation(uri.location, normalize)\n\n if (normalize) {\n if (!Arrays.isEmpty(location.pathSegments)) {\n location.path = (Strings.startsWith(location.path, '/') ? '/' : '') + formatPathSegments(location.pathSegments)\n } else {\n location.path = ''\n }\n\n location.query = formatQueryParameters(location.parameters)\n }\n\n return {\n ...uri,\n location,\n }\n}\n\nexport const format = Uris.format\n\nconst formatPathSegments = (pathSegments: Array<string>): UriComponent => {\n return pathSegments.map((it) => encode(it)).join('/')\n}\n\nconst formatQueryParameters = (parameters: Dictionary<string | Array<string>>): UriComponent | null => {\n const parameterEntries = Object.entries(parameters)\n if (Arrays.isEmpty(parameterEntries)) {\n return null\n }\n\n return Object.entries(parameters)\n .flatMap(([key, value]) => {\n if (Array.isArray(value)) {\n return value.map((it) => `${encode(key)}=${encode(it)}`)\n } else {\n return [`${encode(key)}=${encode(value)}`]\n }\n })\n .join('&')\n}\n\nexport type UrlBuilder = UriBuilder & {\n location?: {\n parameters?: Dictionary<string | Array<string>>\n }\n}\n\nexport const build = (builder: UrlBuilder): Url => {\n const uri = Uris.build(builder)\n\n if (Objects.isPresent(builder.location?.parameters)) {\n uri.location.query = formatQueryParameters(builder.location.parameters)\n }\n\n const urlLocation = augmentUriLocation(uri.location, false)\n\n return {\n ...uri,\n location: urlLocation,\n }\n}\n\nexport const buildString = (builder: UrlBuilder): UriString => {\n return format(build(builder))\n}\n\nexport const reify = (blah: UrlLike): Url => {\n if (!Strings.isString(blah)) {\n return blah\n }\n\n return parse(blah)\n}\n\nexport const getParameter = (url: UrlLike, name: string): string | undefined => {\n const parameter = reify(url).location.parameters[name]\n if (Objects.isNil(parameter)) {\n return undefined\n }\n\n if (Array.isArray(parameter)) {\n throw new Error(`Expected a single parameter value but found multiple for parameter: ${name}`)\n }\n\n return parameter\n}\n\nexport const getJsonParameter = <T>(url: UrlLike, name: string): T | undefined => {\n const value = getParameter(url, name)\n return Objects.isPresent(value) ? JSON.parse(value) : undefined\n}\n"],"mappings":"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","names":[]}
package/dist/uuid.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import { NominalType } from '@bessemer/cornerstone/types';
2
- import Zod from 'zod';
3
- import { Result } from '@bessemer/cornerstone/result';
4
- import { ErrorEvent } from '@bessemer/cornerstone/error/error-event';
5
- export declare const Namespace: import("@bessemer/cornerstone/resource-key").ResourceNamespace<"uuid">;
6
- export type Uuid = NominalType<string, typeof Namespace>;
7
- export declare const parseString: (value: string) => Result<Uuid, ErrorEvent>;
8
- export declare const fromString: (value: string) => Uuid;
9
- export declare const Schema: Zod.ZodPipe<Zod.ZodString, Zod.ZodTransform<Uuid, string>>;
10
- export declare const generate: () => Uuid;
11
- //# sourceMappingURL=uuid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,GAAG,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAW,MAAM,EAAW,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,UAAU,EAA8B,MAAM,yCAAyC,CAAA;AAIhG,eAAO,MAAM,SAAS,wEAAoB,CAAA;AAC1C,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;AAExD,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,IAAI,EAAE,UAAU,CAMlE,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,IAE1C,CAAA;AAED,eAAO,MAAM,MAAM,4DAAiD,CAAA;AAEpE,eAAO,MAAM,QAAQ,QAAO,IAM3B,CAAA"}
package/dist/uuid.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/uuid.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport Zod from 'zod'\nimport { isNil } from '@bessemer/cornerstone/object'\nimport { padStart } from '@bessemer/cornerstone/string'\nimport { failure, Result, success } from '@bessemer/cornerstone/result'\nimport { ErrorEvent, invalidValue, unpackResult } from '@bessemer/cornerstone/error/error-event'\nimport { namespace } from '@bessemer/cornerstone/resource-key'\nimport { structuredTransform } from '@bessemer/cornerstone/zod-util'\n\nexport const Namespace = namespace('uuid')\nexport type Uuid = NominalType<string, typeof Namespace>\n\nexport const parseString = (value: string): Result<Uuid, ErrorEvent> => {\n if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value)) {\n return failure(invalidValue(value, { namespace: Namespace, message: `Invalid Uuid format.` }))\n }\n\n return success(value.toLowerCase() as Uuid)\n}\n\nexport const fromString = (value: string): Uuid => {\n return unpackResult(parseString(value))\n}\n\nexport const Schema = structuredTransform(Zod.string(), parseString)\n\nexport const generate = (): Uuid => {\n if (isNil(crypto.randomUUID)) {\n return `${randomHex(8)}-${randomHex(4)}-${randomHex(4)}-${randomHex(4)}-${randomHex(12)}` as Uuid\n } else {\n return crypto.randomUUID() as Uuid\n }\n}\n\nconst randomHex = (characters: number) => {\n // Generates a random number between 0x0..0 and 0xF..F for the target number of characters\n const randomNum = Math.floor(Math.random() * (16 ** characters - 1))\n return padStart(randomNum.toString(16), characters, '0')\n}\n"],"mappings":";AACA,OAAO,SAAS;AAChB,SAAS,aAAa;AACtB,SAAS,gBAAgB;AACzB,SAAS,SAAiB,eAAe;AACzC,SAAqB,cAAc,oBAAoB;AACvD,SAAS,iBAAiB;AAC1B,SAAS,2BAA2B;AAE7B,IAAM,YAAY,UAAU,MAAM;AAGlC,IAAM,cAAc,CAAC,UAA4C;AACtE,MAAI,CAAC,6EAA6E,KAAK,KAAK,GAAG;AAC7F,WAAO,QAAQ,aAAa,OAAO,EAAE,WAAW,WAAW,SAAS,uBAAuB,CAAC,CAAC;AAAA,EAC/F;AAEA,SAAO,QAAQ,MAAM,YAAY,CAAS;AAC5C;AAEO,IAAM,aAAa,CAAC,UAAwB;AACjD,SAAO,aAAa,YAAY,KAAK,CAAC;AACxC;AAEO,IAAM,SAAS,oBAAoB,IAAI,OAAO,GAAG,WAAW;AAE5D,IAAM,WAAW,MAAY;AAClC,MAAI,MAAM,OAAO,UAAU,GAAG;AAC5B,WAAO,GAAG,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;AAAA,EACzF,OAAO;AACL,WAAO,OAAO,WAAW;AAAA,EAC3B;AACF;AAEA,IAAM,YAAY,CAAC,eAAuB;AAExC,QAAM,YAAY,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,aAAa,EAAE;AACnE,SAAO,SAAS,UAAU,SAAS,EAAE,GAAG,YAAY,GAAG;AACzD;","names":[]}