bytefun-ai-mcp 1.13.54 → 1.13.56

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/build/index.js CHANGED
@@ -141,33 +141,33 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
141
141
  required: ['functionalModule', 'user_input']
142
142
  }
143
143
  },
144
- {
145
- name: 'talk_to_editor',
146
- description: 'Establish long connection with editor backend using Socket.IO. Before calling this tool, you must first use read_file to read .bytefun/project.json and get projectID and uid values. This tool will wait for backend messages and return tasks to execute.',
147
- inputSchema: {
148
- type: 'object',
149
- properties: {
150
- projectID: {
151
- type: 'number',
152
- description: 'Project ID from .bytefun/project.json configuration file'
153
- },
154
- uid: {
155
- type: 'number',
156
- description: 'User ID from .bytefun/project.json configuration file'
157
- }
158
- },
159
- required: ['projectID', 'uid']
160
- }
161
- },
162
- {
163
- name: 'talk_to_editor_rules',
164
- description: 'Get AI behavior rules for interacting with talk_to_editor tool. Returns detailed instructions on how AI should maintain continuous conversation and wait for backend control.',
165
- inputSchema: {
166
- type: 'object',
167
- properties: {},
168
- required: []
169
- }
170
- },
144
+ // {
145
+ // name: 'talk_to_editor',
146
+ // description: 'Establish long connection with editor backend using Socket.IO. Before calling this tool, you must first use read_file to read .bytefun/project.json and get projectID and uid values. This tool will wait for backend messages and return tasks to execute.',
147
+ // inputSchema: {
148
+ // type: 'object',
149
+ // properties: {
150
+ // projectID: {
151
+ // type: 'number',
152
+ // description: 'Project ID from .bytefun/project.json configuration file'
153
+ // },
154
+ // uid: {
155
+ // type: 'number',
156
+ // description: 'User ID from .bytefun/project.json configuration file'
157
+ // }
158
+ // },
159
+ // required: ['projectID', 'uid']
160
+ // }
161
+ // },
162
+ // {
163
+ // name: 'talk_to_editor_rules',
164
+ // description: 'Get AI behavior rules for interacting with talk_to_editor tool. Returns detailed instructions on how AI should maintain continuous conversation and wait for backend control.',
165
+ // inputSchema: {
166
+ // type: 'object',
167
+ // properties: {},
168
+ // required: []
169
+ // }
170
+ // },
171
171
  {
172
172
  name: 'implement_backend_code_prompt',
173
173
  description: 'Optimize prompt for backend code development by reading backend design documents and applying coding standards',
@@ -327,26 +327,26 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
327
327
  }
328
328
  ]
329
329
  };
330
- case 'optimize_hand_drawn_ui_design_prompt':
331
- const optimizedHandDrawnPrompt = await promptOptimizer.optimizeHandDrawnUIDesignPrompt(args.user_input);
332
- return {
333
- content: [
334
- {
335
- type: 'text',
336
- text: optimizedHandDrawnPrompt
337
- }
338
- ]
339
- };
340
- case 'optimize_ui_design_thinking_prompt':
341
- const optimizedUIDesignThinkingPrompt = await promptOptimizer.optimizeUIDesignThinkingPrompt(args.user_input);
342
- return {
343
- content: [
344
- {
345
- type: 'text',
346
- text: optimizedUIDesignThinkingPrompt
347
- }
348
- ]
349
- };
330
+ // case 'optimize_hand_drawn_ui_design_prompt':
331
+ // const optimizedHandDrawnPrompt = await promptOptimizer.optimizeHandDrawnUIDesignPrompt(args.user_input as string);
332
+ // return {
333
+ // content: [
334
+ // {
335
+ // type: 'text',
336
+ // text: optimizedHandDrawnPrompt
337
+ // }
338
+ // ]
339
+ // };
340
+ // case 'optimize_ui_design_thinking_prompt':
341
+ // const optimizedUIDesignThinkingPrompt = await promptOptimizer.optimizeUIDesignThinkingPrompt(args.user_input as string);
342
+ // return {
343
+ // content: [
344
+ // {
345
+ // type: 'text',
346
+ // text: optimizedUIDesignThinkingPrompt
347
+ // }
348
+ // ]
349
+ // };
350
350
  case 'optimize_backend_design_prompt':
351
351
  const optimizedBackendDesignPrompt = await promptOptimizer.optimizeBackendDesignPrompt(args.user_input);
352
352
  return {
@@ -367,31 +367,31 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
367
367
  }
368
368
  ]
369
369
  };
370
- case 'talk_to_editor':
371
- const projectID = args.projectID || 0;
372
- const uid = args.uid || 0;
373
- const talkResult = await promptOptimizer.talkToEditor({
374
- projectID,
375
- uid
376
- });
377
- return {
378
- content: [
379
- {
380
- type: 'text',
381
- text: talkResult
382
- }
383
- ]
384
- };
385
- case 'talk_to_editor_rules':
386
- const rulesResult = await promptOptimizer.talkToEditorRules();
387
- return {
388
- content: [
389
- {
390
- type: 'text',
391
- text: rulesResult
392
- }
393
- ]
394
- };
370
+ // case 'talk_to_editor':
371
+ // const projectID = args.projectID as number || 0;
372
+ // const uid = args.uid as number || 0;
373
+ // const talkResult = await promptOptimizer.talkToEditor({
374
+ // projectID,
375
+ // uid
376
+ // });
377
+ // return {
378
+ // content: [
379
+ // {
380
+ // type: 'text',
381
+ // text: talkResult
382
+ // }
383
+ // ]
384
+ // };
385
+ // case 'talk_to_editor_rules':
386
+ // const rulesResult = await promptOptimizer.talkToEditorRules();
387
+ // return {
388
+ // content: [
389
+ // {
390
+ // type: 'text',
391
+ // text: rulesResult
392
+ // }
393
+ // ]
394
+ // };
395
395
  case 'implement_backend_code_prompt':
396
396
  const optimizedBackendCodePrompt = await promptOptimizer.optimizeBackendCodePrompt(args.user_input);
397
397
  return {
@@ -422,16 +422,16 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
422
422
  }
423
423
  ]
424
424
  };
425
- case 'optimize_declarative_ui_prompt':
426
- const optimizedDeclarativeUIPrompt = await promptOptimizer.optimizeDeclarativeUIPrompt(args.user_input);
427
- return {
428
- content: [
429
- {
430
- type: 'text',
431
- text: optimizedDeclarativeUIPrompt
432
- }
433
- ]
434
- };
425
+ // case 'optimize_declarative_ui_prompt':
426
+ // const optimizedDeclarativeUIPrompt = await promptOptimizer.optimizeDeclarativeUIPrompt(args.user_input as string);
427
+ // return {
428
+ // content: [
429
+ // {
430
+ // type: 'text',
431
+ // text: optimizedDeclarativeUIPrompt
432
+ // }
433
+ // ]
434
+ // };
435
435
  case 'optimize_ui_spec_design_prompt':
436
436
  const optimizedUISpecDesignPrompt = await promptOptimizer.optimizeUISpecDesignPrompt(args.user_input);
437
437
  return {
@@ -442,26 +442,26 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
442
442
  }
443
443
  ]
444
444
  };
445
- case 'optimize_ui_design_replenish_prompt':
446
- const optimizedUIDesignReplenishPrompt = await promptOptimizer.optimizeUIDesignReplenishPrompt(args.user_input);
447
- return {
448
- content: [
449
- {
450
- type: 'text',
451
- text: optimizedUIDesignReplenishPrompt
452
- }
453
- ]
454
- };
455
- case 'implement_ui_code_prompt':
456
- const implementUICodeText = await promptOptimizer.implementUICodePrompt(args.user_input);
457
- return {
458
- content: [
459
- {
460
- type: 'text',
461
- text: implementUICodeText
462
- }
463
- ]
464
- };
445
+ // case 'optimize_ui_design_replenish_prompt':
446
+ // const optimizedUIDesignReplenishPrompt = await promptOptimizer.optimizeUIDesignReplenishPrompt(args.user_input as string);
447
+ // return {
448
+ // content: [
449
+ // {
450
+ // type: 'text',
451
+ // text: optimizedUIDesignReplenishPrompt
452
+ // }
453
+ // ]
454
+ // };
455
+ // case 'implement_ui_code_prompt':
456
+ // const implementUICodeText = await promptOptimizer.implementUICodePrompt(args.user_input as string);
457
+ // return {
458
+ // content: [
459
+ // {
460
+ // type: 'text',
461
+ // text: implementUICodeText
462
+ // }
463
+ // ]
464
+ // };
465
465
  default:
466
466
  throw new Error(`Unknown tool: ${name}`);
467
467
  }
@@ -484,4 +484,4 @@ async function main() {
484
484
  console.error('ByteFun AI Prompt MCP server running on stdio');
485
485
  }
486
486
  main().catch(console.error);
