quickpickle 1.5.3 → 1.5.4

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.
package/dist/hooks.d.ts CHANGED
@@ -1,13 +1,16 @@
1
+ type HookFunction = (state: any) => Promise<void>;
1
2
  interface Hook {
2
3
  name: string;
3
- f: (state: any) => Promise<any> | any;
4
- tags?: string | string[];
4
+ f: HookFunction;
5
+ tags: string;
6
+ tagsFunction: (tags: string[]) => boolean;
5
7
  }
6
- export declare const applyHooks: (hooksName: string, state: any) => Promise<any>;
7
- export declare const BeforeAll: (opts: string | ((common: any) => void), f?: (common: any) => void) => void;
8
- export declare const Before: (opts: string | Hook | ((state: any) => void), f?: (state: any) => void) => void;
9
- export declare const BeforeStep: (opts: string | Hook | ((state: any) => void), f?: (state: any) => void) => void;
10
- export declare const AfterAll: (opts: string | ((common: any) => void), f?: (common: any) => void) => void;
11
- export declare const After: (opts: string | Hook | ((state: any) => void), f?: (state: any) => void) => void;
12
- export declare const AfterStep: (opts: string | Hook | ((state: any) => void), f?: (state: any) => void) => void;
8
+ export declare const applyHooks: (hooksName: string, state: any) => Promise<void>;
9
+ type AddHookFunction = (p1: string | Hook | HookFunction, p2?: HookFunction) => void;
10
+ export declare const BeforeAll: AddHookFunction;
11
+ export declare const Before: AddHookFunction;
12
+ export declare const BeforeStep: AddHookFunction;
13
+ export declare const AfterAll: AddHookFunction;
14
+ export declare const After: AddHookFunction;
15
+ export declare const AfterStep: AddHookFunction;
13
16
  export {};
package/dist/index.cjs CHANGED
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var cucumberExpressions = require('@cucumber/cucumber-expressions');
6
6
  var lodashEs = require('lodash-es');
7
+ var parse = require('@cucumber/tag-expressions');
7
8
  var Gherkin = require('@cucumber/gherkin');
8
9
  var Messages = require('@cucumber/messages');
9
10
  var cucumber = require('@cucumber/cucumber');
@@ -72,6 +73,35 @@ function normalizeTags(tags) {
72
73
  tags = Array.isArray(tags) ? tags : tags.split(/\s*,\s*/g);
73
74
  return tags.filter(Boolean).map(tag => tag.startsWith('@') ? tag : `@${tag}`);
74
75
  }
76
+ /**
77
+ *
78
+ * @param confTags string[]
79
+ * @param testTags string[]
80
+ * @returns boolean
81
+ */
82
+ function tagsMatch(confTags, testTags) {
83
+ let tags = lodashEs.intersection(confTags.map(t => t.toLowerCase()), testTags.map(t => t.toLowerCase()));
84
+ return tags?.length ? tags : null;
85
+ }
86
+ const parseTagsExpression = (tagsExpression) => {
87
+ try {
88
+ const parsedExpression = parse(tagsExpression);
89
+ return parsedExpression;
90
+ }
91
+ catch (error) {
92
+ throw new Error(`Failed to parse tag expression: ${error.message}`);
93
+ }
94
+ };
95
+ function tagsFunction(tagsExpression) {
96
+ if (!tagsExpression) {
97
+ return () => true;
98
+ }
99
+ const parsedTagsExpression = parseTagsExpression(tagsExpression);
100
+ return (tags) => {
101
+ const result = parsedTagsExpression.evaluate(tags);
102
+ return result;
103
+ };
104
+ }
75
105
 
