eslint-config-typed 3.14.1 → 4.0.1

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 (63) hide show
  1. package/README.md +90 -9
  2. package/dist/plugins/vitest-coding-style/rules/prefer-assert-deep-strict-equal-over-deep-equal.d.mts +6 -0
  3. package/dist/plugins/vitest-coding-style/rules/prefer-assert-deep-strict-equal-over-deep-equal.d.mts.map +1 -0
  4. package/dist/plugins/vitest-coding-style/rules/{prefer-assert-over-assert-ok.mjs → prefer-assert-deep-strict-equal-over-deep-equal.mjs} +8 -8
  5. package/dist/plugins/vitest-coding-style/rules/prefer-assert-deep-strict-equal-over-deep-equal.mjs.map +1 -0
  6. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.d.mts +6 -0
  7. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.d.mts.map +1 -0
  8. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.mjs +41 -0
  9. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.mjs.map +1 -0
  10. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-not-ok.d.mts +6 -0
  11. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-not-ok.d.mts.map +1 -0
  12. package/dist/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-assert-is-not-ok.mjs → prefer-assert-is-false-over-assert-not-ok.mjs} +8 -8
  13. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-not-ok.mjs.map +1 -0
  14. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.d.mts +6 -0
  15. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.d.mts.map +1 -0
  16. package/dist/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-expect-false.mjs → prefer-assert-is-false-over-expect-false.mjs} +7 -7
  17. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mjs.map +1 -0
  18. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.d.mts +6 -0
  19. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.d.mts.map +1 -0
  20. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.mjs +41 -0
  21. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.mjs.map +1 -0
  22. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.d.mts +6 -0
  23. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.d.mts.map +1 -0
  24. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.mjs +52 -0
  25. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.mjs.map +1 -0
  26. package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.d.mts +6 -0
  27. package/dist/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-expect-false.d.mts.map → prefer-assert-is-true-over-expect-true.d.mts.map} +1 -1
  28. package/dist/plugins/vitest-coding-style/rules/{prefer-assert-over-expect-true.mjs → prefer-assert-is-true-over-expect-true.mjs} +7 -7
  29. package/dist/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-expect-false.mjs.map → prefer-assert-is-true-over-expect-true.mjs.map} +1 -1
  30. package/dist/plugins/vitest-coding-style/rules/rules.d.mts +7 -4
  31. package/dist/plugins/vitest-coding-style/rules/rules.d.mts.map +1 -1
  32. package/dist/plugins/vitest-coding-style/rules/rules.mjs +14 -8
  33. package/dist/plugins/vitest-coding-style/rules/rules.mjs.map +1 -1
  34. package/dist/rules/eslint-vitest-coding-style-rules.d.mts +7 -4
  35. package/dist/rules/eslint-vitest-coding-style-rules.d.mts.map +1 -1
  36. package/dist/rules/eslint-vitest-coding-style-rules.mjs +7 -4
  37. package/dist/rules/eslint-vitest-coding-style-rules.mjs.map +1 -1
  38. package/dist/types/rules/eslint-vitest-coding-style-rules.d.mts +57 -12
  39. package/dist/types/rules/eslint-vitest-coding-style-rules.d.mts.map +1 -1
  40. package/package.json +4 -1
  41. package/src/plugins/vitest-coding-style/rules/original-assert-api-type.test.mts +147 -0
  42. package/src/plugins/vitest-coding-style/rules/prefer-assert-coding-style-rules.test.mts +118 -40
  43. package/src/plugins/vitest-coding-style/rules/{prefer-assert-over-assert-ok.mts → prefer-assert-deep-strict-equal-over-deep-equal.mts} +8 -8
  44. package/src/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.mts +53 -0
  45. package/src/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-assert-is-not-ok.mts → prefer-assert-is-false-over-assert-not-ok.mts} +9 -8
  46. package/src/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-expect-false.mts → prefer-assert-is-false-over-expect-false.mts} +8 -7
  47. package/src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.mts +53 -0
  48. package/src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.mts +67 -0
  49. package/src/plugins/vitest-coding-style/rules/{prefer-assert-over-expect-true.mts → prefer-assert-is-true-over-expect-true.mts} +8 -7
  50. package/src/plugins/vitest-coding-style/rules/rules.mts +22 -10
  51. package/src/plugins/vitest-coding-style/rules/vitest-coding-style.d.mts +1614 -0
  52. package/src/rules/eslint-vitest-coding-style-rules.mts +10 -4
  53. package/src/types/rules/eslint-vitest-coding-style-rules.mts +60 -12
  54. package/dist/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-assert-is-not-ok.d.mts +0 -6
  55. package/dist/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-assert-is-not-ok.d.mts.map +0 -1
  56. package/dist/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-assert-is-not-ok.mjs.map +0 -1
  57. package/dist/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-expect-false.d.mts +0 -6
  58. package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-assert-ok.d.mts +0 -6
  59. package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-assert-ok.d.mts.map +0 -1
  60. package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-assert-ok.mjs.map +0 -1
  61. package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-expect-true.d.mts +0 -6
  62. package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-expect-true.d.mts.map +0 -1
  63. package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-expect-true.mjs.map +0 -1