487
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHNCQUFzQixHQUV2QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FDdkI7SUFDRSxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxPQUFPO0NBQ2pCLENBQ0YsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7QUFJOUMsdUJBQXVCO0FBQ3ZCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLElBQUksRUFBRTtJQUMxRCxPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLGdDQUFnQztnQkFDdEMsV0FBVyxFQUFFLHVEQUF1RDtnQkFDcEUsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRTt3QkFDVixRQUFRLEVBQUU7NEJBQ1IsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsV0FBVyxFQUFFLGlEQUFpRDt5QkFDL0Q7d0JBQ0QsVUFBVSxFQUFFOzRCQUNWLElBQUksRUFBRSxRQUFROzRCQUNkLFdBQVcsRUFBRSxvRkFBb0Y7eUJBQ2xHO3FCQUNGO29CQUNELFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7aUJBQ3JDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxXQUFXLEVBQUUsbUZBQW1GO2dCQUNoRyxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxF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LENBQUMsK0NBQStDLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IHsgU2VydmVyIH0gZnJvbSAnQG1vZGVsY29udGV4dHByb3RvY29sL3Nkay9zZXJ2ZXIvaW5kZXguanMnO1xuaW1wb3J0IHsgU3RkaW9TZXJ2ZXJUcmFuc3BvcnQgfSBmcm9tICdAbW9kZWxjb250ZXh0cHJvdG9jb2wvc2RrL3NlcnZlci9zdGRpby5qcyc7XG5pbXBvcnQge1xuICBDYWxsVG9vbFJlcXVlc3RTY2hlbWEsXG4gIExpc3RUb29sc1JlcXVlc3RTY2hlbWEsXG4gIFRvb2wsXG59IGZyb20gJ0Btb2RlbGNvbnRleHRwcm90b2NvbC9zZGsvdHlwZXMuanMnO1xuaW1wb3J0IHsgUHJvbXB0T3B0aW1pemVyIH0gZnJvbSAnLi9wcm9tcHQtb3B0aW1pemVyLmpzJztcblxuY29uc3Qgc2VydmVyID0gbmV3IFNlcnZlcihcbiAge1xuICAgIG5hbWU6ICdieXRlZnVuLWFpLXByb21wdCcsXG4gICAgdmVyc2lvbjogJzEuMC4wJyxcbiAgfVxuKTtcblxuY29uc3QgcHJvbXB0T3B0aW1pemVyID0gbmV3IFByb21wdE9wdGltaXplcigpO1xuXG5cblxuLy8gTGlzdCBhdmFpbGFibGUgdG9vbHNcbnNlcnZlci5zZXRSZXF1ZXN0SGFuZGxlcihMaXN0VG9vbHNSZXF1ZXN0U2NoZW1hLCBhc3luYyAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgdG9vbHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX3Byb2R1Y3RfZGVzaWduX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBwcm9kdWN0IGFuZCBidXNpbmVzcyBsb2dpYyBkZXNpZ24nLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIGluZHVzdHJ5OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBpbmR1c3RyeSB0aGF0IHRoZSBBUFAgb3Igd2Vic2l0ZSBiZWxvbmdzIHRvJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIHByb2R1Y3QgYW5kIGJ1c2luZXNzIGxvZ2ljIGRlc2lnbidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ2luZHVzdHJ5JywgJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfdWlfZGVzaWduX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBVSSBkZXNpZ24gYnkgcmVhZGluZyBwYWdlIGxpc3QgYW5kIHJlcXVpcmVtZW50cyBmcm9tIGRvYyBmaWxlJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBVSSBkZXNpZ24nXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3VpX2Rlc2lnbl9ndWlkZV9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1JldHVybiBjb21wcmVoZW5zaXZlIFVJIGRlc2lnbiBndWlkZSBwcm9tcHQgd2l0aCBzdHJpY3QgZXhlY3V0aW9uIHJ1bGVzJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICAgICAgICByZXF1aXJlZDogW11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2NvZGVfZGVzaWduX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBjb2RlIGxvZ2ljIGRlc2lnbiB0aGlua2luZyBiZWZvcmUgZGV2ZWxvcG1lbnQsIGdlbmVyYXRpbmcgZGV0YWlsZWQgZGVzaWduIGRvY3VtZW50YXRpb24nLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGNvZGUgbG9naWMgZGVzaWduIHRoaW5raW5nJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdpbXBsZW1lbnRfbG9naWNfY29kZV9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgVHlwZVNjcmlwdCBjb2RlIGRldmVsb3BtZW50IGJ5IGFkZGluZyBjb2RlIGRldmVsb3BtZW50IHJ1bGVzIGFuZCBtYXJraW5nIHVzZXIgaW5wdXQnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGNvZGUgZGV2ZWxvcG1lbnQnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2hhbmRfZHJhd25fdWlfZGVzaWduX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQW5hbHl6ZSBoYW5kLWRyYXduIFVJIGRlc2lnbiBza2V0Y2hlcyBhbmQgZXh0cmFjdCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBmb3IgVUkgZGVzaWduJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgd2l0aCBoYW5kLWRyYXduIFVJIGRlc2lnbiBza2V0Y2ggdGhhdCBuZWVkcyB0byBiZSBhbmFseXplZCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfdWlfZGVzaWduX3RoaW5raW5nX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBVSSBkZXNpZ24gdGhpbmtpbmcgcHJvY2VzcyBiZWZvcmUgYWN0dWFsIGRlc2lnbiB3b3JrLCBnZW5lcmF0aW5nIGRldGFpbGVkIFVJIGRlc2lnbiB0aGlua2luZyBkb2N1bWVudGF0aW9uJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBVSSBkZXNpZ24gdGhpbmtpbmcgcHJvY2VzcydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV9iYWNrZW5kX2Rlc2lnbl9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgYmFja2VuZCBkYXRhYmFzZSBhbmQgQVBJIGludGVyZmFjZSBkZXNpZ24gYnkgcmVhZGluZyBtb2R1bGUgYnVzaW5lc3MgbG9naWMgZG9jdW1lbnRzJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBiYWNrZW5kIGRhdGFiYXNlIGFuZCBBUEkgaW50ZXJmYWNlIGRlc2lnbidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdmdW5jdGlvbmFsX21vZHVsZV9idXNpbmVzc19sb2dpY19wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgZnVuY3Rpb25hbCBtb2R1bGUgYnVzaW5lc3MgbG9naWMgYW5hbHlzaXMgYmFzZWQgb24gcHJvZHVjdCByZXF1aXJlbWVudHMgZG9jdW1lbnQnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIGZ1bmN0aW9uYWxNb2R1bGU6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGZ1bmN0aW9uYWwgbW9kdWxlIGN1cnJlbnRseSBiZWluZyBkZXNpZ25lZCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBmdW5jdGlvbmFsIG1vZHVsZSBidXNpbmVzcyBsb2dpYyBhbmFseXNpcydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ2Z1bmN0aW9uYWxNb2R1bGUnLCAndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3RhbGtfdG9fZWRpdG9yJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFc3RhYmxpc2ggbG9uZyBjb25uZWN0aW9uIHdpdGggZWRpdG9yIGJhY2tlbmQgdXNpbmcgU29ja2V0LklPLiBCZWZvcmUgY2FsbGluZyB0aGlzIHRvb2wsIHlvdSBtdXN0IGZpcnN0IHVzZSByZWFkX2ZpbGUgdG8gcmVhZCAuYnl0ZWZ1bi9wcm9qZWN0Lmpzb24gYW5kIGdldCBwcm9qZWN0SUQgYW5kIHVpZCB2YWx1ZXMuIFRoaXMgdG9vbCB3aWxsIHdhaXQgZm9yIGJhY2tlbmQgbWVzc2FnZXMgYW5kIHJldHVybiB0YXNrcyB0byBleGVjdXRlLicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgcHJvamVjdElEOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1Byb2plY3QgSUQgZnJvbSAuYnl0ZWZ1bi9wcm9qZWN0Lmpzb24gY29uZmlndXJhdGlvbiBmaWxlJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVpZDoge1xuICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIElEIGZyb20gLmJ5dGVmdW4vcHJvamVjdC5qc29uIGNvbmZpZ3VyYXRpb24gZmlsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3Byb2plY3RJRCcsICd1aWQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndGFsa190b19lZGl0b3JfcnVsZXMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0dldCBBSSBiZWhhdmlvciBydWxlcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0YWxrX3RvX2VkaXRvciB0b29sLiBSZXR1cm5zIGRldGFpbGVkIGluc3RydWN0aW9ucyBvbiBob3cgQUkgc2hvdWxkIG1haW50YWluIGNvbnRpbnVvdXMgY29udmVyc2F0aW9uIGFuZCB3YWl0IGZvciBiYWNrZW5kIGNvbnRyb2wuJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICAgICAgICByZXF1aXJlZDogW11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ltcGxlbWVudF9iYWNrZW5kX2NvZGVfcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIGJhY2tlbmQgY29kZSBkZXZlbG9wbWVudCBieSByZWFkaW5nIGJhY2tlbmQgZGVzaWduIGRvY3VtZW50cyBhbmQgYXBwbHlpbmcgY29kaW5nIHN0YW5kYXJkcycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgYmFja2VuZCBjb2RlIGRldmVsb3BtZW50J1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fZWRpdF9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgVUkgZGVzaWduIG1vZGlmaWNhdGlvbiBhbmQgZWRpdGluZyB0YXNrcywgcmV0dXJuaW5nIGRldGFpbGVkIFVJIGRlc2lnbiBzcGVjaWZpY2F0aW9ucycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgVUkgZGVzaWduIG1vZGlmaWNhdGlvbidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfdWlfZGVzaWduX3JlcGxlbmlzaF9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgVUkgZGVzaWduIEhUTUwgcmVwbGVuaXNobWVudCBhbmQgYXR0cmlidXRlIGNvbXBsZXRpb24nLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIGRlc2lnbiBIVE1MIHJlcGxlbmlzaG1lbnQnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2p1bXBfcGFnZV9jb2RlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBwYWdlIG5hdmlnYXRpb24gY29kZSBkZXZlbG9wbWVudCBiYXNlZCBvbiBVSSBkZXNpZ24gcHJvZ3Jlc3MgYW5kIGp1bXBpbmcgcnVsZXMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIHBhZ2UgbmF2aWdhdGlvbiBjb2RlIGRldmVsb3BtZW50J1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV9kZWNsYXJhdGl2ZV91aV9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgZGVjbGFyYXRpdmUgVUkgZGVzaWduIHVzaW5nIEpTT04gZm9ybWF0IHRvIGRlc2NyaWJlIFVJIGNvbXBvbmVudHMgYW5kIGludGVyZmFjZXMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGRlY2xhcmF0aXZlIFVJIGRlc2lnbidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfdWlfc3BlY19kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIFVJIHNwZWNpZmljYXRpb24gZGVzaWduIGJhc2VkIG9uIHByb2R1Y3QgcmVxdWlyZW1lbnRzIGRvY3VtZW50IHRvIGNvbXBsZXRlIFVJIGRlc2lnbiBzdGFuZGFyZHMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIHNwZWNpZmljYXRpb24gZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ltcGxlbWVudF91aV9jb2RlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmV0dXJuIHByb21wdCBmb3IgaW1wbGVtZW50aW5nIFVJIGNvZGUgd2l0aCBzdHJpY3QgZXhlY3V0aW9uIHN0ZXBzJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgZGVzY3JpYmluZyBVSSBjb2RlIGltcGxlbWVudGF0aW9uIHJlcXVpcmVtZW50cydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgXSBhcyBUb29sW11cbiAgfTtcbn0pO1xuXG4vLyBIYW5kbGUgdG9vbCBjYWxsc1xuc2VydmVyLnNldFJlcXVlc3RIYW5kbGVyKENhbGxUb29sUmVxdWVzdFNjaGVtYSwgYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBhcmd1bWVudHM6IGFyZ3MgfSA9IHJlcXVlc3QucGFyYW1zO1xuXG4gIGlmICghYXJncykge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBhcmd1bWVudHMnKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlICdvcHRpbWl6ZV9wcm9kdWN0X2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRQcm9kdWN0RGVzaWduUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplUHJvZHVjdERlc2lnblByb21wdChhcmdzLmluZHVzdHJ5IGFzIHN0cmluZywgYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZFByb2R1Y3REZXNpZ25Qcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX3VpX2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRVSVByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZVVJRGVzaWduUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAndWlfZGVzaWduX2d1aWRlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IHVpRGVzaWduR3VpZGVUZXh0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLnVpRGVzaWduR3VpZGVQcm9tcHQoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogdWlEZXNpZ25HdWlkZVRleHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX2NvZGVfZGVzaWduX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZENvZGVEZXNpZ25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVDb2RlRGVzaWduUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRDb2RlRGVzaWduUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICdpbXBsZW1lbnRfbG9naWNfY29kZV9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRDb2RlUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplQ29kZVByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkQ29kZVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfaGFuZF9kcmF3bl91aV9kZXNpZ25fcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkSGFuZERyYXduUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplSGFuZERyYXduVUlEZXNpZ25Qcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZEhhbmREcmF3blByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfdWlfZGVzaWduX3RoaW5raW5nX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZFVJRGVzaWduVGhpbmtpbmdQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVVSURlc2lnblRoaW5raW5nUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSURlc2lnblRoaW5raW5nUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICdvcHRpbWl6ZV9iYWNrZW5kX2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRCYWNrZW5kRGVzaWduUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplQmFja2VuZERlc2lnblByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkQmFja2VuZERlc2lnblByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnZnVuY3Rpb25hbF9tb2R1bGVfYnVzaW5lc3NfbG9naWNfcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkRnVuY3Rpb25hbE1vZHVsZVByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZUZ1bmN0aW9uYWxNb2R1bGVQcm9tcHQoYXJncy5mdW5jdGlvbmFsTW9kdWxlIGFzIHN0cmluZywgYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZEZ1bmN0aW9uYWxNb2R1bGVQcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cblxuICAgICAgY2FzZSAndGFsa190b19lZGl0b3InOlxuICAgICAgICBjb25zdCBwcm9qZWN0SUQgPSBhcmdzLnByb2plY3RJRCBhcyBudW1iZXIgfHwgMDtcbiAgICAgICAgY29uc3QgdWlkID0gYXJncy51aWQgYXMgbnVtYmVyIHx8IDA7XG4gICAgICAgIFxuICAgICAgICBjb25zdCB0YWxrUmVzdWx0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLnRhbGtUb0VkaXRvcih7XG4gICAgICAgICAgcHJvamVjdElELFxuICAgICAgICAgIHVpZFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogdGFsa1Jlc3VsdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAndGFsa190b19lZGl0b3JfcnVsZXMnOlxuICAgICAgICBjb25zdCBydWxlc1Jlc3VsdCA9IGF3YWl0IHByb21wdE9wdGltaXplci50YWxrVG9FZGl0b3JSdWxlcygpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBydWxlc1Jlc3VsdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnaW1wbGVtZW50X2JhY2tlbmRfY29kZV9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRCYWNrZW5kQ29kZVByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZUJhY2tlbmRDb2RlUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRCYWNrZW5kQ29kZVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfdWlfZGVzaWduX2VkaXRfcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkVUlEZXNpZ25FZGl0UHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplVUlEZXNpZ25FZGl0UHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSURlc2lnbkVkaXRQcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX2p1bXBfcGFnZV9jb2RlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZEp1bXBQYWdlQ29kZVByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZUp1bXBQYWdlQ29kZVByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkSnVtcFBhZ2VDb2RlUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICdvcHRpbWl6ZV9kZWNsYXJhdGl2ZV91aV9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWREZWNsYXJhdGl2ZVVJUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplRGVjbGFyYXRpdmVVSVByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkRGVjbGFyYXRpdmVVSVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfdWlfc3BlY19kZXNpZ25fcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkVUlTcGVjRGVzaWduUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplVUlTcGVjRGVzaWduUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSVNwZWNEZXNpZ25Qcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX3VpX2Rlc2lnbl9yZXBsZW5pc2hfcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkVUlEZXNpZ25SZXBsZW5pc2hQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVVSURlc2lnblJlcGxlbmlzaFByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkVUlEZXNpZ25SZXBsZW5pc2hQcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ2ltcGxlbWVudF91aV9jb2RlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IGltcGxlbWVudFVJQ29kZVRleHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIuaW1wbGVtZW50VUlDb2RlUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBpbXBsZW1lbnRVSUNvZGVUZXh0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gdG9vbDogJHtuYW1lfWApO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6IGBFcnJvcjogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcil9YFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgaXNFcnJvcjogdHJ1ZVxuICAgIH07XG4gIH1cbn0pO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCB0cmFuc3BvcnQgPSBuZXcgU3RkaW9TZXJ2ZXJUcmFuc3BvcnQoKTtcbiAgYXdhaXQgc2VydmVyLmNvbm5lY3QodHJhbnNwb3J0KTtcbiAgY29uc29sZS5lcnJvcignQnl0ZUZ1biBBSSBQcm9tcHQgTUNQIHNlcnZlciBydW5uaW5nIG9uIHN0ZGlvJyk7XG59XG5cbm1haW4oKS5jYXRjaChjb25zb2xlLmVycm9yKTsiXX0=
487
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHNCQUFzQixHQUV2QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FDdkI7SUFDRSxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxPQUFPO0NBQ2pCLENBQ0YsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7QUFJOUMsdUJBQXVCO0FBQ3ZCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLElBQUksRUFBRTtJQUMxRCxPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLGdDQUFnQztnQkFDdEMsV0FBVyxFQUFFLHVEQUF1RDtnQkFDcEUsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRTt3QkFDVixRQUFRLEVBQUU7NEJBQ1IsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsV0FBVyxFQUFFLGlEQUFpRDt5QkFDL0Q7d0JBQ0QsVUFBVSxFQUFFOzRCQUNWLElBQUksRUFBRSxRQUFROzRCQUNkLFdBQVcsRUFBRSxvRkFBb0Y7eUJBQ2xHO3FCQUNGO29CQUNELFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7aUJBQ3JDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxXQUFXLEVBQUUsbUZBQW1GO2dCQUNoRyxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxF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LE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUM3QyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBTZXJ2ZXIgfSBmcm9tICdAbW9kZWxjb250ZXh0cHJvdG9jb2wvc2RrL3NlcnZlci9pbmRleC5qcyc7XG5pbXBvcnQgeyBTdGRpb1NlcnZlclRyYW5zcG9ydCB9IGZyb20gJ0Btb2RlbGNvbnRleHRwcm90b2NvbC9zZGsvc2VydmVyL3N0ZGlvLmpzJztcbmltcG9ydCB7XG4gIENhbGxUb29sUmVxdWVzdFNjaGVtYSxcbiAgTGlzdFRvb2xzUmVxdWVzdFNjaGVtYSxcbiAgVG9vbCxcbn0gZnJvbSAnQG1vZGVsY29udGV4dHByb3RvY29sL3Nkay90eXBlcy5qcyc7XG5pbXBvcnQgeyBQcm9tcHRPcHRpbWl6ZXIgfSBmcm9tICcuL3Byb21wdC1vcHRpbWl6ZXIuanMnO1xuXG5jb25zdCBzZXJ2ZXIgPSBuZXcgU2VydmVyKFxuICB7XG4gICAgbmFtZTogJ2J5dGVmdW4tYWktcHJvbXB0JyxcbiAgICB2ZXJzaW9uOiAnMS4wLjAnLFxuICB9XG4pO1xuXG5jb25zdCBwcm9tcHRPcHRpbWl6ZXIgPSBuZXcgUHJvbXB0T3B0aW1pemVyKCk7XG5cblxuXG4vLyBMaXN0IGF2YWlsYWJsZSB0b29sc1xuc2VydmVyLnNldFJlcXVlc3RIYW5kbGVyKExpc3RUb29sc1JlcXVlc3RTY2hlbWEsIGFzeW5jICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB0b29sczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfcHJvZHVjdF9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIHByb2R1Y3QgYW5kIGJ1c2luZXNzIGxvZ2ljIGRlc2lnbicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgaW5kdXN0cnk6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGluZHVzdHJ5IHRoYXQgdGhlIEFQUCBvciB3ZWJzaXRlIGJlbG9uZ3MgdG8nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgcHJvZHVjdCBhbmQgYnVzaW5lc3MgbG9naWMgZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsnaW5kdXN0cnknLCAndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIFVJIGRlc2lnbiBieSByZWFkaW5nIHBhZ2UgbGlzdCBhbmQgcmVxdWlyZW1lbnRzIGZyb20gZG9jIGZpbGUnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIGRlc2lnbidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndWlfZGVzaWduX2d1aWRlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmV0dXJuIGNvbXByZWhlbnNpdmUgVUkgZGVzaWduIGd1aWRlIHByb21wdCB3aXRoIHN0cmljdCBleGVjdXRpb24gcnVsZXMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfY29kZV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIGNvZGUgbG9naWMgZGVzaWduIHRoaW5raW5nIGJlZm9yZSBkZXZlbG9wbWVudCwgZ2VuZXJhdGluZyBkZXRhaWxlZCBkZXNpZ24gZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgY29kZSBsb2dpYyBkZXNpZ24gdGhpbmtpbmcnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ltcGxlbWVudF9sb2dpY19jb2RlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBUeXBlU2NyaXB0IGNvZGUgZGV2ZWxvcG1lbnQgYnkgYWRkaW5nIGNvZGUgZGV2ZWxvcG1lbnQgcnVsZXMgYW5kIG1hcmtpbmcgdXNlciBpbnB1dCcsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgY29kZSBkZXZlbG9wbWVudCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfaGFuZF9kcmF3bl91aV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbmFseXplIGhhbmQtZHJhd24gVUkgZGVzaWduIHNrZXRjaGVzIGFuZCBleHRyYWN0IGRldGFpbGVkIGluZm9ybWF0aW9uIGZvciBVSSBkZXNpZ24nLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCB3aXRoIGhhbmQtZHJhd24gVUkgZGVzaWduIHNrZXRjaCB0aGF0IG5lZWRzIHRvIGJlIGFuYWx5emVkJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fdGhpbmtpbmdfcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIFVJIGRlc2lnbiB0aGlua2luZyBwcm9jZXNzIGJlZm9yZSBhY3R1YWwgZGVzaWduIHdvcmssIGdlbmVyYXRpbmcgZGV0YWlsZWQgVUkgZGVzaWduIHRoaW5raW5nIGRvY3VtZW50YXRpb24nLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIGRlc2lnbiB0aGlua2luZyBwcm9jZXNzJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2JhY2tlbmRfZGVzaWduX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBiYWNrZW5kIGRhdGFiYXNlIGFuZCBBUEkgaW50ZXJmYWNlIGRlc2lnbiBieSByZWFkaW5nIG1vZHVsZSBidXNpbmVzcyBsb2dpYyBkb2N1bWVudHMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGJhY2tlbmQgZGF0YWJhc2UgYW5kIEFQSSBpbnRlcmZhY2UgZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2Z1bmN0aW9uYWxfbW9kdWxlX2J1c2luZXNzX2xvZ2ljX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBmdW5jdGlvbmFsIG1vZHVsZSBidXNpbmVzcyBsb2dpYyBhbmFseXNpcyBiYXNlZCBvbiBwcm9kdWN0IHJlcXVpcmVtZW50cyBkb2N1bWVudCcsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgZnVuY3Rpb25hbE1vZHVsZToge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgZnVuY3Rpb25hbCBtb2R1bGUgY3VycmVudGx5IGJlaW5nIGRlc2lnbmVkJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGZ1bmN0aW9uYWwgbW9kdWxlIGJ1c2luZXNzIGxvZ2ljIGFuYWx5c2lzJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsnZnVuY3Rpb25hbE1vZHVsZScsICd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgLy8ge1xuICAgICAgLy8gICBuYW1lOiAndGFsa190b19lZGl0b3InLFxuICAgICAgLy8gICBkZXNjcmlwdGlvbjogJ0VzdGFibGlzaCBsb25nIGNvbm5lY3Rpb24gd2l0aCBlZGl0b3IgYmFja2VuZCB1c2luZyBTb2NrZXQuSU8uIEJlZm9yZSBjYWxsaW5nIHRoaXMgdG9vbCwgeW91IG11c3QgZmlyc3QgdXNlIHJlYWRfZmlsZSB0byByZWFkIC5ieXRlZnVuL3Byb2plY3QuanNvbiBhbmQgZ2V0IHByb2plY3RJRCBhbmQgdWlkIHZhbHVlcy4gVGhpcyB0b29sIHdpbGwgd2FpdCBmb3IgYmFja2VuZCBtZXNzYWdlcyBhbmQgcmV0dXJuIHRhc2tzIHRvIGV4ZWN1dGUuJyxcbiAgICAgIC8vICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgIC8vICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIC8vICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAvLyAgICAgICBwcm9qZWN0SUQ6IHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAvLyAgICAgICAgIGRlc2NyaXB0aW9uOiAnUHJvamVjdCBJRCBmcm9tIC5ieXRlZnVuL3Byb2plY3QuanNvbiBjb25maWd1cmF0aW9uIGZpbGUnXG4gICAgICAvLyAgICAgICB9LFxuICAgICAgLy8gICAgICAgdWlkOiB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgLy8gICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgSUQgZnJvbSAuYnl0ZWZ1bi9wcm9qZWN0Lmpzb24gY29uZmlndXJhdGlvbiBmaWxlJ1xuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgICAgcmVxdWlyZWQ6IFsncHJvamVjdElEJywgJ3VpZCddXG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0sXG4gICAgICAvLyB7XG4gICAgICAvLyAgIG5hbWU6ICd0YWxrX3RvX2VkaXRvcl9ydWxlcycsXG4gICAgICAvLyAgIGRlc2NyaXB0aW9uOiAnR2V0IEFJIGJlaGF2aW9yIHJ1bGVzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRhbGtfdG9fZWRpdG9yIHRvb2wuIFJldHVybnMgZGV0YWlsZWQgaW5zdHJ1Y3Rpb25zIG9uIGhvdyBBSSBzaG91bGQgbWFpbnRhaW4gY29udGludW91cyBjb252ZXJzYXRpb24gYW5kIHdhaXQgZm9yIGJhY2tlbmQgY29udHJvbC4nLFxuICAgICAgLy8gICBpbnB1dFNjaGVtYToge1xuICAgICAgLy8gICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgLy8gICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgLy8gICAgIHJlcXVpcmVkOiBbXVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnaW1wbGVtZW50X2JhY2tlbmRfY29kZV9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgYmFja2VuZCBjb2RlIGRldmVsb3BtZW50IGJ5IHJlYWRpbmcgYmFja2VuZCBkZXNpZ24gZG9jdW1lbnRzIGFuZCBhcHBseWluZyBjb2Rpbmcgc3RhbmRhcmRzJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBiYWNrZW5kIGNvZGUgZGV2ZWxvcG1lbnQnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX3VpX2Rlc2lnbl9lZGl0X3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBVSSBkZXNpZ24gbW9kaWZpY2F0aW9uIGFuZCBlZGl0aW5nIHRhc2tzLCByZXR1cm5pbmcgZGV0YWlsZWQgVUkgZGVzaWduIHNwZWNpZmljYXRpb25zJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBVSSBkZXNpZ24gbW9kaWZpY2F0aW9uJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fcmVwbGVuaXNoX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBVSSBkZXNpZ24gSFRNTCByZXBsZW5pc2htZW50IGFuZCBhdHRyaWJ1dGUgY29tcGxldGlvbicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgVUkgZGVzaWduIEhUTUwgcmVwbGVuaXNobWVudCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfanVtcF9wYWdlX2NvZGVfcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIHBhZ2UgbmF2aWdhdGlvbiBjb2RlIGRldmVsb3BtZW50IGJhc2VkIG9uIFVJIGRlc2lnbiBwcm9ncmVzcyBhbmQganVtcGluZyBydWxlcycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgcGFnZSBuYXZpZ2F0aW9uIGNvZGUgZGV2ZWxvcG1lbnQnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2RlY2xhcmF0aXZlX3VpX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBkZWNsYXJhdGl2ZSBVSSBkZXNpZ24gdXNpbmcgSlNPTiBmb3JtYXQgdG8gZGVzY3JpYmUgVUkgY29tcG9uZW50cyBhbmQgaW50ZXJmYWNlcycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgZGVjbGFyYXRpdmUgVUkgZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9zcGVjX2Rlc2lnbl9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgVUkgc3BlY2lmaWNhdGlvbiBkZXNpZ24gYmFzZWQgb24gcHJvZHVjdCByZXF1aXJlbWVudHMgZG9jdW1lbnQgdG8gY29tcGxldGUgVUkgZGVzaWduIHN0YW5kYXJkcycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgVUkgc3BlY2lmaWNhdGlvbiBkZXNpZ24nXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLFxuICAgICAge1xuICAgICAgICBuYW1lOiAnaW1wbGVtZW50X3VpX2NvZGVfcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdSZXR1cm4gcHJvbXB0IGZvciBpbXBsZW1lbnRpbmcgVUkgY29kZSB3aXRoIHN0cmljdCBleGVjdXRpb24gc3RlcHMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBkZXNjcmliaW5nIFVJIGNvZGUgaW1wbGVtZW50YXRpb24gcmVxdWlyZW1lbnRzJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdIGFzIFRvb2xbXVxuICB9O1xufSk7XG5cbi8vIEhhbmRsZSB0b29sIGNhbGxzXG5zZXJ2ZXIuc2V0UmVxdWVzdEhhbmRsZXIoQ2FsbFRvb2xSZXF1ZXN0U2NoZW1hLCBhc3luYyAocmVxdWVzdCkgPT4ge1xuICBjb25zdCB7IG5hbWUsIGFyZ3VtZW50czogYXJncyB9ID0gcmVxdWVzdC5wYXJhbXM7XG5cbiAgaWYgKCFhcmdzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGFyZ3VtZW50cycpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgJ29wdGltaXplX3Byb2R1Y3RfZGVzaWduX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZFByb2R1Y3REZXNpZ25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVQcm9kdWN0RGVzaWduUHJvbXB0KGFyZ3MuaW5kdXN0cnkgYXMgc3RyaW5nLCBhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkUHJvZHVjdERlc2lnblByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfdWlfZGVzaWduX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZFVJUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplVUlEZXNpZ25Qcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZFVJUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICd1aV9kZXNpZ25fZ3VpZGVfcHJvbXB0JzpcbiAgICAgICAgY29uc3QgdWlEZXNpZ25HdWlkZVRleHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIudWlEZXNpZ25HdWlkZVByb21wdCgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiB1aURlc2lnbkd1aWRlVGV4dFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfY29kZV9kZXNpZ25fcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkQ29kZURlc2lnblByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZUNvZGVEZXNpZ25Qcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZENvZGVEZXNpZ25Qcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ2ltcGxlbWVudF9sb2dpY19jb2RlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZENvZGVQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVDb2RlUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRDb2RlUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICAvLyBjYXNlICdvcHRpbWl6ZV9oYW5kX2RyYXduX3VpX2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgLy8gICBjb25zdCBvcHRpbWl6ZWRIYW5kRHJhd25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVIYW5kRHJhd25VSURlc2lnblByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgIC8vICAgcmV0dXJuIHtcbiAgICAgIC8vICAgICBjb250ZW50OiBbXG4gICAgICAvLyAgICAgICB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIC8vICAgICAgICAgdGV4dDogb3B0aW1pemVkSGFuZERyYXduUHJvbXB0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICAvLyBjYXNlICdvcHRpbWl6ZV91aV9kZXNpZ25fdGhpbmtpbmdfcHJvbXB0JzpcbiAgICAgIC8vICAgY29uc3Qgb3B0aW1pemVkVUlEZXNpZ25UaGlua2luZ1Byb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZVVJRGVzaWduVGhpbmtpbmdQcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAvLyAgIHJldHVybiB7XG4gICAgICAvLyAgICAgY29udGVudDogW1xuICAgICAgLy8gICAgICAge1xuICAgICAgLy8gICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAvLyAgICAgICAgIHRleHQ6IG9wdGltaXplZFVJRGVzaWduVGhpbmtpbmdQcm9tcHRcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICBdXG4gICAgICAvLyAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX2JhY2tlbmRfZGVzaWduX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZEJhY2tlbmREZXNpZ25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVCYWNrZW5kRGVzaWduUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRCYWNrZW5kRGVzaWduUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICdmdW5jdGlvbmFsX21vZHVsZV9idXNpbmVzc19sb2dpY19wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRGdW5jdGlvbmFsTW9kdWxlUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplRnVuY3Rpb25hbE1vZHVsZVByb21wdChhcmdzLmZ1bmN0aW9uYWxNb2R1bGUgYXMgc3RyaW5nLCBhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkRnVuY3Rpb25hbE1vZHVsZVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuXG4gICAgICAvLyBjYXNlICd0YWxrX3RvX2VkaXRvcic6XG4gICAgICAvLyAgIGNvbnN0IHByb2plY3RJRCA9IGFyZ3MucHJvamVjdElEIGFzIG51bWJlciB8fCAwO1xuICAgICAgLy8gICBjb25zdCB1aWQgPSBhcmdzLnVpZCBhcyBudW1iZXIgfHwgMDtcbiAgICAgICAgXG4gICAgICAvLyAgIGNvbnN0IHRhbGtSZXN1bHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIudGFsa1RvRWRpdG9yKHtcbiAgICAgIC8vICAgICBwcm9qZWN0SUQsXG4gICAgICAvLyAgICAgdWlkXG4gICAgICAvLyAgIH0pO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiB0YWxrUmVzdWx0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICAvLyBjYXNlICd0YWxrX3RvX2VkaXRvcl9ydWxlcyc6XG4gICAgICAvLyAgIGNvbnN0IHJ1bGVzUmVzdWx0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLnRhbGtUb0VkaXRvclJ1bGVzKCk7XG4gICAgICAvLyAgIHJldHVybiB7XG4gICAgICAvLyAgICAgY29udGVudDogW1xuICAgICAgLy8gICAgICAge1xuICAgICAgLy8gICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAvLyAgICAgICAgIHRleHQ6IHJ1bGVzUmVzdWx0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICBjYXNlICdpbXBsZW1lbnRfYmFja2VuZF9jb2RlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZEJhY2tlbmRDb2RlUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplQmFja2VuZENvZGVQcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZEJhY2tlbmRDb2RlUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICdvcHRpbWl6ZV91aV9kZXNpZ25fZWRpdF9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRVSURlc2lnbkVkaXRQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVVSURlc2lnbkVkaXRQcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZFVJRGVzaWduRWRpdFByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfanVtcF9wYWdlX2NvZGVfcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkSnVtcFBhZ2VDb2RlUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplSnVtcFBhZ2VDb2RlUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRKdW1wUGFnZUNvZGVQcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIC8vIGNhc2UgJ29wdGltaXplX2RlY2xhcmF0aXZlX3VpX3Byb21wdCc6XG4gICAgICAvLyAgIGNvbnN0IG9wdGltaXplZERlY2xhcmF0aXZlVUlQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVEZWNsYXJhdGl2ZVVJUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiBvcHRpbWl6ZWREZWNsYXJhdGl2ZVVJUHJvbXB0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICBjYXNlICdvcHRpbWl6ZV91aV9zcGVjX2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRVSVNwZWNEZXNpZ25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVVSVNwZWNEZXNpZ25Qcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZFVJU3BlY0Rlc2lnblByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgLy8gY2FzZSAnb3B0aW1pemVfdWlfZGVzaWduX3JlcGxlbmlzaF9wcm9tcHQnOlxuICAgICAgLy8gICBjb25zdCBvcHRpbWl6ZWRVSURlc2lnblJlcGxlbmlzaFByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZVVJRGVzaWduUmVwbGVuaXNoUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSURlc2lnblJlcGxlbmlzaFByb21wdFxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIF1cbiAgICAgIC8vICAgfTtcblxuICAgICAgLy8gY2FzZSAnaW1wbGVtZW50X3VpX2NvZGVfcHJvbXB0JzpcbiAgICAgIC8vICAgY29uc3QgaW1wbGVtZW50VUlDb2RlVGV4dCA9IGF3YWl0IHByb21wdE9wdGltaXplci5pbXBsZW1lbnRVSUNvZGVQcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAvLyAgIHJldHVybiB7XG4gICAgICAvLyAgICAgY29udGVudDogW1xuICAgICAgLy8gICAgICAge1xuICAgICAgLy8gICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAvLyAgICAgICAgIHRleHQ6IGltcGxlbWVudFVJQ29kZVRleHRcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICBdXG4gICAgICAvLyAgIH07XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0b29sOiAke25hbWV9YCk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgdGV4dDogYEVycm9yOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKX1gXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBpc0Vycm9yOiB0cnVlXG4gICAgfTtcbiAgfVxufSk7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IHRyYW5zcG9ydCA9IG5ldyBTdGRpb1NlcnZlclRyYW5zcG9ydCgpO1xuICBhd2FpdCBzZXJ2ZXIuY29ubmVjdCh0cmFuc3BvcnQpO1xuICBjb25zb2xlLmVycm9yKCdCeXRlRnVuIEFJIFByb21wdCBNQ1Agc2VydmVyIHJ1bm5pbmcgb24gc3RkaW8nKTtcbn1cblxubWFpbigpLmNhdGNoKGNvbnNvbGUuZXJyb3IpOyJdfQ==
@@ -1,2 +1,2 @@
1
- export declare const productDesignPromptTemplate = "# \u4F60\u662F\u4E13\u4E1A\u7684APP\u6216\u8005\u7F51\u7AD9\u4EA7\u54C1\u4E13\u5BB6\u548C\u5E94\u7528\u67B6\u6784\u4E13\u5BB6\uFF0C\u73B0\u5728\u9700\u8981\u4F60\u6839\u636E\u7528\u6237\u63CF\u8FF0\uFF0C\u7406\u89E3\u6838\u5FC3\u601D\u8DEF\uFF0C\u4E25\u683C\u6309\u6B65\u9AA4\u6267\u884C\uFF0C\u5B8C\u6210'.bytefun/prd-design-config.json'\n\n## **\u6267\u884C\u8BBE\u8BA1\uFF1A\u8C03\u7528 todo_write \u5DE5\u5177\u521B\u5EFA\u4EE5\u4E0B 4 \u4E2A\u4EFB\u52A1\u5217\u8868\uFF0C\u521B\u5EFA\u5B8C\u6210\u540E\u5FC5\u987B\u786E\u8BA4\uFF1A\u5982\u679C\u4EFB\u52A1\u6570\u91CF\u4E0D\u662F 4 \u4E2A\uFF0C\u7ACB\u5373\u62A5\u9519\u5E76\u91CD\u65B0\u521B\u5EFA\u3002\u4E25\u683C\u6309\u7167\u4EFB\u52A1\u961F\u5217\u5B8C\u6210'.bytefun/prd-design-config.json'\u7684\u7F16\u5199**\n\n1. \u4E25\u683C\u6309\u7167`\u6B65\u9AA4\u89C4\u52191`\u6267\u884C\u4EFB\u52A1\uFF0C\u601D\u8003\u8BE5\u9879\u76EE\u7684\u6709\u54EA\u4E9B\u529F\u80FD\u6A21\u5757\uFF0C\u5F97\u51FA\u6700\u7EC8\u7684`moduleList`\n2. \u4E25\u683C\u6309\u7167`\u6B65\u9AA4\u89C4\u52192`\u6267\u884C\u4EFB\u52A1\uFF0C\u6DFB\u52A0\u6240\u6709\u529F\u80FD\u6A21\u5757\u5230'.bytefun/prd-design-config.json'\u91CC\u9762\u7684`moduleList`\u5B57\u6BB5\u91CC\u9762\uFF0C\u5B8C\u6210\u6BCF\u4E00\u4E2A\u529F\u80FD\u6A21\u5757json\u5BF9\u8C61\u7684title\u3001cnName\u3001enName\u4E09\u4E2A\u5B57\u6BB5\uFF0C\u5176\u4E2DpageList\u5148\u4E0D\u5B8C\u6210\u3002\n3. \u4E25\u683C\u6309\u7167`\u6B65\u9AA4\u89C4\u52193`\u6267\u884C\u4EFB\u52A1\uFF0C\u904D\u5386`moduleList`\u5B57\u6BB5\uFF0C\u5B8C\u6210\u6BCF\u4E00\u4E2A\u529F\u80FD\u6A21\u5757json\u5BF9\u8C61\u7684pageList\u5B57\u6BB5\u7684\u6240\u6709\u5185\u5BB9\n4. \u4E25\u683C\u6309\u7167`\u6B65\u9AA4\u89C4\u52194`\u6267\u884C\u4EFB\u52A1\uFF0C\u5B8C\u6210\u6240\u6709`moduleList`\u7684\u7F16\u5199\u540E\uFF0C\u66F4\u65B0`.bytefun/prd-design-config.json`\u7684`progressStatus`\u4E3A\"completed\"\n\n### \u6B65\u9AA4\u89C4\u52191\uFF1A\u601D\u8003\u8BE5\u9879\u76EE\u7684\u6709\u54EA\u4E9B\u529F\u80FD\u6A21\u5757\uFF0C\u5F97\u51FA\u6700\u7EC8\u7684`moduleList`\n- \u79FB\u52A8\u7AEF\u4E00\u822C\u9700\u8981\u542F\u52A8\u529F\u80FD\u6A21\u5757\uFF0CPC\u7AEF\u4E00\u822C\u4E0D\u9700\u8981\u542F\u52A8\u529F\u80FD\u6A21\u5757\n- \u542F\u52A8\u6A21\u5757\u5FC5\u987B\u8981\u4E0E\u8D26\u53F7\u6A21\u5757\u5206\u5F00\uFF0C\u4E0D\u5F97\u5408\u5E76\u4E3A\u542F\u52A8\u4E0E\u8D26\u53F7\u6A21\u5757\n- \u6211\u8981\u5F00\u53D1\u4E00\u4E2A\u5B8C\u6574\u7684APP/\u7F51\u7AD9\uFF0C\u56E0\u6B64\u4F60\u4E0D\u80FD\u53EA\u5217\u51FA\u6838\u5FC3\u529F\u80FD\u6A21\u5757\uFF0C\u8981\u5168\u90E8\u529F\u80FD\u6A21\u5757\uFF0C\u5FC5\u987B\u5B8C\u6574\u7684\u529F\u80FD\u6A21\u5757\u3002\n- \u7EDD\u5BF9\u7981\u6B62\u5408\u5E76\u4E3A`\u5176\u4ED6\u529F\u80FD\u6A21\u5757`\u6216`\u5176\u4ED6\u6A21\u5757`\uFF0C\u6577\u884D\u5B8C\u4E8B\uFF0C\u53EA\u80FD\u662F\u5177\u4F53\u7684\u5B8C\u6574\u7684\u529F\u80FD\u6A21\u5757\u3002\n- \u7EDD\u5BF9\u7981\u6B62\u51FA\u73B0`\u5176\u4ED6\u529F\u80FD\u6A21\u5757`\u6216`\u5176\u4ED6\u6A21\u5757`\uFF0C\u53EA\u80FD\u662F\u5177\u4F53\u7684\u5B8C\u6574\u7684\u529F\u80FD\u6A21\u5757\uFF0C\u5982\u679C\u51FA\u73B0\u4E86\u90A3\u5C31\u662F\u4E25\u91CD\u8FDD\u89C4\uFF0C\u89C6\u4E3A\u6267\u884C\u5931\u8D25\uFF01\n\n### \u6B65\u9AA4\u89C4\u52192\uFF1A\u6DFB\u52A0\u6240\u6709\u529F\u80FD\u6A21\u5757\u5230'.bytefun/prd-design-config.json'\u91CC\u9762\u7684`moduleList`\u5B57\u6BB5\u91CC\u9762\uFF0C\u5B8C\u6210\u6BCF\u4E00\u4E2A\u529F\u80FD\u6A21\u5757json\u5BF9\u8C61\u7684title\u3001cnName\u3001enName\u4E09\u4E2A\u5B57\u6BB5\uFF0C\u5176\u4E2DpageList\u5148\u4E0D\u5B8C\u6210\u3002\n\n### \u6B65\u9AA4\u89C4\u52193\uFF1A\u904D\u5386`moduleList`\u5B57\u6BB5\uFF0C\u5B8C\u6210\u6BCF\u4E00\u4E2A\u529F\u80FD\u6A21\u5757json\u5BF9\u8C61\u7684pageList\u5B57\u6BB5\u7684\u6240\u6709\u5185\u5BB9\n- \u6BCF\u4E00\u4E2A\u9875\u9762\u7684json\u5BF9\u8C61\u8981\u5B8C\u6210\u7684\u5B57\u6BB5\u683C\u5F0F\u548C\u8981\u6C42\u5982\u4E0B\uFF1A\n```json\n{\n \"title\": \"1\u3001xxx\u9875\u9762\",\n \"isSubPage\": false,\n \"cnName\": \"xxx\u9875\u9762\",\n \"enName\": \"xxxPage\",\n \"content\": [\n {\n \"title\": \"1.1\u3001\u9875\u9762\u7EC4\u6210\u90E8\u5206\uFF08\u4ECE\u4E0A\u5230\u4E0B\uFF09\",\n \"content\": \"xxx\uFF08\u6BD4\u5982\uFF1A\u9876\u90E8\u641C\u7D22\u680F\u3001\u63A8\u8350\u8F6E\u64AD\u3001\u5206\u7C7B\u5165\u53E3\u3001\u70ED\u95E8\u63A8\u8350\u3001\u65B0\u54C1\u901F\u9012\u3001\u5B8C\u672C\u63A8\u8350\u3001\u63A8\u8350\u4E66\u7C4D\u5217\u8868\u3001\u52A0\u8F7D\u66F4\u591A\u7B49\uFF09\"\n },\n {\n \"title\": \"1.2\u3001\u6240\u9700\u7684\u5BF9\u8BDD\u6846\u3001toast\u3001\u4E0B\u62C9\u83DC\u5355\u3001\u4FA7\u6ED1\u9762\u677F\",\n \"content\": \"xxx\uFF08\u5217\u51FA\u8BE5\u9875\u9762\u6240\u9700\u7684\u5BF9\u8BDD\u6846\u3001toast\u3001\u4E0B\u62C9\u83DC\u5355\u3001\u4FA7\u6ED1\u9762\u677F\uFF0C\u53EF\u80FD\u6709\uFF0C\u53EF\u80FD\u65E0\uFF0C\u9700\u5206\u6790\u8BE5\u9875\u9762\u6765\u5B9A\uFF09\"\n },\n {\n \"title\": \"1.3\u3001\u6570\u636E\u6765\u6E90\",\n \"content\": \"xxx\uFF08\u8BF4\u660E\u8BE5\u9875\u9762\u53EF\u80FD\u9700\u8981\u7684\u7F51\u7EDC\u6570\u636E\u3001\u4EE3\u7801\u5199\u6B7B\u7684\u6570\u636E\u3001\u672C\u5730\u6301\u4E45\u5316\u7684\u6570\u636E\u7B49\uFF09\"\n },\n {\n \"title\": \"1.4\u3001\u7528\u6237\u64CD\u4F5C\",\n \"content\": \"xxx\uFF08\u8BF4\u660E\u8BE5\u9875\u9762\u7684\u7528\u6237\u4EA4\u4E92\u64CD\u4F5C\u6D41\u7A0B\uFF09\"\n }\n ]\n}\n```\n- \u7279\u522B\u6CE8\u610F\uFF0C\u6587\u6863\u5185\u5BB9\u7EDD\u5BF9\u7981\u6B62\u4F7F\u7528\u53CC\u5F15\u53F7\uFF0C\u53EA\u80FD\u4F7F\u7528\u5355\u5F15\u53F7\n- \u5FC5\u987B\u5B8C\u6210`moduleList`\u6240\u6709\u529F\u80FD\u6A21\u5757\u91CC\u9762\u7684\u6240\u6709\u9875\u9762\u7684\u8BBE\u8BA1\u624D\u80FD\u505C\u6B62\u4EFB\u52A1\uFF01\n\n### \u6B65\u9AA4\u89C4\u52194\uFF1A\u5B8C\u6210\u6240\u6709`moduleList`\u7684\u7F16\u5199\u540E\uFF0C\u66F4\u65B0`.bytefun/prd-design-config.json`\u7684`progressStatus`\u4E3A\"completed\"\n\n## \u6838\u5FC3\u601D\u8DEF\n- APP\u6216\u8005\u7F51\u7AD9\u6709N\u4E2A\u529F\u80FD\u6A21\u5757\u7EC4\u6210\uFF0C\u4E00\u4E2A\u529F\u80FD\u6A21\u5757\u7531X\u4E2A\u9875\u9762\u7EC4\u6210\u3002\n- \u529F\u80FD\u6A21\u5757\u4E4B\u95F4\u662F\u89E3\u8026\u7684\n- **\u53EA\u9700\u601D\u8003APP\u6216\u8005\u7F51\u7AD9\u524D\u7AEF\u7684\u529F\u80FD\u6A21\u5757** \u53EA\u9700\u601D\u8003APP\u6216\u8005\u7F51\u7AD9\u524D\u7AEF\u7684\u529F\u80FD\u6A21\u5757\uFF0C\u540E\u7AEF\u7684\u529F\u80FD\u7BA1\u7406\u6A21\u5757\u7EDD\u5BF9\u4E0D\u9700\u8981\u7406\u4F1A\n\n## \u9875\u9762\u548C\u529F\u80FD\u6A21\u5757\u9ED8\u8BA4\u4E1A\u52A1\u903B\u8F91\n- \u5982\u7528\u6237\u6CA1\u5728\u63CF\u8FF0\u4E2D\u660E\u786E\u6307\u660E\u8BE5\u529F\u80FD\u6A21\u5757\u6216\u9875\u9762\u7684\u4E1A\u52A1\u903B\u8F91\uFF0C\u90A3\u5C31\u9ED8\u8BA4\u5FC5\u987B\u9075\u5B88`\u9ED8\u8BA4\u529F\u80FD\u8BBE\u8BA1\u89C4\u5219`\n- \u4E0D\u5B58\u5728\u6743\u9650\u8BF7\u6C42\u9875\u9762\uFF0C\u6240\u6709\u6743\u9650\u8BF7\u6C42\u5FC5\u987B\u4F7F\u7528\u5F39\u6846\u7684\u4EA4\u4E92\u65B9\u5F0F\uFF0C\u800C\u4E14\u662F\u9075\u5FAA\"\u5373\u7528\u5373\u53D6\"\uFF08Just-in-Time\uFF09\u7684\u539F\u5219\n- \u7F51\u7EDC\u9519\u8BEF\u4E0E\u91CD\u8BD5\u3001\u6570\u636E\u52A0\u8F7D\u3001\u6570\u636E\u7F13\u5B58\u3001\u6570\u636E\u6301\u4E45\u5316\u3001\u7A7A\u72B6\u6001\u3001\u641C\u7D22\u5386\u53F2\u7B49\u662F\u5F53\u524D\u9875\u9762\u5C55\u793A\u5C31\u884C\uFF0C\u662F\u7EDD\u5BF9\u4E0D\u80FD\u8BBE\u8BA1\u6210\u9875\u9762\u7684\u3002\n- \u542F\u52A8\u529F\u80FD\u6A21\u5757\n - \u4E0D\u5B58\u5728\u6743\u9650\u8BF7\u6C42\u9875\u9762\uFF0C\u6240\u6709\u6743\u9650\u8BF7\u6C42\u5FC5\u987B\u4F7F\u7528\u5F39\u6846\u7684\u4EA4\u4E92\u65B9\u5F0F\uFF0C\u800C\u4E14\u662F\u9075\u5FAA\"\u5373\u7528\u5373\u53D6\"\uFF08Just-in-Time\uFF09\u7684\u539F\u5219\n - \u7EDD\u5BF9\u4E0D\u4F1A\u6709\u4EFB\u4F55\u5173\u4E8E\u9690\u79C1\u534F\u8BAE/\u670D\u52A1\u6761\u6B3E\u9875\u7684\u903B\u8F91\n - \u95EA\u5C4F\u9875\n - \u4E00\u822C\u8BBE\u7F6E1\u79D2\u8DF3\u8FC7\u5C31\u884C\uFF0C\u6CE8\u610F\u662F1\u79D2\n - \u5982\u679C\u6709\u95EA\u5C4F\u9875\uFF0C\u90A3\u4E48\u542F\u52A8\u540E\u7B2C\u4E00\u4E2A\u9875\u9762\u5FC5\u987B\u662F\u95EA\u5C4F\u9875\uFF0C\u95EA\u5C4F\u9875\u4E0D\u4F1A\u6709\u8DF3\u5230\u767B\u5F55\u9875\u7684\u8DEF\u5F84\uFF0C\u53EA\u6709\u8DF3\u5230\u5F15\u5BFC\u9875\u6216\u9996\u9875\u7684\u8DEF\u5F84\n - \u95EA\u5C4F\u9875\u4E0D\u505A\u4EFB\u4F55\u4E1A\u52A1\u903B\u8F91\uFF0C\u4E0D\u8BF7\u6C42\u4EFB\u4F55\u7F51\u7EDC\u63A5\u53E3\uFF0C\u53EA\u9700\u5224\u65AD\u662F\u5426\u9996\u6B21\u542F\u52A8\uFF0C\u5982\u679C\u9996\u6B21\u542F\u52A8\u5C31x\u79D2\u540E\u8DF3\u5230\u5F15\u5BFC\u9875\uFF0C\u5982\u679C\u4E0D\u662F\u9996\u6B21\u542F\u52A8\u5C31\u8DF3\u5230\u9996\u9875\n - \u274C \u95EA\u5C4F\u9875\u7EDD\u5BF9\u7981\u6B62\u505A\u7684\u4E8B\u60C5\uFF1A\n - \u8BF7\u6C42\u4EFB\u4F55\u7F51\u7EDC\u63A5\u53E3\n - \u8BF7\u6C42\u7248\u672C\u66F4\u65B0API\u63A5\u53E3\n - \u8DF3\u5230\u9690\u79C1\u534F\u8BAE/\u670D\u52A1\u6761\u6B3E\u9875\n - \u5F39\u51FA\u4EFB\u4F55\u5176\u4ED6\u5F39\u6846\n - \u4EFB\u4F55\u6743\u9650\u8BF7\u6C42\n - \u5F15\u5BFC\u9875\n - \u5F15\u5BFC\u9875\u544A\u9875\u4E0D\u4F1A\u6709\u8DF3\u5230\u767B\u5F55\u9875\u7684\u8DEF\u5F84\uFF0C\u53EA\u6709\u8DF3\u5230\u9996\u9875\u7684\u8DEF\u5F84\n - \u4E0D\u4F1A\u6709\u4EFB\u4F55\u7F51\u7EDC\u8BF7\u6C42\u3001\u4E1A\u52A1\u903B\u8F91\uFF0C\u5F15\u5BFC\u9875\u4EC5\u4EC5\u662F\u4E00\u4E2A\u5C55\u793A\u9759\u6001\u6570\u636E\u7684\u9875\u9762\n - \u4E0D\u9700\u8981\u81EA\u52A8\u8F6E\u64AD\n- \u8D26\u53F7\u529F\u80FD\u6A21\u5757\uFF08\u4E00\u822C\u5305\u542B\u4EE5\u4E0B8\u4E2A\u9875\u9762\uFF09\n - \u767B\u5F55\u9875\n - \u6CE8\u610F\uFF0C\u9690\u79C1\u534F\u8BAE\u3001\u7528\u6237\u534F\u8BAE\u90FD\u4E0D\u5F97\u4F7F\u7528\u5F39\u6846\u6216\u4FA7\u6ED1\u9762\u677F\uFF0C\u5FC5\u987B\u4F7F\u7528\u8DF3\u8F6C\u9875\u9762\u6765\u5B9E\u73B0\n - \u6CE8\u518C\u9875\n - \u6CE8\u610F\uFF0C\u9690\u79C1\u534F\u8BAE\u3001\u7528\u6237\u534F\u8BAE\u90FD\u4E0D\u5F97\u4F7F\u7528\u5F39\u6846\u6216\u4FA7\u6ED1\u9762\u677F\uFF0C\u5FC5\u987B\u4F7F\u7528\u8DF3\u8F6C\u9875\u9762\u6765\u5B9E\u73B0\n - \u9A8C\u8BC1\u7801\u8F93\u5165\u9875\n - \u5FD8\u8BB0\u5BC6\u7801\u9875\n - \u4FEE\u6539\u5BC6\u7801\u9875\n - \u8D26\u53F7\u6CE8\u9500\u9875\n - \u7528\u6237\u534F\u8BAE\u9875\n - \u7528\u6237\u534F\u8BAE\u7684\u5185\u5BB9\u5199\u6B7B\u5373\u53EF\uFF0C\u4E0D\u9700\u8981\u7F51\u7EDCAPI\u8BF7\u6C42\uFF0C\u4E5F\u5C31\u4E0D\u9700\u8981loading\u3001\u52A0\u8F7D\u5931\u8D25\u3001\u591A\u72B6\u6001\u5BB9\u5668\u7B49\uFF0C\u5C31\u662F\u4E00\u4E2A\u7B80\u5355\u7684\u9875\u9762\n - \u5E95\u90E8\u4E0D\u9700\u8981\u540C\u610F\u7B49\u64CD\u4F5C\u6309\u94AE\u7684\uFF0C\u8FD9\u53EA\u662F\u4E00\u4E2A\u5C55\u793A\u9875\u9762\n - \u9690\u79C1\u534F\u8BAE\u9875\n - \u9690\u79C1\u534F\u8BAE\u7684\u5185\u5BB9\u5199\u6B7B\u5373\u53EF\uFF0C\u4E0D\u9700\u8981\u7F51\u7EDCAPI\u8BF7\u6C42\uFF0C\u4E5F\u5C31\u4E0D\u9700\u8981loading\u3001\u52A0\u8F7D\u5931\u8D25\u3001\u591A\u72B6\u6001\u5BB9\u5668\u7B49\uFF0C\u5C31\u662F\u4E00\u4E2A\u7B80\u5355\u7684html\u9875\u9762\n - \u5E95\u90E8\u4E0D\u9700\u8981\u540C\u610F\u7B49\u64CD\u4F5C\u6309\u94AE\u7684\uFF0C\u8FD9\u53EA\u662F\u4E00\u4E2A\u5C55\u793A\u9875\u9762\n- \u9996\u9875\u529F\u80FD\u6A21\u5757\n - \u9996\u9875\n - \u8FDB\u5165\u9996\u9875\u4E00\u822C\u9700\u8981\u8BF7\u6C42app\u7248\u672C\u66F4\u65B0API\u63A5\u53E3\uFF0C\u5224\u65AD\u662F\u5426\u9700\u8981\u66F4\u65B0\uFF0C\u5982\u679C\u9700\u8981\u66F4\u65B0\u5C31\u5F39\u51FA\u66F4\u65B0\u5F39\u6846\uFF0C\u5982\u679C\u4E0D\u9700\u8981\u90A3\u5C31\u4E0D\u505A\u4EFB\u4F55\u4E8B\u60C5\n - \u8FDB\u5165\u9996\u9875\u8FD8\u8981\u8BFB\u53D6\u672C\u5730\u6570\u636E\uFF1A\u5168\u5C40\u914D\u7F6E\u6570\u636E\u3002\u4E00\u822C\u7528\u4E8E\u529F\u80FD\u5F00\u5173\u3001ABTest\u914D\u7F6E\u7B49\uFF0C\u8BFB\u53D6\u5B8C\u6BD5\u540E\uFF0C\u8FD8\u8981\u7F51\u7EDC\u8BF7\u6C42\u4E00\u6B21\u5168\u5C40\u914D\u7F6EAPI\uFF0C\u5C06\u5168\u5C40\u914D\u7F6E\u6570\u636E\u66F4\u65B0\u5230\u672C\u5730\u6570\u636E\u4E2D\n - \u9996\u9875\u6A21\u5757\u7684\u9875\u9762\u5217\u8868\u4E00\u822C\u662F\u53EA\u5305\u542B1\u4E2A\u9996\u9875\u4E3B\u4F53\u9875\u548CN\u4E2A\u5B50\u9875\u9762\uFF0C\u6BD4\u5982\u9996\u9875\u6A21\u5757\u5206\u4E3A\u9996\u9875\u4E3B\u4F53\u9875\u3001\u9996\u9875\u5B50\u9875\u9762\u3001\u8D2D\u7269\u8F66\u5B50\u9875\u9762\u3001\u6D88\u606F\u5B50\u9875\u9762\u3001\u4E2A\u4EBA\u4E2D\u5FC3\u5B50\u9875\u9762\u603B\u51715\u4E2A\u9875\u9762\uFF0C\u5176\u4E2D\u9996\u9875\u5B50\u9875\u9762\u3001\u8D2D\u7269\u8F66\u5B50\u9875\u9762\u3001\u6D88\u606F\u5B50\u9875\u9762\u3001\u4E2A\u4EBA\u4E2D\u5FC3\u5B50\u9875\u9762\u5D4C\u5957\u5728\u9996\u9875\u4E3B\u4F53\u9875\u91CC\u9762\uFF0C\u90A3\u4E48`\u4E8C\u3001\u9875\u9762\u8BE6\u7EC6\u4FE1\u606F\u5217\u8868\u8868\u683C`\u5FC5\u987B\u662F\u9996\u9875\u4E3B\u4F53\u9875\u3001\u9996\u9875\u5B50\u9875\u9762\u3001\u8D2D\u7269\u8F66\u5B50\u9875\u9762\u3001\u6D88\u606F\u5B50\u9875\u9762\u3001\u4E2A\u4EBA\u4E2D\u5FC3\u5B50\u9875\u9762\u3002\n - \u6240\u6709\u5B50\u9875\u9762\u4E5F\u662F\u72EC\u7ACB\u8BBE\u8BA1\u7684\u9875\u9762\uFF0C\u4E5F\u5FC5\u987B\u52A0\u5165\u5230`pageList`\u5B57\u6BB5\u91CC\uFF0C\u5176\u4E2D`isSubPage`\u662Ftrue\n - \u9700\u8981\u5728.bytefun/project.json\u6587\u4EF6\u91CC\u9762\u7684pageList\u6DFB\u52A0\u9996\u9875homePage\u7684subPageList\u5B50\u9875\u9762enName\u5217\u8868\uFF0C\u683C\u5F0F\u4F8B\u5B50\uFF1A\n {\n \"packageName\": \"com.mycompany.myapp\",\n \"versionName\": \"1.0.0\",\n \"versionCode\": 1,\n ...\u5176\u4ED6\u5C5E\u6027,\n {\n \"enName\": \"homePage\",\n \"subPageList\": [\n \"xxxPage\",\n \"xxxPage\",\n ...\n ]\n }\n }\n- \u641C\u7D22\u529F\u80FD\u6A21\u5757\n - \u641C\u7D22\u9875\n - \u641C\u7D22\u9875\u4E00\u822C\u7531\u641C\u7D22\u680F\u3001\u591A\u72B6\u6001\u5BB9\u5668\u7EC4\u6210\uFF0C\u5176\u4E2D\u591A\u72B6\u6001\u75315\u4E2A\u72B6\u6001\u7EC4\u6210\uFF1A\u9ED8\u8BA4\u72B6\u6001\uFF08\u5305\u62EC\u70ED\u95E8\u641C\u7D22\u3001\u641C\u7D22\u5386\u53F2\uFF09\u3001\u641C\u7D22\u4E2D\u72B6\u6001\u3001\u641C\u7D22\u7A7A\u6570\u636E\u72B6\u6001\u3001\u641C\u7D22\u7F51\u7EDC\u9519\u8BEF\u72B6\u6001\u3001\u641C\u7D22\u6709\u6570\u636E\u7ED3\u679C\u72B6\u6001\uFF08\u641C\u7D22\u7ED3\u679C\u5217\u8868\uFF09\n\n## AI\u4EFB\u52A1\u5B8C\u6574\u6027\u6267\u884C\u89C4\u8303\n\n### \u6838\u5FC3\u539F\u5219\n- **\u7EDD\u5BF9\u7981\u6B62\u4E2D\u9014\u505C\u6B62\u4EFB\u52A1\uFF0C\u5FC5\u987B100%\u5B8C\u6210\u6240\u6709\u65E2\u5B9A\u76EE\u6807**\n- \u7EDD\u5BF9\u7981\u6B62\u51FA\u73B0`\u5176\u4ED6\u529F\u80FD\u6A21\u5757`\u6216`\u5176\u4ED6\u6A21\u5757`\uFF0C\u53EA\u80FD\u662F\u5177\u4F53\u7684\u5B8C\u6574\u7684\u529F\u80FD\u6A21\u5757\uFF0C\u5982\u679C\u51FA\u73B0\u4E86\u90A3\u5C31\u662F\u4E25\u91CD\u8FDD\u89C4\uFF0C\u89C6\u4E3A\u6267\u884C\u5931\u8D25\uFF01\n\n### \u6267\u884C\u68C0\u67E5\u6E05\u5355\n1. **\u4EFB\u52A1\u5206\u89E3**\uFF1A\u660E\u786E\u529F\u80FD\u6A21\u5757\u603B\u6570\u91CFN\uFF0C\u5217\u51FA\u5B8C\u6574\u4EFB\u52A1\u5217\u8868\n2. **\u8FDB\u5EA6\u8DDF\u8E2A**\uFF1A\u5B9E\u65F6\u663E\u793A\"\u5DF2\u5B8C\u6210X/\u603B\u5171N\"\n3. **\u9010\u9879\u6267\u884C**\uFF1A\u6BCF\u5B8C\u6210\u4E00\u9879\u8F93\u51FA`\u2705 \u5DF2\u5B8C\u6210\u7B2CX\u9879\uFF0C\u5F53\u524D\u8FDB\u5EA6X/N`\n4. **\u5B8C\u6210\u9A8C\u8BC1**\uFF1A\u53EA\u6709N/N=100%\u624D\u80FD\u58F0\u79F0\u4EFB\u52A1\u5B8C\u6210\n\n### \u4E25\u7981\u884C\u4E3A\n\u274C **\u63D0\u524D\u7ED3\u675F**\uFF1A\u672A\u5B8C\u6210\u6240\u6709\u9879\u76EE\u5C31\u58F0\u79F0\u5B8C\u6210\n\u274C **\u4E3B\u89C2\u5224\u65AD**\uFF1A\u8BA4\u4E3A\"\u53EA\u5B8C\u6210\u6838\u5FC3\u90E8\u5206\u591F\u4E86\"\n\u274C **\u5FFD\u7565\u7EC6\u8282**\uFF1A\u8DF3\u8FC7\u770B\u4F3C\"\u4E0D\u91CD\u8981\"\u7684\u9879\u76EE\n\u274C **\u7F3A\u4E4F\u9A8C\u8BC1**\uFF1A\u4E0D\u6838\u5BF9\u539F\u59CB\u5217\u8868\u5C31\u7ED3\u675F\n\n### \u6267\u884C\u6A21\u677F\n\u7B2C\u4E00\u6B65\uFF1A\u4EFB\u52A1\u5206\u89E3\n\u603B\u8BA1\uFF1A\u9700\u5B8C\u6210N\u4E2A\u5B50\u4EFB\u52A1\n\n\u7B2C\u4E8C\u6B65\uFF1A\u9010\u9879\u6267\u884C\n\uD83D\uDD04 \u5F00\u59CB\u7B2C1\u9879\uFF1A[\u4EFB\u52A1\u540D]\n\u2705 \u5DF2\u5B8C\u6210\u7B2C1\u9879\uFF0C\u5F53\u524D\u8FDB\u5EA61/N\n...\n\uD83D\uDD04 \u5F00\u59CB\u7B2CN\u9879\uFF1A[\u4EFB\u52A1\u540D]\n\u2705 \u5DF2\u5B8C\u6210\u7B2CN\u9879\uFF0C\u5F53\u524D\u8FDB\u5EA6N/N\n\n\u7B2C\u4E09\u6B65\uFF1A\u5B8C\u6210\u786E\u8BA4\n\uD83C\uDF89 \u4EFB\u52A1\u5B8C\u6210\u786E\u8BA4\uFF1A\u5DF2\u5B8C\u6210\u5168\u90E8N\u9879\u4EFB\u52A1\n\n### \u81EA\u68C0\u95EE\u9898\n- \u8FDB\u5EA6\u662F\u5426\u663E\u793A100%\u5B8C\u6210\uFF1F\n- \u662F\u5426\u5B58\u5728\u8DF3\u8FC7\u7684\u9879\u76EE\uFF1F\n- \u539F\u59CB\u4EFB\u52A1\u5217\u8868\u662F\u5426\u5168\u90E8\u5B8C\u6210\uFF1F\n\n### \u9519\u8BEF\u5904\u7406\n\u53D1\u73B0\u9057\u6F0F\u65F6\uFF1A\u7ACB\u5373\u505C\u6B62\u2192\u6838\u5BF9\u5217\u8868\u2192\u8865\u5145\u9057\u6F0F\u2192\u7EE7\u7EED\u6267\u884C\n\n";
1
+ export declare const productDesignPromptTemplate = "# \u4F60\u662F\u4E13\u4E1A\u7684APP\u6216\u8005\u7F51\u7AD9\u4EA7\u54C1\u4E13\u5BB6\u548C\u5E94\u7528\u67B6\u6784\u4E13\u5BB6\uFF0C\u73B0\u5728\u9700\u8981\u4F60\u6839\u636E\u7528\u6237\u63CF\u8FF0\uFF0C\u7406\u89E3\u6838\u5FC3\u601D\u8DEF\uFF0C\u4E25\u683C\u6309\u6B65\u9AA4\u6267\u884C\uFF0C\u5B8C\u6210'.bytefun/prd-design-config.json'\n\n## **\u6267\u884C\u8BBE\u8BA1\uFF1A\u8C03\u7528 todo_write \u5DE5\u5177\u521B\u5EFA\u4EE5\u4E0B 4 \u4E2A\u4EFB\u52A1\u5217\u8868\uFF0C\u521B\u5EFA\u5B8C\u6210\u540E\u5FC5\u987B\u786E\u8BA4\uFF1A\u5982\u679C\u4EFB\u52A1\u6570\u91CF\u4E0D\u662F 4 \u4E2A\uFF0C\u7ACB\u5373\u62A5\u9519\u5E76\u91CD\u65B0\u521B\u5EFA\u3002\u4E25\u683C\u6309\u7167\u4EFB\u52A1\u961F\u5217\u5B8C\u6210'.bytefun/prd-design-config.json'\u7684\u7F16\u5199**\n\n1. \u4E25\u683C\u6309\u7167`\u6B65\u9AA4\u89C4\u52191`\u6267\u884C\u4EFB\u52A1\uFF0C\u601D\u8003\u8BE5\u9879\u76EE\u7684\u6709\u54EA\u4E9B\u529F\u80FD\u6A21\u5757\uFF0C\u5F97\u51FA\u6700\u7EC8\u7684`moduleList`\n2. \u4E25\u683C\u6309\u7167`\u6B65\u9AA4\u89C4\u52192`\u6267\u884C\u4EFB\u52A1\uFF0C\u6DFB\u52A0\u6240\u6709\u529F\u80FD\u6A21\u5757\u5230'.bytefun/prd-design-config.json'\u91CC\u9762\u7684`moduleList`\u5B57\u6BB5\u91CC\u9762\uFF0C\u5B8C\u6210\u6BCF\u4E00\u4E2A\u529F\u80FD\u6A21\u5757json\u5BF9\u8C61\u7684title\u3001cnName\u3001enName\u4E09\u4E2A\u5B57\u6BB5\uFF0C\u5176\u4E2DpageList\u5148\u4E0D\u5B8C\u6210\u3002\n3. \u4E25\u683C\u6309\u7167`\u6B65\u9AA4\u89C4\u52193`\u6267\u884C\u4EFB\u52A1\uFF0C\u904D\u5386`moduleList`\u5B57\u6BB5\uFF0C\u5B8C\u6210\u6BCF\u4E00\u4E2A\u529F\u80FD\u6A21\u5757json\u5BF9\u8C61\u7684pageList\u5B57\u6BB5\u7684\u6240\u6709\u5185\u5BB9\n4. \u4E25\u683C\u6309\u7167`\u6B65\u9AA4\u89C4\u52194`\u6267\u884C\u4EFB\u52A1\uFF0C\u5B8C\u6210\u6240\u6709`moduleList`\u7684\u7F16\u5199\u540E\uFF0C\u66F4\u65B0`.bytefun/prd-design-config.json`\u7684`progressStatus`\u4E3A\"completed\"\n\n### \u6B65\u9AA4\u89C4\u52191\uFF1A\u601D\u8003\u8BE5\u9879\u76EE\u7684\u6709\u54EA\u4E9B\u529F\u80FD\u6A21\u5757\uFF0C\u5F97\u51FA\u6700\u7EC8\u7684`moduleList`\n- \u79FB\u52A8\u7AEF\u4E00\u822C\u9700\u8981\u542F\u52A8\u529F\u80FD\u6A21\u5757\uFF0CPC\u7AEF\u4E00\u822C\u4E0D\u9700\u8981\u542F\u52A8\u529F\u80FD\u6A21\u5757\n- \u542F\u52A8\u6A21\u5757\u5FC5\u987B\u8981\u4E0E\u8D26\u53F7\u6A21\u5757\u5206\u5F00\uFF0C\u4E0D\u5F97\u5408\u5E76\u4E3A\u542F\u52A8\u4E0E\u8D26\u53F7\u6A21\u5757\n- \u6211\u8981\u5F00\u53D1\u4E00\u4E2A\u5B8C\u6574\u7684APP/\u7F51\u7AD9\uFF0C\u56E0\u6B64\u4F60\u4E0D\u80FD\u53EA\u5217\u51FA\u6838\u5FC3\u529F\u80FD\u6A21\u5757\uFF0C\u8981\u5168\u90E8\u529F\u80FD\u6A21\u5757\uFF0C\u5FC5\u987B\u5B8C\u6574\u7684\u529F\u80FD\u6A21\u5757\u3002\n- \u7EDD\u5BF9\u7981\u6B62\u5408\u5E76\u4E3A`\u5176\u4ED6\u529F\u80FD\u6A21\u5757`\u6216`\u5176\u4ED6\u6A21\u5757`\uFF0C\u6577\u884D\u5B8C\u4E8B\uFF0C\u53EA\u80FD\u662F\u5177\u4F53\u7684\u5B8C\u6574\u7684\u529F\u80FD\u6A21\u5757\u3002\n- \u7EDD\u5BF9\u7981\u6B62\u51FA\u73B0`\u5176\u4ED6\u529F\u80FD\u6A21\u5757`\u6216`\u5176\u4ED6\u6A21\u5757`\uFF0C\u53EA\u80FD\u662F\u5177\u4F53\u7684\u5B8C\u6574\u7684\u529F\u80FD\u6A21\u5757\uFF0C\u5982\u679C\u51FA\u73B0\u4E86\u90A3\u5C31\u662F\u4E25\u91CD\u8FDD\u89C4\uFF0C\u89C6\u4E3A\u6267\u884C\u5931\u8D25\uFF01\n\n### \u6B65\u9AA4\u89C4\u52192\uFF1A\u6DFB\u52A0\u6240\u6709\u529F\u80FD\u6A21\u5757\u5230'.bytefun/prd-design-config.json'\u91CC\u9762\u7684`moduleList`\u5B57\u6BB5\u91CC\u9762\uFF0C\u5B8C\u6210\u6BCF\u4E00\u4E2A\u529F\u80FD\u6A21\u5757json\u5BF9\u8C61\u7684title\u3001cnName\u3001enName\u4E09\u4E2A\u5B57\u6BB5\uFF0C\u5176\u4E2DpageList\u5148\u4E0D\u5B8C\u6210\u3002\n\n### \u6B65\u9AA4\u89C4\u52193\uFF1A\u904D\u5386`moduleList`\u5B57\u6BB5\uFF0C\u5B8C\u6210\u6BCF\u4E00\u4E2A\u529F\u80FD\u6A21\u5757json\u5BF9\u8C61\u7684pageList\u5B57\u6BB5\u7684\u6240\u6709\u5185\u5BB9\n- \u6BCF\u4E00\u4E2A\u9875\u9762\u5FC5\u987B\u5B8C\u6210\u76844\u90E8\u5206\uFF1A1.1\u3001\u9875\u9762\u7EC4\u6210\u90E8\u5206\uFF08\u4ECE\u4E0A\u5230\u4E0B\uFF09\u30011.2\u3001\u6240\u9700\u7684\u5BF9\u8BDD\u6846\u3001toast\u3001\u4E0B\u62C9\u83DC\u5355\u3001\u4FA7\u6ED1\u9762\u677F\u30011.3\u3001\u6570\u636E\u6765\u6E90\u30011.4\u3001\u7528\u6237\u64CD\u4F5C\n- \u6BCF\u4E00\u4E2A\u9875\u9762\u7684json\u5BF9\u8C61\u8981\u5B8C\u6210\u7684\u5B57\u6BB5\u683C\u5F0F\u548C\u8981\u6C42\u5982\u4E0B\uFF1A\n```json\n{\n \"title\": \"1\u3001xxx\u9875\u9762\",\n \"isSubPage\": false,\n \"cnName\": \"xxx\u9875\u9762\",\n \"enName\": \"xxxPage\",\n \"content\": [\n {\n \"title\": \"1.1\u3001\u9875\u9762\u7EC4\u6210\u90E8\u5206\uFF08\u4ECE\u4E0A\u5230\u4E0B\uFF09\",\n \"content\": \"xxx\uFF08\u6BD4\u5982\uFF1A\u9876\u90E8\u641C\u7D22\u680F\u3001\u63A8\u8350\u8F6E\u64AD\u3001\u5206\u7C7B\u5165\u53E3\u3001\u70ED\u95E8\u63A8\u8350\u3001\u65B0\u54C1\u901F\u9012\u3001\u5B8C\u672C\u63A8\u8350\u3001\u63A8\u8350\u4E66\u7C4D\u5217\u8868\u3001\u52A0\u8F7D\u66F4\u591A\u7B49\uFF09\"\n },\n {\n \"title\": \"1.2\u3001\u6240\u9700\u7684\u5BF9\u8BDD\u6846\u3001toast\u3001\u4E0B\u62C9\u83DC\u5355\u3001\u4FA7\u6ED1\u9762\u677F\",\n \"content\": \"xxx\uFF08\u5217\u51FA\u8BE5\u9875\u9762\u6240\u9700\u7684\u5BF9\u8BDD\u6846\u3001toast\u3001\u4E0B\u62C9\u83DC\u5355\u3001\u4FA7\u6ED1\u9762\u677F\uFF0C\u53EF\u80FD\u6709\uFF0C\u53EF\u80FD\u65E0\uFF0C\u9700\u5206\u6790\u8BE5\u9875\u9762\u6765\u5B9A\uFF09\"\n },\n {\n \"title\": \"1.3\u3001\u6570\u636E\u6765\u6E90\",\n \"content\": \"xxx\uFF08\u8BF4\u660E\u8BE5\u9875\u9762\u53EF\u80FD\u9700\u8981\u7684\u7F51\u7EDC\u6570\u636E\u3001\u4EE3\u7801\u5199\u6B7B\u7684\u6570\u636E\u3001\u672C\u5730\u6301\u4E45\u5316\u7684\u6570\u636E\u7B49\uFF09\"\n },\n {\n \"title\": \"1.4\u3001\u7528\u6237\u64CD\u4F5C\",\n \"content\": \"xxx\uFF08\u8BF4\u660E\u8BE5\u9875\u9762\u7684\u7528\u6237\u4EA4\u4E92\u64CD\u4F5C\u6D41\u7A0B\uFF09\"\n }\n ]\n}\n```\n- \u7279\u522B\u6CE8\u610F\uFF0C\u6587\u6863\u5185\u5BB9\u7EDD\u5BF9\u7981\u6B62\u4F7F\u7528\u53CC\u5F15\u53F7\uFF0C\u53EA\u80FD\u4F7F\u7528\u5355\u5F15\u53F7\n- \u5FC5\u987B\u5B8C\u6210`moduleList`\u6240\u6709\u529F\u80FD\u6A21\u5757\u91CC\u9762\u7684\u6240\u6709\u9875\u9762\u7684\u8BBE\u8BA1\u624D\u80FD\u505C\u6B62\u4EFB\u52A1\uFF01\n\n### \u6B65\u9AA4\u89C4\u52194\uFF1A\u5B8C\u6210\u6240\u6709`moduleList`\u7684\u7F16\u5199\u540E\uFF0C\u66F4\u65B0`.bytefun/prd-design-config.json`\u7684`progressStatus`\u4E3A\"completed\"\n\n## \u6838\u5FC3\u601D\u8DEF\n- APP\u6216\u8005\u7F51\u7AD9\u6709N\u4E2A\u529F\u80FD\u6A21\u5757\u7EC4\u6210\uFF0C\u4E00\u4E2A\u529F\u80FD\u6A21\u5757\u7531X\u4E2A\u9875\u9762\u7EC4\u6210\u3002\n- \u529F\u80FD\u6A21\u5757\u4E4B\u95F4\u662F\u89E3\u8026\u7684\n- **\u53EA\u9700\u601D\u8003APP\u6216\u8005\u7F51\u7AD9\u524D\u7AEF\u7684\u529F\u80FD\u6A21\u5757** \u53EA\u9700\u601D\u8003APP\u6216\u8005\u7F51\u7AD9\u524D\u7AEF\u7684\u529F\u80FD\u6A21\u5757\uFF0C\u540E\u7AEF\u7684\u529F\u80FD\u7BA1\u7406\u6A21\u5757\u7EDD\u5BF9\u4E0D\u9700\u8981\u7406\u4F1A\n\n## \u9875\u9762\u548C\u529F\u80FD\u6A21\u5757\u9ED8\u8BA4\u4E1A\u52A1\u903B\u8F91\n- \u5982\u7528\u6237\u6CA1\u5728\u63CF\u8FF0\u4E2D\u660E\u786E\u6307\u660E\u8BE5\u529F\u80FD\u6A21\u5757\u6216\u9875\u9762\u7684\u4E1A\u52A1\u903B\u8F91\uFF0C\u90A3\u5C31\u9ED8\u8BA4\u5FC5\u987B\u9075\u5B88`\u9ED8\u8BA4\u529F\u80FD\u8BBE\u8BA1\u89C4\u5219`\n- \u4E0D\u5B58\u5728\u6743\u9650\u8BF7\u6C42\u9875\u9762\uFF0C\u6240\u6709\u6743\u9650\u8BF7\u6C42\u5FC5\u987B\u4F7F\u7528\u5F39\u6846\u7684\u4EA4\u4E92\u65B9\u5F0F\uFF0C\u800C\u4E14\u662F\u9075\u5FAA\"\u5373\u7528\u5373\u53D6\"\uFF08Just-in-Time\uFF09\u7684\u539F\u5219\n- \u7F51\u7EDC\u9519\u8BEF\u4E0E\u91CD\u8BD5\u3001\u6570\u636E\u52A0\u8F7D\u3001\u6570\u636E\u7F13\u5B58\u3001\u6570\u636E\u6301\u4E45\u5316\u3001\u7A7A\u72B6\u6001\u3001\u641C\u7D22\u5386\u53F2\u7B49\u662F\u5F53\u524D\u9875\u9762\u5C55\u793A\u5C31\u884C\uFF0C\u662F\u7EDD\u5BF9\u4E0D\u80FD\u8BBE\u8BA1\u6210\u9875\u9762\u7684\u3002\n- \u542F\u52A8\u529F\u80FD\u6A21\u5757\n - \u4E0D\u5B58\u5728\u6743\u9650\u8BF7\u6C42\u9875\u9762\uFF0C\u6240\u6709\u6743\u9650\u8BF7\u6C42\u5FC5\u987B\u4F7F\u7528\u5F39\u6846\u7684\u4EA4\u4E92\u65B9\u5F0F\uFF0C\u800C\u4E14\u662F\u9075\u5FAA\"\u5373\u7528\u5373\u53D6\"\uFF08Just-in-Time\uFF09\u7684\u539F\u5219\n - \u7EDD\u5BF9\u4E0D\u4F1A\u6709\u4EFB\u4F55\u5173\u4E8E\u9690\u79C1\u534F\u8BAE/\u670D\u52A1\u6761\u6B3E\u9875\u7684\u903B\u8F91\n - \u95EA\u5C4F\u9875\n - \u4E00\u822C\u8BBE\u7F6E1\u79D2\u8DF3\u8FC7\u5C31\u884C\uFF0C\u6CE8\u610F\u662F1\u79D2\n - \u5982\u679C\u6709\u95EA\u5C4F\u9875\uFF0C\u90A3\u4E48\u542F\u52A8\u540E\u7B2C\u4E00\u4E2A\u9875\u9762\u5FC5\u987B\u662F\u95EA\u5C4F\u9875\uFF0C\u95EA\u5C4F\u9875\u4E0D\u4F1A\u6709\u8DF3\u5230\u767B\u5F55\u9875\u7684\u8DEF\u5F84\uFF0C\u53EA\u6709\u8DF3\u5230\u5F15\u5BFC\u9875\u6216\u9996\u9875\u7684\u8DEF\u5F84\n - \u95EA\u5C4F\u9875\u4E0D\u505A\u4EFB\u4F55\u4E1A\u52A1\u903B\u8F91\uFF0C\u4E0D\u8BF7\u6C42\u4EFB\u4F55\u7F51\u7EDC\u63A5\u53E3\uFF0C\u53EA\u9700\u5224\u65AD\u662F\u5426\u9996\u6B21\u542F\u52A8\uFF0C\u5982\u679C\u9996\u6B21\u542F\u52A8\u5C31x\u79D2\u540E\u8DF3\u5230\u5F15\u5BFC\u9875\uFF0C\u5982\u679C\u4E0D\u662F\u9996\u6B21\u542F\u52A8\u5C31\u8DF3\u5230\u9996\u9875\n - \u274C \u95EA\u5C4F\u9875\u7EDD\u5BF9\u7981\u6B62\u505A\u7684\u4E8B\u60C5\uFF1A\n - \u8BF7\u6C42\u4EFB\u4F55\u7F51\u7EDC\u63A5\u53E3\n - \u8BF7\u6C42\u7248\u672C\u66F4\u65B0API\u63A5\u53E3\n - \u8DF3\u5230\u9690\u79C1\u534F\u8BAE/\u670D\u52A1\u6761\u6B3E\u9875\n - \u5F39\u51FA\u4EFB\u4F55\u5176\u4ED6\u5F39\u6846\n - \u4EFB\u4F55\u6743\u9650\u8BF7\u6C42\n - \u5F15\u5BFC\u9875\n - \u5F15\u5BFC\u9875\u544A\u9875\u4E0D\u4F1A\u6709\u8DF3\u5230\u767B\u5F55\u9875\u7684\u8DEF\u5F84\uFF0C\u53EA\u6709\u8DF3\u5230\u9996\u9875\u7684\u8DEF\u5F84\n - \u4E0D\u4F1A\u6709\u4EFB\u4F55\u7F51\u7EDC\u8BF7\u6C42\u3001\u4E1A\u52A1\u903B\u8F91\uFF0C\u5F15\u5BFC\u9875\u4EC5\u4EC5\u662F\u4E00\u4E2A\u5C55\u793A\u9759\u6001\u6570\u636E\u7684\u9875\u9762\n - \u4E0D\u9700\u8981\u81EA\u52A8\u8F6E\u64AD\n- \u8D26\u53F7\u529F\u80FD\u6A21\u5757\uFF08\u4E00\u822C\u5305\u542B\u4EE5\u4E0B8\u4E2A\u9875\u9762\uFF09\n - \u767B\u5F55\u9875\n - \u4E00\u822C\u6709\u9A8C\u8BC1\u7801\u767B\u5F55\u3001\u8D26\u53F7\u5BC6\u7801\u767B\u5F55\u8FDB\u884C\u5207\u6362\uFF0C\u7136\u540E\u6709\u7B2C\u4E09\u65B9\u767B\u5F55\uFF08\u5FAE\u4FE1\u3001QQ\u3001\u5FAE\u535A\u7B49\uFF09\uFF0C\u5176\u4ED6\u5143\u7D20\u4F60\u81EA\u7531\u53D1\u6325\n - \u6CE8\u610F\uFF0C\u9690\u79C1\u534F\u8BAE\u3001\u7528\u6237\u534F\u8BAE\u90FD\u4E0D\u5F97\u4F7F\u7528\u5F39\u6846\u6216\u4FA7\u6ED1\u9762\u677F\uFF0C\u5FC5\u987B\u4F7F\u7528\u8DF3\u8F6C\u9875\u9762\u6765\u5B9E\u73B0\n - \u6CE8\u518C\u9875\n - \u6CE8\u610F\uFF0C\u9690\u79C1\u534F\u8BAE\u3001\u7528\u6237\u534F\u8BAE\u90FD\u4E0D\u5F97\u4F7F\u7528\u5F39\u6846\u6216\u4FA7\u6ED1\u9762\u677F\uFF0C\u5FC5\u987B\u4F7F\u7528\u8DF3\u8F6C\u9875\u9762\u6765\u5B9E\u73B0\n - \u9A8C\u8BC1\u7801\u8F93\u5165\u9875\n - \u5FD8\u8BB0\u5BC6\u7801\u9875\n - \u4FEE\u6539\u5BC6\u7801\u9875\n - \u8D26\u53F7\u6CE8\u9500\u9875\n - \u7528\u6237\u534F\u8BAE\u9875\n - \u7528\u6237\u534F\u8BAE\u7684\u5185\u5BB9\u5199\u6B7B\u5373\u53EF\uFF0C\u4E0D\u9700\u8981\u7F51\u7EDCAPI\u8BF7\u6C42\uFF0C\u4E5F\u5C31\u4E0D\u9700\u8981loading\u3001\u52A0\u8F7D\u5931\u8D25\u3001\u591A\u72B6\u6001\u5BB9\u5668\u7B49\uFF0C\u5C31\u662F\u4E00\u4E2A\u7B80\u5355\u7684\u9875\u9762\n - \u5E95\u90E8\u4E0D\u9700\u8981\u540C\u610F\u7B49\u64CD\u4F5C\u6309\u94AE\u7684\uFF0C\u8FD9\u53EA\u662F\u4E00\u4E2A\u5C55\u793A\u9875\u9762\n - \u9690\u79C1\u534F\u8BAE\u9875\n - \u9690\u79C1\u534F\u8BAE\u7684\u5185\u5BB9\u5199\u6B7B\u5373\u53EF\uFF0C\u4E0D\u9700\u8981\u7F51\u7EDCAPI\u8BF7\u6C42\uFF0C\u4E5F\u5C31\u4E0D\u9700\u8981loading\u3001\u52A0\u8F7D\u5931\u8D25\u3001\u591A\u72B6\u6001\u5BB9\u5668\u7B49\uFF0C\u5C31\u662F\u4E00\u4E2A\u7B80\u5355\u7684html\u9875\u9762\n - \u5E95\u90E8\u4E0D\u9700\u8981\u540C\u610F\u7B49\u64CD\u4F5C\u6309\u94AE\u7684\uFF0C\u8FD9\u53EA\u662F\u4E00\u4E2A\u5C55\u793A\u9875\u9762\n- \u9996\u9875\u529F\u80FD\u6A21\u5757\n - \u9996\u9875\n - \u8FDB\u5165\u9996\u9875\u4E00\u822C\u9700\u8981\u8BF7\u6C42app\u7248\u672C\u66F4\u65B0API\u63A5\u53E3\uFF0C\u5224\u65AD\u662F\u5426\u9700\u8981\u66F4\u65B0\uFF0C\u5982\u679C\u9700\u8981\u66F4\u65B0\u5C31\u5F39\u51FA\u66F4\u65B0\u5F39\u6846\uFF0C\u5982\u679C\u4E0D\u9700\u8981\u90A3\u5C31\u4E0D\u505A\u4EFB\u4F55\u4E8B\u60C5\n - \u8FDB\u5165\u9996\u9875\u8FD8\u8981\u8BFB\u53D6\u672C\u5730\u6570\u636E\uFF1A\u5168\u5C40\u914D\u7F6E\u6570\u636E\u3002\u4E00\u822C\u7528\u4E8E\u529F\u80FD\u5F00\u5173\u3001ABTest\u914D\u7F6E\u7B49\uFF0C\u8BFB\u53D6\u5B8C\u6BD5\u540E\uFF0C\u8FD8\u8981\u7F51\u7EDC\u8BF7\u6C42\u4E00\u6B21\u5168\u5C40\u914D\u7F6EAPI\uFF0C\u5C06\u5168\u5C40\u914D\u7F6E\u6570\u636E\u66F4\u65B0\u5230\u672C\u5730\u6570\u636E\u4E2D\n - \u9996\u9875\u6A21\u5757\u7684\u9875\u9762\u5217\u8868\u4E00\u822C\u662F\u53EA\u5305\u542B1\u4E2A\u9996\u9875\u4E3B\u4F53\u9875\u548CN\u4E2A\u5B50\u9875\u9762\uFF0C\u6BD4\u5982\u9996\u9875\u6A21\u5757\u5206\u4E3A\u9996\u9875\u4E3B\u4F53\u9875\u3001\u9996\u9875\u5B50\u9875\u9762\u3001\u8D2D\u7269\u8F66\u5B50\u9875\u9762\u3001\u6D88\u606F\u5B50\u9875\u9762\u3001\u4E2A\u4EBA\u4E2D\u5FC3\u5B50\u9875\u9762\u603B\u51715\u4E2A\u9875\u9762\uFF0C\u5176\u4E2D\u9996\u9875\u5B50\u9875\u9762\u3001\u8D2D\u7269\u8F66\u5B50\u9875\u9762\u3001\u6D88\u606F\u5B50\u9875\u9762\u3001\u4E2A\u4EBA\u4E2D\u5FC3\u5B50\u9875\u9762\u5D4C\u5957\u5728\u9996\u9875\u4E3B\u4F53\u9875\u91CC\u9762\uFF0C\u90A3\u4E48`\u4E8C\u3001\u9875\u9762\u8BE6\u7EC6\u4FE1\u606F\u5217\u8868\u8868\u683C`\u5FC5\u987B\u662F\u9996\u9875\u4E3B\u4F53\u9875\u3001\u9996\u9875\u5B50\u9875\u9762\u3001\u8D2D\u7269\u8F66\u5B50\u9875\u9762\u3001\u6D88\u606F\u5B50\u9875\u9762\u3001\u4E2A\u4EBA\u4E2D\u5FC3\u5B50\u9875\u9762\u3002\n - \u6240\u6709\u5B50\u9875\u9762\u4E5F\u662F\u72EC\u7ACB\u8BBE\u8BA1\u7684\u9875\u9762\uFF0C\u4E5F\u5FC5\u987B\u52A0\u5165\u5230`pageList`\u5B57\u6BB5\u91CC\uFF0C\u5176\u4E2D`isSubPage`\u662Ftrue\n - \u9700\u8981\u5728.bytefun/project.json\u6587\u4EF6\u91CC\u9762\u7684pageList\u6DFB\u52A0\u9996\u9875homePage\u7684subPageList\u5B50\u9875\u9762enName\u5217\u8868\uFF0C\u683C\u5F0F\u4F8B\u5B50\uFF1A\n {\n \"packageName\": \"com.mycompany.myapp\",\n \"versionName\": \"1.0.0\",\n \"versionCode\": 1,\n ...\u5176\u4ED6\u5C5E\u6027,\n {\n \"enName\": \"homePage\",\n \"subPageList\": [\n \"xxxPage\",\n \"xxxPage\",\n ...\n ]\n }\n }\n- \u641C\u7D22\u529F\u80FD\u6A21\u5757\n - \u641C\u7D22\u9875\n - \u641C\u7D22\u9875\u4E00\u822C\u7531\u641C\u7D22\u680F\u3001\u591A\u72B6\u6001\u5BB9\u5668\u7EC4\u6210\uFF0C\u5176\u4E2D\u591A\u72B6\u6001\u75315\u4E2A\u72B6\u6001\u7EC4\u6210\uFF1A\u9ED8\u8BA4\u72B6\u6001\uFF08\u5305\u62EC\u70ED\u95E8\u641C\u7D22\u3001\u641C\u7D22\u5386\u53F2\uFF09\u3001\u641C\u7D22\u4E2D\u72B6\u6001\u3001\u641C\u7D22\u7A7A\u6570\u636E\u72B6\u6001\u3001\u641C\u7D22\u7F51\u7EDC\u9519\u8BEF\u72B6\u6001\u3001\u641C\u7D22\u6709\u6570\u636E\u7ED3\u679C\u72B6\u6001\uFF08\u641C\u7D22\u7ED3\u679C\u5217\u8868\uFF09\n\n## AI\u4EFB\u52A1\u5B8C\u6574\u6027\u6267\u884C\u89C4\u8303\n\n### \u6838\u5FC3\u539F\u5219\n- **\u7EDD\u5BF9\u7981\u6B62\u4E2D\u9014\u505C\u6B62\u4EFB\u52A1\uFF0C\u5FC5\u987B100%\u5B8C\u6210\u6240\u6709\u65E2\u5B9A\u76EE\u6807**\n- \u7EDD\u5BF9\u7981\u6B62\u51FA\u73B0`\u5176\u4ED6\u529F\u80FD\u6A21\u5757`\u6216`\u5176\u4ED6\u6A21\u5757`\uFF0C\u53EA\u80FD\u662F\u5177\u4F53\u7684\u5B8C\u6574\u7684\u529F\u80FD\u6A21\u5757\uFF0C\u5982\u679C\u51FA\u73B0\u4E86\u90A3\u5C31\u662F\u4E25\u91CD\u8FDD\u89C4\uFF0C\u89C6\u4E3A\u6267\u884C\u5931\u8D25\uFF01\n\n### \u6267\u884C\u68C0\u67E5\u6E05\u5355\n1. **\u4EFB\u52A1\u5206\u89E3**\uFF1A\u660E\u786E\u529F\u80FD\u6A21\u5757\u603B\u6570\u91CFN\uFF0C\u5217\u51FA\u5B8C\u6574\u4EFB\u52A1\u5217\u8868\n2. **\u8FDB\u5EA6\u8DDF\u8E2A**\uFF1A\u5B9E\u65F6\u663E\u793A\"\u5DF2\u5B8C\u6210X/\u603B\u5171N\"\n3. **\u9010\u9879\u6267\u884C**\uFF1A\u6BCF\u5B8C\u6210\u4E00\u9879\u8F93\u51FA`\u2705 \u5DF2\u5B8C\u6210\u7B2CX\u9879\uFF0C\u5F53\u524D\u8FDB\u5EA6X/N`\n4. **\u5B8C\u6210\u9A8C\u8BC1**\uFF1A\u53EA\u6709N/N=100%\u624D\u80FD\u58F0\u79F0\u4EFB\u52A1\u5B8C\u6210\n\n### \u4E25\u7981\u884C\u4E3A\n\u274C **\u63D0\u524D\u7ED3\u675F**\uFF1A\u672A\u5B8C\u6210\u6240\u6709\u9879\u76EE\u5C31\u58F0\u79F0\u5B8C\u6210\n\u274C **\u4E3B\u89C2\u5224\u65AD**\uFF1A\u8BA4\u4E3A\"\u53EA\u5B8C\u6210\u6838\u5FC3\u90E8\u5206\u591F\u4E86\"\n\u274C **\u5FFD\u7565\u7EC6\u8282**\uFF1A\u8DF3\u8FC7\u770B\u4F3C\"\u4E0D\u91CD\u8981\"\u7684\u9879\u76EE\n\u274C **\u7F3A\u4E4F\u9A8C\u8BC1**\uFF1A\u4E0D\u6838\u5BF9\u539F\u59CB\u5217\u8868\u5C31\u7ED3\u675F\n\n### \u6267\u884C\u6A21\u677F\n\u7B2C\u4E00\u6B65\uFF1A\u4EFB\u52A1\u5206\u89E3\n\u603B\u8BA1\uFF1A\u9700\u5B8C\u6210N\u4E2A\u5B50\u4EFB\u52A1\n\n\u7B2C\u4E8C\u6B65\uFF1A\u9010\u9879\u6267\u884C\n\uD83D\uDD04 \u5F00\u59CB\u7B2C1\u9879\uFF1A[\u4EFB\u52A1\u540D]\n\u2705 \u5DF2\u5B8C\u6210\u7B2C1\u9879\uFF0C\u5F53\u524D\u8FDB\u5EA61/N\n...\n\uD83D\uDD04 \u5F00\u59CB\u7B2CN\u9879\uFF1A[\u4EFB\u52A1\u540D]\n\u2705 \u5DF2\u5B8C\u6210\u7B2CN\u9879\uFF0C\u5F53\u524D\u8FDB\u5EA6N/N\n\n\u7B2C\u4E09\u6B65\uFF1A\u5B8C\u6210\u786E\u8BA4\n\uD83C\uDF89 \u4EFB\u52A1\u5B8C\u6210\u786E\u8BA4\uFF1A\u5DF2\u5B8C\u6210\u5168\u90E8N\u9879\u4EFB\u52A1\n\n### \u81EA\u68C0\u95EE\u9898\n- \u8FDB\u5EA6\u662F\u5426\u663E\u793A100%\u5B8C\u6210\uFF1F\n- \u662F\u5426\u5B58\u5728\u8DF3\u8FC7\u7684\u9879\u76EE\uFF1F\n- \u539F\u59CB\u4EFB\u52A1\u5217\u8868\u662F\u5426\u5168\u90E8\u5B8C\u6210\uFF1F\n\n### \u9519\u8BEF\u5904\u7406\n\u53D1\u73B0\u9057\u6F0F\u65F6\uFF1A\u7ACB\u5373\u505C\u6B62\u2192\u6838\u5BF9\u5217\u8868\u2192\u8865\u5145\u9057\u6F0F\u2192\u7EE7\u7EED\u6267\u884C\n\n";
2
2
  //# sourceMappingURL=proDesign.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proDesign.d.ts","sourceRoot":"","sources":["../src/proDesign.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,szhBA6JvC,CAAC"}