76
106
  const allHooks = {
77
107
  beforeAll: [],
@@ -85,36 +115,41 @@ const applyHooks = async (hooksName, state) => {
85
115
  const hooks = allHooks[hooksName];
86
116
  for (let i = 0; i < hooks.length; i++) {
87
117
  let hook = hooks[i];
88
- if (!hook?.tags?.length || state?.tagsMatch(hook.tags)) {
89
- await hook.f(state);
118
+ const result = hook.tagsFunction(state.info.tags.map((t) => t.toLowerCase()));
119
+ if (hooksName === 'beforeAll')
120
+ console.log('hook.tags:N= ', hook.tags, ' result: ', result);
121
+ if (result) {
122
+ if (hooksName === 'beforeAll')
123
+ console.log('FWAH');
124
+ await hook.f(state).then(() => {
125
+ if (hooksName === 'beforeAll')
126
+ console.log('FWAH!!!');
127
+ });
90
128
  }
91
129
  }
92
130
  return state;
93
131
  };
94
- const addHook = (hooksName, opts, f) => {
95
- let hookOpts;
96
- if (lodashEs.isFunction(opts)) {
97
- hookOpts = { name: '', f: opts };
98
- }
99
- else if (lodashEs.isString(opts)) {
100
- hookOpts = { name: opts, f: f };
101
- }
102
- else if (lodashEs.isObject(opts)) {
103
- hookOpts = opts;
104
- hookOpts.f = hookOpts.f || f;
105
- hookOpts.tags = normalizeTags(hookOpts.tags);
106
- }
107
- else {
108
- throw new Error('Unknown options argument: ' + JSON.stringify(opts));
109
- }
110
- allHooks[hooksName] = lodashEs.concat(allHooks[hooksName], hookOpts);
132
+ const addHook = (hooksName, p1, p2) => {
133
+ let hook = { name: '', f: async () => { }, tags: '', tagsFunction: () => true };
134
+ if (lodashEs.isFunction(p1))
135
+ hook = { ...hook, f: p1 };
136
+ else if (lodashEs.isString(p1))
137
+ hook.tags = p1;
138
+ else
139
+ hook = { ...hook, ...p1 };
140
+ if (lodashEs.isFunction(p2))
141
+ hook.f = p2;
142
+ if (!hook.f)
143
+ throw new Error('Function required: ' + JSON.stringify({ p1, p2 }));
144
+ hook.tagsFunction = tagsFunction(hook.tags.toLowerCase());
145
+ allHooks[hooksName] = lodashEs.concat(allHooks[hooksName], hook);
111
146
  };
112
- const BeforeAll = (opts, f) => { addHook('beforeAll', opts, f); };
113
- const Before = (opts, f) => { addHook('before', opts, f); };
114
- const BeforeStep = (opts, f) => { addHook('beforeStep', opts, f); };
115
- const AfterAll = (opts, f) => { addHook('afterAll', opts, f); };
116
- const After = (opts, f) => { addHook('after', opts, f); };
117
- const AfterStep = (opts, f) => { addHook('afterStep', opts, f); };
147
+ const BeforeAll = (p1, p2) => { addHook('beforeAll', p1, p2); };
148
+ const Before = (p1, p2) => { addHook('before', p1, p2); };
149
+ const BeforeStep = (p1, p2) => { addHook('beforeStep', p1, p2); };
150
+ const AfterAll = (p1, p2) => { addHook('afterAll', p1, p2); };
151
+ const After = (p1, p2) => { addHook('after', p1, p2); };
152
+ const AfterStep = (p1, p2) => { addHook('afterStep', p1, p2); };
118
153
 
119
154
  const uuidFn = Messages__namespace.IdGenerator.uuid();
120
155
  const builder = new Gherkin__namespace.AstBuilder(uuidFn);
@@ -139,7 +174,10 @@ import {
139
174
 
140
175
  let World = getWorldConstructor()
141
176
 
142
- const common = {};
177
+ const common = { info: {
178
+ feature: '${q(gherkinDocument.feature.keyword)}: ${q(gherkinDocument.feature.name)}',
179
+ tags: ${JSON.stringify(normalizeTags(gherkinDocument.feature.tags.map(t => t.name)))}
180
+ }};
143
181
 
144
182
  beforeAll(async () => {
145
183
  await applyHooks('beforeAll', common);
@@ -382,16 +420,6 @@ function explodeTags(explodeTags, testTags) {
382
420
  // finally, return the list
383
421
  return combined.length ? combined.map(arr => [...tagsToTest, ...arr]) : [testTags];
384
422
  }
385
- /**
386
- *
387
- * @param confTags string[]
388
- * @param testTags string[]
389
- * @returns boolean
390
- */
391
- function tagsMatch(confTags, testTags) {
392
- let tags = lodashEs.intersection(confTags.map(t => t.toLowerCase()), testTags.map(t => t.toLowerCase()));
393
- return tags?.length ? tags : null;
394
- }
395
423
 
396
424
  class DocString extends String {
397
425
  constructor(content, mediaType = '') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/steps.ts","../src/tags.ts","../src/hooks.ts","../src/render.ts","../src/models/DocString.ts","../src/world.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ExpressionFactory","ParameterTypeRegistry","isFunction","isString","isObject","concat","Messages","Gherkin","fromPairs","escapeRegExp","pick","intersection","DataTable","defaultsDeep","get"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,KAAK,GAAqB,EAAE,CAAC;AAQnC,MAAM,iBAAiB,GAAG,IAAIA,qCAAiB,CAAC,IAAIC,yCAAqB,EAAE,CAAC,CAAC;AAEtE,MAAM,iBAAiB,GAAG,CAAC,UAAyB,EAAE,CAAsC,KAAU;IAC3G,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,IAAW,KAA2B;IACvE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,WAAkC,EAAE,cAA8B,KAAI;QACzF,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,GAAG,WAAW,EAAE;oBACtB,cAAc;AACd,oBAAA,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAU,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1D,iBAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,OAAO,WAAW,CAAC;SACpB;KACF,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAW,KAAyB;AAC1E,IAAA,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAE9D,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,CAAA;;WAET,IAAI,CAAA;;;;;AAKd,CAAA,CAAC,CAAC;KACA;AAED,IAAA,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;AACpC,QAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAA,CAAA,CAAG,CAAC,CAAC;KAChE;AAED,IAAA,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;;ACrEK,SAAU,aAAa,CAAC,IAA+B,EAAA;AAC3D,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE,CAAA;IACpB,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;AAC1D,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC,CAAA;AAC/E;;ACSA,MAAM,QAAQ,GAAmB;AAC/B,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,SAAS,EAAE,EAAE;CACd,CAAC;AAWW,MAAA,UAAU,GAAG,OAAO,SAAiB,EAAE,KAAU,KAAkB;AAC9E,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAClC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,QAAA,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AACnB,QAAA,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACtD,YAAA,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;SACpB;KACF;AACD,IAAA,OAAO,KAAK,CAAC;AACf,EAAE;AAEF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,IAA0C,EAAE,CAAsB,KAAU;AAC9G,IAAA,IAAI,QAAc,CAAC;AAEnB,IAAA,IAAIC,mBAAU,CAAC,IAAI,CAAC,EAAE;QACpB,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KAClC;AAAM,SAAA,IAAIC,iBAAQ,CAAC,IAAI,CAAC,EAAE;QACzB,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAE,EAAE,CAAC;KAClC;AAAM,SAAA,IAAIC,iBAAQ,CAAC,IAAI,CAAC,EAAE;QACzB,QAAQ,GAAG,IAAY,CAAA;QACvB,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAE,CAAA;QAC7B,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;KAC7C;SAAM;AACL,QAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;KACtE;AAED,IAAA,QAAQ,CAAC,SAAS,CAAC,GAAGC,eAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC,CAAC;MAGW,SAAS,GAAG,CAAC,IAAqC,EAAE,CAAwB,KAAU,EAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA,GAAG;MAEzH,MAAM,GAAG,CAAC,IAA2C,EAAE,CAAuB,KAAU,EAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA,GAAG;MAExH,UAAU,GAAG,CAAC,IAA2C,EAAE,CAAuB,KAAU,EAAG,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA,GAAG;MAEhI,QAAQ,GAAG,CAAC,IAAqC,EAAE,CAAwB,KAAU,EAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA,GAAG;MAEvH,KAAK,GAAG,CAAC,IAA2C,EAAE,CAAuB,KAAU,EAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA,GAAG;MAEtH,SAAS,GAAG,CAAC,IAA2C,EAAE,CAAuB,KAAU,EAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;;AChExI,MAAM,MAAM,GAAGC,mBAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAIC,kBAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/C,MAAM,cAAc,GAAG,IAAIA,kBAAO,CAAC,0BAA0B,EAAE,CAAC;AAChE,MAAM,aAAa,GAAG,IAAIA,kBAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAClE,MAAM,SAAS,GAAG,IAAIA,kBAAO,CAAC,6BAA6B,EAAE,CAAC;AAC9D,MAAM,QAAQ,GAAG,IAAIA,kBAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAExC,aAAa,CAAC,GAAU,EAAE,MAAwB,EAAE,UAAmB,EAAA;;IAGrF,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;;AAGnF,IAAA,IAAI,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC3E,QAAA,OAAO,EAAE,CAAA;KACV;IAED,OAAO,CAAA;;;;;;;;;;;;;;;;;;;;;;;AAuBP,EAAA,aAAa,CAAC,eAAe,CAAC,OAAQ,EAAE,MAAM,CAAC,CAAA;CAChD,CAAA;AACD,CAAC;AAEe,SAAA,aAAa,CAAC,OAAe,EAAE,MAAwB,EAAA;;AAGrE,IAAA,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;;AAGxC,IAAA,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,QAA0B,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;AAEpG,IAAA,IAAI,WAAW,GAAG,CAAA,EAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,EAAA,EAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;;IAG7D,OAAM,CAAA;;AAEsC,4CAAA,EAAA,WAAW,CAA4C,yCAAA,EAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAM,GAAA,EAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;;;0BAGzI,WAAW,CAAA;;;;EAInC,eAAe,CAAA;;;;YAIL,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAK,EAAA,EAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;EAChD,QAAQ,CAAA;IACN,CAAA;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAA4B,EAAA;AAC1C,IAAA,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,QAAmC,EAAE,MAAwB,EAAE,IAAa,EAAE,EAAE,GAAG,IAAI,EAAA;AAE7G,IAAA,MAAM,MAAM,GAAG;AACb,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM;AAAE,QAAA,OAAO,MAAM,CAAA;IAEnC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;QAC5C,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAG,CAAC,UAAW,CAAC,KAAe,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;KAC1G;AAED,IAAA,KAAK,IAAI,KAAK,IAAI,QAAQ,EAAE;AAC1B,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;AACjB,YAAA,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;SACvD;AACI,aAAA,IAAI,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;AACzC,YAAA,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;SAC3D;KACF;AAED,IAAA,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB,EAAE,MAAwB,EAAE,IAAa,EAAE,EAAE,GAAG,IAAI,EAAA;IACxF,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,IAAK,CAAC,QAAuB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAEhH,OAAO,CAAA;AACP,EAAA,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,IAAK,CAAC,OAAO,CAAC,CAAA,EAAA,EAAK,CAAC,CAAC,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,CAAA;;EAE7D,EAAE,CAAA;EACF,EAAE,CAAA;EACF,EAAE,CAAA,uBAAA,EAA0B,CAAC,CAAC,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,CAAA;EAC/C,eAAe,CAAA;EACf,EAAE,CAAA;EACF,EAAE,CAAA;;EAEF,QAAQ,CAAA;;EAER,EAAE,CAAA;CACH,CAAA;AACD,CAAC;AAED,SAAS,cAAc,CAAC,KAAkB,EAAE,MAAwB,EAAE,IAAa,EAAE,EAAE,GAAG,IAAI,EAAA;AAC5F,IAAA,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,GAAG,cAAc,CAAA;IAChE,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAE1D,IAAA,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,CAAA;AAC1D,IAAA,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,CAAA;AAC1D,IAAA,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAA;AAC5D,IAAA,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,aAAa,GAAG,EAAE,CAAA;IAC5E,IAAI,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,aAAa,GAAG,EAAE,CAAA;IAC7F,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAA;;IAGzD,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,WAAyB,EAAE,IAAI,CAAC,CAAA;AAClE,IAAA,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;IACnD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAC,WAAW,KAAI;QAEzC,IAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,CAAK,EAAA,EAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG,GAAG,EAAE,CAAA;;QAGhE,IAAI,KAAK,CAAC,QAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,WAAW,IAAI,KAAK,CAAC,QAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE;AAE1F,YAAA,IAAI,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;AAC/F,YAAA,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;gBAClE,OAAOC,kBAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,CAAE,GAAG,GAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC,CAAA;AAC5D,aAAC,CAAC,CAAA;AAEF,YAAA,SAAS,iBAAiB,CAAC,CAAQ,EAAE,UAAmB,EAAA;gBACtD,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,KAAI;AAC7B,oBAAA,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,CAAA,EAAIC,qBAAY,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC,GAAG,UAAU,GAAG,OAAO,CAAC,CAAA,EAAA,CAAI,GAAI,CAAK,EAAA,EAAA,CAAC,CAAE,CAAA,EAAE,CAAA;AACjG,iBAAC,CAAC,CAAA;AACF,gBAAA,OAAO,CAAC,CAAA;aACT;AAED,YAAA,IAAI,QAAQ,GAAG,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;AAC/D,YAAA,IAAI,4BAA4B,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;AAE1F,YAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,EAAC,GAAG,KAAI;AACtD,gBAAA,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAC,IAAI,CAAC,CAAA;AACnC,gBAAA,OAAO,IAAI,CAAA;AACb,aAAC,CAAC,CAAA;YAEF,IAAI,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,QAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,GAAG,CAAG,EAAA,WAAW,GAAC,CAAC,CAAE,CAAA,GAAG,EAAE,CAAC,CAAA;YAE3K,OAAO,CAAA;AACT,EAAA,EAAE,OAAO,KAAK,CAAA;AACd,EAAA,EAAE,KAAK,WAAW,EAAE,GAAG,CAAC,IAAI,IAAG;AACvB,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;aAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;EAChC,EAAE,CAAA;AACF,EAAA,EAAE,CAAM,GAAA,EAAA,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAK,EAAA,EAAA,QAAQ,GAAG,gBAAgB,CAAA;EACxE,EAAE,CAAA,WAAA,EAAc,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,GAAG,GAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9D,EAAA,EAAE,CAAyB,sBAAA,EAAA,MAAM,CAAa,UAAA,EAAA,4BAA4B,CAAO,IAAA,EAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAQ,KAAA,EAAA,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;EACnJ,aAAa,CAAA;EACb,EAAE,CAAA;EACF,EAAE,CAAA;EACF,EAAE,CAAA;CACH,CAAA;SACE;QAED,OAAO,CAAA;EACP,EAAE,CAAA,IAAA,EAAO,KAAK,CAAK,EAAA,EAAA,CAAC,CAAC,KAAK,CAAC,QAAS,CAAC,OAAO,CAAC,CAAK,EAAA,EAAA,CAAC,CAAC,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC,CAAA,EAAG,gBAAgB,CAAA;EAC5F,EAAE,CAAA,oBAAA,EAAuB,MAAM,CAAc,WAAA,EAAA,CAAC,CAAC,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC,CAAQ,KAAA,EAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAQ,KAAA,EAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;EAC/J,WAAW,CAAC,KAAK,CAAC,QAAS,CAAC,KAAe,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,GAAG,CAAA,EAAG,WAAW,GAAC,CAAC,CAAA,CAAE,GAAG,EAAE,CAAC,CAAA;EACrG,EAAE,CAAA;EACF,EAAE,CAAA;CACH,CAAA;AACC,KAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAY,EAAE,MAAwB,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,eAAuB,KAAK,EAAA;IACrH,IAAI,KAAK,GAAG,YAAY,GAAG,GAAG,GAAG,EAAE,CAAA;IACnC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAC,GAAG,KAAI;AAE5B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAG;AACpD,gBAAA,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;aACjC,CAAC,CAAC,CAAA;AACH,YAAA,OAAO,CAAG,EAAA,EAAE,CAAqB,kBAAA,EAAA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,SAAA,EAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAK,KAAK,CAAA,EAAG,GAAG,GAAC,CAAC,CAAA,EAAA,EAAK,YAAY,IAAI,WAAW,CAAA,EAAA,EAAK,IAAI,CAAA,EAAA,CAAI,CAAA;SAC5I;AACI,aAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACvB,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAACC,aAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,EAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AACxE,YAAA,OAAO,CAAG,EAAA,EAAE,CAAqB,kBAAA,EAAA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,SAAA,EAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAK,KAAK,CAAA,EAAG,GAAG,GAAC,CAAC,CAAA,EAAA,EAAK,YAAY,IAAI,WAAW,CAAA,EAAA,EAAK,IAAI,CAAA,EAAA,CAAI,CAAA;SAC5I;AAED,QAAA,OAAO,CAAG,EAAA,EAAE,CAAqB,kBAAA,EAAA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAK,EAAA,EAAA,KAAK,CAAG,EAAA,GAAG,GAAC,CAAC,CAAG,EAAA,YAAY,GAAG,CAAK,EAAA,EAAA,YAAY,EAAE,GAAG,EAAE,IAAI,CAAA;AAC9I,KAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED;;;;AAIG;AACH,MAAM,CAAC,GAAG,CAAC,CAAQ,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAEtE;;;;;;;;;AASG;AACH,MAAM,EAAE,GAAG,CAAC,IAAW,KAAI;;IAEzB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;;IAEnC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;IAEjC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACjD,IAAA,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;AAC1B,CAAC,CAAA;AAED;;;;AAIG;AACG,SAAU,YAAY,CAAC,GAAe,EAAA;AAC1C,IAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AAClC,IAAA,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,IAAG;AACrB,QAAA,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAA;AACtC,KAAC,CAAC,CAAA;IAEF,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;AAC7B,IAAA,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAE3C,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,IACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;AACa,SAAA,WAAW,CAAC,WAAsB,EAAE,QAAiB,EAAA;IACnE,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC1C,IAAA,IAAI,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;;;IAI9B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,IAAG;AAC3C,QAAA,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3D,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACvF,QAAA,OAAO,KAAK,CAAA;AACd,KAAC,CAAC,CAAA;;AAGF,IAAA,IAAI,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;;AAGvC,IAAA,OAAO,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACpF,CAAC;AAED;;;;;AAKG;AACa,SAAA,SAAS,CAAC,QAAiB,EAAE,QAAiB,EAAA;AAC5D,IAAA,IAAI,IAAI,GAAGC,qBAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAC/F,OAAO,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;AACnC;;ACnUM,MAAO,SAAU,SAAQ,MAAM,CAAA;IAGnC,WAAY,CAAA,OAAe,EAAE,SAAA,GAAoB,EAAE,EAAA;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC5B;IAED,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;KACvB;AAED,IAAA,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY,EAAA;AAC/B,QAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;AACrB,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SAC/B;AACD,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;KACvB;AACF;;MCUY,gBAAgB,CAAA;IAI3B,WAAY,CAAA,OAAmB,EAAE,IAAoB,EAAA;AACnD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAC,EAAE,EAAE,CAAA;KACnC;IACD,MAAM,IAAI,GAAA,GAAK;IACf,IAAI,MAAM,GAAK,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA,EAAE;AACxC,IAAA,IAAI,WAAW,GAAA,EAAK,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA,EAAE;AACzD,IAAA,IAAI,UAAU,GAAK,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA,EAAE;AACxE,IAAA,SAAS,CAAC,IAAc,EAAA;QACtB,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACvC;IACD,QAAQ,GAAA;AACN,QAAA,IAAI,KAAK,GAAG;YACV,IAAI,CAAC,WAAW,CAAC,IAAI;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAG,CAAA,CAAA,GAAG,EAAE,CAAC;YACpF,CAAG,EAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAA;SACrE,CAAA;AACD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACvB;AACF,CAAA;AAOD,IAAI,gBAAgB,GAAoB,gBAAgB,CAAA;SAExC,mBAAmB,GAAA;AACjC,IAAA,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAEK,SAAU,mBAAmB,CAAC,WAA6B,EAAA;IAC/D,gBAAgB,GAAG,WAAW,CAAA;AAChC;;AC/CA,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAIpC,MAAM,KAAK,GAAG,kBAAkB;AAChC,MAAM,IAAI,GAAG,kBAAkB;AAC/B,MAAM,IAAI,GAAG,kBAAkB;AAqBtB,SAAA,WAAW,CAAC,IAAW,EAAE,IAAW,EAAA;IAClD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;QAAE,KAAK,CAAC,KAAK,EAAE,CAAA;AAClE,IAAA,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,CAAA,EAAA,CAAI,CAAC,CAAA;AACtD,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAEY,MAAA,WAAW,GAAG,OAAO,IAAY,EAAE,KAAU,EAAE,IAAY,EAAE,OAAc,EAAE,UAAkB,EAAE,IAAS,KAAkB;AACvI,IAAA,MAAM,mBAAmB,GAAwB,uBAAuB,CAAC,IAAI,CAAC,CAAC;;AAG/E,IAAA,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;AACtB,IAAA,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;AACtB,IAAA,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;AAC5B,IAAA,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;;AAGnC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACvB,QAAA,IAAI,GAAG,IAAIC,kBAAS,CAAC,IAAI,CAAC,CAAA;KAC3B;AACI,SAAA,IAAI,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE;AACxC,QAAA,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;KACnD;AAED,IAAA,IAAI;AACF,QAAA,MAAM,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACtC,QAAA,IAAI;AACF,YAAA,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC5F;QACD,OAAM,CAAK,EAAE;;AAEX,YAAA,CAAC,CAAC,OAAO,GAAG,CAAA,EAAG,IAAI,CAAA,GAAA,EAAM,IAAI,CAAA,GAAA,EAAM,CAAC,CAAC,OAAO,CAAA,CAAE,CAAA;;AAG9C,YAAA,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;AAG/C,YAAA,CAAC,CAAC,WAAW,GAAG,IAAI,CAAA;;YAGpB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;AAGzB,YAAA,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;AAAE,gBAAA,MAAM,CAAC,CAAA;SAC7E;gBACO;AACN,YAAA,MAAM,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;IACD,OAAM,CAAK,EAAE;;AAGX,QAAA,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;;AAGlB,YAAA,CAAC,CAAC,OAAO,GAAG,CAAA,EAAG,IAAI,CAAA,GAAA,EAAM,IAAI,CAAA,GAAA,EAAM,CAAC,CAAC,OAAO,CAAA,CAAE,CAAA;;YAG9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC1B;;QAGD,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAM;;;AAI1G,QAAA,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;;AAGhC,QAAA,MAAM,CAAC,CAAA;KACR;YACO;AACN,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE;AAChD,YAAA,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;AACzD,YAAA,KAAK,CAAC,OAAO,GAAG,0BAA0B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,eAAe,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAK,KAAK,CAAC,EAAE,OAAO,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;AAC9K,YAAA,MAAM,KAAK,CAAA;SACZ;KACF;AACH,EAAE;AAwBW,MAAA,aAAa,GAAsB;AAE9C;;AAEG;AACH,IAAA,QAAQ,EAAE,CAAC,OAAO,EAAC,MAAM,CAAC;AAE1B;;AAEG;IACH,QAAQ,EAAE,CAAC,OAAO,CAAC;AAEnB;;AAEG;AACH,IAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;AAEhC;;AAEG;AACH,IAAA,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;AAEpC;;AAEG;IACH,cAAc,EAAE,CAAC,aAAa,CAAC;AAE/B;;AAEG;IACH,cAAc,EAAE,CAAC,aAAa,CAAC;AAE/B;;AAEG;AACH,IAAA,WAAW,EAAE,EAAE;AAEf;;;;AAIG;AACH,IAAA,WAAW,EAAE,EAAE;EAEhB;AAMD,SAAS,IAAI,CAAC,GAA8B,EAAA;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AACrE,CAAC;MAEY,WAAW,GAAG,CAAC,IAAyC,GAAA,EAAE,KAAW;AAChF,IAAA,IAAI,MAAwB,CAAA;AAC5B,IAAA,IAAI,YAAY,GAA4B,EAAC,GAAG,IAAI,EAAC,CAAA;IAErD,OAAO;AACL,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,cAAc,CAAC,cAA8B,EAAA;YAC3C,MAAM,GAAGC,qBAAY,CACnBC,YAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,IAAI,EAAE,EAC7CA,YAAG,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,EAAE,EACxC,YAAY,EACZ,aAAa,CACd,CAAC;YACF,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAChD,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAChD,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAChD,MAAM,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YACxD,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;YAC5D,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAC5D,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;;gBACnF,MAAM,CAAC,WAAW,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;SAC9D;AACD,QAAA,MAAM,SAAS,CAAC,GAAW,EAAE,EAAU,EAAA;AACrC,YAAA,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACzB,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAA;aACpE;SACF;KACF,CAAC;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/steps.ts","../src/tags.ts","../src/hooks.ts","../src/render.ts","../src/models/DocString.ts","../src/world.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ExpressionFactory","ParameterTypeRegistry","intersection","isFunction","isString","concat","Messages","Gherkin","fromPairs","escapeRegExp","pick","DataTable","defaultsDeep","get"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { Plugin } from 'vite';
2
2
  import { BeforeAll, Before, AfterAll, After, BeforeStep, AfterStep, applyHooks } from './hooks';
3
- import { explodeTags, tagsMatch } from './render';
3
+ import { explodeTags } from './render';
4
4
  import { DataTable } from '@cucumber/cucumber';
5
5
  import { DocString } from './models/DocString';
6
- import { normalizeTags } from './tags';
6
+ import { normalizeTags, tagsMatch } from './tags';
7
7
  export { setWorldConstructor, getWorldConstructor, QuickPickleWorld, QuickPickleWorldInterface } from './world';
8
8
  export { DocString, DataTable };
9
9
  export { explodeTags, tagsMatch, normalizeTags, applyHooks };
package/dist/index.esm.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ExpressionFactory, ParameterTypeRegistry } from '@cucumber/cucumber-expressions';
2
- import { isFunction, isString, isObject, concat, intersection, fromPairs, pick, escapeRegExp, defaultsDeep, get } from 'lodash-es';
2
+ import { intersection, isFunction, isString, concat, fromPairs, pick, escapeRegExp, defaultsDeep, get } from 'lodash-es';
3
+ import parse from '@cucumber/tag-expressions';
3
4
  import * as Gherkin from '@cucumber/gherkin';
4
5
  import * as Messages from '@cucumber/messages';
5
6
  import { DataTable } from '@cucumber/cucumber';
@@ -49,6 +50,35 @@ function normalizeTags(tags) {
49
50
  tags = Array.isArray(tags) ? tags : tags.split(/\s*,\s*/g);
50
51
  return tags.filter(Boolean).map(tag => tag.startsWith('@') ? tag : `@${tag}`);
51
52
  }
53
+ /**
54
+ *
55
+ * @param confTags string[]
56
+ * @param testTags string[]
57
+ * @returns boolean
58
+ */
59
+ function tagsMatch(confTags, testTags) {
60
+ let tags = intersection(confTags.map(t => t.toLowerCase()), testTags.map(t => t.toLowerCase()));
61
+ return tags?.length ? tags : null;
62
+ }
63
+ const parseTagsExpression = (tagsExpression) => {
64
+ try {
65
+ const parsedExpression = parse(tagsExpression);
66
+ return parsedExpression;
67
+ }
68
+ catch (error) {
69
+ throw new Error(`Failed to parse tag expression: ${error.message}`);
70
+ }
71
+ };
72
+ function tagsFunction(tagsExpression) {
73
+ if (!tagsExpression) {
74
+ return () => true;
75
+ }
76
+ const parsedTagsExpression = parseTagsExpression(tagsExpression);
77
+ return (tags) => {
78
+ const result = parsedTagsExpression.evaluate(tags);
79
+ return result;
80
+ };
81
+ }
52
82
 
53
83
  const allHooks = {
54
84
  beforeAll: [],
@@ -62,36 +92,41 @@ const applyHooks = async (hooksName, state) => {
62
92
  const hooks = allHooks[hooksName];
63
93
  for (let i = 0; i < hooks.length; i++) {
64
94
  let hook = hooks[i];
65
- if (!hook?.tags?.length || state?.tagsMatch(hook.tags)) {
66
- await hook.f(state);
95
+ const result = hook.tagsFunction(state.info.tags.map((t) => t.toLowerCase()));
96
+ if (hooksName === 'beforeAll')
97
+ console.log('hook.tags:N= ', hook.tags, ' result: ', result);
98
+ if (result) {
99
+ if (hooksName === 'beforeAll')
100
+ console.log('FWAH');
101
+ await hook.f(state).then(() => {
102
+ if (hooksName === 'beforeAll')
103
+ console.log('FWAH!!!');
104
+ });
67
105
  }
68
106
  }
69
107
  return state;
70
108
  };
71
- const addHook = (hooksName, opts, f) => {
72
- let hookOpts;
73
- if (isFunction(opts)) {
74
- hookOpts = { name: '', f: opts };
75
- }
76
- else if (isString(opts)) {
77
- hookOpts = { name: opts, f: f };
78
- }
79
- else if (isObject(opts)) {
80
- hookOpts = opts;
81
- hookOpts.f = hookOpts.f || f;
82
- hookOpts.tags = normalizeTags(hookOpts.tags);
83
- }
84
- else {
85
- throw new Error('Unknown options argument: ' + JSON.stringify(opts));
86
- }
87
- allHooks[hooksName] = concat(allHooks[hooksName], hookOpts);
109
+ const addHook = (hooksName, p1, p2) => {
110
+ let hook = { name: '', f: async () => { }, tags: '', tagsFunction: () => true };
111
+ if (isFunction(p1))
112
+ hook = { ...hook, f: p1 };
113
+ else if (isString(p1))
114
+ hook.tags = p1;
115
+ else
116
+ hook = { ...hook, ...p1 };
117
+ if (isFunction(p2))
118
+ hook.f = p2;
119
+ if (!hook.f)
120
+ throw new Error('Function required: ' + JSON.stringify({ p1, p2 }));
121
+ hook.tagsFunction = tagsFunction(hook.tags.toLowerCase());
122
+ allHooks[hooksName] = concat(allHooks[hooksName], hook);
88
123
  };
89
- const BeforeAll = (opts, f) => { addHook('beforeAll', opts, f); };
90
- const Before = (opts, f) => { addHook('before', opts, f); };
91
- const BeforeStep = (opts, f) => { addHook('beforeStep', opts, f); };
92
- const AfterAll = (opts, f) => { addHook('afterAll', opts, f); };
93
- const After = (opts, f) => { addHook('after', opts, f); };
94
- const AfterStep = (opts, f) => { addHook('afterStep', opts, f); };
124
+ const BeforeAll = (p1, p2) => { addHook('beforeAll', p1, p2); };
125
+ const Before = (p1, p2) => { addHook('before', p1, p2); };
126
+ const BeforeStep = (p1, p2) => { addHook('beforeStep', p1, p2); };
127
+ const AfterAll = (p1, p2) => { addHook('afterAll', p1, p2); };
128
+ const After = (p1, p2) => { addHook('after', p1, p2); };
129
+ const AfterStep = (p1, p2) => { addHook('afterStep', p1, p2); };
95
130
 
96
131
  const uuidFn = Messages.IdGenerator.uuid();
97
132
  const builder = new Gherkin.AstBuilder(uuidFn);
@@ -116,7 +151,10 @@ import {
116
151
 
117
152
  let World = getWorldConstructor()
118
153
 
119
- const common = {};
154
+ const common = { info: {
155
+ feature: '${q(gherkinDocument.feature.keyword)}: ${q(gherkinDocument.feature.name)}',
156
+ tags: ${JSON.stringify(normalizeTags(gherkinDocument.feature.tags.map(t => t.name)))}
157
+ }};
120
158
 
121
159
  beforeAll(async () => {
122
160
  await applyHooks('beforeAll', common);
@@ -359,16 +397,6 @@ function explodeTags(explodeTags, testTags) {
359
397
  // finally, return the list
360
398
  return combined.length ? combined.map(arr => [...tagsToTest, ...arr]) : [testTags];
361
399
  }
362
- /**
363
- *
364
- * @param confTags string[]
365
- * @param testTags string[]
366
- * @returns boolean
367
- */
368
- function tagsMatch(confTags, testTags) {
369
- let tags = intersection(confTags.map(t => t.toLowerCase()), testTags.map(t => t.toLowerCase()));
370
- return tags?.length ? tags : null;
371
- }
372
400
 
373
401
  class DocString extends String {
374
402
  constructor(content, mediaType = '') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/steps.ts","../src/tags.ts","../src/hooks.ts","../src/render.ts","../src/models/DocString.ts","../src/world.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/steps.ts","../src/tags.ts","../src/hooks.ts","../src/render.ts","../src/models/DocString.ts","../src/world.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;AAqBA,MAAM,KAAK,GAAqB,EAAE,CAAC;AAQnC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;AAEtE,MAAM,iBAAiB,GAAG,CAAC,UAAyB,EAAE,CAAsC,KAAU;IAC3G,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,IAAW,KAA2B;IACvE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,WAAkC,EAAE,cAA8B,KAAI;QACzF,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,GAAG,WAAW,EAAE;oBACtB,cAAc;AACd,oBAAA,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAU,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1D,iBAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,OAAO,WAAW,CAAC;SACpB;KACF,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAW,KAAyB;AAC1E,IAAA,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAE9D,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,CAAA;;WAET,IAAI,CAAA;;;;;AAKd,CAAA,CAAC,CAAC;KACA;AAED,IAAA,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;AACpC,QAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAA,CAAA,CAAG,CAAC,CAAC;KAChE;AAED,IAAA,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;;AClEK,SAAU,aAAa,CAAC,IAA+B,EAAA;AAC3D,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE,CAAA;IACpB,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;AAC1D,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC,CAAA;AAC/E,CAAC;AAED;;;;;AAKG;AACa,SAAA,SAAS,CAAC,QAAiB,EAAE,QAAiB,EAAA;AAC5D,IAAA,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAC/F,OAAO,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;AACnC,CAAC;AAMD,MAAM,mBAAmB,GAAG,CAAC,cAAsB,KAAmB;AACpE,IAAA,IAAI;AACF,QAAA,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAC/C,QAAA,OAAO,gBAAgB,CAAC;KACzB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,CAAA,gCAAA,EAAoC,KAAe,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC;KAChF;AACH,CAAC,CAAA;AAEK,SAAU,YAAY,CAAC,cAAsB,EAAA;IACjD,IAAI,CAAC,cAAc,EAAE;AACnB,QAAA,OAAO,MAAM,IAAI,CAAC;KACnB;AAED,IAAA,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAc,KAAI;QACxB,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnD,QAAA,OAAO,MAAM,CAAC;AAChB,KAAC,CAAC;AACJ;;AC5BA,MAAM,QAAQ,GAAmB;AAC/B,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,SAAS,EAAE,EAAE;CACd,CAAC;AAWW,MAAA,UAAU,GAAG,OAAO,SAAiB,EAAE,KAAU,KAAmB;AAC/E,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAClC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,QAAA,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAQ,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrF,IAAI,SAAS,KAAK,WAAW;AAAE,YAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QAC3F,IAAI,MAAM,EAAE;YACV,IAAI,SAAS,KAAK,WAAW;AAAE,gBAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAK;gBAC5B,IAAI,SAAS,KAAK,WAAW;AAAE,oBAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AACvD,aAAC,CAAC,CAAC;SACJ;KACF;AACD,IAAA,OAAO,KAAK,CAAC;AACf,EAAE;AAEF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,EAAgC,EAAE,EAAqC,KAAU;IAEnH,IAAI,IAAI,GAAQ,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,EAAC,YAAU,GAAE,EAAE,IAAI,EAAC,EAAE,EAAE,YAAY,EAAE,MAAM,IAAI,EAAE,CAAA;IAE9E,IAAI,UAAU,CAAC,EAAE,CAAC;QAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAC,CAAA;SACvC,IAAI,QAAQ,CAAC,EAAE,CAAC;AAAE,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;;QAChC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,CAAA;IAE9B,IAAI,UAAU,CAAC,EAAE,CAAC;AAAE,QAAA,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;IAE/B,IAAI,CAAC,IAAI,CAAC,CAAC;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;AAEhF,IAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;AAEzD,IAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC,CAAC;MAIW,SAAS,GAAmB,CAAC,EAAE,EAAC,EAAE,KAAU,EAAG,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA,GAAG;MAE9E,MAAM,GAAmB,CAAC,EAAE,EAAC,EAAE,KAAU,EAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA,GAAG;MAExE,UAAU,GAAmB,CAAC,EAAE,EAAC,EAAE,KAAU,EAAG,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA,GAAG;MAEhF,QAAQ,GAAmB,CAAC,EAAE,EAAC,EAAE,KAAU,EAAG,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA,GAAG;MAE5E,KAAK,GAAmB,CAAC,EAAE,EAAC,EAAE,KAAU,EAAG,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA,GAAG;MAEtE,SAAS,GAAmB,CAAC,EAAE,EAAC,EAAE,KAAU,EAAG,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;;ACvExF,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;AAChE,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAClE,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,6BAA6B,EAAE,CAAC;AAC9D,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAExC,aAAa,CAAC,GAAU,EAAE,MAAwB,EAAE,UAAmB,EAAA;;IAGrF,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;;AAGnF,IAAA,IAAI,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC3E,QAAA,OAAO,EAAE,CAAA;KACV;IAED,OAAO,CAAA;;;;;;;;;;;AAWK,YAAA,EAAA,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAK,EAAA,EAAA,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;UAC1E,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;;;;;;;;;;;;;AAcpF,EAAA,aAAa,CAAC,eAAe,CAAC,OAAQ,EAAE,MAAM,CAAC,CAAA;CAChD,CAAA;AACD,CAAC;AAEe,SAAA,aAAa,CAAC,OAAe,EAAE,MAAwB,EAAA;;AAGrE,IAAA,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;;AAGxC,IAAA,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,QAA0B,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;AAEpG,IAAA,IAAI,WAAW,GAAG,CAAA,EAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,EAAA,EAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;;IAG7D,OAAM,CAAA;;AAEsC,4CAAA,EAAA,WAAW,CAA4C,yCAAA,EAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAM,GAAA,EAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;;;0BAGzI,WAAW,CAAA;;;;EAInC,eAAe,CAAA;;;;YAIL,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAK,EAAA,EAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;EAChD,QAAQ,CAAA;IACN,CAAA;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAA4B,EAAA;AAC1C,IAAA,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,QAAmC,EAAE,MAAwB,EAAE,IAAa,EAAE,EAAE,GAAG,IAAI,EAAA;AAE7G,IAAA,MAAM,MAAM,GAAG;AACb,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM;AAAE,QAAA,OAAO,MAAM,CAAA;IAEnC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;QAC5C,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAG,CAAC,UAAW,CAAC,KAAe,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;KAC1G;AAED,IAAA,KAAK,IAAI,KAAK,IAAI,QAAQ,EAAE;AAC1B,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;AACjB,YAAA,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;SACvD;AACI,aAAA,IAAI,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;AACzC,YAAA,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;SAC3D;KACF;AAED,IAAA,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB,EAAE,MAAwB,EAAE,IAAa,EAAE,EAAE,GAAG,IAAI,EAAA;IACxF,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,IAAK,CAAC,QAAuB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAEhH,OAAO,CAAA;AACP,EAAA,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,IAAK,CAAC,OAAO,CAAC,CAAA,EAAA,EAAK,CAAC,CAAC,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,CAAA;;EAE7D,EAAE,CAAA;EACF,EAAE,CAAA;EACF,EAAE,CAAA,uBAAA,EAA0B,CAAC,CAAC,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,CAAA;EAC/C,eAAe,CAAA;EACf,EAAE,CAAA;EACF,EAAE,CAAA;;EAEF,QAAQ,CAAA;;EAER,EAAE,CAAA;CACH,CAAA;AACD,CAAC;AAED,SAAS,cAAc,CAAC,KAAkB,EAAE,MAAwB,EAAE,IAAa,EAAE,EAAE,GAAG,IAAI,EAAA;AAC5F,IAAA,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,GAAG,cAAc,CAAA;IAChE,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAE1D,IAAA,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,CAAA;AAC1D,IAAA,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,CAAA;AAC1D,IAAA,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAA;AAC5D,IAAA,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,aAAa,GAAG,EAAE,CAAA;IAC5E,IAAI,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,aAAa,GAAG,EAAE,CAAA;IAC7F,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAA;;IAGzD,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,WAAyB,EAAE,IAAI,CAAC,CAAA;AAClE,IAAA,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;IACnD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAC,WAAW,KAAI;QAEzC,IAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,CAAK,EAAA,EAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG,GAAG,EAAE,CAAA;;QAGhE,IAAI,KAAK,CAAC,QAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,WAAW,IAAI,KAAK,CAAC,QAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE;AAE1F,YAAA,IAAI,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;AAC/F,YAAA,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;gBAClE,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,CAAE,GAAG,GAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC,CAAA;AAC5D,aAAC,CAAC,CAAA;AAEF,YAAA,SAAS,iBAAiB,CAAC,CAAQ,EAAE,UAAmB,EAAA;gBACtD,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,KAAI;AAC7B,oBAAA,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,YAAY,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC,GAAG,UAAU,GAAG,OAAO,CAAC,CAAA,EAAA,CAAI,GAAI,CAAK,EAAA,EAAA,CAAC,CAAE,CAAA,EAAE,CAAA;AACjG,iBAAC,CAAC,CAAA;AACF,gBAAA,OAAO,CAAC,CAAA;aACT;AAED,YAAA,IAAI,QAAQ,GAAG,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;AAC/D,YAAA,IAAI,4BAA4B,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;AAE1F,YAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,EAAC,GAAG,KAAI;AACtD,gBAAA,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAC,IAAI,CAAC,CAAA;AACnC,gBAAA,OAAO,IAAI,CAAA;AACb,aAAC,CAAC,CAAA;YAEF,IAAI,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,QAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,GAAG,CAAG,EAAA,WAAW,GAAC,CAAC,CAAE,CAAA,GAAG,EAAE,CAAC,CAAA;YAE3K,OAAO,CAAA;AACT,EAAA,EAAE,OAAO,KAAK,CAAA;AACd,EAAA,EAAE,KAAK,WAAW,EAAE,GAAG,CAAC,IAAI,IAAG;AACvB,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;aAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;EAChC,EAAE,CAAA;AACF,EAAA,EAAE,CAAM,GAAA,EAAA,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAK,EAAA,EAAA,QAAQ,GAAG,gBAAgB,CAAA;EACxE,EAAE,CAAA,WAAA,EAAc,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,GAAG,GAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9D,EAAA,EAAE,CAAyB,sBAAA,EAAA,MAAM,CAAa,UAAA,EAAA,4BAA4B,CAAO,IAAA,EAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAQ,KAAA,EAAA,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;EACnJ,aAAa,CAAA;EACb,EAAE,CAAA;EACF,EAAE,CAAA;EACF,EAAE,CAAA;CACH,CAAA;SACE;QAED,OAAO,CAAA;EACP,EAAE,CAAA,IAAA,EAAO,KAAK,CAAK,EAAA,EAAA,CAAC,CAAC,KAAK,CAAC,QAAS,CAAC,OAAO,CAAC,CAAK,EAAA,EAAA,CAAC,CAAC,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC,CAAA,EAAG,gBAAgB,CAAA;EAC5F,EAAE,CAAA,oBAAA,EAAuB,MAAM,CAAc,WAAA,EAAA,CAAC,CAAC,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC,CAAQ,KAAA,EAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAQ,KAAA,EAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;EAC/J,WAAW,CAAC,KAAK,CAAC,QAAS,CAAC,KAAe,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,GAAG,CAAA,EAAG,WAAW,GAAC,CAAC,CAAA,CAAE,GAAG,EAAE,CAAC,CAAA;EACrG,EAAE,CAAA;EACF,EAAE,CAAA;CACH,CAAA;AACC,KAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAY,EAAE,MAAwB,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,eAAuB,KAAK,EAAA;IACrH,IAAI,KAAK,GAAG,YAAY,GAAG,GAAG,GAAG,EAAE,CAAA;IACnC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAC,GAAG,KAAI;AAE5B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAG;AACpD,gBAAA,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;aACjC,CAAC,CAAC,CAAA;AACH,YAAA,OAAO,CAAG,EAAA,EAAE,CAAqB,kBAAA,EAAA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,SAAA,EAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAK,KAAK,CAAA,EAAG,GAAG,GAAC,CAAC,CAAA,EAAA,EAAK,YAAY,IAAI,WAAW,CAAA,EAAA,EAAK,IAAI,CAAA,EAAA,CAAI,CAAA;SAC5I;AACI,aAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACvB,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,EAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AACxE,YAAA,OAAO,CAAG,EAAA,EAAE,CAAqB,kBAAA,EAAA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,SAAA,EAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAK,KAAK,CAAA,EAAG,GAAG,GAAC,CAAC,CAAA,EAAA,EAAK,YAAY,IAAI,WAAW,CAAA,EAAA,EAAK,IAAI,CAAA,EAAA,CAAI,CAAA;SAC5I;AAED,QAAA,OAAO,CAAG,EAAA,EAAE,CAAqB,kBAAA,EAAA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAK,EAAA,EAAA,KAAK,CAAG,EAAA,GAAG,GAAC,CAAC,CAAG,EAAA,YAAY,GAAG,CAAK,EAAA,EAAA,YAAY,EAAE,GAAG,EAAE,IAAI,CAAA;AAC9I,KAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED;;;;AAIG;AACH,MAAM,CAAC,GAAG,CAAC,CAAQ,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAEtE;;;;;;;;;AASG;AACH,MAAM,EAAE,GAAG,CAAC,IAAW,KAAI;;IAEzB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;;IAEnC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;IAEjC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACjD,IAAA,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;AAC1B,CAAC,CAAA;AAED;;;;AAIG;AACG,SAAU,YAAY,CAAC,GAAe,EAAA;AAC1C,IAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AAClC,IAAA,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,IAAG;AACrB,QAAA,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAA;AACtC,KAAC,CAAC,CAAA;IAEF,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;AAC7B,IAAA,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAE3C,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,IACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;AACa,SAAA,WAAW,CAAC,WAAsB,EAAE,QAAiB,EAAA;IACnE,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC1C,IAAA,IAAI,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;;;IAI9B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,IAAG;AAC3C,QAAA,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3D,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACvF,QAAA,OAAO,KAAK,CAAA;AACd,KAAC,CAAC,CAAA;;AAGF,IAAA,IAAI,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;;AAGvC,IAAA,OAAO,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACpF;;AC5TM,MAAO,SAAU,SAAQ,MAAM,CAAA;IAGnC,WAAY,CAAA,OAAe,EAAE,SAAA,GAAoB,EAAE,EAAA;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC5B;IAED,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;KACvB;AAED,IAAA,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY,EAAA;AAC/B,QAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;AACrB,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SAC/B;AACD,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;KACvB;AACF;;MCmBY,gBAAgB,CAAA;IAI3B,WAAY,CAAA,OAAmB,EAAE,IAAoB,EAAA;AACnD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAC,EAAE,EAAE,CAAA;KACnC;IACD,MAAM,IAAI,GAAA,GAAK;IACf,IAAI,MAAM,GAAK,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA,EAAE;AACxC,IAAA,IAAI,WAAW,GAAA,EAAK,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA,EAAE;AACzD,IAAA,IAAI,UAAU,GAAK,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA,EAAE;AACxE,IAAA,SAAS,CAAC,IAAc,EAAA;QACtB,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACvC;IACD,QAAQ,GAAA;AACN,QAAA,IAAI,KAAK,GAAG;YACV,IAAI,CAAC,WAAW,CAAC,IAAI;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAG,CAAA,CAAA,GAAG,EAAE,CAAC;YACpF,CAAG,EAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAA;SACrE,CAAA;AACD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACvB;AACF,CAAA;AAOD,IAAI,gBAAgB,GAAoB,gBAAgB,CAAA;SAExC,mBAAmB,GAAA;AACjC,IAAA,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAEK,SAAU,mBAAmB,CAAC,WAA6B,EAAA;IAC/D,gBAAgB,GAAG,WAAW,CAAA;AAChC;;ACxDA,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAIpC,MAAM,KAAK,GAAG,kBAAkB;AAChC,MAAM,IAAI,GAAG,kBAAkB;AAC/B,MAAM,IAAI,GAAG,kBAAkB;AAqBtB,SAAA,WAAW,CAAC,IAAW,EAAE,IAAW,EAAA;IAClD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;QAAE,KAAK,CAAC,KAAK,EAAE,CAAA;AAClE,IAAA,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,CAAA,EAAA,CAAI,CAAC,CAAA;AACtD,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAEY,MAAA,WAAW,GAAG,OAAO,IAAY,EAAE,KAAU,EAAE,IAAY,EAAE,OAAc,EAAE,UAAkB,EAAE,IAAS,KAAkB;AACvI,IAAA,MAAM,mBAAmB,GAAwB,uBAAuB,CAAC,IAAI,CAAC,CAAC;;AAG/E,IAAA,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;AACtB,IAAA,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;AACtB,IAAA,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;AAC5B,IAAA,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;;AAGnC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACvB,QAAA,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAA;KAC3B;AACI,SAAA,IAAI,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE;AACxC,QAAA,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;KACnD;AAED,IAAA,IAAI;AACF,QAAA,MAAM,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACtC,QAAA,IAAI;AACF,YAAA,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC5F;QACD,OAAM,CAAK,EAAE;;AAEX,YAAA,CAAC,CAAC,OAAO,GAAG,CAAA,EAAG,IAAI,CAAA,GAAA,EAAM,IAAI,CAAA,GAAA,EAAM,CAAC,CAAC,OAAO,CAAA,CAAE,CAAA;;AAG9C,YAAA,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;AAG/C,YAAA,CAAC,CAAC,WAAW,GAAG,IAAI,CAAA;;YAGpB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;AAGzB,YAAA,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;AAAE,gBAAA,MAAM,CAAC,CAAA;SAC7E;gBACO;AACN,YAAA,MAAM,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;IACD,OAAM,CAAK,EAAE;;AAGX,QAAA,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;;AAGlB,YAAA,CAAC,CAAC,OAAO,GAAG,CAAA,EAAG,IAAI,CAAA,GAAA,EAAM,IAAI,CAAA,GAAA,EAAM,CAAC,CAAC,OAAO,CAAA,CAAE,CAAA;;YAG9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC1B;;QAGD,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAM;;;AAI1G,QAAA,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;;AAGhC,QAAA,MAAM,CAAC,CAAA;KACR;YACO;AACN,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE;AAChD,YAAA,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;AACzD,YAAA,KAAK,CAAC,OAAO,GAAG,0BAA0B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,eAAe,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAK,KAAK,CAAC,EAAE,OAAO,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;AAC9K,YAAA,MAAM,KAAK,CAAA;SACZ;KACF;AACH,EAAE;AAwBW,MAAA,aAAa,GAAsB;AAE9C;;AAEG;AACH,IAAA,QAAQ,EAAE,CAAC,OAAO,EAAC,MAAM,CAAC;AAE1B;;AAEG;IACH,QAAQ,EAAE,CAAC,OAAO,CAAC;AAEnB;;AAEG;AACH,IAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;AAEhC;;AAEG;AACH,IAAA,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;AAEpC;;AAEG;IACH,cAAc,EAAE,CAAC,aAAa,CAAC;AAE/B;;AAEG;IACH,cAAc,EAAE,CAAC,aAAa,CAAC;AAE/B;;AAEG;AACH,IAAA,WAAW,EAAE,EAAE;AAEf;;;;AAIG;AACH,IAAA,WAAW,EAAE,EAAE;EAEhB;AAMD,SAAS,IAAI,CAAC,GAA8B,EAAA;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AACrE,CAAC;MAEY,WAAW,GAAG,CAAC,IAAyC,GAAA,EAAE,KAAW;AAChF,IAAA,IAAI,MAAwB,CAAA;AAC5B,IAAA,IAAI,YAAY,GAA4B,EAAC,GAAG,IAAI,EAAC,CAAA;IAErD,OAAO;AACL,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,cAAc,CAAC,cAA8B,EAAA;YAC3C,MAAM,GAAG,YAAY,CACnB,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,IAAI,EAAE,EAC7C,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,EAAE,EACxC,YAAY,EACZ,aAAa,CACd,CAAC;YACF,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAChD,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAChD,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAChD,MAAM,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YACxD,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;YAC5D,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAC5D,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;;gBACnF,MAAM,CAAC,WAAW,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;SAC9D;AACD,QAAA,MAAM,SAAS,CAAC,GAAW,EAAE,EAAU,EAAA;AACrC,YAAA,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACzB,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAA;aACpE;SACF;KACF,CAAC;AACJ;;;;"}
package/dist/render.d.ts CHANGED
@@ -41,10 +41,3 @@ export declare function explodeArray(arr: string[][]): string[][];
41
41
  * @returns a 2d array of all possible combinations of tags
42
42
  */
43
43
  export declare function explodeTags(explodeTags: string[][], testTags: string[]): string[][];
44
- /**
45
- *
46
- * @param confTags string[]
47
- * @param testTags string[]
48
- * @returns boolean
49
- */
50
- export declare function tagsMatch(confTags: string[], testTags: string[]): string[] | null;
package/dist/tags.d.ts CHANGED
@@ -1 +1,9 @@
1
1
  export declare function normalizeTags(tags?: string | string[] | undefined): string[];
2
+ /**
3
+ *
4
+ * @param confTags string[]
5
+ * @param testTags string[]
6
+ * @returns boolean
7
+ */
8
+ export declare function tagsMatch(confTags: string[], testTags: string[]): string[] | null;
9
+ export declare function tagsFunction(tagsExpression?: string): (tags: string[]) => boolean;
package/dist/world.d.ts CHANGED
@@ -1,5 +1,12 @@
1
1
  import type { TestContext } from 'vitest';
2
2
  import { QuickPickleConfig } from '.';
3
+ interface Common {
4
+ info: {
5
+ feature: string;
6
+ tags: string[];
7
+ };
8
+ [key: string]: any;
9
+ }
3
10
  export interface QuickPickleWorldInterface {
4
11
  info: {
5
12
  config: QuickPickleConfig;
@@ -18,16 +25,12 @@ export interface QuickPickleWorldInterface {
18
25
  isComplete: boolean;
19
26
  config: QuickPickleConfig;
20
27
  worldConfig: QuickPickleConfig['worldConfig'];
21
- common: {
22
- [key: string]: any;
23
- };
28
+ common: Common;
24
29
  init: () => Promise<void>;
25
30
  tagsMatch(tags: string[]): string[] | null;
26
31
  }
27
32
  export type InfoConstructor = Omit<QuickPickleWorldInterface['info'], 'errors'> & {
28
- common: {
29
- [key: string]: any;
30
- };
33
+ common: Common;
31
34
  };
32
35
  export declare class QuickPickleWorld implements QuickPickleWorldInterface {
33
36
  info: QuickPickleWorldInterface['info'];
@@ -46,3 +49,4 @@ export declare class QuickPickleWorld implements QuickPickleWorldInterface {
46
49
  export type WorldConstructor = new (context: TestContext, info: InfoConstructor) => QuickPickleWorldInterface;
47
50
  export declare function getWorldConstructor(): WorldConstructor;
48
51
  export declare function setWorldConstructor(constructor: WorldConstructor): void;
52
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quickpickle",
3
- "version": "1.5.3",
3
+ "version": "1.5.4",
4
4
  "description": "Plugin for Vitest to run tests written in Gherkin Syntax.",
5
5
  "keywords": [
6
6
  "BDD",