@@ -2,8 +2,14 @@ import { type EslintVitestCodingStyleRules } from '../types/index.mjs';
2
2
 
3
3
  export const eslintVitestCodingStyleRules = {
4
4
  'vitest-coding-style/no-expect-to-strict-equal': 'error',
5
- 'vitest-coding-style/prefer-assert-over-assert-ok': 'error',
6
- 'vitest-coding-style/prefer-assert-not-ok-over-assert-is-not-ok': 'error',
7
- 'vitest-coding-style/prefer-assert-over-expect-true': 'error',
8
- 'vitest-coding-style/prefer-assert-not-ok-over-expect-false': 'error',
5
+ 'vitest-coding-style/prefer-assert-deep-strict-equal-over-deep-equal':
6
+ 'error',
7
+ 'vitest-coding-style/prefer-assert-is-false-over-assert-not-ok': 'error',
8
+ 'vitest-coding-style/prefer-assert-is-false-over-expect-false': 'error',
9
+ 'vitest-coding-style/prefer-assert-is-false-over-negated-assert-is-true':
10
+ 'error',
11
+ 'vitest-coding-style/prefer-assert-is-true-over-assert': 'error',
12
+ 'vitest-coding-style/prefer-assert-is-true-over-expect-true': 'error',
13
+ 'vitest-coding-style/prefer-assert-is-true-over-negated-assert-is-false':
14
+ 'error',
9
15
  } as const satisfies EslintVitestCodingStyleRules;
@@ -18,7 +18,7 @@ namespace NoExpectToStrictEqual {
18
18
  }
19
19
 
20
20
  /**
21
- * Prefer assert(X) over assert.ok(X), assert.isOk(X).
21
+ * Prefer assert.deepStrictEqual(X) over assert.deepEqual(X).
22
22
  *
23
23
  * ```md
24
24
  * | key | value |
@@ -28,12 +28,12 @@ namespace NoExpectToStrictEqual {
28
28
  * | fixable | code |
29
29
  * ```
30
30
  */