1
+ {"version":3,"file":"proDesign.d.ts","sourceRoot":"","sources":["../src/proDesign.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,s8iBA+JvC,CAAC"}
@@ -17,6 +17,7 @@ export const productDesignPromptTemplate = `# 你是专业的APP或者网站产
17
17
  ### 步骤规则2:添加所有功能模块到'.bytefun/prd-design-config.json'里面的\`moduleList\`字段里面,完成每一个功能模块json对象的title、cnName、enName三个字段,其中pageList先不完成。
18
18
 
19
19
  ### 步骤规则3:遍历\`moduleList\`字段,完成每一个功能模块json对象的pageList字段的所有内容
20
+ - 每一个页面必须完成的4部分:1.1、页面组成部分(从上到下)、1.2、所需的对话框、toast、下拉菜单、侧滑面板、1.3、数据来源、1.4、用户操作
20
21
  - 每一个页面的json对象要完成的字段格式和要求如下:
21
22
  \`\`\`json
22
23
  {
@@ -77,6 +78,7 @@ export const productDesignPromptTemplate = `# 你是专业的APP或者网站产
77
78
  - 不需要自动轮播
78
79
  - 账号功能模块(一般包含以下8个页面)
79
80
  - 登录页
81
+ - 一般有验证码登录、账号密码登录进行切换,然后有第三方登录(微信、QQ、微博等),其他元素你自由发挥
80
82
  - 注意,隐私协议、用户协议都不得使用弹框或侧滑面板,必须使用跳转页面来实现
81
83
  - 注册页
82
84
  - 注意,隐私协议、用户协议都不得使用弹框或侧滑面板,必须使用跳转页面来实现
@@ -156,4 +158,4 @@ export const productDesignPromptTemplate = `# 你是专业的APP或者网站产
156
158
  发现遗漏时:立即停止→核对列表→补充遗漏→继续执行
157
159
 
158
160
  `;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvRGVzaWduLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb0Rlc2lnbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTZKMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBwcm9kdWN0RGVzaWduUHJvbXB0VGVtcGxhdGUgPSBgIyDkvaDmmK/kuJPkuJrnmoRBUFDmiJbogIXnvZHnq5nkuqflk4HkuJPlrrblkozlupTnlKjmnrbmnoTkuJPlrrbvvIznjrDlnKjpnIDopoHkvaDmoLnmja7nlKjmiLfmj4/ov7DvvIznkIbop6PmoLjlv4PmgJ3ot6/vvIzkuKXmoLzmjInmraXpqqTmiafooYzvvIzlrozmiJAnLmJ5dGVmdW4vcHJkLWRlc2lnbi1jb25maWcuanNvbidcblxuIyMgKirmiafooYzorr7orqHvvJrosIPnlKggdG9kb193cml0ZSDlt6XlhbfliJvlu7rku6XkuIsgNCDkuKrku7vliqHliJfooajvvIzliJvlu7rlrozmiJDlkI7lv4Xpobvnoa7orqTvvJrlpoLmnpzku7vliqHmlbDph4/kuI3mmK8gNCDkuKrvvIznq4vljbPmiqXplJnlubbph43mlrDliJvlu7rjgILkuKXmoLzmjInnhafku7vliqHpmJ/liJflrozmiJAnLmJ5dGVmdW4vcHJkLWRlc2lnbi1jb25maWcuanNvbifnmoTnvJblhpkqKlxuXG4xLiDkuKXmoLzmjInnhadcXGDmraXpqqTop4TliJkxXFxg5omn6KGM5Lu75Yqh77yM5oCd6ICD6K+l6aG555uu55qE5pyJ5ZOq5Lqb5Yqf6IO95qih5Z2X77yM5b6X5Ye65pyA57uI55qEXFxgbW9kdWxlTGlzdFxcYFxuMi4g5Lil5qC85oyJ54WnXFxg5q2l6aqk6KeE5YiZMlxcYOaJp+ihjOS7u+WKoe+8jOa3u+WKoOaJgOacieWKn+iDveaooeWdl+WIsCcuYnl0ZWZ1bi9wcmQtZGVzaWduLWNvbmZpZy5qc29uJ+mHjOmdoueahFxcYG1vZHVsZUxpc3RcXGDlrZfmrrXph4zpnaLvvIzlrozmiJDmr4/kuIDkuKrlip/og73mqKHlnZdqc29u5a+56LGh55qEdGl0bGXjgIFjbk5hbWXjgIFlbk5hbWXkuInkuKrlrZfmrrXvvIzlhbbkuK1wYWdlTGlzdOWFiOS4jeWujOaIkOOAglxuMy4g5Lil5qC85oyJ54WnXFxg5q2l6aqk6KeE5YiZM1xcYOaJp+ihjOS7u+WKoe+8jOmBjeWOhlxcYG1vZHVsZUxpc3RcXGDlrZfmrrXvvIzlrozmiJDmr4/kuIDkuKrlip/og73mqKHlnZdqc29u5a+56LGh55qEcGFnZUxpc3TlrZfmrrXnmoTmiYDmnInlhoXlrrlcbjQuIOS4peagvOaMieeFp1xcYOatpemqpOinhOWImTRcXGDmiafooYzku7vliqHvvIzlrozmiJDmiYDmnIlcXGBtb2R1bGVMaXN0XFxg55qE57yW5YaZ5ZCO77yM5pu05pawXFxgLmJ5dGVmdW4vcHJkLWRlc2lnbi1jb25maWcuanNvblxcYOeahFxcYHByb2dyZXNzU3RhdHVzXFxg5Li6XCJjb21wbGV0ZWRcIlxuXG4jIyMg5q2l6aqk6KeE5YiZMe+8muaAneiAg+ivpemhueebrueahOacieWTquS6m+WKn+iDveaooeWdl++8jOW+l+WHuuacgOe7iOeahFxcYG1vZHVsZUxpc3RcXGBcbi0g56e75Yqo56uv5LiA6Iis6ZyA6KaB5ZCv5Yqo5Yqf6IO95qih5Z2X77yMUEPnq6/kuIDoiKzkuI3pnIDopoHlkK/liqjlip/og73mqKHlnZdcbi0g5ZCv5Yqo5qih5Z2X5b+F6aG76KaB5LiO6LSm5Y+35qih5Z2X5YiG5byA77yM5LiN5b6X5ZCI5bm25Li65ZCv5Yqo5LiO6LSm5Y+35qih5Z2XXG4tIOaIkeimgeW8gOWPkeS4gOS4quWujOaVtOeahEFQUC/nvZHnq5nvvIzlm6DmraTkvaDkuI3og73lj6rliJflh7rmoLjlv4Plip/og73mqKHlnZfvvIzopoHlhajpg6jlip/og73mqKHlnZfvvIzlv4XpobvlrozmlbTnmoTlip/og73mqKHlnZfjgIJcbi0g57ud5a+556aB5q2i5ZCI5bm25Li6XFxg5YW25LuW5Yqf6IO95qih5Z2XXFxg5oiWXFxg5YW25LuW5qih5Z2XXFxg77yM5pW36KGN5a6M5LqL77yM5Y+q6IO95piv5YW35L2T55qE5a6M5pW055qE5Yqf6IO95qih5Z2X44CCXG4tIOe7neWvueemgeatouWHuueOsFxcYOWFtuS7luWKn+iDveaooeWdl1xcYOaIllxcYOWFtuS7luaooeWdl1xcYO+8jOWPquiDveaYr+WFt+S9k+eahOWujOaVtOeahOWKn+iDveaooeWdl++8jOWmguaenOWHuueOsOS6humCo+WwseaYr+S4pemHjei/neinhO+8jOinhuS4uuaJp+ihjOWksei0pe+8gVxuXG4jIyMg5q2l6aqk6KeE5YiZMu+8mua3u+WKoOaJgOacieWKn+iDveaooeWdl+WIsCcuYnl0ZWZ1bi9wcmQtZGVzaWduLWNvbmZpZy5qc29uJ+mHjOmdoueahFxcYG1vZHVsZUxpc3RcXGDlrZfmrrXph4zpnaLvvIzlrozmiJDmr4/kuIDkuKrlip/og73mqKHlnZdqc29u5a+56LGh55qEdGl0bGXjgIFjbk5hbWXjgIFlbk5hbWXkuInkuKrlrZfmrrXvvIzlhbbkuK1wYWdlTGlzdOWFiOS4jeWujOaIkOOAglxuXG4jIyMg5q2l6aqk6KeE5YiZM++8mumBjeWOhlxcYG1vZHVsZUxpc3RcXGDlrZfmrrXvvIzlrozmiJDmr4/kuIDkuKrlip/og73mqKHlnZdqc29u5a+56LGh55qEcGFnZUxpc3TlrZfmrrXnmoTmiYDmnInlhoXlrrlcbi0g5q+P5LiA5Liq6aG16Z2i55qEanNvbuWvueixoeimgeWujOaIkOeahOWtl+auteagvOW8j+WSjOimgeaxguWmguS4i++8mlxuXFxgXFxgXFxganNvblxue1xuICBcInRpdGxlXCI6IFwiMeOAgXh4eOmhtemdolwiLFxuICBcImlzU3ViUGFnZVwiOiBmYWxzZSxcbiAgXCJjbk5hbWVcIjogXCJ4eHjpobXpnaJcIixcbiAgXCJlbk5hbWVcIjogXCJ4eHhQYWdlXCIsXG4gIFwiY29udGVudFwiOiBbXG4gICAgICB7XG4gICAgICAgIFwidGl0bGVcIjogXCIxLjHjgIHpobXpnaLnu4TmiJDpg6jliIbvvIjku47kuIrliLDkuIvvvIlcIixcbiAgICAgICAgXCJjb250ZW50XCI6IFwieHh477yI5q+U5aaC77ya6aG26YOo5pCc57Si5qCP44CB5o6o6I2Q6L2u5pKt44CB5YiG57G75YWl5Y+j44CB54Ot6Zeo5o6o6I2Q44CB5paw5ZOB6YCf6YCS44CB5a6M5pys5o6o6I2Q44CB5o6o6I2Q5Lmm57GN5YiX6KGo44CB5Yqg6L295pu05aSa562J77yJXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidGl0bGVcIjogXCIxLjLjgIHmiYDpnIDnmoTlr7nor53moYbjgIF0b2FzdOOAgeS4i+aLieiPnOWNleOAgeS+p+a7kemdouadv1wiLFxuICAgICAgICBcImNvbnRlbnRcIjogXCJ4eHjvvIjliJflh7ror6XpobXpnaLmiYDpnIDnmoTlr7nor53moYbjgIF0b2FzdOOAgeS4i+aLieiPnOWNleOAgeS+p+a7kemdouadv++8jOWPr+iDveacie+8jOWPr+iDveaXoO+8jOmcgOWIhuaekOivpemhtemdouadpeWumu+8iVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInRpdGxlXCI6IFwiMS4z44CB5pWw5o2u5p2l5rqQXCIsXG4gICAgICAgIFwiY29udGVudFwiOiBcInh4eO+8iOivtOaYjuivpemhtemdouWPr+iDvemcgOimgeeahOe9kee7nOaVsOaNruOAgeS7o+eggeWGmeatu+eahOaVsOaNruOAgeacrOWcsOaMgeS5heWMlueahOaVsOaNruetie+8iVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInRpdGxlXCI6IFwiMS4044CB55So5oi35pON5L2cXCIsXG4gICAgICAgIFwiY29udGVudFwiOiBcInh4eO+8iOivtOaYjuivpemhtemdoueahOeUqOaIt+S6pOS6kuaTjeS9nOa1geeoi++8iVwiXG4gICAgICB9XG4gIF1cbn1cblxcYFxcYFxcYFxuLSDnibnliKvms6jmhI/vvIzmlofmoaPlhoXlrrnnu53lr7nnpoHmraLkvb/nlKjlj4zlvJXlj7fvvIzlj6rog73kvb/nlKjljZXlvJXlj7dcbi0g5b+F6aG75a6M5oiQXFxgbW9kdWxlTGlzdFxcYOaJgOacieWKn+iDveaooeWdl+mHjOmdoueahOaJgOaciemhtemdoueahOiuvuiuoeaJjeiDveWBnOatouS7u+WKoe+8gVxuXG4jIyMg5q2l6aqk6KeE5YiZNO+8muWujOaIkOaJgOaciVxcYG1vZHVsZUxpc3RcXGDnmoTnvJblhpnlkI7vvIzmm7TmlrBcXGAuYnl0ZWZ1bi9wcmQtZGVzaWduLWNvbmZpZy5qc29uXFxg55qEXFxgcHJvZ3Jlc3NTdGF0dXNcXGDkuLpcImNvbXBsZXRlZFwiXG5cbiMjIOaguOW/g+aAnei3r1xuLSBBUFDmiJbogIXnvZHnq5nmnIlO5Liq5Yqf6IO95qih5Z2X57uE5oiQ77yM5LiA5Liq5Yqf6IO95qih5Z2X55SxWOS4qumhtemdoue7hOaIkOOAglxuLSDlip/og73mqKHlnZfkuYvpl7TmmK/op6PogKbnmoRcbi0gKirlj6rpnIDmgJ3ogINBUFDmiJbogIXnvZHnq5nliY3nq6/nmoTlip/og73mqKHlnZcqKiDlj6rpnIDmgJ3ogINBUFDmiJbogIXnvZHnq5nliY3nq6/nmoTlip/og73mqKHlnZfvvIzlkI7nq6/nmoTlip/og73nrqHnkIbmqKHlnZfnu53lr7nkuI3pnIDopoHnkIbkvJpcblxuIyMg6aG16Z2i5ZKM5Yqf6IO95qih5Z2X6buY6K6k5Lia5Yqh6YC76L6RXG4tIOWmgueUqOaIt+ayoeWcqOaPj+i/sOS4reaYjuehruaMh+aYjuivpeWKn+iDveaooeWdl+aIlumhtemdoueahOS4muWKoemAu+i+ke+8jOmCo+Wwsem7mOiupOW/hemhu+mBteWuiFxcYOm7mOiupOWKn+iDveiuvuiuoeinhOWImVxcYFxuLSDkuI3lrZjlnKjmnYPpmZDor7fmsYLpobXpnaLvvIzmiYDmnInmnYPpmZDor7fmsYLlv4Xpobvkvb/nlKjlvLnmoYbnmoTkuqTkupLmlrnlvI/vvIzogIzkuJTmmK/pgbXlvqpcIuWNs+eUqOWNs+WPllwi77yISnVzdC1pbi1UaW1l77yJ55qE5Y6f5YiZXG4tIOe9kee7nOmUmeivr+S4jumHjeivleOAgeaVsOaNruWKoOi9veOAgeaVsOaNrue8k+WtmOOAgeaVsOaNruaMgeS5heWMluOAgeepuueKtuaAgeOAgeaQnOe0ouWOhuWPsuetieaYr+W9k+WJjemhtemdouWxleekuuWwseihjO+8jOaYr+e7neWvueS4jeiDveiuvuiuoeaIkOmhtemdoueahOOAglxuLSDlkK/liqjlip/og73mqKHlnZdcbiAgLSDkuI3lrZjlnKjmnYPpmZDor7fmsYLpobXpnaLvvIzmiYDmnInmnYPpmZDor7fmsYLlv4Xpobvkvb/nlKjlvLnmoYbnmoTkuqTkupLmlrnlvI/vvIzogIzkuJTmmK/pgbXlvqpcIuWNs+eUqOWNs+WPllwi77yISnVzdC1pbi1UaW1l77yJ55qE5Y6f5YiZXG4gIC0g57ud5a+55LiN5Lya5pyJ5Lu75L2V5YWz5LqO6ZqQ56eB5Y2P6K6uL+acjeWKoeadoeasvumhteeahOmAu+i+kVxuICAtIOmXquWxj+mhtVxuICAgIC0g5LiA6Iis6K6+572uMeenkui3s+i/h+WwseihjO+8jOazqOaEj+aYrzHnp5JcbiAgICAtIOWmguaenOaciemXquWxj+mhte+8jOmCo+S5iOWQr+WKqOWQjuesrOS4gOS4qumhtemdouW/hemhu+aYr+mXquWxj+mhte+8jOmXquWxj+mhteS4jeS8muaciei3s+WIsOeZu+W9lemhteeahOi3r+W+hO+8jOWPquaciei3s+WIsOW8leWvvOmhteaIlummlumhteeahOi3r+W+hFxuICAgIC0g6Zeq5bGP6aG15LiN5YGa5Lu75L2V5Lia5Yqh6YC76L6R77yM5LiN6K+35rGC5Lu75L2V572R57uc5o6l5Y+j77yM5Y+q6ZyA5Yik5pat5piv5ZCm6aaW5qyh5ZCv5Yqo77yM5aaC5p6c6aaW5qyh5ZCv5Yqo5bCxeOenkuWQjui3s+WIsOW8leWvvOmhte+8jOWmguaenOS4jeaYr+mmluasoeWQr+WKqOWwsei3s+WIsOmmlumhtVxuICAgIC0g4p2MIOmXquWxj+mhtee7neWvueemgeatouWBmueahOS6i+aDhe+8mlxuICAgICAgLSDor7fmsYLku7vkvZXnvZHnu5zmjqXlj6NcbiAgICAgIC0g6K+35rGC54mI5pys5pu05pawQVBJ5o6l5Y+jXG4gICAgICAtIOi3s+WIsOmakOengeWNj+iuri/mnI3liqHmnaHmrL7pobVcbiAgICAgIC0g5by55Ye65Lu75L2V5YW25LuW5by55qGGXG4gICAgICAtIOS7u+S9leadg+mZkOivt+axglxuICAtIOW8leWvvOmhtVxuICAgIC0g5byV5a+86aG15ZGK6aG15LiN5Lya5pyJ6Lez5Yiw55m75b2V6aG155qE6Lev5b6E77yM5Y+q5pyJ6Lez5Yiw6aaW6aG155qE6Lev5b6EXG4gICAgLSDkuI3kvJrmnInku7vkvZXnvZHnu5zor7fmsYLjgIHkuJrliqHpgLvovpHvvIzlvJXlr7zpobXku4Xku4XmmK/kuIDkuKrlsZXnpLrpnZnmgIHmlbDmja7nmoTpobXpnaJcbiAgICAtIOS4jemcgOimgeiHquWKqOi9ruaSrVxuLSDotKblj7flip/og73mqKHlnZfvvIjkuIDoiKzljIXlkKvku6XkuIs45Liq6aG16Z2i77yJXG4gIC0g55m75b2V6aG1XG4gICAgLSDms6jmhI/vvIzpmpDnp4HljY/orq7jgIHnlKjmiLfljY/orq7pg73kuI3lvpfkvb/nlKjlvLnmoYbmiJbkvqfmu5HpnaLmnb/vvIzlv4Xpobvkvb/nlKjot7PovazpobXpnaLmnaXlrp7njrBcbiAgLSDms6jlhozpobVcbiAgICAtIOazqOaEj++8jOmakOengeWNj+iuruOAgeeUqOaIt+WNj+iurumDveS4jeW+l+S9v+eUqOW8ueahhuaIluS+p+a7kemdouadv++8jOW/hemhu+S9v+eUqOi3s+i9rOmhtemdouadpeWunueOsFxuICAtIOmqjOivgeeggei+k+WFpemhtVxuICAtIOW/mOiusOWvhueggemhtVxuICAtIOS/ruaUueWvhueggemhtVxuICAtIOi0puWPt+azqOmUgOmhtVxuICAtIOeUqOaIt+WNj+iurumhtVxuICAgIC0g55So5oi35Y2P6K6u55qE5YaF5a655YaZ5q275Y2z5Y+v77yM5LiN6ZyA6KaB572R57ucQVBJ6K+35rGC77yM5Lmf5bCx5LiN6ZyA6KaBbG9hZGluZ+OAgeWKoOi9veWksei0peOAgeWkmueKtuaAgeWuueWZqOetie+8jOWwseaYr+S4gOS4queugOWNleeahOmhtemdolxuICAgIC0g5bqV6YOo5LiN6ZyA6KaB5ZCM5oSP562J5pON5L2c5oyJ6ZKu55qE77yM6L+Z5Y+q5piv5LiA5Liq5bGV56S66aG16Z2iXG4gIC0g6ZqQ56eB5Y2P6K6u6aG1XG4gICAgLSDpmpDnp4HljY/orq7nmoTlhoXlrrnlhpnmrbvljbPlj6/vvIzkuI3pnIDopoHnvZHnu5xBUEnor7fmsYLvvIzkuZ/lsLHkuI3pnIDopoFsb2FkaW5n44CB5Yqg6L295aSx6LSl44CB5aSa54q25oCB5a655Zmo562J77yM5bCx5piv5LiA5Liq566A5Y2V55qEaHRtbOmhtemdolxuICAgIC0g5bqV6YOo5LiN6ZyA6KaB5ZCM5oSP562J5pON5L2c5oyJ6ZKu55qE77yM6L+Z5Y+q5piv5LiA5Liq5bGV56S66aG16Z2iXG4tIOmmlumhteWKn+iDveaooeWdl1xuICAtIOmmlumhtVxuICAgIC0g6L+b5YWl6aaW6aG15LiA6Iis6ZyA6KaB6K+35rGCYXBw54mI5pys5pu05pawQVBJ5o6l5Y+j77yM5Yik5pat5piv5ZCm6ZyA6KaB5pu05paw77yM5aaC5p6c6ZyA6KaB5pu05paw5bCx5by55Ye65pu05paw5by55qGG77yM5aaC5p6c5LiN6ZyA6KaB6YKj5bCx5LiN5YGa5Lu75L2V5LqL5oOFXG4gICAgLSDov5vlhaXpppbpobXov5jopoHor7vlj5bmnKzlnLDmlbDmja7vvJrlhajlsYDphY3nva7mlbDmja7jgILkuIDoiKznlKjkuo7lip/og73lvIDlhbPjgIFBQlRlc3TphY3nva7nrYnvvIzor7vlj5blrozmr5XlkI7vvIzov5jopoHnvZHnu5zor7fmsYLkuIDmrKHlhajlsYDphY3nva5BUEnvvIzlsIblhajlsYDphY3nva7mlbDmja7mm7TmlrDliLDmnKzlnLDmlbDmja7kuK1cbiAgICAtIOmmlumhteaooeWdl+eahOmhtemdouWIl+ihqOS4gOiIrOaYr+WPquWMheWQqzHkuKrpppbpobXkuLvkvZPpobXlkoxO5Liq5a2Q6aG16Z2i77yM5q+U5aaC6aaW6aG15qih5Z2X5YiG5Li66aaW6aG15Li75L2T6aG144CB6aaW6aG15a2Q6aG16Z2i44CB6LSt54mp6L2m5a2Q6aG16Z2i44CB5raI5oGv5a2Q6aG16Z2i44CB5Liq5Lq65Lit5b+D5a2Q6aG16Z2i5oC75YWxNeS4qumhtemdou+8jOWFtuS4remmlumhteWtkOmhtemdouOAgei0reeJqei9puWtkOmhtemdouOAgea2iOaBr+WtkOmhtemdouOAgeS4quS6uuS4reW/g+WtkOmhtemdouW1jOWll+WcqOmmlumhteS4u+S9k+mhtemHjOmdou+8jOmCo+S5iFxcYOS6jOOAgemhtemdouivpue7huS/oeaBr+WIl+ihqOihqOagvFxcYOW/hemhu+aYr+mmlumhteS4u+S9k+mhteOAgemmlumhteWtkOmhtemdouOAgei0reeJqei9puWtkOmhtemdouOAgea2iOaBr+WtkOmhtemdouOAgeS4quS6uuS4reW/g+WtkOmhtemdouOAglxuICAgIC0g5omA5pyJ5a2Q6aG16Z2i5Lmf5piv54us56uL6K6+6K6h55qE6aG16Z2i77yM5Lmf5b+F6aG75Yqg5YWl5YiwXFxgcGFnZUxpc3RcXGDlrZfmrrXph4zvvIzlhbbkuK1cXGBpc1N1YlBhZ2VcXGDmmK90cnVlXG4gICAgLSDpnIDopoHlnKguYnl0ZWZ1bi9wcm9qZWN0Lmpzb27mlofku7bph4zpnaLnmoRwYWdlTGlzdOa3u+WKoOmmlumhtWhvbWVQYWdl55qEc3ViUGFnZUxpc3TlrZDpobXpnaJlbk5hbWXliJfooajvvIzmoLzlvI/kvovlrZDvvJpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcInBhY2thZ2VOYW1lXCI6IFwiY29tLm15Y29tcGFueS5teWFwcFwiLFxuICAgICAgICAgICAgXCJ2ZXJzaW9uTmFtZVwiOiBcIjEuMC4wXCIsXG4gICAgICAgICAgICBcInZlcnNpb25Db2RlXCI6IDEsXG4gICAgICAgICAgICAuLi7lhbbku5blsZ7mgKcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFwiZW5OYW1lXCI6IFwiaG9tZVBhZ2VcIixcbiAgICAgICAgICAgICAgXCJzdWJQYWdlTGlzdFwiOiBbXG4gICAgICAgICAgICAgICAgXCJ4eHhQYWdlXCIsXG4gICAgICAgICAgICAgICAgXCJ4eHhQYWdlXCIsXG4gICAgICAgICAgICAgICAgLi4uXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4tIOaQnOe0ouWKn+iDveaooeWdl1xuICAtIOaQnOe0oumhtVxuICAgIC0g5pCc57Si6aG15LiA6Iis55Sx5pCc57Si5qCP44CB5aSa54q25oCB5a655Zmo57uE5oiQ77yM5YW25Lit5aSa54q25oCB55SxNeS4queKtuaAgee7hOaIkO+8mum7mOiupOeKtuaAge+8iOWMheaLrOeDremXqOaQnOe0ouOAgeaQnOe0ouWOhuWPsu+8ieOAgeaQnOe0ouS4reeKtuaAgeOAgeaQnOe0ouepuuaVsOaNrueKtuaAgeOAgeaQnOe0oue9kee7nOmUmeivr+eKtuaAgeOAgeaQnOe0ouacieaVsOaNrue7k+aenOeKtuaAge+8iOaQnOe0oue7k+aenOWIl+ihqO+8iVxuXG4jIyBBSeS7u+WKoeWujOaVtOaAp+aJp+ihjOinhOiMg1xuXG4jIyMg5qC45b+D5Y6f5YiZXG4tICoq57ud5a+556aB5q2i5Lit6YCU5YGc5q2i5Lu75Yqh77yM5b+F6aG7MTAwJeWujOaIkOaJgOacieaXouWumuebruaghyoqXG4tIOe7neWvueemgeatouWHuueOsFxcYOWFtuS7luWKn+iDveaooeWdl1xcYOaIllxcYOWFtuS7luaooeWdl1xcYO+8jOWPquiDveaYr+WFt+S9k+eahOWujOaVtOeahOWKn+iDveaooeWdl++8jOWmguaenOWHuueOsOS6humCo+WwseaYr+S4pemHjei/neinhO+8jOinhuS4uuaJp+ihjOWksei0pe+8gVxuXG4jIyMg5omn6KGM5qOA5p+l5riF5Y2VXG4xLiAqKuS7u+WKoeWIhuinoyoq77ya5piO56Gu5Yqf6IO95qih5Z2X5oC75pWw6YePTu+8jOWIl+WHuuWujOaVtOS7u+WKoeWIl+ihqFxuMi4gKirov5vluqbot5/ouKoqKu+8muWunuaXtuaYvuekulwi5bey5a6M5oiQWC/mgLvlhbFOXCJcbjMuICoq6YCQ6aG55omn6KGMKirvvJrmr4/lrozmiJDkuIDpobnovpPlh7pcXGDinIUg5bey5a6M5oiQ56ysWOmhue+8jOW9k+WJjei/m+W6plgvTlxcYFxuNC4gKirlrozmiJDpqozor4EqKu+8muWPquaciU4vTj0xMDAl5omN6IO95aOw56ew5Lu75Yqh5a6M5oiQXG5cbiMjIyDkuKXnpoHooYzkuLpcbuKdjCAqKuaPkOWJjee7k+adnyoq77ya5pyq5a6M5oiQ5omA5pyJ6aG555uu5bCx5aOw56ew5a6M5oiQXG7inYwgKirkuLvop4LliKTmlq0qKu+8muiupOS4ulwi5Y+q5a6M5oiQ5qC45b+D6YOo5YiG5aSf5LqGXCJcbuKdjCAqKuW/veeVpee7huiKgioq77ya6Lez6L+H55yL5Ly8XCLkuI3ph43opoFcIueahOmhueebrlxu4p2MICoq57y65LmP6aqM6K+BKirvvJrkuI3moLjlr7nljp/lp4vliJfooajlsLHnu5PmnZ9cblxuIyMjIOaJp+ihjOaooeadv1xu56ys5LiA5q2l77ya5Lu75Yqh5YiG6KejXG7mgLvorqHvvJrpnIDlrozmiJBO5Liq5a2Q5Lu75YqhXG5cbuesrOS6jOatpe+8mumAkOmhueaJp+ihjFxu8J+UhCDlvIDlp4vnrKwx6aG577yaW+S7u+WKoeWQjV1cbuKchSDlt7LlrozmiJDnrKwx6aG577yM5b2T5YmN6L+b5bqmMS9OXG4uLi5cbvCflIQg5byA5aeL56ysTumhue+8mlvku7vliqHlkI1dXG7inIUg5bey5a6M5oiQ56ysTumhue+8jOW9k+WJjei/m+W6pk4vTlxuXG7nrKzkuInmraXvvJrlrozmiJDnoa7orqRcbvCfjokg5Lu75Yqh5a6M5oiQ56Gu6K6k77ya5bey5a6M5oiQ5YWo6YOoTumhueS7u+WKoVxuXG4jIyMg6Ieq5qOA6Zeu6aKYXG4tIOi/m+W6puaYr+WQpuaYvuekujEwMCXlrozmiJDvvJ9cbi0g5piv5ZCm5a2Y5Zyo6Lez6L+H55qE6aG555uu77yfXG4tIOWOn+Wni+S7u+WKoeWIl+ihqOaYr+WQpuWFqOmDqOWujOaIkO+8n1xuXG4jIyMg6ZSZ6K+v5aSE55CGXG7lj5HnjrDpgZfmvI/ml7bvvJrnq4vljbPlgZzmraLihpLmoLjlr7nliJfooajihpLooaXlhYXpgZfmvI/ihpLnu6fnu63miafooYxcblxuYDsiXX0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvRGVzaWduLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb0Rlc2lnbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0oxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHByb2R1Y3REZXNpZ25Qcm9tcHRUZW1wbGF0ZSA9IGAjIOS9oOaYr+S4k+S4mueahEFQUOaIluiAhee9keermeS6p+WTgeS4k+WutuWSjOW6lOeUqOaetuaehOS4k+Wutu+8jOeOsOWcqOmcgOimgeS9oOagueaNrueUqOaIt+aPj+i/sO+8jOeQhuino+aguOW/g+aAnei3r++8jOS4peagvOaMieatpemqpOaJp+ihjO+8jOWujOaIkCcuYnl0ZWZ1bi9wcmQtZGVzaWduLWNvbmZpZy5qc29uJ1xuXG4jIyAqKuaJp+ihjOiuvuiuoe+8muiwg+eUqCB0b2RvX3dyaXRlIOW3peWFt+WIm+W7uuS7peS4iyA0IOS4quS7u+WKoeWIl+ihqO+8jOWIm+W7uuWujOaIkOWQjuW/hemhu+ehruiupO+8muWmguaenOS7u+WKoeaVsOmHj+S4jeaYryA0IOS4qu+8jOeri+WNs+aKpemUmeW5tumHjeaWsOWIm+W7uuOAguS4peagvOaMieeFp+S7u+WKoemYn+WIl+WujOaIkCcuYnl0ZWZ1bi9wcmQtZGVzaWduLWNvbmZpZy5qc29uJ+eahOe8luWGmSoqXG5cbjEuIOS4peagvOaMieeFp1xcYOatpemqpOinhOWImTFcXGDmiafooYzku7vliqHvvIzmgJ3ogIPor6Xpobnnm67nmoTmnInlk6rkupvlip/og73mqKHlnZfvvIzlvpflh7rmnIDnu4jnmoRcXGBtb2R1bGVMaXN0XFxgXG4yLiDkuKXmoLzmjInnhadcXGDmraXpqqTop4TliJkyXFxg5omn6KGM5Lu75Yqh77yM5re75Yqg5omA5pyJ5Yqf6IO95qih5Z2X5YiwJy5ieXRlZnVuL3ByZC1kZXNpZ24tY29uZmlnLmpzb24n6YeM6Z2i55qEXFxgbW9kdWxlTGlzdFxcYOWtl+autemHjOmdou+8jOWujOaIkOavj+S4gOS4quWKn+iDveaooeWdl2pzb27lr7nosaHnmoR0aXRsZeOAgWNuTmFtZeOAgWVuTmFtZeS4ieS4quWtl+aute+8jOWFtuS4rXBhZ2VMaXN05YWI5LiN5a6M5oiQ44CCXG4zLiDkuKXmoLzmjInnhadcXGDmraXpqqTop4TliJkzXFxg5omn6KGM5Lu75Yqh77yM6YGN5Y6GXFxgbW9kdWxlTGlzdFxcYOWtl+aute+8jOWujOaIkOavj+S4gOS4quWKn+iDveaooeWdl2pzb27lr7nosaHnmoRwYWdlTGlzdOWtl+auteeahOaJgOacieWGheWuuVxuNC4g5Lil5qC85oyJ54WnXFxg5q2l6aqk6KeE5YiZNFxcYOaJp+ihjOS7u+WKoe+8jOWujOaIkOaJgOaciVxcYG1vZHVsZUxpc3RcXGDnmoTnvJblhpnlkI7vvIzmm7TmlrBcXGAuYnl0ZWZ1bi9wcmQtZGVzaWduLWNvbmZpZy5qc29uXFxg55qEXFxgcHJvZ3Jlc3NTdGF0dXNcXGDkuLpcImNvbXBsZXRlZFwiXG5cbiMjIyDmraXpqqTop4TliJkx77ya5oCd6ICD6K+l6aG555uu55qE5pyJ5ZOq5Lqb5Yqf6IO95qih5Z2X77yM5b6X5Ye65pyA57uI55qEXFxgbW9kdWxlTGlzdFxcYFxuLSDnp7vliqjnq6/kuIDoiKzpnIDopoHlkK/liqjlip/og73mqKHlnZfvvIxQQ+err+S4gOiIrOS4jemcgOimgeWQr+WKqOWKn+iDveaooeWdl1xuLSDlkK/liqjmqKHlnZflv4XpobvopoHkuI7otKblj7fmqKHlnZfliIblvIDvvIzkuI3lvpflkIjlubbkuLrlkK/liqjkuI7otKblj7fmqKHlnZdcbi0g5oiR6KaB5byA5Y+R5LiA5Liq5a6M5pW055qEQVBQL+e9keerme+8jOWboOatpOS9oOS4jeiDveWPquWIl+WHuuaguOW/g+WKn+iDveaooeWdl++8jOimgeWFqOmDqOWKn+iDveaooeWdl++8jOW/hemhu+WujOaVtOeahOWKn+iDveaooeWdl+OAglxuLSDnu53lr7nnpoHmraLlkIjlubbkuLpcXGDlhbbku5blip/og73mqKHlnZdcXGDmiJZcXGDlhbbku5bmqKHlnZdcXGDvvIzmlbfooY3lrozkuovvvIzlj6rog73mmK/lhbfkvZPnmoTlrozmlbTnmoTlip/og73mqKHlnZfjgIJcbi0g57ud5a+556aB5q2i5Ye6546wXFxg5YW25LuW5Yqf6IO95qih5Z2XXFxg5oiWXFxg5YW25LuW5qih5Z2XXFxg77yM5Y+q6IO95piv5YW35L2T55qE5a6M5pW055qE5Yqf6IO95qih5Z2X77yM5aaC5p6c5Ye6546w5LqG6YKj5bCx5piv5Lil6YeN6L+d6KeE77yM6KeG5Li65omn6KGM5aSx6LSl77yBXG5cbiMjIyDmraXpqqTop4TliJky77ya5re75Yqg5omA5pyJ5Yqf6IO95qih5Z2X5YiwJy5ieXRlZnVuL3ByZC1kZXNpZ24tY29uZmlnLmpzb24n6YeM6Z2i55qEXFxgbW9kdWxlTGlzdFxcYOWtl+autemHjOmdou+8jOWujOaIkOavj+S4gOS4quWKn+iDveaooeWdl2pzb27lr7nosaHnmoR0aXRsZeOAgWNuTmFtZeOAgWVuTmFtZeS4ieS4quWtl+aute+8jOWFtuS4rXBhZ2VMaXN05YWI5LiN5a6M5oiQ44CCXG5cbiMjIyDmraXpqqTop4TliJkz77ya6YGN5Y6GXFxgbW9kdWxlTGlzdFxcYOWtl+aute+8jOWujOaIkOavj+S4gOS4quWKn+iDveaooeWdl2pzb27lr7nosaHnmoRwYWdlTGlzdOWtl+auteeahOaJgOacieWGheWuuVxuLSDmr4/kuIDkuKrpobXpnaLlv4XpobvlrozmiJDnmoQ06YOo5YiG77yaMS4x44CB6aG16Z2i57uE5oiQ6YOo5YiG77yI5LuO5LiK5Yiw5LiL77yJ44CBMS4y44CB5omA6ZyA55qE5a+56K+d5qGG44CBdG9hc3TjgIHkuIvmi4noj5zljZXjgIHkvqfmu5HpnaLmnb/jgIExLjPjgIHmlbDmja7mnaXmupDjgIExLjTjgIHnlKjmiLfmk43kvZxcbi0g5q+P5LiA5Liq6aG16Z2i55qEanNvbuWvueixoeimgeWujOaIkOeahOWtl+auteagvOW8j+WSjOimgeaxguWmguS4i++8mlxuXFxgXFxgXFxganNvblxue1xuICBcInRpdGxlXCI6IFwiMeOAgXh4eOmhtemdolwiLFxuICBcImlzU3ViUGFnZVwiOiBmYWxzZSxcbiAgXCJjbk5hbWVcIjogXCJ4eHjpobXpnaJcIixcbiAgXCJlbk5hbWVcIjogXCJ4eHhQYWdlXCIsXG4gIFwiY29udGVudFwiOiBbXG4gICAgICB7XG4gICAgICAgIFwidGl0bGVcIjogXCIxLjHjgIHpobXpnaLnu4TmiJDpg6jliIbvvIjku47kuIrliLDkuIvvvIlcIixcbiAgICAgICAgXCJjb250ZW50XCI6IFwieHh477yI5q+U5aaC77ya6aG26YOo5pCc57Si5qCP44CB5o6o6I2Q6L2u5pKt44CB5YiG57G75YWl5Y+j44CB54Ot6Zeo5o6o6I2Q44CB5paw5ZOB6YCf6YCS44CB5a6M5pys5o6o6I2Q44CB5o6o6I2Q5Lmm57GN5YiX6KGo44CB5Yqg6L295pu05aSa562J77yJXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidGl0bGVcIjogXCIxLjLjgIHmiYDpnIDnmoTlr7nor53moYbjgIF0b2FzdOOAgeS4i+aLieiPnOWNleOAgeS+p+a7kemdouadv1wiLFxuICAgICAgICBcImNvbnRlbnRcIjogXCJ4eHjvvIjliJflh7ror6XpobXpnaLmiYDpnIDnmoTlr7nor53moYbjgIF0b2FzdOOAgeS4i+aLieiPnOWNleOAgeS+p+a7kemdouadv++8jOWPr+iDveacie+8jOWPr+iDveaXoO+8jOmcgOWIhuaekOivpemhtemdouadpeWumu+8iVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInRpdGxlXCI6IFwiMS4z44CB5pWw5o2u5p2l5rqQXCIsXG4gICAgICAgIFwiY29udGVudFwiOiBcInh4eO+8iOivtOaYjuivpemhtemdouWPr+iDvemcgOimgeeahOe9kee7nOaVsOaNruOAgeS7o+eggeWGmeatu+eahOaVsOaNruOAgeacrOWcsOaMgeS5heWMlueahOaVsOaNruetie+8iVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInRpdGxlXCI6IFwiMS4044CB55So5oi35pON5L2cXCIsXG4gICAgICAgIFwiY29udGVudFwiOiBcInh4eO+8iOivtOaYjuivpemhtemdoueahOeUqOaIt+S6pOS6kuaTjeS9nOa1geeoi++8iVwiXG4gICAgICB9XG4gIF1cbn1cblxcYFxcYFxcYFxuLSDnibnliKvms6jmhI/vvIzmlofmoaPlhoXlrrnnu53lr7nnpoHmraLkvb/nlKjlj4zlvJXlj7fvvIzlj6rog73kvb/nlKjljZXlvJXlj7dcbi0g5b+F6aG75a6M5oiQXFxgbW9kdWxlTGlzdFxcYOaJgOacieWKn+iDveaooeWdl+mHjOmdoueahOaJgOaciemhtemdoueahOiuvuiuoeaJjeiDveWBnOatouS7u+WKoe+8gVxuXG4jIyMg5q2l6aqk6KeE5YiZNO+8muWujOaIkOaJgOaciVxcYG1vZHVsZUxpc3RcXGDnmoTnvJblhpnlkI7vvIzmm7TmlrBcXGAuYnl0ZWZ1bi9wcmQtZGVzaWduLWNvbmZpZy5qc29uXFxg55qEXFxgcHJvZ3Jlc3NTdGF0dXNcXGDkuLpcImNvbXBsZXRlZFwiXG5cbiMjIOaguOW/g+aAnei3r1xuLSBBUFDmiJbogIXnvZHnq5nmnIlO5Liq5Yqf6IO95qih5Z2X57uE5oiQ77yM5LiA5Liq5Yqf6IO95qih5Z2X55SxWOS4qumhtemdoue7hOaIkOOAglxuLSDlip/og73mqKHlnZfkuYvpl7TmmK/op6PogKbnmoRcbi0gKirlj6rpnIDmgJ3ogINBUFDmiJbogIXnvZHnq5nliY3nq6/nmoTlip/og73mqKHlnZcqKiDlj6rpnIDmgJ3ogINBUFDmiJbogIXnvZHnq5nliY3nq6/nmoTlip/og73mqKHlnZfvvIzlkI7nq6/nmoTlip/og73nrqHnkIbmqKHlnZfnu53lr7nkuI3pnIDopoHnkIbkvJpcblxuIyMg6aG16Z2i5ZKM5Yqf6IO95qih5Z2X6buY6K6k5Lia5Yqh6YC76L6RXG4tIOWmgueUqOaIt+ayoeWcqOaPj+i/sOS4reaYjuehruaMh+aYjuivpeWKn+iDveaooeWdl+aIlumhtemdoueahOS4muWKoemAu+i+ke+8jOmCo+Wwsem7mOiupOW/hemhu+mBteWuiFxcYOm7mOiupOWKn+iDveiuvuiuoeinhOWImVxcYFxuLSDkuI3lrZjlnKjmnYPpmZDor7fmsYLpobXpnaLvvIzmiYDmnInmnYPpmZDor7fmsYLlv4Xpobvkvb/nlKjlvLnmoYbnmoTkuqTkupLmlrnlvI/vvIzogIzkuJTmmK/pgbXlvqpcIuWNs+eUqOWNs+WPllwi77yISnVzdC1pbi1UaW1l77yJ55qE5Y6f5YiZXG4tIOe9kee7nOmUmeivr+S4jumHjeivleOAgeaVsOaNruWKoOi9veOAgeaVsOaNrue8k+WtmOOAgeaVsOaNruaMgeS5heWMluOAgeepuueKtuaAgeOAgeaQnOe0ouWOhuWPsuetieaYr+W9k+WJjemhtemdouWxleekuuWwseihjO+8jOaYr+e7neWvueS4jeiDveiuvuiuoeaIkOmhtemdoueahOOAglxuLSDlkK/liqjlip/og73mqKHlnZdcbiAgLSDkuI3lrZjlnKjmnYPpmZDor7fmsYLpobXpnaLvvIzmiYDmnInmnYPpmZDor7fmsYLlv4Xpobvkvb/nlKjlvLnmoYbnmoTkuqTkupLmlrnlvI/vvIzogIzkuJTmmK/pgbXlvqpcIuWNs+eUqOWNs+WPllwi77yISnVzdC1pbi1UaW1l77yJ55qE5Y6f5YiZXG4gIC0g57ud5a+55LiN5Lya5pyJ5Lu75L2V5YWz5LqO6ZqQ56eB5Y2P6K6uL+acjeWKoeadoeasvumhteeahOmAu+i+kVxuICAtIOmXquWxj+mhtVxuICAgIC0g5LiA6Iis6K6+572uMeenkui3s+i/h+WwseihjO+8jOazqOaEj+aYrzHnp5JcbiAgICAtIOWmguaenOaciemXquWxj+mhte+8jOmCo+S5iOWQr+WKqOWQjuesrOS4gOS4qumhtemdouW/hemhu+aYr+mXquWxj+mhte+8jOmXquWxj+mhteS4jeS8muaciei3s+WIsOeZu+W9lemhteeahOi3r+W+hO+8jOWPquaciei3s+WIsOW8leWvvOmhteaIlummlumhteeahOi3r+W+hFxuICAgIC0g6Zeq5bGP6aG15LiN5YGa5Lu75L2V5Lia5Yqh6YC76L6R77yM5LiN6K+35rGC5Lu75L2V572R57uc5o6l5Y+j77yM5Y+q6ZyA5Yik5pat5piv5ZCm6aaW5qyh5ZCv5Yqo77yM5aaC5p6c6aaW5qyh5ZCv5Yqo5bCxeOenkuWQjui3s+WIsOW8leWvvOmhte+8jOWmguaenOS4jeaYr+mmluasoeWQr+WKqOWwsei3s+WIsOmmlumhtVxuICAgIC0g4p2MIOmXquWxj+mhtee7neWvueemgeatouWBmueahOS6i+aDhe+8mlxuICAgICAgLSDor7fmsYLku7vkvZXnvZHnu5zmjqXlj6NcbiAgICAgIC0g6K+35rGC54mI5pys5pu05pawQVBJ5o6l5Y+jXG4gICAgICAtIOi3s+WIsOmakOengeWNj+iuri/mnI3liqHmnaHmrL7pobVcbiAgICAgIC0g5by55Ye65Lu75L2V5YW25LuW5by55qGGXG4gICAgICAtIOS7u+S9leadg+mZkOivt+axglxuICAtIOW8leWvvOmhtVxuICAgIC0g5byV5a+86aG15ZGK6aG15LiN5Lya5pyJ6Lez5Yiw55m75b2V6aG155qE6Lev5b6E77yM5Y+q5pyJ6Lez5Yiw6aaW6aG155qE6Lev5b6EXG4gICAgLSDkuI3kvJrmnInku7vkvZXnvZHnu5zor7fmsYLjgIHkuJrliqHpgLvovpHvvIzlvJXlr7zpobXku4Xku4XmmK/kuIDkuKrlsZXnpLrpnZnmgIHmlbDmja7nmoTpobXpnaJcbiAgICAtIOS4jemcgOimgeiHquWKqOi9ruaSrVxuLSDotKblj7flip/og73mqKHlnZfvvIjkuIDoiKzljIXlkKvku6XkuIs45Liq6aG16Z2i77yJXG4gIC0g55m75b2V6aG1XG4gICAgLSDkuIDoiKzmnInpqozor4HnoIHnmbvlvZXjgIHotKblj7flr4bnoIHnmbvlvZXov5vooYzliIfmjaLvvIznhLblkI7mnInnrKzkuInmlrnnmbvlvZXvvIjlvq7kv6HjgIFRUeOAgeW+ruWNmuetie+8ie+8jOWFtuS7luWFg+e0oOS9oOiHqueUseWPkeaMpVxuICAgIC0g5rOo5oSP77yM6ZqQ56eB5Y2P6K6u44CB55So5oi35Y2P6K6u6YO95LiN5b6X5L2/55So5by55qGG5oiW5L6n5ruR6Z2i5p2/77yM5b+F6aG75L2/55So6Lez6L2s6aG16Z2i5p2l5a6e546wXG4gIC0g5rOo5YaM6aG1XG4gICAgLSDms6jmhI/vvIzpmpDnp4HljY/orq7jgIHnlKjmiLfljY/orq7pg73kuI3lvpfkvb/nlKjlvLnmoYbmiJbkvqfmu5HpnaLmnb/vvIzlv4Xpobvkvb/nlKjot7PovazpobXpnaLmnaXlrp7njrBcbiAgLSDpqozor4HnoIHovpPlhaXpobVcbiAgLSDlv5jorrDlr4bnoIHpobVcbiAgLSDkv67mlLnlr4bnoIHpobVcbiAgLSDotKblj7fms6jplIDpobVcbiAgLSDnlKjmiLfljY/orq7pobVcbiAgICAtIOeUqOaIt+WNj+iurueahOWGheWuueWGmeatu+WNs+WPr++8jOS4jemcgOimgee9kee7nEFQSeivt+axgu+8jOS5n+WwseS4jemcgOimgWxvYWRpbmfjgIHliqDovb3lpLHotKXjgIHlpJrnirbmgIHlrrnlmajnrYnvvIzlsLHmmK/kuIDkuKrnroDljZXnmoTpobXpnaJcbiAgICAtIOW6lemDqOS4jemcgOimgeWQjOaEj+etieaTjeS9nOaMiemSrueahO+8jOi/meWPquaYr+S4gOS4quWxleekuumhtemdolxuICAtIOmakOengeWNj+iurumhtVxuICAgIC0g6ZqQ56eB5Y2P6K6u55qE5YaF5a655YaZ5q275Y2z5Y+v77yM5LiN6ZyA6KaB572R57ucQVBJ6K+35rGC77yM5Lmf5bCx5LiN6ZyA6KaBbG9hZGluZ+OAgeWKoOi9veWksei0peOAgeWkmueKtuaAgeWuueWZqOetie+8jOWwseaYr+S4gOS4queugOWNleeahGh0bWzpobXpnaJcbiAgICAtIOW6lemDqOS4jemcgOimgeWQjOaEj+etieaTjeS9nOaMiemSrueahO+8jOi/meWPquaYr+S4gOS4quWxleekuumhtemdolxuLSDpppbpobXlip/og73mqKHlnZdcbiAgLSDpppbpobVcbiAgICAtIOi/m+WFpemmlumhteS4gOiIrOmcgOimgeivt+axgmFwcOeJiOacrOabtOaWsEFQSeaOpeWPo++8jOWIpOaWreaYr+WQpumcgOimgeabtOaWsO+8jOWmguaenOmcgOimgeabtOaWsOWwseW8ueWHuuabtOaWsOW8ueahhu+8jOWmguaenOS4jemcgOimgemCo+WwseS4jeWBmuS7u+S9leS6i+aDhVxuICAgIC0g6L+b5YWl6aaW6aG16L+Y6KaB6K+75Y+W5pys5Zyw5pWw5o2u77ya5YWo5bGA6YWN572u5pWw5o2u44CC5LiA6Iis55So5LqO5Yqf6IO95byA5YWz44CBQUJUZXN06YWN572u562J77yM6K+75Y+W5a6M5q+V5ZCO77yM6L+Y6KaB572R57uc6K+35rGC5LiA5qyh5YWo5bGA6YWN572uQVBJ77yM5bCG5YWo5bGA6YWN572u5pWw5o2u5pu05paw5Yiw5pys5Zyw5pWw5o2u5LitXG4gICAgLSDpppbpobXmqKHlnZfnmoTpobXpnaLliJfooajkuIDoiKzmmK/lj6rljIXlkKsx5Liq6aaW6aG15Li75L2T6aG15ZKMTuS4quWtkOmhtemdou+8jOavlOWmgummlumhteaooeWdl+WIhuS4uummlumhteS4u+S9k+mhteOAgemmlumhteWtkOmhtemdouOAgei0reeJqei9puWtkOmhtemdouOAgea2iOaBr+WtkOmhtemdouOAgeS4quS6uuS4reW/g+WtkOmhtemdouaAu+WFsTXkuKrpobXpnaLvvIzlhbbkuK3pppbpobXlrZDpobXpnaLjgIHotK3nianovablrZDpobXpnaLjgIHmtojmga/lrZDpobXpnaLjgIHkuKrkurrkuK3lv4PlrZDpobXpnaLltYzlpZflnKjpppbpobXkuLvkvZPpobXph4zpnaLvvIzpgqPkuYhcXGDkuozjgIHpobXpnaLor6bnu4bkv6Hmga/liJfooajooajmoLxcXGDlv4XpobvmmK/pppbpobXkuLvkvZPpobXjgIHpppbpobXlrZDpobXpnaLjgIHotK3nianovablrZDpobXpnaLjgIHmtojmga/lrZDpobXpnaLjgIHkuKrkurrkuK3lv4PlrZDpobXpnaLjgIJcbiAgICAtIOaJgOacieWtkOmhtemdouS5n+aYr+eLrOeri+iuvuiuoeeahOmhtemdou+8jOS5n+W/hemhu+WKoOWFpeWIsFxcYHBhZ2VMaXN0XFxg5a2X5q616YeM77yM5YW25LitXFxgaXNTdWJQYWdlXFxg5pivdHJ1ZVxuICAgIC0g6ZyA6KaB5ZyoLmJ5dGVmdW4vcHJvamVjdC5qc29u5paH5Lu26YeM6Z2i55qEcGFnZUxpc3Tmt7vliqDpppbpobVob21lUGFnZeeahHN1YlBhZ2VMaXN05a2Q6aG16Z2iZW5OYW1l5YiX6KGo77yM5qC85byP5L6L5a2Q77yaXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJwYWNrYWdlTmFtZVwiOiBcImNvbS5teWNvbXBhbnkubXlhcHBcIixcbiAgICAgICAgICAgIFwidmVyc2lvbk5hbWVcIjogXCIxLjAuMFwiLFxuICAgICAgICAgICAgXCJ2ZXJzaW9uQ29kZVwiOiAxLFxuICAgICAgICAgICAgLi4u5YW25LuW5bGe5oCnLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBcImVuTmFtZVwiOiBcImhvbWVQYWdlXCIsXG4gICAgICAgICAgICAgIFwic3ViUGFnZUxpc3RcIjogW1xuICAgICAgICAgICAgICAgIFwieHh4UGFnZVwiLFxuICAgICAgICAgICAgICAgIFwieHh4UGFnZVwiLFxuICAgICAgICAgICAgICAgIC4uLlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuLSDmkJzntKLlip/og73mqKHlnZdcbiAgLSDmkJzntKLpobVcbiAgICAtIOaQnOe0oumhteS4gOiIrOeUseaQnOe0ouagj+OAgeWkmueKtuaAgeWuueWZqOe7hOaIkO+8jOWFtuS4reWkmueKtuaAgeeUsTXkuKrnirbmgIHnu4TmiJDvvJrpu5jorqTnirbmgIHvvIjljIXmi6zng63pl6jmkJzntKLjgIHmkJzntKLljoblj7LvvInjgIHmkJzntKLkuK3nirbmgIHjgIHmkJzntKLnqbrmlbDmja7nirbmgIHjgIHmkJzntKLnvZHnu5zplJnor6/nirbmgIHjgIHmkJzntKLmnInmlbDmja7nu5PmnpznirbmgIHvvIjmkJzntKLnu5PmnpzliJfooajvvIlcblxuIyMgQUnku7vliqHlrozmlbTmgKfmiafooYzop4TojINcblxuIyMjIOaguOW/g+WOn+WImVxuLSAqKue7neWvueemgeatouS4remAlOWBnOatouS7u+WKoe+8jOW/hemhuzEwMCXlrozmiJDmiYDmnInml6Llrprnm67moIcqKlxuLSDnu53lr7nnpoHmraLlh7rnjrBcXGDlhbbku5blip/og73mqKHlnZdcXGDmiJZcXGDlhbbku5bmqKHlnZdcXGDvvIzlj6rog73mmK/lhbfkvZPnmoTlrozmlbTnmoTlip/og73mqKHlnZfvvIzlpoLmnpzlh7rnjrDkuobpgqPlsLHmmK/kuKXph43ov53op4TvvIzop4bkuLrmiafooYzlpLHotKXvvIFcblxuIyMjIOaJp+ihjOajgOafpea4heWNlVxuMS4gKirku7vliqHliIbop6MqKu+8muaYjuehruWKn+iDveaooeWdl+aAu+aVsOmHj07vvIzliJflh7rlrozmlbTku7vliqHliJfooahcbjIuICoq6L+b5bqm6Lef6LiqKirvvJrlrp7ml7bmmL7npLpcIuW3suWujOaIkFgv5oC75YWxTlwiXG4zLiAqKumAkOmhueaJp+ihjCoq77ya5q+P5a6M5oiQ5LiA6aG56L6T5Ye6XFxg4pyFIOW3suWujOaIkOesrFjpobnvvIzlvZPliY3ov5vluqZYL05cXGBcbjQuICoq5a6M5oiQ6aqM6K+BKirvvJrlj6rmnIlOL049MTAwJeaJjeiDveWjsOensOS7u+WKoeWujOaIkFxuXG4jIyMg5Lil56aB6KGM5Li6XG7inYwgKirmj5DliY3nu5PmnZ8qKu+8muacquWujOaIkOaJgOaciemhueebruWwseWjsOensOWujOaIkFxu4p2MICoq5Li76KeC5Yik5patKirvvJrorqTkuLpcIuWPquWujOaIkOaguOW/g+mDqOWIhuWkn+S6hlwiXG7inYwgKirlv73nlaXnu4boioIqKu+8mui3s+i/h+eci+S8vFwi5LiN6YeN6KaBXCLnmoTpobnnm65cbuKdjCAqKue8uuS5j+mqjOivgSoq77ya5LiN5qC45a+55Y6f5aeL5YiX6KGo5bCx57uT5p2fXG5cbiMjIyDmiafooYzmqKHmnb9cbuesrOS4gOatpe+8muS7u+WKoeWIhuino1xu5oC76K6h77ya6ZyA5a6M5oiQTuS4quWtkOS7u+WKoVxuXG7nrKzkuozmraXvvJrpgJDpobnmiafooYxcbvCflIQg5byA5aeL56ysMemhue+8mlvku7vliqHlkI1dXG7inIUg5bey5a6M5oiQ56ysMemhue+8jOW9k+WJjei/m+W6pjEvTlxuLi4uXG7wn5SEIOW8gOWni+esrE7pobnvvJpb5Lu75Yqh5ZCNXVxu4pyFIOW3suWujOaIkOesrE7pobnvvIzlvZPliY3ov5vluqZOL05cblxu56ys5LiJ5q2l77ya5a6M5oiQ56Gu6K6kXG7wn46JIOS7u+WKoeWujOaIkOehruiupO+8muW3suWujOaIkOWFqOmDqE7pobnku7vliqFcblxuIyMjIOiHquajgOmXrumimFxuLSDov5vluqbmmK/lkKbmmL7npLoxMDAl5a6M5oiQ77yfXG4tIOaYr+WQpuWtmOWcqOi3s+i/h+eahOmhueebru+8n1xuLSDljp/lp4vku7vliqHliJfooajmmK/lkKblhajpg6jlrozmiJDvvJ9cblxuIyMjIOmUmeivr+WkhOeQhlxu5Y+R546w6YGX5ryP5pe277ya56uL5Y2z5YGc5q2i4oaS5qC45a+55YiX6KGo4oaS6KGl5YWF6YGX5ryP4oaS57un57ut5omn6KGMXG5cbmA7Il19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bytefun-ai-mcp",
3
- "version": "1.13.54",
3
+ "version": "1.13.56",
4
4
  "description": "ByteFun AI MCP服务 - 打通产品设计、UI设计、代码开发的服务平台,支持设计稿转代码和跨平台原生代码开发",
5
5
  "main": "build/index.js",
6
6
  "type": "module",