ds-mcp-flowise 1.2.5 → 1.2.7

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/index.js CHANGED
@@ -183,7 +183,19 @@ function createFlowiseNode(id, nodeType, position, inputValues = {}) {
183
183
  const inputAnchors = [];
184
184
  const inputs = {};
185
185
  // Types that are parameters (not connection anchors)
186
- const paramTypes = ['string', 'number', 'boolean', 'password', 'options', 'asyncOptions', 'json', 'code', 'file'];
186
+ // IMPORTANT: 'credential' must be in paramTypes - credentials appear in inputParams, not inputAnchors
187
+ // IMPORTANT: 'multiOptions' must be in paramTypes - it's a multi-select UI field, not a node connection
188
+ const paramTypes = ['string', 'number', 'boolean', 'password', 'options', 'multiOptions', 'asyncOptions', 'json', 'code', 'file', 'credential'];
189
+ // Handle credential field if it exists (defined separately from inputs in Flowise)
190
+ if (nodeInfo.credential) {
191
+ inputParams.push({
192
+ label: nodeInfo.credential.label || 'Connect Credential',
193
+ name: nodeInfo.credential.name || 'credential',
194
+ type: 'credential',
195
+ credentialNames: nodeInfo.credential.credentialNames || [],
196
+ id: `${id}-input-credential-credential`
197
+ });
198
+ }
187
199
  for (const input of (nodeInfo.inputs || [])) {
188
200
  const isAnchor = !paramTypes.includes(input.type);
189
201
  if (isAnchor) {
@@ -626,22 +638,125 @@ function getNodeSchema(name) {
626
638
  WHERE node_name = ?
627
639
  ORDER BY additional_params, input_label
628
640
  `, [name]);
629
- const schema = {
630
- ...node,
631
- base_classes: JSON.parse(node.base_classes || '[]'),
632
- credential: node.credential ? JSON.parse(node.credential) : null,
633
- inputs: inputs.map((i) => ({
634
- name: i.input_name,
635
- label: i.input_label,
636
- type: i.input_type,
637
- description: i.description,
638
- optional: Boolean(i.optional),
639
- default: i.default_value,
640
- options: i.options ? JSON.parse(i.options) : null,
641
- additionalParams: Boolean(i.additional_params),
642
- })),
641
+ const baseClasses = JSON.parse(node.base_classes || '[]');
642
+ const credential = node.credential ? JSON.parse(node.credential) : null;
643
+ // Use a placeholder node ID - AI should replace "0" with their desired suffix
644
+ const nodeId = `${name}_0`;
645
+ // Types that are parameters (UI fields), not connection anchors
646
+ // IMPORTANT: 'multiOptions' must be here - it's a multi-select UI field, not a node connection
647
+ const paramTypes = ['string', 'number', 'boolean', 'password', 'options', 'multiOptions', 'asyncOptions', 'json', 'code', 'file', 'credential'];
648
+ const inputParams = [];
649
+ const inputAnchors = [];
650
+ const inputsObj = {};
651
+ // Add credential to inputParams if it exists
652
+ if (credential) {
653
+ inputParams.push({
654
+ label: credential.label || 'Connect Credential',
655
+ name: credential.name || 'credential',
656
+ type: 'credential',
657
+ credentialNames: credential.credentialNames || [],
658
+ id: `${nodeId}-input-credential-credential`
659
+ });
660
+ }
661
+ // Process each input field
662
+ for (const input of inputs) {
663
+ const inputType = input.input_type;
664
+ const inputName = input.input_name;
665
+ const isParam = paramTypes.includes(inputType);
666
+ if (isParam) {
667
+ // This is a UI parameter (text field, dropdown, etc.)
668
+ const param = {
669
+ label: input.input_label,
670
+ name: inputName,
671
+ type: inputType,
672
+ id: `${nodeId}-input-${inputName}-${inputType}`
673
+ };
674
+ if (input.description)
675
+ param.description = input.description;
676
+ if (input.optional)
677
+ param.optional = true;
678
+ if (input.default_value !== null)
679
+ param.default = input.default_value;
680
+ if (input.options)
681
+ param.options = JSON.parse(input.options);
682
+ if (input.additional_params)
683
+ param.additionalParams = true;
684
+ inputParams.push(param);
685
+ inputsObj[inputName] = input.default_value !== null ? input.default_value : '';
686
+ }
687
+ else {
688
+ // This is a connection anchor (connects to another node's output)
689
+ const anchor = {
690
+ label: input.input_label,
691
+ name: inputName,
692
+ type: inputType,
693
+ id: `${nodeId}-input-${inputName}-${inputType}`
694
+ };
695
+ if (input.optional)
696
+ anchor.optional = true;
697
+ if (input.description)
698
+ anchor.description = input.description;
699
+ inputAnchors.push(anchor);
700
+ inputsObj[inputName] = '';
701
+ }
702
+ }
703
+ // Build outputAnchors
704
+ const typeChain = baseClasses.join('|');
705
+ const outputAnchors = [{
706
+ id: `${nodeId}-output-${name}-${typeChain}`,
707
+ name: name,
708
+ label: node.label,
709
+ description: node.description,
710
+ type: typeChain.replace(/\|/g, ' | ') // Format for display: "Type1 | Type2"
711
+ }];
712
+ // Return a ready-to-use node template
713
+ const nodeTemplate = {
714
+ id: nodeId,
715
+ position: { x: 0, y: 0 },
716
+ type: 'customNode',
717
+ width: 300,
718
+ height: Math.max(300, 150 + (inputParams.length + inputAnchors.length) * 50),
719
+ data: {
720
+ id: nodeId,
721
+ label: node.label,
722
+ version: node.version,
723
+ name: name,
724
+ type: node.type,
725
+ baseClasses: baseClasses,
726
+ category: node.category,
727
+ description: node.description,
728
+ inputParams: inputParams,
729
+ inputAnchors: inputAnchors,
730
+ inputs: inputsObj,
731
+ outputAnchors: outputAnchors,
732
+ outputs: {},
733
+ selected: false
734
+ },
735
+ selected: false
643
736
  };
644
- return JSON.stringify(schema, null, 2);
737
+ return JSON.stringify({
738
+ node_template: nodeTemplate,
739
+ usage: {
740
+ instructions: [
741
+ 'This is a READY-TO-USE node template. Copy it exactly into your nodes array.',
742
+ 'ONLY modify these fields:',
743
+ ' 1. node.id and node.data.id - change suffix (e.g., chatOpenAI_0 -> chatOpenAI_1)',
744
+ ' 2. node.position.x and node.position.y - set canvas coordinates',
745
+ ' 3. node.data.inputs.* - fill in your actual values (leave empty string for unconfigured)',
746
+ 'After changing node.id, you MUST update ALL id fields that contain the old ID:',
747
+ ' - Every inputParams[].id',
748
+ ' - Every inputAnchors[].id',
749
+ ' - Every outputAnchors[].id',
750
+ 'DO NOT remove any fields. DO NOT add fields. DO NOT restructure.',
751
+ ],
752
+ id_format: {
753
+ node_id: `${name}_<number>`,
754
+ inputParam_id: `${name}_<number>-input-<paramName>-<paramType>`,
755
+ inputAnchor_id: `${name}_<number>-input-<anchorName>-<anchorType>`,
756
+ outputAnchor_id: `${name}_<number>-output-${name}-${typeChain}`,
757
+ }
758
+ }
759
+ }, null, 2);
645
760
  }
646
761
  function searchNodes(searchQuery, limit = 10) {
647
762
  const searchTerm = `%${searchQuery}%`;
@@ -968,59 +1083,59 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
968
1083
  title: 'Flowise MCP Server - Usage Guide',
969
1084
  important: 'READ THIS COMPLETELY BEFORE USING OTHER TOOLS',
970
1085
  // ============================================================
971
- // ABSOLUTE RULES - VIOLATING THESE WILL BREAK THE FLOW
1086
+ // SIMPLE RULES - get_node_schema now returns READY-TO-USE templates
972
1087
  // ============================================================
973
1088
  ABSOLUTE_RULES: {
974
- _READ_THIS_FIRST: '⚠️⚠️⚠️ THESE RULES ARE NON-NEGOTIABLE. VIOLATING THEM CREATES BROKEN, UNUSABLE FLOWS. ⚠️⚠️⚠️',
975
- RULE_1_NODE_STRUCTURE_IS_SACRED: {
976
- rule: 'NEVER modify, simplify, reorganize, or omit ANY part of a node structure from get_node_schema',
977
- explanation: 'The node schema from the database is the EXACT structure Flowise expects. It was extracted directly from Flowise source code. Every field exists for a reason.',
978
- violation_example: 'Omitting the credential field because you think it is optional - THIS BREAKS AUTHENTICATION',
979
- correct_behavior: 'Copy the ENTIRE node structure exactly. If you do not have a value for a field, leave it empty/null - but the field MUST EXIST.',
980
- },
981
- RULE_2_CREDENTIAL_IS_REQUIRED_WHEN_PRESENT: {
982
- rule: 'If get_node_schema returns a "credential" field for a node, that field is REQUIRED in your output',
983
- explanation: 'The credential field is how users configure authentication (API keys, OAuth, etc). Without it, the node CANNOT be configured and is USELESS.',
984
- violation_example: 'Creating a Google Calendar node without the credential field - user cannot connect their Google account',
985
- correct_behavior: 'Include the credential object exactly as returned by get_node_schema. The user will configure the actual credential in the Flowise UI.',
1089
+ _READ_THIS_FIRST: '⚠️ get_node_schema returns a READY-TO-USE node_template. Copy it directly into your nodes array.',
1090
+ RULE_1_USE_THE_TEMPLATE: {
1091
+ rule: 'get_node_schema returns a node_template object. Use it EXACTLY as provided.',
1092
+ what_to_change: [
1093
+ 'node.id and node.data.id - change the suffix number if needed (e.g., chatOpenAI_0 chatOpenAI_1)',
1094
+ 'node.position.x and node.position.y - set canvas coordinates',
1095
+ 'node.data.inputs.* - fill in your actual configuration values',
1096
+ ],
1097
+ what_NOT_to_change: [
1098
+ 'DO NOT remove any fields',
1099
+ 'DO NOT restructure inputParams, inputAnchors, or outputAnchors',
1100
+ 'DO NOT omit credential fields - they are required for authentication',
1101
+ ],
986
1102
  },
987
- RULE_3_ONLY_FILL_VALUES_YOU_KNOW: {
988
- rule: 'Only populate the "inputs" object with values you actually have. Leave everything else as empty string or default.',
989
- explanation: 'Your job is to create the node STRUCTURE. The user will configure specific values in the Flowise UI.',
990
- violation_example: 'Removing input fields you do not have values for',
991
- correct_behavior: 'Keep ALL input fields. Set known values, leave unknown values as empty string "".',
1103
+ RULE_2_UPDATE_ALL_IDS_WHEN_CHANGING_NODE_ID: {
1104
+ rule: 'If you change node.id, you MUST update ALL internal id fields to match',
1105
+ fields_to_update: [
1106
+ 'node.data.id',
1107
+ 'Every inputParams[].id (format: {nodeId}-input-{name}-{type})',
1108
+ 'Every inputAnchors[].id (format: {nodeId}-input-{name}-{type})',
1109
+ 'Every outputAnchors[].id (format: {nodeId}-output-{name}-{types|joined|by|pipe})',
1110
+ ],
1111
+ example: 'Changing chatOpenAI_0 to chatOpenAI_1 means updating ~20+ id fields',
992
1112
  },
993
- RULE_4_DO_NOT_IMPROVE_OR_SIMPLIFY: {
994
- rule: 'Do NOT try to "improve", "clean up", "simplify", or "optimize" the node structure',
995
- explanation: 'You are not smarter than the Flowise source code. The structure is exactly what Flowise needs.',
996
- violation_example: 'Removing "unnecessary" fields, combining fields, renaming properties',
997
- correct_behavior: 'Use the structure VERBATIM. Your only job is to fill in values, not redesign the node.',
1113
+ RULE_3_LEAVE_UNKNOWN_VALUES_EMPTY: {
1114
+ rule: 'If you do not know a value, leave it as empty string ""',
1115
+ explanation: 'Users will configure values in the Flowise UI. Do not guess or make up values.',
998
1116
  },
999
1117
  },
1000
1118
  warnings: [
1001
- 'DANGER: Sending malformed node data can create CORRUPTED chatflows that CRASH the Flowise UI',
1002
- 'DANGER: Flowise may partially create a chatflow even when the API returns an error, leaving corrupted data',
1003
- 'DANGER: Omitting the credential field makes nodes UNCONFIGURABLE - users cannot set up authentication',
1004
- 'ALWAYS call validate_flow BEFORE flowise_create_chatflow to prevent corruption',
1005
- 'If you create a corrupted chatflow, you must delete it via flowise_delete_chatflow',
1119
+ 'DANGER: Malformed node data creates CORRUPTED chatflows that CRASH the Flowise UI',
1120
+ 'ALWAYS call validate_flow BEFORE flowise_create_chatflow',
1121
+ 'If you create a corrupted chatflow, delete it via flowise_delete_chatflow',
1006
1122
  ],
1007
1123
  workflow: [
1008
- '1. Call get_usage_guide (this tool) - understand how to use the server',
1009
- '2. Call list_templates to find a similar flow as your starting point',
1010
- '3. Call get_template to get the EXACT structure of a working flow',
1011
- '4. Call get_node_schema for EACH node you need - this returns the COMPLETE node definition',
1012
- '5. Build your nodes using the EXACT structure from get_node_schema - do NOT omit any fields',
1013
- '6. Call validate_flow to verify your flow BEFORE creating',
1014
- '7. Call flowise_create_chatflow to deploy',
1124
+ '1. Call get_node_schema for each node type you need - it returns a READY-TO-USE node_template',
1125
+ '2. Copy node_template directly into your nodes array',
1126
+ '3. Update node IDs if using multiple nodes of same type (update ALL internal id fields)',
1127
+ '4. Fill in node.data.inputs with your configuration values',
1128
+ '5. Set node.position.x/y for canvas layout',
1129
+ '6. Create edges connecting nodes (see edge_properties below)',
1130
+ '7. Call validate_flow to verify your flow',
1131
+ '8. Call flowise_create_chatflow to deploy',
1015
1132
  ],
1016
1133
  critical_rules: [
1017
- 'NEVER invent your own node structure - ALWAYS use get_node_schema as the source of truth',
1018
- 'The node from get_node_schema is COMPLETE - do NOT remove fields, do NOT simplify',
1019
- 'If get_node_schema returns a credential field, YOUR NODE MUST HAVE THAT CREDENTIAL FIELD',
1020
- 'Do NOT simplify, reorganize, or rewrite the node structure',
1021
- 'Only change: values in the "inputs" object where you have actual data',
1022
- 'Keep ALL properties exactly as returned by get_node_schema',
1023
- 'Edges define connections - copy the format EXACTLY from templates',
1134
+ 'get_node_schema returns node_template - USE IT DIRECTLY, do not reconstruct',
1135
+ 'All id fields (inputParams, inputAnchors, outputAnchors) are pre-generated - keep them',
1136
+ 'Credentials are included in inputParams when required - never remove them',
1137
+ 'Leave unknown input values as empty string - users configure in Flowise UI',
1138
+ 'When changing node.id, update ALL internal id fields to match',
1024
1139
  ],
1025
1140
  node_properties: {
1026
1141
  description: 'Complete list of node properties with required/optional status',
@@ -1121,18 +1236,15 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1121
1236
  description: 'Inheritance chain. CRITICAL for edge connections. Get from get_node_schema.',
1122
1237
  },
1123
1238
  credential: {
1124
- required: 'REQUIRED IF PRESENT IN get_node_schema - DO NOT OMIT',
1125
- type: 'object',
1126
- description: '⚠️ CRITICAL: If get_node_schema returns a credential field, you MUST include it. This is how users configure authentication (API keys, OAuth tokens, etc). Omitting this field makes the node UNUSABLE - users cannot connect their accounts.',
1127
- example: {
1239
+ note: 'Credentials are now AUTOMATICALLY included in inputParams by get_node_schema',
1240
+ description: 'When a node requires authentication, the credential field appears in inputParams with type "credential". Do not remove it.',
1241
+ example_in_inputParams: {
1128
1242
  label: 'Connect Credential',
1129
1243
  name: 'credential',
1130
1244
  type: 'credential',
1131
- credentialNames: ['googleCalendarOAuth2'],
1245
+ credentialNames: ['openAIApi'],
1246
+ id: 'chatOpenAI_0-input-credential-credential'
1132
1247
  },
1133
- when_present: 'MUST be included exactly as returned by get_node_schema',
1134
- when_absent: 'If get_node_schema does not return a credential field, the node does not require authentication - do not add one',
1135
- common_mistake: 'Omitting credential field for nodes like Google Calendar, Gmail, OpenAI - this breaks the node completely',
1136
1248
  },
1137
1249
  inputParams: {
1138
1250
  required: true,
@@ -1258,48 +1370,39 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1258
1370
  },
1259
1371
  },
1260
1372
  common_mistakes: [
1261
- '⚠️ OMITTING THE CREDENTIAL FIELD - This is the #1 mistake. If get_node_schema returns credential, YOU MUST INCLUDE IT',
1262
- '⚠️ Simplifying or "cleaning up" the node structure - DO NOT DO THIS, use it exactly as returned',
1263
- 'Creating nodes from scratch instead of using get_node_schema output',
1264
- 'Removing or omitting inputAnchors or outputAnchors arrays',
1265
- 'Removing or omitting inputParams array',
1266
- 'Missing position, width, or height properties',
1267
- 'Missing the data.version property',
1268
- 'Missing data.baseClasses array',
1269
- 'Inventing edge IDs instead of following the exact format',
1270
- 'Not including data.id (must match the node id)',
1271
- 'Trying to be "helpful" by removing fields you think are unnecessary - NEVER DO THIS',
1373
+ '⚠️ RECONSTRUCTING nodes instead of using node_template - just copy it directly!',
1374
+ '⚠️ Removing inputParams, inputAnchors, or outputAnchors - NEVER remove these arrays',
1375
+ '⚠️ Changing node.id without updating ALL internal id fields',
1376
+ '⚠️ Removing credential from inputParams - this breaks authentication',
1377
+ 'Missing position, width, or height on nodes',
1378
+ 'Wrong edge format - use find_compatible_nodes to get correct handles',
1272
1379
  ],
1273
1380
  example_workflow: {
1274
- task: 'Build a RAG chatbot with Postgres instead of Pinecone',
1381
+ task: 'Build a chatbot with OpenAI and Buffer Memory',
1275
1382
  steps: [
1276
- '1. list_templates({ type: "chatflow" }) - find RAG-related templates',
1277
- '2. get_template("Conversational Retrieval QA Chain") - get a working RAG flow with full structure',
1278
- '3. get_node_schema("postgres") - understand the Postgres node inputs and structure',
1279
- '4. Copy the ENTIRE template structure',
1280
- '5. Find the vector store node in the template',
1281
- '6. Replace ONLY: data.name, data.label, data.type with postgres equivalents',
1282
- '7. Update data.inputs with Postgres-specific values (host, database, etc.)',
1283
- '8. Update the edges: change sourceHandle/targetHandle to match new node types',
1284
- '9. validate_flow({ nodes: [...], edges: [...] }) - MUST pass before creating',
1285
- '10. flowise_create_chatflow({ name: "...", nodes: [...], edges: [...] }) - deploy',
1383
+ '1. get_node_schema("chatOpenAI") - get ready-to-use node template',
1384
+ '2. get_node_schema("bufferMemory") - get memory node template',
1385
+ '3. get_node_schema("conversationChain") - get chain node template',
1386
+ '4. Copy each node_template into nodes array',
1387
+ '5. Set positions: chatOpenAI at (100,100), bufferMemory at (100,400), conversationChain at (500,200)',
1388
+ '6. Fill inputs: chatOpenAI_0.data.inputs.modelName = "gpt-4o-mini"',
1389
+ '7. Create edges connecting chatOpenAI→conversationChain and bufferMemory→conversationChain',
1390
+ '8. validate_flow({ nodes, edges })',
1391
+ '9. flowise_create_chatflow({ name: "My Chatbot", nodes, edges })',
1286
1392
  ],
1287
1393
  },
1288
1394
  what_you_can_safely_change: [
1289
- 'data.inputs values (the actual configuration)',
1290
- 'data.name, data.label, data.type (when swapping node types)',
1291
- 'data.baseClasses (must match the new node type)',
1292
- 'node id (but must update all references in edges)',
1293
- 'position x/y coordinates',
1395
+ 'node.id and node.data.id (but update ALL internal id fields)',
1396
+ 'node.position.x and node.position.y',
1397
+ 'node.data.inputs.* values',
1294
1398
  ],
1295
1399
  what_you_must_NOT_change: [
1296
- 'The overall node structure (all properties must exist)',
1297
- 'The credential field (if present in schema) - NEVER REMOVE THIS',
1298
- 'The data object structure (inputParams, inputAnchors, outputAnchors, inputs must all exist)',
1299
- 'The edge format (sourceHandle, targetHandle patterns)',
1400
+ 'The overall node structure from node_template',
1401
+ 'inputParams array - contains credential and configuration fields',
1402
+ 'inputAnchors array - defines connection points',
1403
+ 'outputAnchors array - defines what outputs the node provides',
1300
1404
  'The type: "customNode" on nodes',
1301
1405
  'The type: "buttonedge" on edges',
1302
- 'ANY field returned by get_node_schema - if it exists in the schema, it must exist in your output',
1303
1406
  ],
1304
1407
  }, null, 2);
1305
1408
  break;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,SAAuB,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,+CAA+C;AAC/C,SAAS,iBAAiB;IACxB,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC;KACzC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACpD,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;AAE5C,8BAA8B;AAC9B,SAAS,OAAO;IACd,MAAM,QAAQ,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;KACzC,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,OAAO,EAAE,CAAC;AAEV,4BAA4B;AAC5B,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;AAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;AAE1D,qBAAqB;AACrB,SAAS,gBAAgB;IACvB,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC;KAC/C,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;AAC5F,CAAC;AAED,2BAA2B;AAC3B,IAAI,EAAY,CAAC;AAEjB,wDAAwD;AACxD,SAAS,KAAK,CAAC,GAAW,EAAE,SAAgB,EAAE;IAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAU,EAAE,CAAC;IAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACZ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6BAA6B;AAC7B,SAAS,QAAQ,CAAC,GAAW,EAAE,SAAgB,EAAE;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,sCAAsC;AACtC,IAAI,SAAS,GAAU,EAAE,CAAC;AAE1B,SAAS,aAAa;IACpB,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC;KAC/C,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,iCAAiC;AACjC,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACrG,CAAC;AAED,wDAAwD;AACxD,SAAS,iBAAiB,CACxB,YAAoB,EACpB,cAAsB,EACtB,YAAoB,EACpB,cAAsB,EACtB,eAAuB;IAEvB,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,iDAAiD;QACjD,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,YAAY;YAClB,EAAE,EAAE,GAAG,YAAY,IAAI,YAAY,EAAE;YACrC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,GAAG,YAAY,WAAW,UAAU,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC;IAEpF,wBAAwB;IACxB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,WAAW,EAAE,IAAI,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,GAAG,YAAY,UAAU,eAAe,IAAI,UAAU,EAAE,CAAC;IAE9E,8EAA8E;IAC9E,MAAM,MAAM,GAAG,GAAG,YAAY,IAAI,YAAY,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;IAEjF,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,YAAY;QACZ,MAAM,EAAE,YAAY;QACpB,YAAY;QACZ,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,wDAAwD;AACxD,SAAS,iBAAiB,CACxB,EAAU,EACV,QAAgB,EAChB,QAAkC,EAClC,cAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,yBAAyB;QACzB,OAAO;YACL,EAAE;YACF,QAAQ;YACR,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE;gBACJ,EAAE;gBACF,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE;gBACf,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,EAAE;aAClB;SACF,CAAC;IACJ,CAAC;IAED,kGAAkG;IAClG,MAAM,WAAW,GAAU,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAU,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,qDAAqD;IACrD,sGAAsG;IACtG,wGAAwG;IACxG,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAEhJ,mFAAmF;IACnF,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,oBAAoB;YACxD,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,YAAY;YAC9C,IAAI,EAAE,YAAY;YAClB,eAAe,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE;YAC1D,EAAE,EAAE,GAAG,EAAE,8BAA8B;SACxC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,QAAQ,EAAE,CAAC;YACb,8BAA8B;YAC9B,YAAY,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;gBACjC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK;gBACzB,EAAE,EAAE,GAAG,EAAE,UAAU,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;aAC9C,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;gBACjC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;gBACpC,EAAE,EAAE,GAAG,EAAE,UAAU,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;aAC9C,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;gBACxD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,aAAa,GAAU,CAAC;YAC5B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;oBACR,EAAE,EAAE,GAAG,EAAE,WAAW,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAE;oBAChD,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI;oBACtC,IAAI,EAAE,SAAS;iBAChB,CAAC;YACF,OAAO,EAAE,QAAQ,CAAC,IAAI;SACvB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAQ;QAChB,EAAE;QACF,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ;QACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAG,iCAAiC;QACxE,WAAW;QACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,WAAW;QACX,YAAY;QACZ,MAAM;QACN,aAAa;QACb,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;QAClC,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,OAAO;QACL,EAAE;QACF,QAAQ;QACR,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC5E,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED,8BAA8B;AAE9B,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,SAAiB,KAAK,EACtB,IAAU;IAEV,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,QAAQ,EAAE,CAAC;IAEtE,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,eAAe,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM;QACN,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,oBAAoB;AACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,eAAe;CACzB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,2BAA2B;AAE3B,MAAM,KAAK,GAAG;IACZ,cAAc;IACd;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,8GAA8G;QAC3H,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IACD,kDAAkD;IAClD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mJAAmJ;QAChK,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IACD,uBAAuB;IACvB;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+GAA+G;QAC5H,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oEAAoE;iBAClF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6CAA6C;iBAC3D;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sJAAsJ;QACnK,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qEAAqE;iBACnF;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;iBAC1E;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,oGAAoG;QACjH,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC;oBACtD,WAAW,EAAE,yBAAyB;iBACvC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qGAAqG;QAClH,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yEAAyE;iBACvF;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,6HAA6H;QAC1I,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;oBAC3B,WAAW,EAAE,oEAAoE;iBAClF;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4FAA4F;QACzG,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,oDAAoD;oBACjE,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,8CAA8C;oBAC3D,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;SAC7B;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,uGAAuG;QACpH,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,gBAAgB;wBAChB,aAAa;wBACb,sBAAsB;wBACtB,aAAa;wBACb,WAAW;wBACX,aAAa;qBACd;oBACD,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;iBAC1E;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,oBAAoB;IACpB;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,sHAAsH;QACnI,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iBAAiB;iBAC/B;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,8GAA8G;QAC3H,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uBAAuB;iBACrC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;oBAC1D,WAAW,EAAE,+FAA+F;iBAC7G;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,uBAAuB;oBACpC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,uBAAuB;oBACpC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,gDAAgD;iBAC9D;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;SACrC;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;iBACpD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,+BAA+B;oBAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,+BAA+B;oBAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yCAAyC;iBACvD;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,8GAA8G;QAC3H,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC;AAEF,+BAA+B;AAE/B,SAAS,cAAc;IACrB,MAAM,UAAU,GAAG,KAAK,CAAC;;;;GAIxB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,QAAiB,EAAE,MAAe;IACnD,IAAI,GAAG,GAAG,4DAA4D,CAAC;IACvE,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,IAAI,MAAM,GAAG,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,IAAI,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,GAAG,IAAI,2BAA2B,CAAC;IAEnC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,oCAAoC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC;;;;;GAKpB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,8EAA8E;IAC9E,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC;IAE3B,gEAAgE;IAChE,+FAA+F;IAC/F,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAEhJ,MAAM,WAAW,GAAU,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAU,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAwB,EAAE,CAAC;IAE1C,6CAA6C;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,oBAAoB;YAC/C,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,YAAY;YACrC,IAAI,EAAE,YAAY;YAClB,eAAe,EAAE,UAAU,CAAC,eAAe,IAAI,EAAE;YACjD,EAAE,EAAE,GAAG,MAAM,8BAA8B;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,OAAO,EAAE,CAAC;YACZ,sDAAsD;YACtD,MAAM,KAAK,GAAQ;gBACjB,KAAK,EAAE,KAAK,CAAC,WAAW;gBACxB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,GAAG,MAAM,UAAU,SAAS,IAAI,SAAS,EAAE;aAChD,CAAC;YAEF,IAAI,KAAK,CAAC,WAAW;gBAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YAC7D,IAAI,KAAK,CAAC,QAAQ;gBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1C,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI;gBAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC;YACtE,IAAI,KAAK,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,iBAAiB;gBAAE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE3D,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,MAAM,MAAM,GAAQ;gBAClB,KAAK,EAAE,KAAK,CAAC,WAAW;gBACxB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,GAAG,MAAM,UAAU,SAAS,IAAI,SAAS,EAAE;aAChD,CAAC;YAEF,IAAI,KAAK,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC3C,IAAI,KAAK,CAAC,WAAW;gBAAE,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YAE9D,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,CAAC;YACrB,EAAE,EAAE,GAAG,MAAM,WAAW,IAAI,IAAI,SAAS,EAAE;YAC3C,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAE,sCAAsC;SAC9E,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,YAAY,GAAG;QACnB,EAAE,EAAE,MAAM;QACV,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACxB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC5E,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,KAAK;SAChB;QACD,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,aAAa,EAAE,YAAY;QAC3B,KAAK,EAAE;YACL,YAAY,EAAE;gBACZ,8EAA8E;gBAC9E,2BAA2B;gBAC3B,oFAAoF;gBACpF,mEAAmE;gBACnE,4FAA4F;gBAC5F,gFAAgF;gBAChF,4BAA4B;gBAC5B,6BAA6B;gBAC7B,8BAA8B;gBAC9B,kEAAkE;aACnE;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,GAAG,IAAI,WAAW;gBAC3B,aAAa,EAAE,GAAG,IAAI,yCAAyC;gBAC/D,cAAc,EAAE,GAAG,IAAI,2CAA2C;gBAClE,eAAe,EAAE,GAAG,IAAI,oBAAoB,IAAI,IAAI,SAAS,EAAE;aAChE;SACF;KACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,WAAmB,EAAE,QAAgB,EAAE;IAC1D,MAAM,UAAU,GAAG,IAAI,WAAW,GAAG,CAAC;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC;;;;;GAKrB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5D,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,aAAa,CAAC,IAAa,EAAE,MAAe;IACnD,IAAI,GAAG,GAAG,yDAAyD,CAAC;IACpE,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,IAAI,EAAE,CAAC;QACT,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,MAAM,GAAG,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,IAAI,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,GAAG,IAAI,sBAAsB,CAAC;IAE9B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAErC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,GAAG,CAAC;QACJ,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;KACnD,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,wCAAwC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,IAAI,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,GAAG,QAAQ;QACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;QAChE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;KAClC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,YAAoB,QAAQ;IACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,+CAA+C,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,QAAQ,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAa,CAAC;IAEtE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,wDAAwD,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAEhF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAa,CAAC;YACvE,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAC7C,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CACnC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAErF,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAY,EAAE,KAAY;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,oCAAoC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,cAAc,QAAQ,kBAAkB,CAAC,CAAC;QACxD,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,6CAA6C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,6CAA6C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;KACT,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe,EAAE,SAAkB;IAC/D,MAAM,KAAK,GAAG,SAAS,IAAI,YAAY,CAAC;IAExC,gHAAgH;IAChH,MAAM,UAAU,GAIX;QACH,cAAc,EAAE;YACd,WAAW,EAAE,6BAA6B;YAC1C,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACtE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;aAC3E;YACD,WAAW,EAAE;gBACX,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC1H,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE;aAClI;SACF;QACD,WAAW,EAAE;YACX,WAAW,EAAE,wCAAwC;YACrD,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAC9E,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACvE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjF,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACtE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;aACzF;YACD,WAAW,EAAE;gBACX,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,gCAAgC,EAAE,WAAW,EAAE,OAAO,EAAE;gBACvI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE;gBAC1I,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAAE;gBAC9I,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,gCAAgC,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBACvK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,gCAAgC,EAAE,WAAW,EAAE,QAAQ,EAAE;aAC/I;SACF;QACD,oBAAoB,EAAE;YACpB,WAAW,EAAE,6BAA6B;YAC1C,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACtE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAClE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAC/D,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;aAC7E;YACD,WAAW,EAAE;gBACX,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC5H,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,QAAQ,EAAE;gBACnI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC9H,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE;aAC5H;SACF;QACD,WAAW,EAAE;YACX,WAAW,EAAE,6BAA6B;YAC1C,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAC9E,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACpE,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAC9F,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChF,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;aAC1E;YACD,WAAW,EAAE;gBACX,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE;gBACzH,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE;gBACnJ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,gCAAgC,EAAE,WAAW,EAAE,UAAU,EAAE;gBACrJ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,gCAAgC,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE;gBACjK,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,sBAAsB,EAAE;aACzJ;SACF;QACD,SAAS,EAAE;YACT,WAAW,EAAE,0BAA0B;YACvC,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAClE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACnE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;aAC7E;YACD,WAAW,EAAE;gBACX,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC5H,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC9H,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE;aAChI;SACF;QACD,WAAW,EAAE;YACX,WAAW,EAAE,kCAAkC;YAC/C,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACxE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;aACjE;YACD,WAAW,EAAE;gBACX,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE;gBACxH,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;gBAC7H,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;aAC9H;SACF;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,qBAAqB,OAAO,gBAAgB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,gCAAgC;IAChC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpG,sDAAsD;IACtD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1C,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CACrF,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,KAAK;QACL,KAAK;KACN,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,sCAAsC;AAEtC,KAAK,UAAU,qBAAqB;IAClC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,8FAA8F;SACtG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,eAAe;YACpB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAExD,wCAAwC;IACxC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;QAC1C,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,WAAW,EAAE,EAAE,CAAC,WAAW;KAC5B,CAAC,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAAU;IAC1C,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,IAAY,EACZ,KAAY,EACZ,KAAY,EACZ,OAAe,UAAU,EACzB,WAAoB,KAAK;IAEzB,MAAM,QAAQ,GAAG;QACf,IAAI;QACJ,IAAI;QACJ,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1C,QAAQ;KACT,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,IAAI;QACb,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,aAAa,IAAI,yBAAyB;QACnD,GAAG,EAAE,GAAG,eAAe,cAAc,MAAM,CAAC,EAAE,EAAE;KACjD,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,EAAU,EACV,IAAa,EACb,KAAa,EACb,KAAa,EACb,QAAkB;IAElB,MAAM,UAAU,GAAQ,EAAE,CAAC;IAE3B,IAAI,IAAI;QAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;IACjC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;QACnB,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,IAAI;QACb,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,gCAAgC;KAC1C,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,EAAU;IAC7C,MAAM,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,YAAY,EAAE,wBAAwB;KAChD,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,2BAA2B;AAE3B,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,KAAK;CACb,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,IAAI,MAAc,CAAC;QAEnB,QAAQ,IAAI,EAAE,CAAC;YACb,cAAc;YACd,KAAK,aAAa;gBAChB,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;oBACtB,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,eAAe;oBACxB,WAAW,EAAE,uEAAuE;iBACrF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACZ,MAAM;YAER,gCAAgC;YAChC,KAAK,iBAAiB;gBACpB,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;oBACtB,KAAK,EAAE,kCAAkC;oBACzC,SAAS,EAAE,+CAA+C;oBAE1D,+DAA+D;oBAC/D,oEAAoE;oBACpE,+DAA+D;oBAC/D,cAAc,EAAE;wBACd,gBAAgB,EAAE,kGAAkG;wBAEpH,uBAAuB,EAAE;4BACvB,IAAI,EAAE,6EAA6E;4BACnF,cAAc,EAAE;gCACd,mGAAmG;gCACnG,8DAA8D;gCAC9D,+DAA+D;6BAChE;4BACD,kBAAkB,EAAE;gCAClB,0BAA0B;gCAC1B,gEAAgE;gCAChE,sEAAsE;6BACvE;yBACF;wBAED,2CAA2C,EAAE;4BAC3C,IAAI,EAAE,wEAAwE;4BAC9E,gBAAgB,EAAE;gCAChB,cAAc;gCACd,+DAA+D;gCAC/D,gEAAgE;gCAChE,kFAAkF;6BACnF;4BACD,OAAO,EAAE,qEAAqE;yBAC/E;wBAED,iCAAiC,EAAE;4BACjC,IAAI,EAAE,yDAAyD;4BAC/D,WAAW,EAAE,gFAAgF;yBAC9F;qBACF;oBAED,QAAQ,EAAE;wBACR,mFAAmF;wBACnF,0DAA0D;wBAC1D,2EAA2E;qBAC5E;oBACD,QAAQ,EAAE;wBACR,+FAA+F;wBAC/F,sDAAsD;wBACtD,yFAAyF;wBACzF,4DAA4D;wBAC5D,4CAA4C;wBAC5C,8DAA8D;wBAC9D,2CAA2C;wBAC3C,2CAA2C;qBAC5C;oBACD,cAAc,EAAE;wBACd,6EAA6E;wBAC7E,wFAAwF;wBACxF,2EAA2E;wBAC3E,4EAA4E;wBAC5E,+DAA+D;qBAChE;oBACD,eAAe,EAAE;wBACf,WAAW,EAAE,gEAAgE;wBAC7E,UAAU,EAAE;4BACV,EAAE,EAAE;gCACF,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,oBAAoB;gCAC5B,OAAO,EAAE,cAAc;gCACvB,WAAW,EAAE,qDAAqD;6BACnE;4BACD,QAAQ,EAAE;gCACR,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;oCACnF,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;iCAClF;gCACD,WAAW,EAAE,gDAAgD;6BAC9D;4BACD,IAAI,EAAE;gCACJ,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,YAAY;gCACnB,WAAW,EAAE,wCAAwC;6BACtD;4BACD,KAAK,EAAE;gCACL,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,GAAG;gCACZ,WAAW,EAAE,wCAAwC;6BACtD;4BACD,MAAM,EAAE;gCACN,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iEAAiE;6BAC/E;4BACD,IAAI,EAAE;gCACJ,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,6DAA6D;6BAC3E;4BACD,gBAAgB,EAAE;gCAChB,QAAQ,EAAE,KAAK;gCACf,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oEAAoE;6BAClF;4BACD,QAAQ,EAAE;gCACR,QAAQ,EAAE,KAAK;gCACf,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,2CAA2C;6BACzD;4BACD,QAAQ,EAAE;gCACR,QAAQ,EAAE,KAAK;gCACf,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,0CAA0C;6BACxD;yBACF;wBACD,UAAU,EAAE;4BACV,EAAE,EAAE;gCACF,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uCAAuC;6BACrD;4BACD,KAAK,EAAE;gCACL,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,YAAY;gCACrB,WAAW,EAAE,mCAAmC;6BACjD;4BACD,IAAI,EAAE;gCACJ,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,YAAY;gCACrB,WAAW,EAAE,mEAAmE;6BACjF;4BACD,IAAI,EAAE;gCACJ,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,YAAY;gCACrB,WAAW,EAAE,mCAAmC;6BACjD;4BACD,OAAO,EAAE;gCACP,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,+EAA+E;6BAC7F;4BACD,QAAQ,EAAE;gCACR,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,aAAa;gCACtB,WAAW,EAAE,yDAAyD;6BACvE;4BACD,WAAW,EAAE;gCACX,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,kBAAkB;gCACxB,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC;gCACnD,WAAW,EAAE,6EAA6E;6BAC3F;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,8EAA8E;gCACpF,WAAW,EAAE,4HAA4H;gCACzI,sBAAsB,EAAE;oCACtB,KAAK,EAAE,oBAAoB;oCAC3B,IAAI,EAAE,YAAY;oCAClB,IAAI,EAAE,YAAY;oCAClB,eAAe,EAAE,CAAC,WAAW,CAAC;oCAC9B,EAAE,EAAE,0CAA0C;iCAC/C;6BACF;4BACD,WAAW,EAAE;gCACX,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,OAAO;gCACb,WAAW,EAAE,sEAAsE;gCACnF,eAAe,EAAE;oCACf,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE;oCACvD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,8BAA8B,EAAE;oCACrE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,8DAA8D,EAAE;oCACrG,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,oCAAoC,EAAE;oCAC/E,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,oCAAoC,EAAE;oCAChF,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE;oCACtE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gCAAgC,EAAE;oCACxE,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE;oCACjE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kDAAkD,EAAE;oCAC7F,gBAAgB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,mDAAmD,EAAE;iCACxG;6BACF;4BACD,YAAY,EAAE;gCACZ,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,OAAO;gCACb,WAAW,EAAE,0EAA0E;gCACvF,eAAe,EAAE;oCACf,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,8BAA8B,EAAE;oCACtE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE;oCACxE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qDAAqD,EAAE;oCAC5F,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qCAAqC,EAAE;oCACjF,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,uCAAuC,EAAE;oCAC/E,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,uCAAuC,EAAE;iCAC9E;6BACF;4BACD,aAAa,EAAE;gCACb,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,OAAO;gCACb,WAAW,EAAE,yEAAyE;gCACtF,eAAe,EAAE;oCACf,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,4CAA4C,EAAE,WAAW,EAAE,yBAAyB,EAAE;oCACpH,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE;oCACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE;oCACvD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0DAA0D,EAAE;iCAClG;6BACF;4BACD,MAAM,EAAE;gCACN,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,+DAA+D;gCAC5E,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE;6BAClD;4BACD,OAAO,EAAE;gCACP,QAAQ,EAAE,KAAK;gCACf,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,0DAA0D;6BACxE;yBACF;qBACF;oBACD,eAAe,EAAE;wBACf,WAAW,EAAE,gEAAgE;wBAC7E,UAAU,EAAE;4BACV,MAAM,EAAE;gCACN,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,sDAAsD;gCACnE,OAAO,EAAE,cAAc;6BACxB;4BACD,YAAY,EAAE;gCACZ,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,wDAAwD;gCAChE,OAAO,EAAE,iEAAiE;gCAC1E,WAAW,EAAE,0EAA0E;6BACxF;4BACD,MAAM,EAAE;gCACN,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oDAAoD;gCACjE,OAAO,EAAE,qBAAqB;6BAC/B;4BACD,YAAY,EAAE;gCACZ,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,oDAAoD;gCAC5D,OAAO,EAAE,+CAA+C;gCACxD,WAAW,EAAE,+FAA+F;6BAC7G;4BACD,IAAI,EAAE;gCACJ,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,YAAY;gCACnB,WAAW,EAAE,8CAA8C;6BAC5D;4BACD,EAAE,EAAE;gCACF,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,iDAAiD;gCACzD,OAAO,EAAE,gJAAgJ;gCACzJ,WAAW,EAAE,sFAAsF;6BACpG;4BACD,IAAI,EAAE;gCACJ,QAAQ,EAAE,KAAK;gCACf,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uEAAuE;6BACrF;4BACD,KAAK,EAAE;gCACL,QAAQ,EAAE,KAAK;gCACf,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uDAAuD;6BACrE;4BACD,QAAQ,EAAE;gCACR,QAAQ,EAAE,KAAK;gCACf,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,0CAA0C;6BACxD;yBACF;wBACD,gBAAgB,EAAE;4BAChB,WAAW,EAAE,6BAA6B;4BAC1C,KAAK,EAAE;gCACL,oFAAoF;gCACpF,2GAA2G;gCAC3G,qEAAqE;gCACrE,6DAA6D;gCAC7D,6EAA6E;6BAC9E;yBACF;qBACF;oBACD,eAAe,EAAE;wBACf,iFAAiF;wBACjF,qFAAqF;wBACrF,6DAA6D;wBAC7D,sEAAsE;wBACtE,6CAA6C;wBAC7C,sEAAsE;qBACvE;oBACD,gBAAgB,EAAE;wBAChB,IAAI,EAAE,+CAA+C;wBACrD,KAAK,EAAE;4BACL,mEAAmE;4BACnE,+DAA+D;4BAC/D,mEAAmE;4BACnE,6CAA6C;4BAC7C,sGAAsG;4BACtG,oEAAoE;4BACpE,4FAA4F;4BAC5F,oCAAoC;4BACpC,kEAAkE;yBACnE;qBACF;oBACD,0BAA0B,EAAE;wBAC1B,8DAA8D;wBAC9D,qCAAqC;wBACrC,2BAA2B;qBAC5B;oBACD,wBAAwB,EAAE;wBACxB,+CAA+C;wBAC/C,kEAAkE;wBAClE,gDAAgD;wBAChD,8DAA8D;wBAC9D,iCAAiC;wBACjC,iCAAiC;qBAClC;iBACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACZ,MAAM;YAER,uBAAuB;YACvB,KAAK,iBAAiB;gBACpB,MAAM,GAAG,cAAc,EAAE,CAAC;gBAC1B,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,QAAkB,EAAE,IAAI,EAAE,MAAgB,CAAC,CAAC;gBACrE,MAAM;YACR,KAAK,iBAAiB;gBACpB,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,IAAc,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,KAAe,EAAE,IAAI,EAAE,KAAe,CAAC,CAAC;gBACnE,MAAM;YACR,KAAK,gBAAgB;gBACnB,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,IAAc,EAAE,IAAI,EAAE,MAAgB,CAAC,CAAC;gBACrE,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,IAAc,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,uBAAuB;gBAC1B,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,SAAmB,EAAE,IAAI,EAAE,SAAmB,CAAC,CAAC;gBACnF,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,KAAc,EAAE,IAAI,EAAE,KAAc,CAAC,CAAC;gBAClE,MAAM;YACR,KAAK,wBAAwB;gBAC3B,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAkB,EAAE,IAAI,EAAE,UAAoB,CAAC,CAAC;gBACpF,MAAM;YAER,oBAAoB;YACpB,KAAK,yBAAyB;gBAC5B,MAAM,GAAG,MAAM,qBAAqB,EAAE,CAAC;gBACvC,MAAM;YACR,KAAK,wBAAwB;gBAC3B,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;gBACtC,MAAM;YACR,KAAK,sBAAsB;gBACzB,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAY,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,MAAM,GAAG,MAAM,qBAAqB,CAClC,IAAI,EAAE,IAAc,EACpB,IAAI,EAAE,KAAc,EACpB,IAAI,EAAE,KAAc,EACnB,IAAI,EAAE,IAAe,IAAI,UAAU,EACpC,IAAI,EAAE,QAAmB,CAC1B,CAAC;gBACF,MAAM;YACR,KAAK,yBAAyB;gBAC5B,MAAM,GAAG,MAAM,qBAAqB,CAClC,IAAI,EAAE,EAAY,EAClB,IAAI,EAAE,IAAc,EACpB,IAAI,EAAE,KAAc,EACpB,IAAI,EAAE,KAAc,EACpB,IAAI,EAAE,QAAmB,CAC1B,CAAC;gBACF,MAAM;YACR,KAAK,yBAAyB;gBAC5B,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,EAAY,CAAC,CAAC;gBACzD,MAAM;YAER;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,oBAAoB;AAEpB,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAChE,SAAS,EAAE;QACT;YACE,GAAG,EAAE,sBAAsB;YAC3B,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,qCAAqC;SACnD;QACD;YACE,GAAG,EAAE,iBAAiB;YACtB,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,gCAAgC;SAC9C;QACD;YACE,GAAG,EAAE,qBAAqB;YAC1B,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,2BAA2B;SACzC;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACpE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAE/B,IAAI,OAAe,CAAC;IAEpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,sBAAsB;YACzB,OAAO,GAAG,cAAc,EAAE,CAAC;YAC3B,MAAM;QACR,KAAK,iBAAiB;YACpB,OAAO,GAAG,SAAS,EAAE,CAAC;YACtB,MAAM;QACR,KAAK,qBAAqB;YACxB,OAAO,GAAG,aAAa,EAAE,CAAC;YAC1B,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB;AAElB,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,EAAE;QACP;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,uCAAuC;YACpD,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,6BAA6B;oBAC1C,QAAQ,EAAE,IAAI;iBACf;aACF;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,yCAAyC;YACtD,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,0BAA0B;oBACvC,QAAQ,EAAE,IAAI;iBACf;aACF;SACF;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACjE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0CAA0C,IAAI,EAAE,WAAW;;;;;;;qEAOR;qBAC1D;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,4CAA4C,IAAI,EAAE,WAAW;;;;;;;qEAOV;qBAC1D;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,uBAAuB;AAEvB,KAAK,UAAU,IAAI;IACjB,sBAAsB;IACtB,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhC,sCAAsC;IACtC,aAAa,EAAE,CAAC;IAEhB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,sBAAsB,SAAS,CAAC,MAAM,QAAQ,CAAC,CAAC;IAE9D,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,eAAe,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ds-mcp-flowise",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "MCP server for building and managing Flowise chatflows and agentflows. Provides AI assistants with comprehensive knowledge of Flowise nodes, tools for workflow creation, and direct API integration to deploy chatflows.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
package/src/index.ts CHANGED
@@ -230,7 +230,20 @@ function createFlowiseNode(
230
230
  const inputs: Record<string, any> = {};
231
231
 
232
232
  // Types that are parameters (not connection anchors)
233
- const paramTypes = ['string', 'number', 'boolean', 'password', 'options', 'asyncOptions', 'json', 'code', 'file'];
233
+ // IMPORTANT: 'credential' must be in paramTypes - credentials appear in inputParams, not inputAnchors
234
+ // IMPORTANT: 'multiOptions' must be in paramTypes - it's a multi-select UI field, not a node connection
235
+ const paramTypes = ['string', 'number', 'boolean', 'password', 'options', 'multiOptions', 'asyncOptions', 'json', 'code', 'file', 'credential'];
236
+
237
+ // Handle credential field if it exists (defined separately from inputs in Flowise)
238
+ if (nodeInfo.credential) {
239
+ inputParams.push({
240
+ label: nodeInfo.credential.label || 'Connect Credential',
241
+ name: nodeInfo.credential.name || 'credential',
242
+ type: 'credential',
243
+ credentialNames: nodeInfo.credential.credentialNames || [],
244
+ id: `${id}-input-credential-credential`
245
+ });
246
+ }
234
247
 
235
248
  for (const input of (nodeInfo.inputs || [])) {
236
249
  const isAnchor = !paramTypes.includes(input.type);
@@ -709,23 +722,130 @@ function getNodeSchema(name: string): string {
709
722
  ORDER BY additional_params, input_label
710
723
  `, [name]);
711
724
 
712
- const schema = {
713
- ...node,
714
- base_classes: JSON.parse(node.base_classes || '[]'),
715
- credential: node.credential ? JSON.parse(node.credential) : null,
716
- inputs: inputs.map((i: any) => ({
717
- name: i.input_name,
718
- label: i.input_label,
719
- type: i.input_type,
720
- description: i.description,
721
- optional: Boolean(i.optional),
722
- default: i.default_value,
723
- options: i.options ? JSON.parse(i.options) : null,
724
- additionalParams: Boolean(i.additional_params),
725
- })),
725
+ const baseClasses = JSON.parse(node.base_classes || '[]');
726
+ const credential = node.credential ? JSON.parse(node.credential) : null;
727
+
728
+ // Use a placeholder node ID - AI should replace "0" with their desired suffix
729
+ const nodeId = `${name}_0`;
730
+
731
+ // Types that are parameters (UI fields), not connection anchors
732
+ // IMPORTANT: 'multiOptions' must be here - it's a multi-select UI field, not a node connection
733
+ const paramTypes = ['string', 'number', 'boolean', 'password', 'options', 'multiOptions', 'asyncOptions', 'json', 'code', 'file', 'credential'];
734
+
735
+ const inputParams: any[] = [];
736
+ const inputAnchors: any[] = [];
737
+ const inputsObj: Record<string, any> = {};
738
+
739
+ // Add credential to inputParams if it exists
740
+ if (credential) {
741
+ inputParams.push({
742
+ label: credential.label || 'Connect Credential',
743
+ name: credential.name || 'credential',
744
+ type: 'credential',
745
+ credentialNames: credential.credentialNames || [],
746
+ id: `${nodeId}-input-credential-credential`
747
+ });
748
+ }
749
+
750
+ // Process each input field
751
+ for (const input of inputs) {
752
+ const inputType = input.input_type;
753
+ const inputName = input.input_name;
754
+ const isParam = paramTypes.includes(inputType);
755
+
756
+ if (isParam) {
757
+ // This is a UI parameter (text field, dropdown, etc.)
758
+ const param: any = {
759
+ label: input.input_label,
760
+ name: inputName,
761
+ type: inputType,
762
+ id: `${nodeId}-input-${inputName}-${inputType}`
763
+ };
764
+
765
+ if (input.description) param.description = input.description;
766
+ if (input.optional) param.optional = true;
767
+ if (input.default_value !== null) param.default = input.default_value;
768
+ if (input.options) param.options = JSON.parse(input.options);
769
+ if (input.additional_params) param.additionalParams = true;
770
+
771
+ inputParams.push(param);
772
+ inputsObj[inputName] = input.default_value !== null ? input.default_value : '';
773
+ } else {
774
+ // This is a connection anchor (connects to another node's output)
775
+ const anchor: any = {
776
+ label: input.input_label,
777
+ name: inputName,
778
+ type: inputType,
779
+ id: `${nodeId}-input-${inputName}-${inputType}`
780
+ };
781
+
782
+ if (input.optional) anchor.optional = true;
783
+ if (input.description) anchor.description = input.description;
784
+
785
+ inputAnchors.push(anchor);
786
+ inputsObj[inputName] = '';
787
+ }
788
+ }
789
+
790
+ // Build outputAnchors
791
+ const typeChain = baseClasses.join('|');
792
+ const outputAnchors = [{
793
+ id: `${nodeId}-output-${name}-${typeChain}`,
794
+ name: name,
795
+ label: node.label,
796
+ description: node.description,
797
+ type: typeChain.replace(/\|/g, ' | ') // Format for display: "Type1 | Type2"
798
+ }];
799
+
800
+ // Return a ready-to-use node template
801
+ const nodeTemplate = {
802
+ id: nodeId,
803
+ position: { x: 0, y: 0 },
804
+ type: 'customNode',
805
+ width: 300,
806
+ height: Math.max(300, 150 + (inputParams.length + inputAnchors.length) * 50),
807
+ data: {
808
+ id: nodeId,
809
+ label: node.label,
810
+ version: node.version,
811
+ name: name,
812
+ type: node.type,
813
+ baseClasses: baseClasses,
814
+ category: node.category,
815
+ description: node.description,
816
+ inputParams: inputParams,
817
+ inputAnchors: inputAnchors,
818
+ inputs: inputsObj,
819
+ outputAnchors: outputAnchors,
820
+ outputs: {},
821
+ selected: false
822
+ },
823
+ selected: false
726
824
  };
727
825
 
728
- return JSON.stringify(schema, null, 2);
826
+ return JSON.stringify({
827
+ node_template: nodeTemplate,
828
+ usage: {
829
+ instructions: [
830
+ 'This is a READY-TO-USE node template. Copy it exactly into your nodes array.',
831
+ 'ONLY modify these fields:',
832
+ ' 1. node.id and node.data.id - change suffix (e.g., chatOpenAI_0 -> chatOpenAI_1)',
833
+ ' 2. node.position.x and node.position.y - set canvas coordinates',
834
+ ' 3. node.data.inputs.* - fill in your actual values (leave empty string for unconfigured)',
835
+ 'After changing node.id, you MUST update ALL id fields that contain the old ID:',
836
+ ' - Every inputParams[].id',
837
+ ' - Every inputAnchors[].id',
838
+ ' - Every outputAnchors[].id',
839
+ 'DO NOT remove any fields. DO NOT add fields. DO NOT restructure.',
840
+ ],
841
+ id_format: {
842
+ node_id: `${name}_<number>`,
843
+ inputParam_id: `${name}_<number>-input-<paramName>-<paramType>`,
844
+ inputAnchor_id: `${name}_<number>-input-<anchorName>-<anchorType>`,
845
+ outputAnchor_id: `${name}_<number>-output-${name}-${typeChain}`,
846
+ }
847
+ }
848
+ }, null, 2);
729
849
  }
730
850
 
731
851
  function searchNodes(searchQuery: string, limit: number = 10): string {
@@ -1121,64 +1241,63 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1121
1241
  important: 'READ THIS COMPLETELY BEFORE USING OTHER TOOLS',
1122
1242
 
1123
1243
  // ============================================================
1124
- // ABSOLUTE RULES - VIOLATING THESE WILL BREAK THE FLOW
1244
+ // SIMPLE RULES - get_node_schema now returns READY-TO-USE templates
1125
1245
  // ============================================================
1126
1246
  ABSOLUTE_RULES: {
1127
- _READ_THIS_FIRST: '⚠️⚠️⚠️ THESE RULES ARE NON-NEGOTIABLE. VIOLATING THEM CREATES BROKEN, UNUSABLE FLOWS. ⚠️⚠️⚠️',
1128
-
1129
- RULE_1_NODE_STRUCTURE_IS_SACRED: {
1130
- rule: 'NEVER modify, simplify, reorganize, or omit ANY part of a node structure from get_node_schema',
1131
- explanation: 'The node schema from the database is the EXACT structure Flowise expects. It was extracted directly from Flowise source code. Every field exists for a reason.',
1132
- violation_example: 'Omitting the credential field because you think it is optional - THIS BREAKS AUTHENTICATION',
1133
- correct_behavior: 'Copy the ENTIRE node structure exactly. If you do not have a value for a field, leave it empty/null - but the field MUST EXIST.',
1134
- },
1135
-
1136
- RULE_2_CREDENTIAL_IS_REQUIRED_WHEN_PRESENT: {
1137
- rule: 'If get_node_schema returns a "credential" field for a node, that field is REQUIRED in your output',
1138
- explanation: 'The credential field is how users configure authentication (API keys, OAuth, etc). Without it, the node CANNOT be configured and is USELESS.',
1139
- violation_example: 'Creating a Google Calendar node without the credential field - user cannot connect their Google account',
1140
- correct_behavior: 'Include the credential object exactly as returned by get_node_schema. The user will configure the actual credential in the Flowise UI.',
1247
+ _READ_THIS_FIRST: '⚠️ get_node_schema returns a READY-TO-USE node_template. Copy it directly into your nodes array.',
1248
+
1249
+ RULE_1_USE_THE_TEMPLATE: {
1250
+ rule: 'get_node_schema returns a node_template object. Use it EXACTLY as provided.',
1251
+ what_to_change: [
1252
+ 'node.id and node.data.id - change the suffix number if needed (e.g., chatOpenAI_0 chatOpenAI_1)',
1253
+ 'node.position.x and node.position.y - set canvas coordinates',
1254
+ 'node.data.inputs.* - fill in your actual configuration values',
1255
+ ],
1256
+ what_NOT_to_change: [
1257
+ 'DO NOT remove any fields',
1258
+ 'DO NOT restructure inputParams, inputAnchors, or outputAnchors',
1259
+ 'DO NOT omit credential fields - they are required for authentication',
1260
+ ],
1141
1261
  },
1142
1262
 
1143
- RULE_3_ONLY_FILL_VALUES_YOU_KNOW: {
1144
- rule: 'Only populate the "inputs" object with values you actually have. Leave everything else as empty string or default.',
1145
- explanation: 'Your job is to create the node STRUCTURE. The user will configure specific values in the Flowise UI.',
1146
- violation_example: 'Removing input fields you do not have values for',
1147
- correct_behavior: 'Keep ALL input fields. Set known values, leave unknown values as empty string "".',
1263
+ RULE_2_UPDATE_ALL_IDS_WHEN_CHANGING_NODE_ID: {
1264
+ rule: 'If you change node.id, you MUST update ALL internal id fields to match',
1265
+ fields_to_update: [
1266
+ 'node.data.id',
1267
+ 'Every inputParams[].id (format: {nodeId}-input-{name}-{type})',
1268
+ 'Every inputAnchors[].id (format: {nodeId}-input-{name}-{type})',
1269
+ 'Every outputAnchors[].id (format: {nodeId}-output-{name}-{types|joined|by|pipe})',
1270
+ ],
1271
+ example: 'Changing chatOpenAI_0 to chatOpenAI_1 means updating ~20+ id fields',
1148
1272
  },
1149
1273
 
1150
- RULE_4_DO_NOT_IMPROVE_OR_SIMPLIFY: {
1151
- rule: 'Do NOT try to "improve", "clean up", "simplify", or "optimize" the node structure',
1152
- explanation: 'You are not smarter than the Flowise source code. The structure is exactly what Flowise needs.',
1153
- violation_example: 'Removing "unnecessary" fields, combining fields, renaming properties',
1154
- correct_behavior: 'Use the structure VERBATIM. Your only job is to fill in values, not redesign the node.',
1274
+ RULE_3_LEAVE_UNKNOWN_VALUES_EMPTY: {
1275
+ rule: 'If you do not know a value, leave it as empty string ""',
1276
+ explanation: 'Users will configure values in the Flowise UI. Do not guess or make up values.',
1155
1277
  },
1156
1278
  },
1157
1279
 
1158
1280
  warnings: [
1159
- 'DANGER: Sending malformed node data can create CORRUPTED chatflows that CRASH the Flowise UI',
1160
- 'DANGER: Flowise may partially create a chatflow even when the API returns an error, leaving corrupted data',
1161
- 'DANGER: Omitting the credential field makes nodes UNCONFIGURABLE - users cannot set up authentication',
1162
- 'ALWAYS call validate_flow BEFORE flowise_create_chatflow to prevent corruption',
1163
- 'If you create a corrupted chatflow, you must delete it via flowise_delete_chatflow',
1281
+ 'DANGER: Malformed node data creates CORRUPTED chatflows that CRASH the Flowise UI',
1282
+ 'ALWAYS call validate_flow BEFORE flowise_create_chatflow',
1283
+ 'If you create a corrupted chatflow, delete it via flowise_delete_chatflow',
1164
1284
  ],
1165
1285
  workflow: [
1166
- '1. Call get_usage_guide (this tool) - understand how to use the server',
1167
- '2. Call list_templates to find a similar flow as your starting point',
1168
- '3. Call get_template to get the EXACT structure of a working flow',
1169
- '4. Call get_node_schema for EACH node you need - this returns the COMPLETE node definition',
1170
- '5. Build your nodes using the EXACT structure from get_node_schema - do NOT omit any fields',
1171
- '6. Call validate_flow to verify your flow BEFORE creating',
1172
- '7. Call flowise_create_chatflow to deploy',
1286
+ '1. Call get_node_schema for each node type you need - it returns a READY-TO-USE node_template',
1287
+ '2. Copy node_template directly into your nodes array',
1288
+ '3. Update node IDs if using multiple nodes of same type (update ALL internal id fields)',
1289
+ '4. Fill in node.data.inputs with your configuration values',
1290
+ '5. Set node.position.x/y for canvas layout',
1291
+ '6. Create edges connecting nodes (see edge_properties below)',
1292
+ '7. Call validate_flow to verify your flow',
1293
+ '8. Call flowise_create_chatflow to deploy',
1173
1294
  ],
1174
1295
  critical_rules: [
1175
- 'NEVER invent your own node structure - ALWAYS use get_node_schema as the source of truth',
1176
- 'The node from get_node_schema is COMPLETE - do NOT remove fields, do NOT simplify',
1177
- 'If get_node_schema returns a credential field, YOUR NODE MUST HAVE THAT CREDENTIAL FIELD',
1178
- 'Do NOT simplify, reorganize, or rewrite the node structure',
1179
- 'Only change: values in the "inputs" object where you have actual data',
1180
- 'Keep ALL properties exactly as returned by get_node_schema',
1181
- 'Edges define connections - copy the format EXACTLY from templates',
1296
+ 'get_node_schema returns node_template - USE IT DIRECTLY, do not reconstruct',
1297
+ 'All id fields (inputParams, inputAnchors, outputAnchors) are pre-generated - keep them',
1298
+ 'Credentials are included in inputParams when required - never remove them',
1299
+ 'Leave unknown input values as empty string - users configure in Flowise UI',
1300
+ 'When changing node.id, update ALL internal id fields to match',
1182
1301
  ],
1183
1302
  node_properties: {
1184
1303
  description: 'Complete list of node properties with required/optional status',
@@ -1279,18 +1398,15 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1279
1398
  description: 'Inheritance chain. CRITICAL for edge connections. Get from get_node_schema.',
1280
1399
  },
1281
1400
  credential: {
1282
- required: 'REQUIRED IF PRESENT IN get_node_schema - DO NOT OMIT',
1283
- type: 'object',
1284
- description: '⚠️ CRITICAL: If get_node_schema returns a credential field, you MUST include it. This is how users configure authentication (API keys, OAuth tokens, etc). Omitting this field makes the node UNUSABLE - users cannot connect their accounts.',
1285
- example: {
1401
+ note: 'Credentials are now AUTOMATICALLY included in inputParams by get_node_schema',
1402
+ description: 'When a node requires authentication, the credential field appears in inputParams with type "credential". Do not remove it.',
1403
+ example_in_inputParams: {
1286
1404
  label: 'Connect Credential',
1287
1405
  name: 'credential',
1288
1406
  type: 'credential',
1289
- credentialNames: ['googleCalendarOAuth2'],
1407
+ credentialNames: ['openAIApi'],
1408
+ id: 'chatOpenAI_0-input-credential-credential'
1290
1409
  },
1291
- when_present: 'MUST be included exactly as returned by get_node_schema',
1292
- when_absent: 'If get_node_schema does not return a credential field, the node does not require authentication - do not add one',
1293
- common_mistake: 'Omitting credential field for nodes like Google Calendar, Gmail, OpenAI - this breaks the node completely',
1294
1410
  },
1295
1411
  inputParams: {
1296
1412
  required: true,
@@ -1416,48 +1532,39 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1416
1532
  },
1417
1533
  },
1418
1534
  common_mistakes: [
1419
- '⚠️ OMITTING THE CREDENTIAL FIELD - This is the #1 mistake. If get_node_schema returns credential, YOU MUST INCLUDE IT',
1420
- '⚠️ Simplifying or "cleaning up" the node structure - DO NOT DO THIS, use it exactly as returned',
1421
- 'Creating nodes from scratch instead of using get_node_schema output',
1422
- 'Removing or omitting inputAnchors or outputAnchors arrays',
1423
- 'Removing or omitting inputParams array',
1424
- 'Missing position, width, or height properties',
1425
- 'Missing the data.version property',
1426
- 'Missing data.baseClasses array',
1427
- 'Inventing edge IDs instead of following the exact format',
1428
- 'Not including data.id (must match the node id)',
1429
- 'Trying to be "helpful" by removing fields you think are unnecessary - NEVER DO THIS',
1535
+ '⚠️ RECONSTRUCTING nodes instead of using node_template - just copy it directly!',
1536
+ '⚠️ Removing inputParams, inputAnchors, or outputAnchors - NEVER remove these arrays',
1537
+ '⚠️ Changing node.id without updating ALL internal id fields',
1538
+ '⚠️ Removing credential from inputParams - this breaks authentication',
1539
+ 'Missing position, width, or height on nodes',
1540
+ 'Wrong edge format - use find_compatible_nodes to get correct handles',
1430
1541
  ],
1431
1542
  example_workflow: {
1432
- task: 'Build a RAG chatbot with Postgres instead of Pinecone',
1543
+ task: 'Build a chatbot with OpenAI and Buffer Memory',
1433
1544
  steps: [
1434
- '1. list_templates({ type: "chatflow" }) - find RAG-related templates',
1435
- '2. get_template("Conversational Retrieval QA Chain") - get a working RAG flow with full structure',
1436
- '3. get_node_schema("postgres") - understand the Postgres node inputs and structure',
1437
- '4. Copy the ENTIRE template structure',
1438
- '5. Find the vector store node in the template',
1439
- '6. Replace ONLY: data.name, data.label, data.type with postgres equivalents',
1440
- '7. Update data.inputs with Postgres-specific values (host, database, etc.)',
1441
- '8. Update the edges: change sourceHandle/targetHandle to match new node types',
1442
- '9. validate_flow({ nodes: [...], edges: [...] }) - MUST pass before creating',
1443
- '10. flowise_create_chatflow({ name: "...", nodes: [...], edges: [...] }) - deploy',
1545
+ '1. get_node_schema("chatOpenAI") - get ready-to-use node template',
1546
+ '2. get_node_schema("bufferMemory") - get memory node template',
1547
+ '3. get_node_schema("conversationChain") - get chain node template',
1548
+ '4. Copy each node_template into nodes array',
1549
+ '5. Set positions: chatOpenAI at (100,100), bufferMemory at (100,400), conversationChain at (500,200)',
1550
+ '6. Fill inputs: chatOpenAI_0.data.inputs.modelName = "gpt-4o-mini"',
1551
+ '7. Create edges connecting chatOpenAI→conversationChain and bufferMemory→conversationChain',
1552
+ '8. validate_flow({ nodes, edges })',
1553
+ '9. flowise_create_chatflow({ name: "My Chatbot", nodes, edges })',
1444
1554
  ],
1445
1555
  },
1446
1556
  what_you_can_safely_change: [
1447
- 'data.inputs values (the actual configuration)',
1448
- 'data.name, data.label, data.type (when swapping node types)',
1449
- 'data.baseClasses (must match the new node type)',
1450
- 'node id (but must update all references in edges)',
1451
- 'position x/y coordinates',
1557
+ 'node.id and node.data.id (but update ALL internal id fields)',
1558
+ 'node.position.x and node.position.y',
1559
+ 'node.data.inputs.* values',
1452
1560
  ],
1453
1561
  what_you_must_NOT_change: [
1454
- 'The overall node structure (all properties must exist)',
1455
- 'The credential field (if present in schema) - NEVER REMOVE THIS',
1456
- 'The data object structure (inputParams, inputAnchors, outputAnchors, inputs must all exist)',
1457
- 'The edge format (sourceHandle, targetHandle patterns)',
1562
+ 'The overall node structure from node_template',
1563
+ 'inputParams array - contains credential and configuration fields',
1564
+ 'inputAnchors array - defines connection points',
1565
+ 'outputAnchors array - defines what outputs the node provides',
1458
1566
  'The type: "customNode" on nodes',
1459
1567
  'The type: "buttonedge" on edges',
1460
- 'ANY field returned by get_node_schema - if it exists in the schema, it must exist in your output',
1461
1568
  ],
1462
1569
  }, null, 2);
1463
1570
  break;