31
- namespace PreferAssertOverAssertOk {
31
+ namespace PreferAssertDeepStrictEqualOverDeepEqual {
32
32
  export type RuleEntry = Linter.StringSeverity;
33
33
  }
34
34
 
35
35
  /**
36
- * Prefer assert.notOk(X) over assert.isNotOk(X).
36
+ * Prefer assert.isTrue(X) over assert(X), assert.isOk(X), assert.ok(X).
37
37
  *
38
38
  * ```md
39
39
  * | key | value |
@@ -43,12 +43,12 @@ namespace PreferAssertOverAssertOk {
43
43
  * | fixable | code |
44
44
  * ```
45
45
  */
46
- namespace PreferAssertNotOkOverAssertIsNotOk {
46
+ namespace PreferAssertIsTrueOverAssert {
47
47
  export type RuleEntry = Linter.StringSeverity;
48
48
  }
49
49
 
50
50
  /**
51
- * Prefer assert(X) over expect(X).toBe(true) (only if X is boolean)
51
+ * Prefer assert.isFalse(X) over assert.isNotOk(X), assert.notOk(X).
52
52
  *
53
53
  * ```md
54
54
  * | key | value |
@@ -58,12 +58,12 @@ namespace PreferAssertNotOkOverAssertIsNotOk {
58
58
  * | fixable | code |
59
59
  * ```
60
60
  */
61
- namespace PreferAssertOverExpectTrue {
61
+ namespace PreferAssertIsFalseOverAssertNotOk {
62
62
  export type RuleEntry = Linter.StringSeverity;
63
63
  }
64
64
 
65
65
  /**
66
- * Prefer assert.notOk(X) over expect(X).toBe(false) (only if X is boolean)
66
+ * Prefer assert.isTrue(X) over expect(X).toBe(true) (only if X is boolean)
67
67
  *
68
68
  * ```md
69
69
  * | key | value |
@@ -73,14 +73,62 @@ namespace PreferAssertOverExpectTrue {
73
73
  * | fixable | code |
74
74
  * ```
75
75
  */
76
- namespace PreferAssertNotOkOverExpectFalse {
76
+ namespace PreferAssertIsTrueOverExpectTrue {
77
+ export type RuleEntry = Linter.StringSeverity;
78
+ }
79
+
80
+ /**
81
+ * Prefer assert.isFalse(X) over expect(X).toBe(false) (only if X is boolean)
82
+ *
83
+ * ```md
84
+ * | key | value |
85
+ * | :--------- | :--------- |
86
+ * | type | suggestion |
87
+ * | deprecated | false |
88
+ * | fixable | code |
89
+ * ```
90
+ */
91
+ namespace PreferAssertIsFalseOverExpectFalse {
92
+ export type RuleEntry = Linter.StringSeverity;
93
+ }
94
+
95
+ /**
96
+ * Prefer assert.isFalse(X) over assert.isTrue(!X).
97
+ *
98
+ * ```md
99
+ * | key | value |
100
+ * | :--------- | :--------- |
101
+ * | type | suggestion |
102
+ * | deprecated | false |
103
+ * | fixable | code |
104
+ * ```
105
+ */
106
+ namespace PreferAssertIsFalseOverNegatedAssertIsTrue {
107
+ export type RuleEntry = Linter.StringSeverity;
108
+ }
109
+
110
+ /**
111
+ * Prefer assert.isTrue(X) over assert.isFalse(!X).
112
+ *
113
+ * ```md
114
+ * | key | value |
115
+ * | :--------- | :--------- |
116
+ * | type | suggestion |
117
+ * | deprecated | false |
118
+ * | fixable | code |
119
+ * ```
120
+ */
121
+ namespace PreferAssertIsTrueOverNegatedAssertIsFalse {
77
122
  export type RuleEntry = Linter.StringSeverity;
78
123
  }
79
124
 
80
125
  export type EslintVitestCodingStyleRules = Readonly<{
81
126
  'vitest-coding-style/no-expect-to-strict-equal': NoExpectToStrictEqual.RuleEntry;
82
- 'vitest-coding-style/prefer-assert-over-assert-ok': PreferAssertOverAssertOk.RuleEntry;
83
- 'vitest-coding-style/prefer-assert-not-ok-over-assert-is-not-ok': PreferAssertNotOkOverAssertIsNotOk.RuleEntry;
84
- 'vitest-coding-style/prefer-assert-over-expect-true': PreferAssertOverExpectTrue.RuleEntry;
85
- 'vitest-coding-style/prefer-assert-not-ok-over-expect-false': PreferAssertNotOkOverExpectFalse.RuleEntry;
127
+ 'vitest-coding-style/prefer-assert-deep-strict-equal-over-deep-equal': PreferAssertDeepStrictEqualOverDeepEqual.RuleEntry;
128
+ 'vitest-coding-style/prefer-assert-is-true-over-assert': PreferAssertIsTrueOverAssert.RuleEntry;
129
+ 'vitest-coding-style/prefer-assert-is-false-over-assert-not-ok': PreferAssertIsFalseOverAssertNotOk.RuleEntry;
130
+ 'vitest-coding-style/prefer-assert-is-true-over-expect-true': PreferAssertIsTrueOverExpectTrue.RuleEntry;
131
+ 'vitest-coding-style/prefer-assert-is-false-over-expect-false': PreferAssertIsFalseOverExpectFalse.RuleEntry;
132
+ 'vitest-coding-style/prefer-assert-is-false-over-negated-assert-is-true': PreferAssertIsFalseOverNegatedAssertIsTrue.RuleEntry;
133
+ 'vitest-coding-style/prefer-assert-is-true-over-negated-assert-is-false': PreferAssertIsTrueOverNegatedAssertIsFalse.RuleEntry;
86
134
  }>;
@@ -1,6 +0,0 @@
1
- import { type TSESLint } from '@typescript-eslint/utils';
2
- type MessageIds = 'preferAssertOverAssertNotOk';
3
- type Options = readonly [];
4
- export declare const preferAssertNotOkOverAssertIsNotOkRule: TSESLint.RuleModule<MessageIds, Options>;
5
- export {};
6
- //# sourceMappingURL=prefer-assert-not-ok-over-assert-is-not-ok.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-assert-not-ok-over-assert-is-not-ok.d.mts","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-assert-is-not-ok.mts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzE,KAAK,UAAU,GAAG,6BAA6B,CAAC;AAEhD,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,eAAO,MAAM,sCAAsC,EAAE,QAAQ,CAAC,UAAU,CACtE,UAAU,EACV,OAAO,CAiCR,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-assert-not-ok-over-assert-is-not-ok.mjs","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-assert-is-not-ok.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAMO,MAAM,sCAAsC,GAG/C;AACF,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,IAAI,EAAE;AACJ,YAAA,WAAW,EAAE,gDAAgD;AAC9D,SAAA;AACD,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,QAAQ,EAAE;AACR,YAAA,2BAA2B,EACzB,mDAAmD;AACtD,SAAA;AACF,KAAA;AACD,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,MAAM,EAAE,CAAC,OAAO,MAAM;AACpB,QAAA,gBAAgB,EAAE,CAAC,IAAI,KAAI;YACzB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;AAC9C,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;AAC7B,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;AAChD,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;AAChC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;AAClD,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAC3B;gBACA,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;AACJ,oBAAA,SAAS,EAAE,6BAA6B;AACxC,oBAAA,GAAG,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC;AACxD,iBAAA,CAAC;YACJ;QACF,CAAC;KACF,CAAC;;;;;"}
@@ -1,6 +0,0 @@
1
- import { type TSESLint } from '@typescript-eslint/utils';
2
- type MessageIds = 'preferAssertNotOkOverExpectFalse';
3
- type Options = readonly [];
4
- export declare const preferAssertNotOkOverExpectFalseRule: TSESLint.RuleModule<MessageIds, Options>;
5
- export {};
6
- //# sourceMappingURL=prefer-assert-not-ok-over-expect-false.d.mts.map
@@ -1,6 +0,0 @@
1
- import { type TSESLint } from '@typescript-eslint/utils';
2
- type MessageIds = 'preferAssertOverAssertOk';
3
- type Options = readonly [];
4
- export declare const preferAssertOverAssertOkRule: TSESLint.RuleModule<MessageIds, Options>;
5
- export {};
6
- //# sourceMappingURL=prefer-assert-over-assert-ok.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-assert-over-assert-ok.d.mts","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-over-assert-ok.mts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzE,KAAK,UAAU,GAAG,0BAA0B,CAAC;AAE7C,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,UAAU,CAC5D,UAAU,EACV,OAAO,CAiCR,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-assert-over-assert-ok.mjs","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-over-assert-ok.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAMO,MAAM,4BAA4B,GAGrC;AACF,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,IAAI,EAAE;AACJ,YAAA,WAAW,EAAE,qDAAqD;AACnE,SAAA;AACD,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,QAAQ,EAAE;AACR,YAAA,wBAAwB,EACtB,wDAAwD;AAC3D,SAAA;AACF,KAAA;AACD,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,MAAM,EAAE,CAAC,OAAO,MAAM;AACpB,QAAA,gBAAgB,EAAE,CAAC,IAAI,KAAI;YACzB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;AAC9C,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;AAC7B,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;AAChD,iBAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9D,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;AAClD,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAC3B;gBACA,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;AACJ,oBAAA,SAAS,EAAE,0BAA0B;AACrC,oBAAA,GAAG,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;AAClD,iBAAA,CAAC;YACJ;QACF,CAAC;KACF,CAAC;;;;;"}
@@ -1,6 +0,0 @@
1
- import { type TSESLint } from '@typescript-eslint/utils';
2
- type MessageIds = 'preferAssertOverExpectTrue';
3
- type Options = readonly [];
4
- export declare const preferAssertOverExpectTrueRule: TSESLint.RuleModule<MessageIds, Options>;
5
- export {};
6
- //# sourceMappingURL=prefer-assert-over-expect-true.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-assert-over-expect-true.d.mts","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-over-expect-true.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAIlC,KAAK,UAAU,GAAG,4BAA4B,CAAC;AAE/C,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,UAAU,CAC9D,UAAU,EACV,OAAO,CA2DR,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-assert-over-expect-true.mjs","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-over-expect-true.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYO,MAAM,8BAA8B,GAGvC;AACF,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,IAAI,EAAE;AACJ,YAAA,WAAW,EACT,mEAAmE;AACtE,SAAA;AACD,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,QAAQ,EAAE;AACR,YAAA,0BAA0B,EACxB,+CAA+C;AAClD,SAAA;AACF,KAAA;AACD,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,MAAM,EAAE,CAAC,OAAO,KAAI;QAClB,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAE7D,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE;QAEvD,OAAO;AACL,YAAA,cAAc,EAAE,CAAC,IAAI,KAAI;gBACvB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;oBACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;oBACzD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;oBAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;AACvD,oBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;oBACpC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;oBACjD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,EAChC;AACA,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AAE3C,oBAAA,IAAI,GAAG,KAAK,SAAS,EAAE;wBACrB,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;wBAE5D,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;AAE9C,wBAAA,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC;wBAE3D,IAAI,CAAC,SAAS,EAAE;4BACd;wBACF;oBACF;oBAEA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;oBAE/C,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;AACJ,wBAAA,SAAS,EAAE,4BAA4B;AACvC,wBAAA,GAAG,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA,OAAA,EAAU,OAAO,GAAG,CAAC;AAC9D,qBAAA,CAAC;gBACJ;YACF,CAAC;SACF;IACH,CAAC;;;;;"}